Premiere Partie

This commit is contained in:
“Louis 2022-04-07 10:06:09 +02:00
commit 53eabca315
72 changed files with 2754 additions and 0 deletions

View File

@ -0,0 +1,57 @@
<?php
// ****************************************'
// Le CASTEL-BTS SIO/ PROJET GSB PPE2 2020'
// Programme: c_connexion.php '
// Objet : authentification '
// Client : Bts SIO1 '
// Version : 22.03 '
// Date : 09/03/2022 à 19h07 '
// Auteur : pascal.blain@ac-dijon.fr '
//*****************************************'
if(!isset($_REQUEST['action'])){$_REQUEST['action'] = 'demandeConnexion';}
$action = $_REQUEST['action'];
switch($action){
case 'demandeConnexion':{
session_unset();
unset($choix);
$formulaire = "frmIdentification";
$champ = "login";
include("vues/v_entete.php");
include("vues/v_connexion.php");
break;
}
case 'valideConnexion':{
$login = $_REQUEST['login'];
$mdp = $_REQUEST['mdp']; //md5($_REQUEST['mdp']);
$utilisateur = $pdo->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=utilisateur&action=voir');
}
break;
}
default :{
$formulaire ="frmIdentification";
$champ ="login";
include("vues/v_entete.php");
include("vues/v_connexion.php");
break;
}
}
?>

79
controleurs/c_param.php Normal file
View File

@ -0,0 +1,79 @@
<?php
// ****************************************'
// Le CASTEL-BTS SIO/ PROJET démonstration'
// Programme: c_param.php '
// Objet : gestion des parametres '
// Client : Bts SIO1 '
// Version : 22.03 '
// Date : 09 mars 2022 à 19H51 '
// Auteur : pascal-blain@wanadoo.fr '
//*****************************************'
$action = $_REQUEST['action'];
if (!isset($_REQUEST['type'])) {$type = '*';} else {$type =$_REQUEST['type'];}
if (!isset($_REQUEST['valeur'])) {$valeur = '*';} else {$valeur =$_REQUEST['valeur'];}
if (!isset($_REQUEST['zPlancher'])) {$plancher = 0;} else {$plancher =intval($_REQUEST['zPlancher']);}
if (!isset($_REQUEST['zPlafond'])) {$plafond = 0;} else {$plafond =intval($_REQUEST['zPlafond']);}
if (!isset($_REQUEST['zType'])) {$zType = '*';} else {$zType =$_REQUEST['zType'];}
if (!isset($_REQUEST['zIndice'])) {$indice = '*';} else {$indice =$_REQUEST['zIndice'];}
switch($action) {
case 'voir':
{
include("vues/v_entete.php");
$lesParametres=$pdo->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;
}
}
?>

View File

@ -0,0 +1,83 @@
<?php
// ****************************************'
// Le CASTEL-BTS SIO/ PROJET GSB PPE2 '
// Programme: c_praticien.php '
// Objet : gestion des praticiens '
// Client : Bts SIO1 '
// Version : 22.03 '
// Date : 09/03/2022 à 20h00 '
// Auteur : Pascal.Blain@ac-dijon.fr '
//*****************************************'
$action = $_REQUEST['action'];
switch($action) {
case 'voir':
{
$formulaire ="choixP";
$champ ="lstPraticiens";
include("vues/v_entete.php");
$region=$_SESSION['region'];
$lesLignes =$pdo->getLesPraticiens($region);
include("vues/v_choixPraticien.php");
$lesInfosPraticien = $pdo->getInfosPraticien($choix);
$lesVisitesPraticien = $pdo->getLesVisitesPraticien($choix);
include("vues/v_fichePraticien.php");
break;
}
//----------------------------------------- FORMULAIRE DE SAISIE
case 'ajouter':
case 'modifier':
case 'supprimer':
{
$formulaire ="frmA";
$champ ="ztNom";
include("vues/v_entete.php");
$choix= $_REQUEST['lstPraticiens'];
$lesInfosPraticien = $pdo->getInfosPraticien($choix);
$lesRegions = $pdo->getParametre("region");
$lesTypesPraticien = $pdo->getLesTypesPraticien();
include("vues/v_unPraticien.php");
break;
}
//----------------------------------------- VALIDATION
case 'validerAjouter':
case 'validerModifier':
case 'validerSupprimer':
{
(isset($_REQUEST['praticien']))?$valeur=$_REQUEST['praticien']:$valeur='erreur';
if ($_REQUEST['zOk']=="OK")
{
if ($action==="validerSupprimer")
{
$pdo->supprimePraticien($valeur);
header ('location: index.php?choixTraitement=praticien&action=voir');
break;
}
else
{
$nom = addslashes ($_REQUEST['ztNom']);
$prenom = addslashes ($_REQUEST['ztPrenom']);
$adresse = addslashes ($_REQUEST['ztAdresse']);
if (strlen($_REQUEST['ztCP'])>1) {$cp = $_REQUEST['ztCP'];} else {$cp = "Null";}
$ville = addslashes ($_REQUEST['ztVille']);
$coefNotoriete = addslashes ($_REQUEST['ztCoefNotoriete']);
$typePraticien = addslashes($_REQUEST['ldrTypePraticien']);
$region = addslashes($_REQUEST['ldrRegion']);
if ($action==="validerAjouter")
{ $valeur=$pdo->nouveauCodePraticien();
$pdo->ajoutPraticien($valeur,$nom,$prenom,$adresse,$cp,$ville,$coefNotoriete,$typePraticien,$region);}
else
{$pdo->majPraticien($valeur,$nom,$prenom,$adresse,$cp,$ville,$coefNotoriete,$typePraticien,$region);}
}
}
header ('location: index.php?choixTraitement=praticien&action=voir&lstPraticiens='.$valeur);
break;
}
//-----------------------------------------
default :
{
echo 'erreur d\'aiguillage !'.$action;
break;
}
}
?>

View File

@ -0,0 +1,107 @@
<?php
// ****************************************'
// Le CASTEL-BTS SIO/ PROJET GSB PPE2 2020'
// Programme: c_utilisateur.php '
// Objet : gestion des utilisateurs '
// Client : Bts SIO1 '
// Version : 22.03 '
// Date : 09/03/2022 à 19h18 '
// Auteur : pascal.blain@ac-dijon.fr '
//*****************************************'
$action = $_REQUEST['action'];
switch($action) {
case 'voir':
{
$formulaire ="choixP";
$champ ="lstUtilisateur";
include("vues/v_entete.php");
if ($_SESSION['statut']==0)
{
$lesLignes =$pdo->getLesUtilisateurs();
include("vues/v_choixUtilisateur.php");
}
else
{
$choix=$_SESSION['idUtilisateur'];
}
$lesInfosUtilisateur= $pdo->getInfosUtilisateur("*",$choix);
$lesVisités = $pdo->getLesVisités($choix);
include("vues/v_ficheUtilisateur.php");
break;
}
//----------------------------------------- FORMULAIRE DE SAISIE
case 'ajouter':
case 'modifier':
case 'supprimer':
{
$formulaire ="frmA";
$champ ="ztNom";
include("vues/v_entete.php");
$choix= $_REQUEST['lstUtilisateurs'];
$lesInfosUtilisateur= $pdo->getInfosUtilisateur("*",$choix);
$lesStatuts = $pdo->getParametre("statUti");
$lesRegions = $pdo->getParametre("region");
$lesLabos = $pdo->getLesLabos();
include("vues/v_unUtilisateur.php");
break;
}
//----------------------------------------- VALIDATION
case 'validerAjouter':
case 'validerModifier':
case 'validerSupprimer':
{
(isset($_REQUEST['utilisateur']))?$valeur=$_REQUEST['utilisateur']:$valeur=$_SESSION['idUtilisateur'];
if (!strlen($valeur)==3){$valeur=$_SESSION['idUtilisateur'];}
if ($_REQUEST['zOk']=="OK")
{
if ($action==="validerSupprimer")
{$pdo->supprimeUtilisateur($valeur);$valeur=$_SESSION['idUtilisateur'];}
else
{
$nom = addslashes ($_REQUEST['ztNom']);
$prenom = addslashes ($_REQUEST['ztPrenom']);
$statut = $_REQUEST['ldrStatut'];
$login = $_REQUEST['ztLogin'];
$region = substr($_REQUEST['ldrRegion'],0, strpos($_REQUEST['ldrRegion'],"*"));
$secteur = substr($_REQUEST['ldrRegion'],strpos($_REQUEST['ldrRegion'],"*")+1,strlen($_REQUEST['ldrRegion'])-1);
//$mdp = md5($_REQUEST['ztMdp']);
$mdp = $_REQUEST['ztMdp'];
if($_REQUEST['brMdp']==0 AND $action==="validerModifier") {$mdp="*";}
$adresse = addslashes ($_REQUEST['ztAdresse']);
if (strlen($_REQUEST['ztCP'])>1) {$cp = $_REQUEST['ztCP'];} else {$cp = "Null";}
$ville = addslashes ($_REQUEST['ztVille']);
$labo = $_REQUEST['ldrLabo'];
if ($action==="validerAjouter")
{$valeur=$pdo->nouveauCodeUtilisateur($nom);
$pdo->ajoutUtilisateur($valeur,$nom,$prenom,$statut,$login,$mdp,$adresse,$cp,$ville,$region,$secteur,$labo);
$sujet = "nouveau compte";
$msg = "Bonjour ".$prenom." ".$nom.", \r\nLe Castel vient de créer un compte pour vous ...\r\n";
}
else
{$pdo->majUtilisateur($valeur,$nom,$prenom,$statut,$login,$mdp,$adresse,$cp,$ville,$region,$secteur,$labo);
$sujet = "nouveau mot de passe";
$msg = "Bonjour ".$prenom." ".$nom.", \r\nLe Castel vient de modifier votre mot de passe ...\r\n";
}
$entete = "From: Pascal Blain <pascal.blain@ac-dijon.fr>\r\n";
$entete .= "Mime-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=utf-8\r\n";
$entete .= "\r\n";
$msg .= "Statut : ".$statut."\r\n";
$msg .= "Identifiant : ".$login."\r\n";
$msg .= "Mot de passe : ".$_REQUEST['ztMdp']."\r\n";
//$pdo->envoyerMail($mail, $sujet, $msg, $entete);
}
}
header ('location: index.php?choixTraitement=utilisateur&action=voir&lstUtilisateurs='.$valeur);
break;
}
//-----------------------------------------
default :
{
echo 'erreur d\'aiguillage !'.$action;
break;
}
}
?>

13
controleurs/c_visite.php Normal file
View File

@ -0,0 +1,13 @@
<?php
// ****************************************'
// Le CASTEL-BTS SIO/ PROJET GSB PPE2 '
// Programme: c_visite.php '
// Objet : gestion rapports de visites '
// Client : Bts SIO1 '
// Version : 22.03 '
// Date : 25/03/2022 à 10h57 '
// Auteur : Pascal.Blain@ac-dijon.fr '
//*****************************************'
?>

View File

