From 23af30b8236cd612ab1d264e35ae0b34c99004c2 Mon Sep 17 00:00:00 2001
From: paul
Date: Thu, 17 Mar 2022 09:32:09 +0100
Subject: [PATCH] code php
---
code/c_connexion.php | 57 +++++++++
code/c_param.php | 79 ++++++++++++
code/classPDO.php | 152 +++++++++++++++++++++++
code/fonctionsProjet.inc | 210 ++++++++++++++++++++++++++++++++
code/index.php | 35 ++++++
code/proceduresJava.js | 248 ++++++++++++++++++++++++++++++++++++++
code/v_choixParam.php | 44 +++++++
code/v_connexion.php | 19 +++
code/v_entete.php | 47 ++++++++
code/v_erreurs.php | 10 ++
code/v_ficheParametre.php | 100 +++++++++++++++
code/v_pied.php | 5 +
code/v_unParam.php | 94 +++++++++++++++
icon | 0
icon/Thumbs.db | Bin 0 -> 171520 bytes
icon/add.png | Bin 0 -> 50584 bytes
icon/ajout.gif | Bin 0 -> 14200 bytes
icon/ajouter.jpg | Bin 0 -> 15623 bytes
icon/ajoutmembre.png | Bin 0 -> 1845 bytes
icon/alerte moyen.jpg | Bin 0 -> 13939 bytes
icon/alerte.jpg | Bin 0 -> 13467 bytes
icon/alerte.png | Bin 0 -> 50505 bytes
icon/alerte_petit.jpg | Bin 0 -> 13652 bytes
icon/annuler.jpg | Bin 0 -> 16385 bytes
icon/bt-print.gif | Bin 0 -> 180 bytes
icon/bt-send.gif | Bin 0 -> 135 bytes
icon/cocheB.gif | Bin 0 -> 1206 bytes
icon/cocheR.gif | Bin 0 -> 14198 bytes
icon/cocheV.gif | Bin 0 -> 14187 bytes
icon/cp.gif | Bin 0 -> 90 bytes
icon/danger.jpg | Bin 0 -> 8767 bytes
icon/deconnexion.png | Bin 0 -> 58826 bytes
icon/editer.jpg | Bin 0 -> 16347 bytes
icon/favicon.ico | Bin 0 -> 14177 bytes
icon/favicon.jpg | Bin 0 -> 13616 bytes
icon/favicon.png | Bin 0 -> 2020 bytes
icon/fermer.png | Bin 0 -> 2718 bytes
icon/fleche_oblique.png | Bin 0 -> 208 bytes
icon/goDernier.gif | Bin 0 -> 271 bytes
icon/goPrecedent.gif | Bin 0 -> 597 bytes
icon/goPremier.gif | Bin 0 -> 405 bytes
icon/goSuivant.gif | Bin 0 -> 601 bytes
icon/group.png | Bin 0 -> 2386 bytes
icon/imprimer.gif | Bin 0 -> 4701 bytes
icon/infobulle.png | Bin 0 -> 509 bytes
icon/logo.png | Bin 0 -> 109679 bytes
icon/logoGSB.jpg | Bin 0 -> 6780 bytes
icon/modif.gif | Bin 0 -> 1251 bytes
icon/picto_disconnect.png | Bin 0 -> 499 bytes
icon/plus.png | Bin 0 -> 49209 bytes
icon/plusB.png | Bin 0 -> 49436 bytes
icon/plusBleu.png | Bin 0 -> 49619 bytes
icon/plusGrand.png | Bin 0 -> 1477 bytes
icon/recherche.jpg | Bin 0 -> 879 bytes
icon/recherche2.jpg | Bin 0 -> 2831 bytes
icon/recherche3.jpg | Bin 0 -> 1751 bytes
icon/rechercher.jpg | Bin 0 -> 5193 bytes
icon/supprimer.gif | Bin 0 -> 14288 bytes
icon/supprimer.jpg | Bin 0 -> 15489 bytes
icon/users.png | Bin 0 -> 2737 bytes
icon/validation.jpg | Bin 0 -> 15674 bytes
icon/valider.jpg | Bin 0 -> 16158 bytes
62 files changed, 1100 insertions(+)
create mode 100644 code/c_connexion.php
create mode 100644 code/c_param.php
create mode 100644 code/classPDO.php
create mode 100644 code/fonctionsProjet.inc
create mode 100644 code/index.php
create mode 100644 code/proceduresJava.js
create mode 100644 code/v_choixParam.php
create mode 100644 code/v_connexion.php
create mode 100644 code/v_entete.php
create mode 100644 code/v_erreurs.php
create mode 100644 code/v_ficheParametre.php
create mode 100644 code/v_pied.php
create mode 100644 code/v_unParam.php
delete mode 100644 icon
create mode 100644 icon/Thumbs.db
create mode 100644 icon/add.png
create mode 100644 icon/ajout.gif
create mode 100644 icon/ajouter.jpg
create mode 100644 icon/ajoutmembre.png
create mode 100644 icon/alerte moyen.jpg
create mode 100644 icon/alerte.jpg
create mode 100644 icon/alerte.png
create mode 100644 icon/alerte_petit.jpg
create mode 100644 icon/annuler.jpg
create mode 100644 icon/bt-print.gif
create mode 100644 icon/bt-send.gif
create mode 100644 icon/cocheB.gif
create mode 100644 icon/cocheR.gif
create mode 100644 icon/cocheV.gif
create mode 100644 icon/cp.gif
create mode 100644 icon/danger.jpg
create mode 100644 icon/deconnexion.png
create mode 100644 icon/editer.jpg
create mode 100644 icon/favicon.ico
create mode 100644 icon/favicon.jpg
create mode 100644 icon/favicon.png
create mode 100644 icon/fermer.png
create mode 100644 icon/fleche_oblique.png
create mode 100644 icon/goDernier.gif
create mode 100644 icon/goPrecedent.gif
create mode 100644 icon/goPremier.gif
create mode 100644 icon/goSuivant.gif
create mode 100644 icon/group.png
create mode 100644 icon/imprimer.gif
create mode 100644 icon/infobulle.png
create mode 100644 icon/logo.png
create mode 100644 icon/logoGSB.jpg
create mode 100644 icon/modif.gif
create mode 100644 icon/picto_disconnect.png
create mode 100644 icon/plus.png
create mode 100644 icon/plusB.png
create mode 100644 icon/plusBleu.png
create mode 100644 icon/plusGrand.png
create mode 100644 icon/recherche.jpg
create mode 100644 icon/recherche2.jpg
create mode 100644 icon/recherche3.jpg
create mode 100644 icon/rechercher.jpg
create mode 100644 icon/supprimer.gif
create mode 100644 icon/supprimer.jpg
create mode 100644 icon/users.png
create mode 100644 icon/validation.jpg
create mode 100644 icon/valider.jpg
diff --git a/code/c_connexion.php b/code/c_connexion.php
new file mode 100644
index 0000000..de32803
--- /dev/null
+++ b/code/c_connexion.php
@@ -0,0 +1,57 @@
+getInfosUtilisateur($login,$mdp);
+
+ if(!is_array( $utilisateur)){
+ $formulaire ="frmIdentification";
+ $champ ="login";
+ 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['uId'];
+ $nom = $utilisateur['uNom'];
+ $prenom = $utilisateur['uPrenom'];
+ $statut = $utilisateur['uStatut'];
+ ($statut==0)?$region=0:$region=$utilisateur['uRegion'];
+ connecter($id,$nom,$prenom,$statut,$region);
+ header ('location: index.php?choixTraitement=param&action=voir');
+ }
+ break;
+ }
+ default :{
+ $formulaire ="frmIdentification";
+ $champ ="login";
+ include("vues/v_entete.php");
+ include("vues/v_connexion.php");
+ break;
+ }
+}
+?>
\ No newline at end of file
diff --git a/code/c_param.php b/code/c_param.php
new file mode 100644
index 0000000..75a2465
--- /dev/null
+++ b/code/c_param.php
@@ -0,0 +1,79 @@
+getLesParametres();
+ include("vues/v_choixParam.php");
+ $enteteParametre=$lesParametres[$noP-1];
+ $lesInfosParametre = $pdo->getParametre($choix);
+ include("vues/v_ficheParametre.php");
+ $stat="2";
+ break;
+ }
+//-----------------------------------------liste détaillée pour un parametre
+case 'liste':
+ {
+ include("vues/v_entete.php");
+ $lesParametres=$pdo->getLesParametres();
+ include("vues/v_choixParam.php");
+ $titre2=$lesStatistiques[0]['libelle'];
+ include("vues/v_listeStat.php");
+ break;
+ }
+//----------------------------------------- AJOUT/MODIFICATION/SUPPRESSION
+case 'ajouter':
+case 'modifier':
+case 'supprimer':
+ {
+ include("vues/v_entete.php");
+ $infosParam = $pdo->getInfosParam($type, $valeur);
+ include("vues/v_unParam.php");
+ break;
+ }
+//----------------------------------------- VALIDATION AJOUT
+case 'validerAjouter':
+ {// enregistrement de la ligne et retour
+ if ($_REQUEST['zOk']=="OK") {$pdo->ajoutParametre($type, $valeur, addslashes ($_REQUEST['zLibelle']), $_REQUEST['zTerritoire'], $_REQUEST['zDep'] , $plancher, $plafond);}
+ header ('location: index.php?choixTraitement=param&action=voir&lstParam='.$type);
+ }
+//----------------------------------------- VALIDATION MODIFICATION
+case 'validerModifier':
+ {
+ if ($_REQUEST['zOk']=="OK") {$pdo->majParametre($type, $valeur, addslashes ($_REQUEST['zLibelle']), $_REQUEST['zTerritoire'], $_REQUEST['zDep'], $plancher, $plafond);}
+ header ('location: index.php?choixTraitement=param&action=voir&lstParam='.$type);
+ break;
+ }
+//----------------------------------------- VALIDATION SUPPRESSION
+case 'validerSupprimer':
+ {
+ if ($_REQUEST['zOk']=="OK") {$pdo->supprimeParametre($type, $valeur);}
+ header ('location: index.php?choixTraitement=param&action=voir&lstParam='.$type);
+ break;
+ }
+
+default :
+ {
+ echo 'erreur d\'aiguillage !'.$action;
+ break;
+ }
+}
+?>
\ No newline at end of file
diff --git a/code/classPDO.php b/code/classPDO.php
new file mode 100644
index 0000000..b83dfef
--- /dev/null
+++ b/code/classPDO.php
@@ -0,0 +1,152 @@
+query("SET CHARACTER SET utf8");
+ }
+ public function _destruct()
+ {
+ PdoBD::$monPdo = null;
+ }
+/**
+ * Fonction statique qui cree l'unique instance de la classe PdoBD
+*/
+ public static function getPdoBD()
+ {
+ if(PdoBD::$monPdoBD==null) {PdoBD::$monPdoBD= new PdoBD();}
+ return PdoBD::$monPdoBD;
+ }
+
+/** ---------------------------------------------- module Connexion
+ *
+ * dernière modif le : 09/03/2022 par Pascal Blain
+ * Retourne les informations d'un utilisateur sous la forme d'un tableau associatif
+*/
+ public function getInfosUtilisateur($login,$mdp)
+ {
+ $req = "SELECT uId,uNom,uPrenom,uLogin,uMdp,uAdresse,uCP,uVille,uDateEmbauche,uSecteur,uStatut,uRegion,
+ st.pLibelle as wStatut,s.pLibelle as wSecteur,r.pLibelle as wRegion,uLabo,lNom
+ FROM utilisateur
+ INNER JOIN parametre st ON (st.pType='statUti' AND st.pIndice=uStatut)
+ INNER JOIN parametre r ON (r.pType='region' AND r.pIndice=uRegion)
+ INNER JOIN parametre s ON (s.pType='secteur' AND s.pIndice=uSecteur)
+ INNER JOIN labo ON uLabo=lCode";
+ if ($login==="*")
+ {$req.=" WHERE uId='$mdp';";}
+ else
+ {$req.=" WHERE uLogin='$login'
+ AND uMdp='$mdp';";}
+ //echo $req;
+ $rs = PdoBD::$monPdo->query($req);
+ if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des informations d'un utilisateur...", $req, PdoBD::$monPdo->errorInfo());}
+ $ligne = $rs->fetch();
+ return $ligne;
+ }
+/** ---------------------------------------------- Fin module Connexion
+*/
+
+/** ---------------------------------------------- gestion des PARAMETRES
+/**
+ * Retourne les informations de la table TYPEPARAMETRE
+*/
+ public function getLesParametres()
+ {
+ $req = "SELECT tlId, tlLibelle, tlBooleen, tlChoixMultiple, tlCumul
+ FROM typeParametre
+ ORDER BY tlLibelle;";
+ $rs = PdoBD::$monPdo->query($req);
+ if ($rs === false) {afficherErreurSQL("Probleme lors de la recherche dans la base de données.", $req, PdoBD::$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, pCategorie
+ FROM parametre
+ WHERE pType='$type'
+ ORDER by pIndice;";
+ $rs = PdoBD::$monPdo->query($req);
+ if ($rs === false) {afficherErreurSQL("Probleme lors de la recherche des parametres dans la base de données.", $req, PdoBD::$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';";
+ }
+ $rs = PdoBD::$monPdo->query($req);
+ if ($rs === false) {afficherErreurSQL("Probleme lors de la recherche dans la base de données.", $req, PdoBD::$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;";
+ $rs = PdoBD::$monPdo->exec($req);
+ if ($rs === false) {afficherErreurSQL("Probleme lors de la mise a jour des parametres dans la base de données.", $req, PdoBD::$monPdo->errorInfo());}
+ }
+/**
+ * supprime une ligne de la table PARAMETRE
+*/
+ public function supprimeParametre($type, $valeur)
+ {
+ $req = "DELETE
+ FROM parametre
+ WHERE pType='$type'
+ AND pIndice=$valeur;";
+ $rs = PdoBD::$monPdo->exec($req);
+ if ($rs === false) {afficherErreurSQL("Probleme lors de la suppression d'un parametre dans la base de données.", $req, PdoBD::$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);";
+ $rs = PdoBD::$monPdo->exec($req);
+ if ($rs === false) {afficherErreurSQL("Probleme lors de l'insertion d'un parametre dans la base de données.", $req, PdoBD::$monPdo->errorInfo());}
+ }
+/** ---------------------------------------------- fin gestion des PARAMETRES
+*/
+}
+?>
\ No newline at end of file
diff --git a/code/fonctionsProjet.inc b/code/fonctionsProjet.inc
new file mode 100644
index 0000000..7646314
--- /dev/null
+++ b/code/fonctionsProjet.inc
@@ -0,0 +1,210 @@
+ "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");
+ return $tabMois[$mois];
+}
+
+/* gestion des erreurs*/
+/**
+ * Indique si une valeur est un entier positif ou nul
+ * @param $valeur
+ * @return vrai ou faux
+*/
+function estEntierPositif($valeur)
+{
+ return preg_match("/[^0-9]/", $valeur) == 0;
+}
+
+/**
+ * Indique si un tableau de valeurs est constitué d'entiers positifs ou nuls
+ * @param $tabEntiers : le tableau
+ * @return vrai ou faux
+*/
+function estTableauEntiers($tabEntiers)
+{
+ $ok = true;
+ foreach($tabEntiers as $unEntier)
+ {
+ if(!estEntierPositif($unEntier)){$ok=false;}
+ }
+ return $ok;
+}
+/**
+ * Vérifie si une date est inférieure d'un an à la date actuelle
+ * @param $dateTestee
+ * @return vrai ou faux
+*/
+function estDateDepassee($dateTestee)
+{
+ $dateActuelle=date("d/m/Y");
+ @list($jour,$mois,$annee) = explode('/',$dateActuelle);
+ $annee--;
+ $AnPasse = $annee.$mois.$jour;
+ @list($jourTeste,$moisTeste,$anneeTeste) = explode('/',$dateTestee);
+ return ($anneeTeste.$moisTeste.$jourTeste < $AnPasse);
+}
+/**
+ * Vérifie la validité du format d'une date française jj/mm/aaaa
+ * @param $date
+ * @return vrai ou faux
+*/
+function estDateValide($date){
+ $tabDate = explode('/',$date);
+ $dateOK = true;
+ if (count($tabDate) != 3) {
+ $dateOK = false;
+ }
+ else {
+ if (!estTableauEntiers($tabDate)) {
+ $dateOK = false;
+ }
+ else {
+ if (!checkdate($tabDate[1], $tabDate[0], $tabDate[2])) {
+ $dateOK = false;
+ }
+ }
+ }
+ return $dateOK;
+}
+
+/**
+ * Ajoute le libelle d'une erreur au tableau des erreurs
+ * @param $msg : le libellé de l'erreur
+ */
+function ajouterErreur($msg){
+ if (! isset($_REQUEST['erreurs'])){
+ $_REQUEST['erreurs']=array();
+ }
+ $_REQUEST['erreurs'][]=$msg;
+}
+
+/**
+ * Retoune le nombre de lignes du tableau des erreurs
+ * @return le nombre d'erreurs
+ */
+function nbErreurs(){
+ if (!isset($_REQUEST['erreurs'])){
+ return 0;
+ }
+ else{
+ return count($_REQUEST['erreurs']);
+ }
+}
+
+/** afficherErreurSQL :
+ Affichage de messages lors l'accès à la bdd avec une requete SQL
+ @param $message : message a afficher
+ @param $req : requete executee
+ @param $info : erreur constatee
+*/
+function afficherErreurSQL($message, $req, $info) {
+ echo $message . " ";
+ echo "Requete : " . $req . " ";
+ echo "Code erreur : " . $info[0] . ", Message : " . $info[2];
+ die();
+}
+?>
\ No newline at end of file
diff --git a/code/index.php b/code/index.php
new file mode 100644
index 0000000..582f929
--- /dev/null
+++ b/code/index.php
@@ -0,0 +1,35 @@
+
diff --git a/code/proceduresJava.js b/code/proceduresJava.js
new file mode 100644
index 0000000..a3e37e0
--- /dev/null
+++ b/code/proceduresJava.js
@@ -0,0 +1,248 @@
+// version modifiée le 17 decembre 2013 par Pascal Blain
+var ongletActif=1;
+// ========================= passer le focus à un champ
+function donner_focus(frm,champ) {
+ document.forms[frm].elements[champ].focus();
+ }
+// ========================= fonctions de navigation dans la liste de choix
+function premier(frm, liste) {
+ document.forms[frm].elements[liste].value = document.forms[frm].elements[liste].options[0].value;
+ document.forms[frm].submit();
+ }
+function precedent(frm, liste) {
+ document.forms[frm].elements[liste].value = document.forms[frm].elements[liste].options[Math.max(0,document.forms[frm].elements[liste].selectedIndex-1)].value;
+ document.forms[frm].submit();
+ }
+function suivant(frm, liste) {
+ document.forms[frm].elements[liste].value = document.forms[frm].elements[liste].options[(Math.min((document.forms[frm].elements[liste].options.length-1),document.forms[frm].elements[liste].selectedIndex+1))].value;
+ document.forms[frm].submit();
+ }
+function dernier(frm, liste) {
+ document.forms[frm].elements[liste].value = document.forms[frm].elements[liste].options[(document.forms[frm].elements[liste].options.length-1)].value;
+ document.forms[frm].submit();
+ }
+// =========================
+function faire(frm, action) {
+ document.forms[frm].action.value = action;
+ if(action=="supprimer") {alert("ATTENTION : \n demande de suppression \n cette action est irreversible !");}
+ document.forms[frm].submit();
+ }
+// =========================
+function validerAutre(frm, ordreAc, ordreCe, onglet)
+{
+ document.getElementById("zOrdreAc").value=ordreAc;
+ document.getElementById("zOrdreCe").value=ordreCe;
+ document.getElementById("zOnglet").value=onglet;
+ document.forms[frm].submit();
+}
+// =========================
+function voirListe(type, indice, colonne)
+{
+ document.forms["choixP"].zType.value=type;
+ document.forms["choixP"].zIndice.value=indice;
+ document.forms["choixP"].zColonne.value=colonne;
+ document.forms["choixP"].action.value = "liste";
+ document.forms["choixP"].submit();
+}
+
+// ========================= fonction annulation de saisie ou modification
+function annuler(frm){
+ document.forms[frm].elements["zOk"].value="nonOk";
+ document.forms[frm].submit();
+ }
+
+// ========================= validation des données d'un usager (version 2)
+function validerUsager(frm)
+{ //var champ=frm.elements["ztNom"];
+ if(!verifTexte(frm, frm.elements["ztNom"], 40)) {return false;}
+ else {if(!verifTexte(frm, frm.elements["ztPrenom"], 24)) {return false;}
+ else {if(!verifMail(frm, frm.elements["ztEMail"])) {return false;}
+ else {return true;}
+ }
+ }
+}
+// =========================
+function verifMail(frm, champ)
+{
+ var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
+ if(regex.test(champ.value) || champ.value.length<1)
+ {surligne(champ, false); return true;}
+ else
+ {surligne(champ, true); return false;}
+}
+// ========================= fonctions de controle de validité d'un champ
+function surligne(frm, champ, erreur)
+{
+ if(erreur)
+ {champ.style.backgroundColor = "#f55"; alert("Champ '"+champ.id+"' incorrect ...\nMerci de corriger"); document.getElementById(champ.id).focus(); frm.elements["zOk"].value="nonOk";}
+ else
+ {champ.style.backgroundColor = "#fff"; frm.elements["zOk"].value="OK";}
+}
+
+// ========================= fonctions de controle de validité d'un champ texte (longueur)
+function verifTexte(frm, champ,longueur)
+{
+ if(champ.value.length < 2 || champ.value.length > longueur)
+ {surligne(frm, champ, true); return false;}
+ else
+ {surligne(frm, champ, false); return true;}
+}
+// ========================= fonctions de controle de validité du code postal
+function verifCP(frm, champ)
+{ var str = champ.value;
+ var insee = str.substring(0,5);
+ var dep = str.substring(0,2);
+ var cPostal = str.substring(6,11);
+ var secteur= str.substring(12,16);
+ var ville = str.substring(17,57);
+ var cp = parseInt(cPostal);
+ if(isNaN(cp) || cp < 1000 || cp > 99999) {surligne(frm, champ, true); alert(cp); return false;} //
+ else { surligne(frm, champ, false);
+ frm.elements["ztCP"].value =cPostal;
+ frm.elements["ztVille"].value =ville;
+ frm.elements["ztCommune"].value =insee;
+ frm.elements["departement"].value =dep;
+ if(frm.name="frmUsager")
+ {
+ for (var i=0;i31)) && (ok==1) ) {alert(j+" n'est pas un jour correct..."); laDate.style.backgroundColor="#f55"; ok=false;}
+ if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {alert(m+" n'est pas un mois correct ..."); laDate.style.backgroundColor="#f55"; ok=false;}
+ if ( ((isNaN(a))||(aamax)) && (ok==1) ) {alert(a+" n'est pas une année correcte: utiliser 4 chiffres, \n elle doit être comprise entre "+amini+" et "+amax); laDate.style.backgroundColor="#f55"; ok=false;}
+ if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {alert("Les séparateurs doivent être des "+separateur); laDate.style.backgroundColor="#f55"; ok=false;}
+ if (ok==true) {
+ var d2=new Date(a,m-1,j);
+ j2=d2.getDate();
+ m2=d2.getMonth()+1;
+ a2=d2.getFullYear();
+ if (a2<=100) {a2=1900+a2}
+ if ( (j!=j2)||(m!=m2)||(a!=a2) ) {alert("La date "+d+" n'existe pas !"); laDate.style.backgroundColor="#f55"; ok=false;}
+ }
+ }
+ return ok;
+}
+// ========================= formate un nombre avec 2 chiffres après la virgule et un espace separateur de milliers
+function format_euro(valeur) {
+ var ndecimal=2;
+ var separateur=' ';
+ var deci=Math.round( Math.pow(10,ndecimal)*(Math.abs(valeur)-Math.floor(Math.abs(valeur)))) ;
+ var val=Math.floor(Math.abs(valeur));
+ if ((ndecimal==0)||(deci==Math.pow(10,ndecimal))) {val=Math.floor(Math.abs(valeur)); deci=0;}
+ var val_format=val+"";
+ var nb=val_format.length;
+ for (var i=1;i<4;i++)
+ {
+ if (val>=Math.pow(10,(3*i)))
+ {
+ val_format=val_format.substring(0,nb-(3*i))+separateur+val_format.substring(nb-(3*i));
+ }
+ }
+ if (ndecimal>0)
+ {
+ var decim="";
+ for (var j=0;j<(ndecimal-deci.toString().length);j++) {decim+="0";}
+ deci=decim+deci.toString();
+ val_format=val_format+","+deci;
+ }
+ if (parseFloat(valeur)<0) {val_format="-"+val_format;}
+ return val_format;
+}
+
+// ========================= affiche l'onglet choisi
+ function Affiche(ongletChoisi, nb)
+{
+ for(i=1;i= 0)
+ {
+ while (origine.options.selectedIndex >= 0) /* boucle tant qu'il reste des éléments sélectionnés */
+ {
+ valeur = origine.options[origine.options.selectedIndex].value; /* valeur de l'élément sélectionné */
+ texte = origine.options[origine.options.selectedIndex].text; /* texte de l'élément sélectionné */
+ origine.options[origine.options.selectedIndex] = null; /* suppression de l'element selectione dans la liste d'origine */
+ destination.options[destination.options.length] = new Option(texte, valeur);/* ajout dans la liste destination */
+ }
+ var nbElements=destination.length;
+ var tbl = new Array(nbElements, 2)
+
+ for(ligne=0;ligne
+
+ '.$titre; ?>
+
+ ".$unParametre['tlLibelle']."\n ";
+ $choix = $unParametre['tlId'];
+ $titre1= $unParametre['tlLibelle'];
+ $noP=$i;
+ }
+ else
+ {echo "".$unParametre['tlLibelle']." \n ";
+ $i=$i+1;}
+ }
+ if ($_REQUEST['action']<>"liste") {$action = $_REQUEST['action'];} else {$action = "voir";}
+ echo '
+
+
+
+
+
+ ';
+ ?>
+
+
+
+
+'; ?>
+
+
+
+
+
+
\ No newline at end of file
diff --git a/code/v_connexion.php b/code/v_connexion.php
new file mode 100644
index 0000000..1b0d2bb
--- /dev/null
+++ b/code/v_connexion.php
@@ -0,0 +1,19 @@
+
+ Merci de vous identifier pour accéder aux dossiers
+
+
+ Mot de passe *
+
+
+
+
+
+
+
+
+
diff --git a/code/v_entete.php b/code/v_entete.php
new file mode 100644
index 0000000..c63d87d
--- /dev/null
+++ b/code/v_entete.php
@@ -0,0 +1,47 @@
+
+
+
+ Galaxy Swiss Bourdin
+
+
+
+
+
+
+ ');">
+
+
+
+
+
+
Visites |
+
Praticiens |
+
Statistiques |';
+ if ($_SESSION['statut']==0)
+ {echo '
+
Visiteurs |
+
Parametres |';
+ }
+ else
+ {echo '
+
Mon profil |';
+ }
+ echo '
+
Bienvenue '.$_SESSION['prenom'].' '.strtoupper($_SESSION['nom']).'
+
+ ';
+ }
+?>
+
Gestion des Comptes-Rendus de visites
+
+
+
+
+
\ No newline at end of file
diff --git a/code/v_erreurs.php b/code/v_erreurs.php
new file mode 100644
index 0000000..27418d8
--- /dev/null
+++ b/code/v_erreurs.php
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/code/v_ficheParametre.php b/code/v_ficheParametre.php
new file mode 100644
index 0000000..9db69df
--- /dev/null
+++ b/code/v_ficheParametre.php
@@ -0,0 +1,100 @@
+
+
+ ');
+/*================================================================================================== */
+$nbP=count($lesInfosParametre);
+echo("
+
+
Parametre
+
+ Code Description Booléen Choix multiples
+ ".$enteteParametre['tlId']." ".$enteteParametre['tlLibelle']." ".$enteteParametre['tlBooleen']." ".$enteteParametre['tlChoixMultiple']."
+
+
+
+
+
+
+ Valeurs
+ ");
+ $numPa=1;
+ foreach ($lesInfosParametre as $uneLigne)
+ {
+ if ($numPa<10)
+ {$numPa=$numPa+1;
+ $type = $choix;
+ $indice = $uneLigne['pIndice'];
+
+ echo(" ".$uneLigne['pIndice']." ".$uneLigne['pLibelle']."
+ ");
+
+ echo("
+
+ ");
+ echo ("
+ ");
+ echo ("
+ ");
+ }
+ }
+ while ($numPa<10)
+ {
+ echo(" ");
+ $numPa=$numPa+1;
+ }
+ echo("
+
+ ");
+ if ($nbP>=10)
+ {
+ echo("
+
+ (suite)
+ ");
+ $numP=1;
+ foreach ($lesInfosParametre as $uneLigne)
+ {
+ if ($numP>=10)
+ {
+ $type = $choix;
+ $indice = $uneLigne['pIndice'];
+
+ echo(" ".$uneLigne['pIndice']." ".$uneLigne['pLibelle']."
+ ");
+
+ echo("
+
+ ");
+ echo ("
+ ");
+ echo ("
+ ");
+ }
+ $numP=$numP+1;
+ }
+ if ($numP<10) {$numP=10;}
+ while ($numP<19)
+ {
+ echo(" ");
+ $numP=$numP+1;
+ }
+ echo("
+
+
+ ");
+ }
+ echo("
+
+
+
Observations
+
+
+
+
");
+?>
\ No newline at end of file
diff --git a/code/v_pied.php b/code/v_pied.php
new file mode 100644
index 0000000..42cc26a
--- /dev/null
+++ b/code/v_pied.php
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/code/v_unParam.php b/code/v_unParam.php
new file mode 100644
index 0000000..955528e
--- /dev/null
+++ b/code/v_unParam.php
@@ -0,0 +1,94 @@
+
+
+SUPPRESSION DE LA VALEUR D\'UN PARAMETRE';
+ echo "
+
\ No newline at end of file
diff --git a/icon b/icon
deleted file mode 100644
index e69de29..0000000
diff --git a/icon/Thumbs.db b/icon/Thumbs.db
new file mode 100644
index 0000000000000000000000000000000000000000..a540c29226df53c17a26b457c62df693ff54ba2c
GIT binary patch
literal 171520
zcmeF)2Urxzq5$eakRTvAhe4u>B#|gEDhdK30wMweN{}RsNRFc-Q2_w~B`Q(kh-4&4
zkQ^jS&N&WofMMpZx0Z~~kG
z7r+&81Ka@*z!UHSyn!dcOF#>x1P8IXK#AIc^`q}Gz#D&ZVFYK)FQ+;FJo?|3am&7Y
zWqch3gdou8%SXNk#UH=_W+4Kt&@bD^um5aXn)s6(EQ;U=I06qqDd5Ze-(9HxgYDz%
z!yvvAfdzl={x=KAKLG(qfC%`r`N!8Ad3>b?3qCIXNZ^kNK8-(H|MAC~8lVAaf&Z=k
z<3At%sQ#Y-ak&8=fEU2G0spH0{JZrZ-)7+R{?F<^zKyvH+ynkh{l~W>_%`5=>Oa0M!M6c_w*KSWlE(lAfIkPW
zfck*@h8u@at177|K?uM}br-*bxFJwQ2#*}W{|^=-@c&WLqeqE|jvgZ+Att3bMnOS-
zjGUbEI4w2hahl`gqlF?I=Q_}z2
z3+^+7h7`2z>@jLwULU07^BQXgn*)ehupb*qh0z$$g
zM1=Ug2BE#c`w$|UqqHZ)E)vse-Xr0*r$757>>Vl3rMzket