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"); }
/** * 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; } } } }
/** * 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; } } }
/** * 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"; } } } }
/** * @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; } } }
/** * 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; } } }
/** * @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(); }
/** * @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)); } }
/** * @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"); }
/** * 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(); }
/** * 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(); }
/** * 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); } }
/** * @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"); }
/** * @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; } } }