diff --git a/Class/class.newFiche.php b/Class/class.newFiche.php index 54cfa49..9fdf76c 100644 --- a/Class/class.newFiche.php +++ b/Class/class.newFiche.php @@ -1,7 +1,7 @@ execute(); } -} \ No newline at end of file +} diff --git a/Class/class.pdo.php b/Class/class.pdo.php index bc449f4..8dd8a2a 100644 --- a/Class/class.pdo.php +++ b/Class/class.pdo.php @@ -1,5 +1,7 @@ pdo = $pDO->getPdoGsb(); } + /** + * FONCTION QUI CONNECTE UN UTILISATEUR + */ public function connectUser(string $login, string $password): array|bool { $req = 'SELECT "uId", "uNom", "uPrenom", "uAdresse", "uCp", "uVille", "uSecteur", "uLabo", "parametre"."pLibelle" diff --git a/controleurs/c_connexion.php b/controleurs/c_connexion.php index 6bdae1b..02bba20 100644 --- a/controleurs/c_connexion.php +++ b/controleurs/c_connexion.php @@ -6,7 +6,7 @@ if (isset($_POST['login']) && isset($_POST['password'])) { //Récupère les données de l'utilisateur $data = $userClass->connectUser($_POST['login'], $_POST['password']); - if($data == false) { + if ($data == false) { header('location: index.php'); } @@ -30,64 +30,3 @@ if (isset($_POST['login']) && isset($_POST['password'])) { } else { include('vues/v_connexion.php'); } -die; -/* - - - -header('location: index.php?direction=home'); - -if (!isset($_REQUEST['action'])) { - $_REQUEST['action'] = 'demandeConnexion'; -} -$action = $_REQUEST['action']; -switch ($action) { - case 'demandeConnexion': { - session_unset(); - $param = $pdo->getParametre("adresse"); - $_SESSION['adr1'] = $param[1]['pLibelle']; //rue - $_SESSION['adr2'] = $param[2]['pLibelle'] . ' ' . $param[3]['pLibelle']; //codePostal et ville - include("vues/v_entete.php"); - include("vues/v_connexion.php"); - break; - } - case 'valideConnexion': { - $login = $_REQUEST['login']; - $mdp = $_REQUEST['mdp']; - $utilisateur = $pdo->getInfosUtilisateur($login, $mdp); - if (!is_array($utilisateur)) { - include("vues/v_entete.php"); - ajouterErreur("Login ou mot de passe incorrect"); - include("vues/v_erreurs.php"); - include("vues/v_connexion.php"); - } else { - $id = $utilisateur['id']; - $nom = $utilisateur['nom']; - $prenom = $utilisateur['prenom']; - $statut = $utilisateur['statut']; - connecter($id, $nom, $prenom, $statut); - if (date('m') - 1 > 0) { - $leMoisPrecedent = date('Y') * 100 + date('m') - 1; - } else { - $leMoisPrecedent = (date('Y') - 1) * 100 + 12; - } - //penser ici à faire la cloture du mois précédent ! - if ($statut == 'V') // si le remboursement pour le mois courant n'existe pas (=0) il faut le créer{ - $leMois = date('Ym'); - $leRemboursement = $pdo->existeRemboursement($id, $leMois); - if ($leRemboursement == 0) { - $pdo->creeNouveauRemboursement($id, $leMois); - } - } - header('location: index.php?uc=etatFrais&action=voir'); - } - break; - } - default: { - include("vues/v_entete.php"); - include("vues/v_connexion.php"); - break; - } -} -?> -*/ diff --git a/controleurs/c_ficheAvalider.php b/controleurs/c_ficheAvalider.php index bf2e9ab..12422ff 100644 --- a/controleurs/c_ficheAvalider.php +++ b/controleurs/c_ficheAvalider.php @@ -18,6 +18,4 @@ if ($_SESSION["typeU"] == "comptable") { $lesFiches = $gestionFiche->get_ficheAvalider(); - - -include("vues/v_fichesAvalider.php"); \ No newline at end of file +include("vues/v_fichesAvalider.php"); diff --git a/controleurs/c_nouvelleFiche.php b/controleurs/c_nouvelleFiche.php index ef3e74e..4e7c482 100644 --- a/controleurs/c_nouvelleFiche.php +++ b/controleurs/c_nouvelleFiche.php @@ -6,7 +6,6 @@ require_once(__DIR__ . '/../Class/class.newFiche.php'); $typeUser = $_SESSION['uType']; //visiteur ou comptable - $typeUser = 'visiteur';//$_SESSION['uType']; //visiteur ou comptable $userId = $_SESSION['uId']; //exemple: 'b34' /** @@ -40,6 +39,8 @@ if (isset($_GET['currentList'])) { //Date du header en français try { //sudo timedatectl set-local-rtc 1 + //sudo apt install php8.2-intl + //sudo service apache2 restart $format = new IntlDateFormatter( 'fr_FR', IntlDateFormatter::FULL, @@ -48,14 +49,12 @@ try { IntlDateFormatter::GREGORIAN, 'MMMM Y' ); - $dateHeader = $format->format($dateFormat); + $dateHeader = $format->format($dateTimeStamp); } catch (\Throwable $th) { $dateHeader = date('F Y', $dateTimeStamp); } -//$date = '202312'; //TESTVAR - //Instance de l'objet newFiche qui gère toute la partie bdd $newFiche = new Class_newFiche($pdo, $userId, $date); @@ -81,7 +80,6 @@ $totalFraisFiche = $newFiche->getMontantValide(); * ETAT DE LA FICHE */ $status = $newFiche->getStatus(); -$status = 'CR'; //créé $disabled = ($status !== 'CR') ? 'disabled' : ''; include(__DIR__ . '/../vues/v_newFiche.php'); diff --git a/include/aide javascript.txt b/include/aide javascript.txt deleted file mode 100644 index d576eb6..0000000 --- a/include/aide javascript.txt +++ /dev/null @@ -1,149 +0,0 @@ -http://www.toutjavascript.com/savoir/savoir06_2.php3 - -En javascript, la concaténation se fait avec le caractère plus (+) ou bien grace à la méthode concat(). - -Dans les deux exemples ci-dessous, la variable chaîne 3 contient la chaîne "Bonjour tout le monde" : - -var chaine1 = "Bonjour "; -var chaine2 = "tout le monde"; -var chaine3 = chaine1+chaine2; - -L'exemple ci-dessus est équivalent à l'exemple suivant : - -var chaine1 = "Bonjour "; -var chaine2 = "tout le monde"; -var chaine3 = chaine1.concat(chaine2); ---------------------------------------------------------- -indexOf: Retourne la position d'une sous-chaîne (lettre ou groupe de lettres) dans une chaîne de caractère, en effectuant la recherche de gauche à droite, à partir de la position spécifiée en paramètre. Retourne -1 si la sous-chaîne n'est pas trouvée dans la chaîne principale. - -var Chaine = 'Comment ça marche?'; -var Sous_Chaine = 'mar'; -var Sous_Chaine_2 = 'zzz'; - -var Resultat = Chaine.indexOf(Sous_Chaine); //Retourne 11 -var Resultat = Chaine.indexOf(Sous_Chaine_2); //Retourne -1 - ---------------------------------------------------------- - -Pour récupérer l'indice la ligne sélectionnée : - this.form.elements['liste'].selectedIndex -Pour récupérer le nombre de lignes : - this.form.elements['liste'].options.length -Pour récupérer la valeur de la ligne sélectionnée : - this.form.elements['liste'].options[this.form.elements['liste'].selectedIndex].value - -En JavaScript, la structure d'un élément de type SELECT reprend ce schéma : -name Nom de la liste -selectedIndex Indice de la ligne sélectionnée (ligne 1 : indice=0) -options Tableau des lignes -length Nombre de lignes - value Valeur d'une ligne - text Libellé d'une ligne - ---------------------------------------------------------- - -
-Grâce à this.form, on peut accéder au formulaire de l'élément en cours. - - ---------------------------------------------------------- - -Pour donner le focus au champ texte du haut de cette page, il faut appeler la méthode focus() sur cet élément. -document.forms["general"].elements["champ1"].focus() - -Pour donner le focus à un champ de formulaire à l'ouverture de la page, il faut ajouter cette ligne dans la balise BODY : -onLoad="document.forms['nomduform'].elements['nomchamp'].focus()" - --------------------------------------------------------- -Pour manipuler les nombres en javascript, il faut utiliser l'objet Math. -abs() - -x=Math.abs(y); - -La méthode abs() renvoie la valeur absolue (valeur positive) de y. Il supprime en quelque sorte le signe négatif d'un nombre. - -y = 4; -x = math.abs(y); -x = Math.abs(4); -x = math.abs(-4); -ont comme résultat -x = 4 - - - -ceil() - -x=Math.ceil(y); - -La méthode ceil() renvoie l'entier supérieur ou égal à y. - -Attention ! Cette fonction n'arrondit pas le nombre. -Comme montré dans l'exemple, si y = 1.01, la valeur de x sera mise à 2. - -y=1.01; -x=Math.ceil(y); -a comme résultat 2. - - - -floor() - -x=Math.floor(y); - -La méthode floor() renvoie l'entier inférieur ou égal à y. - -Attention ! Cette fonction n'arrondit pas le nombre. -Comme montré dans l'exemple, si y = 1.99, la valeur de x sera mise à 1. - -y=1.999; -x=Math.floor(y); -a comme résultat 1. - - - -round() - -x=Math.round(y); - -La méthode round() arrondit le nombre à l'entier le plus proche. - -y=20.355; -x=Math.round(y); -a comme résultat -x=20; - -Attention ! Certains calculs réclament une plus grande précision. Pour avoir deux décimales après la virgule, on utilisera la formule : - -x=(Math.round(y*100))/100; -et dans ce cas -x=20.36; - - - -max() - -x=Math.max(y,z); - -La méthode max(y,z) renvoie le plus grand des 2 nombres y et z. - -y=20; z=10; -x=Math.max(y,z); -a comme résultat -x=20; - - - -min() - -x=Math.min(y,z); - -La méthode min(y,z) renvoie le plus petit des 2 nombres y et z. - -y=20; z=10; -x=Math.min(y,z); -a comme résultat -x=10; \ No newline at end of file diff --git a/include/appelIni.php b/include/appelIni.php deleted file mode 100644 index 633f97b..0000000 --- a/include/appelIni.php +++ /dev/null @@ -1,37 +0,0 @@ -stocker le nom d'utilisateur et le mot de passe dans la classe n'est pas une très bonne idée pour le code mis en -production ... Une bonne solution consiste a stocker les paramètres de connexion à la base de données dans un fichier -.ini et à en restreindre l'accès. Par exemple de cette façon: - -private static $serveur='mysql:host=localhost'; -private static $bdd='dbname=gsb2021'; -private static $user='root' ; -private static $mdp='root' ; - -gsb.ini: -[database] -driver = mysql -host = localhost -port = 3306 -schema = gsb2021 -username = root -password = root - - -Database connection: - \ No newline at end of file diff --git a/include/class.pdogsb.php b/include/class.pdogsb.php deleted file mode 100644 index 6f84932..0000000 --- a/include/class.pdogsb.php +++ /dev/null @@ -1,632 +0,0 @@ -query("SET CHARACTER SET utf8");SET client_encoding = 'UTF8'; - } - public function _destruct() - { - PdoGsb::$monPdo = null; - } - /** - * Fonction statique qui cree l'unique instance de la classe - * Appel : $instancePdoGsb = PdoGsb::getPdoGsb(); - * @return l'unique objet de la classe PdoGsb - */ - public static function getPdoGsb() - { - if (PdoGsb::$monPdoGsb == null) { - PdoGsb::$monPdoGsb = new PdoGsb(); - } - return PdoGsb::$monPdoGsb; - } - - /** - * Retourne les informations d'un utilisateur - * @param $login - * @param $mdp - * @return l'id, le nom et le prenom sous la forme d'un tableau associatif - */ - public function getInfosUtilisateur($login, $mdp) - { - $req = "select \"uId\" as id, \"uNom\" as nom, \"uPrenom\" as prenom, \"uStatut\" as statut - from utilisateur - where \"uLogin\"='$login' - and \"uMdp\"='$mdp'"; - $req = $this->entourerNoms($req); - //echo $req; - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la lecture ..", $req, PdoGsb::$monPdo->errorInfo()); - } - $ligne = $rs->fetch(); - return $ligne; - } - - /** - * Retourne les informations de la table Visiteur - * @return un tableau associatif - */ - public function getLesVisiteurs() - { - - - - - - - - } - /** - * Retourne deux valeurs indiquant si un ajout de frais est possible - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @paral etatRemboursement - */ - public function getAjoutFraisPossible($idVisiteur, $leMois, $etatRemboursement) - { - $possible = array('forfait' => "non", 'horsForfait' => "non", 'modifComptable' => 'non'); - if ($_SESSION['statut'] == '1' && $etatRemboursement == 'CR') { - $req = "select count(*) as nbForfaits - from forfait - where fId not in (select lfForfait - from ligneForfait - where lfVisiteur='$idVisiteur' - and lfMois = '$leMois')"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la lecture ..", $req, PdoGsb::$monPdo->errorInfo()); - } - $laLigne = $rs->fetch(); - if ($laLigne['nbForfaits'] == 0 ? $possible = array('forfait' => "non", 'horsForfait' => "oui", 'modifComptable' => 'non') : $possible = array('forfait' => "oui", 'horsForfait' => "oui", 'modifComptable' => 'non')) - ; - } else { - if ($_SESSION['statut'] != '1' && $etatRemboursement == 'CL') { - $possible = array('forfait' => "non", 'horsForfait' => "non", 'modifComptable' => "oui"); - } - } - return $possible; - } - - /** - * Retourne les informations pour ajout d'un nouveau frais forfaitaire - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @return l'id, le libell, le montant sous la forme d'un tableau associatif - */ - public function getLesForfaitsPossibles() - { - $req = "select \"fId\", \"fLibelle\", \"fMontant\" - from forfait"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la lecture ..", $req, PdoGsb::$monPdo->errorInfo()); - } - $lesLignes = $rs->fetchAll(); - return $lesLignes; - } - - /** - * Retourne le tarif KM pour un motorisation et une puissance donnee a une date - */ - public function getPrixKm($idVisiteur, $leMois) - { - $laDate = substr($leMois, 0, 4) . '-' . substr($leMois, 4, 2) . '-01'; - - $req = "SELECT 1;"; - - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la lecture ..", $req, PdoGsb::$monPdo->errorInfo()); - } - $laLigne = $rs->fetch(); - return $laLigne; - } - - /** - * Retourne sous forme d'un tableau associatif toutes les lignes de frais hors forfait concernees par les deux arguments - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @return tous les champs des lignes de frais hors forfait sous la forme d'un tableau associatif - */ - public function getLesFraisHorsForfait($idVisiteur, $mois) - { - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la lecture ..", $req, PdoGsb::$monPdo->errorInfo()); - } - $lesLignes = $rs->fetchAll(); - return $lesLignes; - } - - /** - */ - public function getLesFraisReportes($idVisiteur, $mois, $justifies) - { - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la lecture ..", $req, PdoGsb::$monPdo->errorInfo()); - } - $lesLignes = $rs->fetchAll(); - return $lesLignes; - } - - /** - * Retourne le nombre de justificatif d'un Visiteurpour un mois donnee - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @return le nombre entier de justificatifs - */ - public function getNbjustificatifs($idVisiteur, $mois) - { - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la lecture ..", $req, PdoGsb::$monPdo->errorInfo()); - } - $laLigne = $rs->fetch(); - return $laLigne['nb']; - } - - /** - * Retourne le montant valide pour un remboursement (cumul des frais forfaitaires et des autres depenses (hors forfaits) - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @return le montant - */ - public function getMontantValide($idVisiteur, $mois) - { - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la lecture ..", $req, PdoGsb::$monPdo->errorInfo()); - } - $laLigne = $rs->fetch(); - $montantValide = $laLigne['montant']; - return $montantValide; - } - - /** - * Retourne sous forme d'un tableau associatif toutes les lignes de frais au forfait concernees par les deux arguments - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @return l'id, le libelle et la quantite sous la forme d'un tableau associatif - */ - public function getLesFraisForfait($idVisiteur, $mois) - { - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la lecture ..", $req, PdoGsb::$monPdo->errorInfo()); - } - $lesLignes = $rs->fetchAll(); - return $lesLignes; - } - - /** - * Met a jour la table ligneForfait pour un Visiteur et un mois donne en enregistrant le nouveau montant - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @param $qte - */ - public function getUnFraisForfait($idVisiteur, $mois, $forfait) - { - $req = "select lfVisiteur, lfMois, lfForfait, lfQuantite, lfMontant, fLibelle - from ligneForfait inner join forfait on ligneForfait.lfForfait=forfait.fId - where lfVisiteur= '$idVisiteur' - and lfMois = '$mois' - and lfForfait = '$forfait'"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la lecture ..", $req, PdoGsb::$monPdo->errorInfo()); - } - $laLigne = $rs->fetch(); - return $laLigne; - } - - /** - * Met a jour la table ligneForfait pour un Visiteur et un mois donne en enregistrant le nouveau montant - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @param $qte - */ - public function majFraisForfait($idVisiteur, $mois, $forfait, $qte) - { - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - PdoGsb::$monPdo->exec($req); - } - - /** - * supprime une ligneForfait pour un Visiteur et un mois donne - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @param $forfait - */ - public function supprimerFraisForfait($idVisiteur, $mois, $forfait) - { - $req = $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - PdoGsb::$monPdo->exec($req); - } - - /** - * ajoute une ligne dans la table ligneForfait pour un Visiteur et un mois donne - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @param $forfait - * @param $qte - * @param $montant - */ - public function ajoutFraisForfait($idVisiteur, $mois, $forfait, $qte, $montant) - { - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - PdoGsb::$monPdo->exec($req); - } - - /** - * Met a jour la table ligneForfait pour un Visiteur et un mois donne en enregistrant le nouveau montant - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @param $qte - */ - public function getUnFraisHorsForfait($idFrais) - { - $req = $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la lecture ..", $req, PdoGsb::$monPdo->errorInfo()); - } - $laLigne = $rs->fetch(); - return $laLigne; - } - - /** - * Met ajour la table ligneHorsForfait (nouvelles valeurs) - */ - public function majFraisHorsForfait($idFrais, $date, $libelle, $montant) - { - $dateFr = dateFrancaisVersAnglais($date); - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - PdoGsb::$monPdo->exec($req); - } - - /** - * Met a jour la table ligneHorsForfait pour report au mois suivant - */ - public function transfertFraisHorsForfait($idFrais, $mois) - { - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - PdoGsb::$monPdo->exec($req); - } - - /** - * Cree un nouveau frais hors forfait pour un Visiteurun mois donne a partir des parametres - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @param $libelle : le libelle du frais - * @param $date : la date du frais au format français jj//mm/aaaa - * @param $montant : le montant - */ - public function ajoutFraisHorsForfait($idVisiteur, $mois, $date, $libelle, $montant) - { - $dateFr = dateFrancaisVersAnglais($date); - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - PdoGsb::$monPdo->exec($req); - } - - /** - * Supprime le frais hors forfait dont l'id est passe en argument - * @param $idFrais - */ - public function supprimerFraisHorsForfait($idFrais, $libelle) - { - - - - - - - - - - } - - /** - * Retourne les mois pour lesquel un Visiteura une fiche de frais - * @param $idVisiteur - * @return un tableau associatif de clefs un mois -aaaamm- et de valeurs l'anne et le mois correspondant - */ - public function getLesMoisDisponibles($idVisiteur) - { - $tabMois = array('01' => "Janvier", - '02' => "Février", - '03' => "Mars", - '04' => "Avril", - '05' => "Mai", - '06' => "Juin", - '07' => "Juillet", - '08' => "Août", - '09' => "Septembre", - '10' => "Octobre", - '11' => "Novembre", - '12' => "Décembre"); - $req = "select \"rMois\" as mois - from remboursement - where \"rVisiteur\"='$idVisiteur' "; - if ($_SESSION['statut'] <> '1') { - $req = $req . "and \"rEtat\"<>'CR'"; - } - $req = $req . " order by \"rMois\" desc limit 12"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - $lesMois = array(); - $laLigne = $rs->fetch(); - while ($laLigne != null) { - $mois = $laLigne['mois']; - $numAnnee = substr($mois, 0, 4); - $numMois = $tabMois[substr($mois, 4, 2)]; - $lesMois["$mois"] = array("mois" => "$mois", "numAnnee" => "$numAnnee", "numMois" => "$numMois"); - $laLigne = $rs->fetch(); - } - return $lesMois; - } - - /** - */ - public function existeRemboursement($idVisiteur, $mois) - { - $req = "select count(*) as nb - from remboursement - where \"rVisiteur\"='$idVisiteur' - and \"rMois\"='$mois'"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - $laLigne = $rs->fetch(); - return $laLigne['nb']; - } - - /** - */ - public function getNbRemboursementsAValider() - { - $req = "SELECT 1 as nb;"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - $laLigne = $rs->fetch(); - return $laLigne['nb']; - } - - /** - */ - public function creeNouveauRemboursement($idVisiteur, $mois) - { - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - PdoGsb::$monPdo->exec($req); - } - - /** - * Retourne les informations d'une fiche de frais d'un Visiteur pour un mois donne - * @param $idVisiteur - * @param $mois sous la forme aaaamm - * @return un tableau avec des champs de jointure entre une fiche de frais et la ligne d'etat - */ - public function getInfosRemboursement($idVisiteur, $mois) - { - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la lecture ..", $req, PdoGsb::$monPdo->errorInfo()); - } - $laLigne = $rs->fetch(); - return $laLigne; - } - - /** - * Actualise le montant valide et le nb de justificatifs recus - */ - public function valideRemboursement($idVisiteur, $mois) - { - $NbJustificatifs = $this->getNbjustificatifs($idVisiteur, $mois); - $montantValide = $this->getMontantValide($idVisiteur, $mois); - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - PdoGsb::$monPdo->exec($req); - } - - /** - * Modifie l'etat et la date de modification d'une fiche de frais - * Modifie le champ idEtat et met la date de modif a aujourd'hui - * @param $idVisiteur - * @param $mois sous la forme aaaamm - */ - public function majRemboursement($idVisiteur, $mois, $etat) - { - $req = "update remboursement set \"rEtat\" = '$etat', \"rDateModif\" = now() - where \"rVisiteur\"='$idVisiteur' - and \"rMois\"='$mois'"; - PdoGsb::$monPdo->exec($req); - } - - /** - * Clos les fiches de frais - * Modifie le champ idEtat et met la date de modif a aujourd'hui - */ - public function clotureMois($mois) - { - $req = "SELECT 1;"; - //$req = $this->entourerNoms($req); - //PdoGsb::$monPdo->exec($req); - } - - /** - * Retourne les informations de la table TYPEPARAMETRE - */ - public function getLesParametres() - { - $req = "SELECT \"tlId\", \"tlLibelle\", \"tlBooleen\", \"tlChoixMultiple\", \"tlCumul\" - FROM \"typeParametre\" - ORDER BY \"tlLibelle\";"; - $req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la recherche dans la base de données.", $req, PdoGsb::$monPdo->errorInfo()); - } - $lesLignes = $rs->fetchAll(); - return $lesLignes; - } - - /** - * Retourne dans un tableau associatif les informations de la table PARAMETRE (pour un type particulier) - */ - public function getParametre($type) - { - $req = "SELECT \"pIndice\", \"pLibelle\" - FROM parametre - WHERE \"pType\"='$type' - ORDER by \"pIndice\";"; - //echo $req; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la recherche des parametres dans la base de données.", $req, PdoGsb::$monPdo->errorInfo()); - } - $lesLignes = $rs->fetchAll(); - return $lesLignes; - } - /** - * Retourne dans un tableau associatifles informations de la table PARAMETRE (pour un type particulier) - */ - public function getInfosParam($type, $valeur) - { - if ($valeur == "NULL") { - $req = "SELECT \"pType\", max(\"pIndice\")+1 AS pIndice, ' ' AS pLibelle, \"tlLibelle\", \"pPlancher\", \"pPlafond\" - FROM parametre INNER JOIN \"typeParametre\" ON \"typeParametre\".\"tlId\"=parametre.\"pType\" - WHERE pType='$type';"; - } else { - $req = "SELECT \"pType\", \"pIndice\", \"pLibelle\", \"tlLibelle\", \"pPlancher\", \"pPlafond\" - FROM parametre INNER JOIN \"typeParametre\" ON \"typeParametre\".\"tlId\"=parametre.\"pType\" - WHERE \"pType\"='$type' - AND \"pIndice\" like '$valeur';"; - } - $req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->query($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la recherche dans la base de données.", $req, PdoGsb::$monPdo->errorInfo()); - } - $ligne = $rs->fetch(); - return $ligne; - } - - - /** - * Met a jour une ligne de la table PARAMETRE - */ - public function majParametre($type, $valeur, $libelle, $territoire, $dep, $plancher, $plafond) - { - $req = "UPDATE parametre SET \"pLibelle\"='$libelle', \"pPlancher\"=$plancher, \"pPlafond\"=$plafond - WHERE \"pType\"='$type' - AND \"pIndice\"=$valeur;"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->exec($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la mise a jour des parametres dans la base de données.", $req, PdoGsb::$monPdo->errorInfo()); - } - } - - /** - * supprime une ligne de la table PARAMETRE - */ - public function supprimeParametre($type, $valeur) - { - $req = "DELETE - FROM parametre - WHERE \"pType\"='$type' - AND \"pIndice\"=$valeur;"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->exec($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de la suppression d'un parametre dans la base de données.", $req, PdoGsb::$monPdo->errorInfo()); - } - } - - /** - * ajoute une ligne dans la table PARAMETRE - */ - public function ajoutParametre($type, $valeur, $libelle, $territoire, $dep, $plancher, $plafond) - { - $req = "INSERT INTO parametre - (\"pType\", \"pIndice\", \"pLibelle\", \"pPlancher\", \"pPlafond\") - VALUES ('$type', $valeur, '$libelle', $plancher, $plafond);"; - //$req = $this->entourerNoms($req); - $rs = PdoGsb::$monPdo->exec($req); - if ($rs === false) { - afficherErreurSQL("Probleme lors de l'insertion d'un parametre dans la base de données.", $req, PdoGsb::$monPdo->errorInfo()); - } - } - /** - * Fonction pour entourer les noms de tables et de champs par des guillemets doubles - */ - private function entourerNoms($requete) - { - $pattern = '/SELECT(.*?)[\n\r\s]FROM/i'; - echo 'le patron : ' . $pattern . ' la requete : ' . $requete; - preg_match_all($pattern, $requete, $matches); - - if (isset($matches[1])) { - var_dump($matches); - foreach ($matches[1] as $match) { - // Ajouter des guillemets doubles autour des noms de tables et de champs - $noms_entoures = preg_replace_callback('/\b([A-Za-z_][A-Za-z0-9_]*)\b/', function ($match) { - return '\"' . $match[0] . '\"'; - }, $match); - - $requete = str_replace($match, $noms_entoures, $requete); - } - } - //echo $requete; - return $requete; - } -} -?> \ No newline at end of file diff --git a/include/fct.inc.php b/include/fct.inc.php deleted file mode 100644 index da1c9ab..0000000 --- a/include/fct.inc.php +++ /dev/null @@ -1,202 +0,0 @@ - diff --git a/include/gsb.ini b/include/gsb.ini deleted file mode 100644 index 7a29bac..0000000 --- a/include/gsb.ini +++ /dev/null @@ -1,7 +0,0 @@ -[database] -driver = mysql -host = localhost -port = 3306 -schema = gsb2021 -username = root -password = root \ No newline at end of file diff --git a/include/menu.php b/include/menu.php index e5ce591..311fadc 100644 --- a/include/menu.php +++ b/include/menu.php @@ -1,8 +1,20 @@ 03/05/2023 Blain Pascal";?>