示例#1
0
 public function getParentTexte($parent)
 {
     $dbc = \core\App::getDb();
     $query = $dbc->select("titre")->from("page")->where("ID_page", "=", $parent)->get();
     if (is_array($query) && count($query) > 0) {
         foreach ($query as $obj) {
             $this->parent_texte = $obj->titre;
         }
     }
     return $this->parent_texte;
 }
 /**
  * @param $id_liste_droit_acces
  * @return integer
  */
 protected function getNombrePageListe($id_liste_droit_acces)
 {
     $dbc = App::getDb();
     $nb_droit_acces_page = 0;
     $query3 = $dbc->query("SELECT count(ID_page) as ID_page FROM droit_acces_page WHERE ID_liste_droit_acces =" . $id_liste_droit_acces);
     if (is_array($query3) && count($query3) > 0) {
         foreach ($query3 as $obj3) {
             $nb_droit_acces_page = $obj3->ID_page;
         }
     }
     return $nb_droit_acces_page;
 }
 public function setOrdreNavigation($nav)
 {
     $dbc = App::getDb();
     $count_nav = count($nav);
     for ($i = 0; $i < $count_nav; $i++) {
         $lien = explode(".", $nav[$i]);
         if ($lien[1] == "page") {
             $dbc->update("ordre", $i + 1)->from("navigation")->where("ID_page", "=", $lien[0])->set();
         } else {
             $dbc->update("ordre", $i + 1)->from("navigation")->where("ID_module", "=", $lien[0])->set();
         }
     }
     FlashMessage::setFlash("La navigation a été correctement mise à jour", "success");
 }
示例#4
0
 /**
  * fonction qui permet de tester qu'une route existe bien
  * appellee dans redirectError.class.php
  * @param $url
  */
 public function getRouteModuleExist($url)
 {
     $dbc = \core\App::getDb();
     $query = $dbc->select()->from("module")->get();
     if (is_array($query) && count($query) > 0) {
         foreach ($query as $obj) {
             $test_module = ChaineCaractere::FindInString($url, $obj->url);
             $test_module1 = ChaineCaractere::FindInString($url, str_replace("/", "", $obj->url));
             $module_activer = \core\modules\GestionModule::getModuleActiver($obj->nom_module);
             if (($test_module === true || $test_module1 === true) && $module_activer === true) {
                 return true;
             }
         }
     }
 }
示例#5
0
 /**
  * pour récupérer une page en particulier
  * @param $id_page
  */
 public function getContenuPage($id_page = null)
 {
     $dbc = \core\App::getDb();
     if ($id_page == null) {
         $id_page = $this->id_page;
     }
     $query = $dbc->select()->from("page")->where("ID_page", "=", $id_page)->get();
     if (is_array($query) && count($query) > 0) {
         foreach ($query as $obj) {
             $this->id_page = $obj->ID_page;
             $this->titre = $obj->titre;
             $this->contenu = $obj->contenu;
             $this->url = $obj->url;
             $this->parent = $obj->parent;
         }
     }
 }
示例#6
0
 /**
  * fonction qui permet d'upload une image sur le serveur
  * @param $old_image_req
  * @param int $autorize_empty
  * @param int $delete_old_img
  * @return null|boolean -> renvoi false si err sinon renvoi le chemin vers l'img
  */
 public function setEnvoyerImage($name, $old_image_req = null, $autorize_empty = 1, $delete_old_img = 1)
 {
     $dbc = App::getDb();
     $this->old_image = null;
     $this->chemin_image = null;
     $this->nom_image = null;
     $image = $_FILES[$name]['name'];
     if (empty($_FILES[$name]['name']) && $autorize_empty == 0) {
         $this->erreur = "Vous devez obligatoirement ajouter une image";
         return false;
     } else {
         //test si il y a deja une img
         if ($old_image_req != null) {
             $query = $dbc->query($old_image_req);
             if (is_array($query) && count($query) > 0) {
                 foreach ($query as $obj) {
                     $this->old_image = $obj->{$name};
                 }
             }
         }
         //recuperation info sur img
         $uniqid = uniqid();
         $infos_img = getimagesize($_FILES[$name]['tmp_name']);
         if (!in_array(substr($image, -3), $this->autorized_extention) || $infos_img[0] >= $this->width_max && $infos_img[1] >= $this->height_max && $_FILES[$name]['size'] >= $this->poid_max) {
             $this->erreur = "Problème dans les dimensions, taille ou format (extension) de l'image.";
             return false;
         } else {
             if (move_uploaded_file($_FILES[$name]['tmp_name'], $this->dossier_image . "/" . $uniqid . substr($image, -4))) {
                 $imageok = $uniqid . substr($image, -4);
                 $urlimg = $this->dossier_image . "/{$imageok}";
                 $this->chemin_image = $urlimg;
                 $this->nom_image = $imageok;
                 if ($delete_old_img == 1 && $this->old_image != "" && !empty($_FILES[$name]['name'])) {
                     $this->setDeleteImage();
                 }
                 return true;
             } else {
                 $this->erreur = "Impossible d'envoyer votre image sur le serveur, veuillez réessayer dans une instant, si l'erreur se reproduit, contactez votre administrateur";
             }
         }
     }
 }
