function addLog($type, $description, $idcible = '') { if ($description != "Configuration|cron" and $description != "Importation") { $date = new clDate(); $data['idapplication'] = IDAPPLICATION; if (isset($session)) { $data['iduser'] = $this->xham->user->getLogin(); } elseif (is_object($this->xham) && is_object($this->xham->user)) { $data['iduser'] = $this->xham->user->getLogin(); } else { $data['iduser'] = $_SESSION['informations']['iduser'] ? $_SESSION['informations']['iduser'] : "******"; } $data['idcible'] = $idcible; // print $this->logSup ; $data['type'] = $type; $data['ip'] = $_SERVER['REMOTE_ADDR']; $data['date'] = $date->getDatetime(); $data['description'] = $description; $finTemps = XhamTools::temps(); $tpPage = $finTemps - $this->xham->debTemps; $data['tempsPage'] = $tpPage; $data['tempsSQL'] = $this->xham->tpRequetes; $data['nombreSQL'] = $this->xham->nbRequetes + 1; // Appel de la classe Requete. $req = new XhamRequete(BASEXHAM, TABLELOGS, $data); // Exécution de la requete. $res = $req->addRecord(); // print affTab ( $res ) ; // Limitation du nombre de lignes dans la table logs... Désactivé, mais fonctionne parfaitement. //$mini = $res['cur_id'] - 150 ; //$res = $requete->delRecord ( "idlog<=$mini" ) ; } }
function majNote() { if ($this->droit) { // $session->setLogSup ( 'Mise à jour du bloc-notes' ) ; $data['note'] = utf8_decode(stripslashes($_REQUEST['note'])); $requete = new XhamRequete(BASEXHAM, 'notes', $data); $requete->uoiRecord("ids='" . $this->xham->getNavi(2) . "'"); } }
function checkDroit($droit, $description) { // Récupération de tous les droits existants. $param['cw'] = "WHERE libelle='{$droit}' AND idapplication='" . IDAPPLICATION . "'"; $restous = $this->xham->Execute("Fichier", "getDroitsTous", $param, "ResultQuery"); if (!$restous['INDIC_SVC'][2]) { $param2['idgroupe'] = 0; $param2['idapplication'] = IDAPPLICATION; $param2['libelle'] = $droit; $param2['descriptiondroit'] = addslashes($description); $requete = new XhamRequete(BASEXHAM, TABLEDROITS, $param2); $sql = $requete->addRecord(); } }
function supprimerUtilisateur() { if ($this->xham->getNavi(2) == "ValiderSupprimer") { $requete = new XhamRequete(BASEXHAM, TABLEUSERS); $requete->delRecord("idutilisateur=" . $_POST['iduser']); $_POST['iduser'] = ""; } else { // Chargement du template ModeliXe. $mod = new ModeliXe("FormConfirmation.mxt"); $mod->SetModeliXe(); $mod->MxText("question", "Cet utilisateur sera définitivement supprimé. Etes vous certain de vouloir continuer ?"); // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), "ValiderSupprimer") . "&iduser="******"1"); } }
static function execSQLFromFile($file, $bdd, $host, $user, $pass) { $sql = utf8_decode(file_get_contents($file)); $tabSQL = explode(';', $sql); $req = new XhamRequete($bdd, '', '', $host, $user, $pass); while (list($key, $val) = each($tabSQL)) { $rql = trim($val); if ($rql) { //print "REQUEEEEEEEEEEEEEEEETE".$rql."<br/><br/>" ; $res = $req->exec_requete($rql, 'resultquery'); } } return $res; }
function delDroit($libelle) { if ($this->xham->getDroit("Configuration_Droits", "a")) { $param['cw'] = "WHERE idapplication='" . IDAPPLICATION . "' AND idgroupe=0 AND libelle='" . $libelle . "'"; $res = $this->xham->Execute("Fichier", "getDroitsTous", $param, "ResultQuery"); if ($res['lectureseule'][0]) { $this->erreurs .= "C'est un droit système, il est impossible de le supprimer."; } else { if (isset($_POST['Supprimer']) or isset($_POST['Supprimer_x'])) { // Appel de la classe Requete. $requete = new XhamRequete(BASEXHAM, TABLEDROITS); // Exécution de la requete. $rs = $requete->delRecord("libelle='{$libelle}' AND idapplication=" . IDAPPLICATION); if (!isset($rs[1]) or !$rs[1]) { $this->infos .= "Le droit '" . $res['libelle'][0] . "' a bien été supprimé."; } } else { $mod = new ModeliXe("FormConfirmation.mxt"); $mod->SetModeliXe(); $param['cw'] = "WHERE d.idgroupe=g.idgroupe AND d.libelle='{$libelle}' AND idapplication='" . IDAPPLICATION . "' ORDER BY g.nomgroupe"; $ras = $this->xham->Execute("Fichier", "getDroits", $param, "ResultQuery"); for ($i = 0; isset($ras['nomgroupe'][$i]); $i++) { if (isset($groupes) and $ras['nomgroupe'][$i]) { $groupes .= ", " . $ras['nomgroupe'][$i]; } elseif ($ras['nomgroupe'][$i]) { $groupes = $ras['nomgroupe'][$i]; } } if (!$ras['INDIC_SVC'][2]) { $groupes = "Aucun groupe"; } $mod->MxText("question", "Confirmez-vous la suppression du droit '" . $res['libelle'][0] . "' ?<br/>(Ce droit est utilisé par : {$groupes})"); $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), $this->xham->getNavi(2), $this->xham->getNavi(3), stripslashes($libelle)) . "&idgroupe=" . $_POST['idgroupe'] . "&action=" . $_POST['action']); return $mod->MxWrite("1"); } } } }
public function truncate() { $requete = new XhamRequete($this->getBDD(), $this->nomTable, '', $this->getHost(), $this->getUser(), $this->getPass()); return $requete->exec_requete('TRUNCATE TABLE `' . $this->nomTable . '`'); }
function addItem($nomListe) { // On vérifie qu'un item ne porte pas déjà ce nom. $param['cw'] = "WHERE nomitem='" . addslashes(stripslashes($_POST['nomItemF'])) . "' AND nomliste='" . addslashes(stripslashes($nomListe)) . "'"; $res = $this->xham->Execute("Fichier", "getListesItems", $param, "ResultQuery"); // On signale l'erreur si le nom est déjà pris. if ($res['INDIC_SVC'][2] > 0) { $this->erreurs .= "Dans la liste \"{$nomListe}\", un item portant ce nom (\"" . $_POST['nomItemF'] . "\") existe déjà. La création est annulée."; } else { // Nouveau nom correct. if (eregi("[0-9a-zA-Z]", $_POST['nomItemF'])) { if ($this->xham->getOption($nomListe . " Id") and !eregi("[0-9a-zA-Z]", $_POST['libreF'])) { $this->erreurs .= "L'identifiant est un champ obligatoire."; } else { // On positionne correctement le nouvel item et on déplace les autres. if ($this->xham->getOption(stripslashes($nomListe)) != "Manuel") { $rang = 1; } else { $param['cw'] = "WHERE iditem='" . $_POST['placerF'] . "' and nomliste='" . addslashes(stripslashes($nomListe)) . "'"; $res2 = $this->xham->Execute("Fichier", "getListesItems", $param, "ResultQuery"); $rang = (isset($res2['rang'][0]) ? $res2['rang'][0] : 0) + 1; } $param['cw'] = "WHERE rang>='{$rang}' AND nomliste='" . addslashes($nomListe) . "'"; $res = $this->xham->Execute("Fichier", "getListesItems", $param, "ResultQuery"); for ($i = 0; isset($res['iditem'][$i]); $i++) { $data2['rang'] = $res['rang'][$i] + 1; $requete = new XhamRequete(BASEXHAM, "listes", $data2); $requete->updRecord("iditem='" . $res['iditem'][$i] . "'"); } // Insertion du nouveau item. $data['categorie'] = "ListesGenerales"; $data['nomliste'] = $nomListe; $data['nomitem'] = $_POST['nomItemF']; $data['rang'] = $rang; $data['valide'] = 1; $data['localisation'] = isset($_POST['typeF']) ? $_POST['typeF'] : ''; $data['libre'] = isset($_POST['libreF']) ? $_POST['libreF'] : ''; $data['idapplication'] = IDAPPLICATION; $requete = new XhamRequete(BASEXHAM, "listes", $data); $requete->addRecord(); // Message d'information. $this->infos .= "L'item \"" . $_POST['nomItemF'] . "\" a été ajouté dans la liste \"" . stripslashes($nomListe) . "\"."; } } else { $this->erreurs .= "Le nom choisi ne doit pas être vide."; } } }
function updateSession($idSession = '') { $date = new clDate(); // On met à jour la session actuelle. $data['nombre'] = "nombre+1"; $data['last'] = $date->getDatetime(); $data['localisation'] = $this->xham->genNaviFull(); $data['idapplication'] = IDAPPLICATION; // Appel de la classe Requete. $requete = new XhamRequete(BASEXHAM, TABLESACTU, $data); // Exécution de la requete. $res = $requete->updRecord("idsession='" . $idSession . "'"); return $res['affected_rows']; }
function checkOptionListe($option, $complexe = '') { $param['cw'] = "WHERE libelle='" . addslashes(stripslashes($option)) . "' AND idapplication=" . IDAPPLICATION; $res = $this->xham->Execute("Fichier", "getOptions", $param, "ResultQuery"); if (!$res['INDIC_SVC'][2]) { if ($complexe) { $data['libelle'] = $option; $data['description'] = "Classement de la liste '{$option}'."; $data['type'] = "combobox"; $data['choix'] = "Manuel|Alphabétique|Alphabétique inversé"; $data['valeur'] = "Manuel"; $data['categorie'] = $option; $data['idapplication'] = IDAPPLICATION; $req = new XhamRequete(BASEXHAM, TABLEOPTS, $data); $ris = $req->addRecord(); $data['libelle'] = "Catégories " . $option; $data['description'] = "Classement de la liste des catégories de '{$option}'."; $data['type'] = "combobox"; $data['choix'] = "Manuel|Alphabétique|Alphabétique inversé"; $data['valeur'] = "Manuel"; $data['categorie'] = $option; $data['idapplication'] = IDAPPLICATION; $req = new XhamRequete(BASEXHAM, TABLEOPTS, $data); $ris = $req->addRecord(); $data['libelle'] = "Lignes " . $option; $data['description'] = "Nombre de lignes dans les listes de gestion de '{$option}'."; $data['type'] = "combobox"; $data['choix'] = "5|10|15|20|25|30"; $data['valeur'] = "15"; $data['categorie'] = $option; $data['idapplication'] = IDAPPLICATION; $req = new XhamRequete(BASEXHAM, TABLEOPTS, $data); $ris = $req->addRecord(); } else { switch ($option) { case 'LignesParListe': $data['libelle'] = "LignesParListe"; $data['description'] = "Nombre de lignes par liste dans la partie administration."; $data['type'] = "combobox"; $data['choix'] = "3|4|5|6|7|8|9"; $data['valeur'] = "8"; $data['categorie'] = "Listes Générales"; $data['idapplication'] = IDAPPLICATION; $req = new XhamRequete(BASEXHAM, TABLEOPTS, $data); $ris = $req->addRecord(); break; case 'ListesParLigne': $data['libelle'] = "ListesParLigne"; $data['description'] = "Nombre de listes par ligne dans la partie administration."; $data['type'] = "combobox"; $data['choix'] = "3|4|5"; $data['valeur'] = "4"; $data['categorie'] = "Listes Générales"; $data['idapplication'] = IDAPPLICATION; $req = new XhamRequete(BASEXHAM, TABLEOPTS, $data); $ris = $req->addRecord(); break; default: $data['libelle'] = $option; $data['description'] = "Classement de la liste des '{$option}'."; $data['type'] = "combobox"; $data['choix'] = "Manuel|Alphabétique|Alphabétique inversé"; $data['valeur'] = "Manuel"; $data['categorie'] = "Listes Générales"; $data['idapplication'] = IDAPPLICATION; $req = new XhamRequete(BASEXHAM, TABLEOPTS, $data); $ris = $req->addRecord(); $data['libelle'] = $option . " Id"; $data['description'] = "Gestion d'un code rattaché aux items de la liste '{$option}'."; $data['type'] = "bool"; $data['choix'] = ""; $data['valeur'] = "0"; $data['categorie'] = "Listes Générales"; $data['idapplication'] = IDAPPLICATION; $req = new XhamRequete(BASEXHAM, TABLEOPTS, $data); $ris = $req->addRecord(); break; } } } }
function addNewOption() { $data['libelle'] = stripslashes($_POST['libelle']); $data['description'] = stripslashes($_POST['description']); $data['type'] = $_POST['type']; $data['choix'] = isset($_POST['choix']) ? stripslashes($_POST['choix']) : ''; $data['categorie'] = $_POST['nouvelle'] ? stripslashes($_POST['nouvelle']) : stripslashes($_POST['categorie']); $data['idapplication'] = IDAPPLICATION; $data['administrateur'] = (isset($_POST['administrateur']) and $_POST['administrateur']) ? 1 : 0; $req = new XhamRequete(BASEXHAM, TABLEOPTS, $data); $ris = $req->addRecord(); }
function genListeTodo() { $req = new XhamRequete(BASEXHAM, 'todo', array(), MYSQL_HOST, MYSQL_USER, MYSQL_PASS); switch ($this->xham->getr('Categorie')) { case 'all': $filtreCates = "1=1"; break; case '#': $filtreCates = "categorie=''"; break; default: $filtreCates = "categorie='" . utf8_decode($this->xham->getr('Categorie')) . "'"; break; } switch ($this->xham->getr('idUser')) { case 'all': $filtreUsers = "(idUser='******' OR public=1)"; break; case '#': $filtreUsers = "idUser='******'"; break; default: $filtreUsers = "idUser='******'idUser') . "'"; break; } switch ($this->xham->getr('Mode')) { default: $filtreModes = "etat like '" . $this->xham->getr('Mode') . "'"; break; } $filtre = " {$filtreCates} and {$filtreUsers} and {$filtreModes} "; $res = $req->getGen("{$filtre} order by etat, date", "resultQuery"); $ras = $req->getGen("{$filtreCates} and {$filtreUsers} and etat='afaire' order by etat", "resultQuery", 'sum(importance) nbHeures'); $rus = $req->getGen("{$filtreCates} and {$filtreUsers} and etat='encours' order by etat", "resultQuery", 'sum(importance) nbHeures'); $ris = $req->getGen("{$filtreCates} and {$filtreUsers} and etat='termines' order by etat", "resultQuery", 'sum(importance) nbHeures'); //print affTab ( $ras['INDIC_SVC'] ) ; $mod = new ModeliXe("TodoListe.html"); $mod->SetModeliXe(); $mod->MxText('recap', 'A faire : ' . ($ras['nbHeures'][0] ? $ras['nbHeures'][0] : '0') . 'h - En cours : ' . ($rus['nbHeures'][0] ? $rus['nbHeures'][0] : '0') . 'h - Terminés : ' . ($ris['nbHeures'][0] ? $ris['nbHeures'][0] : '0') . 'h'); $date = new clDate(); if ($res['INDIC_SVC'][2] == 0) { $mod->MxBloc('todo', 'replace', '<td colspan="6">Aucun todo.</td>'); } else { for ($i = 0; isset($res['idTodo'][$i]); $i++) { $js = XhamTools::genAjax('onClick', 'refreshTodo', 'ajax=changeStatus&idTodo=' . $res['idTodo'][$i] . '&navi=' . $this->xham->genNaviFull()); /* if ( $res['etat'][$i] != 'termines' ) $mod -> MxText ( 'todo.js', $js ) ; else $mod -> MxText ( 'todo.js', '' ) ; */ $mod->MxText('todo.js', $js); $mod->MxText('todo.class', $res['etat'][$i]); $mod->MxText('todo.idUser', $res['idUser'][$i]); $mod->MxText('todo.categorie', $res['categorie'][$i]); $mod->MxText('todo.nom', $res['nom'][$i]); $date->setDate($res['date'][$i]); $mod->MxText('todo.date', $date->getDate('Y-m-d H:i:s')); if ($res['dateLimite'][$i] != '0000-00-00 00:00:00') { $date->setDate($res['dateLimite'][$i]); $mod->MxText('todo.dateLimite', $date->getDate('Y-m-d')); } else { $mod->MxText('todo.dateLimite', VIDEDEFAUT); } $mod->MxText('todo.importance', $res['importance'][$i]); $mod->MxBloc('todo', 'loop'); } } $af = $mod->MxWrite("1"); if ($this->ajax) { $this->af .= $af; } else { return $af; } }
function delGroupe() { if (stripslashes($_POST['idGroupe']) == "Invité" or stripslashes($_POST['idGroupe']) == "HOPI") { $this->erreurs .= "Ce groupe ne peut être supprimé, il est nécessaire au fonctionnement de l'application."; } else { // Appel de la classe Requete. $requete = new XhamRequete(BASEXHAM, "groupes"); // Exécution de la requete. $res = $requete->delRecord("nomgroupe=\"" . $_POST['idGroupe'] . "\""); // Gestion des messages d'erreurs ou d'informations. if ($res['error']) { $this->erreurs .= "Une erreur a été rencontré lors de la tentative de suppression du groupe \"" . stripslashes($_POST['idGroupe']) . "\".<br/>Le problème a été signalé à l'administrateur."; } else { $this->infos .= "Le groupe \"" . stripslashes($_POST['idGroupe']) . "\" a été supprimé."; } } }
function delMenu($idmenu, $type) { if ($this->xham->getDroit("Configuration_Navigation", "d")) { $param['cw'] = "WHERE idunique='{$idmenu}'" . " AND idapplication=" . IDAPPLICATION; $res = $this->xham->Execute("Fichier", "getMenus", $param, "ResultQuery"); if ($type == "menu") { $param['cw'] = "WHERE menuparent='{$idmenu}'" . " AND idapplication=" . IDAPPLICATION; $ras = $this->xham->Execute("Fichier", "getMenus", $param, "ResultQuery"); } if ($res['lectureseule'][0]) { $this->erreurs .= "C'est un menu système, il est impossible de le supprimer."; } elseif (isset($ras) and $ras['INDIC_SVC'][2]) { $this->erreurs .= "Ce menu contient des items, il est impossible de le supprimer."; } else { if (isset($_POST['Supprimer']) or isset($_POST['Supprimer_x'])) { // Appel de la classe Requete. $requete = new XhamRequete(BASEXHAM, TABLENAVI); // Exécution de la requete. $requete->delRecord("idunique='{$idmenu}'"); $this->infos .= "Le menu '" . $res['libelle'][0] . "' a bien été supprimé."; if ($type == "menu") { $this->majRangs($res['rang'][0]); } else { $this->majRangs($res['rang'][0], $res['menuparent'][0]); } } else { $mod = new ModeliXe("FormConfirmation.mxt"); $mod->SetModeliXe(); $mod->MxText("question", "Confirmez-vous la suppression du menu '" . $res['libelle'][0] . "' ?"); $mod->MxHidden("hidden", "navi=" . $this->xham->genNavi($this->xham->getNavi(0), $this->xham->getNavi(1), $this->xham->getNavi(2), $this->xham->getNavi(3))); return $mod->MxWrite("1"); } } } }