@ -0,0 +1,210 @@
<?php
/**
* Fonctions php pour l'application
* @version 22.03 version MVC modifiee le 09 mars 2022 par Blain Pascal
*/
/**
* Teste si un utilisateur est connecté (retourne vrai ou faux)
*/
function estConnecte(){
return isset($_SESSION['idUtilisateur']);
}
/**
* Enregistre dans des variables de session les informations d'un utilisateur
*/
function connecter($id, $nom, $prenom, $statut, $region){
$_SESSION['idUtilisateur'] = $id;
$_SESSION['nom'] = $nom;
$_SESSION['prenom'] = $prenom;
$_SESSION['statut'] = $statut;
$_SESSION['region'] = $region;
}
/**
* Detruit la session active
*/
function deconnecter(){
session_destroy();
}
/**
* envoyer un message electronique
*/
function envoyerMail($mail, $sujet, $msg, $entete)
{
if (mail($mail, $sujet, $msg, null)==false)
{ echo 'Suite à un probl&agrave;me technique, votre message n a pas &acute;t&acute; envoy&acute; a '.$mail.' sujet'.$sujet.'message '.$msg.' entete '.$entete;}
}
/**
* Transforme une date au format français jj/mm/aaaa vers le format anglais aaaa-mm-jj
* @param $madate au format jj/mm/aaaa
* @return la date au format anglais aaaa-mm-jj
*/
function dateFrancaisVersAnglais($maDate){
if(estDateValide($maDate)== true)
{
@list($jour,$mois,$annee) = explode('/',$maDate);
return date('Y-m-d',mktime(0,0,0,$mois,$jour,$annee));
}
else
{
return null;
}
}
/**
* Transforme une date au format format anglais aaaa-mm-jj vers le format français jj/mm/aaaa
* @param $madate au format aaaa-mm-jj
* @return la date au format format français jj/mm/aaaa
*/
function dateAnglaisVersFrancais($maDate)
{
@list($annee,$mois,$jour)=explode('-',$maDate);
$date="$jour"."/".$mois."/".$annee;
return $date;
}
/**
* retourne le mois au format aaaamm selon le jour dans le mois
* @param $date au format jj/mm/aaaa
* @return le mois au format aaaamm
*/
function getMois($date){
@list($jour,$mois,$annee) = explode('/',$date);
if(strlen($mois) == 1){
$mois = "0".$mois;
}
return $annee.$mois;
}
/**
* retourne la date en texte
*/
function dateTexte($laDate){
$NomDuJour = array ("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
$NomDuMois = array ("janvier", "f&eacute;vrier", "mars", "avril", "mai", "juin", "juillet", "ao&ucirc;t", "septembre", "octobre", "novembre", "d&eacute;cembre");
$lejour = date("j",$laDate);
$lemois = $NomDuMois[date("n",$laDate)-1];
$dateTexte=$NomDuJour[date("w",$laDate)]." ";
if($lejour==01){$dateTexte.=' 1er '; }
else {$dateTexte.=$lejour.' ';}
$dateTexte.=$lemois.' '.date('Y', $laDate);
return $dateTexte;
}
/**
* retourne le mois en texte
*/
function moisTexte($mois){
$tabMois = array( '01' => "Janvier",
'02' => "F&eacute;vrier",
'03' => "Mars",
'04' => "Avril",
'05' => "Mai",
'06' => "Juin",
'07' => "Juillet",
'08' => "Ao&ucirc;t",
'09' => "Septembre",
'10' => "Octobre",
'11' => "Novembre",
'12' => "D&eacute;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 &agrave; 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 . "<br />";
echo "Requete : " . $req . "<br />";
echo "Code erreur : " . $info[0] . ", Message : " . $info[2];
die();
}
?>

BIN
images/Thumbs.db Normal file

Binary file not shown.

BIN
images/add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
images/ajout.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
images/ajouter.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
images/ajoutmembre.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
images/alerte moyen.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
images/alerte.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
images/alerte.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
images/alerte_petit.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
images/annuler.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
images/bt-print.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

BIN
images/bt-send.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 B

BIN
images/cocheB.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
images/cocheR.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
images/cocheV.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
images/cp.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 B

BIN
images/danger.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

BIN
images/deconnexion.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

BIN
images/editer.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
images/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
images/favicon.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
images/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
images/fermer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
images/fleche_oblique.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

BIN
images/goDernier.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

BIN
images/goPrecedent.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

BIN
images/goPremier.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 B

BIN
images/goSuivant.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 B

BIN
images/group.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
images/imprimer.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
images/infobulle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 B

BIN
images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

BIN
images/logoGSB.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

BIN
images/modif.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
images/picto_disconnect.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

BIN
images/plus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
images/plusB.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
images/plusBleu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
images/plusGrand.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
images/recherche.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 879 B

BIN
images/recherche2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
images/recherche3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
images/rechercher.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
images/supprimer.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
images/supprimer.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
images/users.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
images/validation.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
images/valider.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

35
index.php Normal file
View File

@ -0,0 +1,35 @@
<?php
session_start();
// ****************************************'
// Le CASTEL-BTS SIO/ PROJET GSB PPE2 '
// Programme: index.php '
// Objet : page principale '
// Client : Bts SIO1 '
// Version : 22.03 '
// Date : 09/03/2022 à 19h00 '
// Auteur : pascal.blain@ac-dijon.fr '
//*****************************************'
require_once("controleurs/fonctionsProjet.inc");
require_once ("modele/classPDO.php");
$pdo = PdoBD::getPdoBD();
$estConnecte = estConnecte();
// on vérifie que l'utilisateur est authentifié
if(!isset($_REQUEST['choixTraitement']) || !$estConnecte){$_REQUEST['choixTraitement'] = 'connexion';}
// on analyse le cas d'utilisation en cours ...
$choixTraitement= $_REQUEST['choixTraitement'];
switch($choixTraitement)
{
case 'connexion' : {include("controleurs/c_connexion.php");break;}
case 'visite' : {include("controleurs/c_visite.php");break;}
case 'praticien' : {include("controleurs/c_praticien.php");break;}
case 'statistiques' : {include("controleurs/c_statistiques.php");break;}
case 'param' : {include("controleurs/c_param.php");break;}
case 'utilisateur' : {include("controleurs/c_utilisateur.php");break;}
default : {echo 'erreur d\'aiguillage !'.$choixTraitement;break;}
}
include("vues/v_pied.php") ;
?>

353
modele/classPDO.php Normal file
View File

@ -0,0 +1,353 @@
<?php
/**
* @author :Pascal BLAIN, lycee le castel à Dijon
* @version :2022-03-31
* Classe d'acces aux donnees. Utilise les services de la classe PDO pour l'application
* Les attributs sont tous statiques, les 4 premiers pour la connexion
* $monPdo est de type PDO - $monPdoBD contient l'unique instance de la classe
* @link http://www.php.net/manual/fr/book.pdo.php
*/
class PdoBD
{
private static $serveur='mysql:host=localhost';
private static $bdd='dbname=gsb2022';
private static $user='sio';
private static $mdp='Sio2023';
private static $monPdo;
private static $monPdoBD=null;
private function __construct()
{
PdoBD::$monPdo = new PDO(PdoBD::$serveur.';'.PdoBD::$bdd, PdoBD::$user, PdoBD::$mdp);
PdoBD::$monPdo->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
/** ---------------------------------------------- module gestion des UTILISATEURS
* Retourne les informations des UTILISATEURS
*/
public function getLesUtilisateurs()
{
$req = "SELECT uId,uNom,uPrenom,uLogin,uMdp,uStatut
FROM utilisateur
ORDER BY uNom,uPrenom;";
$rs = PdoBD::$monPdo->query($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des &eacute;l&grave;ves ..", $req, PdoBD::$monPdo->errorInfo());}
$lesLignes = $rs->fetchAll();
return $lesLignes;
}
/**
* Retourne les informations des praticiens visités par un visiteur médical
*/
public function getLesVisités($choix)
{
$req = "SELECT p.pNum,pNom,pPrenom,pVille,count(*) as nbVisites
FROM praticien p INNER JOIN visite v ON p.pNum=v.pNum
WHERE uId='$choix'
GROUP BY p.pNum,pNom,pPrenom,pVille
ORDER BY pNom,pPrenom;";
//echo $req;
$rs = PdoBD::$monPdo->query($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des informations des praticiens visit&eacute;s...", $req, PdoBD::$monPdo->errorInfo());}
$lesLignes = $rs->fetchAll();
return $lesLignes;
}
/**
* Retourne les informations des labos
*/
public function getLesLabos()
{
$req = "SELECT lCode, lNom
FROM labo
ORDER BY lNom;";
//echo $req;
$rs = PdoBD::$monPdo->query($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des informations des labos...", $req, PdoBD::$monPdo->errorInfo());}
$lesLignes = $rs->fetchAll();
return $lesLignes;
}
/**
* Met à jour une ligne de la table utilisateur
*/
public function majUtilisateur($valeur,$nom,$prenom,$statut,$login,$mdp,$adresse,$cp,$ville,$region,$secteur,$labo)
{
$req = "UPDATE utilisateur SET
uNom='$nom', uPrenom='$prenom', uStatut=$statut, uLogin='$login', uAdresse='$adresse',
uCP=$cp, uVille='$ville', uRegion=$region, uSecteur=$secteur, ulabo='$labo', uDateModif=NOW()";
if ($mdp<>"*") {$req.= ",uMdp='$mdp' ";}
$req.=" WHERE uId='$valeur';";
$rs = PdoBD::$monPdo->exec($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de la mise à jour de l'utilisateur dans la base de donn&eacute;es.", $req, PdoBD::$monPdo->errorInfo());}
}
/**
* supprime une ligne de la table utilisateur
*/
public function supprimeUtilisateur($valeur)
{
$req = "DELETE
FROM utilisateur
WHERE uId='$valeur';";
$rs = PdoBD::$monPdo->exec($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de la suppression de l'utilisateur dans la base de donn&eacute;es.", $req, PdoBD::$monPdo->errorInfo());}
}
/**
* ajoute une ligne dans la table utilisateur
*/
public function nouveauCodeUtilisateur($nom)
{
$req = "SELECT if( isnull( max(cast(SUBSTRING(uid, 2, length(uid)-1) as unsigned integer)) ) , 1, max(cast(SUBSTRING(uid, 2, length(uid)-1) as unsigned integer))+1) as num
FROM utilisateur
WHERE LEFT(uId, 1) ='$nom[0]';";
$rs = PdoBD::$monPdo->query($req);
if($rs === false){afficherErreurSQL("Acces impossible a la table utilisateur. ", $req, PdoBD::$monPdo->errorInfo());}
$ligne=$rs->fetch();
return $nom[0].strval($ligne['num']);
}
public function ajoutUtilisateur($valeur,$nom,$prenom,$statut,$login,$mdp,$adresse,$cp,$ville,$region,$secteur,$labo)
{
$req = "INSERT INTO utilisateur (uId,uNom,uPrenom,uStatut,uLogin,uMdp,uAdresse,uCP,uVille,uRegion,uSecteur,uLabo,uDateEnreg,uDateModif)
VALUES
('$valeur','$nom','$prenom',$statut,'$login','$mdp','$adresse',$cp,'$ville',$region,$secteur,'$labo', NOW(),NOW());";
$rs = PdoBD::$monPdo->exec($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de l'insertion de l'utilisateur dans la base de donn&eacute;es.", $req, PdoBD::$monPdo->errorInfo());}
}
/** ---------------------------------------------- fin module gestion des UTILISATEURS
/** ---------------------------------------------- module gestion des praticiens
* Retourne les informations des praticiens
*/
public function getLesPraticiens($region)
{
$req = "SELECT distinct p.pNum,pNom,pPrenom,region,count(vNum) as nbVisites
FROM praticien p LEFT JOIN visite v ON (p.pNum=v.pNum";
($_SESSION['region']==0)?$req.=") group by pNom,pPrenom,p.pNum,region;":$req.=" and uId='".$_SESSION['idUtilisateur']."') WHERE region = $region group by pNom,pPrenom,p.pNum,region;";
$rs = PdoBD::$monPdo->query($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des praticiens ..", $req, PdoBD::$monPdo->errorInfo());}
$lesLignes = $rs->fetchAll();
return $lesLignes;
}
/**
* Retourne les informations d'un praticien sous la forme d'un tableau associatif
*/
public function getInfosPraticien($idfP)
{
$req = "SELECT pNum,pNom,pPrenom,pRue,pCP,pVille,pCoefNotoriete,p.tCode,tp.tLibelle as wTypeLibelle,p.region,r.plibelle as wRegion
FROM praticien p
INNER JOIN type_praticien tp ON tp.tCode = p.tCode
INNER JOIN parametre r ON (r.pType='region' AND r.pIndice=p.region)
WHERE pNum='$idfP'
";
$rs = PdoBD::$monPdo->query($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des informations d'un praticien...", $req, PdoBD::$monPdo->errorInfo());}
$ligne = $rs->fetch();
return $ligne;
}
/**
* Retourne les informations des visites chez un praticien sous la forme d'un tableau associatif
*/
public function getLesVisitesPraticien($idP)
{
$req = "SELECT v.uId,vNum,DATE_FORMAT(vDate,'%d/%m/%Y') as wDateVisite,uNom as wNomVisiteur, vRapport, vMotif
FROM visite v
INNER JOIN utilisateur u ON u.uId = v.uId
WHERE pNum='$idP'
ORDER BY vDate desc;";
$rs = PdoBD::$monPdo->query($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des praticiens ..", $req, PdoBD::$monPdo->errorInfo());}
$lesLignes = $rs->fetchAll();
return $lesLignes;
}
/**
* Retourne les informations des types praticien
*/
public function getLesTypesPraticien()
{
$req = "SELECT tCode, tLibelle
FROM type_praticien
ORDER BY tLibelle;";
$rs = PdoBD::$monPdo->query($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des informations des types de praticien...", $req, PdoBD::$monPdo->errorInfo());}
$lesLignes = $rs->fetchAll();
return $lesLignes;
}
/**
* Met à jour une ligne de la table praticien
*/
public function majPraticien($valeur,$nom,$prenom,$adresse,$cp,$ville,$coefNotoriete,$type,$region)
{
$req = "UPDATE praticien SET
pNom='$nom', pPrenom='$prenom', pRue='$adresse',
pCP=$cp, pVille='$ville', region='$region', tCode='$type', pCoefNotoriete='$coefNotoriete'";
$req.=" WHERE pNum='$valeur';";
$rs = PdoBD::$monPdo->exec($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de la mise à jour de l'utilisateur dans la base de donn&eacute;es.", $req, PdoBD::$monPdo->errorInfo());}
}
/**
* Supprime une ligne de la table praticien
*/
public function supprimePraticien($valeur)
{
$req = "DELETE
FROM praticien
WHERE pNum='$valeur';";
$rs = PdoBD::$monPdo->exec($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de la suppression du praticien dans la base de donn&eacute;es.", $req, PdoBD::$monPdo->errorInfo());}
}
/**
* Ajoute une ligne dans la table praticien
*/
public function nouveauCodePraticien()
{
$req="SELECT if( isnull( max(pNum) ) , 1, max(pNum)+1 ) AS numNouveau from praticien;";
$rs = PdoBD::$monPdo->query($req);
if($rs === false){afficherErreurSQL("Acces impossible a la table praticien. ", $req, PdoBD::$monPdo->errorInfo());}
$ligne=$rs->fetch();
return $ligne['numNouveau'];
}
public function ajoutPraticien($valeur,$nom,$prenom,$adresse,$cp,$ville,$coefNotoriete,$typePraticien,$region)
{
$req = "INSERT INTO praticien (pNum,pNom,pPrenom,pRue,pCP,pVille,pCoefNotoriete,tCode,region)
VALUES
('$valeur','$nom','$prenom','$adresse','$cp','$ville','$coefNotoriete','$typePraticien','$region');";
$rs = PdoBD::$monPdo->exec($req);
if ($rs === false) {afficherErreurSQL("Probleme lors de l'insertion du praticien dans la base de donn&eacute;es.", $req, PdoBD::$monPdo->errorInfo());}
}
/** ---------------------------------------------- fin module gestion des praticiens
/** ---------------------------------------------- module gestion des visites
/**
*
*/
/** ---------------------------------------------- fin module gestion des visites
/** ---------------------------------------------- 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&eacute;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&eacute;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&eacute;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&eacute;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&eacute;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&eacute;es.", $req, PdoBD::$monPdo->errorInfo());}
}
/** ---------------------------------------------- fin gestion des PARAMETRES
}
?>

501
styles/styles.css Normal file
View File

@ -0,0 +1,501 @@
/* Styles des divisions principales de la page */
#navigation {
position: relative;
float: right;
top : -2.75em;
right: 2em;
padding: 0em;
color: rgb(0,85,227);
}
#sommaire {
float: right;
margin-top : 20px;
margin-right: -20px;
padding: 0em;
color: rgb(0,85,227);
}
#sommaire ul {
padding:0;
margin:0;
list-style-type:none;
}
#sommaire li
{
vertical-align: middle;
margin-left:2px;
float:left; /*pour IE*/
}
#sommaire ul li a
{
vertical-align: middle;
display:block;
float:left;
width:80px;
text-decoration:none;
text-align:center;
/*background-color:#6495ED;
color:black;
//padding:5px;
border-width:2px;
border-style:solid;
border-color:#DCDCDC #696969 #696969 #DCDCDC; /*pour avoir un effet "outset" avec IE */
}
#sommaire ul li a:hover
{
color: purple; /*rgb(0,85,227);*/
font-size: 16px;
/*background-color:#D3D3D3;
border-color: #696969 #DCDCDC #DCDCDC #696969; */
}
#sommaire ul li ul {
display:none;
}
#sommaire ul li:hover ul {
display:block;
}
#sommaire li:hover ul li {
float:none;
}
#sommaire li ul {
position:absolute;
}
#stats {
position: absolute;
top: 1em;
left: 0.5em;
background-color: #ffff00;
font-size:0.75em;
}
body{
background-color: #77AADD;
//background-image: url(imgs/FONDGLOBAL.jpg);
background-repeat: repeat-x;
margin:0% 0%;
padding : 0.6em;
font-family:"Trebuchet MS",Verdana,Geneva,Arial,Helvetica,sans-serif;
font-size:0.8em;
}
#page {
background-color:white;
width : 65%;
margin : auto ;
border : 0.2em solid black;
padding : 0.1em;
}
#entete{
background-color:rgb(72,198,236);
color : #980101;
border: solid 0.1em #980101;
height: 122px;
padding: 0em;
border-collapse: separate;
}
#pied{
clear : both;
border : solid 0.2em #980101;
margin-left : 18%;
margin-top : 1em;
padding:0.4em;
padding: 0.2em;
border-collapse: separate;
}
#menu{
position: relative;
float:right;
right: 0px;
margin-top : -240px;
margin-left: -10px;
padding: 0em;
background-color:transparent;
color: rgb(0,85,227);
width: 160px;
}
#contenu{
border: none;
padding: 1.1em;
background-color: white;
border-left : groove 0.8em #980101;
margin-top : 1.1em;
margin-left: 162px; /*18%; */
/* permet de fixer une hauteur mini sur les navigateurs modernes */
min-height:27em;
/* pour obtenir le même effet sur IE, sachant que si le contenu dépasse, il "poussera" la hauteur en ne respectant pas la norme. On se joue de ses lacunes */
height:27em;
}
/* pour rétablir le mauvais effet sur les nav. modernes */
html>body #contenu{
height:auto;
}
/* style à appliquer à la balise ul d'identifiant menulist */
ul#menuList{
list-style:none;
margin:0px;
padding:0px;
width:98%;
font-size: 1em;
}
/* style à appliquer aux éléments de la balise ul d'identifiant menulist */
ul#menuList li {
position:relative;
margin:0px;
padding:0px;
}
/* apparences des liens dans listes et sous-listes non numérotées */
ul#menuList a {
color:rgb(0,85,227);
display:block;
text-decoration:none;
width:100%;
}
ul#menuList a:hover {
background: rgb(0,85,227);
color: white;
}
#entete #logo {
float : left;
width : 160px;
height : 122px;
}
#entete h1 {
margin-top : 50px;
margin-right: 20px;
font-size : x-large;
text-align: right;
}
#contenu pre {
width:95%;
overflow : scroll;
}
#contenu h2 {
font-size : large;
text-align:left;
margin:0;
margin-bottom:0.5em;
}
.logoValidW3c {
display: inline;
}
#libValidW3c{
display : inline;
vertical-align:middle;
}
/* Style des formulaires */
.corpsForm {
border : solid 0.1em #000;
border-bottom-width:1px;
margin-bottom : 0em;
width : 95%;
}
.piedForm {
border-bottom-width : 0.1em;
border-left-width : 0.1em;
border-right-width : 0.1em;
border-top-width : 0em;
border-style : solid;
border-color : #000;
text-align:right ;
width : 95%;
margin-top:0em;
}
form {
margin-bottom:1em;
}
.corpsForm legend {
font-weight:bold;
font-size:1.2em;
}
.corpsForm label{
float: left;
text-align:right;
width:33%;
margin: 0;
padding: 0 .5em 0 0;
line-height: 1.8;
}
input, button, textarea, select{
font-family:"Trebuchet MS", sans-serif;
font-size : 1em;
}
input:focus{
background-color: #ECB2E4;
}
button{
width : 60px;
height : 30px;
text-align:center;
vertical-align:middle;
}
input:hover, textarea:hover, select:hover{
background-color : #FAFAE6;
cursor : pointer;
}
.controle {
width:75px;
}
.controleLong {
width:195px;
}
.stNb {
width:40px;
text-align:center;
}
.stNb a:link {
color: red;
}
.stTitre {
width:40px;
text-align:center;
font-weight: bold;
}
.stTitre2 {
width:80px;
text-align:center;
font-weight: bold;
}
/* Le texte des messages d'erreur est de couleur rose sur fond ocre et de
taille de caractères légèrement supérieure à la normale */
.erreur{
background-color:rgb(237,210,229);
color:rgb(203,28,128);
font-size:1.1em;
margin-left:200px;
width:75%;
}
.centre {
text-align:center;
}
.info {
background-color:rgb(178,207,81);
color : white;
font-size:1.1em;
width : 95%
}
.encadre {
border : solid 0.1em #000;
width : 100%;
}
/* Style pour les liens de la page principale */
#contenu .corpsTexte {
width:80%;
font-size:1.2em;
}
/* Style pour les liens de la page principale */
#contenu a {
font-size : 1.1em;
color:gray;
text-decoration:none;
}
#contenu a:hover {
text-decoration:underline;
background-color : #D9BB7A;
font-size : 1em;
}
/* Style pour les parties importantes de la page principale */
#contenu strong {
font-weight:bold;
}
/* Styles pour les tableaux de la page principale */
#contenu table {
background-color:#FFF;
border : 0.1em solid #777777;
color:black;
margin-right : auto ;
margin-left:0.2em;
border-collapse : collapse;
}
/* Style pour les lignes d'en-tête des tableaux */
#contenu th {
background-color:#E9F1FE; //bleu clair ou bleu plus soutenu : #77AADD;
width: 130px;
height: 21px;
text-align: left;
vertical-align:top;
/*font-weight:bold;*/
border-bottom:0.1em solid #777777;
//font-size:1.1em;
}
#contenu td {
border :1px solid #777777;
//font-size:1.1em;
}
#contenu h3 {
font-size : 1.2em;
}
table{
width:100%;
border-collapse:collapse;
}
fieldset{
border-radius : 12px;
border:2px solid ;
border-color: purple;
}
legend{
font-size: 20px;
}
table.listeLegere {
margin-bottom : 0.3em;
}
table.stats {
width: 150px;
border-collapse:collapse;
}
table.stats th {
border : dotted rgb(178,207,81) 0.1em;
background-color:#E9F1FE; //bleu clair
padding: 0em;
text-align: center;
vertical-align : top;
witdh: 33%;
}
table.stats td {
border : dotted rgb(178,207,81) 0.1em;
padding: 0em;
text-align: center;
vertical-align : top;
witdh: 33%;
}
/* Tableaux quadrillés utilisés pour l'affichage de listes avec contenu léger*/
table.listeLegere th, table.listeLegere td {
border : dotted rgb(178,207,81) 0.1em;
padding:0.2em;
vertical-align : top;
}
table.listeLegere caption {
font-size : 1.1em;
text-align : left;
margin-bottom : 0.2em;
}
table.listeLegere td {
width: 100px;
vertical-align:top;
font-weight:normal;
}
#contenu h2 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
color: #1D2941;
text-decoration: none;
border : 1px solid #6988BE;
padding-left: 25px;
background-color: #E9F1FE;
height : 28px;
}
#contenu img {
height : 21px;
border-style: none;
float : left;
}
#contenu li img:hover {
height : 26px;
}
.lesOnglets
{
margin: 0;
padding:0 0 0 5px;
}
.unOnglet
{
background-color:white;
margin-top:-1px;
padding:5px;
display:none;
border:1px solid #AAA;
border-radius:4px;
-webkit-border-radius:4px;
-moz-border-radius:4px;
color:#555;
cursor: text;
}
.onglet
{
display:inline-block;
margin:5px 2px 0 2px;
padding:5px 10px ;
border:1px solid #AAA;
border-bottom:none;
border-radius:5px 5px 0 0;
-webkit-border-radius:4px 4px 0 0;
-moz-border-radius:4px 4px 0 0;
color:#555;
cursor: pointer;
font-weight:bold;
}
.inactif
{
background:#EEE;
}
.inactif:hover
{
background:#AAA;
}
.actif
{
background:white;
border-bottom:2px solid white;
padding-bottom:4px;
cursor:text;
}
.fdroite {
display: inline-block;
border-bottom: 7px solid #FFFFFF;
border-top: 7px solid #FFFFFF;
border-left: 10px solid #9743CC;
}
.fbas {
display: inline-block;
border-left: 7px solid #FFFFFF;
border-right: 7px solid #FFFFFF;
border-top: 10px solid #AABBCC;
}
.fgauche {
display: inline-block;
border-bottom: 7px solid #FFFFFF;
border-right: 10px solid #9743CC;
border-top: 7px solid #FFFFFF;
}
.fhaut {
display: inline-block;
border-bottom: 10px solid #AABBCC;
border-left: 7px solid #FFFFFF;
border-right: 7px solid #FFFFFF;
}

