Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 753 Rev 788
Line 82... Line 82...
82
		extract($this->parametres);
82
		extract($this->parametres);
83
		$extra = (isset($extra)	&& $extra == 0) ? false : ($this->config['photo']['extraActif'] ? true : false);
83
		$extra = (isset($extra)	&& $extra == 0) ? false : ($this->config['photo']['extraActif'] ? true : false);
84
		$vignette = (isset($vignette) && preg_match('/^[0-9]+,[0-9]+$/', $vignette)) ? $vignette : '4,3';
84
		$vignette = (isset($vignette) && preg_match('/^[0-9]+,[0-9]+$/', $vignette)) ? $vignette : '4,3';
85
		list($colonne, $ligne) = explode(',', $vignette);
85
		list($colonne, $ligne) = explode(',', $vignette);
86
		$this->flux_rss_url .= $this->traiterParametres();
86
		$this->flux_rss_url .= $this->traiterParametres();
-
 
87
		if (file_get_contents($this->flux_rss_url, false) != false) {
87
		$xml = file_get_contents($this->flux_rss_url);
88
			$xml = file_get_contents($this->flux_rss_url);
88
		if ($xml) {
89
			if ($xml) {
89
			try {
90
				try {
90
				$flux = new XmlFeedParser($xml);
91
					$flux = new XmlFeedParser($xml);
91
			
92
				
92
				$widget['donnees']['flux_rss_url'] = $this->flux_rss_url;
93
					$widget['donnees']['flux_rss_url'] = $this->flux_rss_url;
93
				$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/css/');
94
					$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/css/');
94
				$widget['donnees']['colonne'] = $colonne;
95
					$widget['donnees']['colonne'] = $colonne;
95
				$widget['donnees']['extra_actif'] = $extra;
96
					$widget['donnees']['extra_actif'] = $extra;
96
				$max_photo = $colonne * $ligne;
97
					$max_photo = $colonne * $ligne;
97
				$num = 0;
98
					$num = 0;
98
				foreach ($flux as $entree) {
99
					foreach ($flux as $entree) {
99
					if ($num == $max_photo) {
100
						if ($num == $max_photo) {
100
						break;
101
							break;
-
 
102
						}
-
 
103
						$item = array();
-
 
104
						// Formatage date
-
 
105
						$date = $entree->updated ? $entree->updated : null;
-
 
106
						$date = $entree->pubDate ? $entree->pubDate : $date;
-
 
107
						$item['date'] = strftime('%A %d %B %Y', $date);
-
 
108
						$item['lien'] = $entree->link;
-
 
109
						$item['url_tpl'] = preg_replace('/(XS|[SML]|X(?:[23]|)L|CR(?:|X2)S|C(?:|X)S)\.jpg$/', '%s.jpg', $entree->guid);
-
 
110
						// Formatage titre
-
 
111
		    			$item['titre'] = $entree->title;
-
 
112
		    			$item['nn'] = '';
-
 
113
		    			$item['eflore_url'] = '#';
-
 
114
		    			if (preg_match('/\[nn([0-9]+)\]/', $entree->title, $match)) {
-
 
115
		    				$item['nn'] = $match[1];
-
 
116
		    				$item['eflore_url'] = sprintf($this->eflore_url_tpl, $item['nn']);
-
 
117
		    			}
-
 
118
		    			
-
 
119
						// Récupération du GUID
-
 
120
						if (preg_match('/appli:cel-img:([0-9]+)[^.]+\.jpg$/', $entree->guid, $match)) {
-
 
121
		  					$item['guid'] = (int) $match[1];
-
 
122
						} else {
-
 
123
							$item['guid'] = $entree->guid;
-
 
124
						}
-
 
125
						
-
 
126
						// Ajout aux items et si première photo à extra
-
 
127
						if ($num == 0) {
-
 
128
							$widget['donnees']['extra'] =  $item;
-
 
129
						}
-
 
130
						$widget['donnees']['items'][$num++] =  $item;
101
					}
131
					}
102
	
-
 
103
					$item = array();
-
 
104
					// Formatage date
-
 
105
					$date = $entree->updated ? $entree->updated : null;
-
 
106
					$date = $entree->pubDate ? $entree->pubDate : $date;
-
 
107
					$item['date'] = strftime('%A %d %B %Y', $date);
-
 
108
					$item['lien'] = $entree->link;
-
 
109
					$item['url_tpl'] = preg_replace('/(XS|[SML]|X(?:[23]|)L|CR(?:|X2)S|C(?:|X)S)\.jpg$/', '%s.jpg', $entree->guid);
-
 
110
					// Formatage titre
-
 
111
	    			$item['titre'] = $entree->title;
-
 
112
	    			$item['nn'] = '';
-
 
113
	    			$item['eflore_url'] = '#';
132
					$widget['squelette'] = 'photo';
114
	    			if (preg_match('/\[nn([0-9]+)\]/', $entree->title, $match)) {
133
				} catch (XmlFeedParserException $e) {
115
	    				$item['nn'] = $match[1];
-
 
116
	    				$item['eflore_url'] = sprintf($this->eflore_url_tpl, $item['nn']);
134
				    trigger_error('Flux invalide : '.$e->getMessage(), E_USER_WARNING);
117
	    			}
-
 
118
	    			
-
 
119
					// Récupération du GUID
-
 
120
					if (preg_match('/appli:cel-img:([0-9]+)[^.]+\.jpg$/', $entree->guid, $match)) {
-
 
121
	  					$item['guid'] = (int) $match[1];
-
 
122
					} else {
-
 
123
						$item['guid'] = $entree->guid;
-
 
124
					}
-
 
125
					
-
 
126
					// Ajout aux items et si première photo à extra
-
 
127
					if ($num == 0) {
-
 
128
						$widget['donnees']['extra'] =  $item;
-
 
129
					}
-
 
130
					$widget['donnees']['items'][$num++] =  $item;
-
 
131
				}
135
				}
132
				$widget['squelette'] = 'photo';
136
			} else {
133
			} catch (XmlFeedParserException $e) {
137
				$this->messages[] = "Fichier xml invalide.";
134
			    trigger_error('Flux invalide : '.$e->getMessage(), E_USER_WARNING);
-
 
135
			}
138
			}
-
 
139
		} else {
-
 
140
			$this->messages[] = "L'URI, $this->flux_rss_url, est invalide.";
136
		}
141
		}
137
		return $widget;
142
		return $widget;
138
	}
143
	}
Line 139... Line 144...
139
	
144