Ejemplo n.º 1
0
 /**
  * fonction qui permet de modifier une page en fonction de son id
  * @param $id_page
  * @param $balise_title
  * @param $url
  * @param $meta_description
  * @param $titre_page
  * @param $parent
  * @param $contenu
  */
 public function setModifierPage($id_page, $balise_title, $url, $meta_description, $titre_page, $parent, $affiche = 1)
 {
     $dbc = \core\App::getDb();
     //on trouve l'ancien fichier à parir de la fin de l'url
     $this->getHeadPage($id_page);
     $this->getContenuPage($id_page);
     $old_url = explode("/", $this->url);
     $filename = ROOT . "app/views/" . end($old_url) . ".php";
     //si le fichier existe on modifie le tout
     if (file_exists($filename) || $id_page == 1) {
         $this->id_page = $id_page;
         $url = ChaineCaractere::setUrl($url);
         $err_balise_title_char = "Le titre pour le navigateur ne doit pas dépasser 70 caractères";
         $err_balise_title_egalite = "Ce titre est déjà présent en base de données, merci d'en choisir un autre pour optimiser le référencement de votre site";
         $err_balise_title = $this->getVerifChamp("page", "ID_page", "balise_title", $balise_title, 70, $err_balise_title_char, $err_balise_title_egalite, $this->id_page);
         $err_url_char = "L'url ne doit pas dépasser 92 caractères";
         $err_url_egalite = "Cette url est déjà présent en base de données, merci d'en choisir une autre pour ne pas avoir de conflit entre vos pages";
         $err_url = $this->getVerifChamp("page", "ID_page", "url", $url, 92, $err_url_char, $err_url_egalite, $this->id_page);
         $err_meta_description_char = "La description de cette page ne doit pas dépasser 158 caractères";
         $err_meta_description_egalite = "Cette description est déjà présent en base de données, merci d'en choisir une autre pour optimiser le référencement de votre site";
         $err_meta_description = $this->getVerifChamp("page", "ID_page", "meta_description", $meta_description, 158, $err_meta_description_char, $err_meta_description_egalite, $this->id_page);
         $err_titre_page_char = "Le titre de cette page ne doit pas dépasser 50 caractères";
         $err_titre_page_egalite = "Cette titre de page est déjà présent en base de données, merci d'en choisir un autre pour ne pas avoir de conflit dans votre navigation";
         $err_titre_page = $this->getVerifChamp("page", "ID_page", "titre", $titre_page, 50, $err_titre_page_char, $err_titre_page_egalite, $this->id_page);
         if (App::getErreur() !== true) {
             $new_url = explode("/", $url);
             $new_filename = ROOT . "app/views/" . end($new_url) . ".php";
             rename($filename, $new_filename);
             $parent = intval($this->getParentId($parent));
             $dbc->update("titre", $titre_page)->update("url", $url)->update("meta_description", $meta_description)->update("balise_title", $balise_title)->update("parent", $parent)->update("affiche", $affiche)->from("page")->where("ID_page", "=", $id_page, "", true)->set();
             $this->setModifierLienNavigation("ID_page", $id_page, $this->getParentId($parent), $affiche);
         } else {
             $this->setErreurContenus($balise_title, $url, $meta_description, $titre_page, $parent, $err_balise_title, $err_url, $err_meta_description, $err_titre_page);
         }
     } else {
         FlashMessage::setFlash("Impossible de modifier cette page, veuillez contacter votre administrateur pour corriger ce problème");
         $this->erreur = true;
     }
 }
Ejemplo n.º 2
0
 /**
  * @param $nom_fichier
  * fonction qui permet de dire qu'il faut recharger le cache d'un fichier spécifique
  * appeler par des controller (dans des modules ou dans l'admin...)
  */
 public static function setReloadCache($nom_fichier)
 {
     $dbc = App::getDb();
     $nom_fichier = ChaineCaractere::setUrl($nom_fichier);
     $nom_fichier = str_replace("/", "-", $nom_fichier);
     $value = ["reload" => 1, "nom_fichier" => $nom_fichier];
     $dbc->prepare("UPDATE cache SET reload_cache=:reload WHERE nom_fichier LIKE :nom_fichier", $value);
 }