248
vues/proceduresJava.js Normal file
View File

@ -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;i<frm.elements["ldrSecteur"].length;i++)
{
if(frm.elements["ldrSecteur"].options[i].value==secteur) {frm.elements["ldrSecteur"].selectedIndex=i; i=9999;}
}
}
return true;}
}
// ========================= fonctions de controle de validité d'une date
function verifDate(laDate)
{
var ok=true;
var d=laDate.value;
laDate.style.backgroundColor="#fff";
if(d != null && d != "")
{
var amini=1900; // année mini
var amax=2030; // année maxi
var separateur="/"; // separateur entre jour/mois/annee
var j=(d.substring(0,2));
var m=(d.substring(3,5));
var a=(d.substring(6));
if ( ((isNaN(j))||(j<1)||(j>31)) && (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))||(a<amini)||(a>amax)) && (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<nb+1;i++)
{
document.getElementById('onglet'+i).className = 'inactif onglet';
document.getElementById('contenuOnglet'+i).style.display = 'none';
}
document.getElementById('onglet'+ongletChoisi).className = 'actif onglet';
document.getElementById('contenuOnglet'+ongletChoisi).style.display = 'block';
document.getElementById('zOnglet').value=ongletChoisi;
document.getElementById('zNbOnglets').value=nb;
ongletActif=ongletChoisi;
}
// ========================= transfert des données dune liste à une autre
function deplacer_elements(frm, origine, destination) {
if (origine.options.selectedIndex >= 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<nbElements;ligne++){
tbl[ligne] = new Array(destination.options[ligne].text, destination.options[ligne].value);
}
tbl.sort(triAlpha);
destination.options.length=0; /* efface la liste */
for(ligne=0;ligne<nbElements;ligne++){
destination.options[destination.options.length]=new Option(tbl[ligne][0],tbl[ligne][1]); //rempli la liste avec les données triees
}
}
else
alert("choisissez au moins un participant !");
return(false);
}
// =========================
function triAlpha(a,b) {
a = a[0];
b = b[0];
return a == b ? 0 : (a < b ? -1 : 1)
}
// =========================
function tester(frm, liste) {
var nbElements=liste.length;
var tbl = new Array(nbElements, 2)
for(ligne=0;ligne<nbElements;ligne++){
tbl[ligne] = new Array(liste.options[ligne].text, liste.options[ligne].value);
//alert("Valeur : " + tbl[ligne][1] + " Texte :" + tbl[ligne][0]);
}
tbl.sort(triAlpha);
liste.options.length=0; //efface la liste
for(ligne=0;ligne<nbElements;ligne++){
liste.options[liste.options.length]=new Option(tbl[ligne][0],tbl[ligne][1]); //rempli la liste avec les données triees
// alert("Valeur : " + tbl[element,1] + " libellé : " + tbl[element,0]);
}
result = tbl.join('\n');
alert(result);
return (false);
}
// =========================trouver un code postal en france, ou une commune
// parametres d'entrée : (L'un des 2 champs ne doit pas être vide. Sinon, c'est Paris qui est pris par défaut.)
// - codePostal : l'ID du champs contenant le code postal
// - ville : l'ID du champs contenant le nom de la commune
function openCodesPostaux(codePostal, ville){
var leCodePostal = document.getElementById(codePostal).value;
var laVille = document.getElementById(ville).value;
if(laVille == ""){ laVille = leCodePostal;}
window.open( 'http://www.codes-postaux.org/outils/module.php?Choix=' + escape(laVille) ,'CodePostal','scrollbars=yes, width=300, height=550');
}