示例#7
0
 /**
  * @param string $old_mdp
  * @param string $new_mdp
  * @param string $verif_new_mdp
  */
 public function setMdp($old_mdp, $new_mdp, $verif_new_mdp)
 {
     $dbc = \core\App::getDb();
     $mdp = Encrypt::setDecryptMdp($this->mdp, $this->id_identite);
     //si mdp trop court
     if (md5($old_mdp) != $mdp) {
         $err = "Votre mot de passe est incorrect";
         $this->erreur = $err;
     } else {
         if ($new_mdp != $verif_new_mdp) {
             $err = "Vos mots de passe sont différents";
             $this->erreur = $err;
         } else {
             $mdpok = Encrypt::setEncryptMdp($new_mdp, $this->id_identite);
             //le nouveau mdp est bon on update
             $dbc->update("mdp", $mdpok)->from("identite")->where("ID_identite", "=", $this->id_identite)->set();
             $this->mdp = $mdpok;
         }
     }
 }
示例#8
0
 /**
  * permet de récupérer la dernier fois que l'utilisateur s'est connecté au site
  * @param $id_identite
  * @return mixed
  */
 public static function getlastConnexion($id_identite)
 {
     $dbc = App::getDb();
     $query = $dbc->select("last_change_mdp")->from("identite")->where("ID_identite", "=", $id_identite)->get();
     if (is_array($query) && count($query) > 0) {
         foreach ($query as $obj) {
             return $obj->last_change_mdp;
         }
     }
 }
示例#9
0
 /**
  * @param $id_module
  * fonction qui permet de supprimer un module (suppression des tables + appel fonction supprimer dossier)
  */
 public function setSupprimerModule($id_module)
 {
     $dbc = App::getDb();
     $this->getInfoModule($id_module);
     $dbc->delete()->from("module")->where("ID_module", "=", $id_module)->del();
     $requete = "";
     require_once MODULEROOT . $this->url_module . "uninstall.php";
     $dbc->query($requete);
     App::supprimerDossier(str_replace("/", "", $this->url_module));
 }
 /**
  * insertion du super user
  */
 public function setInscrireUtilisateur()
 {
     $dbc = App::getDb();
     $dbc->insert("pseudo", $this->pseudo)->insert("nom", $this->nom)->insert("prenom", $this->prenom)->insert("mdp", Encrypt::setEncryptMdp($this->mdp))->insert("mdp_params", Encrypt::getParams())->insert("last_change_mdp", date("Y-m-d"))->insert("img_profil", "profil/defaut.png")->insert("img_profil_blog", "profil/defaut_blog.png")->insert("valide", 1)->insert("acces_admin", 1)->insert("liste_droit", 0)->insert("super_admin", 1)->into("identite")->set();
 }
示例#11
0
 /**
  * @param $activer
  * @param $url
  * fonction qui permet d'activer || désactiver un module
  */
 public static function setActiverDesactiverModule($activer, $url)
 {
     $dbc = App::getDb();
     $dbc->update("activer", $activer)->from("module")->where("url", "=", $url)->set();
     $nav = new Navigation();
     if ($activer == 1) {
         $nav->setAjoutLien("ID_module", self::getUrlToId($url));
     } else {
         $nav->setSupprimerLien("ID_module", self::getUrlToId($url));
     }
 }
示例#12
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);
 }
 public function __construct($nom_site, $url_site, $gerant_site, $mail_site, $mail_administrateur)
 {
     $dbc = App::getDb();
     $dbc->insert("nom_site", $nom_site)->insert("url_site", $url_site)->insert("gerant_site", $gerant_site)->insert("mail_site", $mail_site)->insert("mail_administrateur", $mail_administrateur)->into("configuration")->set();
     FlashMessage::setFlash("la configuration de votre site a été correctement mse à jour", "success");
 }
