conteneur = $conteneur; $this->contexte = $this->conteneur->getContexte(); } /** * Verifier si le flux admin est demande */ public function fluxAdminDemande() { return $this->contexte->getQS('admin') != null && $this->contexte->getQS('admin') == 1; } // @TODO ne devrait plus être utilisé // @TODO réécrire si nécessaire public function demanderAutorisationAdmin() { throw new Exception("méthode obsolète - utiliser le SSO à la place"); // fuk lé jandarme //$verification = $this->conteneur->getControleAcces(); //$verification->demanderAuthentificationAdmin(); } /** * Générer les métadonnées du flux (titre, dates, editeur etc.) * */ public function construireDonneesCommunesAuFlux($nomFlux, $dateDernierElement) { $donnees = array(); $donnees['guid'] = $this->creerUrlService(); $donnees['titre'] = $this->conteneur->getParametre("syndication.{$nomFlux}_titre"); $donnees['description'] = $this->conteneur->getParametre("syndication.{$nomFlux}_dsc"); $donnees['lien_service'] = $this->creerUrlService(); $donnees['lien_del'] = $this->conteneur->getParametre('img_appli_lien'); $donnees['editeur'] = $this->conteneur->getParametre('syndication.editeur'); $date_modification_timestamp = strtotime($dateDernierElement); $donnees['date_maj_RSS'] = date(DATE_RSS, $date_modification_timestamp); $donnees['date_maj_ATOM'] = date(DATE_ATOM, $date_modification_timestamp); $donnees['date_maj_W3C'] = date(DATE_W3C, $date_modification_timestamp); $donnees['annee_courante'] = date('Y'); $donnees['generateur'] = $this->conteneur->getParametre("syndication.generateur_nom"); $donnees['generateur_version'] = $this->conteneur->getParametre("syndication.generateur_version"); return $donnees; } public function creerUrlService() { $url = 'http://'. $this->contexte->getServer('SERVER_NAME'). $this->contexte->getServer('REQUEST_URI'); return htmlspecialchars($url); } public function getUrlImage($id, $format = 'L') { $url_tpl = $this->conteneur->getParametre('cel_img_url_tpl'); $url = sprintf($url_tpl, $id, $format); return $url; } public function convertirDateHeureMysqlEnTimestamp($date_heure_mysql){ $timestamp = 0; // Le date de 1970-01-01 pose problème dans certains lecteur de Flux, on met donc la date de création de Tela $date_heure_mysql = ($date_heure_mysql == '0000-00-00 00:00:00') ? '1999-12-14 00:00:00' : $date_heure_mysql; if ($date_heure_mysql != '0000-00-00 00:00:00') { $val = explode(' ', $date_heure_mysql); $date = explode('-', $val[0]); $heure = explode(':', $val[1]); $timestamp = mktime((int) $heure[0], (int) $heure[1], (int) $heure[2], (int) $date[1], (int) $date[2], (int) $date[0]); } return $timestamp; } }