Subversion Repositories eFlore/Applications.cel

Rev

Rev 1475 | Rev 1495 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1475 Rev 1480
Line 80... Line 80...
80
		$widget = $this->executerPhoto();
80
		$widget = $this->executerPhoto();
81
		$widget['squelette'] = 'photo_ajax';
81
		$widget['squelette'] = 'photo_ajax';
82
		return $widget;
82
		return $widget;
83
	}
83
	}
Line -... Line 84...
-
 
84
	
-
 
85
	private function executerPopup() {
-
 
86
		session_start();
-
 
87
		$widget['donnees']['url_image'] = $_GET['url_image'];
-
 
88
		$widget['donnees']['infos_images'] = $_SESSION['infos_images'];
-
 
89
		$widget['donnees']['urls'] = $_SESSION['urls'];
-
 
90
		$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/css/');
-
 
91
		$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/js/');
-
 
92
		$widget['squelette'] = 'popup';
-
 
93
		return $widget;
-
 
94
	}
84
	
95
	
-
 
96
	private function executerPhoto() {
-
 
97
		session_start();
85
	private function executerPhoto() {
98
		$_SESSION['urls'] = array();
86
		$widget = null;
99
		$widget = null;
87
		extract($this->parametres);
100
		extract($this->parametres);
88
		$extra = (isset($extra)	&& $extra == 0) ? false : ($this->config['photo']['extraActif'] ? true : false);
101
		$extra = (isset($extra)	&& $extra == 0) ? false : ($this->config['photo']['extraActif'] ? true : false);
89
		$vignette = (isset($vignette) && preg_match('/^[0-9]+,[0-9]+$/', $vignette)) ? $vignette : '4,3';
102
		$vignette = (isset($vignette) && preg_match('/^[0-9]+,[0-9]+$/', $vignette)) ? $vignette : '4,3';
90
		$id = '-'.(isset($id) ? $id : '1');
103
		$id = '-'.(isset($id) ? $id : '1');
-
 
104
		$titre = isset($titre) ? htmlentities(rawurldecode($titre)) : '';
-
 
105
		$icone_rss = (isset($_GET['rss']) && $_GET['rss'] != 1) ? false : true;
91
		$titre = (isset($titre) ? htmlentities(rawurldecode($titre)) : '');
106
		$utilise_fancybox = (isset($_GET['mode_zoom']) && $_GET['mode_zoom'] != 'fancybox') ? false : true;
92
		list($colonne, $ligne) = explode(',', $vignette);
107
		list($colonne, $ligne) = explode(',', $vignette);
93
		$this->flux_rss_url .= $this->traiterParametres();
108
		$this->flux_rss_url .= $this->traiterParametres();
94
		if (@file_get_contents($this->flux_rss_url, false) != false) {
109
		if (@file_get_contents($this->flux_rss_url, false) != false) {
95
			$xml = file_get_contents($this->flux_rss_url);
110
			$xml = file_get_contents($this->flux_rss_url);
Line 98... Line 113...
98
					$flux = new XmlFeedParser($xml);
113
					$flux = new XmlFeedParser($xml);
99
					$widget['donnees']['id'] = $id;
114
					$widget['donnees']['id'] = $id;
100
					$widget['donnees']['titre'] = $titre;
115
					$widget['donnees']['titre'] = $titre;
101
					$widget['donnees']['flux_rss_url'] = $this->flux_rss_url;
116
					$widget['donnees']['flux_rss_url'] = $this->flux_rss_url;
102
					$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/css/');
117
					$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/css/');
-
 
118
					$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/js/');
103
					$widget['donnees']['colonne'] = $colonne;
119
					$widget['donnees']['colonne'] = $colonne;
104
					$widget['donnees']['extra_actif'] = $extra;
120
					$widget['donnees']['extra_actif'] = $extra;
-
 
121
					$widget['donnees']['icone_rss'] = $icone_rss;
-
 
122
					$widget['donnees']['utilise_fancybox'] = $utilise_fancybox;
105
					$max_photo = $colonne * $ligne;
123
					$max_photo = $colonne * $ligne;
106
					$num = 0;
124
					$num = 0;
107
					foreach ($flux as $entree) {
125
					foreach ($flux as $entree) {
108
						if ($num == $max_photo) {
126
						if ($num == $max_photo) {
109
							break;
127
							break;
Line 113... Line 131...
113
						$date = $entree->updated ? $entree->updated : null;
131
						$date = $entree->updated ? $entree->updated : null;
114
						$date = $entree->pubDate ? $entree->pubDate : $date;
132
						$date = $entree->pubDate ? $entree->pubDate : $date;
115
						$item['date'] = strftime('%A %d %B %Y', $date);
133
						$item['date'] = strftime('%A %d %B %Y', $date);
116
						$item['lien'] = $entree->link;
134
						$item['lien'] = $entree->link;
117
						$item['url_tpl'] = preg_replace('/(XS|[SML]|X(?:[23]|)L|CR(?:|X2)S|C(?:|X)S)\.jpg$/', '%s.jpg', $entree->guid);
135
						$item['url_tpl'] = preg_replace('/(XS|[SML]|X(?:[23]|)L|CR(?:|X2)S|C(?:|X)S)\.jpg$/', '%s.jpg', $entree->guid);
-
 
136
												
118
						// Formatage titre
137
						// Formatage titre
119
		    			$item['titre'] = $entree->title;
138
		    			$item['titre'] = $entree->title;
120
		    			$item['nn'] = '';
139
		    			$item['nn'] = '';
121
		    			$item['eflore_url'] = '#';
140
		    			$item['eflore_url'] = '#';
122
		    			if (preg_match('/\[nn([0-9]+)\]/', $entree->title, $match)) {
141
		    			if (preg_match('/\[nn([0-9]+)\]/', $entree->title, $match)) {
Line 134... Line 153...
134
						// Ajout aux items et si première photo à extra
153
						// Ajout aux items et si première photo à extra
135
						if ($num == 0) {
154
						if ($num == 0) {
136
							$widget['donnees']['extra'] =  $item;
155
							$widget['donnees']['extra'] =  $item;
137
						}
156
						}
138
						$widget['donnees']['items'][$num++] =  $item;
157
						$widget['donnees']['items'][$num++] =  $item;
-
 
158
						
-
 
159
						//TODO: voir si l'on ne peut pas faire mieux
-
 
160
						$url_galerie_popup = sprintf($item['url_tpl'],'XL');
-
 
161
						$_SESSION['urls'][] = $url_galerie_popup;
-
 
162
						$_SESSION['infos_images'][$url_galerie_popup] = array('titre' => $item['titre'],
-
 
163
													'date' => $item['titre'],
-
 
164
													'guid' => $item['guid'],
-
 
165
													'lien' => $item['lien']
-
 
166
						);
139
					}
167
					}
140
					$widget['squelette'] = 'photo';
168
					$widget['squelette'] = 'photo';
141
				} catch (XmlFeedParserException $e) {
169
				} catch (XmlFeedParserException $e) {
142
				    trigger_error('Flux invalide : '.$e->getMessage(), E_USER_WARNING);
170
				    trigger_error('Flux invalide : '.$e->getMessage(), E_USER_WARNING);
143
				}
171
				}