44
vues/v_choixParam.php Normal file
View File

@ -0,0 +1,44 @@
<!-- choix d'un parametre / Derniere modification le 26 mars 2020 par Pascal Blain -->
<?php
$nbP=count($lesParametres);
echo '
<form name="choixP" action="index.php" method="post">
<h2>'.$titre; ?>
<select name="lstParam" STYLE="width:350px;" onchange="submit();">
<?php
if (!isset($_REQUEST['lstParam'])) {$choix = 'premier';} else {$choix =$_REQUEST['lstParam'];}
$i=1;
foreach ($lesParametres as $unParametre)
{
if($unParametre['tlId'] == $choix or $choix == 'premier')
{echo "<option selected value=\"".$unParametre['tlId']."\">".$unParametre['tlLibelle']."</option>\n ";
$choix = $unParametre['tlId'];
$titre1= $unParametre['tlLibelle'];
$noP=$i;
}
else
{echo "<option value=\"".$unParametre['tlId']."\">".$unParametre['tlLibelle']."</option>\n ";
$i=$i+1;}
}
if ($_REQUEST['action']<>"liste") {$action = $_REQUEST['action'];} else {$action = "voir";}
echo '
</select></h2>
<input type="hidden" name="choixTraitement" value="param">
<input type="hidden" name="action" value="'.$action.'">
<input type="hidden" name="zType" value="*">
<input type="hidden" name="zIndice" value="0">
<input type="hidden" name="zColonne" value="0">';
?>
<!-- ============================================================== navigation dans la liste -->
<div id='navigation'>
<input type="image" id="zPremier" title="premier" src="images/goPremier.gif" onclick="premier('choixP','lstParam')">
<input type="image" id="zPrecedent" title="pr&eacute;c&eacute;dent" src="images/goPrecedent.gif" onclick="precedent('choixP','lstParam')">
<?php echo ' <input type="text" id="zNumero" value="'.$noP.'/'.$nbP.'" disabled="true" size="5" style="text-align:center;vertical-align:top;">'; ?>
<input type="image" id="zSuivant" title="suivant" src="images/goSuivant.gif" onclick="suivant('choixP','lstParam')">
<input type="image" id="zDernier" title="dernier" src="images/goDernier.gif" onclick="dernier('choixP','lstParam')">
</div>
</form>
<!-- fin liste de choix -->

45
vues/v_choixPraticien.php Normal file
View File

@ -0,0 +1,45 @@
<!-- choix d'un praticien / Derniere modification le 19 avril 2020 par Pascal Blain -->
<?php
$nbL=count($lesLignes);
echo '
<form name="choixP" action="index.php?choixTraitement=praticien&action=voir" method="post">
<h2>'.$titre; ?>
<select name="lstPraticiens" STYLE="width:350px;" onchange="submit();">
<?php
$noL=1; // ?
if (!isset($_REQUEST['lstPraticiens'])) {$choix = 'premier';} else {$choix =$_REQUEST['lstPraticiens'];}
$i=1;
foreach ($lesLignes as $uneLigne)
{
if($uneLigne['pNum'] == $choix or $choix == 'premier')
{echo "<option selected value=\"".$uneLigne['pNum']."\">".$uneLigne['pNom']." ".$uneLigne['pPrenom']." (".$uneLigne['nbVisites']." visites)</option>\n ";
$choix = $uneLigne['pNum'];
$noL=$i;
}
else
{echo "<option value=\"".$uneLigne['pNum']."\">".$uneLigne['pNom']." ".$uneLigne['pPrenom']." (".$uneLigne['nbVisites']." visites)</option>\n ";
$i=$i+1;}
}
echo '
</select>
</h2>'
?>
<!-- ============================================================== navigation dans la liste -->
<div id='navigation'>
<input type="image" id="zNouveau" title="Ajouter" src="images/ajout.gif" onclick="faire('choixP', 'ajouter')">
<input type="image" id="zModif" title="Modifier" src="images/modif.gif" onclick="faire('choixP', 'modifier')">
<input type="image" id="zSupprime" title="Supprimer" src="images/supprimer.gif" onclick="faire('choixP', 'supprimer')">&nbsp;&nbsp;
<input type="image" id="zPremier" title="premier" src="images/goPremier.gif" onclick="premier('choixP','lstPraticiens')">
<input type="image" id="zPrecedent" title="pr&eacute;c&eacute;dent" src="images/goPrecedent.gif" onclick="precedent('choixP','lstPraticiens')">
<?php echo '
<input type="text" id="zNumero" value="'.$noL.'/'.$nbL.'" disabled="true" size="5" style="text-align:center;vertical-align:top;">'; ?>
<input type="image" id="zSuivant" title="suivant" src="images/goSuivant.gif" onclick="suivant('choixP','lstPraticiens')">
<input type="image" id="zDernier" title="dernier" src="images/goDernier.gif" onclick="dernier('choixP','lstPraticiens')">
</div>
<input type="hidden" name="action" value="<?php if($_REQUEST['action']=="liste") {echo "voir";} else {echo $_REQUEST['action'];}?>">
<input type="hidden" name="type" value="*">
<input type="hidden" name="zType" value="*">
<input type="hidden" name="zIndice" value="*">
<input type="hidden" name="zColonne" value="*">
</form>
<!-- fin liste de choix -->

View File

@ -0,0 +1,44 @@
<!-- choix d'un utilisateur / Derniere modification le 9 avril 2020 par Pascal Blain -->
<?php
$nbL=count($lesLignes);
echo '
<form name="choixP" action="index.php?choixTraitement=utilisateur&action=voir" method="post">
<h2>'.$titre; ?>
<select name="lstUtilisateurs" STYLE="width:350px;" onchange="submit();">
<?php
if (!isset($_REQUEST['lstUtilisateurs'])) {$choix = 'premier';} else {$choix =$_REQUEST['lstUtilisateurs'];}
$i=1;
foreach ($lesLignes as $uneLigne)
{
if($uneLigne['uId'] == $choix or $choix == 'premier')
{echo "<option selected value=\"".$uneLigne['uId']."\">".$uneLigne['uNom']." ".$uneLigne['uPrenom']."</option>\n ";
$choix = $uneLigne['uId'];
$noL=$i;
}
else
{echo "<option value=\"".$uneLigne['uId']."\">".$uneLigne['uNom']." ".$uneLigne['uPrenom']."</option>\n ";
$i=$i+1;}
}
echo '
</select>
</h2>'
?>
<!-- ============================================================== navigation dans la liste -->
<div id='navigation'>
<input type="image" id="zNouveau" title="Ajouter" src="images/ajout.gif" onclick="faire('choixP', 'ajouter')">
<input type="image" id="zModif" title="Modifier" src="images/modif.gif" onclick="faire('choixP', 'modifier')">
<input type="image" id="zSupprime" title="Supprimer" src="images/supprimer.gif" onclick="faire('choixP', 'supprimer')">&nbsp;&nbsp;
<input type="image" id="zPremier" title="premier" src="images/goPremier.gif" onclick="premier('choixP','lstUtilisateurs')">
<input type="image" id="zPrecedent" title="pr&eacute;c&eacute;dent" src="images/goPrecedent.gif" onclick="precedent('choixP','lstUtilisateurs')">
<?php echo '
<input type="text" id="zNumero" value="'.$noL.'/'.$nbL.'" disabled="true" size="5" style="text-align:center;vertical-align:top;">'; ?>
<input type="image" id="zSuivant" title="suivant" src="images/goSuivant.gif" onclick="suivant('choixP','lstUtilisateurs')">
<input type="image" id="zDernier" title="dernier" src="images/goDernier.gif" onclick="dernier('choixP','lstUtilisateurs')">
</div>
<input type="hidden" name="action" value="<?php if($_REQUEST['action']=="liste") {echo "voir";} else {echo $_REQUEST['action'];}?>">
<input type="hidden" name="type" value="*">
<input type="hidden" name="zType" value="*">
<input type="hidden" name="zIndice" value="*">
<input type="hidden" name="zColonne" value="*">
</form>
<!-- fin liste de choix -->

