diff options
75 files changed, 692 insertions, 1198 deletions
diff --git a/beta_accents/app/admin.php b/beta_accents/app/admin.php index 4248d2a..aad3277 100644 --- a/beta_accents/app/admin.php +++ b/beta_accents/app/admin.php @@ -32,22 +32,22 @@ generate_html_divs_menu(); $_REQUEST['action'](); break; default: - $errmsg = 'Impossible de traiter la requete : paramètre erroné'."\n"; + $errmsg = 'Impossible de traiter la requete : paramètre erroné'."\n"; } } if ( !isset($_SESSION['session_loginP']) || ( !is_integer(array_search($_SESSION['session_loginP'],$CONFIG['SUPERUSERS'],true))) ) { - $errmsg='Vous n\'avez pas le droit de consulter cette page : vous n\'êtes pas un administrateur !'; + $errmsg='Vous n\'avez pas le droit de consulter cette page : vous n\'êtes pas un administrateur !'; generate_html_div_errmsg($errmsg); echo '</body></html>'; exit(); } - // TODO : fonctions qui purgent les tables filles selon un id donné, pour chaque cas mère-fille (indiqués plus bas) + // TODO : fonctions qui purgent les tables filles selon un id donné, pour chaque cas mère-fille (indiqués plus bas) - // Fonctions qui génèrent des tableaux listant tous les objets de la base, et permettant la sélection multiple et l'éffacement (en cascade) + // Fonctions qui génèrent des tableaux listant tous les objets de la base, et permettant la sélection multiple et l'éffacement (en cascade) html_generate_MySQLTableSuppr('AWOR_Liste','idL'); // Permet de virer des liste echo "<br />\n"; html_generate_MySQLTableSuppr('AWOR_Fichier','idFic'); // Permet de virer des fichiers, doit purger physiquement sur le disque diff --git a/beta_accents/app/apropos.php b/beta_accents/app/apropos.php new file mode 100644 index 0000000..cdea1ff --- /dev/null +++ b/beta_accents/app/apropos.php @@ -0,0 +1,29 @@ +<?php +require('include/ludo/session_verify.inc.php'); +require_once('include/ludo/html_elements.inc.php'); +require_once('include/connect.inc.php'); +require_once('include/ju.inc.php'); +if ( isset($_REQUEST['action']) ) +{ + $nom_func = 'traiter_formulaire_' . $_REQUEST['action']; + $nom_func(); +} +generate_html_doctype_and_head("Modèle"); + +echo "<body>\n"; +generate_html_divs_menu(); +?> + <div id="sous_menu"> + <p class="arbre"> + > <a href="index.php">Accueil</a> + > Administration du profil + </p> + </div> +<div id="contenu">Application réalisée par Jérémie Dénoyer,<br /> +Ludovic Pouzenc, Julien Séré et Andriana Semouchtchak.</div> +<div id="msg"> +</div> +<?php generate_html_div_footer() ?> +</body> +</html> + diff --git a/beta_accents/app/auth_dialog.php b/beta_accents/app/auth_dialog.php index 55e6c16..234b092 100644 --- a/beta_accents/app/auth_dialog.php +++ b/beta_accents/app/auth_dialog.php @@ -1,14 +1,14 @@ <?php - // Récupération des paramètres + // Récupération des paramètres if ( isset($_GET['retour']) && $_GET['retour']!='' ) { $retour=addslashes( $_GET['retour'] ); } else { $retour='index.php'; } - // Si le formulaire à été envoyé, on le traite ici + // Si le formulaire à été envoyé, on le traite ici if ( isset($_POST['envoi']) && $_POST['envoi'] === '1' ) { if ( ! ( isset($_POST['loginP']) && isset($_POST['pass']) ) ) { - $errmsg = 'Paramètres incorrects'; + $errmsg = 'Paramètres incorrects'; } else { @@ -17,9 +17,9 @@ include 'include/ludo/auth.inc.php'; - // Code vérifiant que la personne qui tente de se connecter est bien référencée dans notre base + // Code vérifiant que la personne qui tente de se connecter est bien référencée dans notre base include 'include/ludo/fonctions.inc.php'; - // Connexion à la base et sélection de la database + // Connexion à la base et sélection de la database include 'include/connect.inc.php'; include 'include/ludo/config.inc.php'; @@ -32,14 +32,14 @@ } else { - // Initialisation par défaut + // Initialisation par défaut $methodeAuth=''; - // Chargement des préférences d'authentification de l'utilisateur + // Chargement des préférences d'authentification de l'utilisateur if ( mysql_num_rows($result) === 1) { list($idP, $loginP, $nomP, $prenomP, $methodeAuth) = mysql_fetch_row($result); } - // Si le script est lancé en local, on saute l'authentification + // Si le script est lancé en local, on saute l'authentification if ( ($CONFIG['AUTH']['bypass_if_local'] === true ) && ( ($_SERVER['REMOTE_ADDR'] == 'localhost') || ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') ) ) { @@ -60,7 +60,7 @@ // Tentative d'authentification POP if ( ($errno = pop3_auth_simple($loginP, $_POST['pass']) ) != 0 ) { - // Authentification échouée + // Authentification échouée $errmsg=pop3_generate_errmsg($errno); } else @@ -71,7 +71,7 @@ } if ( $auth_is_ok === true ) { - // Authentification réussie + // Authentification réussie session_start(); $_SESSION['session_loginP']=$loginP; $_SESSION['session_nomP']=$nomP; @@ -93,7 +93,7 @@ generate_html_doctype_and_head("Identification"); generate_html_div_help(); ?> <div id="page_accueil"> - <h1>Application Web d'Organisation de Réunion</h1> + <h1>Application Web d'Organisation de Réunion</h1> <h2>Veuillez vous identifier</h2> <?php echo '<form id="auth" method="post" action="' . $_SERVER['PHP_SELF'] . '">' . "\n"; ?> <input type="hidden" name="envoi" value="1" /> diff --git a/beta_accents/app/css/ice.css b/beta_accents/app/css/ice.css index 9418fd9..a60500d 100644 --- a/beta_accents/app/css/ice.css +++ b/beta_accents/app/css/ice.css @@ -19,7 +19,8 @@ table { border-collapse:collapse; /* Imite le cellspacing=0 et fonctionne sous IE */ background-color:#F7F7F7; } -th { + +th , thead tr { border-right:none; font-weight: bold; color: #FFFFFF; @@ -55,6 +56,9 @@ h2 { color:#bf2000; } select { width:auto; } +li { + margin-left:-20px; +} /***** Titre *****/ #titre h2 { color: #551A8B; @@ -102,22 +106,24 @@ select { width:auto; } #menu li { list-style: none; float:left; - padding:0; - margin:0; - width:10em; + padding:0 1em; + width:8em; white-space:nowrap;/*Evite l'étalement sur deux ligne*/ vertical-align:middle; } #menu #deconnection { float:right; + padding:0 1em; + margin:0; + } - #main_menu { } /*********************/ /***** Sous Menu *****/ #sous_menu { + clear:left; padding-top:5px; padding-bottom:3px; @@ -145,9 +151,10 @@ p.arbre a:link, p.arbre a:visited {color:#FFFFFF; } padding-left:5px; float:left; width:78%; + min-height:100%; } #help { - text-align:justify; + text-align:left; color:#000000; float:right; margin:5px; @@ -157,17 +164,22 @@ p.arbre a:link, p.arbre a:visited {color:#FFFFFF; } font-size:small; width:18%; } - -#help h2 , #help a +#help a:link,#help a:hover,#help a:visited +{ + text-align:center; + font-size:small; + color:#8470FF; +} +#help h2, #help h2 a, #help h2 a:link, #help h2 a:hover, #help h2 a:visited { text-align:center; font-size:medium; color:#FFFFFF; background-color:#551A8B; - color:#FFFFFF; margin-top:0; margin-bottom:10px; } + #no_help, #no_help h2 { display:none; @@ -296,47 +308,52 @@ div.popup_contenu em #footer { + float:left; display:block; - - position:fixed; - left:0px; width:100%; background-color:#551A8B; - top:100%; - height:2.3em; - padding-top:-2.3em; - margin-top:-2.3em; + height:30px; color:#FFF; font-size:x-small; + margin-top:20px; + margin-bottom:0px; + padding-bottom:0px; } #footer ul { - display:inline; list-style-type:none; white-space:nowrap; + margin-top:0px; + padding:0px; } #footer li.right { - list-style: none; - float:right; + display:inline; + float:left; + list-style:none; white-space:nowrap;/*Evite l'étalement sur deux ligne*/ vertical-align:middle; - padding-top:0.5em; - margin-top:0px; - padding-right:10px; + padding-left:10px; + margin-left:0px; } -#footer li { - list-style: none; +#footer li.center { + display:inline; float:right; + list-style: none; white-space:nowrap;/*Evite l'étalement sur deux ligne*/ vertical-align:middle; - margin-top:-14px; padding-right:30px; + margin-left:0px; +} +#footer li.left select { + border:thin solid #000; } #footer li.left { - list-style: none; float:left; + display:inline; + list-style: none; white-space:nowrap;/*Evite l'étalement sur deux ligne*/ vertical-align:middle; margin-top:0px; padding-left:30px; + margin-left:0px; } diff --git a/beta_accents/app/css/ice_nohelp.css b/beta_accents/app/css/ice_nohelp.css index 03c382f..9724abd 100644 --- a/beta_accents/app/css/ice_nohelp.css +++ b/beta_accents/app/css/ice_nohelp.css @@ -20,7 +20,7 @@ table { border-collapse:collapse; /* Imite le cellspacing=0 et fonctionne sous IE */ background-color:#F7F7F7; } -th { +th, thead tr { border-right:none; font-weight: bold; color: #FFFFFF; @@ -28,6 +28,7 @@ th { } th.selected {color:#FFF;background-color:#8470FF} td { + margin:0.5em; border-bottom-width: thin; border-bottom-style: solid; border-bottom-color: #E0E0E0; @@ -55,6 +56,9 @@ h2 { color:#bf2000; } select { width:auto; } +li { + margin-left:-20px; +} /***** Titre *****/ #titre h2 { color: #551A8B; @@ -102,14 +106,16 @@ select { width:auto; } #menu li { list-style: none; float:left; - padding:0; - margin:0; - width:10em; + padding:0 1em; + width:8em; white-space:nowrap;/*Evite l'étalement sur deux ligne*/ vertical-align:middle; } #menu #deconnection { float:right; + padding:0 1em; + margin:0; + } #main_menu { @@ -148,6 +154,7 @@ p.arbre a:link, p.arbre a:visited {color:#FFFFFF; } padding-right:5px; float:left; width:95%; + min-height:100%; } #no_help { @@ -162,7 +169,7 @@ p.arbre a:link, p.arbre a:visited {color:#FFFFFF; } font-size:small; width:3%; } -#no_help h2 , #no_help a +#no_help h2 , #no_help h2 a { display:block; text-align:center; @@ -172,14 +179,18 @@ p.arbre a:link, p.arbre a:visited {color:#FFFFFF; } margin:0px; padding:0px; } +#help a:link +{ + text-align:center; + font-size:medium; + color:#8470FF; +} #help,#help h2 { display:none; } - - .popup , .popup_creneau , .popup_personne , .popup_commentaire , .popup_fichier , .popup_deletelist { display: none; position: absolute; @@ -283,7 +294,7 @@ div.popup_contenu em #msg { display:none; - position:fixed; + position:absolute; text-align:center; left:50%; margin-left:-20%; @@ -295,51 +306,57 @@ div.popup_contenu em color:#FFF; -moz-border-radius:16px; } +#msg em +{ + color:#FFF; +} + #footer { + float:left; display:block; - position:absolute; - text-align:center; - left:0px; width:100%; background-color:#551A8B; - bottom:0; - height:2.3em; - padding-top:-2.3em; - margin-top:-2.3em; + height:30px; color:#FFF; font-size:x-small; + margin-top:20px; + margin-bottom:0px; + padding-bottom:0px; } #footer ul { - display:inline; list-style-type:none; white-space:nowrap; - + margin-top:0px; + padding:0px; } #footer li.right { - list-style: none; - float:right; + display:inline; + float:left; + list-style:none; white-space:nowrap;/*Evite l'étalement sur deux ligne*/ vertical-align:middle; - padding-top:0.5em; - margin-top:0px; - padding-right:10px; + padding-left:10px; + margin-left:0px; } -#footer li { - list-style: none; +#footer li.center { + display:inline; float:right; + list-style: none; white-space:nowrap;/*Evite l'étalement sur deux ligne*/ vertical-align:middle; - margin-top:-14px; padding-right:30px; + margin-left:0px; } #footer li.left { - list-style: none; float:left; + display:inline; + list-style: none; white-space:nowrap;/*Evite l'étalement sur deux ligne*/ vertical-align:middle; margin-top:0px; padding-left:30px; + margin-left:0px; } diff --git a/beta_accents/app/deco.php b/beta_accents/app/deco.php index 57a56bc..d91cabc 100644 --- a/beta_accents/app/deco.php +++ b/beta_accents/app/deco.php @@ -1,14 +1,14 @@ <?php session_start(); -// Si vous voulez détruire complètement la session, effacez également le cookie de session. -// Note : cela détruira la session et pas seulement les données de session ! +// Si vous voulez détruire complètement la session, effacez également le cookie de session. +// Note : cela détruira la session et pas seulement les données de session ! if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } require_once('include/ludo/html_elements.inc.php'); -generate_html_doctype_and_head("Déconnexion"); +generate_html_doctype_and_head("Déconnexion"); ?> <body> <h1>Deconnexion</h1> @@ -16,14 +16,14 @@ generate_html_doctype_and_head("Déconnexion"); <?php if ( isset($_SESSION['session_loginP']) ) { - // Détruit toutes les variables de session + // Détruit toutes les variables de session $_SESSION = array(); - // On a déjà détruit le cookie qui permet la ré-emission par le client du sessionid + // On a déjà détruit le cookie qui permet la ré-emission par le client du sessionid - // Finalement, on détruit la session. + // Finalement, on détruit la session. session_destroy(); - echo 'Vous avez bien été déconnecté' . "\n"; + echo 'Vous avez bien été déconnecté' . "\n"; } else { diff --git a/beta_accents/app/details_reunion.php b/beta_accents/app/details_reunion.php index 845e688..59f4adb 100644 --- a/beta_accents/app/details_reunion.php +++ b/beta_accents/app/details_reunion.php @@ -9,7 +9,7 @@ require_once('include/ju.inc.php'); -generate_html_doctype_and_head("Détail de la réunion"); +generate_html_doctype_and_head("Détail de la réunion"); echo "<body>\n"; // DEBUG @@ -48,25 +48,25 @@ generate_html_divs_menu(); $errmsg = $nom_func(); break; default: - $errmsg = 'Impossible de traiter la requete : type de formulaire non enregistré !'."\n"; + $errmsg = 'Impossible de traiter la requete : type de formulaire non enregistré !'."\n"; } } - // Connexion à la base et sélection de la database + // Connexion à la base et sélection de la database require_once 'include/connect.inc.php'; if ( ! isset($idR) && ( ! isset($_REQUEST['idR'] ) || ! is_numeric($_REQUEST['idR']) ) || ! isset($_SESSION['session_idP']) ) { - $errmsg='Erreur de génération de la page : paramètres erronés ou manquant'; + $errmsg='Erreur de génération de la page : paramètres erronés ou manquant'; } else { if ( ! isset($idR) ) { $idR=addslashes($_REQUEST['idR']); } $idP=$_SESSION['session_idP']; - // Vérification que la réunion nous concerne bien + // Vérification que la réunion nous concerne bien $query="SELECT * FROM AWOR_Appartenir a WHERE a.idL=$idR, a.idP=$idP;"; if ( ( $result = @mysql_query($query) ) && ( mysql_num_rows($result) === 1 ) ) { - $errmsg='Vous n\'avez pas le droit de consulter cette page : cette réunion n\'existe pas ou ne vous concerne pas !'; + $errmsg='Vous n\'avez pas le droit de consulter cette page : cette réunion n\'existe pas ou ne vous concerne pas !'; } } if ( isset($errmsg) && is_string($errmsg) ) diff --git a/beta_accents/app/help/admin.php.hlp b/beta_accents/app/help/admin.php.hlp index 3d669ec..3b46bdc 100644 --- a/beta_accents/app/help/admin.php.hlp +++ b/beta_accents/app/help/admin.php.hlp @@ -1,3 +1,7 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Administration. +<hr>Information : +<br/><br/> Cette page vous permet de visualiser les objets principaux de la base de données.<br /> Vous pouvez depuis cette page purger la base, ainsi que les fichiers attachés qui sont stockés sur disque.<br /> Lorsque vous supprimez par exemple une personne inscrite, tout les enregistrements relatifs à cette personne seront effacés : diff --git a/beta_accents/app/help/astuce_aide.php.hlp b/beta_accents/app/help/astuce_aide.php.hlp new file mode 100644 index 0000000..964945d --- /dev/null +++ b/beta_accents/app/help/astuce_aide.php.hlp @@ -0,0 +1,11 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Astuce pour l'aide. +<hr/>Etapes : +<ul> +<li>Masquer l'aide en cliquant sur le mot Aide.</li> +<li>Activer l'aide en cliquant sur le point d'interrogation "?".</li> +</ul> +<hr/>Remarques : +<ul><li>L'aide sera toujours présente pour vous guider dans cette application.</li></ul> +<hr/> +<a href="#" onclick="loadid('help/index.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/astuce_apparence.php.hlp b/beta_accents/app/help/astuce_apparence.php.hlp new file mode 100644 index 0000000..0f273a7 --- /dev/null +++ b/beta_accents/app/help/astuce_apparence.php.hlp @@ -0,0 +1,12 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Astuce pour l'apparence. +<hr/>Etapes : +<ul> +<li>Selectionner la liste des apparences.</li> +<li>Choisir une apparence.</li> +<li>Valider votre choix en cliquant sur Changer.</li> +</ul> +<hr/>Remarques : +<ul><li>La liste des apparences est aussi dans Mon profil.</li></ul> +<hr/> +<a href="#" onclick="loadid('help/index.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/astuce_deconnexion.php.hlp b/beta_accents/app/help/astuce_deconnexion.php.hlp new file mode 100644 index 0000000..41182d8 --- /dev/null +++ b/beta_accents/app/help/astuce_deconnexion.php.hlp @@ -0,0 +1,10 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Astuce pour se déconnecter. +<hr/>Information : +<ul> +<li>Se déconnecter permet de quitter proprement l'application.</li> +</ul> +<hr/>Etape : +<ul><li>Cliquer sur le menu Déconnexion.</li></ul> +<hr/> +<a href="#" onclick="loadid('help/index.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/astuce_ical.php.hlp b/beta_accents/app/help/astuce_ical.php.hlp new file mode 100644 index 0000000..2fc8c4a --- /dev/null +++ b/beta_accents/app/help/astuce_ical.php.hlp @@ -0,0 +1,15 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Astuce pour l'iCal. +<hr/>Information : +<ul> +<li>Un fichier iCal est un agenda.</li> +<li>Vos pouvez l'utiliser dans la plupart des agendas électronique.</li> +</ul> +<hr/>Etapes : +<ul> +<li>Cliquer sur le menu iCal.</li> +<li>Enregistrer le fichier.</li> +<li>Importer le dans votre agenda électronique !</li> +</ul> +<hr/> +<a href="#" onclick="loadid('help/index.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/auth_dialog.php.hlp b/beta_accents/app/help/auth_dialog.php.hlp index b83937b..f0cf34f 100644 --- a/beta_accents/app/help/auth_dialog.php.hlp +++ b/beta_accents/app/help/auth_dialog.php.hlp @@ -1,2 +1,15 @@ -Merci de vous identifier pour utiliser l'application.<br /> -Par défaut, vous pouvez vous logguer avec votre adresse email et le mot de passe qui y est associé.
\ No newline at end of file +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Bienvenue et identification. +<hr/>Information : +<ul> + <li>Merci de vous identifier pour utiliser l'application.</li> +</ul> +<hr/>Remarque : +<ul> + <li>Par défaut, vous pouvez vous identifier avec : + <ul> + <li>votre adresse email.</li> + <li>le mot de passe de l'adresse email.</li> + </ul> + </li> +</ul>
\ No newline at end of file diff --git a/beta_accents/app/help/details_reunion_admin.php.hlp b/beta_accents/app/help/details_reunion_admin.php.hlp index 41047ab..3102176 100644 --- a/beta_accents/app/help/details_reunion_admin.php.hlp +++ b/beta_accents/app/help/details_reunion_admin.php.hlp @@ -1,17 +1,10 @@ -Cette page vous permet de visualiser les détails d'une réunion.<br /> -<br /> -Vous pouvez modifier votre disponibilité en fonction des créneaux prévu par le createur de la réunion.<br /> -<br /> -Il est possible à tout instant de se déconnecter en cliquant sur le bouton Déconnexion situé en haut à droite de l'écran.<br /> -<br /> -Ajouter ou Supprimer un créneau<br /> -en appuyant sur le bouton <img src="./images/editCreneau2.gif" alt="Ajouter une personne" title="Ajouter un creneau" width="22" height="21" /><br /> -<br /> -Fixer un Créneau, en cliquant dessus et confirmer l'action (aucune modification ne sera possible après)<br /> -<br /> -Ajouter ou Supprimer un -participant en appuyant sur le bouton <img src="images/addP.gif" alt="Ajouter une personne" title="Ajouter une personne" width="19" height="17"/><br /> -<br /> -Ajouter -<br /> -Astuce : grâce à AWOR, vous pouvez transferer vos réunions sur votre agenda personnel. +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Détails réunion (Administrateur).<br/> +<hr/>Vous pouvez : +<ul> + <li><a href="#" onclick="loadid('help/reunion_admin_info.php.hlp','help',false);">Editer les informations de la réunion.</a></li> + <li><a href="#" onclick="loadid('help/reunion_admin_creneaux.php.hlp','help',false);">Ajouter/Supprimer des créneaux.</a></li> + <li><a href="#" onclick="loadid('help/reunion_admin_participants.php.hlp','help',false);">Modifier la liste des participants.</a></li> + <li><a href="#" onclick="loadid('help/reunion_admin_mail.php.hlp','help',false);">Envoyer un mail aux participants.</a></li> + <li><a href="#" onclick="loadid('help/reunion_admin_fichier.php.hlp','help',false);">Déposer un fichier.</a></li> +</ul> diff --git a/beta_accents/app/help/groupe.hlp b/beta_accents/app/help/groupe.hlp index 0869bd5..1da98e6 100644 --- a/beta_accents/app/help/groupe.hlp +++ b/beta_accents/app/help/groupe.hlp @@ -1 +1,7 @@ -Cette page vous permet de gérer les différentes listes de contacts
\ No newline at end of file +Cette page vous permet de gérer les différentes listes de contacts. +<hr/>Vous pouvez : +<ul> +<li>créer une nouvelle liste.</li> +<li>afficher le detail de vos listes pour les modifier.</li> +<li>supprimer les listes dont vous n'avez plus besoin.</li> +</ul> diff --git a/beta_accents/app/help/index.php.hlp b/beta_accents/app/help/index.php.hlp index be1ef30..59ded56 100644 --- a/beta_accents/app/help/index.php.hlp +++ b/beta_accents/app/help/index.php.hlp @@ -1,7 +1,14 @@ -Cette page vous permet de visualiser les réunions qui vous concernent.<br /> -Les éléments requièrant votre attention sont en rouge.<br /> -Cliquer sur l'icone à droite pour afficher les détails d'une réunion.<br /> - -Il est possible à tout instant de se déconnecter en cliquant sur le bouton Déconnexion situé en haut à droite de l'écran. -<br /> -Astuce : grâce à AWOR, vous pouvez transferer vos réunions sur votre agenda personnel. +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Gestion des réunions. +<hr/>Vous pouvez : +<ul> +<li><a href="#" onclick="loadid('help/reunion_new.php.hlp','help',false);">organiser une réunion.</a></li> +<li><a href="#" onclick="loadid('help/reunion_detail.php.hlp','help',false);">afficher le détail d'une réunion.</a></li> +</ul> +<hr/>Astuces : +<ul> +<li><a href="#" onclick="loadid('help/astuce_ical.php.hlp','help',false);">Télécharger votre iCal.</a></li> +<li><a href="#" onclick="loadid('help/astuce_aide.php.hlp','help',false);">Masquer cette aide.</a></li> +<li><a href="#" onclick="loadid('help/astuce_apparence.php.hlp','help',false);">Changer d'apparence.</a></li> +<li><a href="#" onclick="loadid('help/astuce_deconnexion.php.hlp','help',false);">Se déconnecter.</a></li> +</ul>
\ No newline at end of file diff --git a/beta_accents/app/help/listes.php.hlp b/beta_accents/app/help/listes.php.hlp index c619e70..d7b0ca9 100644 --- a/beta_accents/app/help/listes.php.hlp +++ b/beta_accents/app/help/listes.php.hlp @@ -1 +1,9 @@ -Cette page vous permet de gérer les différentes listes de contacts. +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Gestion des listes de contacts. +<hr/>Vous pouvez : +<ul> +<li><a href="#" onclick="loadid('help/listes_new.php.hlp','help',false);">créer une nouvelle liste.</a></li> +<li><a href="#" onclick="loadid('help/listes_detail.php.hlp','help',false);">afficher le détail d'une liste.</a></li> +<li><a href="#" onclick="loadid('help/listes_modif.php.hlp','help',false);">modifier une liste.</a></li> +<li><a href="#" onclick="loadid('help/listes_delete.php.hlp','help',false);">supprimer une liste.</a></li> +</ul> diff --git a/beta_accents/app/help/listes_delete.php.hlp b/beta_accents/app/help/listes_delete.php.hlp new file mode 100644 index 0000000..4767252 --- /dev/null +++ b/beta_accents/app/help/listes_delete.php.hlp @@ -0,0 +1,12 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Suppression d'une liste. +<hr/>Information : +<ul><li>Vous devez être le propriétaire de la liste pour faire cette action.</li></ul> +<hr/>Etapes : +<ul> +<li>Choisir la liste à supprimer.</li> +<li>Cliquer sur la corbeille.</li> +<li>Confirmer la suppression.</li> +</ul> +<hr/> +<a href="#" onclick="loadid('help/listes.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/listes_detail.php.hlp b/beta_accents/app/help/listes_detail.php.hlp new file mode 100644 index 0000000..c371c85 --- /dev/null +++ b/beta_accents/app/help/listes_detail.php.hlp @@ -0,0 +1,9 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Afficher une liste. +<hr/>Etapes : +<ul> +<li>Choisir une liste.</li> +<li>Cliquer sur son nom.</li> +</ul> +<hr/> +<a href="#" onclick="loadid('help/listes.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/listes_modif.php.hlp b/beta_accents/app/help/listes_modif.php.hlp new file mode 100644 index 0000000..11759cf --- /dev/null +++ b/beta_accents/app/help/listes_modif.php.hlp @@ -0,0 +1,30 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Modification d'une liste. +<hr/>Informations : +<ul> +<li>Vous devez être le propriétaire de la liste pour faire cette action.</li> +<li>Afficher le <a href="#" onclick="loadid('help/listes_detail.php.hlp','help',false);">détail de la liste</a>.</li> +</ul> +<hr/>Etapes pour ajouter : +<ul> +<li>Depuis une liste : +<ul> +<li>Sélectionner un contact puis cliquer sur Ajouter.</li> +<li>Double-clicker sur un contact (firefox).</li> +<li>Ajouter tous les contacts.</li> +</ul> +</li> +<li>Avec son courriel : +<ul> +<li>Saisir son courriel dans le champs.</li> +<li>Cliquer sur Inscrire.</li> +</ul> +</li> +</ul> +<hr/>Etapes pour supprimer : +<ul> +<li>Sélectionner le participant.</li> +<li>Cliquer sur Retirer.</li> +</ul> +<hr/> +<a href="#" onclick="loadid('help/listes.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/listes_new.php.hlp b/beta_accents/app/help/listes_new.php.hlp new file mode 100644 index 0000000..d04d505 --- /dev/null +++ b/beta_accents/app/help/listes_new.php.hlp @@ -0,0 +1,12 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Création d'une liste. +<hr/>Etapes : +<ul> +<li>Cliquer sur Créer une liste.</li> +<li>Donner un nom à la liste.</li> +<li>Si vous voulez partager cette liste avec les autres utilisateurs décochez la case privée.</li> +<li><a href="#" onclick="loadid('help/listes_modif.php.hlp','help',false);">Modifier votre liste.</a></li> +<li>Confirmer avec le bouton Valider.</li> +</ul> +<hr/> +<a href="#" onclick="loadid('help/listes.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/profil.php.hlp b/beta_accents/app/help/profil.php.hlp index 9328ff5..0272bc9 100644 --- a/beta_accents/app/help/profil.php.hlp +++ b/beta_accents/app/help/profil.php.hlp @@ -1,2 +1,8 @@ -Vous pouvez renseigner votre nom et prénom. <br/> -Vous avez la possibilité de changer votre méthode de d'identification. <br/> +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Gestion du profil. +<hr/>Vous pouvez : +<ul> +<li><a href="#" onclick="loadid('help/profil_nomPrenom.php.hlp','help',false);">saisir votre nom et prénom.</a></li> +<li><a href="#" onclick="loadid('help/profil_mail.php.hlp','help',false);">modifier votre adresse mail.</a></li> +<li><a href="#" onclick="loadid('help/profil_loginMethode.php.hlp','help',false);">changer votre login et méthode d'authentification.</a></li> +</ul>
\ No newline at end of file diff --git a/beta_accents/app/help/profil_loginMethode.php.hlp b/beta_accents/app/help/profil_loginMethode.php.hlp new file mode 100644 index 0000000..6511645 --- /dev/null +++ b/beta_accents/app/help/profil_loginMethode.php.hlp @@ -0,0 +1,14 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Changer votre login et méthode d'authentification. +<hr/>Information +<ul><li>Cette opération peut-être dangereuse.</li></ul> +<hr/>Etapes : +<ul> +<li>Basculer votre méthode d'authentification dans le mode qui vous convient.</li> +<li>Changer éventuellement votre login.</li> +<li>Valider les changements.</li> +<li>Il vous sera peut-être demmander le mot de passe.</il> +<li>Confirmer à nouveau.</li> +</ul> +<hr/> +<a href="#" onclick="loadid('help/profil.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/profil_mail.php.hlp b/beta_accents/app/help/profil_mail.php.hlp new file mode 100644 index 0000000..a187c75 --- /dev/null +++ b/beta_accents/app/help/profil_mail.php.hlp @@ -0,0 +1,13 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Modifier votre adresse mail. +<hr/>Information +<ul><li>Votre mail permet aux autres utilisateurs de vous contacter pour les différentes notifications des réunions.</li></ul> +<hr/>Etapes : +<ul> +<li>Modifier votre adresse mail dans le champs correspondant.</li> +<li>Valider votre modification.</li> +</ul> +<hr/>Remarque : +<ul><li>Si votre adresse est erronée, vous ne receverez plus de notification.</li></ul> +<hr/> +<a href="#" onclick="loadid('help/profil.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/profil_nomPrenom.php.hlp b/beta_accents/app/help/profil_nomPrenom.php.hlp new file mode 100644 index 0000000..46d50bc --- /dev/null +++ b/beta_accents/app/help/profil_nomPrenom.php.hlp @@ -0,0 +1,10 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Saisir votre nom et prénom. +<hr/>Etapes : +<ul> +<li>Saisir dans les champs correspondants : +<ul><li>le nom</li><li>le prénom</li></ul> +<li>Valider votre saisie</li> +</ul> +<hr/> +<a href="#" onclick="loadid('help/profil.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/reunion_admin_annuler.php.hlp b/beta_accents/app/help/reunion_admin_annuler.php.hlp new file mode 100644 index 0000000..021d691 --- /dev/null +++ b/beta_accents/app/help/reunion_admin_annuler.php.hlp @@ -0,0 +1,8 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +L'annulation.<br/> +<hr/>Informations : +<ul> +<li></li> +</ul> +<hr/> +<a href="#" onclick="loadid('help/reunion_admin_info.php.hlp','help',false);">Retour</a> diff --git a/beta_accents/app/help/reunion_admin_dispo.php.hlp b/beta_accents/app/help/reunion_admin_dispo.php.hlp new file mode 100644 index 0000000..d9b587d --- /dev/null +++ b/beta_accents/app/help/reunion_admin_dispo.php.hlp @@ -0,0 +1,13 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Le masquage des disponibilitées.<br/> +<hr/>Informations : +<ul> +<li>L'activation de l'option.<br/><br/> +Elle permet de masquer les disponibilitées d'un participant vis-à-vis des autres participants de la réunion.<br/><br/> +</li> +<li>La désactivation de l'option.<br/><br/> +Elle permet de rendre visible les disponibilitées de tous les participants. +</li> +</ul> +<hr/> +<a href="#" onclick="loadid('help/reunion_admin_info.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/reunion_admin_info.php.hlp b/beta_accents/app/help/reunion_admin_info.php.hlp new file mode 100644 index 0000000..8c235e9 --- /dev/null +++ b/beta_accents/app/help/reunion_admin_info.php.hlp @@ -0,0 +1,12 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Edition des informations.<br/> +<hr/>Etapes : +<ul> + <li>Cliquer sur Editer (à droite de "Détail d'une réunion").</li> + <li>Editer l'objet, le lieu, l'ordre du jour, les remarques.</li> + <li>(Dé)cocher la case "Annulée" (<a href="#" onclick="loadid('help/reunion_admin_annuler.php.hlp','help',false);">information</a>).</li> + <li>(Dé)cocher la case "Disponibilitées masquées" (<a href="#" onclick="loadid('help/reunion_admin_dispo.php.hlp','help',false);">information</a>).</li> + <li>Confirmer avec le bouton Valider.</li> +</ul> +<hr/> +<a href="#" onclick="loadid('help/details_reunion_admin.php.hlp','help',false);">Retour</a> diff --git a/beta_accents/app/help/reunion_detail.php.hlp b/beta_accents/app/help/reunion_detail.php.hlp new file mode 100644 index 0000000..6ca90c9 --- /dev/null +++ b/beta_accents/app/help/reunion_detail.php.hlp @@ -0,0 +1,15 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Afficher le détail d'une réunion. +<hr/>Information : +<ul><li>Le détail d'une réunion est différent selon si vous êtes organisateur ou participant.</li></ul> +<hr/>Etape : +<ul> +<li>Cliquer sur le nom de la réunion ou sur l'icone.</li> +</ul> +<hr/>Remarques : +<ul> +<li>Si vous êtes organisateur, vous pourrez modifier et consulter l'organisation de votre réunion.</li> +<li>Si vous êtes participant, vous pourrez déposer vos disponibilitées.</li> +</ul> +<hr/> +<a href="#" onclick="loadid('help/index.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/help/reunion_new.php.hlp b/beta_accents/app/help/reunion_new.php.hlp new file mode 100644 index 0000000..6a1629c --- /dev/null +++ b/beta_accents/app/help/reunion_new.php.hlp @@ -0,0 +1,10 @@ +<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2> +Organiser une réunion. +<hr/>Etape : +<ul> +<li>Cliquer sur Organiser une réunion.</li> +</ul> +<hr/>Remarques : +<ul><li>L'aide vous guidera pour les futurs étapes.</li></ul> +<hr/> +<a href="#" onclick="loadid('help/index.php.hlp','help',false);">Retour</a>
\ No newline at end of file diff --git a/beta_accents/app/ical.php b/beta_accents/app/ical.php index f2aeb26..3108056 100644 --- a/beta_accents/app/ical.php +++ b/beta_accents/app/ical.php @@ -27,7 +27,7 @@ if ( isset($_SESSION['session_idP']) ) } } require_once('include/ludo/html_elements.inc.php'); -generate_html_doctype_and_head("Génération iCal"); +generate_html_doctype_and_head("Génération iCal"); echo "<body>\n"; generate_html_div_errmsg($errmsg); ?> diff --git a/beta_accents/app/include/connect.inc.php b/beta_accents/app/include/connect.inc.php index b985b10..0bc0a10 100644 --- a/beta_accents/app/include/connect.inc.php +++ b/beta_accents/app/include/connect.inc.php @@ -1,14 +1,14 @@ <?php /* - * Paramètres de connexion à la base MySQL + * Paramètres de connexion à la base MySQL */ -// $bd représente le nom de la database à utiliser +// $bd représente le nom de la database à utiliser $bd = "awor"; // mysql_connect(<nom_ou_ip_serveur_mysql>, <utilisateur_mysql>, <mot_de_passe_en_clair_mysql>); -$link = @mysql_connect('localhost', 'lud_restricted', 'maille_ess_ku_elle'); +$link = @mysql_connect('localhost', 'awor', 'blagnac'); @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 +// 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_accents/app/include/ical.inc.php b/beta_accents/app/include/ical.inc.php index 0d858e3..0936800 100644 --- a/beta_accents/app/include/ical.inc.php +++ b/beta_accents/app/include/ical.inc.php @@ -1,6 +1,6 @@ <?php /* - * Fonction de génération d'iCal + * Fonction de génération d'iCal */ // Constantes d'erreur @@ -34,7 +34,7 @@ define("ERR_ICAL_SQL_ERROR", -2); $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 !!!!! + // 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"; @@ -56,7 +56,7 @@ define("ERR_ICAL_SQL_ERROR", -2); $iCal_content .= "ATTENDEE:mailto:$mail_autres\r\n"; } } - // TODO : vérifier la pertinance de la variable utilisée + // 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"; } diff --git a/beta_accents/app/include/index.html b/beta_accents/app/include/index.html new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/beta_accents/app/include/index.html diff --git a/beta_accents/app/include/je.inc.php b/beta_accents/app/include/je.inc.php index dcbb75e..53b1043 100644 --- a/beta_accents/app/include/je.inc.php +++ b/beta_accents/app/include/je.inc.php @@ -3,7 +3,7 @@ require_once ('include/connect.inc.php'); function traiter_formulaire_valider_modif_personnes() { - //Vérification a faire pour savoir si c'est bien le propriétaire ?!! $_SESSION['session_idP'] + //Vérification a faire pour savoir si c'est bien le propriétaire ?!! $_SESSION['session_idP'] $tabParticipant = array(); if (isset($_GET['dataParticipants'])) $tabParticipant = $_GET['dataParticipants']; $idL=-1; @@ -19,7 +19,7 @@ require_once ('include/connect.inc.php'); function traiter_formulaire_delete_list() { - //Vérification a faire pour savoir si c'est bien le propriétaire ?!! $_SESSION['session_idP'] + //Vérification a faire pour savoir si c'est bien le propriétaire ?!! $_SESSION['session_idP'] if (isset($_GET['idL'])) list_delete($_GET['idL']); } @@ -55,7 +55,7 @@ require_once ('include/connect.inc.php'); $tabOldPers[$i] = $row[0]; $tabOldPersMail[$i] = $row[1]; } - //Boucle permettant de mettre a NULL les élements identiques aux deux tableaux + //Boucle permettant de mettre a NULL les élements identiques aux deux tableaux $i = 0; while ($i < count($tabOldPers)) { @@ -148,11 +148,11 @@ require_once ('include/connect.inc.php'); - //Fonction qui affiche toutes les liste public ainsi que les liste privée possédées par idP + //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 AWOR_Liste WHERE idP_Createur=$idP OR estPrivee='non' ORDER BY estPrivee,libelleL"); - echo "<table>\n<tr>\n<th>Supprimer</th>\n<th>Type</th>\n<th>Libellé</th>\n</tr>\n"; + echo "<table summary=\"Listes de personnes\">\n<tr>\n<th>Supprimer</th>\n<th>Type</th>\n<th>Libellé</th>\n</tr>\n"; if (mysql_num_rows($result)>0) { @@ -160,11 +160,11 @@ require_once ('include/connect.inc.php'); { $row = mysql_fetch_array($result); echo "<tr>\n<td>"; - if ($row['estPrivee'] == 'oui' || $row['idP_Createur']==$idP) echo "<a href=\"#\" onclick=\"loadid('popdeletelist.php?idL=".$row[0]."','popdeletelist',true);popon('popdeletelist')\"><img src=\"images/supprimer.png\" alt=\"Supprimer ".$row[1]."\" /></a></td>\n" ; else echo "</td>\n"; + if ($row['estPrivee'] == 'oui' || $row['idP_Createur']==$idP) echo "<a href=\"#\" onclick=\"loadid('popdeletelist.php?idL=".htmlentities($row[0], ENT_QUOTES)."','popdeletelist',true);popon('popdeletelist')\"><img src=\"images/supprimer.png\" alt=\"Supprimer ".htmlentities($row[1], ENT_QUOTES)."\" /></a></td>\n" ; else echo "</td>\n"; if ($row['estPrivee'] == 'oui') echo "<td>estPrivée" ; else echo "<td>Public"; echo "</td>\n<td>"; echo "<a href=\"#\" onclick=\"loadid('poppersonne.php?idL=".$row['idL']."&idP_orga=".$idP."','poppersonne',true);popon('poppersonne')\">"; - echo $row['libelleL']; + echo htmlentities($row['libelleL'], ENT_QUOTES); echo "</a></td>\n"; echo "</tr>\n"; } @@ -176,16 +176,17 @@ require_once ('include/connect.inc.php'); function traiter_formulaire_commentaire() { + require_once ('include/tools.inc.php'); if ($_GET['txtCommentaire'] != "") { require_once ('include/connect.inc.php'); if (isset($_GET['idR'])) { - $query="UPDATE AWOR_Repondre SET commentaireReponse ='".$_GET['txtCommentaire']."' WHERE idR=".$_GET['idR']." AND idP=".$_SESSION['session_idP']; + $query="UPDATE AWOR_Repondre SET commentaireReponse ='".addslashes_if_needed($_GET['txtCommentaire'])."' WHERE idR=".addslashes_if_needed($_GET['idR'])." AND idP=".$_SESSION['session_idP']; $result = @mysql_query($query); if ( ! $result || ( mysql_affected_rows() !== 1 ) ) { - $query="INSERT INTO AWOR_Repondre(idR,idP,commentaireReponse) VALUES (".$_GET['idR'].", ".$_SESSION['session_idP'].", '".$_GET['txtCommentaire']."')"; + $query="INSERT INTO AWOR_Repondre(idR,idP,commentaireReponse) VALUES (".addslashes_if_needed($_GET['idR']).", ".$_SESSION['session_idP'].", '".addslashes_if_needed($_GET['txtCommentaire'])."')"; $result = mysql_query($query); if ( ! $result || ( mysql_affected_rows() !== 1 )) @@ -199,17 +200,17 @@ require_once ('include/connect.inc.php'); } else { - $query="DELETE FROM AWOR_Repondre WHERE idR=".$_GET['idR']." AND idP=".$_SESSION['session_idP']; + $query="DELETE FROM AWOR_Repondre WHERE idR=".addslashes_if_needed($_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 : + // Modifiée par Ludo pour les problèmes de variables 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 '<table cellspacing="0" class="commentaires" summary="Liste des commentaires laissés pour les personnes conviées à cette réunion">'; + echo '<table cellspacing="0" class="commentaires" summary="Liste des commentaires laissés pour les personnes conviées à cette réunion">'; echo '<thead>'; echo '<tr>'; echo "<th>Commentaires <a href=\"#\" onclick=\"loadid('popcommentaire.php?idR=".$idR."&idP=".$idP."','popcommentaire',true);popon('popcommentaire');\">(Editer votre commentaire)</a></th>"; @@ -225,8 +226,8 @@ require_once ('include/connect.inc.php'); while($pers = mysql_fetch_array($resultat)) { echo '<tr><td>'; - if ($pers["nomP"] !== "" || $pers["prenomP"] !== "") echo $pers["nomP"] . " " . $pers["prenomP"]; else echo $row["courrielP"]; - echo " : ".$pers["commentaireReponse"]."</td></tr>\n"; + echo htmlentities($pers["nomP"], ENT_QUOTES) . " " . htmlentities($pers["prenomP"], ENT_QUOTES); + echo " : ".htmlentities($pers["commentaireReponse"], ENT_QUOTES)."</td></tr>\n"; } } @@ -235,10 +236,6 @@ require_once ('include/connect.inc.php'); echo "<tr><td>Aucun commentaire pour le moment.</td></tr>\n"; } } - echo '</table>'; - } - - ?>
\ No newline at end of file diff --git a/beta_accents/app/include/ju.inc.php b/beta_accents/app/include/ju.inc.php index 75fb4ee..a7154b7 100644 --- a/beta_accents/app/include/ju.inc.php +++ b/beta_accents/app/include/ju.inc.php @@ -2,6 +2,7 @@ function traiter_formulaire_popfichier() { require("include/ludo/config.inc.php"); + require("include/tools.inc.php"); $file = "fichier"; if ( isset($CONFIG['UPLOAD']['relative_path']) ) { $basepath=$CONFIG['UPLOAD']['relative_path']; } else { $basepath='fichiers/';} $basepath=$_SERVER['DOCUMENT_ROOT'].'/'.$basepath; @@ -10,7 +11,7 @@ function traiter_formulaire_popfichier() { if($_FILES[$file]["error"] == 0) { - //Récupération de l'extension + //Récupération de l'extension $ext = explode(".", $_FILES[$file]["name"]); $ext = array_pop($ext); if(is_numeric(array_search(strtolower($ext), $CONFIG["UPLOAD"]["accepted_files"]))) @@ -21,7 +22,7 @@ function traiter_formulaire_popfichier() if(move_uploaded_file($_FILES[$file]["tmp_name"], $filepath)) { if(isset($debug)) echo "DEBUG : basepath==$basepath\n"; - $requete = "INSERT INTO AWOR_Fichier(nomFic, idR) VALUES ('"."r".$_GET["idR"]."_".$_FILES[$file]["name"]."', '".$_GET["idR"]."')"; + $requete = "INSERT INTO AWOR_Fichier(nomFic, idR) VALUES ('"."r".addslashes_if_needed($_GET["idR"])."_".$_FILES[$file]["name"]."', '".addslashes_if_needed($_GET["idR"])."')"; if(mysql_query($requete) == false) { if(isset($debug)) echo "DEBUG : ".mysql_error()."<br/>\n"; @@ -72,7 +73,7 @@ function generate_html_reunion_fichiers($idR) $resultat = mysql_query($requete); if($resultat != false) { - echo '<table cellspacing="0" class="fichiers" summary="Liste des fichiers postés par les participants de la réunion.">'; + echo '<table cellspacing="0" class="fichiers" summary="Liste des fichiers postés par les participants de la réunion.">'; echo '<thead>'; echo '<tr>'; echo '<th>Fichiers attachés <a href="#" onclick="popon(\'popfichier\')">(Ajouter un fichier)</a></th>'; @@ -82,7 +83,7 @@ function generate_html_reunion_fichiers($idR) { while($fichier = mysql_fetch_array($resultat)) { - echo '<tr><td><a href="' . $basepath . $fichier["nomFic"].'" target="_blank" >'.$fichier["nomFic"]."</a></td></tr>\n"; + echo '<tr><td><a href="' . str_replace(" ", "%20", urlencode($basepath . $fichier["nomFic"])).'" target="_blank" >'.htmlentities($fichier["nomFic"], ENT_QUOTES)."</a></td></tr>\n"; } } else @@ -136,7 +137,7 @@ function traiter_formulaire_valider_creneau() if(isset($debug)) echo $listeCreneau; //On recupere les creneaux ne faisant plus partie de la novuelle liste des creneaux - $requete = "SELECT * FROM AWOR_Creneau WHERE idR='".$_REQUEST["idR"]."' AND idC NOT IN ".$listeCreneau; + $requete = "SELECT idC FROM AWOR_Creneau WHERE idR='".$_REQUEST["idR"]."' AND idC NOT IN ".$listeCreneau; //echo "DEBUG : $requete"; if($resultat = mysql_query($requete)) { @@ -150,7 +151,8 @@ function traiter_formulaire_valider_creneau() function traiter_formulaire_maj_profil() { - $requete = "UPDATE AWOR_Personne SET courrielP = '".$_POST["courrielP"]."', loginP = '".$_POST["loginP"]."', nomP = '".$_POST["nomP"]."', prenomP = '".$_POST["prenomP"]."', methodeAuth = '".$_POST["methodeAuth"]."' WHERE idP = '".$_SESSION['session_idP']."'"; + require_once ('include/tools.inc.php'); + $requete = "UPDATE AWOR_Personne SET courrielP = '".addslashes_if_needed($_POST["courrielP"])."', loginP = '".addslashes_if_needed($_POST["loginP"])."', nomP = '".addslashes_if_needed($_POST["nomP"])."', prenomP = '".addslashes_if_needed($_POST["prenomP"])."', methodeAuth = '".addslashes_if_needed($_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"]; @@ -208,7 +210,7 @@ function creneauExiste($idR, $heureD, $minD, $heureA, $minA, $jourA, $moisA, $an $duree = $dateA - $dateD; $dateD = date("Y-m-d G:i:s", $dateD); $duree = $duree / 60; - $requete = "SELECT * FROM AWOR_Creneau WHERE idR='".$idR."' AND dateHeure='".$dateD."' AND duree=".$duree.""; + $requete = "SELECT idC FROM AWOR_Creneau WHERE idR='".$idR."' AND dateHeure='".$dateD."' AND duree=".$duree.""; if($result = mysql_query($requete)) { if(mysql_num_rows($result) > 0) @@ -222,16 +224,4 @@ function creneauExiste($idR, $heureD, $minD, $heureA, $minA, $jourA, $moisA, $an } } } - -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_accents/app/include/ludo/auth.inc.php b/beta_accents/app/include/ludo/auth.inc.php index 18b339d..2491203 100644 --- a/beta_accents/app/include/ludo/auth.inc.php +++ b/beta_accents/app/include/ludo/auth.inc.php @@ -68,7 +68,7 @@ function pop3_auth ($server, $port, $user, $upw) return 0; } -// Fonction interne testant les réponses du serveur POP3 +// Fonction interne testant les réponses du serveur POP3 function pop3_GetAndTestReply($sock) { $reply = fgets($sock, 128); diff --git a/beta_accents/app/include/ludo/config.inc.php b/beta_accents/app/include/ludo/config.inc.php index 6d6504b..7f1d587 100644 --- a/beta_accents/app/include/ludo/config.inc.php +++ b/beta_accents/app/include/ludo/config.inc.php @@ -29,7 +29,7 @@ $CONFIG = array ( 'CHOOSER_LIST' => array ( - // 'nom à afficher' => 'nom_fichier_sans_extension' + // 'nom à afficher' => 'nom_fichier_sans_extension' 'standard' => 'ice', 'Glace (ancien)' => 'ice_moche', 'bleu' => 'style1' @@ -41,22 +41,22 @@ $CONFIG = array ( 'cree' => array ( - 'caption' => 'Nouvelle Réunion', + 'caption' => 'Nouvelle Réunion', 'tpl_file' => 'mail_cree.php' ), 'modif' => array ( - 'caption' => 'Réunion modifiée', + 'caption' => 'Réunion modifiée', 'tpl_file' => 'mail_modif.php' ), 'annul' => array ( - 'caption' => 'Réunion annulée', + 'caption' => 'Réunion annulée', 'tpl_file' => 'mail_annul.php' ), 'fixee' => array ( - 'caption' => 'Réunion fixée', + 'caption' => 'Réunion fixée', 'tpl_file' => 'mail_fixee.php' ) ) @@ -68,7 +68,7 @@ $CONFIG = 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' ), - 'relative_path' => 'beta/upload_files/' + 'relative_path' => 'final/upload_files/' ) ); ?> diff --git a/beta_accents/app/include/ludo/div_create_or_modif.php b/beta_accents/app/include/ludo/div_create_or_modif.php index c386060..34e81ca 100644 --- a/beta_accents/app/include/ludo/div_create_or_modif.php +++ b/beta_accents/app/include/ludo/div_create_or_modif.php @@ -1,17 +1,19 @@ <?php +require_once ('../tools.inc.php'); + $isModif=false; if ( isset ( $_GET['idR']) ) { if ( ! isset($_GET['objetR']) || ! isset($_GET['lieuR']) || ! isset($_GET['ordreJourR']) || ! isset($_GET['remarquesR']) ) { - $errmsg="Impossible de modifier la réunion : Paramètres incorrects\n"; + $errmsg="Impossible de modifier la réunion : Paramètres incorrects\n"; return; } - $idR=addslashes($_GET['idR']); - $objetR=addslashes($_GET['objetR']); - $lieuR=addslashes($_GET['lieuR']); - $ordreJourR=addslashes($_GET['ordreJourR']); - $remarquesR=addslashes($_GET['remarquesR']); + $idR=htmlentities(stripslashes_if_needed($_GET['idR']), ENT_QUOTES); + $objetR=htmlentities(stripslashes_if_needed($_GET['objetR']), ENT_QUOTES); + $lieuR=htmlentities(stripslashes_if_needed($_GET['lieuR']), ENT_QUOTES); + $ordreJourR=htmlentities(stripslashes_if_needed($_GET['ordreJourR']), ENT_QUOTES); + $remarquesR=htmlentities(stripslashes_if_needed($_GET['remarquesR']), ENT_QUOTES); $isModif=true; } @@ -21,11 +23,11 @@ if ( isset ( $_GET['idR']) ) <?php echo ' <input name="idR" type="hidden" value="' . $idR . '" />' ?> - <table class="detail_reunion" summary="Détail de la réunion que vous avez sélectionnée"> + <table class="detail_reunion" summary="Détail de la réunion que vous avez sélectionnée"> <thead> <tr> <th colspan="2"> - <?php if ($isModif) { echo 'Modification des détails de la réunion'; } else { echo 'Création d\'une réunion'; } ?> + <?php if ($isModif) { echo 'Modification des détails de la réunion'; } else { echo 'Création d\'une réunion'; } ?> </th> </tr> </thead> @@ -57,8 +59,8 @@ if ( isset ( $_GET['idR']) ) <tr> <td><strong>Etat :</strong></td> <td> - <input name="isCancelled" type="checkbox">Annulée</input> - <input name="isHidden" type="checkbox" checked="checked">Disponibilités masquées</input> + <input name="isCancelled" type="checkbox">Annulée</input> + <input name="isHidden" type="checkbox" checked="checked">Disponibilités masquées</input> </td> </tr> <tr> diff --git a/beta_accents/app/include/ludo/fonctions.inc.php b/beta_accents/app/include/ludo/fonctions.inc.php index 74b7ca7..9124ac5 100644 --- a/beta_accents/app/include/ludo/fonctions.inc.php +++ b/beta_accents/app/include/ludo/fonctions.inc.php @@ -1,19 +1,19 @@ <?php /* - * Fonctions de génération de message d'erreur pour utilisateur (et le debuggueur !) + * Fonctions de génération de message d'erreur pour utilisateur (et le debuggueur !) */ -// Fonction retournant un message d'erreur correspondant à une erreur mysql +// Fonction retournant un message d'erreur correspondant à une erreur mysql function mysql_generate_errmsg() { if ( isset($_REQUEST['debug']) ) { - return 'Erreur SQL numéro ' . mysql_errno() . ' : ' . mysql_error(); + return 'Erreur SQL numéro ' . mysql_errno() . ' : ' . mysql_error(); }else{ - return 'Une erreur de base de données s\'est produite, veuillez réessayer ultérieurement.'; + return 'Une erreur de base de données s\'est produite, veuillez réessayer ultérieurement.'; } } -// Fonction retournant un message d'erreur correspondant à un numero d'erreur de pop3_auth(...) +// Fonction retournant un message d'erreur correspondant à un numero d'erreur de pop3_auth(...) function pop3_generate_errmsg($errno) { require_once 'auth.inc.php'; @@ -26,14 +26,14 @@ function pop3_generate_errmsg($errno) { case ERR_POP3_AUTH_BADUSER : case ERR_POP3_AUTH_BADPASS : - $msg = 'Authentification rejetée : Vérifiez votre identifiant et saisissez votre mot de passe à nouveau'; + $msg = 'Authentification rejetée : Vérifiez votre identifiant et saisissez votre mot de passe à nouveau'; break; case ERR_BAD_PARAMS : - $msg = 'Adresse email invalide, ou serveur mail non répertorié'; + $msg = 'Adresse email invalide, ou serveur mail non répertorié'; break; default : $msg = 'Une erreur de communication avec le service d\'authentification s\'est produite,' . - 'veuillez réessayer ultérieurement.'; + 'veuillez réessayer ultérieurement.'; break; } } @@ -41,12 +41,12 @@ function pop3_generate_errmsg($errno) } /* - * Génération du code html d'une case du tableau croisé Créneau/Presonnes ayant comme personne $idP, - * comme créneau $idC. Si $idEditable est vrai je pourrai cliquer sur le bouton - * pour donner ma disponibilité. $estDispo peut-être 'oui', 'non', ou '' et signifie que la personne a déjà répondu 'oui', non' - * ou n'a pas encore répondu. + * Génération du code html d'une case du tableau croisé Créneau/Presonnes ayant comme personne $idP, + * comme créneau $idC. Si $idEditable est vrai je pourrai cliquer sur le bouton + * pour donner ma disponibilité. $estDispo peut-être 'oui', 'non', ou '' et signifie que la personne a déjà répondu 'oui', non' + * ou n'a pas encore répondu. */ -// Génération d'une case +// Génération d'une case function generate_html_dispo_case($idR, $idP, $idC, $isEditable, $estDispo, $withTD=false, $class='') { // Alignement html @@ -54,7 +54,7 @@ function generate_html_dispo_case($idR, $idP, $idC, $isEditable, $estDispo, $wit if ( ! $isEditable ) { if ( $withTD ) { echo " <td $class>\n "; } - // Cas général, on n'est pas la personne concernée + // 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); @@ -73,7 +73,7 @@ function generate_html_dispo_case($idR, $idP, $idC, $isEditable, $estDispo, $wit else { if ( $withTD ) { echo " <td id=\"dispo_idC${idC}\" $class>\n "; } - // On est la personne concernée, on peut donc choisir le créneau + // 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); @@ -99,24 +99,17 @@ function generate_html_dispo_case($idR, $idP, $idC, $isEditable, $estDispo, $wit if ( $withTD ) { echo " </td>\n"; } } -// Génération du tableau complet -// TODO : idée : class du tableau différnete quand annulée -> tableau grisé... +// 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 - } + $idP_Self=$_SESSION['session_idP']; - // Connexion à la base et sélection de la database + // 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... + // 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 AWOR_Reunion r WHERE r.idR='$idR'"; @@ -126,13 +119,13 @@ function generate_html_array_personnes_crenaux($idR) 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"; + //echo "DEBUG : annulée $estAnnulee\n"; $estAnnulee = ( $estAnnulee == 'oui' ); $estFixee = ( $idC_Fixe != null); } else { - // TODO : erreur + return "Impossible d'afficher le tableau de la réunion : Erreur de base de donnée\n"; } // DEBUG : tests en forçant les variables //$estAnnulee=true; @@ -140,7 +133,7 @@ function generate_html_array_personnes_crenaux($idR) //~ echo "DEBUG : \nmontrerDispoR==$montrerDispoR\nestAnnulee==$estAnnulee\nestFixee==$estFixee\nis_admin==$is_admin\n"; ?> <form id="formmail" action="sendmail.php" method="post"> - <table class="details" summary="Disponibilité des personnes pour chaque créneau possible de la réunion"> + <table class="details" summary="Disponibilité des personnes pour chaque créneau possible de la réunion"> <thead> <tr> <?php @@ -159,7 +152,7 @@ function generate_html_array_personnes_crenaux($idR) echo 'Personnes' . "\n"; echo ' </th>' . "\n"; - // Remplissage des entêtes de colonnes (créneaux) + // Remplissage des entêtes de colonnes (créneaux) $query="SELECT idC, UNIX_TIMESTAMP(dateHeure), duree FROM AWOR_Creneau WHERE idR='$idR' ORDER BY dateHeure ASC;"; $creneaux=array(); $dispos=array(); @@ -204,8 +197,8 @@ function generate_html_array_personnes_crenaux($idR) </thead> <tbody> <?php - // Remplissage du tableau, ligne à ligne - // Requette écrivant les disponibilités dans un tableau associatif en une seule fois + // Remplissage du tableau, ligne à ligne + // Requette écrivant les disponibilités dans un tableau associatif en une seule fois if ( $montrerDispoR ) { $query='SELECT ch.idC, ch.idP, ch.estDispo FROM AWOR_Choisir ch, AWOR_Creneau c, AWOR_Personne p, AWOR_Appartenir a, AWOR_Reunion r WHERE ' @@ -243,16 +236,16 @@ function generate_html_array_personnes_crenaux($idR) if ( $result = @mysql_query($query) ) { - // On écrit ligne à ligne les personnes et les disponibilités + // On écrit ligne à ligne les personnes et les disponibilités while ( $p = mysql_fetch_array($result) ) // Boucle sur chaque personne { echo " <tr>\n"; // Colonne de checkbox pour envoi email si $is_admin == true if ( $is_admin ) { echo ' <td><input name="mail_idP' . $p[0] . '" type="checkbox" checked="checked" /></td>' . "\n"; } - // Nom prénom - echo " <td>$p[1] $p[2]</td>\n"; - // Disponibilités - foreach ( $creneaux as $c_id ) // Pour chaque créneau + // Nom prénom + echo ' <td>' . htmlentities($p[1], ENT_QUOTES) . ' ' . htmlentities($p[2], ENT_QUOTES) . "</td>\n"; + // Disponibilités + foreach ( $creneaux as $c_id ) // Pour chaque créneau { if (isset($dispos[$c_id][$p[0]])) { @@ -293,12 +286,12 @@ function generate_html_array_personnes_crenaux($idR) echo " </tr>\n"; } - // On inscrit les lignes de totaux si les disponibilités sont révélées + // On inscrit les lignes de totaux si les disponibilités sont révélées if ( $is_admin && ! $estFixee && ! $estAnnulee) { echo " <tr>\n"; echo " <td> </td>\n"; - echo " <td>Personnes présentes</td>\n"; + echo " <td>Personnes présentes</td>\n"; foreach ( $creneaux as $c_id ) { if ( $c_id == $dispo_max_id ) @@ -332,7 +325,7 @@ function traiter_formulaire_fixer_creneau() { if ( ! isset($_GET['idR']) || !isset($_GET['idC']) ) { - $errmsg="Impossible de fixer la réunion : paramètres manquants ou erroné"; + $errmsg="Impossible de fixer la réunion : paramètres manquants ou erroné"; return $errmsg; } $idR=addslashes($_GET['idR']); @@ -341,7 +334,7 @@ function traiter_formulaire_fixer_creneau() $query="UPDATE AWOR_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(); + $errmsg='Impossible de fixer la réunion : ' . mysql_generate_errmsg(); return $errmsg; } return; @@ -352,7 +345,7 @@ function traiter_formulaire_creer_reunion() include_once('include/je.inc.php'); $idP=$_SESSION['session_idP']; - // Recherche d'une réunion vierge déjà existante + // Recherche d'une réunion vierge déjà existante $query='SELECT idR FROM AWOR_Reunion WHERE idP_Orga=' . "('$idP') AND objetR='Renseignez';"; if ( ( $result = mysql_query($query) ) && (mysql_num_rows($result) > 0) ) { @@ -360,20 +353,20 @@ function traiter_formulaire_creer_reunion() } else { - // Création de la Réunion sauf si une réunion vierge existe déjà + // Création de la Réunion sauf si une réunion vierge existe déjà $query='INSERT INTO AWOR_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(); + $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 + // 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'; + $errmsg ='Erreur lors de la création de la liste de participants : Erreur de base de données'; return $errmsg; } @@ -381,7 +374,7 @@ function traiter_formulaire_creer_reunion() 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(); + $errmsg = 'Erreur lors de la création de la liste de participants : ' . mysql_generate_errmsg(); return $errmsg; } } @@ -391,19 +384,20 @@ function traiter_formulaire_creer_reunion() function traiter_formulaire_modif_detail_reunion() { + require_once('include/tools.inc.php'); 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'; + $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']); + $idR=addslashes_if_needed($_REQUEST['idR']); + $objetR=addslashes_if_needed($_POST['objetR']); + $lieuR=addslashes_if_needed($_POST['lieuR']); + $ordreJourR=addslashes_if_needed($_POST['ordreJourR']); + $remarquesR=addslashes_if_needed($_POST['remarquesR']); $estAnnulee=( isset($_POST['isCancelled']) && ($_POST['isCancelled']==='on') )?'oui':'non'; $montrerDispoR=( isset($_POST['isHidden']) && ($_POST['isHidden']==='on') )?'non':'oui'; @@ -412,7 +406,7 @@ function traiter_formulaire_modif_detail_reunion() 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(); + $errmsg = 'Erreur lors de la modification de la réunion : ' . mysql_generate_errmsg(); // DEBUG : //echo "DEBUG : $query\n$errmsg\n"; return $errmsg; @@ -429,19 +423,18 @@ function generate_html_reunion_detail2($idR) $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"; + $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'; } - ?> - <table class="detail_reunion" summary="Détail de la réunion que vous avez sélectionnée"> + <table class="detail_reunion" summary="Détail de la réunion que vous avez sélectionnée"> <thead> <tr> <th colspan="2"> - Détails de la réunion + Détails de la réunion <?php //~ echo "DEBUG : SESSION['session_idP']==" . $_SESSION['session_idP'] . "\n" . "idP_Orga==" . $idP_Orga; if ( isset($_SESSION['session_idP']) && ($_SESSION['session_idP'] == $idP_Orga ) ) @@ -452,7 +445,12 @@ function generate_html_reunion_detail2($idR) echo urlencode($ordreJourR) . '&remarquesR=' . urlencode($remarquesR); echo "','details_reunion',false)\">(Editer)</a>\n"; } - + $objetR=htmlentities($objetR, ENT_QUOTES); + $ordreJourR=htmlentities($ordreJourR, ENT_QUOTES); + $lieuR=htmlentities($lieuR, ENT_QUOTES); + $remarquesR=htmlentities($remarquesR, ENT_QUOTES); + $nomP=htmlentities($nomP, ENT_QUOTES); + $prenomP=htmlentities($prenomP, ENT_QUOTES); ?> </th> </tr> @@ -496,16 +494,16 @@ function generate_html_reunion_detail2($idR) switch($etat) { case 'reunion_fixee': - echo "Fixée\n"; + echo "Fixée\n"; break; case 'reunion_en_cours': - echo "En préparation\n"; + echo "En préparation\n"; break; case 'reunion_annulee': - echo "Annulée\n"; + echo "Annulée\n"; break; } - if ( $montrerDispoR === 'non' ) { echo ', disponibilités masquées'; } + if ( $montrerDispoR === 'non' ) { echo ', disponibilités masquées'; } ?> </td> </tr> @@ -524,12 +522,12 @@ function html_generate_MySQLTableSuppr($table, $key_name, $columns='*', $where_c //~ echo "DEBUG : $query\n"; if ( ! $result = @mysql_query($query) ) { - return "Erreur de génération de la table $table\n"; + return "Erreur de génération de la table $table\n"; } else { $row = mysql_fetch_assoc($result); - // Affichage des entêtes du tableau et du pied de tableau + // Affichage des entêtes du tableau et du pied de tableau echo '<form action="" method="post">' . "\n" . '<table summary="Affichage des objets de la table ' . $table . ' pour la purger">' . "\n<thead>\n<tr>\n"; echo '<td colspan="' . ( count($row) + 1 ) . "\">$table</td>\n</tr>\n<tr>\n"; echo "<td></td><td>" . implode("</td>\n<td>",array_keys($row)) . "</td>\n"; diff --git a/beta_accents/app/include/ludo/html_elements.inc.php b/beta_accents/app/include/ludo/html_elements.inc.php index b845f28..35eaa68 100644 --- a/beta_accents/app/include/ludo/html_elements.inc.php +++ b/beta_accents/app/include/ludo/html_elements.inc.php @@ -1,6 +1,6 @@ <?php /* - * Fonctions de génération de code HTML... + * Fonctions de génération de code HTML... */ function generate_html_doctype_and_head($title) { @@ -10,9 +10,9 @@ echo '<?xml version="1.0" encoding="ISO-8859-1"?>'."\n" <html xmlns="http://www.w3.org/1999/xhtml" lang="fr"> <head> <?php echo "<title>AWOR - $title</title>\n"; ?> - <meta name="keywords" content="AWOR, Application Web, Organisation, Réunion, Reunion" /> - <meta name="description" content="Application Web d'Organisation de Réunion (AWOR). Facilite la vie des organisateurs !" /> - <meta name="author" content="Jérémie Dénoyer, Ludovic Pouzenc, Andriana Semouchtchak, Julien Sérè" /> + <meta name="keywords" content="AWOR, Application Web, Organisation, Réunion, Reunion" /> + <meta name="description" content="Application Web d'Organisation de Réunion (AWOR). Facilite la vie des organisateurs !" /> + <meta name="author" content="Jérémie Dénoyer, Ludovic Pouzenc, Andriana Semouchtchak, Julien Sérè" /> <script type="text/javascript" src="script.js"></script> <?php //print_r($_COOKIE['aworcustom_css']); @@ -88,7 +88,7 @@ function generate_html_div_errmsg($errmsg) require_once('config.inc.php'); if ( isset( $CONFIG['adminMail'] ) && ( ! isset($_REQUEST['debug'] ) ) ) { - echo '<span class="contactAdm">Si le problème persiste, vous pouvez contacter l\'administrateur par email à l\'adresse suivante : '; + echo '<span class="contactAdm">Si le problème persiste, vous pouvez contacter l\'administrateur par email à l\'adresse suivante : '; echo '<a href="mailto:' . $CONFIG['adminMail'] . '">' . $CONFIG['adminMail'] . "</a></span>\n"; } echo "</div>\n"; @@ -109,7 +109,7 @@ function generate_html_div_css_chooser() { echo ' <option value="' . $file . '"'; if ( $file == $css_selected ) { echo ' selected="selected"'; } - echo '>' . $name . '</option>' /*. "$DEBUG:file=$file, css_selected=$css_selected"*/ . "\n"; + echo '>' . htmlentities($name, ENT_QUOTES) . '</option>' /*. "$DEBUG:file=$file, css_selected=$css_selected"*/ . "\n"; } echo ' </select>'. "\n"; echo '</div>'. "\n"; @@ -124,18 +124,18 @@ function generate_html_div_footer() <?php generate_html_div_css_chooser(); ?> </li> <li class="center"> - <a href="http://validator.w3.org/check/referer" target="_blank"> - <img src="./images/vxhtml.gif" alt="Validate" border="0" height="31" width="88" /> + <a href="http://validator.w3.org/check/referer"> + <img src="./images/vxhtml.gif" alt="Validate" height="31" width="88" /> </a> - <a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank"> - <img src="./images/vcss.gif" alt="Validate" border="0" height="31" width="88" /> + <a href="http://jigsaw.w3.org/css-validator/check/referer"> + <img src="./images/vcss.gif" alt="Validate" height="31" width="88" /> </a> - <a href="http://www.w3.org/WAI/WCAG1A-Conformance" title="Explanation of Level A Conformance" target="_blank"> - <img src="./images/wai.gif" alt="W3C-WAI level A conformance icon" border="0" height="31" width="88" /> + <a href="http://www.w3.org/WAI/WCAG1A-Conformance"> + <img src="./images/wai.gif" alt="W3C-WAI level A conformance icon" height="31" width="88" /> </a> </li> <li class="right"> - <span class="discret">Application réalisée par Jérémie Dénoyer,<br /> Ludovic Pouzenc, Julien Séré et Andriana Semouchtchak</span> + <span class="discret">Application réalisée par Jérémie Dénoyer,<br /> Ludovic Pouzenc, Julien Séré et Andriana Semouchtchak</span> </li> </ul> </div> diff --git a/beta_accents/app/include/ludo/mail_textarea.php b/beta_accents/app/include/ludo/mail_textarea.php index 87f4965..6db990f 100644 --- a/beta_accents/app/include/ludo/mail_textarea.php +++ b/beta_accents/app/include/ludo/mail_textarea.php @@ -1,11 +1,12 @@ <?php require_once('session_verify.inc.php'); include('config.inc.php'); +require_once('../utils.inc.php'); //~ require_once('/home/lud/shares/public_html/awor/appli_3_alpha/include/connect.inc.php'); //include('include/connect.inc.php'); -if ( isset($_GET['model']) ) { $model=$_GET['model']; } else { $model='empty'; } +if ( isset($_GET['model']) ) { $model=addslashes_if_needed($_GET['model']); } else { $model='empty'; } ?> <textarea name="msgText" cols="80" rows="15"> @@ -15,11 +16,11 @@ if ( isset($_GET['model']) ) { $model=$_GET['model']; } else { $model='empty'; } include('../connect.inc.php'); if ( ! isset($CONFIG['MAIL']['TEMPLATES'][$model]['tpl_file']) ) { - echo 'Désolé, modèle indisponible...'; + echo 'Désolé, modèle indisponible...'; } else { - // On récupère quelques information à propos de la réunion pour que les templates puissent être customisés + // On récupère quelques information à propos de la réunion pour que les templates puissent être customisés $objetR=$ordreJourR=$lieuR=$remarquesR=""; if (isset( $_GET['idR']) ) { @@ -33,7 +34,7 @@ if ( isset($_GET['model']) ) { $model=$_GET['model']; } else { $model='empty'; } //echo 'DEBUG : ../../templates/' . $CONFIG['MAIL']['TEMPLATES'][$model]['tpl_file'] . "\n"; if (!@include('../../templates/' . $CONFIG['MAIL']['TEMPLATES'][$model]['tpl_file']) ) { - echo 'Désolé, impossible de charger le fichier modèle...'; + echo 'Désolé, impossible de charger le fichier modèle...'; } } } diff --git a/beta_accents/app/include/ludo/majDispo.php b/beta_accents/app/include/ludo/majDispo.php index 3f79fec..febd9c3 100644 --- a/beta_accents/app/include/ludo/majDispo.php +++ b/beta_accents/app/include/ludo/majDispo.php @@ -3,11 +3,11 @@ require('../connect.inc.php'); require('session_verify.inc.php'); require('fonctions.inc.php'); -// TODO : vérification que la réunion nous concerne bien ! +// TODO : vérification que la réunion nous concerne bien ! if ( /*!isset($_GET['idR']) ||*/ !isset($_GET['idC']) || !isset($_GET['estDispo']) || !isset($_SESSION['session_idP']) ) { - $errmsg="Paramètres incorrects\n"; + $errmsg="Paramètres incorrects\n"; } if ( isset( $errmsg ) ) diff --git a/beta_accents/app/include/ludo/redir.inc.php b/beta_accents/app/include/ludo/redir.inc.php index 6baf40d..2edec6e 100644 --- a/beta_accents/app/include/ludo/redir.inc.php +++ b/beta_accents/app/include/ludo/redir.inc.php @@ -9,8 +9,8 @@ generate_html_doctype_and_head("Redirection"); <h1>Redirection</h1> <p>Si vous voyez cette page, merci de suivre le lien ci-dessous</p> <?php - // Ne respecte pas le XHTML s'il y a des paramètres les & doivent être remplacée par & - echo '<p><a href="' . $dest . '">' . $dest . '</a></p>' . "\n"; + // Ne respecte pas le XHTML s'il y a des paramètres les & doivent être remplacée par & + echo '<p><a href="' . urlencode($dest) . '">' . htmlentities($dest, ENT_QUOTES) . '</a></p>' . "\n"; ?> </body> </html> diff --git a/beta_accents/app/include/tools.inc.php b/beta_accents/app/include/tools.inc.php new file mode 100644 index 0000000..bf75d1f --- /dev/null +++ b/beta_accents/app/include/tools.inc.php @@ -0,0 +1,25 @@ +<?php +function addslashes_if_needed($texte) +{ + if(get_magic_quotes_gpc() == 0) + { + return addslashes($texte); + } + else + { + return $texte; + } +} + +function stripslashes_if_needed($texte) +{ + if(get_magic_quotes_gpc() != 0) + { + return stripslashes($texte); + } + else + { + return $texte; + } +} +?>
\ No newline at end of file diff --git a/beta_accents/app/index.php b/beta_accents/app/index.php index 572c656..abdfca1 100644 --- a/beta_accents/app/index.php +++ b/beta_accents/app/index.php @@ -1,7 +1,7 @@ <?php require('include/ludo/session_verify.inc.php'); require_once('include/ludo/html_elements.inc.php'); -generate_html_doctype_and_head("Réunions"); +generate_html_doctype_and_head("Réunions"); echo "<body>\n"; generate_html_divs_menu(); ?> @@ -32,7 +32,7 @@ generate_html_div_help(); <br/><br/> <a href="details_reunion.php?action=creer_reunion">Organiser une réunion</a> <br/><br/> - <table class="listeReunions" summary="Liste des réunions vous concernant"> + <table class="listeReunions" summary="Liste des réunions vous concernant"> <tr> <th>Objet</th> <th>Organisateur</th> @@ -41,7 +41,7 @@ generate_html_div_help(); <th>Détails</th> </tr> <?php - // Connexion à la base et sélection de la database + // Connexion à la base et sélection de la database require_once 'include/connect.inc.php'; function fill_array_liste_reunion($query) @@ -53,9 +53,12 @@ generate_html_div_help(); } else { - // On écrit ligne à ligne les personnes et les disponibilités + // On écrit ligne à ligne les personnes et les disponibilités while ( list($idR, $objetR, $nomP, $prenomP, $idC_Fixe, $estAnnulee) = mysql_fetch_array($result) ) { + $objetR=htmlentities($objetR, ENT_QUOTES); + $nomP=htmlentities($nomP, ENT_QUOTES); + $prenomP=htmlentities($prenomP, ENT_QUOTES); // Boucle sur chaque personne echo " <tr>\n"; echo ' <td><a href="details_reunion.php?idR=' . $idR . '">' . "$objetR</a></td>\n"; @@ -66,16 +69,16 @@ generate_html_div_help(); switch($etat) { case 'reunion_fixee': - echo ' <td>' . date('d/m/Y \à H:i', $idC_Fixe) . "</td>\n"; - echo " <td class='$etat'>Fixée</td>\n"; + echo ' <td>' . date('d/m/Y - H:i', $idC_Fixe) . "</td>\n"; + echo " <td class='$etat'>Fixée</td>\n"; break; case 'reunion_en_cours': echo " <td></td>\n"; - echo " <td class='$etat'>En préparation</td>\n"; + echo " <td class='$etat'>En préparation</td>\n"; break; case 'reunion_annulee': echo " <td></td>\n"; - echo " <td class='$etat'>Annulée</td>\n"; + echo " <td class='$etat'>Annulée</td>\n"; break; } @@ -89,7 +92,7 @@ generate_html_div_help(); } - // Réunions fixées et passées + // Réunions fixées et passées $query = 'SELECT DISTINCT R.idR, R.objetR, P.nomP, P.prenomP, UNIX_TIMESTAMP(C.dateHeure), R.estAnnulee' . ' FROM AWOR_Liste L,AWOR_Reunion R,AWOR_Appartenir A,AWOR_Creneau C,AWOR_Personne P' @@ -98,7 +101,7 @@ generate_html_div_help(); . ' ORDER BY C.dateHeure DESC;'; fill_array_liste_reunion($query); - // Réunion en préparation + // Réunion en préparation $query = 'SELECT DISTINCT R.idR, R.objetR, P.nomP, P.prenomP, NULL, R.estAnnulee' . ' FROM AWOR_Liste L,AWOR_Reunion R,AWOR_Appartenir A,AWOR_Personne P' // Creneau C, . " WHERE ((A.idP = $idP AND A.idL = L.idL) OR R.idP_Orga = $idP)" diff --git a/beta_accents/app/listes.php b/beta_accents/app/listes.php index 3ec4d39..e4529f1 100644 --- a/beta_accents/app/listes.php +++ b/beta_accents/app/listes.php @@ -27,11 +27,11 @@ generate_html_divs_menu(); </p> </div> <?php -generate_html_div_help('help/groupe.hlp'); +generate_html_div_help('help/listes.php.hlp'); ?> <div id="contenu"> -<a href="#" onclick="loadid('poppersonne.php?idP_orga=<?php echo $_SESSION['session_idP']; ?>','poppersonne',true);popon('poppersonne')">Créer une liste</a> +<a href="#" onclick="loadid('poppersonne.php?idP_orga=<?php echo $_SESSION['session_idP']; ?>','poppersonne',true);popon('poppersonne');loadid('help/listes_new.php.hlp','help',false)">Créer une liste</a> <br/><br/> <?php generate_html_array_list($_SESSION['session_idP']) ?> <br/> diff --git a/beta_accents/app/organiser.php b/beta_accents/app/organiser.php index 2afcbea..0b63023 100644 --- a/beta_accents/app/organiser.php +++ b/beta_accents/app/organiser.php @@ -2,14 +2,14 @@ require('include/ludo/session_verify.inc.php'); require_once('include/ludo/html_elements.inc.php'); require_once('include/connect.inc.php'); -generate_html_doctype_and_head("Modèle"); +generate_html_doctype_and_head("Modèle"); echo "<body>\n"; generate_html_divs_menu(); ?> <div id="sous_menu"> > <a href="index.php">Accueil</a> - > <a href="index.php">Réunions</a> - > Organiser une réunion + > <a href="index.php">Réunions</a> + > Organiser une réunion </div> <?php generate_html_div_help(); diff --git a/beta_accents/app/popcommentaire.php b/beta_accents/app/popcommentaire.php index cb6489f..bbb5922 100644 --- a/beta_accents/app/popcommentaire.php +++ b/beta_accents/app/popcommentaire.php @@ -10,7 +10,7 @@ { $com = mysql_fetch_array($result); - echo $com['commentaireReponse']; + echo htmlentities($com['commentaireReponse'], ENT_QUOTES); } ?> diff --git a/beta_accents/app/popcreneau.php b/beta_accents/app/popcreneau.php index f4ba56f..4e496a7 100644 --- a/beta_accents/app/popcreneau.php +++ b/beta_accents/app/popcreneau.php @@ -36,7 +36,7 @@ function generate_html_div_popcreneau($idR) </select>: <select name="minuteStart"> <?php - for ($i=0;$i<=59;$i++) {$i = "0$i"; $i = substr($i,-2); echo "<option value=\"$i\">$i</option>"; } + for ($i=0;$i<=3;$i++) {$c = $i * 15; $c = "0$c" ; $c = substr($c,-2); echo "<option value=\"$c\">$c</option>"; } ?> </select><br />Fin : <select name="hourEnd"> @@ -46,7 +46,7 @@ function generate_html_div_popcreneau($idR) </select>: <select name="minuteEnd"> <?php - for ($i=0;$i<=59;$i++) {$i = "0$i"; $i = substr($i,-2); echo "<option value=\"$i\">$i</option>"; } + for ($i=0;$i<=3;$i++) {$c = $i * 15; $c = "0$c" ; $c = substr($c,-2); echo "<option value=\"$c\">$c</option>"; } ?> </select></td> <td><input name="AjouterCreneau" type="button" value="Ajouter" onclick="addcreneau(this.form);"/><br/><br/> diff --git a/beta_accents/app/popdeletelist.php b/beta_accents/app/popdeletelist.php index 3449714..0754444 100644 --- a/beta_accents/app/popdeletelist.php +++ b/beta_accents/app/popdeletelist.php @@ -6,7 +6,7 @@ if (mysql_num_rows($result)>0) { $row = mysql_fetch_array($result); - echo "Libellé : " . $row[0] . "<br/><br/>"; + echo "Libellé : " . htmlentities($row[0], ENT_QUOTES) . "<br/><br/>"; } echo '<form id="formdelete" method="get" action="">'; echo '<input type="hidden" name="action" value="delete_list" />'; diff --git a/beta_accents/app/popnewlist.php b/beta_accents/app/popnewlist.php deleted file mode 100644 index d8d1010..0000000 --- a/beta_accents/app/popnewlist.php +++ /dev/null @@ -1,3 +0,0 @@ -<!-- Sert a rien !! --> - - diff --git a/beta_accents/app/poppersonne.php b/beta_accents/app/poppersonne.php index e9225ba..a983441 100644 --- a/beta_accents/app/poppersonne.php +++ b/beta_accents/app/poppersonne.php @@ -8,7 +8,7 @@ if(isset($_GET['idR'])) echo "Participants de la réunion"; <div class="popup_contenu"> <?php -//Pour la création de la liste et initialisation du propriétaire +//Pour la création de la liste et initialisation du propriétaire echo "<form id=\"formpersonne\" action=\"\" method=\"get\" onsubmit=\"return ("; $isOwner= false; @@ -24,8 +24,9 @@ if (!isset($_GET['idL'])) else { echo "dataListe('participants','dataParticipants'));\">"; - if (isset($_GET['idR'])) $req = "SELECT * FROM AWOR_Liste L,AWOR_Reunion R WHERE (L.idP_Createur=".$_GET['idP_orga']." OR R.idP_Orga=".$_GET['idP_orga'].") AND R.idL=L.idL"; - else $req = "SELECT * FROM AWOR_Liste L,AWOR_Reunion R WHERE L.idL=".$_GET['idL']." AND L.idP_Createur=".$_GET['idP_orga']; + if (isset($_GET['idR'])) $req = "SELECT L.idL FROM AWOR_Liste L,AWOR_Reunion R WHERE (L.idP_Createur=".$_GET['idP_orga']." OR R.idP_Orga=".$_GET['idP_orga'].") AND R.idL=L.idL"; + // TODO : VERIFIER le select juste au dessous : table réunion inutile ???? Reunion ??? + else $req = "SELECT L.idL FROM AWOR_Liste L,AWOR_Reunion R WHERE L.idL=".$_GET['idL']." AND L.idP_Createur=".$_GET['idP_orga']; $result = mysql_query($req); if (mysql_num_rows($result)>0) { @@ -55,8 +56,8 @@ else for($i=0;$i<mysql_num_rows($result);$i++) { $row = mysql_fetch_array($result); - echo '<option value="'.$row[0].'">'; - echo $row[1]; + echo '<option value="'.htmlentities($row[0],ENT_QUOTES).'">'; + echo htmlentities($row[1],ENT_QUOTES); echo '</option>'; } } @@ -90,8 +91,8 @@ else for($i=0;$i<mysql_num_rows($result);$i++) { $row = mysql_fetch_array($result); - echo '<option value="'.$row[0].'">'; - if ($row[2] !== "" & $row[3] !== "") echo $row[2] . " " . $row[3]; else echo $row[1]; + echo '<option value="'.htmlentities($row[0],ENT_QUOTES).'">'; + echo htmlentities($row[2],ENT_QUOTES) . " " . htmlentities($row[3],ENT_QUOTES); echo '</option>'; } } diff --git a/beta_accents/app/poppersonneliste.php b/beta_accents/app/poppersonneliste.php index a0d60b5..af3a896 100644 --- a/beta_accents/app/poppersonneliste.php +++ b/beta_accents/app/poppersonneliste.php @@ -12,8 +12,8 @@ for($i=0;$i<mysql_num_rows($result);$i++) { $row = mysql_fetch_array($result); - echo '<option value="'.$row[0].'" onDblClick="addPers(this.form);">'; - if ($row[2] !== "" & $row[3] !== "") echo $row[2] . " " . $row[3]; else echo $row[1]; + echo '<option value="'.htmlentities($row[0], ENT_QUOTES).'" onDblClick="addPers(this.form);">'; + echo htmlentities($row[2], ENT_QUOTES) . " " . htmlentities($row[3], ENT_QUOTES);; echo '</option>'; } } diff --git a/beta_accents/app/profil.php b/beta_accents/app/profil.php index 289b7f1..bd88afd 100644 --- a/beta_accents/app/profil.php +++ b/beta_accents/app/profil.php @@ -8,7 +8,7 @@ if ( isset($_REQUEST['action']) ) $nom_func = 'traiter_formulaire_' . $_REQUEST['action']; $nom_func(); } -generate_html_doctype_and_head("Modèle"); +generate_html_doctype_and_head("Administration du profil"); echo "<body>\n"; generate_html_divs_menu(); @@ -36,15 +36,15 @@ if($resultat != false) { $p = mysql_fetch_array($resultat); echo "<form method=\"post\" action=\"profil.php\" onSubmit=\"return verifProfil()\" >\n"; - echo "<table>\n"; + echo "<table summary=\"Formulaire permettant de modifier le profil de l'utilisateur\" >\n"; echo "<tr><td>Methode d'authentification : </td><td>\n<select name=\"methodeAuth\">\n"; if($p["methodeAuth"] == "webetud") echo "<option value=\"webetud\" selected=\"selected\">Webetud</option>\n"; else echo "<option value=\"webetud\">Webetud</option>\n"; if($p["methodeAuth"] == "pop") echo "<option value=\"pop\" selected=\"selected\">POP3</option>\n"; else echo "<option value=\"pop\">POP3</option>\n"; echo "</select></td></tr>\n"; - echo "<tr><td>Votre login :</td><td><input type=\"text\" name=\"loginP\" id=\"loginP\" value=\"".$p["loginP"]."\"/></td></tr>\n"; - echo "<tr><td>Votre adresse mail :</td><td><input type=\"text\" name=\"courrielP\" id=\"courrielP\" value=\"".$p["courrielP"]."\"/></td></tr>\n"; - echo "<tr><td>Votre nom :</td><td><input type=\"text\" name=\"nomP\" id=\"nomP\" value=\"".$p["nomP"]."\"/></td></tr>\n"; - echo "<tr><td>Votre prenom :</td><td><input type=\"text\" name=\"prenomP\" id=\"prenomP\" value=\"".$p["prenomP"]."\"/></td></tr>\n"; + echo "<tr><td>Votre login :</td><td><input type=\"text\" name=\"loginP\" id=\"loginP\" value=\"".htmlentities($p["loginP"], ENT_QUOTES)."\"/></td></tr>\n"; + echo "<tr><td>Votre adresse mail :</td><td><input type=\"text\" name=\"courrielP\" id=\"courrielP\" value=\"".htmlentities($p["courrielP"], ENT_QUOTES)."\"/></td></tr>\n"; + echo "<tr><td>Votre nom :</td><td><input type=\"text\" name=\"nomP\" id=\"nomP\" value=\"".htmlentities($p["nomP"], ENT_QUOTES)."\"/></td></tr>\n"; + echo "<tr><td>Votre prenom :</td><td><input type=\"text\" name=\"prenomP\" id=\"prenomP\" value=\"".htmlentities($p["prenomP"], ENT_QUOTES)."\"/></td></tr>\n"; echo "<tr><td colspan=\"2\"><input type=\"submit\" /></td></tr>\n"; echo "</table>\n"; echo "<input type=\"hidden\" name=\"action\" value=\"maj_profil\" />\n"; @@ -54,6 +54,7 @@ if($resultat != false) if ( isset ($errmsg) ) generate_html_div_errmsg($errmsg); ?> <div id="msg"></div> +<?php generate_html_div_footer() ?> </body> </html> diff --git a/beta_accents/app/script.js b/beta_accents/app/script.js index 2c14563..c8c0a06 100644 --- a/beta_accents/app/script.js +++ b/beta_accents/app/script.js @@ -27,14 +27,12 @@ function addPers(form) function switchCSS() { - - alert ( "On change de CSS !"); var listCSS = document.getElementById('switcherCSS'); if (listCSS) { if (listCSS.options.selectedIndex>=0) { - alert ( "On passe au css :" + listCSS.options[listCSS.options.selectedIndex].value); + setActiveStyleSheet(listCSS.options[listCSS.options.selectedIndex].value); } } @@ -282,6 +280,7 @@ function verifProfil() //*************************************************************************// // Switcher CSS //*************************************************************************// + function setActiveStyleSheet(title) { var i, a, main; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { @@ -338,4 +337,4 @@ window.onunload = function(e) { } var cookie = readCookie("aworcustom_css"); var title = cookie ? cookie : getPreferredStyleSheet(); -setActiveStyleSheet(title);
\ No newline at end of file +setActiveStyleSheet(title); diff --git a/beta_accents/app/sendmail.php b/beta_accents/app/sendmail.php index 6969701..4aeba4a 100644 --- a/beta_accents/app/sendmail.php +++ b/beta_accents/app/sendmail.php @@ -25,7 +25,7 @@ else { ?> <div id="errmsg"> - Erreur lors de l'émission de l'email : Paramètre manquant ou érroné + Erreur lors de l'émission de l'email : Paramètre manquant ou érroné </div></body></html> <?php exit(); @@ -37,13 +37,13 @@ if( isset($_POST['envoi']) ) if ( !isset($_POST['msgObject']) || !isset($_POST['msgText']) || !is_array($_POST['dataParticipants']) ) { - $errmsg = "Erreur lors de l'émission de l'email : Paramètre manquant ou érroné"; + $errmsg = "Erreur lors de l'émission de l'email : Paramètre manquant ou érroné"; } else { if ( !isset($CONFIG['automatedMail']) ) { - $errmsg = "Erreur lors de l'émission de l'email : Erreur de configuration par l'administrateur"; + $errmsg = "Erreur lors de l'émission de l'email : Erreur de configuration par l'administrateur"; } else { @@ -53,21 +53,21 @@ if( isset($_POST['envoi']) ) $result = mysql_query($query); if ( ! $result ) { - $errmsg = "Erreur lors de l'émission de l'email : Erreur de base de données"; + $errmsg = "Erreur lors de l'émission de l'email : Erreur de base de données"; } else { $to=array(); while ( list($nomP, $prenomP, $courrielP) = mysql_fetch_row($result) ) { - $to[]="$nomP $prenomP <$courrielP>"; + $to[]=htmlentities($nomP, ENT_QUOTES) . ' ' . htmlentities($prenomP, ENT_QUOTES) . ' <' . htmlentities($courrielP, ENT_QUOTES) . '>"'; } $to=implode(', ',$to); - if ( ! mail ( $to, $_POST['msgObject'], wordwrap($_POST['msgText'],70), 'From: ' . $CONFIG['automatedMail'] . "\r\n" ) ) + if ( ! mail ( $to, stripslashes_if_needed($_POST['msgObject']), wordwrap(stripslashes_if_needed($_POST['msgText']),70), 'From: ' . $CONFIG['automatedMail'] . "\r\n" ) ) { - $errmsg = "Erreur lors de l'émission de l'email : Erreur inconnue"; + $errmsg = "Erreur lors de l'émission de l'email : Erreur inconnue"; } } } @@ -79,8 +79,8 @@ if( isset($_POST['envoi']) ) } else { - echo '<div id="contenu">Le courriel à bien été envoyé<br />'; - echo '<a href="details_reunion.php?idR=' . $idR . '">Retour au détail de la réunion</a></div></body></html>'; + echo '<div id="contenu">Le courriel à bien été envoyé<br />'; + echo '<a href="details_reunion.php?idR=' . $idR . '">Retour au détail de la réunion</a></div></body></html>'; } exit(); } @@ -127,6 +127,10 @@ else for($i=0;$i<mysql_num_rows($result);$i++) { list($idP, $courrielP, $nomP, $prenomP) = mysql_fetch_array($result); + $courrielP=htmlentities($courrielP, ENT_QUOTES); + $nomP=htmlentities($nomP, ENT_QUOTES); + $prenomP=htmlentities($prenomP, ENT_QUOTES); + $personnes[$idP]=array($courrielP, $nomP, $prenomP); echo '<option value="'.$idP.'" ondblclick="addPers(this.form);">'; echo $nomP . " " . $prenomP; diff --git a/beta_accents/app/templates/mail_annul.php b/beta_accents/app/templates/mail_annul.php index 74e0d3d..f29e9d3 100644 --- a/beta_accents/app/templates/mail_annul.php +++ b/beta_accents/app/templates/mail_annul.php @@ -1,12 +1,12 @@ <?php -// Vous pouvez utiliser les variables suivantes pour personnaliser le modèle +// Vous pouvez utiliser les variables suivantes pour personnaliser le modèle // $objetR, $ordreJourR, $lieuR, $remarquesR ?> Bonjour, -Une réunion vient d'être annulée sur l'Application Web d'Organisation de Réunion et vous y étiez conviés. +Une réunion vient d'être annulée sur l'Application Web d'Organisation de Réunion et vous y étiez conviés. <?php -echo "Objet de la réunion : $objetR\n"; -echo "Lieu de la réunion : $lieuR\n"; +echo "Objet de la réunion : $objetR\n"; +echo "Lieu de la réunion : $lieuR\n"; echo "Ordre du jour : $ordreJourR\n"; echo "Remarques : $remarquesR\n"; ?>
\ No newline at end of file diff --git a/beta_accents/app/templates/mail_cree.php b/beta_accents/app/templates/mail_cree.php index cd18c89..0b83c49 100644 --- a/beta_accents/app/templates/mail_cree.php +++ b/beta_accents/app/templates/mail_cree.php @@ -1,13 +1,13 @@ <?php -// Vous pouvez utiliser les variables suivantes pour personnaliser le modèle +// Vous pouvez utiliser les variables suivantes pour personnaliser le modèle // $objetR, $ordreJourR, $lieuR, $remarquesR ?> Bonjour, -Une réunion vient d'être ajoutée sur l'Application Web d'Organisation de Réunion et vous y êtes conviés. -Vous pouvez aller consulter le détail de la réunion sur le site, et merci de donner vos disponibilités au plus tôt. +Une réunion vient d'être ajoutée sur l'Application Web d'Organisation de Réunion et vous y êtes conviés. +Vous pouvez aller consulter le détail de la réunion sur le site, et merci de donner vos disponibilités au plus tôt. <?php -echo "Objet de la réunion : $objetR\n"; -echo "Lieu de la réunion : $lieuR\n"; +echo "Objet de la réunion : $objetR\n"; +echo "Lieu de la réunion : $lieuR\n"; echo "Ordre du jour : $ordreJourR\n"; echo "Remarques : $remarquesR\n"; ?>
\ No newline at end of file diff --git a/beta_accents/app/templates/mail_fixee.php b/beta_accents/app/templates/mail_fixee.php index 6259f9a..a221061 100644 --- a/beta_accents/app/templates/mail_fixee.php +++ b/beta_accents/app/templates/mail_fixee.php @@ -1,14 +1,14 @@ <?php -// Vous pouvez utiliser les variables suivantes pour personnaliser le modèle +// Vous pouvez utiliser les variables suivantes pour personnaliser le modèle // $objetR, $ordreJourR, $lieuR, $remarquesR ?> Bonjour, -Une réunion vient d'être fixée sur l'Application Web d'Organisation de Réunion et vous y êtes conviés. -Vous pouvez aller consulter le détail de la réunion sur le site, noter le créneau retenu, -et même télécharger le fichier iCal pour synchroniser votre logiciel de calendrier préféré. +Une réunion vient d'être fixée sur l'Application Web d'Organisation de Réunion et vous y êtes conviés. +Vous pouvez aller consulter le détail de la réunion sur le site, noter le créneau retenu, +et même télécharger le fichier iCal pour synchroniser votre logiciel de calendrier préféré. <?php -echo "Objet de la réunion : $objetR\n"; -echo "Lieu de la réunion : $lieuR\n"; +echo "Objet de la réunion : $objetR\n"; +echo "Lieu de la réunion : $lieuR\n"; echo "Ordre du jour : $ordreJourR\n"; echo "Remarques : $remarquesR\n"; ?>
\ No newline at end of file diff --git a/beta_accents/app/templates/mail_modif.php b/beta_accents/app/templates/mail_modif.php index 3cbb7b1..8e8ed29 100644 --- a/beta_accents/app/templates/mail_modif.php +++ b/beta_accents/app/templates/mail_modif.php @@ -1,13 +1,13 @@ <?php -// Vous pouvez utiliser les variables suivantes pour personnaliser le modèle +// Vous pouvez utiliser les variables suivantes pour personnaliser le modèle // $objetR, $ordreJourR, $lieuR, $remarquesR ?> Bonjour, -Une réunion vient d'être modifiée sur l'Application Web d'Organisation de Réunion et vous y êtes conviés. -Vous pouvez aller consulter le détail de la réunion sur le site, et merci de donner vos disponibilités au plus tôt si ce n'et déjà fait. +Une réunion vient d'être modifiée sur l'Application Web d'Organisation de Réunion et vous y êtes conviés. +Vous pouvez aller consulter le détail de la réunion sur le site, et merci de donner vos disponibilités au plus tôt si ce n'et déjà fait. <?php -echo "Objet de la réunion : $objetR\n"; -echo "Lieu de la réunion : $lieuR\n"; +echo "Objet de la réunion : $objetR\n"; +echo "Lieu de la réunion : $lieuR\n"; echo "Ordre du jour : $ordreJourR\n"; echo "Remarques : $remarquesR\n"; ?>
\ No newline at end of file diff --git a/beta_accents/app/test.php b/beta_accents/app/test.php deleted file mode 100644 index ea189ae..0000000 --- a/beta_accents/app/test.php +++ /dev/null @@ -1,8 +0,0 @@ -<html> -<body> -<?php -include('include/ludo/html_elements.inc.php'); -generate_html_div_footer(); -?> -</body> -</html> diff --git a/beta_accents/app/testGet.php b/beta_accents/app/testGet.php deleted file mode 100644 index 03dc369..0000000 --- a/beta_accents/app/testGet.php +++ /dev/null @@ -1,18 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title>TestGEt</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> -<script type="text/javascript" src="script.js"></script> -</head> - -<body> -<?php - include("include/connect.inc.php"); - include("popcreneau.php"); - include("poppersonne.php"); -?> -<hr/> -<pre><?php print_r($_GET); ?></pre> -</body> -</html> diff --git a/beta_accents/corr_accents.sh b/beta_accents/corr_accents.sh new file mode 100644 index 0000000..1fc15f8 --- /dev/null +++ b/beta_accents/corr_accents.sh @@ -0,0 +1,2 @@ +#!/bin/bash +find -name "*.php" -exec ./sed.sh {} \; diff --git a/beta_accents/doc/READ_ME.lyx~ b/beta_accents/doc/READ_ME.lyx~ deleted file mode 100644 index af8e3a7..0000000 --- a/beta_accents/doc/READ_ME.lyx~ +++ /dev/null @@ -1,582 +0,0 @@ -#LyX 1.4.3 created this file. For more info see http://www.lyx.org/ -\lyxformat 245 -\begin_document -\begin_header -\textclass article -\language french -\inputencoding auto -\fontscheme default -\graphics default -\paperfontsize default -\spacing single -\papersize default -\use_geometry false -\use_amsmath 1 -\cite_engine basic -\use_bibtopic false -\paperorientation portrait -\secnumdepth 3 -\tocdepth 3 -\paragraph_separation indent -\defskip medskip -\quotes_language french -\papercolumns 1 -\papersides 1 -\paperpagestyle default -\tracking_changes false -\output_changes false -\end_header - -\begin_body - -\begin_layout Title -AWOR - Fichier Lisez-moi de l'administrateur -\end_layout - -\begin_layout Standard -\begin_inset LatexCommand \tableofcontents{} - -\end_inset - - -\end_layout - -\begin_layout Standard - -\newpage - -\end_layout - -\begin_layout Section -Compatibilité -\end_layout - -\begin_layout Standard -Cette application peut-être utilisée sur un serveur fonctionnant avec Apache, - MySQL(>=4) et PHP (>=4). - -\end_layout - -\begin_layout Paragraph -PHP -\end_layout - -\begin_layout Standard -L'application ne nécessite pas de configuration de PHP particulière. - Elle fonctionne quelque soit la valeur du paramètre de configuration register_g -lobals, utilise les sessions via les fonctions introduites en PHP4. - L'application fonctionne quelque soit la verbosité des affichages d'erreur - et de warning PHP, car nous avons travaillé à éliminer tous les messages - -\begin_inset Quotes fld -\end_inset - -E_NOTICE -\begin_inset Quotes frd -\end_inset - - PHP qui surviennent par exemple lors d'une comparaison avec une variable - non-initialisée. -\end_layout - -\begin_layout Standard -Les scripts PHP n'accèdent pas en écriture au système de fichier, sauf pour - l'upload de fichiers. - Le dossier -\begin_inset Quotes fld -\end_inset - -fichiers -\begin_inset Quotes frd -\end_inset - - doit être accessible en écriture par les scripts PHP sans quoi la fonctionnalit -é d'échange de fichier serait inutilisable. -\end_layout - -\begin_layout Paragraph -MySQL -\end_layout - -\begin_layout Standard -Les scripts PHP ne modifient pas structurellement la base de donnée MySQL, - il suffit donc d'un compte permettant les instructions SELECT, INSERT, - UPDATE, DELETE sur les tables de l'application. - Pour indiquer à l'application quel compte MySQL utiliser, veuillez vous - reporter à la section -\begin_inset LatexCommand \ref{sub:Initialisation-de-la-bd} - -\end_inset - -. -\end_layout - -\begin_layout Section -Sécurité -\end_layout - -\begin_layout Standard -Cette application a été développée en gardant toujours à l'esprit les problèmes - de sécurités. - Nous ne pouvons évidemment pas la garantir failles ni bugs, mais nous sommes - fixé des règles de programmation pour éviter les failles les plus courantes. - Toutes les données issue de l'utilisateur lors des traitements des pages - web sont traitées pour éviter des problèmes d'insertion de code dans les - requetes SQL. - L'authentification des utilisateurs est systématique, vérifiée à chaque - page et repose sur le système des sessions PHP. - En revanche, il faut noter que le formulaire d'authentification n'est pas - protégé contre l'usurpation de mots de passe car les contraintes données - dans le cahier des charges ne le permettent pas, dû moins, il n'est pas - possible d'utiliser un cryptage efficace (assymétrique) sans modifier le - système d'authentification déléguée et sans utiliser une configuration - de serveur Web spécifique. - Considérez, pour résoudre ce problème, l'emploi sur serveur web sécurisé - (HTTPS) et l'utilisation d'une liaison entre le serveur web et le serveur - d'authentification au travers d'un réseau de confiance. -\end_layout - -\begin_layout Section -Installation -\end_layout - -\begin_layout Subsection -Dépaquetage des pages PHP -\end_layout - -\begin_layout Standard -L'application est livrée dans une archive de type tarball compressée qui - contient toute l'arborescence et les fichiers PHP nécessaires. - Il suffit de décompresser cette archive en conservant l'arborescence dans - un dossier publié par votre serveur Web. - Les fichiers de configurations sont présent et contiennent des valeurs - d'exemple que vous pourrez adapter à votre situation. -\end_layout - -\begin_layout Standard - -\end_layout - -\begin_layout Subsection -\begin_inset LatexCommand \label{sub:Configuration} - -\end_inset - -Paramètres de configuration -\end_layout - -\begin_layout Standard -Cette application comporte deux fichiers de configuration qui sont dans - le dossier -\begin_inset Quotes fld -\end_inset - -include -\begin_inset Quotes frd -\end_inset - -. - Les fichiers existent dans la version distribuée et ont pour but de servir - de modèle. -\end_layout - -\begin_layout Description -connect.inc.php\InsetSpace ~ -: ce fichier contient les coordonnées du serveur MySQL, de - l'utilisateur SQL et de la base que l'application utilisera. -\end_layout - -\begin_layout Description -config.inc.php\InsetSpace ~ -: ce fichier contient tout le reste de la configuration de l'applica -tion. - Le fichier est un script PHP qui initialise un tableau multi-dimentionnel. - Ce choix à été fait par commodité, et pour permette de bien hiérarchiser - les information, en revanche, la syntaxe est fourbe\SpecialChar \ldots{} - N'oubliez pas de virgule - ! Toutes les constantes sont décrites ci-dessous. -\end_layout - -\begin_deeper -\begin_layout Description -$adminMail\InsetSpace ~ -: adresse e-mail de l'administrateur. - Affichée à l'utilisateur lorsque qu'une erreur interne à l'application - s'est produite. -\end_layout - -\begin_layout Description -$automatedMail\InsetSpace ~ -: adresse e-mail de réponse des courriels envoyés automatiquement - par l'application. -\end_layout - -\begin_layout Description -AUTH\InsetSpace ~ -: Paramètres d'authentification -\end_layout - -\begin_deeper -\begin_layout Description -POP\InsetSpace ~ -: Paramètres pour les serveurs mail POP -\end_layout - -\begin_deeper -\begin_layout Description -SERVERS\InsetSpace ~ -: Chaque élément de ce tableau à pour clef le nom de domaine du fournisse -ur de service de courriel ( partie suivant le @ dans une adresse e-mail) - à pour valeur un tableau associatif de la forme suivante -\end_layout - -\begin_deeper -\begin_layout Description -subdomain\InsetSpace ~ -: adresse complete du serveur offrant le service POP -\end_layout - -\begin_layout Description -port\InsetSpace ~ -: numéro de port TCP utilisé pour se connecter au service POP -\end_layout - -\begin_layout Description -username_is_full_mail\InsetSpace ~ -: Booléen (true ou false) indicant si le nom d'utilisateur - à utiliser pour l'authentification est l'adresse e-mail complète. - C'est utile pour les serveurs POP gérant des adresses email sur plusieurs - domaines (comme wanadoo / orange au moment où j'écris ce document) -\end_layout - -\end_deeper -\end_deeper -\begin_layout Description -bypass_if_local\InsetSpace ~ -: Booléen indiquant si l'authentification doit être outrepassée - si la connexion s'effectue depuis le serveur lui-même. -\end_layout - -\end_deeper -\begin_layout Description -CSS\InsetSpace ~ -: Paramètres des styles de pages -\end_layout - -\begin_deeper -\begin_layout Description -CHOOSER_LIST\InsetSpace ~ -: Ce tableau associatif contient la liste des styles CSS à utiliser. - Les clefs sont les libellés des thèmes à afficher et les valeurs sont les - noms des fichiers CSS correspondants, sans chemin, ni extension. -\end_layout - -\end_deeper -\begin_layout Description -MAIL\InsetSpace ~ -: -\end_layout - -\begin_deeper -\begin_layout Description -TEMPLATES\InsetSpace ~ -: Ce tableau contient des tableaux associatifs dont les clefs seront - utilisées dans les passages de paramètres HTML, et contiennent des sous-tableau -x de la forme suivante : -\end_layout - -\begin_deeper -\begin_layout Description -caption\InsetSpace ~ -: Intitulé qui sera affiché à l'utilisateur -\end_layout - -\begin_layout Description -tpl_file\InsetSpace ~ -: Nom du fichier (avec l'extension PHP) contenant le modèle. -\end_layout - -\end_deeper -\end_deeper -\begin_layout Description -SUPERUSERS\InsetSpace ~ -: Ce tableau contient la liste des login des super-utilisateurs - (ceux qui ont le droit de supprimer des réunions) -\end_layout - -\begin_layout Description -UPLOAD\InsetSpace ~ -: Paramètres concernant l'attachement de fichiers aux réunions -\end_layout - -\begin_deeper -\begin_layout Description -accepted_files\InsetSpace ~ -: Tableau des extensions qui sont autorisées. -\end_layout - -\end_deeper -\end_deeper -\begin_layout Subsection -\begin_inset LatexCommand \label{sub:Initialisation-de-la-bd} - -\end_inset - -Initialisation de la base -\end_layout - -\begin_layout Standard -Tout les fichiers nécessaires sont rangés dans le dossier -\begin_inset Quotes fld -\end_inset - -install -\begin_inset Quotes frd -\end_inset - -. - Vous utiliserez principalement le fichier -\begin_inset Quotes fld -\end_inset - -RAZBase.php -\begin_inset Quotes frd -\end_inset - -. - Appelé au travers du serveur web, il vous permettra automatiquement de - mettre en place la structure de la base de données, et optionnellement, - d'insérer un jeu d'essai pour tester l'application sur votre serveur. - Si vous ne souhaitez pas utiliser de compte SQL ayant le droit d'altérer - la structure des tables de votre base avec ce script php, vous pouvez exécuter - le script -\begin_inset Quotes fld -\end_inset - -base.sql -\begin_inset Quotes frd -\end_inset - - avec votre client SQL favori. - Le jeu d'essai se trouve dans le fichier -\begin_inset Quotes fld -\end_inset - -jeu_essai.sql -\begin_inset Quotes frd -\end_inset - -. -\end_layout - -\begin_layout Subsection -Configuration par défaut des comptes -\end_layout - -\begin_layout Standard -Dans le fichier de configuration modèle, un super-utilisateur est configuré - : inglebert@iut-blagnac.fr et le jeu d'essai proposé au paragraphe précédent - permet de créer des utilisateurs, et en particulier inglebert@iut-blagnac.fr. -\end_layout - -\begin_layout Standard -Par défaut, vous pourrez donc vous connecter en tant qu'administrateur avec - ce compte. - Le jeu d'essai met ce compte avec comme mode d'authentification -\begin_inset Quotes fld -\end_inset - -bypass -\begin_inset Quotes frd -\end_inset - -, ce qui signifie qu'aucun mot de passe est nécessaire. - Pour utiliser un vrai système d'authentification, connectez-vous avec ce - compte et allez dans la page -\begin_inset Quotes fld -\end_inset - -Mon Profil -\begin_inset Quotes frd -\end_inset - - pour choisir une autre système. -\end_layout - -\begin_layout Section -Maintenance -\end_layout - -\begin_layout Subsection -Visualisation des objets et des fichiers -\end_layout - -\begin_layout Standard -Une page d'administration est prévue à cet effet, et elle n'est accessible - que par un -\begin_inset Quotes fld -\end_inset - -super-utilisateur -\begin_inset Quotes frd -\end_inset - -, c'est à dire un utilisateur consigné dans le fichier de configuration - principal en tant que tel, confère -\begin_inset LatexCommand \ref{sub:Configuration} - -\end_inset - -. -\end_layout - -\begin_layout Subsection -Nettoyage de la base -\end_layout - -\begin_layout Standard -À partir de la page d'administration décrite dans le paragraphe précédent, - vous pouvez aussi purger les fichiers attachés et les objets de la base - de données devenus obsolètes. - L'aide contextuelle de cette page vous expliquera comment faire. - Il est vivement conseillé de faire une sauvegarde de la base de données - et des fichiers joints aux réunions avant d'utiliser cet outil car l'erreur - de manipulation ou de programmation est toujours possible\SpecialChar \ldots{} - -\end_layout - -\begin_layout Section -Authentification dédiée - Personnalisation -\end_layout - -\begin_layout Standard -AWOR utilise un système d'authentification dédiée de sorte qu'aucun mot - de passe ne soit stocké, et que l'utilisateur n'ait pas besoin d'en retenir - un nouveau. - Le code d'authentification à été écrit de manière à être maléable et est - extensible. - Le coeur du système d'authentification se trouve dans le fichier -\begin_inset Quotes fld -\end_inset - -auth_dialog.php -\begin_inset Quotes frd -\end_inset - -. - Vous y trouverez une section commençant par le commentaire ci-dessous. -\end_layout - -\begin_layout LyX-Code - -\lang english -/*************************************************** -\end_layout - -\begin_layout LyX-Code - -\lang english -** Ajouter d'autres mode d'authentification ici ! ** -\end_layout - -\begin_layout LyX-Code - -\lang english -***************************************************/ -\end_layout - -\begin_layout Standard -Comme l'indique ce commentaire, vous pourrez ajouter à cet endroit une portion - de code pour utiliser un autre service d'authentification. - La syntaxe est la suivante : -\end_layout - -\begin_layout LyX-Code -case '<nom_auth>': -\end_layout - -\begin_layout LyX-Code -/* Eventuellement du code préléminaire */ -\end_layout - -\begin_layout LyX-Code - -\lang english -$auth_is_ok=<fonction_ou_variable_authentification>; -\end_layout - -\begin_layout LyX-Code - -\lang english -if ( ! $auth_is_ok ) -\end_layout - -\begin_layout LyX-Code - -\lang english -{ // On exécute la ligne ci-dessous que si l'authentificaiton à échouée -\end_layout - -\begin_layout LyX-Code - -\lang english -$errmsg=<fonction_ou_chaine_explicant_l_erreur_d_authentification>; -\end_layout - -\begin_layout LyX-Code - -\lang english -} -\end_layout - -\begin_layout LyX-Code - -\lang english -break; -\end_layout - -\begin_layout Standard - -\lang english -Il vous suffit de remplacer les éléments entre chevrons dans le code ci-dessus - et de le coller dans -\begin_inset Quotes fld -\end_inset - -auth_dialog.inc.php -\begin_inset Quotes frd -\end_inset - - pour pouvoir utiliser un nouveau mode d'authentification. - Reste à donner à l'utilisateur la capacité de l'utiliser. - Vous devrez encore, d'une part, ajouter dans la base de données le <nom_auth> - à l'énumération du champ -\begin_inset Quotes fld -\end_inset - -methodeAuth -\begin_inset Quotes frd -\end_inset - - de la table -\begin_inset Quotes fld -\end_inset - -Personne -\begin_inset Quotes frd -\end_inset - -, et d'autre part proposer à l'utilisateur d'utiliser ce mode d'authentification - en modifiant la page -\begin_inset Quotes fld -\end_inset - -profil.php -\begin_inset Quotes frd -\end_inset - -. -\end_layout - -\end_body -\end_document diff --git a/beta_accents/fct_adm.inc.php b/beta_accents/fct_adm.inc.php deleted file mode 100644 index 1b68b06..0000000 --- a/beta_accents/fct_adm.inc.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php -function html_generate_MySQLTable($table, $columns='*', $where_clause='', $row_begin='', $row_end='') -{ - require_once('app/include/ludo/html_elements.inc.php'); - require_once('app/include/connect.inc.php'); - - if ( $where_clause !== '' ) { $where_clause="WHERE $where_clause"; } - $query = "SELECT $columns FROM $table $where_clause;"; - echo "DEBUG : $query\n"; - if ( ! $result = @mysql_query($query) ) - { - return "Erreur de génération de la table $table\n"; - } - else - { - $row = mysql_fetch_assoc($result); - // Affichage des entêtes du tableau - echo "<table>\n<thead>\n<tr>\n"; - echo "$row_begin<td>" . implode("</td>\n<td>",array_keys($row)) . "</td>$row_end\n"; - echo "</tr>\n</thead>\n<tbody>\n"; - do - { - echo "<tr>\n\t<td>" . implode("</td>\n<td>",$row) . "</td>\n</tr>\n"; - } while ( $row = mysql_fetch_assoc($result) ); - echo "</tbody>\n</table>\n"; - } -} - - - -html_generate_MySQLTableSuppr('AWOR_Reunion','idR'); - -?>
\ No newline at end of file diff --git a/beta_accents/install/jeu_essai.sql b/beta_accents/install/jeu_essai.sql index 7723733..889d4f6 100644 --- a/beta_accents/install/jeu_essai.sql +++ b/beta_accents/install/jeu_essai.sql @@ -1,114 +1,2 @@ --- --- Base de données: `awor` --- - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Appartenir` --- -DELETE FROM `AWOR_Appartenir`; -INSERT INTO `AWOR_Appartenir` (`idL`, `idP`) VALUES (1, 2), -(1, 3), -(1, 4), -(1, 5), -(2, 1), -(2, 2), -(2, 4), -(2, 5), -(3, 1), -(3, 2), -(3, 3), -(4, 1), -(4, 4), -(4, 5), -(5, 1), -(5, 4), -(5, 5), -(6, 1), -(6, 2), -(6, 3), -(8, 1), -(8, 2), -(8, 3), -(8, 4); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Choisir` --- -DELETE FROM `AWOR_Choisir`; -INSERT INTO `AWOR_Choisir` (`idC`, `idP`, `estDispo`) VALUES (1, 3, 'oui'), -(6, 1, 'oui'), -(7, 1, 'non'), -(1, 2, 'oui'), -(2, 2, 'non'), -(3, 2, 'oui'), -(4, 2, 'non'), -(5, 2, 'oui'); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Creneau` --- -DELETE FROM `AWOR_Creneau`; -INSERT INTO `AWOR_Creneau` (`idC`, `dateHeure`, `duree`, `idR`) VALUES (1, '2007-04-01 07:45:00', 645, 1), -(2, '2007-04-03 09:15:00', 75, 1), -(3, '2007-04-10 09:15:00', 75, 1), -(4, '2007-04-17 09:15:00', 75, 1), -(5, '2007-04-24 09:15:00', 75, 1), -(6, '2007-06-20 10:10:00', 80, 2), -(7, '2007-06-25 12:00:00', 30, 2), -(8, '2007-04-25 00:00:00', 0, 4); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Fichier` --- -DELETE FROM `AWOR_Fichier`; -INSERT INTO `AWOR_Fichier` (`idFic`, `nomFic`, `idR`) VALUES (1, 'r1_READ_ME.pdf', 1), -(2, 'r2_IUP MER.txt', 2); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Liste` --- -DELETE FROM `AWOR_Liste`; -INSERT INTO `AWOR_Liste` (`idL`, `libelleL`, `estPrivee`, `idP_Createur`) VALUES (1, 'interne_idR_1', 'oui', NULL), -(2, 'interne_idR_2', 'oui', NULL), -(3, 'Amis', 'oui', 3), -(4, 'interne_idR_3', 'oui', NULL), -(5, 'interne_idR_4', 'oui', NULL), -(6, 'Créateurs d''AWOR', 'oui', 1), -(7, 'interne_idR_5', 'oui', NULL), -(8, 'MaListePerso', 'oui', 2); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Personne` --- -DELETE FROM `AWOR_Personne`; -INSERT INTO `AWOR_Personne` (`idP`, `courrielP`, `loginP`, `nomP`, `prenomP`, `estAdmin`, `methodeAuth`) VALUES (1, 'lpouzenc@wanadoo.fr', 'lpouzenc', 'Pouzenc', 'Ludovic', 'oui', 'pop'), -(2, 'jeremie.denoyer@etu.iut-blagnac.fr', 'jeremie.denoyer', 'jeremie', 'denoyer', 'non', 'pop'), -(3, 'julien.sere@free.fr', 'julien.sere', 'Julien', 'Sere', 'non', 'pop'), -(4, 'soule@iut-blagnac.fr', 'soule@iut-blagnac.fr', 'Soulé', 'Geneviève', 'non', 'pop'), -(5, 'inglebert@iut-blagnac.fr', 'inglebert@iut-blagnac.fr', 'Inglebert', 'Jean-Michel', 'non', 'bypass'); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Repondre` --- -DELETE FROM `AWOR_Repondre`; -INSERT INTO `AWOR_Repondre` (`idR`, `idP`, `commentaireReponse`) VALUES (1, 1, 'Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...'), -(1, 3, 'Un commentaire à [ | ) @ {[| @#~{[#`|['), -(3, 1, 'Réunion juste pour le test...'); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Reunion` --- -DELETE FROM `AWOR_Reunion`; -INSERT INTO `AWOR_Reunion` (`idR`, `objetR`, `ordreJourR`, `lieuR`, `remarquesR`, `montrerDispoR`, `estAnnulee`, `idP_Orga`, `idC_Fixe`, `idL`) VALUES (1, 'Recette du projet tuteuré', 'Recette de cette magnifique application :-)', 'Salle 219', 'Aucune', 'non', 'non', 1, NULL, 1), -(2, 'Renseignez', NULL, NULL, NULL, 'non', 'non', 3, NULL, 2), -(3, 'Réunion annulée - essais', '', 'Nullepart', '', 'oui', 'oui', 1, NULL, 4), -(4, 'Réunion fixée pour tester', '', '', '', 'non', 'non', 1, 8, 5), -(5, 'Renseignez', NULL, NULL, NULL, 'non', 'non', 2, NULL, 7); +-- phpMyAdmin SQL Dump +-- TODO !! diff --git a/beta_accents/install/jeu_essai.sql~ b/beta_accents/install/jeu_essai.sql~ deleted file mode 100644 index f2d25b3..0000000 --- a/beta_accents/install/jeu_essai.sql~ +++ /dev/null @@ -1,114 +0,0 @@ --- --- Base de données: `awor` --- - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Appartenir` --- -DELETE FROM `AWOR_Appartenir`; -INSERT INTO `AWOR_Appartenir` (`idL`, `idP`) VALUES (1, 2), -(1, 3), -(1, 4), -(1, 5), -(2, 1), -(2, 2), -(2, 4), -(2, 5), -(3, 1), -(3, 2), -(3, 3), -(4, 1), -(4, 4), -(4, 5), -(5, 1), -(5, 4), -(5, 5), -(6, 1), -(6, 2), -(6, 3), -(8, 1), -(8, 2), -(8, 3), -(8, 4); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Choisir` --- -DELETE FROM `AWOR_Choisir`; -INSERT INTO `AWOR_Choisir` (`idC`, `idP`, `estDispo`) VALUES (1, 3, 'oui'), -(6, 1, 'oui'), -(7, 1, 'non'), -(1, 2, 'oui'), -(2, 2, 'non'), -(3, 2, 'oui'), -(4, 2, 'non'), -(5, 2, 'oui'); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Creneau` --- -DELETE FROM `AWOR_Creneau`; -INSERT INTO `AWOR_Creneau` (`idC`, `dateHeure`, `duree`, `idR`) VALUES (1, '2007-04-01 07:45:00', 645, 1), -(2, '2007-04-03 09:15:00', 75, 1), -(3, '2007-04-10 09:15:00', 75, 1), -(4, '2007-04-17 09:15:00', 75, 1), -(5, '2007-04-24 09:15:00', 75, 1), -(6, '2007-06-20 10:10:00', 80, 2), -(7, '2007-06-25 12:00:00', 30, 2), -(8, '2007-04-25 00:00:00', 0, 4); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Fichier` --- -DELETE FROM `AWOR_Fichier`; -INSERT INTO `AWOR_Fichier` (`idFic`, `nomFic`, `idR`) VALUES (1, 'r1_READ_ME.pdf', 1), -(2, 'r2_IUP MER.txt', 2); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Liste` --- -DELETE FROM `AWOR_Liste`; -INSERT INTO `AWOR_Liste` (`idL`, `libelleL`, `estPrivee`, `idP_Createur`) VALUES (1, 'interne_idR_1', 'oui', NULL), -(2, 'interne_idR_2', 'oui', NULL), -(3, 'Amis', 'oui', 3), -(4, 'interne_idR_3', 'oui', NULL), -(5, 'interne_idR_4', 'oui', NULL), -(6, 'Créateurs d''AWOR', 'oui', 1), -(7, 'interne_idR_5', 'oui', NULL), -(8, 'MaListePerso', 'oui', 2); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Personne` --- -DELETE FROM `AWOR_Personne`; -INSERT INTO `AWOR_Personne` (`idP`, `courrielP`, `loginP`, `nomP`, `prenomP`, `estAdmin`, `methodeAuth`) VALUES (1, 'lpouzenc@wanadoo.fr', 'lpouzenc', 'Pouzenc', 'Ludovic', 'oui', 'bypass'), -(2, 'jeremie.denoyer@etu.iut-blagnac.fr', 'jeremie.denoyer', 'jeremie', 'denoyer', 'non', 'bypass'), -(3, 'julien.sere@free.fr', 'julien.sere', 'Julien', 'Sere', 'non', 'bypass'), -(4, 'soule@iut-blagnac.fr', 'soule@iut-blagnac.fr', 'Soulé', 'Geneviève', 'non', 'bypass'), -(5, 'inglebert@iut-blagnac.fr', 'inglebert@iut-blagnac.fr', 'Inglebert', 'Jean-Michel', 'non', 'bypass'); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Repondre` --- -DELETE FROM `AWOR_Repondre`; -INSERT INTO `AWOR_Repondre` (`idR`, `idP`, `commentaireReponse`) VALUES (1, 1, 'Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...'), -(1, 3, 'Un commentaire à [ | ) @ {[| @#~{[#`|['), -(3, 1, 'Réunion juste pour le test...'); - --- -------------------------------------------------------- --- --- Contenu de la table `AWOR_Reunion` --- -DELETE FROM `AWOR_Reunion`; -INSERT INTO `AWOR_Reunion` (`idR`, `objetR`, `ordreJourR`, `lieuR`, `remarquesR`, `montrerDispoR`, `estAnnulee`, `idP_Orga`, `idC_Fixe`, `idL`) VALUES (1, 'Recette du projet tuteuré', 'Recette de cette magnifique application :-)', 'Salle 219', 'Aucune', 'non', 'non', 1, NULL, 1), -(2, 'Renseignez', NULL, NULL, NULL, 'non', 'non', 3, NULL, 2), -(3, 'Réunion annulée - essais', '', 'Nullepart', '', 'oui', 'oui', 1, NULL, 4), -(4, 'Réunion fixée pour tester', '', '', '', 'non', 'non', 1, 8, 5), -(5, 'Renseignez', NULL, NULL, NULL, 'non', 'non', 2, NULL, 7); diff --git a/beta_accents/sed.rl b/beta_accents/sed.rl new file mode 100644 index 0000000..e93250b --- /dev/null +++ b/beta_accents/sed.rl @@ -0,0 +1,6 @@ +s/é/\é/ +s/è/\è/ +s/ê/\ê/ +s/ù/\ù/ +s/à/\à/ + diff --git a/beta_accents/sed.sh b/beta_accents/sed.sh new file mode 100644 index 0000000..ae75b59 --- /dev/null +++ b/beta_accents/sed.sh @@ -0,0 +1,14 @@ +#!/bin/bash +echo $1 +cp $1 $1_bkp + +sed -f sed.rl $1_bkp > $1 + +for ((i=0;i<10;i++)) +do + sed -f sed.rl $1 > $1_old + sed -f sed.rl $1_old > $1 +done +rm $1_old +rm $1_bkp + diff --git a/beta_accents/test.txt b/beta_accents/test.txt new file mode 100644 index 0000000..b290a3d --- /dev/null +++ b/beta_accents/test.txt @@ -0,0 +1 @@ +2à ùèé diff --git a/beta_accents/test.txt_bkp b/beta_accents/test.txt_bkp new file mode 100644 index 0000000..b290a3d --- /dev/null +++ b/beta_accents/test.txt_bkp @@ -0,0 +1 @@ +2à ùèé diff --git a/beta_accents/test.txt_old b/beta_accents/test.txt_old new file mode 100644 index 0000000..b290a3d --- /dev/null +++ b/beta_accents/test.txt_old @@ -0,0 +1 @@ +2à ùèé diff --git a/beta_accents/upload_files/r1_READ_ME.pdf b/beta_accents/upload_files/r1_READ_ME.pdf Binary files differnew file mode 100644 index 0000000..bb4e4db --- /dev/null +++ b/beta_accents/upload_files/r1_READ_ME.pdf diff --git a/beta_accents/upload_files/r2_IUP MER.txt b/beta_accents/upload_files/r2_IUP MER.txt new file mode 100644 index 0000000..1815095 --- /dev/null +++ b/beta_accents/upload_files/r2_IUP MER.txt @@ -0,0 +1,12 @@ +MS Project SPSS Business Objects ERP + +Licence +Sur dossier + entretient +2 mois de stages +Exemple de stages : +TFE : Analyse de rentabilité +DENJEAN LOGISTIQUE : Optimisation de l'organisation + +Master en Gestion sur toulouse ou sur tarbes selon la specialisation + +http://iup-tlse.net/mer/ |