From 19cdd5e2fde57d53f05570cd50f5ffd223182566 Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Sat, 30 Jun 2018 11:26:37 +0200 Subject: Renommage pour diff entre appli_3_alpha_old et beta_old1 --- beta_old1/app/include/connect.inc.php | 14 + beta_old1/app/include/ical.inc.php | 68 +++ beta_old1/app/include/je.inc.php | 244 ++++++++++ beta_old1/app/include/ju.inc.php | 230 +++++++++ beta_old1/app/include/ludo/TODO_list.txt | 24 + beta_old1/app/include/ludo/auth.inc.php | 78 ++++ beta_old1/app/include/ludo/config.inc.php | 73 +++ beta_old1/app/include/ludo/div_create_or_modif.php | 79 ++++ beta_old1/app/include/ludo/fonctions.inc.php | 515 +++++++++++++++++++++ beta_old1/app/include/ludo/html_elements.inc.php | 183 ++++++++ beta_old1/app/include/ludo/mail_textarea.php | 44 ++ beta_old1/app/include/ludo/majDispo.php | 41 ++ beta_old1/app/include/ludo/redir.inc.php | 20 + beta_old1/app/include/ludo/session_verify.inc.php | 9 + 14 files changed, 1622 insertions(+) create mode 100644 beta_old1/app/include/connect.inc.php create mode 100644 beta_old1/app/include/ical.inc.php create mode 100644 beta_old1/app/include/je.inc.php create mode 100644 beta_old1/app/include/ju.inc.php create mode 100644 beta_old1/app/include/ludo/TODO_list.txt create mode 100644 beta_old1/app/include/ludo/auth.inc.php create mode 100644 beta_old1/app/include/ludo/config.inc.php create mode 100644 beta_old1/app/include/ludo/div_create_or_modif.php create mode 100644 beta_old1/app/include/ludo/fonctions.inc.php create mode 100644 beta_old1/app/include/ludo/html_elements.inc.php create mode 100644 beta_old1/app/include/ludo/mail_textarea.php create mode 100644 beta_old1/app/include/ludo/majDispo.php create mode 100644 beta_old1/app/include/ludo/redir.inc.php create mode 100644 beta_old1/app/include/ludo/session_verify.inc.php (limited to 'beta_old1/app/include') diff --git a/beta_old1/app/include/connect.inc.php b/beta_old1/app/include/connect.inc.php new file mode 100644 index 0000000..b985b10 --- /dev/null +++ b/beta_old1/app/include/connect.inc.php @@ -0,0 +1,14 @@ +, , ); +$link = @mysql_connect('localhost', 'lud_restricted', 'maille_ess_ku_elle'); + +@mysql_select_db($bd , $link); + +// NB : La gestion d'erreur est inhibée. Cet include ne génèrera jamais de code, même si la connexion n'a pas pu être établie +?> \ No newline at end of file diff --git a/beta_old1/app/include/ical.inc.php b/beta_old1/app/include/ical.inc.php new file mode 100644 index 0000000..e79570b --- /dev/null +++ b/beta_old1/app/include/ical.inc.php @@ -0,0 +1,68 @@ + NOW() '; + if ( ! $result = @mysql_query($query) ) + { + // Cas d'erreur + $errmsg =mysql_generate_errmsg(); + return ERR_ICAL_SQL_ERROR; + } + else + { + if (mysql_num_rows($result)<1) + { + return ERR_ICAL_NO_DATA; + } + else + { + $time = time(); + $iCal_name = "iCal_${idP}_${time}.ics"; + $iCal_content = "BEGIN:VCALENDAR\r\n" . "VERSION:2.0\r\n"; + while ( list($idR, $objetR, $courrielP, $dateDeb, $duree, $lieuR, $ordreJourR, $idL) = mysql_fetch_array($result) ) + { + // TODO : Il est probablement judicieux d'ajouter à l'UID un timestamp unix !!!!! + $iCal_content .= "BEGIN:VEVENT\r\n" . "UID:awor_${idP}.${idR}\r\n" . "SUMMARY:$objetR ($courrielP)\r\n"; + $iCal_content .= 'DTSTART:' . date('Ymd\THis', $dateDeb) . "\r\n"; + $iCal_content .= 'DTEND:' . date('Ymd\THis', $dateDeb+60*$duree) . "\r\n"; + $iCal_content .= "LOCATION:$lieuR\r\n"; + $iCal_content .= "DESCRIPTION:$ordreJourR\r\n"; + + $query = 'SELECT P.courrielP FROM Appartenir A,Personne P' . " WHERE A.idP=P.idP AND A.idL='$idL'"; + if ( ! $result = mysql_query($query) ) + { + // Cas d'erreur + $errmsg =mysql_generate_errmsg(); + $ret=ERR_ICAL_SQL_ERROR; + break; + } + else + { + while ( list($mail_autres) = mysql_fetch_array($result) ) + { + $iCal_content .= "ATTENDEE:mailto:$mail_autres\r\n"; + } + } + // TODO : vérifier la pertinance de la variable utilisée + $iCal_content .= 'URL:http://' . $_SERVER['HTTP_HOST'] . "\r\n"; + $iCal_content .= "END:VEVENT\r\n"; + } + $iCal_content .= "END:VCALENDAR\r\n"; + return 0; + } + } +} +?> \ No newline at end of file diff --git a/beta_old1/app/include/je.inc.php b/beta_old1/app/include/je.inc.php new file mode 100644 index 0000000..3c87753 --- /dev/null +++ b/beta_old1/app/include/je.inc.php @@ -0,0 +1,244 @@ + 0) + { + return (mysql_insert_id()); + } + return (false); + } + + function list_modif($idL,$tabParticipant) + { + $result = mysql_query("SELECT P.idP,P.courrielP FROM Appartenir A, Personne P WHERE P.idP = A.idP AND A.idL=$idL") or die (mysql_error()); + if (mysql_num_rows($result)>=0) + { + //Fabrication des trois tableaux + $tabOldPers = array(); + $tabOldPersMail = array(); + $tabNewPers = array(); + if (!empty($tabParticipant)) $tabNewPers = $tabParticipant; + for($i=0;$i0) + { + $row = mysql_fetch_array($result); + return ($row['idP']); + } + else + { + $result = mysql_query("INSERT INTO Personne (courrielP,loginP,nomP) VALUES ('$persMail','$persMail','$persMail')"); + return (mysql_insert_id()); + } + + return (false); + } + + + + //Fonction qui affiche toutes les liste public ainsi que les liste privée possédées par idP + function generate_html_array_list ($idP) + { + $result = mysql_query("SELECT idL,libelleL,estPrivee,idP_Createur FROM Liste WHERE idP_Createur=$idP OR estPrivee='non' ORDER BY estPrivee,libelleL"); + echo "\n\n\n\n\n\n"; + if (mysql_num_rows($result)>0) + { + + for($i=0;$i\n\n" ; else echo "\n"; + if ($row['estPrivee'] == 'oui') echo "\n\n"; + echo "\n"; + } + + } + echo "
SupprimerTypeLibellé
"; + if ($row['estPrivee'] == 'oui' || $row['idP_Createur']==$idP) echo "\"SupprimerestPrivée" ; else echo "Public"; + echo ""; + echo ""; + echo $row['libelleL']; + echo "
\n"; + + } + + function traiter_formulaire_commentaire() + { + if ($_GET['txtCommentaire'] != "") + { + require_once ('include/connect.inc.php'); + if (isset($_GET['idR'])) + { + $query="UPDATE Repondre SET commentaireReponse ='".$_GET['txtCommentaire']."' WHERE idR=".$_GET['idR']." AND idP=".$_SESSION['session_idP']; + $result = @mysql_query($query); + if ( ! $result || ( mysql_affected_rows() !== 1 ) ) + { + $query="INSERT INTO Repondre(idR,idP,commentaireReponse) VALUES (".$_GET['idR'].", ".$_SESSION['session_idP'].", '".$_GET['txtCommentaire']."')"; + + $result = mysql_query($query); + if ( ! $result || ( mysql_affected_rows() !== 1 )) + { + echo $query; + echo "Erreur BD\n"; + return; + } + } + } + } + else + { + $query="DELETE FROM Repondre WHERE idR=".$_GET['idR']." AND idP=".$_SESSION['session_idP']; + $result = mysql_query($query); + } + } + + // Modifiée par Ludo pour les problèmes de vriables de session et pour d'autres détails : + // S'il n'y a pas de commentaire, on affiche le tableau vide + function generate_html_reunion_commentaires($idR) + { + $idP = $_SESSION['session_idP']; + echo ''; + echo ''; + echo ''; + echo ""; + echo ''; + echo ''; + $requete = "SELECT P.nomP,P.prenomP,P.courrielP,R.commentaireReponse FROM Repondre R,Personne P WHERE P.idP = R.idP AND R.idR = '".$idR."'"; + //echo "DEBUG : requete : $requete\n"; + $resultat = mysql_query($requete); + if($resultat != false) + { + if(mysql_num_rows($resultat) > 0) + { + while($pers = mysql_fetch_array($resultat)) + { + echo '\n"; + + } + } + else + { + echo "\n"; + } + } + + echo '
Commentaires (Editer votre commentaire)
'; + if ($pers["nomP"] !== "" || $pers["prenomP"] !== "") echo $pers["nomP"] . " " . $pers["prenomP"]; else echo $row["courrielP"]; + echo " : ".$pers["commentaireReponse"]."
Aucun commentaire pour le moment.
'; + + } + + +?> \ No newline at end of file diff --git a/beta_old1/app/include/ju.inc.php b/beta_old1/app/include/ju.inc.php new file mode 100644 index 0000000..49f0322 --- /dev/null +++ b/beta_old1/app/include/ju.inc.php @@ -0,0 +1,230 @@ +\n"; + if(isset($debug)) echo "DEBUG : ".$requete."
\n"; + return "Erreur : Une erreur MySQL est survenu."; + } + } + else + { + return "Erreur Uploader file"; + } + } + else + { + return "Erreur : Un fichier de meme nom existe deja"; + } + } + else + { + return "Erreur : Le fichier n'a pas ete uploader correctement."; + } + } + else + { + switch($_FILES[$file]["error"]) + { + case 1 : return "Erreur : Le fichier a une taille trop importante."; break; + case 2 : return "Erreur : Le fichier a une taille trop importante."; break; + case 3 : return "Erreur : Le fichier n'a pas ete envoye en entier."; break; + case 4 : return "Erreur : Aucun fichier recu."; break; + } + echo $erreur; + } + } + else + { + return "isset"; + } +} + + +function generate_html_reunion_fichiers($idR) +{ + $requete = "SELECT * FROM Fichier WHERE idR = '".$idR."'"; + $resultat = mysql_query($requete); + if($resultat != false) + { + echo ''; + echo ''; + echo ''; + echo ''; + echo ''."\n"; + echo ''; + if(mysql_num_rows($resultat) > 0) + { + while($fichier = mysql_fetch_array($resultat)) + { + echo "\n"; + } + } + else + { + echo "\n"; + } + echo '
Fichiers attachés (Ajouter un fichier)
".$fichier["nomFic"]."
Aucun fichier pour cette reunion.
'; + } +} + +function traiter_formulaire_valider_creneau() +{ + $tabCreneau = array(); + if(isset($_REQUEST["dataCreneaux"])) + { + //Pour chaque creneau poste, on verifie s'il existe, si non on le creer + foreach($_REQUEST['dataCreneaux'] as $creneau) + { + $tabCreneau = explode(".", $creneau); + $heureD = substr($tabCreneau[0], 0, 2); + $minD = substr($tabCreneau[0], 2, 2); + $heureA = substr($tabCreneau[1], 0, 2); + $minA = substr($tabCreneau[1], 2, 2); + $jourA = $tabCreneau[2]; + $moisA = $tabCreneau[3]; + $anneeA = $tabCreneau[4]; + //Si un creneau n'existe pas on le creer + $idCreneau = creneauExiste($_REQUEST["idR"], $heureD, $minD, $heureA, $minA, $jourA, $moisA, $anneeA); + if($idCreneau == false) + { + $newIdC = ajouterCreneau($_REQUEST["idR"], $heureD, $minD, $heureA, $minA, $jourA, $moisA, $anneeA); + if($newIdC != false) + { + $tabNewCreneau[] = $newIdC; + } + + } + else + { + $tabNewCreneau[] = $idCreneau; + } + } + // tabCreneau contient les tous les creneaux dont on a besoin pour la reunion, il faut maintenant supprimer de la base + // tous les creneaux de la reunion qui n'apparaissent pas dans cette liste + $listeCreneau = "("; + foreach($tabNewCreneau as $creneau) + { + $listeCreneau .= "'".$creneau."', "; + } + $listeCreneau .= "'XXX')"; + if(isset($debug)) echo $listeCreneau; + + //On recupere les creneaux ne faisant plus partie de la novuelle liste des creneaux + $requete = "SELECT * FROM Creneau WHERE idR='".$_REQUEST["idR"]."' AND idC NOT IN ".$listeCreneau; + echo $requete; + if($resultat = mysql_query($requete)) + { + while($ligne = mysql_fetch_array($resultat)) + { + supprimerCreneau($ligne["idC"]); + } + } + } +} + +function traiter_formulaire_maj_profil() +{ + $requete = "UPDATE Personne SET courrielP = '".$_POST["courrielP"]."', loginP = '".$_POST["loginP"]."', nomP = '".$_POST["nomP"]."', prenomP = '".$_POST["prenomP"]."', methodeAuth = '".$_POST["methodeAuth"]."' WHERE idP = '".$_SESSION['session_idP']."'"; + if(mysql_query($requete) == false) return "Une erreur MySQL est survenu : ".mysql_error(); + $_SESSION['session_prenomP'] = $_POST["prenomP"]; + $_SESSION['session_nomP'] = $_POST["nomP"]; + //print_r($_POST); +} + +function ajouterCreneau($idR, $heureD, $minD, $heureA, $minA, $jourA, $moisA, $anneeA) +{ + $dateD = mktime($heureD, $minD, 0, $moisA, $jourA, $anneeA); + $dateA = mktime($heureA, $minA, 0, $moisA, $jourA, $anneeA); + $duree = $dateA - $dateD; + $dateD = date("Y-m-d G:i:s", $dateD); + $duree = $duree / 60; + $requete = "INSERT INTO Creneau (dateHeure, duree, idR) VALUES ('".$dateD."', '".$duree."', '".$idR."')"; + if(isset($debug)) echo $requete."
"; + if(mysql_query($requete)) { return mysql_insert_id(); } else { return false; } +} + +function ajouterCreneau2($idR, $dateHeure, $duree) +{ + $requete = "INSERT INTO Creneau (dateHeure, duree, idR) VALUES ('".$dateHeure."', '".$duree."', '".$idR."')"; + if(mysql_query($requete)) + { + return mysql_insert_id(); + } + else + { + return false; + } +} + +function supprimerCreneau($idC) +{ + if(mysql_query("DELETE FROM Creneau WHERE idC='".$idC."'")) + { + if(mysql_query("DELETE FROM Choisir WHERE idC='".$idC."'")) + { + return true; + } + else + { + return false; + } + } + else + { + return false; + } +} + +function creneauExiste($idR, $heureD, $minD, $heureA, $minA, $jourA, $moisA, $anneeA) +{ + $dateD = mktime($heureD, $minD, 0, $moisA, $jourA, $anneeA); + $dateA = mktime($heureA, $minA, 0, $moisA, $jourA, $anneeA); + $duree = $dateA - $dateD; + $dateD = date("Y-m-d G:i:s", $dateD); + $duree = $duree / 60; + $requete = "SELECT * FROM Creneau WHERE idR='".$idR."' AND dateHeure='".$dateD."' AND duree=".$duree.""; + if($result = mysql_query($requete)) + { + if(mysql_num_rows($result) > 0) + { + $ligne = mysql_fetch_array($result); + return $ligne["idC"]; + } + else + { + return false; + } + } +} + +function addslashes_if_needed($texte) +{ + if(get_magic_quotes_gpc() == 0) + { + return addslashes($texte); + } + else + { + return $texte; + } +} +?> \ No newline at end of file diff --git a/beta_old1/app/include/ludo/TODO_list.txt b/beta_old1/app/include/ludo/TODO_list.txt new file mode 100644 index 0000000..724c46c --- /dev/null +++ b/beta_old1/app/include/ludo/TODO_list.txt @@ -0,0 +1,24 @@ +Accueil > _Listes_ (virer le lien) + +mysql_free_result après les requetes et mysql_close ? + +configuration de PHP dans un fichier INI : +array parse_ini_file ( string filename [, bool process_sections] ) + + +Vérifier que les redirections vers authentification et le retour fasse bien suivre les paramètres +--> bookmarque details_reunion?idR=1 + + +faire une fonction JS qui appelle une page php ou créer toute seule un cookie qui gère la préférence du css. + +Se préoccuper des accents et des encodages de pages ! + +Faire un pied de page avec nos noms, et les logos valide XHTML, CSS... + +TODO : un script php qui purge la base +-> export SQL ancienne base ? +-> suppression des réunions plus vielles que... +-> suppression des Personnes n'ayant jamais changé leur profil et n'ayant plus de réunion les concernant +-> suppression de tout les créneaux non référencés +-> suppression de toutes les listes privées obsoletes diff --git a/beta_old1/app/include/ludo/auth.inc.php b/beta_old1/app/include/ludo/auth.inc.php new file mode 100644 index 0000000..18b339d --- /dev/null +++ b/beta_old1/app/include/ludo/auth.inc.php @@ -0,0 +1,78 @@ + \ No newline at end of file diff --git a/beta_old1/app/include/ludo/config.inc.php b/beta_old1/app/include/ludo/config.inc.php new file mode 100644 index 0000000..51d6d73 --- /dev/null +++ b/beta_old1/app/include/ludo/config.inc.php @@ -0,0 +1,73 @@ + 'jmi@iut-blagnac.fr', + 'automatedMail' => 'no_reply@iut-blagnac.fr', + 'AUTH' => array + ( + 'POP' => array + ( + 'SERVERS' => array + ( + 'wanadoo.fr' => array + ( + 'subdomain' => 'pop.orange.fr', + 'port' => 110, + 'username_is_full_mail' => false + ), + 'orange.fr' => array + ( + 'subdomain' => 'pop.orange.fr', + 'port' => 110, + 'username_is_full_mail' => false + ) + ) + ), + 'bypass_if_local' => false + ), + 'CSS' => array + ( + 'CHOOSER_LIST' => array + ( + // 'nom à afficher' => 'nom_fichier_sans_extension' + 'standard' => 'ice', + 'Glace (ancien)' => 'ice_moche', + 'bleu' => 'style1' + ) + ), + 'MAIL' => array + ( + 'TEMPLATES' => array + ( + 'cree' => array + ( + 'caption' => 'Nouvelle Réunion', + 'tpl_file' => 'mail_cree.php' + ), + 'modif' => array + ( + 'caption' => 'Réunion modifiée', + 'tpl_file' => 'mail_modif.php' + ), + 'annul' => array + ( + 'caption' => 'Réunion annulée', + 'tpl_file' => 'mail_annul.php' + ), + 'fixee' => array + ( + 'caption' => 'Réunion fixée', + 'tpl_file' => 'mail_fixee.php' + ) + ) + ), + 'SUPERUSERS' => array ('jeremie.denoyer', 'lpouzenc'), + 'UPLOAD' => array + ( + 'accepted_files' => array + ( + 'jpg', 'jpeg', 'gif', 'png', 'svg', 'pdf', 'ps', 'txt', 'rtf', 'csv', 'doc', 'docx', 'ppt', 'xls', 'sxw','sxp','sxd', 'odt', 'odg', 'odp', 'avi', 'mpg', 'mpeg', 'rm', 'flv', 'mp3', 'mp4', 'ogg','htm','html','zip', 'rar', 'tar', 'gz', 'bz2', 'ace' + ) + ) +); +?> diff --git a/beta_old1/app/include/ludo/div_create_or_modif.php b/beta_old1/app/include/ludo/div_create_or_modif.php new file mode 100644 index 0000000..5849180 --- /dev/null +++ b/beta_old1/app/include/ludo/div_create_or_modif.php @@ -0,0 +1,79 @@ + +
+ +' +?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
Objet : + > +
Lieu : + > +
Ordre du jour : + +
Remarques : + +
Etat : + Annulée + +
+ + Annuler"; + ?> +
+
\ No newline at end of file diff --git a/beta_old1/app/include/ludo/fonctions.inc.php b/beta_old1/app/include/ludo/fonctions.inc.php new file mode 100644 index 0000000..7411000 --- /dev/null +++ b/beta_old1/app/include/ludo/fonctions.inc.php @@ -0,0 +1,515 @@ +\n "; } + // Cas général, on n'est pas la personne concernée + if ( ! isset($estDispo) || $estDispo == '' ) + { // Dispo Inconnue (icone ?) + generate_html_dispo_inconnu($idP, $idC); + } + else + { + if ( $estDispo == 'oui' ) + { // Disponible + generate_html_dispo_oui($idP, $idC); + }else + { // Non Disponible + generate_html_dispo_non($idP, $idC); + } + } + } + else + { + if ( $withTD ) { echo " \n "; } + // On est la personne concernée, on peut donc choisir le créneau + if ( ! isset($estDispo) || $estDispo == '' ) + { // Dispo Inconnue + generate_html_dispo_dire_oui($idR, $idC); + //~ echo '   '; + generate_html_dispo_dire_non($idR, $idC); + } + else + { + if ( $estDispo == 'oui' ) + { // Disponible + generate_html_dispo_oui($idP, $idC); + //~ echo '   '."\n "; + generate_html_dispo_dire_non($idR, $idC); + }else + { + // Non Disponible + generate_html_dispo_dire_oui($idR, $idC); + //~ echo '   '."\n "; + generate_html_dispo_non($idP, $idC); + } + } + } + if ( $withTD ) { echo " \n"; } +} + +// Génération du tableau complet +// TODO : idée : class du tableau différnete quand annulée -> tableau grisé... + +function generate_html_array_personnes_crenaux($idR) +{ + if ( isset($_SESSION['session_idP']) ) + { + $idP_Self=$_SESSION['session_idP']; + } + else + { + // TODO : Erreur + } + + // Connexion à la base et sélection de la database + require_once 'include/connect.inc.php'; + + // Récupération des paramètres de la réunion... + $montrerDispoR=$estAnnulee=$is_admin=$estFixee=false; + $idP_orga=null; + $query="SELECT r.montrerDispoR, r.estAnnulee, r.idP_Orga, r.idC_Fixe, r.idL FROM Reunion r WHERE r.idR='$idR'"; + $result = @mysql_query($query); + if ( $result && ( mysql_num_rows($result) === 1 ) ) + { + list($montrerDispoR, $estAnnulee, $idP_orga, $idC_Fixe, $idL_interne) = mysql_fetch_row($result); + $is_admin = ( $idP_Self == $idP_orga ); + $montrerDispoR = ( ( $montrerDispoR === 'oui' ) || $is_admin ) ; + //echo "DEBUG : annulée $estAnnulee\n"; + $estAnnulee = ( $estAnnulee == 'oui' ); + $estFixee = ( $idC_Fixe != null); + } + else + { + // TODO : erreur + } + // DEBUG : tests en forçant les variables + //$estAnnulee=true; + + //~ echo "DEBUG : \nmontrerDispoR==$montrerDispoR\nestAnnulee==$estAnnulee\nestFixee==$estFixee\nis_admin==$is_admin\n"; +?> +
+ + + +Mail' . "\n"; + } + echo ' ' . "\n"; + + // Remplissage des entêtes de colonnes (créneaux) + $query="SELECT idC, UNIX_TIMESTAMP(dateHeure), duree FROM Creneau WHERE idR='$idR' ORDER BY dateHeure ASC;"; + $creneaux=array(); + $dispos=array(); + if ( $result = @mysql_query($query) ) + { + while ( list($idC, $date_deb, $duree) = mysql_fetch_row($result) ) + { + // Calcul des dates + //echo $date_deb . "\n"; + $date_fin = $date_deb + 60 * $duree; + if ( $idC != $idC_Fixe ) { echo ' \n"; + + // Comptage des personnes disponibles et indisponibles + $creneaux[] = $idC; + $dispos[$idC]['nbDispo']=0; + $dispos[$idC]['nbNonDispo']=0; + $dispo_max_id=-1; + $dispo_max_val=0; + } + } + if ( $is_admin && ! $estFixee && ! $estAnnulee ) + { +?> + + + + + + $dispo_max_val ) + { + $dispo_max_id=$idC; + $dispo_max_val=$dispos[$idC]['nbDispo']; + } + } + } + } + //print_r($dispos); + + + $query='SELECT p.idP, p.prenomP, p.nomP FROM Personne p, Appartenir a, Reunion r WHERE ' + . "r.idR='$idR' AND a.idL=r.idL AND p.idP=a.idP ORDER BY p.nomP, p.prenomP;"; + + if ( $result = @mysql_query($query) ) + { + // On écrit ligne à ligne les personnes et les disponibilités + while ( $p = mysql_fetch_array($result) ) // Boucle sur chaque personne + { + echo " \n"; + // Colonne de checkbox pour envoi email si $is_admin == true + if ( $is_admin ) { echo ' ' . "\n"; } + // Nom prénom + echo " \n"; + // Disponibilités + foreach ( $creneaux as $c_id ) // Pour chaque créneau + { + if (isset($dispos[$c_id][$p[0]])) + { + $estDispo=$dispos[$c_id][$p[0]]; + } + else + { + $estDispo=''; + } + //echo "DEBUG : generate_html_dispo_case($p[0], $c_id, ( $p[0]==$idP_Self ), $estDispo);\n"; + if ( $c_id != $idC_Fixe ) { $class=''; } else { $class='class="selected"'; } + + generate_html_dispo_case($idR, $p[0], $c_id, ( ! $estFixee && ! $estAnnulee && ( $p[0]==$idP_Self ) ),$estDispo, true, $class); + } + // Colonne vide pour l'ajout de personnes + if ( $is_admin && ! $estFixee && ! $estAnnulee ) { echo " \n"; } + echo " \n"; + } + // Si $is_admin, on met une ligne avec bouton envoyer pour les mails et icône ajout de personnes + if ( $is_admin ) + { + echo " \n + + \n"; } + if ( $is_admin && ! $estFixee && ! $estAnnulee ) { echo " \n"; } + echo " \n"; + } + + // On inscrit les lignes de totaux si les disponibilités sont révélées + if ( $is_admin && ! $estFixee && ! $estAnnulee) + { + echo " \n"; + echo " \n"; + echo " \n"; + foreach ( $creneaux as $c_id ) + { + if ( $c_id == $dispo_max_id ) + { + echo ' \n"; + } + else + { + echo ' \n"; + } + } + echo " \n"; + echo " \n"; + + echo " \n"; + echo " \n"; + echo " \n"; + foreach ( $creneaux as $c_id ) + { + echo ' \n"; + } + echo " \n"; + echo " \n"; + } + } + echo " \n"; + echo "
' ."\n"; + if ( $is_admin ) + { + echo ' ' . "\n"; + echo ' Ajouter une personne' . "\n"; + echo '  '; + } + echo 'Personnes' . "\n"; + echo ' '; } else { echo ' '; } + if ( $is_admin && ! $estFixee && ! $estAnnulee ) + { + echo ''; + } + echo date('d/m/y', $date_deb) . '
' . date('H:i', $date_deb) . ' - ' . date('H:i', $date_fin); + if ( $is_admin && ! $estFixee && ! $estAnnulee ) { echo '
'; } + echo "
+ + Editer les creneaux + +
$p[1] $p[2] 
\n"; + echo ' ' . "\n"; +?> + + + ' . "\n"; + ?> + Ajouter une personne + +  
 Personnes présentes' . $dispos[$c_id]['nbDispo'] . "' . $dispos[$c_id]['nbDispo'] . " 
 Personnes absentes' . $dispos[$c_id]['nbNonDispo'] . " 
\n
\n"; +} + +function traiter_formulaire_fixer_creneau() +{ + if ( ! isset($_GET['idR']) || !isset($_GET['idC']) ) + { + $errmsg="Impossible de fixer la réunion : paramètres manquants ou erroné"; + return $errmsg; + } + $idR=addslashes($_GET['idR']); + $idC=addslashes($_GET['idC']); + + $query="UPDATE Reunion SET idC_Fixe=$idC WHERE idR=$idR;"; + if ( ! mysql_query($query) || mysql_affected_rows() != 1 ) + { + $errmsg='Impossible de fixer la réunion : ' . mysql_generate_errmsg(); + return $errmsg; + } + return; +} + +function traiter_formulaire_creer_reunion() +{ + include_once('include/je.inc.php'); + $idP=$_SESSION['session_idP']; + + // Recherche d'une réunion vierge déjà existante + $query='SELECT idR FROM Reunion WHERE idP_Orga=' . "('$idP') AND objetR='Renseignez';"; + if ( ( $result = mysql_query($query) ) && (mysql_num_rows($result) > 0) ) + { + list($idR)=mysql_fetch_array($result); + } + else + { + // Création de la Réunion sauf si une réunion vierge existe déjà + $query='INSERT INTO Reunion(idP_Orga, objetR) VALUES' . "('$idP', 'Renseignez');"; + if ( ! $result = @mysql_query($query) || (mysql_affected_rows() != 1) ) + { + // Cas d'erreur + $errmsg ='Erreur lors de la création de la liste de participants : ' . mysql_generate_errmsg(); + return $errmsg; + } + $idR=mysql_insert_id(); + + // Création de la Liste des participants + if ( ! $idL=list_new("interne_idR_$idR","NULL",true) ) + { + $errmsg ='Erreur lors de la création de la liste de participants : Erreur de base de données'; + return $errmsg; + } + + $query="UPDATE Reunion SET idL='$idL' WHERE idR='$idR'"; + if ( ! $result = @mysql_query($query) || (mysql_affected_rows() != 1) ) + { + // Cas d'erreur + $errmsg = 'Erreur lors de la création de la liste de participants : ' . mysql_generate_errmsg(); + return $errmsg; + } + } + + return (int) $idR; +} + +function traiter_formulaire_modif_detail_reunion() +{ + if ( ! isset($_REQUEST['idR']) || !isset($_POST['objetR']) || !isset($_POST['lieuR']) || !isset($_POST['ordreJourR']) || !isset($_POST['remarquesR']) ) + { + $errmsg = 'Impossible de modifier de détail de la réunion : Paramètres manquants'; + // DEBUG : + //echo "DEBUG : $query\n$errmsg\n"; + return $errmsg; + } + + $idR=addslashes($_REQUEST['idR']); + $objetR=addslashes($_POST['objetR']); + $lieuR=addslashes($_POST['lieuR']); + $ordreJourR=addslashes($_POST['ordreJourR']); + $remarquesR=addslashes($_POST['remarquesR']); + $estAnnulee=( isset($_POST['isCancelled']) && ($_POST['isCancelled']==='on') )?'oui':'non'; + + $query="UPDATE Reunion SET objetR='$objetR', lieuR='$lieuR', ordreJourR='$ordreJourR', remarquesR='$remarquesR', estAnnulee='$estAnnulee' WHERE idR='$idR'"; + if ( ! $result = @mysql_query($query) || (mysql_affected_rows() != 1) ) + { + // Cas d'erreur + $errmsg = 'Erreur lors de la modification de la réunion : ' . mysql_generate_errmsg(); + // DEBUG : + //echo "DEBUG : $query\n$errmsg\n"; + return $errmsg; + } + // DEBUG : + //echo "DEBUG : $query\n$errmsg\n"; + return; +} + +function generate_html_reunion_detail2($idR) +{ + $query='SELECT r.objetR, r.ordreJourR, r.lieuR, r.remarquesR, r.montrerDispoR, r.estAnnulee, r.idP_Orga, r.idC_Fixe, p.nomP, p.prenomP' + . " FROM Reunion r, Personne p WHERE r.idR='$idR' AND p.idP=r.idP_Orga"; + $result = @mysql_query($query); + if ( ! $result || ( mysql_num_rows($result) !== 1 ) ) + { + $errmsg="Impossible de récuprérer les informations de la réunion : Erreur de base de données\n"; + return $errmsg; + } + + list($objetR, $ordreJourR, $lieuR, $remarquesR, $montrerDispoR, $estAnnulee, $idP_Orga, $idC_Fixe, $nomP, $prenomP) = mysql_fetch_row($result); + if ( $estAnnulee=='oui' ) { $etat = 'reunion_annulee'; } elseif ( $idC_Fixe!=null) { $etat ='reunion_fixee'; } else { $etat = 'reunion_en_cours'; } + +?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +' ."\n"; + switch($etat) + { + case 'reunion_fixee': + echo "Fixée\n"; + break; + case 'reunion_en_cours': + echo "En préparation\n"; + break; + case 'reunion_annulee': + echo "Annulée\n"; + break; + } + if ( $montrerDispoR === 'non' ) { echo ', disponibilités masquées'; } +?> + + + +
+ Détails de la réunion +(Editer)\n"; + } + +?> +
Objet : + +
Organisateur : + +
Lieu : + +
Ordre du jour : + +
Remarques : + +
Etat :
+ diff --git a/beta_old1/app/include/ludo/html_elements.inc.php b/beta_old1/app/include/ludo/html_elements.inc.php new file mode 100644 index 0000000..41fd812 --- /dev/null +++ b/beta_old1/app/include/ludo/html_elements.inc.php @@ -0,0 +1,183 @@ +'."\n" +?> + + + + AWOR - $title\n"; ?> + + + + +' . "\n"; + echo ' ' . "\n"; + + if ( isset($CONFIG['CSS']['CHOOSER_LIST']) ) + { + foreach ( $CONFIG['CSS']['CHOOSER_LIST'] as $cssname => $cssfile ) + { + if ( $cssfile != $cssfilemain ) + { + echo ' ' . "\n"; + echo ' ' . "\n"; + } + } + } +?> + + + +

AWOR

+ +' . "\n

?

\n" . "\n"; + echo '
' . "\n

Aide

\n"; + readfile($help_file); + echo "
\n"; + } +} + +function generate_html_div_errmsg($errmsg) +{ + echo '
' . "\n" . '' . $errmsg . "\n"; + require_once('config.inc.php'); + if ( isset( $CONFIG['adminMail'] ) && ( ! isset($_REQUEST['debug'] ) ) ) + { + echo 'Si le problème persiste, vous pouvez contacter l\'administrateur par email à l\'adresse suivante : '; + echo '' . $CONFIG['adminMail'] . "\n"; + } + echo "
\n"; +} + +function generate_html_div_css_chooser() +{ + @include 'include/ludo/config.inc.php'; + @include 'config.inc.php'; + + if ( ! is_array($CONFIG['CSS']['CHOOSER_LIST']) ) { return false; } + + if ( isset($_COOKIE['awor']['custom_css'] ) ) { $css_selected=$_COOKIE['awor']['custom_css']; }else{$css_selected='';}; + echo '
' . "\n"; + echo ' '. "\n"; + echo '
'. "\n"; +} + +function generate_html_div_footer() +{ +?> + +Deconnexion'."\n"; +} +function generate_html_div_back() +{ + echo ''."\n"; +} + +function generate_html_dispo_inconnu($idP, $idC) +{ + echo 'Inconnu' . "\n"; +} + +function generate_html_dispo_oui($idP, $idC) +{ + echo 'Disponible' . "\n"; +} + +function generate_html_dispo_non($idP, $idC) +{ + echo 'Non disponible' . "\n"; +} + +function generate_html_dispo_dire_oui($idR, $idC) +{ + //~ echo 'Dire que je suis disponible' . "\n"; + echo ""; + echo 'Dire que je suis disponible' . "\n"; +} + +function generate_html_dispo_dire_non($idR, $idC) +{ + echo ""; + echo 'Dire que je suis pas disponible' . "\n"; +} + +function generate_html_reunion_detail_button($idR) +{ + echo 'Détails'; +} diff --git a/beta_old1/app/include/ludo/mail_textarea.php b/beta_old1/app/include/ludo/mail_textarea.php new file mode 100644 index 0000000..cf4b6d7 --- /dev/null +++ b/beta_old1/app/include/ludo/mail_textarea.php @@ -0,0 +1,44 @@ + + + + diff --git a/beta_old1/app/include/ludo/majDispo.php b/beta_old1/app/include/ludo/majDispo.php new file mode 100644 index 0000000..ab7c200 --- /dev/null +++ b/beta_old1/app/include/ludo/majDispo.php @@ -0,0 +1,41 @@ + \ No newline at end of file diff --git a/beta_old1/app/include/ludo/redir.inc.php b/beta_old1/app/include/ludo/redir.inc.php new file mode 100644 index 0000000..6baf40d --- /dev/null +++ b/beta_old1/app/include/ludo/redir.inc.php @@ -0,0 +1,20 @@ + + +

Redirection

+

Si vous voyez cette page, merci de suivre le lien ci-dessous

+' . $dest . '

' . "\n"; +?> + + + \ No newline at end of file diff --git a/beta_old1/app/include/ludo/session_verify.inc.php b/beta_old1/app/include/ludo/session_verify.inc.php new file mode 100644 index 0000000..f1cea8b --- /dev/null +++ b/beta_old1/app/include/ludo/session_verify.inc.php @@ -0,0 +1,9 @@ + \ No newline at end of file -- cgit v1.2.3