19
vues/v_connexion.php Normal file
View File

@ -0,0 +1,19 @@
<h2>Merci de vous identifier pour acc&eacute;der aux dossiers</h2>
<form name="frmIdentification" method="POST" action="index.php?choixTraitement=connexion&action=valideConnexion">
<fieldset><legend>Identification utilisateur</legend>
<br /><br />
<label for="nom">Nom du compte*</label>
<input id="login" type="text" name="login" size="30" maxlength="45" placeholder="Entrez votre nom d'Utilisateur">
</p>
<p>
<label for="mdp">Mot de passe&nbsp;&nbsp;&nbsp;&nbsp;*</label>
<input id="mdp" type="password" name="mdp" size="30" maxlength="45" placeholder="Entrez votre Mot de Passe">
</p><br /><br />
<input type="submit" name="valider" value="Valider">
<input type="reset" name="annuler" value="Annuler">
</p>
</fieldset>
</form>
<br /><br />
</div>

47
vues/v_entete.php Normal file
View File

@ -0,0 +1,47 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Galaxy Swiss Bourdin</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link href="./styles/styles.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" type="image/x-icon" href="./images/favicon.ico" />
<script src="./vues/proceduresJava.js" type="text/javascript"></script>
</head>
<?php
(isset($_REQUEST['zFormulaire'])) ?$formulaire=$_REQUEST['zFormulaire']:$formulaire="choixP";
(isset($_REQUEST['zChamp'])) ?$champ=$_REQUEST['zChamp']:$champ="lstParam";
if (!isset($titre)) {$titre ="";}
?>
<body onload="donner_focus('<?php echo $formulaire."','".$champ;?>');">
<div id="page">
<div id="entete">
<img src="./images/logoGSB.jpg" id="logo" alt="Laboratoire Galaxy Swiss Bourdin" title="Gestion des comptes-rendus de visites" />
<div id="sommaire">
<?php if (isset($_SESSION['idUtilisateur']))
{echo '
<ul>
<li><a href="index.php?choixTraitement=visite&action=voir" title="Visites">Visites</a>|</li>
<li><a href="index.php?choixTraitement=praticien&action=voir" title="Praticiens">Praticiens</a>|</li>
<li><a href="index.php?choixTraitement=statistiques&action=voir" title="Statistiques">Statistiques</a>|</li>';
if ($_SESSION['statut']==0)
{echo '
<li><a href="index.php?choixTraitement=utilisateur&action=voir&type=a">Visiteurs</a>|</li>
<li><a href="index.php?choixTraitement=param&action=voir" title="Parametres">Parametres</a>|</li>';
}
else
{echo '
<li><a href="index.php?choixTraitement=utilisateur&action=voir&type=a">Mon profil</a>|</li>';
}
echo '
<li><b>Bienvenue '.$_SESSION['prenom'].' '.strtoupper($_SESSION['nom']).' </b></li>
<li style="text-align:left;"><a href="index.php?choixTraitement=connexion&action=demandeConnexion" title="Se d&eacute;connecter"><img alt="déconnexion" src="images/deconnexion.png" border="0" height="26px"></a></li>
</ul>';
}
?>
<h1>Gestion des Comptes-Rendus de visites</h1>
</div>
</div>
<div id="contenu">
<!-- fin affichage du menu -->

10
vues/v_erreurs.php Normal file
View File

@ -0,0 +1,10 @@
<div class ="erreur">
<ul>
<?php
foreach($_REQUEST['erreurs'] as $erreur)
{
echo "<li>$erreur</li>";
}
?>
</ul>
</div>

100
vues/v_ficheParametre.php Normal file
View File