示例#14
0
 /**
  * sauvegarde les parametres pour retrouver le mot de passe dans la bdd
  * @param string $params
  * @param $id_identite
  */
 public static function setSaveParams($params, $id_identite)
 {
     $dbc = App::getDb();
     $dbc->update("mdp_params", $params)->from("identite")->where("ID_identite", "=", $id_identite)->set();
 }
示例#15
0
 /**
  * permet de dire qu'on a vue une notification dans l'administration du site internet
  */
 public static function setNotificationVue()
 {
     $dbc = App::getDb();
     $dbc->update("admin", 0)->from("notification")->where("ID_notification", "=", 1)->set();
 }
示例#16
0
 /**
  * fonction qui permet de supprimer une page, test si fichier exist, si oui on delete
  * @param $id_page
  */
 public function setSupprimerPage($id_page)
 {
     $dbc = \core\App::getDb();
     //le premier id_page sera tojours l'accueil donc on ne peut pas le delete
     if ($id_page != 1) {
         $this->getContenuPage($id_page);
         $url = explode("/", $this->url);
         $filename = ROOT . "app/views/" . end($url) . ".php";
         //si le fichier existe supprimer en bdd plus l fichier
         if (file_exists($filename)) {
             unlink($filename);
             $dbc->delete()->from("page")->where("ID_page", "=", $id_page)->del();
             $nav = new Navigation();
             $nav->setSupprimerLien("ID_page", $id_page);
         } else {
             FlashMessage::setFlash("Impossible de supprimer cette page, veuillez contacter votre administrateur pour corriger ce problème");
             $this->erreur = true;
         }
     } else {
         FlashMessage::setFlash("Impossible de supprimer cette page, veuillez contacter votre administrateur pour corriger ce problème");
         $this->erreur = true;
     }
 }
 /**
  * fonction qui récupère la liste des droits d'acces sur les pages en texte en fonction de l'id de la liste
  * @param $id_liste_droit_acces
  */
 public function getListeDroitAccesDetailPage()
 {
     $dbc = \core\App::getDb();
     //récupération des droits d'acces pour les pages
     $query = $dbc->select()->from("liste_droit_acces")->from("droit_acces_page")->from("page")->where("liste_droit_acces.ID_liste_droit_acces", "=", $this->id_liste_droit_acces, "AND")->where("liste_droit_acces.ID_liste_droit_acces", "=", "droit_acces_page.ID_liste_droit_acces", "AND", true)->where("droit_acces_page.ID_page", "=", "page.ID_page", "", true)->get();
     if (is_array($query) && count($query) > 0) {
         $id_page = [];
         $titre_page = [];
         foreach ($query as $obj) {
             $id_page[] = $obj->ID_page;
             $titre_page[] = $obj->titre;
         }
         $this->setListeDroitAccesDetailPage($id_page, $titre_page);
     }
 }
示例#18
0
 /**
  * @param $id
  * @param $value_id
  * to delete a link in navigation table
  */
 public function setSupprimerLien($id, $value_id)
 {
     $dbc = App::getDb();
     $dbc->delete()->from("navigation")->where($id, "=", $value_id)->del();
 }
 /**
  * @param $option
  * @param $activer
  * fonction qui permet de modifier une option dans la configuration (responsive, cache...)
  */
 public function setModificerOption($option, $activer)
 {
     $dbc = App::getDb();
     $dbc->update($option, $activer)->from("configuration")->where("ID_configuration", "=", 1)->set();
     FlashMessage::setFlash("L'option {$option} a bien été modifiée", "success");
 }
示例#20
0
 /**
  * @param $id_page
  */
 private function getListeDroitModificationContenu($id_page)
 {
     $dbc = App::getDb();
     //on check si il a le droit de modifier ou supprimer cette page
     $query = $dbc->select()->from("droit_acces_page")->from("liste_droit_acces")->where("droit_acces_page.ID_page", "=", $id_page, "AND")->where("liste_droit_acces.ID_liste_droit_acces", "=", $this->id_liste_droit_acces, "AND")->where("droit_acces_page.ID_liste_droit_acces", "=", "liste_droit_acces.ID_liste_droit_acces", "", true)->get();
     //si on a un resultat
     if (is_array($query) && count($query) > 0) {
         foreach ($query as $obj) {
             $this->modif_seo = $obj->seo;
             $this->modif_contenu = $obj->contenu;
             $this->modif_navigation = $obj->navigation;
             $this->supprimer_page = $obj->supprimer;
         }
     }
 }