81,47 → 81,53 |
extract($this->parametres); |
$max_obs = (isset($max_obs) && preg_match('/^[0-9]+,[0-9]+$/', $max_obs)) ? $max_obs : '10'; |
$this->flux_rss_url .= $this->traiterParametres(); |
$xml = file_get_contents($this->flux_rss_url); |
if ($xml) { |
try { |
$flux = new XmlFeedParser($xml); |
|
$widget['donnees']['flux_rss_url'] = $this->flux_rss_url; |
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/observation/squelettes/css/'); |
$widget['donnees']['colonne'] = 1; |
$num = 0; |
foreach ($flux as $entree) { |
if ($num == $max_obs) { |
break; |
if (file_get_contents($this->flux_rss_url, false) != false) { |
$xml = file_get_contents($this->flux_rss_url); |
if ($xml) { |
try { |
$flux = new XmlFeedParser($xml); |
|
$widget['donnees']['flux_rss_url'] = $this->flux_rss_url; |
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/observation/squelettes/css/'); |
$widget['donnees']['colonne'] = 1; |
$num = 0; |
foreach ($flux as $entree) { |
if ($num == $max_obs) { |
break; |
} |
$item = array(); |
// Formatage date |
$date = $entree->updated ? $entree->updated : null; |
$date = $entree->pubDate ? $entree->pubDate : $date; |
$item['date'] = strftime('%A %d %B %Y', $date); |
// Formatage titre |
$item['titre'] = $entree->title; |
$item['nn'] = ''; |
$item['eflore_url'] = '#'; |
if (preg_match('/\[nn([0-9]+)\]/', $entree->title, $match)) { |
$item['nn'] = $match[1]; |
$item['eflore_url'] = sprintf($this->eflore_url_tpl, $item['nn']); |
} |
|
// Récupération du GUID |
if (preg_match('/urn:lsid:tela-botanica.org:cel:obs([0-9]+)$/', $entree->id, $match)) { |
$item['guid'] = (int) $match[1]; |
} else { |
$item['guid'] = $entree->id; |
} |
$item['description'] = $entree->content; |
|
$widget['donnees']['items'][$num++] = $item; |
} |
$item = array(); |
// Formatage date |
$date = $entree->updated ? $entree->updated : null; |
$date = $entree->pubDate ? $entree->pubDate : $date; |
$item['date'] = strftime('%A %d %B %Y', $date); |
// Formatage titre |
$item['titre'] = $entree->title; |
$item['nn'] = ''; |
$item['eflore_url'] = '#'; |
if (preg_match('/\[nn([0-9]+)\]/', $entree->title, $match)) { |
$item['nn'] = $match[1]; |
$item['eflore_url'] = sprintf($this->eflore_url_tpl, $item['nn']); |
} |
|
// Récupération du GUID |
if (preg_match('/urn:lsid:tela-botanica.org:cel:obs([0-9]+)$/', $entree->id, $match)) { |
$item['guid'] = (int) $match[1]; |
} else { |
$item['guid'] = $entree->id; |
} |
$item['description'] = $entree->content; |
|
$widget['donnees']['items'][$num++] = $item; |
$widget['squelette'] = 'observation'; |
} catch (XmlFeedParserException $e) { |
trigger_error('Flux invalide : '.$e->getMessage(), E_USER_WARNING); |
} |
$widget['squelette'] = 'observation'; |
} catch (XmlFeedParserException $e) { |
trigger_error('Flux invalide : '.$e->getMessage(), E_USER_WARNING); |
} else { |
$this->messages[] = "Fichier xml invalide."; |
} |
} else { |
$this->messages[] = "L'URI, $this->flux_rss_url, est invalide."; |
} |
return $widget; |
} |