@ -0,0 +1,100 @@
<!-- affichage du détail d'un type de parametre / Dernière modification le 11 avril 2020 par Pascal BLAIN -->
<?php
echo('
<div id="fiche">
');
/*================================================================================================== */
$nbP=count($lesInfosParametre);
echo("
<div>
<fieldset><legend>Parametre</legend>
<table>
<tr><th style='width:25px;text-align:center;'><a href='index.php?choixTraitement=param&action=ajouter&type=".$enteteParametre['tlId']."&valeur=NULL'><img title='Ajouter une valeur' src='images/ajout.gif'></a></th><th style='width:25px;'>Code</th><th style='text-align:center;'>Description</th><th style='width:70px;'>Booléen</th><th style='width:70px;'>Choix multiples</th></tr>
<tr><td>&nbsp;</td><td>".$enteteParametre['tlId']."</td><td>".$enteteParametre['tlLibelle']."</td><td style='text-align:center;'>".$enteteParametre['tlBooleen']."</td><td style='text-align:center;'>".$enteteParametre['tlChoixMultiple']."</td></tr>
</table>
</fieldset><br />
<table style='border: 0px solid white;'>
<tr>
<td style='border :0px;'>
<fieldset><legend>Valeurs</legend>
<table>");
$numPa=1;
foreach ($lesInfosParametre as $uneLigne)
{
if ($numPa<10)
{$numPa=$numPa+1;
$type = $choix;
$indice = $uneLigne['pIndice'];
echo("<tr> <th style='width:20px;text-align:center;'>".$uneLigne['pIndice']."</th> <td>".$uneLigne['pLibelle']."</td>
<td style='width:20px;text-align:center;'>");
echo("</td>
<td style='width:10px;text-align:center;'><a href='index.php?choixTraitement=param&action=modifier&type=".$enteteParametre['tlId']."&valeur=".$uneLigne['pIndice']."'><img src='images/modif.gif' title='modifier'></a></td>
<td style='width:10px;text-align:center;'>");
echo ("
<a href='index.php?choixTraitement=param&action=supprimer&type=".$enteteParametre['tlId']."&valeur=".$uneLigne['pIndice']."'><img title='Supprimer' src='images/supprimer.gif'></a>");
echo ("
</td></tr>");
}
}
while ($numPa<10)
{
echo("<tr> <th style='width:25px;'>&nbsp;</th> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> </tr>");
$numPa=$numPa+1;
}
echo("
</table>
</fieldset></td>");
if ($nbP>=10)
{
echo("
<td style='border :0px;'>
<fieldset><legend>(suite)</legend>
<table>");
$numP=1;
foreach ($lesInfosParametre as $uneLigne)
{
if ($numP>=10)
{
$type = $choix;
$indice = $uneLigne['pIndice'];
echo("<tr> <th style='width:20px;text-align:center;'>".$uneLigne['pIndice']."</th> <td style='width:140px;'>".$uneLigne['pLibelle']."</td>
<td style='width:20px;text-align:center;'>");
echo("</td>
<td style='width:20px;text-align:center;'><a href='index.php?choixTraitement=param&action=modifier&type=".$enteteParametre['tlId']."&valeur=".$uneLigne['pIndice']."'><img src='images/modif.gif' title='modifier'></a></td>
<td style='width:20px;text-align:center;'>");
echo ("
<a href='index.php?choixTraitement=param&action=supprimer&type=".$enteteParametre['tlId']."&valeur=".$uneLigne['pIndice']."'><img title='Supprimer' src='images/supprimer.gif'></a>");
echo ("
</td></tr>");
}
$numP=$numP+1;
}
if ($numP<10) {$numP=10;}
while ($numP<19)
{
echo("<tr> <th style='width:20px;text-align:center;'>&nbsp;</th> <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td> </tr>");
$numP=$numP+1;
}
echo("
</table>
</fieldset>
</td>");
}
echo("
</tr>
</table>
<fieldset><legend>Observations</legend>
<table style='border: 0px solid white;'>
<tr>
<td>...</td>
</tr>
</table>
</fieldset>
</div>
</div>");
?>

82
vues/v_fichePraticien.php Normal file
View File

@ -0,0 +1,82 @@
<!-- affichage du detail de la fiche Praticien / Derniere modification le 19 avril 2020 -->
<?php
$titre="Caract&eacute;ristiques du praticien";
echo ('
<div id="fiche">
<ul class="lesOnglets">
<li class="actif onglet" id="onglet1" onclick="javascript:Affiche(\'1\',2);">'.$titre.'</li>
<li class="inactif onglet" id="onglet2" onclick="javascript:Affiche(\'2\',2);">Visites</li>
</ul>');
/* */
/*================================================================================================== COORDONNEES (1) */
echo ("
<div style='display: block;' class='unOnglet' id='contenuOnglet1'>
<table style='border: 0px solid white;'>
<tr>
<td style='border :0px;'>
<fieldset> <legend>Coordonn&eacute;es du praticien ");
echo (" </legend>
<table>
<tr><th style='width:120px;'>Nom</th> <td>".$lesInfosPraticien['pNom']."</td> </tr>
<tr><th>Pr&eacute;nom</th> <td>".$lesInfosPraticien['pPrenom']."</td></tr>
<tr><th>Rue</th> <td>".$lesInfosPraticien['pRue']."</td></tr>
<tr><th>Code postal</th> <td>".$lesInfosPraticien['pCP']."</td></tr>
<tr><th>Ville</th> <td>".$lesInfosPraticien['pVille']."</td></tr>
<tr><th>Coefficient notoriete</th> <td>".$lesInfosPraticien['pCoefNotoriete']."</td></tr>
<tr><th>Type praticien</th> <td>".$lesInfosPraticien['wTypeLibelle']."</td></tr>
<tr><th>R&eacute;gion</th> <td>".$lesInfosPraticien['wRegion']."</td></tr>
");
echo (" </table>
</fieldset>
</td>
</tr>
</table>
</div>");
/*================================================================================================== SUIVI DES VISITES(2)*/
echo ("
<div style='display: none;' class='unOnglet' id='contenuOnglet2'>
<table style='border: 0px solid white;'>
<tr>
<td style='border :0px;'>
<fieldset><legend>Visites chez le praticien</legend>
<table>
<tr><th class='controle' >Date visite</th>
<th class='controle' >Visiteur médical</th>
<th class='controle' >Rapport</th>
<th class='controle' >Motif</th>
</tr>");
foreach ($lesVisitesPraticien as $uneVisite)
{echo("
<tr><td class='controle'>
<a href='index.php?choixTraitement=visite&action=voir&lstVisites=".$uneVisite['uId']."-".$uneVisite['vNum']."' style='text-decoration:none;'>".$uneVisite['wDateVisite']."</a></td>
<td class='controle' >".$uneVisite['wNomVisiteur']."</td>
<td class='controle' >".$uneVisite['vRapport']."</td>
<td class='controle' >".$uneVisite['vMotif']."</td>
</tr>");
}
echo ("
</table>
</fieldset>
</td>");
echo (" </tr>
</table>
</div>");
/*================================================================================================== XXXXX */
echo ("
<div style='display: none;' class='unOnglet' id='contenuOngletX'>
<fieldset><legend>XXXX</legend>
<table>
<tr><th style='width:130px;'>.....</th></tr>
<tr><td>xxxx</td></tr>
</table>
</fieldset>
</div>
</div>");
?>

View File

@ -0,0 +1,96 @@
<!-- affichage du detail de la fiche Utilisateur / Derniere modification le 11 avril 2020 par Pascal BLAIN -->
<?php
$titre="caract&eacute;ristiques de l'utilisateur";
echo ('
<div id="fiche">
<ul class="lesOnglets">
<li class="actif onglet" id="onglet1" onclick="javascript:Affiche(\'1\',2);">'.$titre.'</li>
<li class="inactif onglet" id="onglet2" onclick="javascript:Affiche(\'2\',2);">Praticiens visités</li>
</ul>');
/*================================================================================================== COORDONNEES (1) */
echo ("
<div style='display: block;' class='unOnglet' id='contenuOnglet1'>
<table style='border: 0px solid white;'>
<tr>
<td style='border :0px;'>
<fieldset><legend>Coordonn&eacute;es de l'utilisateur ");
if ($lesInfosUtilisateur['uId']==$_SESSION['idUtilisateur'] and $_SESSION['statut']<>0)
{$lien=$_SERVER['PHP_SELF'].'?choixTraitement=utilisateur&action=modifier&lstUtilisateurs='.$lesInfosUtilisateur['uId'];
echo (' <input type="image" title="Modifier" src="images/modif.gif" onclick="document.location.href=\''.$lien.'\'">');
}
echo ("</legend>
<table>
<tr><th style='width:120px;'>Nom</th> <td>".$lesInfosUtilisateur['uNom']."</td> </tr>
<tr><th>Pr&eacute;nom</th> <td>".$lesInfosUtilisateur['uPrenom']."</td></tr>
<tr><th>Adresse</th> <td>".$lesInfosUtilisateur['uAdresse']."</td></tr>
<tr><th>Code postal</th> <td>".$lesInfosUtilisateur['uCP']."</td></tr>
<tr><th>Ville</th> <td>".$lesInfosUtilisateur['uVille']."</td></tr>
<tr><th>Statut</th> <td>".$lesInfosUtilisateur['wStatut']."</td></tr>
<tr><th>Nom de compte</th> <td>".$lesInfosUtilisateur['uLogin']."</td></tr>
<tr><th>R&eacute;gion</th> <td>".$lesInfosUtilisateur['wRegion']."</td></tr> <tr><th>Secteur</th> <td>".$lesInfosUtilisateur['wSecteur']."</td></tr>
");
echo (" </table>
</fieldset>
</td>
</tr>
</table>
<fieldset><legend>Laboratoire</legend>
<table style='border: 0px solid white;'>
<tr>
<td>".$lesInfosUtilisateur['lNom']."</td>
</tr>
</table>
</fieldset>
</div>");
/*================================================================================================== SUIVI DES VISITES(2)*/
echo ("
<div style='display: none;' class='unOnglet' id='contenuOnglet2'>
<table style='border: 0px solid white;'>
<tr>
<td style='border :0px;'>
<fieldset><legend>Praticiens visit&eacute;s</legend>
<table>
<tr><th class='controleLong'>Nom et prenom du praticien</th>
<th class='controle' style='text-align : center;'>Nombre de visites</th>
</tr>");
foreach ($lesVisités as $uneLigne)
{echo("
<tr><td class='controleLong'>
<a href='index.php?choixTraitement=praticien&action=voir&lstPraticiens=".$uneLigne['pNum']."' style='text-decoration:none;'>".$uneLigne['pNom']." ".$uneLigne['pPrenom']." (".$uneLigne['pVille'].")</a></td>
<td class='controle' style='text-align : center;'>".$uneLigne['nbVisites']."</td>
</tr>");
}
echo ("
</table>
</fieldset>
</td>
</tr>
</table>
<fieldset><legend>Laboratoire</legend>
<table style='border: 0px solid white;'>
<tr>
<td>".$lesInfosUtilisateur['lNom']."</td>
</tr>
</table>
</fieldset>
</div>");
/*================================================================================================== XXXXX */
echo ("
<div style='display: none;' class='unOnglet' id='contenuOngletX'>
<fieldset><legend>XXXX</legend>
<table>
<tr><th style='width:130px;'>.....</th></tr>
<tr><td>xxxx</td></tr>
</table>
</fieldset>
</div>
</div>");
?>

5
vues/v_pied.php Normal file
View File

@ -0,0 +1,5 @@
<!-- Division pour le pied de page -->
<hr /><p style="text-align:center;"><?php echo "Lyc&eacute;e Le Castel &agrave; Dijon - BTS SIO 1 - (c)2022 Blain Pascal";?></p>
</body>
</html>

210
vues/v_unEchantillon.php Normal file
View File

@ -0,0 +1,210 @@
<!-- Derniere modification le 25 mars 2022 par Pascal Blain -->
<?php
if ($_REQUEST['action']=="supprimerEchantillon")
{ echo '<h2>SUPPRESSION DE l\'ECHANTILLON</h2>';
echo '<form name="frmE" action="index.php?choixTraitement=visite&action=validerSupprimerEchantillon&lstVisites='.$lesInfosVisite['vNum'].'" method="post">';}
if ($_REQUEST['action']=="modifierEchantillon")
{ echo '<h2>MODIFICATION DE l\'ECHANTILLON</h2>';
echo '<form name="frmE" action="index.php?choixTraitement=visite&action=validerModifierEchantillon&lstVisites='.$lesInfosVisite['vNum'].'" method="post">';}
if ($_REQUEST['action']=="ajouterEchantillon")
{ echo '<h2>AJOUT D\'UN ECHANTILLON</h2>';
echo '<form name="frmE" action="index.php?choixTraitement=visite&action=validerAjouterEchantillon" method="post" onsubmit="return valider(this)">';}
echo ("
<fieldset><legend>Visite du ".$lesInfosVisite['wDate']." chez ".$lesInfosVisite['pNom']." ".$lesInfosVisite['pPrenom']."</legend>
<table>");
if ($_REQUEST['action']=="supprimerEchantillon") //-------------------------------------------------------- cas suppression
{ echo ("
<tr>
<td style='border :0px;'>
<fieldset> <legend>Médicament</legend>
<table>
<tr><th style='width:120px;'>Famille</th> <td>".$leMedicament['fLibelle']."</td></tr>
<tr><th style='width:120px;'>Médicament</th> <td>".$leMedicament['mNomCommercial']."
<input type='hidden' name='lstMedicaments' value='".$leMedicament['mDepotLegal']."'></td></tr>
<tr><th style='width:120px;'>Quanté remise</th> <td>".$leMedicament['qte']."</td></tr>
</table>
</fieldset>
</td>
</tr>
<tr>
<td style='border :0px;'>
<fieldset> <legend>Rapport de visite</legend>
<table>
<tr><th style='width:120px;'>Date de visite</th><td>".$lesInfosVisite['wDate']."</td></tr>
<tr><th>Motif</th> <td>".$lesInfosVisite['vMotif']."</td>
<th>medicament 1</th>
<td>
BIVALIC
</td>
</tr>
<tr><th>Commentaires</th> <td>".$lesInfosVisite['vRapport']."</td>
<th>medicament 2</th>
<td>
APATOUX Vitamine C
</td>
</tr>
</table>
</fieldset>
</td>
</tr>
</table>
</fieldset>");
//</td>");
}
if ($_REQUEST['action']=="ajouterEchantillon") //-------------------------------------------------------- cas ajout d'un échantillon
{
echo ("
<tr>
<td style='border :0px;'>
<fieldset> <legend>Médicament</legend>
<table>
<tr><th style='width:120px;'>Famille</th> <td>
<select name='lstFamilles' style='width:350px;' onchange='myFunction(this.name, this.value)'>");
$noF=1; //
if (!isset($_REQUEST['lstFamilles'])) {$choix = 'premier';} else {$choix =$_REQUEST['lstFamilles'];}
$i=1;
foreach ($lesFamilles as $uneLigne)
{
if($uneLigne['fCode'] == $choix or $choix == 'premier')
{echo "<option selected value=\"".$uneLigne['fCode']."\">".$uneLigne['fLibelle']." (".$uneLigne['nbM'].")</option>\n ";
$choix = $uneLigne['fCode'];
$noF=$i;
}
else
{echo "<option value=\"".$uneLigne['fCode']."\">".$uneLigne['fLibelle']." (".$uneLigne['nbM'].")</option>\n ";
$i=$i+1;}
}
echo ("
</select>
</td></tr>
<tr><th style='width:120px;'>Médicament</th> <td>
<select name='lstMedicaments' style='width:350px;'>");
$noM=1; //
if (!isset($_REQUEST['lstMedicaments'])) {$choix = 'premier';} else {$choix =$_REQUEST['lstMedicaments'];}
$i=1;
foreach ($lesMedicaments as $uneLigne)
{
if($uneLigne['mDepotLegal'] == $choix or $choix == 'premier')
{echo "<option selected value=\"".$uneLigne['mDepotLegal']."\">".$uneLigne['mNomCommercial']."</option>\n ";
$choix = $uneLigne['mDepotLegal'];
$noM=$i;
}
else
{echo "<option value=\"".$uneLigne['mDepotLegal']."\">".$uneLigne['mNomCommercial']."</option>\n ";
$i=$i+1;}
}
echo ("
</select>
</td></tr>
<tr><th style='width:120px;'>Quanté remise</th> <td><input class='controle' type='text' name='ztQuantite'>
</td></tr>
</table>
</fieldset>
</td>
</tr>
<tr>
<td style='border :0px;'>
<fieldset> <legend>Rapport de visite</legend>
<table>
<tr><th style='width:120px;'>Date de visite</th><td>".$lesInfosVisite['wDate']."</td></tr>
<tr><th>Motif</th> <td>".$lesInfosVisite['vMotif']."</td>
<th>medicament 1</th>
<td>
BIVALIC
</td>
</tr>
<tr><th>Commentaires</th> <td>".$lesInfosVisite['vRapport']."</td>
<th>medicament 2</th>
<td>
APATOUX Vitamine C
</td>
</tr>
</table>
</fieldset>
</td>
</tr>
</table>
</fieldset>");
}
if ($_REQUEST['action']=="modifierEchantillon") //-------------------------------------------------------- cas modification
{
echo ("
<tr>
<td style='border :0px;'>
<fieldset> <legend>Médicament</legend>
<table>
<tr><th style='width:120px;'>Famille</th> <td>".$leMedicament['fLibelle']."</td></tr>
<tr><th style='width:120px;'>Médicament</th> <td>".$leMedicament['mNomCommercial']."
<input type='hidden' name='lstMedicaments' value='".$leMedicament['mDepotLegal']."'></td></tr>
<tr><th style='width:120px;'>Quanté remise</th> <td><input class='controle' type='text' name='ztQuantite' value='".$leMedicament['qte']."'>
</td></tr>
</table>
</fieldset>
</td>
</tr>
<tr>
<td style='border :0px;'>
<fieldset> <legend>Rapport de visite</legend>
<table>
<tr><th style='width:120px;'>Date de visite</th><td>".$lesInfosVisite['wDate']."</td></tr>
<tr><th>Motif</th> <td>".$lesInfosVisite['vMotif']."</td>
<th>medicament 1</th>
<td>
BIVALIC
</td>
</tr>
<tr><th>Commentaires</th> <td>".$lesInfosVisite['vRapport']."</td>
<th>medicament 2</th>
<td>
APATOUX Vitamine C
</td>
</tr>
</table>
</fieldset>
</td>
</tr>
</table>
</fieldset>");
}
?>
<td style='border: 0px solid white; witdh:130px; text-align:right;'>
<input type="hidden" name="zTypeAdm" value="<?php if ($_SESSION['statut']==0) {echo ("true");} else {echo ("false");} ?>">
<input type="hidden" name="ztVisiteur" value="<?php echo $lesInfosVisite['uId']; ?>">
<input type="hidden" name="lstVisites" value="<?php echo $lesInfosVisite['vNum']; ?>">
<input type="hidden" name="zOk" value="OK">
<input type="image" name="btValider" alt="Valider" src="images/valider.jpg" value="OK" >
<input type="image" name="btAnnuler" alt="Annuler" src="images/annuler.jpg" value="nonOK" onclick="annuler('frmE');">
</td>
</tr>
</table>
</form>
<script type="text/javascript">
// Mon code Javascript
function myFunction(liste, choix)
{
<?php
echo substr ($script,0 ,strlen($script)-1).");\n";
?>
for (i=document.forms["frmE"].elements["lstMedicaments"].length; i>=0; i--)
{document.forms["frmE"].elements["lstMedicaments"].options[i]=null;}
//document.forms["frmE"].elements["lstMedicaments"].options.length=0;
var option=0;
for (var i = 0; i < lesMedicaments.length; i++)
{
if (lesMedicaments[i][2]==choix)
{
document.forms["frmE"].elements["lstMedicaments"].options[option]=new Option(lesMedicaments[i][1],lesMedicaments[i][0]);
option++;
}
}
}
function raz(liste)
{l=document.formu.elements[liste].length;
for (i=l; i>=0; i--)
document.formu.elements[liste].options[i]=null;
}
</script>

94
vues/v_unParam.php Normal file
View File

@ -0,0 +1,94 @@
<!-- Derniere modification le 9 avril 2020 par Pascal Blain -->
<?php
if ($action==="supprimer")
{echo '<h2>SUPPRESSION DE LA VALEUR D\'UN PARAMETRE</h2>';
echo "<form name='frmParam' action='index.php?choixTraitement=param&action=validerSupprimer&type=".$infosParam['pType']."&valeur=".$infosParam['pIndice']."' method='post'>";}
if ($action==="modifier")
{echo '<h2>MODIFICATION DE LA VALEUR D\'UN PARAMETRE</h2>';
echo "<form name='frmParam' action='index.php?choixTraitement=param&action=validerModifier&type=".$infosParam['pType']."&valeur=".$infosParam['pIndice']."' method='post'>";}
if ($action==="ajouter")
{echo '<h2>AJOUT DE LA VALEUR D\'UN PARAMETRE</h2>';
echo "<form name='frmParam' action='index.php?choixTraitement=param&action=validerAjouter&type=".$infosParam['pType']."' method='post'>";}
?>
<!-- Affichage des valeurs dans un tableau r&eacute;capitulatif. -->
<div>
<table style='border: 0px solid white;'>
<tr><td style='border :0px;'>
<fieldset><legend><?php echo $infosParam['tlLibelle'] ?></legend>
<?php
if ($infosParam['pType']==="secteur")
{
echo (" <table>
<tr> <th>Indice</th> <td>");
if ($_REQUEST['action']==="ajouter") {echo "<input class='controle' type='text' name='valeur' value='".$infosParam['pIndice']."'>";}
else {echo $infosParam['pIndice'];}
echo (" </td> </tr>
<tr> <th>Valeur</th> <td>");
if ($_REQUEST['action']==="ajouter") {echo "<input class='controleLong' type='text' name='zLibelle'>";}
if ($_REQUEST['action']==="modifier") {echo "<input class='controleLong' type='text' name='zLibelle' value='".$infosParam['pLibelle']."'>";}
if ($_REQUEST['action']==="supprimer") {echo $infosParam['pLibelle'];}
echo (" </td> </tr>
<tr> <th>Territoire</th> <td>");
if ($_REQUEST['action']==="ajouter") {echo "<input class='controle' type='text' name='zTerritoire'>";}
if ($_REQUEST['action']==="modifier") {echo "<input class='controle' type='text' name='zTerritoire' value='".$infosParam['territoire']."'>";}
if ($_REQUEST['action']==="supprimer") {echo $infosParam['territoire'];}
echo (" </td> </tr>
<tr> <th>D&eacute;partement</th> <td>");
if ($_REQUEST['action']==="ajouter") {echo "<input class='controle' type='text' name='zDep'>";}
if ($_REQUEST['action']==="modifier") {echo "<input class='controle' type='text' name='zDep' value='".$infosParam['dep']."'>";}
if ($_REQUEST['action']==="supprimer") {echo $infosParam['dep'];}
echo (" </td> </tr>
<INPUT type='hidden' name='choixOrientation' value='0'>
<INPUT type='hidden' name='zPlancher' value='0'>
<INPUT type='hidden' name='zPlafond' value='0'>
</table>");
}
else
{
echo (" <table>
<tr> <th>Indice</th> <td>");
if ($action==="ajouter") {echo "<input class='controle' type='text' name='valeur' value='".$infosParam['pIndice']."'>";}
else {echo $infosParam['pIndice'];}
echo (" </td> </tr>
<tr> <th>Valeur</th> <td>");
if ($action==="ajouter") {echo "<input class='controle' type='text' name='zLibelle'>";$actif=null;}
if ($action==="modifier") {echo "<input class='controleLong' type='text' name='zLibelle' value='".$infosParam['pLibelle']."'>";$actif=null;}
if ($action==="supprimer") {echo $infosParam['pLibelle'];$actif="disabled='disabled'";}
echo (" </td> </tr>");
if($infosParam['pType'] === "motifSo")
{
echo ("<tr> <th>R&eacute;orientation </th> <td>");
if($infosParam['pPlancher'] == 1)
{echo ("
<INPUT type='radio' name='choixOrientation' value='1' ".$actif." checked>oui
<INPUT type='radio' name='choixOrientation' value='0' ".$actif.">Non</td> </tr>");}
else
{echo ("
<INPUT type='radio' name='choixOrientation' value='1' ".$actif.">oui
<INPUT type='radio' name='choixOrientation' value='0' ".$actif." checked>Non</td> </tr>");}
echo (" <INPUT type='hidden' name='zPlancher' value='0'>
<INPUT type='hidden' name='zPlafond' value='0'>");
}
else
{ echo ("
<tr> <th>Plancher</th> <td><input class='controle' type='text' name='zPlancher' value='".$infosParam['pPlancher']."'></td> </tr>
<tr> <th>Plafond</th> <td><input class='controle' type='text' name='zPlafond' value='".$infosParam['pPlafond']."'></td> </tr>");}
echo ("
</table>
<input type='hidden' name='zTerritoire' value='NULL'><input type='hidden' name='zDep' value='NULL'>");
} ?>
</fieldset>
</td>
</tr>
</table>
</div>
<p align="right">
<input type="hidden" name="zOk" value="OK">
<input type="image" name="btValider" alt="Valider" src="images/valider.jpg" onclick="this.form.submit();">
<input type="image" name="btAnnuler" alt="Annuler" src="images/annuler.jpg" onclick="annuler('frmParam');">
</p>
</form>
</div>

119
vues/v_unPraticien.php Normal file
View File

@ -0,0 +1,119 @@
<!-- Derniere modification le 15 avril 2020 par Guy Mehl -->
<?php
if ($_REQUEST['action']=="supprimer")
{ echo '<h2>SUPPRESSION DU PRATICIEN '.$lesInfosPraticien['pNom'].' '.$lesInfosPraticien['pPrenom'].'</h2>';
echo '<form name="frmA" action="index.php?choixTraitement=praticien&action=validerSupprimer&praticien='.$lesInfosPraticien['pNum'].'" method="post">';}
if ($_REQUEST['action']=="modifier")
{ echo '<h2>MODIFICATION DU PRATICIEN '.$lesInfosPraticien['pNom'].' '.$lesInfosPraticien['pPrenom'].'</h2>';
echo '<form name="frmA" action="index.php?choixTraitement=praticien&action=validerModifier&praticien='.$lesInfosPraticien['pNum'].'" method="post">';}
if ($_REQUEST['action']=="ajouter")
{ echo "<h2>AJOUT D'UN NOUVEAU PRATICIEN </h2>";
echo '
<form name="frmA" action="index.php?choixTraitement=praticien&action=validerAjouter" method="post" onsubmit="return valider(this)">';}
echo ("
<fieldset><legend>Coordonn&eacute;es</legend>
<table>");
if ($_REQUEST['action']=="supprimer") //-------------------------------------------------------- cas suppression
{ echo ("
<tr><th style='width:120px;'>Nom</th> <td>".$lesInfosPraticien['pNom']."</td> </tr>
<tr><th>Pr&eacute;nom</th> <td>".$lesInfosPraticien['pPrenom']."</td> </tr>
<tr><th>Rue</th> <td>".$lesInfosPraticien['pRue']."</td> </tr>
<tr><th>Code postal</th> <td>".$lesInfosPraticien['pCP']."</td> </tr>
<tr><th>Ville</th> <td>".$lesInfosPraticien['pVille']."</td></tr>
<tr><th>Coefficient Notoriete</th> <td>".$lesInfosPraticien['pCoefNotoriete']."</td></tr>
<tr><th>Type praticien</th> <td>".$lesInfosPraticien['wTypeLibelle']."</td> </tr>
<tr><th>Région</th> <td>".$lesInfosPraticien['wRegion']."</td></tr>
</table>
</fieldset>");
//</td>");
}
if ($_REQUEST['action']=="ajouter") //-------------------------------------------------------- cas ajout
{
echo ('
<tr><th style="width:120px;">Nom</th><td>
<input class="controleLong" type="text" name="ztNom" id="Nom" onblur="verifTexte(this.form, this, 55)" required><input type="hidden" name="praticien" value="'.$choix.'"></td>
</tr>
<tr><th>Pr&eacute;nom</th> <td>
<input class="controleLong" type="text" name="ztPrenom" id="prenom" onblur="verifTexte(this.form, this, 25)"></td> </tr>');
echo ('
<tr><th>Rue</th> <td><input class="controleLong" type="text" name="ztAdresse"></td> </tr>
<tr><th>Code postal</th> <td><input class="controle" type="text" pattern="[0-9]{5}" id="Code postal" name="ztCP">');
echo ("
<a href=\"javascript:openCodesPostaux('ztCP','ztVille');\" title='Trouvez un code postal en France'>
<img src='images/cp.gif' width='16' height='13' alt='codes postaux' title='S&eacute;l&eacute;ctionnez votre code postal gr&acirc;ce &agrave; www.codes-postaux.org'></a></td> </tr>
<tr><th>Ville</th> <td><input class='controleLong' type='text' name='ztVille'></td></tr>
<tr><th>Coefficient Notoriété</th> <td><input class='controleLong' type='text' name='ztCoefNotoriete'></td></tr>
<tr> <th>Type praticien</th> <td><select name = 'ldrTypePraticien' style='width:200px;'>");
foreach ($lesTypesPraticien as $unTypePraticien)
{ if($unTypePraticien['tCode']===$lesInfosPraticien['tCode']){$selected = "selected";} else {$selected = null;}
echo '
<option '.$selected.' value="'.$unTypePraticien['tCode'].'">'.$unTypePraticien['tLibelle'].'</option>';
}
echo ("
</select></td> </tr> ");
echo ("<tr> <th>R&eacute;gion</th> <td> <select name = 'ldrRegion' style='width:200px;'>");
foreach ($lesRegions as $uneRegion)
{ if($uneRegion['pIndice']===$lesInfosPraticien['region']){$selected = "selected";}
else {$selected = null;}
echo '
<option '.$selected.' value="'.$uneRegion['pIndice'].'*'.$uneRegion['pCategorie'].'">'.$uneRegion['pLibelle'].'</option>';
}
echo ("
</select></td> </tr>
</table>
</fieldset>");
}
if ($_REQUEST['action']=="modifier") //------------------------------------------------------------------------------------ cas modification
{
echo ('
<tr> <th style="width:120px;">Nom</th> <td>
<input class="controleLong" type="text" name="ztNom" id="Nom" onblur="verifTexte(this.form, this, 55)" required value="'.$lesInfosPraticien['pNom'].'"></td> </tr>
<tr> <th>Pr&eacute;nom</th> <td>
<input class="controleLong" type="text" name="ztPrenom" id="prenom" onblur="verifTexte(this.form, this, 25)" value="'.$lesInfosPraticien['pPrenom'].'"></td> </tr>');
echo ('
<tr><th>Adresse</th> <td><input class="controleLong" type="text" name="ztAdresse" value="'.$lesInfosPraticien['pRue'].'"></td> </tr>
<tr><th>Code postal</th> <td><input class="controle" type="text" pattern="[0-9]{5}" id="Code postal" name="ztCP" value="'.$lesInfosPraticien['pCP'].'" >');
echo ("
<a href=\"javascript:openCodesPostaux('ztCP','ztVille');\" title='Trouvez un code postal en France'>
<img src='images/cp.gif' width='16' height='13' alt='codes postaux' title='S&eacute;l&eacute;ctionnez votre code postal gr&acirc;ce &agrave; www.codes-postaux.org'></a></td> </tr>
<tr><th>Ville</th> <td><input class='controleLong' type='text' name='ztVille' value='".$lesInfosPraticien['pVille']."'></td></tr>");
echo ('
<tr><th>Coefficient Notoriété</th> <td><input class="controleLong" type="text" name="ztCoefNotoriete" value="'.$lesInfosPraticien['pCoefNotoriete'].'"></td> </tr>');
echo ("
<tr> <th>Type praticien</th> <td><select name = 'ldrTypePraticien' style='width:200px;'>");
foreach ($lesTypesPraticien as $unTypePraticien)
{ if($unTypePraticien['tCode']===$lesInfosPraticien['tCode']){$selected = "selected";} else {$selected = null;}
echo '
<option '.$selected.' value="'.$unTypePraticien['tCode'].'">'.$unTypePraticien['tLibelle'].'</option>';
}
echo ("
</select></td> </tr> ");
echo ("
<tr> <th>R&eacute;gion</th> <td><select name = 'ldrRegion' style='width:200px;'>");
foreach ($lesRegions as $uneRegion)
{ if($uneRegion['pIndice']===$lesInfosPraticien['region']){$selected = "selected";} else {$selected = null;}
echo '
<option '.$selected.' value="'.$uneRegion['pIndice'].'*'.$uneRegion['pCategorie'].'">'.$uneRegion['pLibelle'].'</option>';
}
echo ("
</select></td> </tr> ");
echo ("
</table>
</fieldset> ");
}
?>
<td style='border: 0px solid white; witdh:130px; text-align:right;'>
<input type="hidden" name="zTypeAdm" value="<?php if ($_SESSION['statut']==0) {echo ("true");} else {echo ("false");} ?>">
<input type="hidden" name="zOk" value="OK">
<input type="image" name="btValider" alt="Valider" src="images/valider.jpg" value="OK" >
<input type="image" name="btAnnuler" alt="Annuler" src="images/annuler.jpg" value="nonOK" onclick="annuler('frmA');">
</td>
</tr>
</table>
</form>

153
vues/v_unUtilisateur.php Normal file
View File

@ -0,0 +1,153 @@
<!-- Derniere modification le 11 avril 2020 par Pascal Blain -->
<?php
if ($_REQUEST['action']=="supprimer")
{ echo '<h2>SUPPRESSION DE L\'UTILISATEUR '.$lesInfosUtilisateur['uNom'].' '.$lesInfosUtilisateur['uPrenom'].'</h2>';
echo '<form name="frmA" action="index.php?choixTraitement=utilisateur&action=validerSupprimer&utilisateur='.$lesInfosUtilisateur['uId'].'" method="post">';}
if ($_REQUEST['action']=="modifier")
{ echo '<h2>MODIFICATION DE L\'UTILISATEUR '.$lesInfosUtilisateur['uNom'].' '.$lesInfosUtilisateur['uPrenom'].'</h2>';
echo '<form name="frmA" action="index.php?choixTraitement=utilisateur&action=validerModifier&utilisateur='.$lesInfosUtilisateur['uId'].'" method="post">';}
if ($_REQUEST['action']=="ajouter")
{ echo "<h2>AJOUT D'UN NOUVEL UTILISATEUR</h2>";
echo '
<form name="frmA" action="index.php?choixTraitement=utilisateur&action=validerAjouter" method="post" onsubmit="return valider(this)">';}
echo ("
<fieldset><legend>Coordonn&eacute;es</legend>
<table>");
if ($_REQUEST['action']=="supprimer") //-------------------------------------------------------- cas suppression
{ echo ("
<tr><th style='width:120px;'>Nom</th> <td>".$lesInfosUtilisateur['uNom']."</td> </tr>
<tr><th>Pr&eacute;nom</th> <td>".$lesInfosUtilisateur['uPrenom']."</td> </tr>
<tr><th>Adresse</th> <td>".$lesInfosUtilisateur['uAdresse']."</td> </tr>
<tr><th>Code postal</th> <td>".$lesInfosUtilisateur['uCP']."</td> </tr>
<tr><th>Ville</th> <td>".$lesInfosUtilisateur['uVille']."</td></tr>
<tr><th>Statut</th> <td>".$lesInfosUtilisateur['wStatut']."</td> </tr>
<tr><th>Nom de compte</th> <td>".$lesInfosUtilisateur['uLogin']."</td></tr>
</table>
</fieldset>
<table style='border: 0px solid white; '>
<tr>
<td style='border: 0px solid white;'>
<fieldset><legend>Laboratoire</legend>
<textarea name='ztObs' cols='70' rows='1'>".$lesInfosUtilisateur['lNom']."</textarea>
</fieldset>
</td>");
}
if ($_REQUEST['action']=="ajouter") //-------------------------------------------------------- cas ajout
{
echo ('
<tr><th style="width:120px;">Nom</th><td>
<input class="controleLong" type="text" name="ztNom" id="Nom" onblur="verifTexte(this.form, this, 55)" required></td>
</tr>
<tr><th>Pr&eacute;nom</th> <td>
<input class="controleLong" type="text" name="ztPrenom" id="prenom" onblur="verifTexte(this.form, this, 25)"></td> </tr>');
echo ('
<tr><th>Adresse</th> <td><input class="controleLong" type="text" name="ztAdresse"></td> </tr>
<tr><th>Code postal</th> <td><input class="controle" type="text" pattern="[0-9]{5}" id="Code postal" name="ztCP">');
echo ("
<a href=\"javascript:openCodesPostaux('ztCP','ztVille');\" title='Trouvez un code postal en France'>
<img src='images/cp.gif' width='16' height='13' alt='codes postaux' title='S&eacute;l&eacute;ctionnez votre code postal gr&acirc;ce &agrave; www.codes-postaux.org'></a></td> </tr>
<tr><th>Ville</th> <td><input class='controleLong' type='text' name='ztVille'></td></tr>
<tr> <th>Statut</th> <td><select name = 'ldrStatut' style='width:200px;'>");
foreach ($lesStatuts as $unStatut)
{ if($unStatut['pIndice']===$lesInfosUtilisateur['uStatut']){$selected = "selected";} else {$selected = null;}
echo '
<option '.$selected.' value="'.$unStatut['pIndice'].'">'.$unStatut['pLibelle'].'</option>';
}
echo ("
</select></td> </tr>
<tr><th>Nom de compte</th> <td>
<input class='controleLong' type='text' name='ztLogin' id='Nom de compte' onblur='verifTexte(this.form, this, 15)'></td></tr>");
echo ("
<tr><th>Mot de passe </th> <td><input type='hidden' name='brMdp' value='0'>
<input class='controleLong' type='text' name='ztMdp' id='Mot de passe'></td></tr>
<tr> <th>R&eacute;gion</th> <td>
<select name = 'ldrRegion' style='width:200px;'>");
foreach ($lesRegions as $uneRegion)
{ if($uneRegion['pIndice']===$lesInfosUtilisateur['uRegion']){$selected = "selected";}
else {$selected = null;}
echo '
<option '.$selected.' value="'.$uneRegion['pIndice'].'*'.$uneRegion['pCategorie'].'">'.$uneRegion['pLibelle'].'</option>';
}
echo ("
</select></td> </tr>
</table>
</fieldset>
<table style='border: 0px solid white; '>
<tr>
<td style='border: 0px solid white;'>
<fieldset><legend>Laboratoire</legend>
<select name = 'ldrLabo' style='width:200px;'>");
foreach ($lesLabos as $unLabo)
{ if($unLabo['lCode']===$lesInfosUtilisateur['uLabo']){$selected = "selected";} else {$selected = null;}
echo '
<option '.$selected.' value="'.$unLabo['lCode'].'">'.$unLabo['lNom'].'</option>';
}
echo ("
</select></td> </tr>
</table>");
}
if ($_REQUEST['action']=="modifier") //------------------------------------------------------------------------------------ cas modification
{
echo ('
<tr> <th style="width:120px;">Nom</th> <td>
<input class="controleLong" type="text" name="ztNom" id="Nom" onblur="verifTexte(this.form, this, 55)" required value="'.$lesInfosUtilisateur['uNom'].'"></td> </tr>
<tr> <th>Pr&eacute;nom</th> <td>
<input class="controleLong" type="text" name="ztPrenom" id="prenom" onblur="verifTexte(this.form, this, 25)" value="'.$lesInfosUtilisateur['uPrenom'].'"></td> </tr>');
echo ('
<tr><th>Adresse</th> <td><input class="controleLong" type="text" name="ztAdresse" value="'.$lesInfosUtilisateur['uAdresse'].'"></td> </tr>
<tr><th>Code postal</th> <td><input class="controle" type="text" pattern="[0-9]{5}" id="Code postal" name="ztCP" value="'.$lesInfosUtilisateur['uCP'].'" >');
echo ("
<a href=\"javascript:openCodesPostaux('ztCP','ztVille');\" title='Trouvez un code postal en France'>
<img src='images/cp.gif' width='16' height='13' alt='codes postaux' title='S&eacute;l&eacute;ctionnez votre code postal gr&acirc;ce &agrave; www.codes-postaux.org'></a></td> </tr>
<tr><th>Ville</th> <td><input class='controleLong' type='text' name='ztVille' value='".$lesInfosUtilisateur['uVille']."'></td></tr>");
echo ("
<tr> <th>Statut</th> <td><select name = 'ldrStatut' style='width:200px;'>");
foreach ($lesStatuts as $unStatut)
{ if($unStatut['pIndice']===$lesInfosUtilisateur['uStatut']){$selected = "selected";} else {$selected = null;}
echo '
<option '.$selected.' value="'.$unStatut['pIndice'].'">'.$unStatut['pLibelle'].'</option>';
}
echo ("
</select></td> </tr>
<tr><th>Nom de compte</th> <td>
<input class='controleLong' type='text' name='ztLogin' id='Nom de compte' onblur='verifTexte(this.form, this, 15)' value='".$lesInfosUtilisateur['uLogin']."'></td></tr>
<tr><th>Nouveau mot de passe ?</th> <td><input type='radio' name='brMdp' value='0' checked>Non <input type='radio' name='brMdp' value='1'>Oui
<input class='controleLong' type='text' name='ztMdp' id='Mot de passe'></td></tr>
<tr> <th>R&eacute;gion</th> <td><select name = 'ldrRegion' style='width:200px;'>");
foreach ($lesRegions as $uneRegion)
{ if($uneRegion['pIndice']===$lesInfosUtilisateur['uRegion']){$selected = "selected";} else {$selected = null;}
echo '
<option '.$selected.' value="'.$uneRegion['pIndice'].'*'.$uneRegion['pCategorie'].'">'.$uneRegion['pLibelle'].'</option>';
}
echo ("
</select></td> </tr>
</table>
</fieldset>
<table style='border: 0px solid white; '>
<tr>
<td style='border: 0px solid white;'>
<fieldset><legend>Laboratoire</legend>
<select name = 'ldrLabo' style='width:200px;'>");
foreach ($lesLabos as $unLabo)
{ if($unLabo['lCode']===$lesInfosUtilisateur['uLabo']){$selected = "selected";} else {$selected = null;}
echo '
<option '.$selected.' value="'.$unLabo['lCode'].'">'.$unLabo['lNom'].'</option>';
}
echo ("
</select></td> </tr>
</table>");
}
?>
<td style='border: 0px solid white; witdh:130px; text-align:right;'>
<input type="hidden" name="zTypeAdm" value="<?php if ($_SESSION['statut']==0) {echo ("true");} else {echo ("false");} ?>">
<input type="hidden" name="zOk" value="OK">
<input type="image" name="btValider" alt="Valider" src="images/valider.jpg" value="OK" >
<input type="image" name="btAnnuler" alt="Annuler" src="images/annuler.jpg" value="nonOK" onclick="annuler('frmA');">
</td>
</tr>
</table>
</form>