summaryrefslogtreecommitdiff
path: root/beta_accents
diff options
context:
space:
mode:
authorLudovic Pouzenc <ludovic@pouzenc.fr>2018-07-05 00:25:51 +0200
committerLudovic Pouzenc <ludovic@pouzenc.fr>2018-07-05 00:25:51 +0200
commitac54f5224d4470de9d8ae088e1338dea52668c9d (patch)
tree7f77b2a8176343e6632fbd99ff431c21974ef482 /beta_accents
parent9738017972a6d4fea655926525b3c67dd85740cf (diff)
download2007-AWOR-ac54f5224d4470de9d8ae088e1338dea52668c9d.tar.gz
2007-AWOR-ac54f5224d4470de9d8ae088e1338dea52668c9d.tar.bz2
2007-AWOR-ac54f5224d4470de9d8ae088e1338dea52668c9d.zip
Renommage beta_accents -> final pour diffs
Diffstat (limited to 'beta_accents')
-rw-r--r--beta_accents/app/admin.php63
-rw-r--r--beta_accents/app/apropos.php29
-rw-r--r--beta_accents/app/auth_dialog.php121
-rw-r--r--beta_accents/app/css/default.css240
-rw-r--r--beta_accents/app/css/default_img/README.txt1
-rw-r--r--beta_accents/app/css/default_img/README.txt~0
-rw-r--r--beta_accents/app/css/default_img/titre.pngbin23658 -> 0 bytes
-rw-r--r--beta_accents/app/css/ice.css359
-rw-r--r--beta_accents/app/css/ice_img/README.txt1
-rw-r--r--beta_accents/app/css/ice_img/logo.pngbin5040 -> 0 bytes
-rw-r--r--beta_accents/app/css/ice_img/masque.pngbin415 -> 0 bytes
-rw-r--r--beta_accents/app/css/ice_img/titleTable.pngbin1248 -> 0 bytes
-rw-r--r--beta_accents/app/css/ice_img/titre.pngbin23658 -> 0 bytes
-rw-r--r--beta_accents/app/css/ice_moche.css233
-rw-r--r--beta_accents/app/css/ice_moche_img/README.txt1
-rw-r--r--beta_accents/app/css/ice_moche_img/logo.pngbin5040 -> 0 bytes
-rw-r--r--beta_accents/app/css/ice_moche_img/masque.pngbin415 -> 0 bytes
-rw-r--r--beta_accents/app/css/ice_moche_img/titleTable.pngbin1248 -> 0 bytes
-rw-r--r--beta_accents/app/css/ice_moche_img/titre.pngbin23658 -> 0 bytes
-rw-r--r--beta_accents/app/css/ice_moche_nohelp.css252
-rw-r--r--beta_accents/app/css/ice_nohelp.css362
-rw-r--r--beta_accents/app/deco.php36
-rw-r--r--beta_accents/app/details_reunion.php121
-rw-r--r--beta_accents/app/help/admin.php.hlp27
-rw-r--r--beta_accents/app/help/astuce_aide.php.hlp11
-rw-r--r--beta_accents/app/help/astuce_apparence.php.hlp12
-rw-r--r--beta_accents/app/help/astuce_deconnexion.php.hlp10
-rw-r--r--beta_accents/app/help/astuce_ical.php.hlp15
-rw-r--r--beta_accents/app/help/auth_dialog.php.hlp15
-rw-r--r--beta_accents/app/help/details_reunion.php.hlp4
-rw-r--r--beta_accents/app/help/details_reunion_admin.php.hlp10
-rw-r--r--beta_accents/app/help/groupe.hlp7
-rw-r--r--beta_accents/app/help/index.php.hlp14
-rw-r--r--beta_accents/app/help/listes.php.hlp9
-rw-r--r--beta_accents/app/help/listes_delete.php.hlp12
-rw-r--r--beta_accents/app/help/listes_detail.php.hlp9
-rw-r--r--beta_accents/app/help/listes_modif.php.hlp30
-rw-r--r--beta_accents/app/help/listes_new.php.hlp12
-rw-r--r--beta_accents/app/help/modele_page.php.hlp17
-rw-r--r--beta_accents/app/help/organiser.php.hlp2
-rw-r--r--beta_accents/app/help/profil.php.hlp8
-rw-r--r--beta_accents/app/help/profil_loginMethode.php.hlp14
-rw-r--r--beta_accents/app/help/profil_mail.php.hlp13
-rw-r--r--beta_accents/app/help/profil_nomPrenom.php.hlp10
-rw-r--r--beta_accents/app/help/reunion_admin_annuler.php.hlp8
-rw-r--r--beta_accents/app/help/reunion_admin_dispo.php.hlp13
-rw-r--r--beta_accents/app/help/reunion_admin_info.php.hlp12
-rw-r--r--beta_accents/app/help/reunion_detail.php.hlp15
-rw-r--r--beta_accents/app/help/reunion_new.php.hlp10
-rw-r--r--beta_accents/app/help/sendmail.php.hlp2
-rw-r--r--beta_accents/app/ical.php36
-rw-r--r--beta_accents/app/images/addP.gifbin363 -> 0 bytes
-rw-r--r--beta_accents/app/images/button_del.pngbin1429 -> 0 bytes
-rw-r--r--beta_accents/app/images/button_ok.pngbin1679 -> 0 bytes
-rw-r--r--beta_accents/app/images/del.gifbin882 -> 0 bytes
-rw-r--r--beta_accents/app/images/details.pngbin237 -> 0 bytes
-rw-r--r--beta_accents/app/images/editCreneau2.gifbin865 -> 0 bytes
-rw-r--r--beta_accents/app/images/logo.pngbin5040 -> 0 bytes
-rw-r--r--beta_accents/app/images/masque.pngbin415 -> 0 bytes
-rw-r--r--beta_accents/app/images/ok.gifbin340 -> 0 bytes
-rw-r--r--beta_accents/app/images/question.gifbin640 -> 0 bytes
-rw-r--r--beta_accents/app/images/supprimer.pngbin244 -> 0 bytes
-rw-r--r--beta_accents/app/images/vcss.gifbin1547 -> 0 bytes
-rw-r--r--beta_accents/app/images/vxhtml.gifbin2344 -> 0 bytes
-rw-r--r--beta_accents/app/images/wai.gifbin2370 -> 0 bytes
-rw-r--r--beta_accents/app/include/connect.inc.php14
-rw-r--r--beta_accents/app/include/ical.inc.php68
-rw-r--r--beta_accents/app/include/index.html0
-rw-r--r--beta_accents/app/include/je.inc.php241
-rw-r--r--beta_accents/app/include/ju.inc.php227
-rw-r--r--beta_accents/app/include/ludo/TODO_list.txt24
-rw-r--r--beta_accents/app/include/ludo/auth.inc.php78
-rw-r--r--beta_accents/app/include/ludo/config.inc.php74
-rw-r--r--beta_accents/app/include/ludo/div_create_or_modif.php74
-rw-r--r--beta_accents/app/include/ludo/fonctions.inc.php548
-rw-r--r--beta_accents/app/include/ludo/html_elements.inc.php185
-rw-r--r--beta_accents/app/include/ludo/mail_textarea.php45
-rw-r--r--beta_accents/app/include/ludo/majDispo.php39
-rw-r--r--beta_accents/app/include/ludo/redir.inc.php20
-rw-r--r--beta_accents/app/include/ludo/session_verify.inc.php9
-rw-r--r--beta_accents/app/include/tools.inc.php25
-rw-r--r--beta_accents/app/index.php126
-rw-r--r--beta_accents/app/listes.php48
-rw-r--r--beta_accents/app/organiser.php24
-rw-r--r--beta_accents/app/popcommentaire.php23
-rw-r--r--beta_accents/app/popcreneau.php90
-rw-r--r--beta_accents/app/popdeletelist.php20
-rw-r--r--beta_accents/app/popfixer.php42
-rw-r--r--beta_accents/app/poppersonne.php113
-rw-r--r--beta_accents/app/poppersonneliste.php27
-rw-r--r--beta_accents/app/profil.php60
-rw-r--r--beta_accents/app/script.js340
-rw-r--r--beta_accents/app/sendmail.php200
-rw-r--r--beta_accents/app/templates/mail_annul.php12
-rw-r--r--beta_accents/app/templates/mail_cree.php13
-rw-r--r--beta_accents/app/templates/mail_fixee.php14
-rw-r--r--beta_accents/app/templates/mail_modif.php13
-rw-r--r--beta_accents/corr_accents.sh2
-rw-r--r--beta_accents/doc/READ_ME.css109
-rw-r--r--beta_accents/doc/READ_ME.dvibin16892 -> 0 bytes
-rw-r--r--beta_accents/doc/READ_ME.html469
-rw-r--r--beta_accents/doc/READ_ME.lyx582
-rw-r--r--beta_accents/doc/READ_ME.pdfbin77548 -> 0 bytes
-rw-r--r--beta_accents/doc/READ_ME.ps2436
-rw-r--r--beta_accents/doc/READ_ME.txt277
-rw-r--r--beta_accents/install/RAZbase.php130
-rw-r--r--beta_accents/install/base.sql123
-rw-r--r--beta_accents/install/jeu_essai.sql2
-rw-r--r--beta_accents/sed.rl6
-rw-r--r--beta_accents/sed.sh14
-rw-r--r--beta_accents/test.txt1
-rw-r--r--beta_accents/test.txt_bkp1
-rw-r--r--beta_accents/test.txt_old1
-rw-r--r--beta_accents/upload_files/r1_READ_ME.pdfbin73334 -> 0 bytes
-rw-r--r--beta_accents/upload_files/r2_IUP MER.txt12
115 files changed, 0 insertions, 9177 deletions
diff --git a/beta_accents/app/admin.php b/beta_accents/app/admin.php
deleted file mode 100644
index aad3277..0000000
--- a/beta_accents/app/admin.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-require('include/ludo/session_verify.inc.php');
-require_once('include/ludo/html_elements.inc.php');
-require_once('include/ludo/fonctions.inc.php');
-//~ require_once('include/je.inc.php');
-//~ require_once('include/ju.inc.php');
-include('include/ludo/config.inc.php');
-
-generate_html_doctype_and_head("Administration");
-echo "<body>\n";
-
-generate_html_divs_menu();
-?>
- <div id="sous_menu">
- <p class="arbre">
- &gt; <a href="index.php">Accueil</a>
- &gt; Administration
- </p>
- </div>
-<?php
- generate_html_div_help();
- echo '<div id="contenu">' . "\n";
-
- if ( isset($_REQUEST['action']) )
- {
- switch ($_REQUEST['action'])
- {
- case 'delete_from_AWOR_Liste':
- case 'delete_from_AWOR_Fichier':
- case 'delete_from_AWOR_Reunion':
- case 'delete_from_AWOR_Personne':
- $_REQUEST['action']();
- break;
- default:
- $errmsg = 'Impossible de traiter la requete : param&egrave;tre erron&eacute;'."\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\'&ecirc;tes pas un administrateur !';
- generate_html_div_errmsg($errmsg);
- echo '</body></html>';
- exit();
- }
-
-
- // TODO : fonctions qui purgent les tables filles selon un id donn&eacute;, pour chaque cas m&egrave;re-fille (indiqu&eacute;s plus bas)
-
- // Fonctions qui g&eacute;n&egrave;rent des tableaux listant tous les objets de la base, et permettant la s&eacute;lection multiple et l'&eacute;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
- echo "<br />\n";
- html_generate_MySQLTableSuppr('AWOR_Reunion','idR', 'idR,objetR,estAnnulee,idP_Orga,idC_Fixe,idL'); // Permet de virer des gens, doit purger les tables Creneau et Choisir, Repondre, Fichiers
- echo "<br />\n";
- html_generate_MySQLTableSuppr('AWOR_Personne','idP'); // Permet de virer des gens, doit purger les tables Appartenir, Reunion
-
-echo " </div>\n";
-generate_html_div_footer();
-?>
-</body>
-</html>
diff --git a/beta_accents/app/apropos.php b/beta_accents/app/apropos.php
deleted file mode 100644
index cdea1ff..0000000
--- a/beta_accents/app/apropos.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?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&egrave;le");
-
-echo "<body>\n";
-generate_html_divs_menu();
-?>
- <div id="sous_menu">
- <p class="arbre">
- &gt; <a href="index.php">Accueil</a>
- &gt; Administration du profil
- </p>
- </div>
-<div id="contenu">Application r&eacute;alis&eacute;e par J&eacute;r&eacute;mie D&eacute;noyer,<br />
-Ludovic Pouzenc, Julien S&eacute;r&eacute; 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
deleted file mode 100644
index 234b092..0000000
--- a/beta_accents/app/auth_dialog.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
- // R&eacute;cup&eacute;ration des param&egrave;tres
- if ( isset($_GET['retour']) && $_GET['retour']!='' )
- { $retour=addslashes( $_GET['retour'] ); } else { $retour='index.php'; }
-
- // Si le formulaire &agrave; &eacute;t&eacute; envoy&eacute;, on le traite ici
- if ( isset($_POST['envoi']) && $_POST['envoi'] === '1' )
- {
- if ( ! ( isset($_POST['loginP']) && isset($_POST['pass']) ) )
- {
- $errmsg = 'Param&egrave;tres incorrects';
- }
- else
- {
- $loginP=addslashes( $_POST['loginP'] );
-
-
- include 'include/ludo/auth.inc.php';
-
- // Code v&eacute;rifiant que la personne qui tente de se connecter est bien r&eacute;f&eacute;renc&eacute;e dans notre base
- include 'include/ludo/fonctions.inc.php';
- // Connexion &agrave; la base et s&eacute;lection de la database
- include 'include/connect.inc.php';
- include 'include/ludo/config.inc.php';
-
- // Requete SQL
- $query = "SELECT idP, loginP, nomP, prenomP, methodeAuth FROM AWOR_Personne WHERE loginP='$loginP';";
- if ( ! $result = @mysql_query($query) )
- {
- // Cas d'erreur
- $errmsg =mysql_generate_errmsg();
- }
- else
- {
- // Initialisation par d&eacute;faut
- $methodeAuth='';
- // Chargement des pr&eacute;f&eacute;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&eacute; en local, on saute l'authentification
- if ( ($CONFIG['AUTH']['bypass_if_local'] === true )
- && ( ($_SERVER['REMOTE_ADDR'] == 'localhost') || ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') ) )
- {
- $methodeAuth='bypass';
- }
-
- $auth_is_ok=false;
- switch ( $methodeAuth )
- {
- case 'webetud':
- // TODO
- break;
- // Vous pouvez ajouter d'autres mode d'authentification ici !
- case 'bypass':
- $auth_is_ok=true;
- break;
- default:
- // Tentative d'authentification POP
- if ( ($errno = pop3_auth_simple($loginP, $_POST['pass']) ) != 0 )
- {
- // Authentification &eacute;chou&eacute;e
- $errmsg=pop3_generate_errmsg($errno);
- }
- else
- {
- $auth_is_ok=true;
- }
- break;
- }
- if ( $auth_is_ok === true )
- {
- // Authentification r&eacute;ussie
- session_start();
- $_SESSION['session_loginP']=$loginP;
- $_SESSION['session_nomP']=$nomP;
- $_SESSION['session_prenomP']=$prenomP;
- $_SESSION['session_idP']=$idP;
- require('include/ludo/redir.inc.php');
- html_redir($retour);
- }
- }
- }
- }
-require_once('include/ludo/html_elements.inc.php');
-generate_html_doctype_and_head("Identification");
-?>
-<body onload="javascript:document.forms['auth'].elements['loginP'].focus()">
-<div id="titre"><h2>AWOR</h2></div>
-
-<?php
-generate_html_div_help();
-?>
-<div id="page_accueil">
- <h1>Application Web d'Organisation de R&eacute;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" />
- <?php echo '<input type="hidden" name="retour" value="' . $retour . '" />' . "\n" ; ?>
- <div class="aligned">
- <div>
- <span class="label">Votre identifiant :</span>
- <span class="field"><input name="loginP" type="text" size="20" tabindex="1" /></span>
- </div>
- <div>
- <span class="label">Votre mot de passe :</span>
- <span class="field"><input name="pass" type="password" size="20" tabindex="2" /></span>
- </div>
- <div>
- <span class="label"><input type="reset" value="Vider" /></span>
- <span class="field"><input type="submit" value="Valider" /></span>
- </div>
- </div>
-<?php if ( isset ($debug) ) { echo ' <input type="hidden" name="debug" value="true" />' . "\n"; } ?>
- </form>
-</div>
-<?php if ( isset ($errmsg) ) { generate_html_div_errmsg($errmsg); }
-generate_html_div_footer(); ?>
-</body>
-</html>
diff --git a/beta_accents/app/css/default.css b/beta_accents/app/css/default.css
deleted file mode 100644
index b8ecc3d..0000000
--- a/beta_accents/app/css/default.css
+++ /dev/null
@@ -1,240 +0,0 @@
-
-img { border : none ; }
-body {
- color: #000000;
- background-color:#F5F5DC;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- padding:0px;
- margin:0px;
- min-width:750px; /*Pour eviter le chevauchement pour FireFox, ne change rien pour IE (qui gere pas trop mal sans ca) */
-}
-table {
- border-spacing:0px;
- margin: auto;
- padding: 0px;
- width:98%;
- text-align:center;
- border: thin solid #E0E0E0;
- border-collapse:collapse; /* Imite le cellspacing=0 et fonctionne sous IE */
- background-color:#F7F7F7;
-}
-th {
- border-right:none;
- font-weight: bold;
- color: #FFFFFF;
- background-color: #551A8B;
-}
-td {
- border-bottom-width: thin;
- border-bottom-style: solid;
- border-bottom-color: #E0E0E0;
-}
-th a:link, th a:visited {
- font-size: x-small;
- color: #FFFFFF;
-}
-h1 {
- font-weight: bold;
- color: #9999FF;
- text-align: center;
-}
-h2 {
- color: #5C5CFF;
- margin: 0px;
-}
-select { width:auto; }
-/***** Titre *****/
-#titre h2 {
- color: #551A8B;
- margin-left:50px;
- height:50px;
- width:200px;
- background-image:url(default_img/titre.png);
- background-position:left;
- background-repeat:no-repeat;
- color:#FFFFFF;
- font-size:0px;
-}
-#titre {
- height:50px;
- clear:left;
- background-color:#FFFFFF;
- background-image:url(../images/logo.png);
- background-position:left;
- background-repeat:no-repeat;
-}
-
-/*****************/
-/***** Menu *****/
-#menu {
- padding:0px;
- margin:0px;
- width:100%;
- height:20px;
- background-color:#551A8B;
-}
-#menu a {
- text-decoration:none;
- display:block;
- font-weight:bold;
- text-align:center;
- color:#FFFFFF;
-}
-#menu a:hover {
- color:#000000;
- background-color:#FFFFFF;
-}
-/* Pour IE5/MAC \*/#menu a{float:none;}/**/
-#menu li {
- list-style: none;
- float:left;
- padding:0;
- margin:0;
- width:120px;
- white-space:nowrap;/*Evite l'étalement sur deux ligne*/
- vertical-align:middle;
-}
-#menu #deconnection {
- float:right;
-}
-
-#main_menu {
-
-}
-/*********************/
-/***** Sous Menu *****/
-#sous_menu {
- clear:left;
- padding-top:5px;
- padding-bottom:3px;
- padding-left:15px;
- border-bottom:1px solid #000000;
- background-color:#8470FF;
-}
-/* -------------- Arbre -------------------*/
-p.arbre {
- font-size: small;
- color: #FFFFFF;
- text-align: left;
- margin-top: 0px;
- margin-right: 0px;
- margin-bottom: 0px;
- margin-left: 0px;
-}
-p.arbre a:link, p.arbre a:visited {color:#FFFFFF; }
-
-/*******************/
-/***** Contenu *****/
-#contenu {
- padding-top:10px;
- padding-bottom:20px;
- padding-left:5px;
- padding-right:22%;/*225px;*/ /*200 + 5*2 + 2*2 + (pour ie 5*2) */
-}
-#help {
- text-align:justify;
- color:#000000;
- float:right;
- margin:5px;
- padding:5px;
- border:thin solid #000000;
- background-color:#F7F7F7;
- font-size:small;
- width:18%;
-}
-#help h2
-{
- text-align:center;
- font-size:medium;
- color:#FFFFFF;
- background-color:#551A8B;
- margin-top:0;
- margin-bottom:10px;
-}
-
-#no_help h2
-{
- display:none;
-}
-.popup , .popup_creneau , .popup_personne , .popup_commentaire , .popup_fichier , .popup_new {
- display: none;
- position: absolute;
- left:50%;
- top:50%;
- border: 3px solid #000000;
- background-color: #8470FF;
- z-index: 500;
- font-size: 80%;
- text-align:center;
-}
-.popup {
- width: 20em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -10em ;/*moitié de width */
-}
-
-.popup_creneau {
- width: 45em;
- height: 22em;
- margin-top: -11em ;/*moitié de height */
- margin-left: -22.5em ;/*moitié de width */
-}
-.popup_personne {
- width: 45em;
- height: 25em;
- margin-top: -12.5em ;/*moitié de height */
- margin-left: -22.5em ;/*moitié de width */
-}
-.popup_commentaire {
- width: 30em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -15em ;/*moitié de width */
-}
-
-.popup_fichier {
- width: 30em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -15em ;/*moitié de width */
-}
-
-.popup_new {
- width: 30em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -15em ;/*moitié de width */
-}
-
-.popup h2 , .popup_creneau h2 , .popup_personne h2 , .popup_commentaire h2 , .popup_fichier h2 , .popup_new h2
-{
- background:#551A8B;
- color:#FFFFFF;
- font-size:small;
- border-bottom:inherit;
-}
-
-div.popup_contenu
-{
- margin-top:1em;
- vertical-align:middle;
-}
-
-.popup input , .popup_creneau input , .popup_personne input , .popup_commentaire input , .popup_fichier input , .popup_new input
-{
- cursor:pointer;
-}
-
-#masque
-{
- width:100%;
- height:100%;
- display: none;
- position: absolute;
- left:0px;
- top:0px;
- background-image:url(../images/masque.png);
- background-repeat:repeat;
- z-index: 499;
-} \ No newline at end of file
diff --git a/beta_accents/app/css/default_img/README.txt b/beta_accents/app/css/default_img/README.txt
deleted file mode 100644
index fec6abf..0000000
--- a/beta_accents/app/css/default_img/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-C'est ici qu'on stockera les images propre au style default.css
diff --git a/beta_accents/app/css/default_img/README.txt~ b/beta_accents/app/css/default_img/README.txt~
deleted file mode 100644
index e69de29..0000000
--- a/beta_accents/app/css/default_img/README.txt~
+++ /dev/null
diff --git a/beta_accents/app/css/default_img/titre.png b/beta_accents/app/css/default_img/titre.png
deleted file mode 100644
index d8d9ce6..0000000
--- a/beta_accents/app/css/default_img/titre.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/css/ice.css b/beta_accents/app/css/ice.css
deleted file mode 100644
index a60500d..0000000
--- a/beta_accents/app/css/ice.css
+++ /dev/null
@@ -1,359 +0,0 @@
-em {color:#F00;}
-img { border : none ; }
-img.spacing{ margin: 0 0.2em 0 0.2em;}
-body {
- color: #000000;
- background-color:#F5F5DC;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- padding:0px;
- margin:0px;
- min-width:750px; /*Pour eviter le chevauchement pour FireFox, ne change rien pour IE (qui gere pas trop mal sans ca) */
-}
-table {
- border-spacing:0px;
- margin: auto;
- padding: 0px;
- width:98%;
- text-align:center;
- border: thin solid #E0E0E0;
- border-collapse:collapse; /* Imite le cellspacing=0 et fonctionne sous IE */
- background-color:#F7F7F7;
-}
-
-th , thead tr {
- border-right:none;
- font-weight: bold;
- color: #FFFFFF;
- background-color:#551A8B;
-}
-th.selected {color:#FFF;background-color:#8470FF}
-td {
- border-bottom-width: thin;
- border-bottom-style: solid;
- border-bottom-color: #E0E0E0;
-}
-th a:link, th a:visited {
- font-size: x-small;
- color: #FFFFFF;
-}
-
-h1 {
- font-weight: bold;
- color: #9999FF;
- text-align: center;
-}
-h2 {
- color: #5C5CFF;
- margin: 0px;
-}
-.reunion_fixee {
- color:#bf7e00;
-}
-.reunion_en_cours {
- color:#9fbf00;
-}
-.reunion_annulee {
- color:#bf2000;
-}
-select { width:auto; }
-li {
- margin-left:-20px;
-}
-/***** Titre *****/
-#titre h2 {
- color: #551A8B;
- margin-left:50px;
- height:50px;
- width:200px;
- background-image:url(ice_img/titre.png);
- background-position:left;
- background-repeat:no-repeat;
- color:#FFFFFF;
- font-size:0px;
-}
-#titre {
- height:50px;
- clear:left;
- background-color:#FFFFFF;
- background-image:url(ice_img/logo.png);
- background-position:left;
- background-repeat:no-repeat;
-}
-
-/*****************/
-/***** Menu *****/
-#menu {
- padding:0px;
- margin:0px;
- width:100%;
- height:1.5em;
- background-color:#551A8B;
-}
-#menu a {
- text-decoration:none;
- display:block;
- font-weight:bold;
- text-align:center;
- color:#FFFFFF;
- height:1.5em;
-}
-#menu a:hover {
- color:#000000;
- background-color:#FFFFFF;
- height:1.5em;
-}
-/* Pour IE5/MAC \*/#menu a{float:none;}/**/
-#menu li {
- list-style: none;
- float:left;
- 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;
- padding-left:15px;
- border-bottom:1px solid #000000;
- background-color:#8470FF;
-}
-/* -------------- Arbre -------------------*/
-p.arbre {
- font-size: small;
- color: #FFFFFF;
- text-align: left;
- margin-top: 0px;
- margin-right: 0px;
- margin-bottom: 0px;
- margin-left: 0px;
-}
-p.arbre a:link, p.arbre a:visited {color:#FFFFFF; }
-
-/*******************/
-/***** Contenu *****/
-#contenu {
- padding-top:10px;
- padding-bottom:20px;
- padding-left:5px;
- float:left;
- width:78%;
- min-height:100%;
-}
-#help {
- text-align:left;
- color:#000000;
- float:right;
- margin:5px;
- padding:5px;
- border:thin solid #000000;
- background-color:#F7F7F7;
- font-size:small;
- width:18%;
-}
-#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;
- margin-top:0;
- margin-bottom:10px;
-}
-
-#no_help, #no_help h2
-{
- display:none;
-}
-
-
-.popup , .popup_creneau , .popup_personne , .popup_commentaire , .popup_fichier , .popup_deletelist {
- display: none;
- position: absolute;
- left:50%;
- top:50%;
- border: 3px solid #000000;
- background-color: #8470FF;
- z-index: 500;
- font-size: 80%;
- text-align:center;
-}
-.popup {
- width: 20em;
- height: 10em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -10em ;/*moitié de width */
-}
-
-.popup_creneau {
- width: 45em;
- height: 22em;
- margin-top: -11em ;/*moitié de height */
- margin-left: -22.5em ;/*moitié de width */
-}
-.popup_personne {
- width: 45em;
- height: 30em;
- margin-top: -15em ;/*moitié de height */
- margin-left: -22.5em ;/*moitié de width */
-}
-.popup_commentaire {
- width: 30em;
- height: 14em;
- margin-top: -7em ;/*moitié de height */
- margin-left: -15em ;/*moitié de width */
-}
-
-.popup_fichier {
- width: 30em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -15em ;/*moitié de width */
-}
-.popup_deletelist {
- width: 26em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -13em ;/*moitié de width */
-}
-
-.popup h2 , .popup_creneau h2 , .popup_personne h2 , .popup_commentaire h2 , .popup_fichier h2 , .popup_deletelist h2
-{
- background:#551A8B;
- color:#FFFFFF;
- font-size:small;
- border-bottom:inherit;
-}
-
-div.popup_contenu
-{
- margin-top:1em;
- vertical-align:middle;
-}
-div.popup_contenu em
-{
- font-size:x-small;
- color:#FFF;
-}
-
-.popup input , .popup_creneau input , .popup_personne input , .popup_commentaire input , .popup_fichier input , .popup_deletelist input
-{
- cursor:pointer;
-}
-
-#masque
-{
- width:100%;
- height:100%;
- display: none;
- position: absolute;
- left:0px;
- top:0px;
- background-image:url(ice_img/masque.png);
- background-repeat:repeat;
- z-index: 499;
-}
-
-#page_accueil h1
-{
- background:#551A8B;
- color:#FFF;
- margin-top:0;
-}
-
-#page_accueil
-{
- text-align:center;
-}
-
-#msg
-{
- display:none;
- position:absolute;
- text-align:center;
- left:50%;
- margin-left:-20%;
- width:40%;
- background-color:#551A8B;
- top:-10px;
- padding-top:15px;
- padding-bottom:10px;
- color:#FFF;
- -moz-border-radius:16px;
-}
-#msg em
-{
- color:#FFF;
-}
-
-
-#footer
-{
- float:left;
- display:block;
- width:100%;
- background-color:#551A8B;
- height:30px;
- color:#FFF;
- font-size:x-small;
- margin-top:20px;
- margin-bottom:0px;
- padding-bottom:0px;
-}
-#footer ul
-{
- list-style-type:none;
- white-space:nowrap;
- margin-top:0px;
- padding:0px;
-}
-#footer li.right {
- display:inline;
- float:left;
- list-style:none;
- white-space:nowrap;/*Evite l'étalement sur deux ligne*/
- vertical-align:middle;
- padding-left:10px;
- margin-left:0px;
-}
-#footer li.center {
- display:inline;
- float:right;
- list-style: none;
- white-space:nowrap;/*Evite l'étalement sur deux ligne*/
- vertical-align:middle;
- padding-right:30px;
- margin-left:0px;
-}
-#footer li.left select {
- border:thin solid #000;
-}
-#footer li.left {
- 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_img/README.txt b/beta_accents/app/css/ice_img/README.txt
deleted file mode 100644
index b81d613..0000000
--- a/beta_accents/app/css/ice_img/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-C'est ici qu'on stockera les images propre au style Ice.css
diff --git a/beta_accents/app/css/ice_img/logo.png b/beta_accents/app/css/ice_img/logo.png
deleted file mode 100644
index a768d45..0000000
--- a/beta_accents/app/css/ice_img/logo.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/css/ice_img/masque.png b/beta_accents/app/css/ice_img/masque.png
deleted file mode 100644
index 45a6027..0000000
--- a/beta_accents/app/css/ice_img/masque.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/css/ice_img/titleTable.png b/beta_accents/app/css/ice_img/titleTable.png
deleted file mode 100644
index e6c02d9..0000000
--- a/beta_accents/app/css/ice_img/titleTable.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/css/ice_img/titre.png b/beta_accents/app/css/ice_img/titre.png
deleted file mode 100644
index d8d9ce6..0000000
--- a/beta_accents/app/css/ice_img/titre.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/css/ice_moche.css b/beta_accents/app/css/ice_moche.css
deleted file mode 100644
index 0004b1a..0000000
--- a/beta_accents/app/css/ice_moche.css
+++ /dev/null
@@ -1,233 +0,0 @@
-img { border : none ; }
-body {
- color: #000000;
- background-color:#F5F5DC;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- padding:0px;
- margin:0px;
- min-width:750px; /*Pour eviter le chevauchement pour FireFox, ne change rien pour IE (qui gere pas trop mal sans ca) */
-}
-table {
- border-spacing:0px;
- margin: auto;
- padding: 0px;
- width:98%;
- text-align:center;
- border: thin solid #E0E0E0;
- border-collapse:collapse; /* Imite le cellspacing=0 et fonctionne sous IE */
- background-color:#F7F7F7;
-}
-th {
- border-right:none;
- font-weight: bold;
- color: #FFFFFF;
- background-color:#551A8B;
-}
-
-th.selected {color:#8470FF;}
-td {
- border-bottom-width: thin;
- border-bottom-style: solid;
- border-bottom-color: #E0E0E0;
-}
-th a:link, th a:visited {
- font-size: x-small;
- color: #FFFFFF;
-}
-
-h1 {
- font-weight: bold;
- color: #9999FF;
- text-align: center;
-}
-h2 {
- color: #5C5CFF;
- margin: 0px;
-}
-select { width:auto; }
-/***** Titre *****/
-#titre h2 {
- color: #551A8B;
- height:60px;
- width:200px;
- margin-left:60px;
- padding-top:5px;
-/* background-image:url(ice_img/titre.png);
- background-position:left;
- background-repeat:no-repeat;*/
- color:#FFFFFF;
- font-size:40px;
-
-}
-#titre {
- height:60px;
- padding-top:5px;
- width:100%;
- clear:left;
- background-color:#551A8B;
- background-image:url(ice_img/logo.png);
- background-position:left;
- background-repeat:no-repeat;
-}
-
-/*****************/
-/***** Menu *****/
-#menu {
- padding:0px;
- margin:0px;
- color:#551A8B;
- width:15em;
- background-color:#FFFFFF;
-}
-#menu a {
- text-decoration:none;
- display:block;
- font-weight:bold;
- text-align:center;
- color:#551A8B;
-}
-#menu a:hover {
- color:#FFFFFF;
- background-color:#551A8B;
-}
-/* Pour IE5/MAC \*/#menu a{float:none;}/**/
-#menu li {
- list-style: none;
- padding:0px;
- margin:0px;
- vertical-align:middle;
-}
-#menu #deconnection {
-}
-
-#main_menu {
-
-}
-/*********************/
-/***** Sous Menu *****/
-#sous_menu {
- display:none;
-}
-
-/*******************/
-/***** Contenu *****/
-#contenu {
- padding-top:10px;
- padding-bottom:10px;
- padding-right:3em;
- padding_left:3em;
- position:absolute;
- top:60px;
- left:15em;
-
-}
-#help {
- text-align:justify;
- color:#000000;
- float:left;
- margin-top:20px;
- margin-left:10px;
- padding:5px;
- border:thin solid #000000;
- background-color:#F7F7F7;
- font-size:small;
- width:15em;
-}
-
-#help h2 , #help a
-{
- 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;
-}
-
-
-.popup , .popup_creneau , .popup_personne , .popup_commentaire , .popup_fichier , .popup_deletelist {
- display: none;
- position: absolute;
- left:50%;
- top:50%;
- border: 3px solid #000000;
- background-color: #8470FF;
- z-index: 500;
- font-size: 80%;
- text-align:center;
-}
-.popup {
- width: 20em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -10em ;/*moitié de width */
-}
-
-.popup_creneau {
- width: 45em;
- height: 22em;
- margin-top: -11em ;/*moitié de height */
- margin-left: -22.5em ;/*moitié de width */
-}
-.popup_personne {
- width: 45em;
- height: 30em;
- margin-top: -15em ;/*moitié de height */
- margin-left: -22.5em ;/*moitié de width */
-}
-.popup_commentaire {
- width: 30em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -15em ;/*moitié de width */
-}
-
-.popup_fichier {
- width: 30em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -15em ;/*moitié de width */
-}
-.popup_deletelist {
- width: 26em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -13em ;/*moitié de width */
-}
-
-.popup h2 , .popup_creneau h2 , .popup_personne h2 , .popup_commentaire h2 , .popup_fichier h2 , .popup_deletelist h2
-{
- background:#551A8B;
- color:#FFFFFF;
- font-size:small;
- border-bottom:inherit;
-}
-
-div.popup_contenu
-{
- margin-top:1em;
- vertical-align:middle;
-}
-
-.popup input , .popup_creneau input , .popup_personne input , .popup_commentaire input , .popup_fichier input , .popup_deletelist input
-{
- cursor:pointer;
-}
-
-#masque
-{
- width:100%;
- height:100%;
- display: none;
- position: absolute;
- left:0px;
- top:0px;
- background-image:url(ice_img/masque.png);
- background-repeat:repeat;
- z-index: 499;
-}
diff --git a/beta_accents/app/css/ice_moche_img/README.txt b/beta_accents/app/css/ice_moche_img/README.txt
deleted file mode 100644
index b81d613..0000000
--- a/beta_accents/app/css/ice_moche_img/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-C'est ici qu'on stockera les images propre au style Ice.css
diff --git a/beta_accents/app/css/ice_moche_img/logo.png b/beta_accents/app/css/ice_moche_img/logo.png
deleted file mode 100644
index a768d45..0000000
--- a/beta_accents/app/css/ice_moche_img/logo.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/css/ice_moche_img/masque.png b/beta_accents/app/css/ice_moche_img/masque.png
deleted file mode 100644
index 45a6027..0000000
--- a/beta_accents/app/css/ice_moche_img/masque.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/css/ice_moche_img/titleTable.png b/beta_accents/app/css/ice_moche_img/titleTable.png
deleted file mode 100644
index e6c02d9..0000000
--- a/beta_accents/app/css/ice_moche_img/titleTable.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/css/ice_moche_img/titre.png b/beta_accents/app/css/ice_moche_img/titre.png
deleted file mode 100644
index d8d9ce6..0000000
--- a/beta_accents/app/css/ice_moche_img/titre.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/css/ice_moche_nohelp.css b/beta_accents/app/css/ice_moche_nohelp.css
deleted file mode 100644
index 9032594..0000000
--- a/beta_accents/app/css/ice_moche_nohelp.css
+++ /dev/null
@@ -1,252 +0,0 @@
-
-img { border : none ; }
-body {
- color: #000000;
- background-color:#F5F5DC;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- padding:0px;
- margin:0px;
- min-width:750px; /*Pour eviter le chevauchement pour FireFox, ne change rien pour IE (qui gere pas trop mal sans ca) */
-}
-table {
- border-spacing:0px;
- margin: auto;
- padding: 0px;
- width:98%;
- text-align:center;
- border: thin solid #E0E0E0;
- border-collapse:collapse; /* Imite le cellspacing=0 et fonctionne sous IE */
- background-color:#F7F7F7;
-}
-th {
- border-right:none;
- font-weight: bold;
- color: #FFFFFF;
- background-color: #551A8B;
-}
-th.selected {color:#8470FF;}
-td {
- border-bottom-width: thin;
- border-bottom-style: solid;
- border-bottom-color: #E0E0E0;
-}
-th a:link, th a:visited {
- font-size: x-small;
- color: #FFFFFF;
-}
-h1 {
- font-weight: bold;
- color: #9999FF;
- text-align: center;
-}
-h2 {
- color: #5C5CFF;
- margin: 0px;
-}
-select { width:auto; }
-/***** Titre *****/
-#titre h2 {
- color: #551A8B;
- margin-left:50px;
- height:50px;
- width:200px;
- background-image:url(ice_img/titre.png);
- background-position:left;
- background-repeat:no-repeat;
- color:#FFFFFF;
- font-size:0px;
-}
-#titre {
- height:50px;
- clear:left;
- background-color:#FFFFFF;
- background-image:url(ice_img/logo.png);
- background-position:left;
- background-repeat:no-repeat;
-}
-
-/*****************/
-/***** Menu *****/
-#menu {
- padding:0px;
- margin:0px;
- width:100%;
- height:1.5em;
- background-color:#551A8B;
-}
-#menu a {
- text-decoration:none;
- display:block;
- font-weight:bold;
- text-align:center;
- color:#FFFFFF;
- height:1.5em;
-}
-#menu a:hover {
- color:#000000;
- background-color:#FFFFFF;
- height:1.5em;
-}
-/* Pour IE5/MAC \*/#menu a{float:none;}/**/
-#menu li {
- list-style: none;
- float:left;
- padding:0;
- margin:0;
- width:10em;
- white-space:nowrap;/*Evite l'étalement sur deux ligne*/
- vertical-align:middle;
-}
-#menu #deconnection {
- float:right;
-}
-
-#main_menu {
-
-}
-/*********************/
-/***** Sous Menu *****/
-#sous_menu {
- clear:left;
- padding-top:5px;
- padding-bottom:3px;
- padding-left:15px;
- border-bottom:1px solid #000000;
- background-color:#8470FF;
-}
-/* -------------- Arbre -------------------*/
-p.arbre {
- font-size: small;
- color: #FFFFFF;
- text-align: left;
- margin-top: 0px;
- margin-right: 0px;
- margin-bottom: 0px;
- margin-left: 0px;
-}
-p.arbre a:link, p.arbre a:visited {color:#FFFFFF; }
-
-
-/*******************/
-/***** Contenu *****/
-
-#contenu {
- padding-top:10px;
- padding-bottom:20px;
- padding-left:5px;
- padding-right:5px;
- float:left;
- width:95%;
-}
-#no_help {
- display:block;
- text-align:justify;
- color:#000000;
- float:right;
- margin:0px;
- padding:1px;
- border:thin solid #000000;
- background-color:#F7F7F7;
- font-size:small;
- width:3%;
-}
-#no_help h2 , #no_help a
-{
- display:block;
- text-align:center;
- font-size:medium;
- color:#FFFFFF;
- background-color:#551A8B;
- margin:0px;
- padding:0px;
-}
-#help,#help h2
-{
- display:none;
-}
-
-
-
-
-.popup , .popup_creneau , .popup_personne , .popup_commentaire , .popup_fichier , .popup_deletelist {
- display: none;
- position: absolute;
- left:50%;
- top:50%;
- border: 3px solid #000000;
- background-color: #8470FF;
- z-index: 500;
- font-size: 80%;
- text-align:center;
-}
-.popup {
- width: 20em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -10em ;/*moitié de width */
-}
-
-.popup_creneau {
- width: 45em;
- height: 22em;
- margin-top: -11em ;/*moitié de height */
- margin-left: -22.5em ;/*moitié de width */
-}
-.popup_personne {
- width: 45em;
- height: 30em;
- margin-top: -15em ;/*moitié de height */
- margin-left: -22.5em ;/*moitié de width */
-}
-.popup_commentaire {
- width: 30em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -15em ;/*moitié de width */
-}
-
-.popup_fichier {
- width: 30em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -15em ;/*moitié de width */
-}
-
-.popup_deletelist {
- width: 26em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -13em ;/*moitié de width */
-}
-
-.popup h2 , .popup_creneau h2 , .popup_personne h2 , .popup_commentaire h2 , .popup_fichier h2 , .popup_deletelist h2
-{
- background:#551A8B;
- color:#FFFFFF;
- font-size:small;
- border-bottom:inherit;
-}
-
-div.popup_contenu
-{
- margin-top:1em;
- vertical-align:middle;
-}
-
-.popup input , .popup_creneau input , .popup_personne input , .popup_commentaire input , .popup_fichier input , .popup_deletelist input
-{
- cursor:pointer;
-}
-
-#masque
-{
- width:100%;
- height:100%;
- display: none;
- position: absolute;
- left:0px;
- top:0px;
- background-image:url(ice_img/masque.png);
- background-repeat:repeat;
- z-index: 499;
-} \ No newline at end of file
diff --git a/beta_accents/app/css/ice_nohelp.css b/beta_accents/app/css/ice_nohelp.css
deleted file mode 100644
index 9724abd..0000000
--- a/beta_accents/app/css/ice_nohelp.css
+++ /dev/null
@@ -1,362 +0,0 @@
-em {color:#F00;}
-img { border : none ; }
-img.spacing{ margin: 0 0.5em 0 0.5em;}
-body {
- color: #000000;
- background-color:#F5F5DC;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- padding:0px;
- margin:0px;
- min-width:750px; /*Pour eviter le chevauchement pour FireFox, ne change rien pour IE (qui gere pas trop mal sans ca) */
- height: 100%;
-}
-table {
- border-spacing:0px;
- margin: auto;
- padding: 0px;
- width:98%;
- text-align:center;
- border: thin solid #E0E0E0;
- border-collapse:collapse; /* Imite le cellspacing=0 et fonctionne sous IE */
- background-color:#F7F7F7;
-}
-th, thead tr {
- border-right:none;
- font-weight: bold;
- color: #FFFFFF;
- background-color: #551A8B;
-}
-th.selected {color:#FFF;background-color:#8470FF}
-td {
- margin:0.5em;
- border-bottom-width: thin;
- border-bottom-style: solid;
- border-bottom-color: #E0E0E0;
-}
-th a:link, th a:visited {
- font-size: x-small;
- color: #FFFFFF;
-}
-h1 {
- font-weight: bold;
- color: #9999FF;
- text-align: center;
-}
-h2 {
- color: #5C5CFF;
- margin: 0px;
-}
-.reunion_fixee {
- color:#bf7e00;
-}
-.reunion_en_cours {
- color:#9fbf00;
-}
-.reunion_annulee {
- color:#bf2000;
-}
-select { width:auto; }
-li {
- margin-left:-20px;
-}
-/***** Titre *****/
-#titre h2 {
- color: #551A8B;
- margin-left:50px;
- height:50px;
- width:200px;
- background-image:url(ice_img/titre.png);
- background-position:left;
- background-repeat:no-repeat;
- color:#FFFFFF;
- font-size:0px;
-}
-#titre {
- height:50px;
- clear:left;
- background-color:#FFFFFF;
- background-image:url(ice_img/logo.png);
- background-position:left;
- background-repeat:no-repeat;
-}
-
-/*****************/
-/***** Menu *****/
-#menu {
- padding:0px;
- margin:0px;
- width:100%;
- height:1.5em;
- background-color:#551A8B;
-}
-#menu a {
- text-decoration:none;
- display:block;
- font-weight:bold;
- text-align:center;
- color:#FFFFFF;
- height:1.5em;
-}
-#menu a:hover {
- color:#000000;
- background-color:#FFFFFF;
- height:1.5em;
-}
-/* Pour IE5/MAC \*/#menu a{float:none;}/**/
-#menu li {
- list-style: none;
- float:left;
- 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;
- padding-left:15px;
- border-bottom:1px solid #000000;
- background-color:#8470FF;
-}
-/* -------------- Arbre -------------------*/
-p.arbre {
- font-size: small;
- color: #FFFFFF;
- text-align: left;
- margin-top: 0px;
- margin-right: 0px;
- margin-bottom: 0px;
- margin-left: 0px;
-}
-p.arbre a:link, p.arbre a:visited {color:#FFFFFF; }
-
-
-/*******************/
-/***** Contenu *****/
-
-#contenu {
- padding-top:10px;
- padding-bottom:20px;
- padding-left:5px;
- padding-right:5px;
- float:left;
- width:95%;
- min-height:100%;
-}
-
-#no_help {
- display:block;
- text-align:justify;
- color:#000000;
- float:right;
- margin:0px;
- padding:1px;
- border:thin solid #000000;
- background-color:#F7F7F7;
- font-size:small;
- width:3%;
-}
-#no_help h2 , #no_help h2 a
-{
- display:block;
- text-align:center;
- font-size:medium;
- color:#FFFFFF;
- background-color:#551A8B;
- 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;
- left:50%;
- top:50%;
- border: 3px solid #000000;
- background-color: #8470FF;
- z-index: 500;
- font-size: 80%;
- text-align:center;
-}
-.popup {
- width: 20em;
- height: 10em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -10em ;/*moitié de width */
-}
-
-.popup_creneau {
- width: 45em;
- height: 22em;
- margin-top: -11em ;/*moitié de height */
- margin-left: -22.5em ;/*moitié de width */
-}
-.popup_personne {
- width: 45em;
- height: 30em;
- margin-top: -15em ;/*moitié de height */
- margin-left: -22.5em ;/*moitié de width */
-}
-.popup_commentaire {
- width: 30em;
- height: 14em;
- margin-top: -7em ;/*moitié de height */
- margin-left: -15em ;/*moitié de width */
-}
-
-.popup_fichier {
- width: 30em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -15em ;/*moitié de width */
-}
-
-.popup_deletelist {
- width: 26em;
- height: 8em;
- margin-top: -4em ;/*moitié de height */
- margin-left: -13em ;/*moitié de width */
-}
-
-.popup h2 , .popup_creneau h2 , .popup_personne h2 , .popup_commentaire h2 , .popup_fichier h2 , .popup_deletelist h2
-{
- background:#551A8B;
- color:#FFFFFF;
- font-size:small;
- border-bottom:inherit;
-}
-
-div.popup_contenu
-{
- margin-top:1em;
- vertical-align:middle;
-}
-div.popup_contenu em
-{
- font-size:x-small;
- color:#FFF;
-}
-
-.popup input , .popup_creneau input , .popup_personne input , .popup_commentaire input , .popup_fichier input , .popup_deletelist input
-{
- cursor:pointer;
-}
-
-#masque
-{
- width:100%;
- height:100%;
- display: none;
- position: absolute;
- left:0px;
- top:0px;
- background-image:url(ice_img/masque.png);
- background-repeat:repeat;
- z-index: 499;
-}
-
-#page_accueil h1
-{
- background:#551A8B;
- color:#FFF;
- margin-top:0;
-}
-
-#page_accueil
-{
- text-align:center;
-}
-
-#msg
-{
- display:none;
- position:absolute;
- text-align:center;
- left:50%;
- margin-left:-20%;
- width:40%;
- background-color:#551A8B;
- top:-10px;
- padding-top:15px;
- padding-bottom:10px;
- color:#FFF;
- -moz-border-radius:16px;
-}
-#msg em
-{
- color:#FFF;
-}
-
-
-#footer
-{
- float:left;
- display:block;
- width:100%;
- background-color:#551A8B;
- height:30px;
- color:#FFF;
- font-size:x-small;
- margin-top:20px;
- margin-bottom:0px;
- padding-bottom:0px;
-}
-#footer ul
-{
- list-style-type:none;
- white-space:nowrap;
- margin-top:0px;
- padding:0px;
-}
-#footer li.right {
- display:inline;
- float:left;
- list-style:none;
- white-space:nowrap;/*Evite l'étalement sur deux ligne*/
- vertical-align:middle;
- padding-left:10px;
- margin-left:0px;
-}
-#footer li.center {
- display:inline;
- float:right;
- list-style: none;
- white-space:nowrap;/*Evite l'étalement sur deux ligne*/
- vertical-align:middle;
- padding-right:30px;
- margin-left:0px;
-}
-#footer li.left {
- 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
deleted file mode 100644
index d91cabc..0000000
--- a/beta_accents/app/deco.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-session_start();
-
-// Si vous voulez d&eacute;truire compl&egrave;tement la session, effacez &eacute;galement le cookie de session.
-// Note : cela d&eacute;truira la session et pas seulement les donn&eacute;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&eacute;connexion");
-?>
-<body>
- <h1>Deconnexion</h1>
- <div>
- <?php
- if ( isset($_SESSION['session_loginP']) )
- {
- // D&eacute;truit toutes les variables de session
- $_SESSION = array();
-
- // On a d&eacute;j&agrave; d&eacute;truit le cookie qui permet la r&eacute;-emission par le client du sessionid
-
- // Finalement, on d&eacute;truit la session.
- session_destroy();
- echo 'Vous avez bien &eacute;t&eacute; d&eacute;connect&eacute;' . "\n";
- }
- else
- {
- echo 'Deconnexion impossible : aucune session en cours' . "\n";
- }
- ?>
- </div>
-<?php generate_html_div_back(); ?>
-</body>
-</html> \ No newline at end of file
diff --git a/beta_accents/app/details_reunion.php b/beta_accents/app/details_reunion.php
deleted file mode 100644
index 59f4adb..0000000
--- a/beta_accents/app/details_reunion.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-require('include/ludo/session_verify.inc.php');
-require_once('include/connect.inc.php');
-require_once('include/ludo/html_elements.inc.php');
-require_once('include/ludo/fonctions.inc.php');
-
-require_once('include/je.inc.php');
-require_once('include/ju.inc.php');
-
-
-
-generate_html_doctype_and_head("D&eacute;tail de la r&eacute;union");
-echo "<body>\n";
-
-// DEBUG
-//~ echo '<pre>';
-//~ print_r($_REQUEST);
-//~ echo '</pre>';
-
-generate_html_divs_menu();
-?>
- <div id="sous_menu">
- <p class="arbre">
- &gt; <a href="index.php">Accueil</a>
- &gt; <a href="index.php">R&eacute;unions</a>
- &gt; D&eacute;tails d'une r&eacute;union
- </p>
- </div>
-<?php
- if ( isset($_REQUEST['action']) )
- {
- switch ($_REQUEST['action'])
- {
- case 'creer_reunion':
- $ret=traiter_formulaire_creer_reunion();
- //~ echo "DEBUG : idR==$ret\n";
- if ( is_string($ret) ) { $errmsg=$ret; } else { $idR=$ret;}
- break;
- case 'popfichier':
- case 'maj_profil':
- case 'valider_modif_personnes':
- case 'valider_creneau':
- case 'delete_list':
- case 'commentaire':
- case 'fixer_creneau':
- case 'modif_detail_reunion':
- $nom_func = 'traiter_formulaire_' . $_REQUEST['action'];
- $errmsg = $nom_func();
- break;
- default:
- $errmsg = 'Impossible de traiter la requete : type de formulaire non enregistr&eacute; !'."\n";
- }
- }
- // Connexion &agrave; la base et s&eacute;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&eacute;n&eacute;ration de la page : param&egrave;tres erron&eacute;s ou manquant';
- }
- else
- {
- if ( ! isset($idR) ) { $idR=addslashes($_REQUEST['idR']); }
- $idP=$_SESSION['session_idP'];
-
- // V&eacute;rification que la r&eacute;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&eacute;union n\'existe pas ou ne vous concerne pas !';
- }
- }
- if ( isset($errmsg) && is_string($errmsg) )
- {
- generate_html_div_errmsg($errmsg);
- echo '</body></html>';
- exit();
- }
- generate_html_div_help('help/details_reunion_admin.php.hlp');
- echo '<div id="contenu">' . "\n";
- echo '<div id="details_reunion">' . "\n";
- generate_html_reunion_detail2($idR);
- echo "</div>\n";
- echo "<br />\n";
- generate_html_array_personnes_crenaux($idR, $idP);
- echo "<br />\n";
- generate_html_reunion_commentaires($idR);
- echo "<br />\n";
- generate_html_reunion_fichiers($idR);
-?>
-</div>
-<div id="popcommentaire" class="popup_commentaire">
-<h2>Editer votre commentaire</h2>
-<div class="popup_contenu">
-<form id="formcommentaire" method="get" action="details_reunion_admin.php">
-Commentaire : <input name="txtCommentaire" type="text" id="txtCommentaire" />
-<br/><br/>
-<input type="submit" name="Submit" value="Enregistrer" /><input type="button" name="fermer" value="Fermer" alt="commentaire" />
-</form>
-</div>
-</div>
-
-<div id="popfichier" class="popup_fichier">
-<h2>Ajouter un fichier</h2>
-<div class="popup_contenu">
-<form id="formfichier" method="post" action="details_reunion.php?idR=<?php echo $idR; ?>" enctype="multipart/form-data">
-Fichier : <input name="fichier" type="file" id="fichier"/>
-<br/><br/>
-<input type="hidden" name="action" value="popfichier" />
-<input type="submit" name="Submit" value="Valider" onclick="popoff('popfichier');"/>
-<input type="button" value="fermer" onclick="popoff('popfichier');"/>
-</form>
-</div>
-</div>
-<?php generate_html_div_footer(); ?>
-<div class="popup" id="popfixer"></div>
-<div class="popup_creneau" id="popcreneau"></div>
-<div id="poppersonne" class="popup_personne"></div>
-<div id="masque"></div>
-<div id="msg"></div>
-</body>
-</html>
diff --git a/beta_accents/app/help/admin.php.hlp b/beta_accents/app/help/admin.php.hlp
deleted file mode 100644
index 3b46bdc..0000000
--- a/beta_accents/app/help/admin.php.hlp
+++ /dev/null
@@ -1,27 +0,0 @@
-<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 :
-<ul>
- <li>Les liens indicant que cette personne participe à des réunions</li>
- <li>
- Les réunions qu'elle à créée
- <ul>
- <li>Les réponses des participants à ses réunions pour chaque créneau</li>
- <li>Les commentaires des réponses des participants</li>
- <li>Les créneaux de ses réunions</li>
- <li>
- Les liens vers les fichiers attachés
- <ul>
- <li>Les fichiers physiquement écrits sur le disque</li>
- </ul>
- </li>
- </ul>
- </li>
-</ul>
-Ces cascades peuvent s'avérer dangereuses, mais permettent de garder la base dans un état consitant.<br />
-Il est vivement conseillé de sauvegarder la base de donnée et le répertoire des ficheirs attachés avant d'utiliser cet outil,
-l'erreur de manipulation est facile, et les bugs de programmation ne peuvent être totalement exclus... \ No newline at end of file
diff --git a/beta_accents/app/help/astuce_aide.php.hlp b/beta_accents/app/help/astuce_aide.php.hlp
deleted file mode 100644
index 964945d..0000000
--- a/beta_accents/app/help/astuce_aide.php.hlp
+++ /dev/null
@@ -1,11 +0,0 @@
-<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&eacute;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
deleted file mode 100644
index 0f273a7..0000000
--- a/beta_accents/app/help/astuce_apparence.php.hlp
+++ /dev/null
@@ -1,12 +0,0 @@
-<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
deleted file mode 100644
index 41182d8..0000000
--- a/beta_accents/app/help/astuce_deconnexion.php.hlp
+++ /dev/null
@@ -1,10 +0,0 @@
-<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2>
-Astuce pour se d&eacute;connecter.
-<hr/>Information :
-<ul>
-<li>Se d&eacute;connecter permet de quitter proprement l'application.</li>
-</ul>
-<hr/>Etape :
-<ul><li>Cliquer sur le menu D&eacute;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
deleted file mode 100644
index 2fc8c4a..0000000
--- a/beta_accents/app/help/astuce_ical.php.hlp
+++ /dev/null
@@ -1,15 +0,0 @@
-<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 &eacute;lectronique.</li>
-</ul>
-<hr/>Etapes :
-<ul>
-<li>Cliquer sur le menu iCal.</li>
-<li>Enregistrer le fichier.</li>
-<li>Importer le dans votre agenda &eacute;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
deleted file mode 100644
index f0cf34f..0000000
--- a/beta_accents/app/help/auth_dialog.php.hlp
+++ /dev/null
@@ -1,15 +0,0 @@
-<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&eacute;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.php.hlp b/beta_accents/app/help/details_reunion.php.hlp
deleted file mode 100644
index 5434937..0000000
--- a/beta_accents/app/help/details_reunion.php.hlp
+++ /dev/null
@@ -1,4 +0,0 @@
-Cette page vous permet de visualiser les d&eacute;tails d'une r&eacute;union. <br />
-Vous pouvez modifier votre disponibilit&eacute; en fonction des cr&eacute;neaux pr&eacute;vu par le createur de la r&eacute;union.<br />
-Il est possible &agrave; tout instant de se d&eacute;connecter en cliquant sur le bouton D&eacute;connexion situ&eacute; en haut &agrave; droite de l'&eacute;cran.<br />
-Astuce : gr&acirc;ce &agrave; AWOR, vous pouvez transferer vos r&eacute;unions sur votre agenda personnel.
diff --git a/beta_accents/app/help/details_reunion_admin.php.hlp b/beta_accents/app/help/details_reunion_admin.php.hlp
deleted file mode 100644
index 3102176..0000000
--- a/beta_accents/app/help/details_reunion_admin.php.hlp
+++ /dev/null
@@ -1,10 +0,0 @@
-<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2>
-D&eacute;tails r&eacute;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&eacute;union.</a></li>
- <li><a href="#" onclick="loadid('help/reunion_admin_creneaux.php.hlp','help',false);">Ajouter/Supprimer des cr&eacute;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&eacute;poser un fichier.</a></li>
-</ul>
diff --git a/beta_accents/app/help/groupe.hlp b/beta_accents/app/help/groupe.hlp
deleted file mode 100644
index 1da98e6..0000000
--- a/beta_accents/app/help/groupe.hlp
+++ /dev/null
@@ -1,7 +0,0 @@
-Cette page vous permet de g&eacute;rer les diff&eacute;rentes listes de contacts.
-<hr/>Vous pouvez :
-<ul>
-<li>cr&eacute;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
deleted file mode 100644
index 59ded56..0000000
--- a/beta_accents/app/help/index.php.hlp
+++ /dev/null
@@ -1,14 +0,0 @@
-<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2>
-Gestion des r&eacute;unions.
-<hr/>Vous pouvez :
-<ul>
-<li><a href="#" onclick="loadid('help/reunion_new.php.hlp','help',false);">organiser une r&eacute;union.</a></li>
-<li><a href="#" onclick="loadid('help/reunion_detail.php.hlp','help',false);">afficher le d&eacute;tail d'une r&eacute;union.</a></li>
-</ul>
-<hr/>Astuces :
-<ul>
-<li><a href="#" onclick="loadid('help/astuce_ical.php.hlp','help',false);">T&eacute;l&eacute;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&eacute;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
deleted file mode 100644
index d7b0ca9..0000000
--- a/beta_accents/app/help/listes.php.hlp
+++ /dev/null
@@ -1,9 +0,0 @@
-<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&eacute;er une nouvelle liste.</a></li>
-<li><a href="#" onclick="loadid('help/listes_detail.php.hlp','help',false);">afficher le d&eacute;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
deleted file mode 100644
index 4767252..0000000
--- a/beta_accents/app/help/listes_delete.php.hlp
+++ /dev/null
@@ -1,12 +0,0 @@
-<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2>
-Suppression d'une liste.
-<hr/>Information :
-<ul><li>Vous devez être le propri&eacute;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
deleted file mode 100644
index c371c85..0000000
--- a/beta_accents/app/help/listes_detail.php.hlp
+++ /dev/null
@@ -1,9 +0,0 @@
-<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
deleted file mode 100644
index 11759cf..0000000
--- a/beta_accents/app/help/listes_modif.php.hlp
+++ /dev/null
@@ -1,30 +0,0 @@
-<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2>
-Modification d'une liste.
-<hr/>Informations :
-<ul>
-<li>Vous devez &ecirc;tre le propri&eacute;taire de la liste pour faire cette action.</li>
-<li>Afficher le <a href="#" onclick="loadid('help/listes_detail.php.hlp','help',false);">d&eacute;tail de la liste</a>.</li>
-</ul>
-<hr/>Etapes pour ajouter :
-<ul>
-<li>Depuis une liste :
-<ul>
-<li>S&eacute;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&eacute;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
deleted file mode 100644
index d04d505..0000000
--- a/beta_accents/app/help/listes_new.php.hlp
+++ /dev/null
@@ -1,12 +0,0 @@
-<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2>
-Cr&eacute;ation d'une liste.
-<hr/>Etapes :
-<ul>
-<li>Cliquer sur Cr&eacute;er une liste.</li>
-<li>Donner un nom &agrave; la liste.</li>
-<li>Si vous voulez partager cette liste avec les autres utilisateurs d&eacute;cochez la case priv&eacute;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/modele_page.php.hlp b/beta_accents/app/help/modele_page.php.hlp
deleted file mode 100644
index 75a26d5..0000000
--- a/beta_accents/app/help/modele_page.php.hlp
+++ /dev/null
@@ -1,17 +0,0 @@
- Cette page vous permet de visualiser les d&eacute;tails d'une r&eacute;union.<br />
- <br />
- Vous pouvez modifier votre disponibilit&eacute; en fonction des cr&eacute;neaux pr&eacute;vu par le createur de la r&eacute;union.<br />
- <br />
- Il est possible &agrave; tout instant de se d&eacute;connecter en cliquant sur le bouton D&eacute;connexion situ&eacute; en haut &agrave; droite de l'&eacute;cran.<br />
- <br />
- Ajouter ou Supprimer un cr&eacute;neau<br />
- en appuyant sur le bouton <a href="#" onclick="loadpop('popcreneau.php?idR=2','popcreneau');popon('popcreneau');"><img src="./images/editCreneau2.gif" alt="Ajouter une personne" title="Ajouter un creneau" width="22" height="21" /></a><br />
- <br />
- Fixer un Cr&eacute;neau, en cliquant dessus et confirmer l'action (aucune modification ne sera possible apr&egrave;s)<br />
- <br />
- Ajouter ou Supprimer un
- participant en appuyant sur le bouton <a href="#" onclick="popon('poppersonne');"><img src="images/addP.gif" alt="Ajouter une personne" title="Ajouter une personne" width="19" height="17"/></a><br />
- <br />
- Ajouter
- <br />
- Astuce : gr&acirc;ce &agrave; AWOR, vous pouvez transferer vos r&eacute;unions sur votre agenda personnel. \ No newline at end of file
diff --git a/beta_accents/app/help/organiser.php.hlp b/beta_accents/app/help/organiser.php.hlp
deleted file mode 100644
index b24adaf..0000000
--- a/beta_accents/app/help/organiser.php.hlp
+++ /dev/null
@@ -1,2 +0,0 @@
-Depuis cette page, vous pouvez créer une nouvelle réunion :<br />
-renseignez les champs ci-contre puis validez. Vous pourrez ensuite associer une liste de personnes ainsi que des créneaux possibles. \ No newline at end of file
diff --git a/beta_accents/app/help/profil.php.hlp b/beta_accents/app/help/profil.php.hlp
deleted file mode 100644
index 0272bc9..0000000
--- a/beta_accents/app/help/profil.php.hlp
+++ /dev/null
@@ -1,8 +0,0 @@
-<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&eacute;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&eacute;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
deleted file mode 100644
index 6511645..0000000
--- a/beta_accents/app/help/profil_loginMethode.php.hlp
+++ /dev/null
@@ -1,14 +0,0 @@
-<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2>
-Changer votre login et m&eacute;thode d'authentification.
-<hr/>Information
-<ul><li>Cette op&eacute;ration peut-&ecirc;tre dangereuse.</li></ul>
-<hr/>Etapes :
-<ul>
-<li>Basculer votre m&eacute;thode d'authentification dans le mode qui vous convient.</li>
-<li>Changer &eacute;ventuellement votre login.</li>
-<li>Valider les changements.</li>
-<li>Il vous sera peut-&ecirc;tre demmander le mot de passe.</il>
-<li>Confirmer &agrave; 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
deleted file mode 100644
index a187c75..0000000
--- a/beta_accents/app/help/profil_mail.php.hlp
+++ /dev/null
@@ -1,13 +0,0 @@
-<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&eacute;rentes notifications des r&eacute;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&eacute;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
deleted file mode 100644
index 46d50bc..0000000
--- a/beta_accents/app/help/profil_nomPrenom.php.hlp
+++ /dev/null
@@ -1,10 +0,0 @@
-<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2>
-Saisir votre nom et pr&eacute;nom.
-<hr/>Etapes :
-<ul>
-<li>Saisir dans les champs correspondants :
-<ul><li>le nom</li><li>le pr&eacute;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
deleted file mode 100644
index 021d691..0000000
--- a/beta_accents/app/help/reunion_admin_annuler.php.hlp
+++ /dev/null
@@ -1,8 +0,0 @@
-<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
deleted file mode 100644
index d9b587d..0000000
--- a/beta_accents/app/help/reunion_admin_dispo.php.hlp
+++ /dev/null
@@ -1,13 +0,0 @@
-<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2>
-Le masquage des disponibilit&eacute;es.<br/>
-<hr/>Informations :
-<ul>
-<li>L'activation de l'option.<br/><br/>
-Elle permet de masquer les disponibilit&eacute;es d'un participant vis-&agrave;-vis des autres participants de la r&eacute;union.<br/><br/>
-</li>
-<li>La d&eacute;sactivation de l'option.<br/><br/>
-Elle permet de rendre visible les disponibilit&eacute;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
deleted file mode 100644
index 8c235e9..0000000
--- a/beta_accents/app/help/reunion_admin_info.php.hlp
+++ /dev/null
@@ -1,12 +0,0 @@
-<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2>
-Edition des informations.<br/>
-<hr/>Etapes :
-<ul>
- <li>Cliquer sur Editer (&agrave; droite de "D&eacute;tail d'une r&eacute;union").</li>
- <li>Editer l'objet, le lieu, l'ordre du jour, les remarques.</li>
- <li>(D&eacute;)cocher la case "Annul&eacute;e" (<a href="#" onclick="loadid('help/reunion_admin_annuler.php.hlp','help',false);">information</a>).</li>
- <li>(D&eacute;)cocher la case "Disponibilit&eacute;es masqu&eacute;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
deleted file mode 100644
index 6ca90c9..0000000
--- a/beta_accents/app/help/reunion_detail.php.hlp
+++ /dev/null
@@ -1,15 +0,0 @@
-<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2>
-Afficher le d&eacute;tail d'une r&eacute;union.
-<hr/>Information :
-<ul><li>Le d&eacute;tail d'une r&eacute;union est diff&eacute;rent selon si vous &ecirc;tes organisateur ou participant.</li></ul>
-<hr/>Etape :
-<ul>
-<li>Cliquer sur le nom de la r&eacute;union ou sur l'icone.</li>
-</ul>
-<hr/>Remarques :
-<ul>
-<li>Si vous &ecirc;tes organisateur, vous pourrez modifier et consulter l'organisation de votre r&eacute;union.</li>
-<li>Si vous &ecirc;tes participant, vous pourrez d&eacute;poser vos disponibilit&eacute;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
deleted file mode 100644
index 6a1629c..0000000
--- a/beta_accents/app/help/reunion_new.php.hlp
+++ /dev/null
@@ -1,10 +0,0 @@
-<h2><a href="#css_nohelp" onclick="setActiveStyleSheet('nohelp');">Aide</a></h2>
-Organiser une r&eacute;union.
-<hr/>Etape :
-<ul>
-<li>Cliquer sur Organiser une r&eacute;union.</li>
-</ul>
-<hr/>Remarques :
-<ul><li>L'aide vous guidera pour les futurs &eacute;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/help/sendmail.php.hlp b/beta_accents/app/help/sendmail.php.hlp
deleted file mode 100644
index 4a31a5b..0000000
--- a/beta_accents/app/help/sendmail.php.hlp
+++ /dev/null
@@ -1,2 +0,0 @@
-Ce formulaire vous permet d'envoyer un courriel de notification aux personnes sélectionnées.<br/>
-Vous pouvez charger un des modèles disponibles pour gagner du temps.
diff --git a/beta_accents/app/ical.php b/beta_accents/app/ical.php
deleted file mode 100644
index 3108056..0000000
--- a/beta_accents/app/ical.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-$_SESSION['session_idP'] = 1;
-//require_once('include/ludo/session_verify.inc.php');
-require_once('include/ical.inc.php');
-
-$res=ERR_ICAL_NO_DATA;
-if ( isset($_SESSION['session_idP']) )
-{
- $res = generationIcal($_SESSION['session_idP'], $iCal_name, $iCal_content, $errmsg);
-
- if ( $res === 0 )
- {
- header("Content-disposition: attachment; filename=$iCal_name");
- header("Content-Type: application/force-download");
- header("Content-Transfer-Encoding: text/calendar\n"); // Surtout ne pas enlever le \n
- header("Content-Length: ". strlen($iCal_content) );
- header("Pragma: no-cache");
- header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
- header("Expires: 0");
- /*
- header("Accept-Ranges: bytes");
- header("Content-Length: ". strlen($iCal_content) );
- header("Content-Type: text/calendar");
- */
- echo $iCal_content;
- exit();
- }
-}
-require_once('include/ludo/html_elements.inc.php');
-generate_html_doctype_and_head("G&eacute;n&eacute;ration iCal");
-echo "<body>\n";
-generate_html_div_errmsg($errmsg);
-?>
-</body>
-</html>
-
diff --git a/beta_accents/app/images/addP.gif b/beta_accents/app/images/addP.gif
deleted file mode 100644
index aa77bef..0000000
--- a/beta_accents/app/images/addP.gif
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/button_del.png b/beta_accents/app/images/button_del.png
deleted file mode 100644
index 899b785..0000000
--- a/beta_accents/app/images/button_del.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/button_ok.png b/beta_accents/app/images/button_ok.png
deleted file mode 100644
index 229550e..0000000
--- a/beta_accents/app/images/button_ok.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/del.gif b/beta_accents/app/images/del.gif
deleted file mode 100644
index cc89b0b..0000000
--- a/beta_accents/app/images/del.gif
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/details.png b/beta_accents/app/images/details.png
deleted file mode 100644
index 11982cc..0000000
--- a/beta_accents/app/images/details.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/editCreneau2.gif b/beta_accents/app/images/editCreneau2.gif
deleted file mode 100644
index ba90a82..0000000
--- a/beta_accents/app/images/editCreneau2.gif
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/logo.png b/beta_accents/app/images/logo.png
deleted file mode 100644
index a768d45..0000000
--- a/beta_accents/app/images/logo.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/masque.png b/beta_accents/app/images/masque.png
deleted file mode 100644
index 45a6027..0000000
--- a/beta_accents/app/images/masque.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/ok.gif b/beta_accents/app/images/ok.gif
deleted file mode 100644
index 1935a84..0000000
--- a/beta_accents/app/images/ok.gif
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/question.gif b/beta_accents/app/images/question.gif
deleted file mode 100644
index d57516b..0000000
--- a/beta_accents/app/images/question.gif
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/supprimer.png b/beta_accents/app/images/supprimer.png
deleted file mode 100644
index a87033a..0000000
--- a/beta_accents/app/images/supprimer.png
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/vcss.gif b/beta_accents/app/images/vcss.gif
deleted file mode 100644
index 020c75a..0000000
--- a/beta_accents/app/images/vcss.gif
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/vxhtml.gif b/beta_accents/app/images/vxhtml.gif
deleted file mode 100644
index 739585d..0000000
--- a/beta_accents/app/images/vxhtml.gif
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/images/wai.gif b/beta_accents/app/images/wai.gif
deleted file mode 100644
index b82d6e7..0000000
--- a/beta_accents/app/images/wai.gif
+++ /dev/null
Binary files differ
diff --git a/beta_accents/app/include/connect.inc.php b/beta_accents/app/include/connect.inc.php
deleted file mode 100644
index 0bc0a10..0000000
--- a/beta_accents/app/include/connect.inc.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-/*
- * Param&egrave;tres de connexion &agrave; la base MySQL
- */
-
-// $bd repr&eacute;sente le nom de la database &agrave; utiliser
-$bd = "awor";
-// mysql_connect(<nom_ou_ip_serveur_mysql>, <utilisateur_mysql>, <mot_de_passe_en_clair_mysql>);
-$link = @mysql_connect('localhost', 'awor', 'blagnac');
-
-@mysql_select_db($bd , $link);
-
-// NB : La gestion d'erreur est inhib&eacute;e. Cet include ne g&eacute;n&egrave;rera jamais de code, m&ecirc;me si la connexion n'a pas pu &ecirc;tre &eacute;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
deleted file mode 100644
index 0936800..0000000
--- a/beta_accents/app/include/ical.inc.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-/*
- * Fonction de g&eacute;n&eacute;ration d'iCal
- */
-
-// Constantes d'erreur
-define("ERR_ICAL_NO_DATA", -1);
-define("ERR_ICAL_SQL_ERROR", -2);
-
- function generationIcal($idP, &$iCal_name, &$iCal_content, &$errmsg)
-{
- require_once('connect.inc.php');
- $query = 'SELECT DISTINCT R.idR,R.objetR,P.courrielP,UNIX_TIMESTAMP(C.dateHeure),C.duree,R.lieuR,R.ordreJourR,L.idL'
- . ' FROM AWOR_Liste L,AWOR_Reunion R,AWOR_Appartenir A,AWOR_Creneau C,AWOR_Personne P'
- . " WHERE ((A.idP = $idP AND A.idL = L.idL) OR R.idP_Orga = $idP)"
- . ' AND R.idL = L.idL AND C.idC = R.idC_Fixe AND P.idP = R.idP_Orga'
- . ' AND C.dateHeure > NOW() ';
- if ( ! $result = @mysql_query($query) )
- {
- // Cas d'erreur
- $errmsg =mysql_generate_errmsg();
- return ERR_ICAL_SQL_ERROR;
- }
- else
- {
- if (mysql_num_rows($result)<1)
- {
- return ERR_ICAL_NO_DATA;
- }
- else
- {
- $time = time();
- $iCal_name = "iCal_${idP}_${time}.ics";
- $iCal_content = "BEGIN:VCALENDAR\r\n" . "VERSION:2.0\r\n";
- while ( list($idR, $objetR, $courrielP, $dateDeb, $duree, $lieuR, $ordreJourR, $idL) = mysql_fetch_array($result) )
- {
- // TODO : Il est probablement judicieux d'ajouter &agrave; l'UID un timestamp unix !!!!!
- $iCal_content .= "BEGIN:VEVENT\r\n" . "UID:awor_${idP}.${idR}\r\n" . "SUMMARY:$objetR ($courrielP)\r\n";
- $iCal_content .= 'DTSTART:' . date('Ymd\THis', $dateDeb) . "\r\n";
- $iCal_content .= 'DTEND:' . date('Ymd\THis', $dateDeb+60*$duree) . "\r\n";
- $iCal_content .= "LOCATION:$lieuR\r\n";
- $iCal_content .= "DESCRIPTION:$ordreJourR\r\n";
-
- $query = 'SELECT P.courrielP FROM AWOR_Appartenir A,AWOR_Personne P' . " WHERE A.idP=P.idP AND A.idL='$idL'";
- if ( ! $result = mysql_query($query) )
- {
- // Cas d'erreur
- $errmsg =mysql_generate_errmsg();
- $ret=ERR_ICAL_SQL_ERROR;
- break;
- }
- else
- {
- while ( list($mail_autres) = mysql_fetch_array($result) )
- {
- $iCal_content .= "ATTENDEE:mailto:$mail_autres\r\n";
- }
- }
- // TODO : v&eacute;rifier la pertinance de la variable utilis&eacute;e
- $iCal_content .= 'URL:http://' . $_SERVER['HTTP_HOST'] . "\r\n";
- $iCal_content .= "END:VEVENT\r\n";
- }
- $iCal_content .= "END:VCALENDAR\r\n";
- return 0;
- }
- }
-}
-?> \ No newline at end of file
diff --git a/beta_accents/app/include/index.html b/beta_accents/app/include/index.html
deleted file mode 100644
index e69de29..0000000
--- a/beta_accents/app/include/index.html
+++ /dev/null
diff --git a/beta_accents/app/include/je.inc.php b/beta_accents/app/include/je.inc.php
deleted file mode 100644
index 53b1043..0000000
--- a/beta_accents/app/include/je.inc.php
+++ /dev/null
@@ -1,241 +0,0 @@
-<?php
-require_once ('include/connect.inc.php');
-
- function traiter_formulaire_valider_modif_personnes()
- {
- //V&eacute;rification a faire pour savoir si c'est bien le propri&eacute;taire ?!! $_SESSION['session_idP']
- $tabParticipant = array();
- if (isset($_GET['dataParticipants'])) $tabParticipant = $_GET['dataParticipants'];
- $idL=-1;
- if (!isset($_GET['idL']) && isset($_GET['listname']))
- {
- if (isset($_GET['isPrivate'])) $isPrivate = 'oui'; else $isPrivate = 'non';
- $idL = list_new($_GET['listname'],$_GET['idP'],$isPrivate);
- }
- else {$idL = $_GET['idL'];}
-
- if ($idL != -1) list_modif($idL,$tabParticipant);
- }
-
- function traiter_formulaire_delete_list()
- {
- //V&eacute;rification a faire pour savoir si c'est bien le propri&eacute;taire ?!! $_SESSION['session_idP']
- if (isset($_GET['idL'])) list_delete($_GET['idL']);
- }
-
- function list_delete($idL)
- {
- $result = mysql_query("DELETE FROM AWOR_Appartenir WHERE idL=$idL;");
- $result = mysql_query("DELETE FROM AWOR_Liste WHERE idL=$idL;");
- }
-
- function list_new($listname,$idP,$isPrivate)
- {
- $result = mysql_query("INSERT INTO AWOR_Liste (libelleL,estPrivee,idP_Createur) VALUES ('$listname','$isPrivate',$idP)") or die (mysql_error());
- if (mysql_affected_rows() > 0)
- {
- return (mysql_insert_id());
- }
- return (false);
- }
-
- function list_modif($idL,$tabParticipant)
- {
- $result = mysql_query("SELECT P.idP,P.courrielP FROM AWOR_Appartenir A, AWOR_Personne P WHERE P.idP = A.idP AND A.idL=$idL") or die (mysql_error());
- if (mysql_num_rows($result)>=0)
- {
- //Fabrication des trois tableaux
- $tabOldPers = array();
- $tabOldPersMail = array();
- $tabNewPers = array();
- if (!empty($tabParticipant)) $tabNewPers = $tabParticipant;
- for($i=0;$i<mysql_num_rows($result);$i++)
- {
- $row = mysql_fetch_array($result);
- $tabOldPers[$i] = $row[0];
- $tabOldPersMail[$i] = $row[1];
- }
- //Boucle permettant de mettre a NULL les &eacute;lements identiques aux deux tableaux
- $i = 0;
- while ($i < count($tabOldPers))
- {
- $exist=false;
- for ($j=0;$j<count($tabNewPers);$j++)
- {
- if (($tabOldPers[$i] == $tabNewPers[$j]) or ($tabOldPersMail[$i] == $tabNewPers[$j]))
- {
- $exist = true;
- $tabNewPers[$j]=NULL;
- }
- }
- if ($exist)
- {
- $tabOldPers[$i]=NULL;
- $tabOldPersMail[$i]=NULL;
- }
- $i++;
- }
- }
-
- //Construction du tableau des participants a ajouter
- $tabAdd = array();
- foreach ($tabNewPers as $pers)
- {
- //Si c'est une adresse Mail : Inscription + Ajout Sinon Ajour simplement
- if (!stristr($pers,'@')===false)
- {
- $tabAdd[] = new_pers($pers);
- }
- else
- {
- if ($pers != NULL) $tabAdd[] = $pers;
- }
- }
- //Enleve les redondances d'idP
- $tabAdd=array_unique($tabAdd);
- //Envoie a la fonction d'ajout de personne
- list_add_pers($tabAdd,$idL);
-
- //Construction du tableau des participants a ajouter
- $tabRemove = array();
- foreach ($tabOldPers as $pers)
- {
- if ($pers != NULL) $tabRemove[] = $pers;
- }
- //Envoie a la fonction de suppression de personne
- list_remove_pers($tabRemove,$idL);
-
- }
-
- function list_add_pers ($tabPers,$idL)
- {
- foreach ($tabPers as $pers)
- {
- $result=mysql_query("INSERT INTO AWOR_Appartenir (idP,idL) VALUES ($pers,$idL);");
- }
-
- }
-
- function list_remove_pers ($tabPers,$idL)
- {
-
- foreach ($tabPers as $pers)
- {
- $result = mysql_query("DELETE FROM AWOR_Appartenir WHERE idP=$pers AND idL=$idL;");
- }
-
- }
-
-
- //Fonction Inscription qui prends en parametre une adresse mail $persMail et qui retourne l'id de la perssonne (s'il elle existe)
- // ou Insert une personne et retourne son identifiant
- function new_pers ($persMail)
- {
- $result = mysql_query("SELECT idP,courrielP FROM AWOR_Personne WHERE courrielP = '$persMail'");
- if (mysql_num_rows($result)>0)
- {
- $row = mysql_fetch_array($result);
- return ($row['idP']);
- }
- else
- {
- $result = mysql_query("INSERT INTO AWOR_Personne (courrielP,loginP,nomP) VALUES ('$persMail','$persMail','$persMail')");
- return (mysql_insert_id());
- }
-
- return (false);
- }
-
-
-
- //Fonction qui affiche toutes les liste public ainsi que les liste priv&eacute;e poss&eacute;d&eacute;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 summary=\"Listes de personnes\">\n<tr>\n<th>Supprimer</th>\n<th>Type</th>\n<th>Libell&eacute;</th>\n</tr>\n";
- if (mysql_num_rows($result)>0)
- {
-
- for($i=0;$i<mysql_num_rows($result);$i++)
- {
- $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=".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&eacute;e" ; else echo "<td>Public";
- echo "</td>\n<td>";
- echo "<a href=\"#\" onclick=\"loadid('poppersonne.php?idL=".$row['idL']."&amp;idP_orga=".$idP."','poppersonne',true);popon('poppersonne')\">";
- echo htmlentities($row['libelleL'], ENT_QUOTES);
- echo "</a></td>\n";
- echo "</tr>\n";
- }
-
- }
- echo "</table>\n";
-
- }
-
- 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 ='".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 (".addslashes_if_needed($_GET['idR']).", ".$_SESSION['session_idP'].", '".addslashes_if_needed($_GET['txtCommentaire'])."')";
-
- $result = mysql_query($query);
- if ( ! $result || ( mysql_affected_rows() !== 1 ))
- {
- echo $query;
- echo "Erreur BD\n";
- return;
- }
- }
- }
- }
- else
- {
- $query="DELETE FROM AWOR_Repondre WHERE idR=".addslashes_if_needed($_GET['idR'])." AND idP=".$_SESSION['session_idP'];
- $result = mysql_query($query);
- }
- }
-
- // Modifi&eacute;e par Ludo pour les probl&egrave;mes de variables de session et pour d'autres d&eacute;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&eacute;s pour les personnes convi&eacute;es &agrave; cette r&eacute;union">';
- echo '<thead>';
- echo '<tr>';
- echo "<th>Commentaires <a href=\"#\" onclick=\"loadid('popcommentaire.php?idR=".$idR."&amp;idP=".$idP."','popcommentaire',true);popon('popcommentaire');\">(Editer votre commentaire)</a></th>";
- echo '</tr>';
- echo '</thead>';
- $requete = "SELECT P.nomP,P.prenomP,P.courrielP,R.commentaireReponse FROM AWOR_Repondre R,AWOR_Personne P WHERE P.idP = R.idP AND R.idR = '".$idR."'";
- //echo "DEBUG : requete : $requete\n";
- $resultat = mysql_query($requete);
- if($resultat != false)
- {
- if(mysql_num_rows($resultat) > 0)
- {
- while($pers = mysql_fetch_array($resultat))
- {
- echo '<tr><td>';
- echo htmlentities($pers["nomP"], ENT_QUOTES) . " " . htmlentities($pers["prenomP"], ENT_QUOTES);
- echo " : ".htmlentities($pers["commentaireReponse"], ENT_QUOTES)."</td></tr>\n";
-
- }
- }
- else
- {
- 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
deleted file mode 100644
index a7154b7..0000000
--- a/beta_accents/app/include/ju.inc.php
+++ /dev/null
@@ -1,227 +0,0 @@
-<?php
-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;
-
- if(isset($_FILES[$file]))
- {
- if($_FILES[$file]["error"] == 0)
- {
- //R&eacute;cup&eacute;ration de l'extension
- $ext = explode(".", $_FILES[$file]["name"]);
- $ext = array_pop($ext);
- if(is_numeric(array_search(strtolower($ext), $CONFIG["UPLOAD"]["accepted_files"])))
- {
- $filepath=$basepath."r".$_GET["idR"]."_".$_FILES[$file]["name"];
- if(!file_exists($filepath))
- {
- 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".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";
- if(isset($debug)) echo "DEBUG : ".$requete."<br/>\n";
- return "Erreur : Une erreur MySQL est survenu.";
- }
- }
- else
- {
- return "Erreur Uploader file";
- }
- }
- else
- {
- return "Erreur : Un fichier de meme nom existe deja";
- }
- }
- else
- {
- return "Erreur : Le fichier n'a pas ete uploader correctement.";
- }
- }
- else
- {
- switch($_FILES[$file]["error"])
- {
- case 1 :
- case 2 : return "Erreur : Le fichier a une taille trop importante."; break;
- case 3 : return "Erreur : Le fichier n'a pas ete envoye en entier."; break;
- case 4 : return "Erreur : Aucun fichier recu."; break;
- }
- echo $erreur;
- }
- }
- else
- {
- return "isset";
- }
-}
-
-
-function generate_html_reunion_fichiers($idR)
-{
- require("include/ludo/config.inc.php");
- if ( isset($CONFIG['UPLOAD']['relative_path']) ) { $basepath='/'.$CONFIG['UPLOAD']['relative_path']; } else { $basepath='/fichiers/';}
-
- $requete = "SELECT * FROM AWOR_Fichier WHERE idR = '".$idR."'";
- $resultat = mysql_query($requete);
- if($resultat != false)
- {
- echo '<table cellspacing="0" class="fichiers" summary="Liste des fichiers post&eacute;s par les participants de la r&eacute;union.">';
- echo '<thead>';
- echo '<tr>';
- echo '<th>Fichiers attach&eacute;s <a href="#" onclick="popon(\'popfichier\')">(Ajouter un fichier)</a></th>';
- echo '</tr>'."\n";
- echo '</thead>';
- if(mysql_num_rows($resultat) > 0)
- {
- while($fichier = mysql_fetch_array($resultat))
- {
- echo '<tr><td><a href="' . str_replace(" ", "%20", urlencode($basepath . $fichier["nomFic"])).'" target="_blank" >'.htmlentities($fichier["nomFic"], ENT_QUOTES)."</a></td></tr>\n";
- }
- }
- else
- {
- echo "<tr><td>Aucun fichier pour cette reunion.</td></tr>\n";
- }
- echo '</table>';
- }
-}
-
-function traiter_formulaire_valider_creneau()
-{
- $tabCreneau = array();
- if(isset($_REQUEST["dataCreneaux"]))
- {
- //Pour chaque creneau poste, on verifie s'il existe, si non on le creer
- foreach($_REQUEST['dataCreneaux'] as $creneau)
- {
- $tabCreneau = explode(".", $creneau);
- $heureD = substr($tabCreneau[0], 0, 2);
- $minD = substr($tabCreneau[0], 2, 2);
- $heureA = substr($tabCreneau[1], 0, 2);
- $minA = substr($tabCreneau[1], 2, 2);
- $jourA = $tabCreneau[2];
- $moisA = $tabCreneau[3];
- $anneeA = $tabCreneau[4];
- //Si un creneau n'existe pas on le creer
- $idCreneau = creneauExiste($_REQUEST["idR"], $heureD, $minD, $heureA, $minA, $jourA, $moisA, $anneeA);
- if($idCreneau == false)
- {
- $newIdC = ajouterCreneau($_REQUEST["idR"], $heureD, $minD, $heureA, $minA, $jourA, $moisA, $anneeA);
- if($newIdC != false)
- {
- $tabNewCreneau[] = $newIdC;
- }
-
- }
- else
- {
- $tabNewCreneau[] = $idCreneau;
- }
- }
- // tabCreneau contient les tous les creneaux dont on a besoin pour la reunion, il faut maintenant supprimer de la base
- // tous les creneaux de la reunion qui n'apparaissent pas dans cette liste
- $listeCreneau = "(";
- foreach($tabNewCreneau as $creneau)
- {
- $listeCreneau .= "'".$creneau."', ";
- }
- $listeCreneau .= "'XXX')";
- if(isset($debug)) echo $listeCreneau;
-
- //On recupere les creneaux ne faisant plus partie de la novuelle liste des creneaux
- $requete = "SELECT idC FROM AWOR_Creneau WHERE idR='".$_REQUEST["idR"]."' AND idC NOT IN ".$listeCreneau;
- //echo "DEBUG : $requete";
- if($resultat = mysql_query($requete))
- {
- while($ligne = mysql_fetch_array($resultat))
- {
- supprimerCreneau($ligne["idC"]);
- }
- }
- }
-}
-
-function traiter_formulaire_maj_profil()
-{
- 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"];
- //print_r($_POST);
-}
-
-function ajouterCreneau($idR, $heureD, $minD, $heureA, $minA, $jourA, $moisA, $anneeA)
-{
- $dateD = mktime($heureD, $minD, 0, $moisA, $jourA, $anneeA);
- $dateA = mktime($heureA, $minA, 0, $moisA, $jourA, $anneeA);
- $duree = $dateA - $dateD;
- $dateD = date("Y-m-d G:i:s", $dateD);
- $duree = $duree / 60;
- $requete = "INSERT INTO AWOR_Creneau (dateHeure, duree, idR) VALUES ('".$dateD."', '".$duree."', '".$idR."')";
- if(isset($debug)) echo $requete."<br/>";
- if(mysql_query($requete)) { return mysql_insert_id(); } else { return false; }
-}
-
-function ajouterCreneau2($idR, $dateHeure, $duree)
-{
- $requete = "INSERT INTO AWOR_Creneau (dateHeure, duree, idR) VALUES ('".$dateHeure."', '".$duree."', '".$idR."')";
- if(mysql_query($requete))
- {
- return mysql_insert_id();
- }
- else
- {
- return false;
- }
-}
-
-function supprimerCreneau($idC)
-{
- if(mysql_query("DELETE FROM AWOR_Creneau WHERE idC='".$idC."'"))
- {
- if(mysql_query("DELETE FROM AWOR_Choisir WHERE idC='".$idC."'"))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
- }
-}
-
-function creneauExiste($idR, $heureD, $minD, $heureA, $minA, $jourA, $moisA, $anneeA)
-{
- $dateD = mktime($heureD, $minD, 0, $moisA, $jourA, $anneeA);
- $dateA = mktime($heureA, $minA, 0, $moisA, $jourA, $anneeA);
- $duree = $dateA - $dateD;
- $dateD = date("Y-m-d G:i:s", $dateD);
- $duree = $duree / 60;
- $requete = "SELECT idC FROM AWOR_Creneau WHERE idR='".$idR."' AND dateHeure='".$dateD."' AND duree=".$duree."";
- if($result = mysql_query($requete))
- {
- if(mysql_num_rows($result) > 0)
- {
- $ligne = mysql_fetch_array($result);
- return $ligne["idC"];
- }
- else
- {
- return false;
- }
- }
-}
-?> \ No newline at end of file
diff --git a/beta_accents/app/include/ludo/TODO_list.txt b/beta_accents/app/include/ludo/TODO_list.txt
deleted file mode 100644
index 724c46c..0000000
--- a/beta_accents/app/include/ludo/TODO_list.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-Accueil > _Listes_ (virer le lien)
-
-mysql_free_result après les requetes et mysql_close ?
-
-configuration de PHP dans un fichier INI :
-array parse_ini_file ( string filename [, bool process_sections] )
-
-
-Vérifier que les redirections vers authentification et le retour fasse bien suivre les paramètres
---> bookmarque details_reunion?idR=1
-
-
-faire une fonction JS qui appelle une page php ou créer toute seule un cookie qui gère la préférence du css.
-
-Se préoccuper des accents et des encodages de pages !
-
-Faire un pied de page avec nos noms, et les logos valide XHTML, CSS...
-
-TODO : un script php qui purge la base
--> export SQL ancienne base ?
--> suppression des réunions plus vielles que...
--> suppression des Personnes n'ayant jamais changé leur profil et n'ayant plus de réunion les concernant
--> suppression de tout les créneaux non référencés
--> suppression de toutes les listes privées obsoletes
diff --git a/beta_accents/app/include/ludo/auth.inc.php b/beta_accents/app/include/ludo/auth.inc.php
deleted file mode 100644
index 2491203..0000000
--- a/beta_accents/app/include/ludo/auth.inc.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-/*
- * Collection de fonctions pour une authentification externe POP3
- */
-
-// Constantes d'erreur
-define("ERR_POP3_AUTH_BADSOCK", -1);
-define("ERR_POP3_AUTH_SERVERNACK", -2);
-define("ERR_POP3_AUTH_BADUSER", -3);
-define("ERR_POP3_AUTH_BADPASS", -4);
-define("ERR_BAD_PARAMS", -100);
-
-// Fonction d'authentification pop3
-function pop3_auth_simple($mail, $upw)
-{
- if ( ($ret = ereg ( "(^.*)@([[:alnum:]]+\.[[:alnum:]]+)", $mail, $re_tokens ) ) )
- {
- /* $re_tokens []
- * [0] : email complet
- * [1] : nom_mail
- * [2] : serveur_mail
- */
- require_once('config.inc.php');
- $srv_conf = $CONFIG['AUTH']['POP']['SERVERS'][strtolower($re_tokens[2])];
- if ( is_array($srv_conf) )
- {
- $server=$srv_conf['subdomain'];
- $port=$srv_conf['port'];
- if ( $srv_conf['username_is_full_mail'] )
- { $user = $mail; } else { $user = $re_tokens[1]; }
- return pop3_auth ($server, $port, $user, $upw);
- }
- }
- /* DEBUG
- echo $mail . "\n" . $ret . "\n";;
- print_r($re_tokens);
- */
- return ERR_BAD_PARAMS;
-}
-
-function pop3_auth ($server, $port, $user, $upw)
-{
- //echo "DEBUG : fsockopen($server, $port, $errno, $errstr, 10);";
- $sock = @fsockopen($server, $port, $errno, $errstr, 10);
- if ( $sock === false)
- {
- return ERR_POP3_AUTH_BADSOCK;
- }
-
- //stream_set_timeout ( $sock, 1, 0 );
-
- fputs($sock, "user $user\r\n");
-
- if ( pop3_GetAndTestReply($sock) === false )
- {
- return ERR_POP3_AUTH_BADUSER;
- }
-
- fputs($sock, "pass $upw\r\n");
-
- if ( pop3_GetAndTestReply($sock) === false )
- {
- return ERR_POP3_AUTH_BADPASS;
- }
-
- fputs($sock, "quit\r\n");
-
- return 0;
-}
-
-// Fonction interne testant les r&eacute;ponses du serveur POP3
-function pop3_GetAndTestReply($sock)
-{
- $reply = fgets($sock, 128);
- echo $reply . "\n";
- return ( substr($reply, 0, 4) == "+OK " );
-}
-?> \ No newline at end of file
diff --git a/beta_accents/app/include/ludo/config.inc.php b/beta_accents/app/include/ludo/config.inc.php
deleted file mode 100644
index 7f1d587..0000000
--- a/beta_accents/app/include/ludo/config.inc.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-$CONFIG = array
-(
- 'adminMail' => 'jmi@iut-blagnac.fr',
- 'automatedMail' => 'no_reply@iut-blagnac.fr',
- 'AUTH' => array
- (
- 'POP' => array
- (
- 'SERVERS' => array
- (
- 'wanadoo.fr' => array
- (
- 'subdomain' => 'pop.orange.fr',
- 'port' => 110,
- 'username_is_full_mail' => false
- ),
- 'orange.fr' => array
- (
- 'subdomain' => 'pop.orange.fr',
- 'port' => 110,
- 'username_is_full_mail' => false
- )
- )
- ),
- 'bypass_if_local' => false
- ),
- 'CSS' => array
- (
- 'CHOOSER_LIST' => array
- (
- // 'nom &agrave; afficher' => 'nom_fichier_sans_extension'
- 'standard' => 'ice',
- 'Glace (ancien)' => 'ice_moche',
- 'bleu' => 'style1'
- )
- ),
- 'MAIL' => array
- (
- 'TEMPLATES' => array
- (
- 'cree' => array
- (
- 'caption' => 'Nouvelle R&eacute;union',
- 'tpl_file' => 'mail_cree.php'
- ),
- 'modif' => array
- (
- 'caption' => 'R&eacute;union modifi&eacute;e',
- 'tpl_file' => 'mail_modif.php'
- ),
- 'annul' => array
- (
- 'caption' => 'R&eacute;union annul&eacute;e',
- 'tpl_file' => 'mail_annul.php'
- ),
- 'fixee' => array
- (
- 'caption' => 'R&eacute;union fix&eacute;e',
- 'tpl_file' => 'mail_fixee.php'
- )
- )
- ),
- 'SUPERUSERS' => array ('jeremie.denoyer', 'lpouzenc'),
- 'UPLOAD' => array
- (
- 'accepted_files' => array
- (
- 'jpg', 'jpeg', 'gif', 'png', 'svg', 'pdf', 'ps', 'txt', 'rtf', 'csv', 'doc', 'docx', 'ppt', 'xls', 'sxw','sxp','sxd', 'odt', 'odg', 'odp', 'avi', 'mpg', 'mpeg', 'rm', 'flv', 'mp3', 'mp4', 'ogg','htm','html','zip', 'rar', 'tar', 'gz', 'bz2', 'ace'
- ),
- '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
deleted file mode 100644
index 34e81ca..0000000
--- a/beta_accents/app/include/ludo/div_create_or_modif.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?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&eacute;union : Param&egrave;tres incorrects\n";
- return;
- }
- $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;
-}
-?>
-<form action="" method="post">
- <input name="action" type="hidden" value="modif_detail_reunion" />
-<?php
- echo ' <input name="idR" type="hidden" value="' . $idR . '" />'
-?>
- <table class="detail_reunion" summary="D&eacute;tail de la r&eacute;union que vous avez s&eacute;lectionn&eacute;e">
- <thead>
- <tr>
- <th colspan="2">
- <?php if ($isModif) { echo 'Modification des d&eacute;tails de la r&eacute;union'; } else { echo 'Cr&eacute;ation d\'une r&eacute;union'; } ?>
- </th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><strong>Objet :</strong></td>
- <td>
- <input name="objetR" type="text" size="40" <?php if ($isModif) { echo 'value="' . $objetR .'"'; } ?>></input>
- </td>
- </tr>
- <tr>
- <td><strong>Lieu :</strong></td>
- <td>
- <input name="lieuR" type="text" size="40" <?php if ($isModif) { echo 'value="' . $lieuR .'"'; } ?>></input>
- </td>
- </tr>
- <tr>
- <td><strong>Ordre du jour :</strong></td>
- <td>
- <textarea name="ordreJourR" cols="40" rows="3"><?php if ($isModif) { echo $ordreJourR; } ?></textarea>
- </td>
- </tr>
- <tr>
- <td><strong>Remarques :</strong></td>
- <td>
- <textarea name="remarquesR" cols="40" rows="3"><?php if ($isModif) { echo $remarquesR; } ?></textarea>
- </td>
- </tr>
- <tr>
- <td><strong>Etat :</strong></td>
- <td>
- <input name="isCancelled" type="checkbox">Annul&eacute;e</input>
- <input name="isHidden" type="checkbox" checked="checked">Disponibilit&eacute;s masqu&eacute;es</input>
- </td>
- </tr>
- <tr>
- <!--<td>&nbsp;</td>-->
- <td colspan="2">
- <input name="Valider" type="submit" value="Valider"></input>
- </td>
- </tr>
- </tbody>
- </table>
-</form> \ No newline at end of file
diff --git a/beta_accents/app/include/ludo/fonctions.inc.php b/beta_accents/app/include/ludo/fonctions.inc.php
deleted file mode 100644
index 9124ac5..0000000
--- a/beta_accents/app/include/ludo/fonctions.inc.php
+++ /dev/null
@@ -1,548 +0,0 @@
-<?php
-/*
- * Fonctions de g&eacute;n&eacute;ration de message d'erreur pour utilisateur (et le debuggueur !)
- */
-// Fonction retournant un message d'erreur correspondant &agrave; une erreur mysql
-function mysql_generate_errmsg()
-{
- if ( isset($_REQUEST['debug']) )
- {
- return 'Erreur SQL num&eacute;ro ' . mysql_errno() . ' : ' . mysql_error();
- }else{
- return 'Une erreur de base de donn&eacute;es s\'est produite, veuillez r&eacute;essayer ult&eacute;rieurement.';
- }
-}
-
-// Fonction retournant un message d'erreur correspondant &agrave; un numero d'erreur de pop3_auth(...)
-function pop3_generate_errmsg($errno)
-{
- require_once 'auth.inc.php';
-
- if ( isset($_REQUEST['debug']) )
- {
- $msg = 'Erreur authentification POP3 de code ' . $errno;
- }else{
- switch ($errno)
- {
- case ERR_POP3_AUTH_BADUSER :
- case ERR_POP3_AUTH_BADPASS :
- $msg = 'Authentification rejet&eacute;e : V&eacute;rifiez votre identifiant et saisissez votre mot de passe &agrave; nouveau';
- break;
- case ERR_BAD_PARAMS :
- $msg = 'Adresse email invalide, ou serveur mail non r&eacute;pertori&eacute;';
- break;
- default :
- $msg = 'Une erreur de communication avec le service d\'authentification s\'est produite,' .
- 'veuillez r&eacute;essayer ult&eacute;rieurement.';
- break;
- }
- }
- return $msg;
-}
-
-/*
- * G&eacute;n&eacute;ration du code html d'une case du tableau crois&eacute; Cr&eacute;neau/Presonnes ayant comme personne $idP,
- * comme cr&eacute;neau $idC. Si $idEditable est vrai je pourrai cliquer sur le bouton
- * pour donner ma disponibilit&eacute;. $estDispo peut-&ecirc;tre 'oui', 'non', ou '' et signifie que la personne a d&eacute;j&agrave; r&eacute;pondu 'oui', non'
- * ou n'a pas encore r&eacute;pondu.
- */
-// G&eacute;n&eacute;ration d'une case
-function generate_html_dispo_case($idR, $idP, $idC, $isEditable, $estDispo, $withTD=false, $class='')
-{
- // Alignement html
- require_once('html_elements.inc.php');
- if ( ! $isEditable )
- {
- if ( $withTD ) { echo " <td $class>\n "; }
- // Cas g&eacute;n&eacute;ral, on n'est pas la personne concern&eacute;e
- if ( ! isset($estDispo) || $estDispo == '' )
- { // Dispo Inconnue (icone ?)
- generate_html_dispo_inconnu($idP, $idC);
- }
- else
- {
- if ( $estDispo == 'oui' )
- { // Disponible
- generate_html_dispo_oui($idP, $idC);
- }else
- { // Non Disponible
- generate_html_dispo_non($idP, $idC);
- }
- }
- }
- else
- {
- if ( $withTD ) { echo " <td id=\"dispo_idC${idC}\" $class>\n "; }
- // On est la personne concern&eacute;e, on peut donc choisir le cr&eacute;neau
- if ( ! isset($estDispo) || $estDispo == '' )
- { // Dispo Inconnue
- generate_html_dispo_dire_oui($idR, $idC);
- //~ echo ' &nbsp;&nbsp;';
- generate_html_dispo_dire_non($idR, $idC);
- }
- else
- {
- if ( $estDispo == 'oui' )
- { // Disponible
- generate_html_dispo_oui($idP, $idC);
- //~ echo ' &nbsp;&nbsp;'."\n ";
- generate_html_dispo_dire_non($idR, $idC);
- }else
- {
- // Non Disponible
- generate_html_dispo_dire_oui($idR, $idC);
- //~ echo ' &nbsp;&nbsp;'."\n ";
- generate_html_dispo_non($idP, $idC);
- }
- }
- }
- if ( $withTD ) { echo " </td>\n"; }
-}
-
-// G&eacute;n&eacute;ration du tableau complet
-// TODO : id&eacute;e : class du tableau diff&eacute;rnete quand annul&eacute;e -> tableau gris&eacute;...
-
-function generate_html_array_personnes_crenaux($idR)
-{
- $idP_Self=$_SESSION['session_idP'];
-
- // Connexion &agrave; la base et s&eacute;lection de la database
- require_once 'include/connect.inc.php';
-
- // R&eacute;cup&eacute;ration des param&egrave;tres de la r&eacute;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'";
- $result = @mysql_query($query);
- if ( $result && ( mysql_num_rows($result) === 1 ) )
- {
- list($montrerDispoR, $estAnnulee, $idP_orga, $idC_Fixe, $idL_interne) = mysql_fetch_row($result);
- $is_admin = ( $idP_Self == $idP_orga );
- $montrerDispoR = ( ( $montrerDispoR === 'oui' ) || $is_admin ) ;
- //echo "DEBUG : annul&eacute;e $estAnnulee\n";
- $estAnnulee = ( $estAnnulee == 'oui' );
- $estFixee = ( $idC_Fixe != null);
- }
- else
- {
- 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;
-
- //~ 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&eacute; des personnes pour chaque cr&eacute;neau possible de la r&eacute;union">
- <thead>
- <tr>
-<?php
- if ( $is_admin )
- {
- echo ' <th>Mail</th>' . "\n";
- }
- echo ' <th>' ."\n";
- if ( $is_admin )
- {
- echo ' <a href="#poppersonne" onclick="loadid(\'poppersonne.php?idR=' . $idR;
- echo '&amp;idL=' . $idL_interne . '&amp;idP_orga=' . $idP_orga . '\',\'poppersonne\',true);popon(\'poppersonne\');">' . "\n";
- echo ' <img src="images/addP.gif" alt="Ajouter une personne" title="Ajouter une personne" height="17" width="19" />' . "\n";
- echo ' </a>&nbsp;';
- }
- echo 'Personnes' . "\n";
- echo ' </th>' . "\n";
-
- // Remplissage des ent&ecirc;tes de colonnes (cr&eacute;neaux)
- $query="SELECT idC, UNIX_TIMESTAMP(dateHeure), duree FROM AWOR_Creneau WHERE idR='$idR' ORDER BY dateHeure ASC;";
- $creneaux=array();
- $dispos=array();
- if ( $result = @mysql_query($query) )
- {
- while ( list($idC, $date_deb, $duree) = mysql_fetch_row($result) )
- {
- // Calcul des dates
- //echo $date_deb . "\n";
- $date_fin = $date_deb + 60 * $duree;
- if ( $idC != $idC_Fixe ) { echo ' <th>'; } else { echo ' <th class="selected">'; }
- if ( $is_admin && ! $estFixee && ! $estAnnulee )
- {
- echo '<a href="#popfixer" onclick="loadid(\'popfixer.php?idC=' . $idC;
- echo '&amp;idR=' . $idR . '\',\'popfixer\',true);popon(\'popfixer\');">';
- }
- echo date('d/m/y', $date_deb) . '<br />' . date('H:i', $date_deb) . ' - ' . date('H:i', $date_fin);
- if ( $is_admin && ! $estFixee && ! $estAnnulee ) { echo '</a>'; }
- echo "</th>\n";
-
- // Comptage des personnes disponibles et indisponibles
- $creneaux[] = $idC;
- $dispos[$idC]['nbDispo']=0;
- $dispos[$idC]['nbNonDispo']=0;
- $dispo_max_id=-1;
- $dispo_max_val=0;
- }
- }
- if ( $is_admin && ! $estFixee && ! $estAnnulee )
- {
-?>
- <th>
- <a href="#popcreneau" onclick="loadid('popcreneau.php?idR=<?php echo $idR; ?>','popcreneau',true);popon('popcreneau');">
- <img src="./images/editCreneau2.gif" alt="Editer les creneaux" title="Editer les creneaux" height="21" width="22" />
- </a>
- </th>
-<?php
- }
- //print_r($creneaux);
-?>
- </tr>
- </thead>
- <tbody>
-<?php
- // Remplissage du tableau, ligne &agrave; ligne
- // Requette &eacute;crivant les disponibilit&eacute;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 '
- ."c.idR=$idR AND r.idR=$idR AND a.idL=r.idL AND p.idP=a.idP AND ch.idC = c.idC AND ch.idP = p.idP;";
- }
- else
- {
- $query='SELECT ch.idC, ch.idP, ch.estDispo FROM AWOR_Choisir ch, AWOR_Creneau c WHERE '
- ."c.idR='$idR' AND ch.idC=c.idC AND ch.idP='$idP_Self';";
- }
- //echo $query . "\n";
- if ( $result = @mysql_query($query) )
- {
- while ( list($idC, $idP, $estDispo) = mysql_fetch_row($result) )
- {
- //echo "idC == '$idC'\n";
- $dispos[$idC][$idP]=$estDispo;
- if ( $estDispo=='non' ) { $dispos[$idC]['nbNonDispo']++; }
- if ( $estDispo=='oui' )
- {
- $dispos[$idC]['nbDispo']++;
- if ( $dispos[$idC]['nbDispo'] > $dispo_max_val )
- {
- $dispo_max_id=$idC;
- $dispo_max_val=$dispos[$idC]['nbDispo'];
- }
- }
- }
- }
- //print_r($dispos);
-
-
- $query='SELECT p.idP, p.prenomP, p.nomP FROM AWOR_Personne p, AWOR_Appartenir a, AWOR_Reunion r WHERE '
- . "r.idR='$idR' AND a.idL=r.idL AND p.idP=a.idP ORDER BY p.nomP, p.prenomP;";
-
- if ( $result = @mysql_query($query) )
- {
- // On &eacute;crit ligne &agrave; ligne les personnes et les disponibilit&eacute;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&eacute;nom
- echo ' <td>' . htmlentities($p[1], ENT_QUOTES) . ' ' . htmlentities($p[2], ENT_QUOTES) . "</td>\n";
- // Disponibilit&eacute;s
- foreach ( $creneaux as $c_id ) // Pour chaque cr&eacute;neau
- {
- if (isset($dispos[$c_id][$p[0]]))
- {
- $estDispo=$dispos[$c_id][$p[0]];
- }
- else
- {
- $estDispo='';
- }
- //echo "DEBUG : generate_html_dispo_case($p[0], $c_id, ( $p[0]==$idP_Self ), $estDispo);\n";
- if ( $c_id != $idC_Fixe ) { $class=''; } else { $class='class="selected"'; }
-
- generate_html_dispo_case($idR, $p[0], $c_id, ( ! $estFixee && ! $estAnnulee && ( $p[0]==$idP_Self ) ),$estDispo, true, $class);
- }
- // Colonne vide pour l'ajout de personnes
- if ( $is_admin && ! $estFixee && ! $estAnnulee ) { echo " <td>&nbsp;</td>\n"; }
- echo " </tr>\n";
- }
- // Si $is_admin, on met une ligne avec bouton envoyer pour les mails et icône ajout de personnes
- if ( $is_admin )
- {
- echo " <tr>\n <td>\n";
- echo ' <input name="idR" value="' . $idR . '" type="hidden" />' . "\n";
-?>
- <input value="Envoyer" type="submit" />
- </td>
- <td>
- <?php
- echo '<a href="#poppersonne" onclick="loadid(\'poppersonne.php?idR=' . $idR;
- echo '&amp;idL=' . $idL_interne . '&amp;idP_orga=' . $idP_orga . '\',\'poppersonne\',true);popon(\'poppersonne\');">' . "\n";
- ?>
- <img src="images/addP.gif" alt="Ajouter une personne" title="Ajouter une personne" height="17" width="19" />
- </a>
- </td>
-<?php
- foreach ( $creneaux as $c ) { echo " <td>&nbsp;</td>\n"; }
- if ( $is_admin && ! $estFixee && ! $estAnnulee ) { echo " <td>&nbsp;</td>\n"; }
- echo " </tr>\n";
- }
-
- // On inscrit les lignes de totaux si les disponibilit&eacute;s sont r&eacute;v&eacute;l&eacute;es
- if ( $is_admin && ! $estFixee && ! $estAnnulee)
- {
- echo " <tr>\n";
- echo " <td>&nbsp;</td>\n";
- echo " <td>Personnes pr&eacute;sentes</td>\n";
- foreach ( $creneaux as $c_id )
- {
- if ( $c_id == $dispo_max_id )
- {
- echo ' <td><em>' . $dispos[$c_id]['nbDispo'] . "</em></td>\n";
- }
- else
- {
- echo ' <td>' . $dispos[$c_id]['nbDispo'] . "</td>\n";
- }
- }
- echo " <td>&nbsp;</td>\n";
- echo " </tr>\n";
-
- echo " <tr>\n";
- echo " <td>&nbsp;</td>\n";
- echo " <td>Personnes absentes</td>\n";
- foreach ( $creneaux as $c_id )
- {
- echo ' <td>' . $dispos[$c_id]['nbNonDispo'] . "</td>\n";
- }
- echo " <td>&nbsp;</td>\n";
- echo " </tr>\n";
- }
- }
- echo " </tbody>\n";
- echo " </table>\n</form>\n";
-}
-
-function traiter_formulaire_fixer_creneau()
-{
- if ( ! isset($_GET['idR']) || !isset($_GET['idC']) )
- {
- $errmsg="Impossible de fixer la r&eacute;union : param&egrave;tres manquants ou erron&eacute;";
- return $errmsg;
- }
- $idR=addslashes($_GET['idR']);
- $idC=addslashes($_GET['idC']);
-
- $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&eacute;union : ' . mysql_generate_errmsg();
- return $errmsg;
- }
- return;
-}
-
-function traiter_formulaire_creer_reunion()
-{
- include_once('include/je.inc.php');
- $idP=$_SESSION['session_idP'];
-
- // Recherche d'une r&eacute;union vierge d&eacute;j&agrave; existante
- $query='SELECT idR FROM AWOR_Reunion WHERE idP_Orga=' . "('$idP') AND objetR='Renseignez';";
- if ( ( $result = mysql_query($query) ) && (mysql_num_rows($result) > 0) )
- {
- list($idR)=mysql_fetch_array($result);
- }
- else
- {
- // Cr&eacute;ation de la R&eacute;union sauf si une r&eacute;union vierge existe d&eacute;j&agrave;
- $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&eacute;ation de la liste de participants : ' . mysql_generate_errmsg();
- return $errmsg;
- }
- $idR=mysql_insert_id();
-
- // Cr&eacute;ation de la Liste des participants
- if ( ! $idL=list_new("interne_idR_$idR","NULL",true) )
- {
- $errmsg ='Erreur lors de la cr&eacute;ation de la liste de participants : Erreur de base de donn&eacute;es';
- return $errmsg;
- }
-
- $query="UPDATE AWOR_Reunion SET idL='$idL' WHERE idR='$idR'";
- if ( ! $result = @mysql_query($query) || (mysql_affected_rows() != 1) )
- {
- // Cas d'erreur
- $errmsg = 'Erreur lors de la cr&eacute;ation de la liste de participants : ' . mysql_generate_errmsg();
- return $errmsg;
- }
- }
-
- return (int) $idR;
-}
-
-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&eacute;tail de la r&eacute;union : Param&egrave;tres manquants';
- // DEBUG :
- //echo "DEBUG : $query\n$errmsg\n";
- return $errmsg;
- }
-
- $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';
-
- $query="UPDATE AWOR_Reunion SET objetR='$objetR', lieuR='$lieuR', ordreJourR='$ordreJourR', "
- ." remarquesR='$remarquesR', estAnnulee='$estAnnulee', montrerDispoR='$montrerDispoR' WHERE idR='$idR'";
- if ( ! $result = @mysql_query($query) || (mysql_affected_rows() != 1) )
- {
- // Cas d'erreur
- $errmsg = 'Erreur lors de la modification de la r&eacute;union : ' . mysql_generate_errmsg();
- // DEBUG :
- //echo "DEBUG : $query\n$errmsg\n";
- return $errmsg;
- }
- // DEBUG :
- //echo "DEBUG : $query\n$errmsg\n";
- return;
-}
-
-function generate_html_reunion_detail2($idR)
-{
- $query='SELECT r.objetR, r.ordreJourR, r.lieuR, r.remarquesR, r.montrerDispoR, r.estAnnulee, r.idP_Orga, r.idC_Fixe, p.nomP, p.prenomP'
- . " FROM AWOR_Reunion r, AWOR_Personne p WHERE r.idR='$idR' AND p.idP=r.idP_Orga";
- $result = @mysql_query($query);
- if ( ! $result || ( mysql_num_rows($result) !== 1 ) )
- {
- $errmsg="Impossible de r&eacute;cupr&eacute;rer les informations de la r&eacute;union : Erreur de base de donn&eacute;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&eacute;tail de la r&eacute;union que vous avez s&eacute;lectionn&eacute;e">
- <thead>
- <tr>
- <th colspan="2">
- D&eacute;tails de la r&eacute;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 ) )
- {
- echo ' ';
- echo '<a href="#popfixer" onclick="loadid(\'include/ludo/div_create_or_modif.php?idR=';
- echo $idR . '&amp;objetR=' . urlencode($objetR) . '&amp;lieuR=' . urlencode($lieuR) . '&amp;ordreJourR=';
- echo urlencode($ordreJourR) . '&amp;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>
- </thead>
- <tbody>
- <tr>
- <td><strong>Objet :</strong></td>
- <td>
- <?php echo $objetR . "\n"; ?>
- </td>
- </tr>
- <tr>
- <td><strong>Organisateur :</strong></td>
- <td>
- <?php echo "$prenomP $nomP\n"; ?>
- </td>
- </tr>
-
- <tr>
- <td><strong>Lieu :</strong></td>
- <td>
- <?php echo $lieuR . "\n"; ?>
- </td>
- </tr>
- <tr>
- <td><strong>Ordre du jour :</strong></td>
- <td>
- <?php echo $ordreJourR . "\n"; ?>
- </td>
- </tr>
- <tr>
- <td><strong>Remarques :</strong></td>
- <td>
- <?php echo $remarquesR . "\n"; ?>
- </td>
- </tr>
- <tr>
- <td><strong>Etat :</strong></td>
-<?php
- echo ' <td class="' . $etat .'">' ."\n";
- switch($etat)
- {
- case 'reunion_fixee':
- echo "Fix&eacute;e\n";
- break;
- case 'reunion_en_cours':
- echo "En pr&eacute;paration\n";
- break;
- case 'reunion_annulee':
- echo "Annul&eacute;e\n";
- break;
- }
- if ( $montrerDispoR === 'non' ) { echo ', disponibilit&eacute;s masqu&eacute;es'; }
-?>
- </td>
- </tr>
- </tbody>
- </table>
-<?php
-}
-
-function html_generate_MySQLTableSuppr($table, $key_name, $columns='*', $where_clause='')
-{
- require_once('include/ludo/html_elements.inc.php');
- require_once('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&eacute;n&eacute;ration de la table $table\n";
- }
- else
- {
- $row = mysql_fetch_assoc($result);
- // Affichage des ent&ecirc;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";
- echo "</tr>\n</thead>\n<tfoot><tr>\n";
- echo '<td><input name="action" value="delete_from_' . $table . '" type="hidden" /><input value="Supprimer" type="submit" /></td>';
- for ( $i=0; $i < count($row); $i++ ) { echo "<td></td>"; }
- echo "</tr>\n</tfoot>\n<tbody>\n";
-
- $num=0;
- do
- { if ( isset($row[$key_name]) ) { $num=$row[$key_name]; } else { $num=''; }
- echo "<tr>\n<td><input name=\"${key_name}_${num}\" type=\"checkbox\" /></td>\n<td>" . implode("</td>\n<td>",$row) . "</td>\n</tr>\n";
- } while ( $row = mysql_fetch_assoc($result) );
- echo "</tbody>\n</table>\n</form>\n";
- }
-}
-
-?>
diff --git a/beta_accents/app/include/ludo/html_elements.inc.php b/beta_accents/app/include/ludo/html_elements.inc.php
deleted file mode 100644
index 35eaa68..0000000
--- a/beta_accents/app/include/ludo/html_elements.inc.php
+++ /dev/null
@@ -1,185 +0,0 @@
-<?php
-/*
- * Fonctions de g&eacute;n&eacute;ration de code HTML...
- */
- function generate_html_doctype_and_head($title)
-{
-echo '<?xml version="1.0" encoding="ISO-8859-1"?>'."\n"
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
- <head>
- <?php echo "<title>AWOR - $title</title>\n"; ?>
- <meta name="keywords" content="AWOR, Application Web, Organisation, R&eacute;union, Reunion" />
- <meta name="description" content="Application Web d'Organisation de R&eacute;union (AWOR). Facilite la vie des organisateurs !" />
- <meta name="author" content="J&eacute;r&eacute;mie D&eacute;noyer, Ludovic Pouzenc, Andriana Semouchtchak, Julien S&eacute;r&egrave;" />
- <script type="text/javascript" src="script.js"></script>
-<?php
- //print_r($_COOKIE['aworcustom_css']);
- if ( /*isset($_COOKIE['aworcustom_css'])*/ false )
- {
- $cssfilemain = $_COOKIE['aworcustom_css'];
- }
- else
- {
- include 'config.inc.php';
- $cssfilemain=$CONFIG['CSS']['CHOOSER_LIST']['standard'];
- }
- echo ' <link href="css/' . $cssfilemain . '.css" rel="stylesheet" type="text/css" />' . "\n";
- echo ' <link href="css/' . $cssfilemain . '_nohelp.css" rel="stylesheet" type="text/css" title="nohelp" />' . "\n";
-
- if ( isset($CONFIG['CSS']['CHOOSER_LIST']) )
- {
- foreach ( $CONFIG['CSS']['CHOOSER_LIST'] as $cssname => $cssfile )
- {
- if ( $cssfile != $cssfilemain )
- {
- echo ' <link href="css/' . $cssfile . '.css" rel="alternate stylesheet" type="text/css" title="'.$cssname.'"/>' . "\n";
- echo ' <link href="css/' . $cssfile . '_nohelp.css" rel="alternate stylesheet" type="text/css" title="'.$cssname.'_nohelp"/>' . "\n";
- }
- }
- }
-?>
- <link href="css/print.css" rel="alternate stylesheet" type="text/css" title="print"/>
- </head>
-<?php
-}
-
-function generate_html_divs_menu()
-{
-include 'config.inc.php';
-?>
-<div id="titre"><h2>AWOR</h2></div>
-<div id="main_menu">
- <ul id="menu">
- <li><a href="index.php">R&eacute;unions</a></li>
- <li><a href="listes.php">Listes</a></li>
- <li><a href="profil.php">Mon profil</a></li>
- <li><a href="ical.php">iCal</a></li>
- <li><a href="apropos.php">A Propos</a></li>
-<?php if ( isset($_SESSION['session_loginP']) && (is_integer(array_search($_SESSION['session_loginP'],$CONFIG['SUPERUSERS'],true))) )
- { echo ' <li><a href="admin.php">Administration</a></li>' . "\n"; }
-?>
- <li id="deconnection"><a href="deco.php">D&eacute;connexion</a></li>
- </ul>
-</div>
-<?php
-}
-
-function generate_html_div_help($help_file='')
-{
- //echo "DEBUG : function generate_html_div_help()\n";
- if ($help_file=='' ) { $help_file='help/' . basename($_SERVER['PHP_SELF']) . '.hlp'; }
- //$help_file='modele_page.php.hlp';
- //echo "DEBUG : $help_file\n";
- if ( is_readable($help_file) )
- //if ( @fopen($help_file, 'r')!==false )
- {
- echo '<div id="no_help">' . "\n<h2><a href=\"#css_standard\" onclick=\"setActiveStyleSheet('standard');\">?</a></h2>\n" . "</div>\n";
- echo '<div id="help">' . "\n";
- readfile($help_file);
- echo "</div>\n";
- }
-}
-
-function generate_html_div_errmsg($errmsg)
-{
- echo '<div class="errmsg">' . "\n" . '<span class="errmsg">' . $errmsg . "</span>\n";
- require_once('config.inc.php');
- if ( isset( $CONFIG['adminMail'] ) && ( ! isset($_REQUEST['debug'] ) ) )
- {
- echo '<span class="contactAdm">Si le probl&egrave;me persiste, vous pouvez contacter l\'administrateur par email &agrave; l\'adresse suivante : ';
- echo '<a href="mailto:' . $CONFIG['adminMail'] . '">' . $CONFIG['adminMail'] . "</a></span>\n";
- }
- echo "</div>\n";
-}
-
-function generate_html_div_css_chooser()
-{
- @include 'include/ludo/config.inc.php';
- @include 'config.inc.php';
-
- if ( ! is_array($CONFIG['CSS']['CHOOSER_LIST']) ) { return false; }
-
- if ( isset($_COOKIE['aworcustom_css'] ) ) { $css_selected=$_COOKIE['aworcustom_css']; }else{$css_selected='';};
- echo '<div class="css_chooser">' . "\n";
- //print_r($_COOKIE);
- echo ' <select id="switcherCSS" onchange="switchCSS();">' . "\n";
- foreach ( $CONFIG['CSS']['CHOOSER_LIST'] as $file => $name )
- {
- echo ' <option value="' . $file . '"';
- if ( $file == $css_selected ) { echo ' selected="selected"'; }
- echo '>' . htmlentities($name, ENT_QUOTES) . '</option>' /*. "$DEBUG:file=$file, css_selected=$css_selected"*/ . "\n";
- }
- echo ' </select>'. "\n";
- echo '</div>'. "\n";
-}
-
-function generate_html_div_footer()
-{
-?>
-<div id="footer">
- <ul>
- <li class="left">
-<?php generate_html_div_css_chooser(); ?>
- </li>
- <li class="center">
- <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">
- <img src="./images/vcss.gif" alt="Validate" height="31" width="88" />
- </a>
- <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&eacute;alis&eacute;e par J&eacute;r&eacute;mie D&eacute;noyer,<br /> Ludovic Pouzenc, Julien S&eacute;r&eacute; et Andriana Semouchtchak</span>
- </li>
- </ul>
-</div>
-<?php
-}
-
-function generate_html_div_deconnect()
-{
- echo '<div class="deco"><a href="deco.php">Deconnexion</a></div>'."\n";
-}
-function generate_html_div_back()
-{
- echo '<div class="retour"><a href="index.php">Retour</a></div>'."\n";
-}
-
-function generate_html_dispo_inconnu($idP, $idC)
-{
- echo '<img class="spacing" src="./images/question.gif" alt="Inconnu" height="15" width="15" />' . "\n";
-}
-
-function generate_html_dispo_oui($idP, $idC)
-{
- echo '<img class="spacing" src="./images/ok.gif" alt="Disponible" height="16" width="16" />' . "\n";
-}
-
-function generate_html_dispo_non($idP, $idC)
-{
- echo '<img class="spacing" src="./images/del.gif" alt="Non disponible" height="15" width="15" />' . "\n";
-}
-
-function generate_html_dispo_dire_oui($idR, $idC)
-{
- //~ echo '<img src="./images/button_ok.png" alt="Dire que je suis disponible" height="25" width="25" />' . "\n";
- echo "<a href=\"#dispo_idC${idC}\" onclick=\"loadid('include/ludo/majDispo.php?idR=$idR&amp;idC=$idC&amp;estDispo=oui','dispo_idC${idC}',false);\">";
- echo '<img class="spacing" src="./images/button_ok.png" alt="Dire que je suis disponible" height="25" width="25" /></a>' . "\n";
-}
-
-function generate_html_dispo_dire_non($idR, $idC)
-{
- echo "<a href=\"#dispo_idC${idC}\" onclick=\"loadid('include/ludo/majDispo.php?idR=$idR&amp;idC=$idC&amp;estDispo=non','dispo_idC${idC}',false);\">";
- echo '<img class="spacing" src="./images/button_del.png" alt="Dire que je suis pas disponible" height="25" width="25" /></a>' . "\n";
-}
-
-function generate_html_reunion_detail_button($idR)
-{
- echo '<a href="details_reunion.php?idR=' . $idR . '"><img src="images/details.png" alt="D&eacute;tails" width="20" height="20" /></a>';
-}
diff --git a/beta_accents/app/include/ludo/mail_textarea.php b/beta_accents/app/include/ludo/mail_textarea.php
deleted file mode 100644
index 6db990f..0000000
--- a/beta_accents/app/include/ludo/mail_textarea.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?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=addslashes_if_needed($_GET['model']); } else { $model='empty'; }
-?>
-
-<textarea name="msgText" cols="80" rows="15">
-<?php
- if ( $model != 'empty')
- {
- include('../connect.inc.php');
- if ( ! isset($CONFIG['MAIL']['TEMPLATES'][$model]['tpl_file']) )
- {
- echo 'D&eacute;sol&eacute;, mod&egrave;le indisponible...';
- }
- else
- {
- // On r&eacute;cup&egrave;re quelques information &agrave; propos de la r&eacute;union pour que les templates puissent &ecirc;tre customis&eacute;s
- $objetR=$ordreJourR=$lieuR=$remarquesR="";
- if (isset( $_GET['idR']) )
- {
- $idR=addslashes($_GET['idR']);
- $result = mysql_query("SELECT objetR, ordreJourR, lieuR, remarquesR FROM AWOR_Reunion WHERE idR='$idR'");
- if (mysql_num_rows($result)===1)
- {
- list($objetR, $ordreJourR, $lieuR, $remarquesR) = mysql_fetch_array($result);
- }
- }
- //echo 'DEBUG : ../../templates/' . $CONFIG['MAIL']['TEMPLATES'][$model]['tpl_file'] . "\n";
- if (!@include('../../templates/' . $CONFIG['MAIL']['TEMPLATES'][$model]['tpl_file']) )
- {
- echo 'D&eacute;sol&eacute;, impossible de charger le fichier mod&egrave;le...';
- }
- }
- }
- //print_r($_REQUEST);
- //print_r($CONFIG);
-?>
-</textarea>
-
diff --git a/beta_accents/app/include/ludo/majDispo.php b/beta_accents/app/include/ludo/majDispo.php
deleted file mode 100644
index febd9c3..0000000
--- a/beta_accents/app/include/ludo/majDispo.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-require('../connect.inc.php');
-require('session_verify.inc.php');
-require('fonctions.inc.php');
-
-// TODO : v&eacute;rification que la r&eacute;union nous concerne bien !
-
-if ( /*!isset($_GET['idR']) ||*/ !isset($_GET['idC']) || !isset($_GET['estDispo']) || !isset($_SESSION['session_idP']) )
-{
- $errmsg="Param&egrave;tres incorrects\n";
-}
-
-if ( isset( $errmsg ) )
-{
- // TODO
-}
-else
-{
- $idR=addslashes($_GET['idR']);
- $idC=addslashes($_GET['idC']);
- $estDispo=addslashes($_GET['estDispo']);
- $idP=$_SESSION['session_idP'];
-
- $query="UPDATE AWOR_Choisir SET estDispo = '$estDispo' WHERE idC='$idC' AND idP='$idP'";
- $result = @mysql_query($query);
- if ( ! $result || ( mysql_affected_rows() !== 1 ) )
- {
- $query="INSERT INTO AWOR_Choisir(idC,idP,estDispo) VALUES ('$idC', '$idP', '$estDispo')";
- //echo "DEBUG :$query";
- $result = mysql_query($query);
- if ( ! $result || ( mysql_affected_rows() !== 1 ) )
- {
- echo "Erreur BD\n";
- return;
- }
- }
- generate_html_dispo_case($idR, $idP, $idC, true, $estDispo, false);
-}
-?> \ No newline at end of file
diff --git a/beta_accents/app/include/ludo/redir.inc.php b/beta_accents/app/include/ludo/redir.inc.php
deleted file mode 100644
index 2edec6e..0000000
--- a/beta_accents/app/include/ludo/redir.inc.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-function html_redir($dest)
-{
- header("Location: $dest");
-require_once('html_elements.inc.php');
-generate_html_doctype_and_head("Redirection");
-?>
-<body>
- <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&egrave;tres les & doivent &ecirc;tre remplac&eacute;e par &amp;
- echo '<p><a href="' . urlencode($dest) . '">' . htmlentities($dest, ENT_QUOTES) . '</a></p>' . "\n";
-?>
-</body>
-</html>
-<?php
- exit();
-}
-?> \ No newline at end of file
diff --git a/beta_accents/app/include/ludo/session_verify.inc.php b/beta_accents/app/include/ludo/session_verify.inc.php
deleted file mode 100644
index f1cea8b..0000000
--- a/beta_accents/app/include/ludo/session_verify.inc.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-session_start();
-if ( ! isset($_SESSION['session_loginP']) )
-{
- require('redir.inc.php');
- $dest='auth_dialog.php?retour=' . $_SERVER['PHP_SELF'];
- html_redir($dest);
-}
-?> \ No newline at end of file
diff --git a/beta_accents/app/include/tools.inc.php b/beta_accents/app/include/tools.inc.php
deleted file mode 100644
index bf75d1f..0000000
--- a/beta_accents/app/include/tools.inc.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?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
deleted file mode 100644
index abdfca1..0000000
--- a/beta_accents/app/index.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-require('include/ludo/session_verify.inc.php');
-require_once('include/ludo/html_elements.inc.php');
-generate_html_doctype_and_head("R&eacute;unions");
-echo "<body>\n";
-generate_html_divs_menu();
-?>
- <div id="sous_menu">
- <p class="arbre">
- &gt; <a href="index.php">Accueil</a>
- &gt; <a href="index.php">R&eacute;unions</a>
- &gt; Liste des r&eacute;unions
- </p>
- </div>
-<?php
-generate_html_div_help();
-?>
- <div id="contenu">
-<?php
- $idP= $_SESSION['session_idP'];
- if ( isset( $_SESSION['session_prenomP'] ) && isset( $_SESSION['session_prenomP'] ) )
- { $nom=$_SESSION['session_prenomP'] . ' ' . $_SESSION['session_nomP']; }
- else { $nom = $_SESSION['loginP']; }
-
- echo "Bonjour $nom, nous sommes le " . date('d/m/Y') . ' et il est ' . date('H:i');
- //~ echo "<pre>DEBUG : SESSION :\n";
- //~ print_r($_SESSION);
- //~ echo "\nDEBUG : REQUEST :\n";
- //~ print_r($_REQUEST);
- //~ echo "</pre>";
-?>
- <br/><br/>
- <a href="details_reunion.php?action=creer_reunion">Organiser une r&eacute;union</a>
- <br/><br/>
- <table class="listeReunions" summary="Liste des r&eacute;unions vous concernant">
- <tr>
- <th>Objet</th>
- <th>Organisateur</th>
- <th>Date</th>
- <th>Etat</th>
- <th>D&eacute;tails</th>
- </tr>
-<?php
- // Connexion &agrave; la base et s&eacute;lection de la database
- require_once 'include/connect.inc.php';
-
- function fill_array_liste_reunion($query)
- {
- if ( ! $result = @mysql_query($query) )
- {
- require_once('fonctions.inc.php');
- $errmsg=mysql_generate_errmsg();
- }
- else
- {
- // On &eacute;crit ligne &agrave; ligne les personnes et les disponibilit&eacute;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";
- echo " <td>$prenomP $nomP</td>\n";
- if ( $estAnnulee=='oui' ) { $etat = 'reunion_annulee'; } elseif ( $idC_Fixe!=null) { $etat ='reunion_fixee'; } else { $etat = 'reunion_en_cours'; }
-
- $dateStr='';
- switch($etat)
- {
- case 'reunion_fixee':
- echo ' <td>' . date('d/m/Y - H:i', $idC_Fixe) . "</td>\n";
- echo " <td class='$etat'>Fix&eacute;e</td>\n";
- break;
- case 'reunion_en_cours':
- echo " <td></td>\n";
- echo " <td class='$etat'>En pr&eacute;paration</td>\n";
- break;
- case 'reunion_annulee':
- echo " <td></td>\n";
- echo " <td class='$etat'>Annul&eacute;e</td>\n";
- break;
- }
-
-
- echo ' <td>';
- generate_html_reunion_detail_button($idR);
- echo "</td>\n";
- echo " </tr>\n";
- }
- }
- }
-
-
- // R&eacute;unions fix&eacute;es et pass&eacute;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'
- . " WHERE ((A.idP = $idP AND A.idL = L.idL) OR R.idP_Orga = $idP)"
- . ' AND R.idL = L.idL AND P.idP = R.idP_Orga AND R.idC_Fixe = C.idC'
- . ' ORDER BY C.dateHeure DESC;';
- fill_array_liste_reunion($query);
-
- // R&eacute;union en pr&eacute;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)"
- . ' AND R.idL = L.idL AND P.idP = R.idP_Orga AND ISNULL(R.idC_Fixe);';
- //echo "DEBUG : $query\n";
- fill_array_liste_reunion($query);
-
- //$query =
- //echo "DEBUG : $query\n";
-?>
- </table>
- <br/>
- <a href="details_reunion.php?action=creer_reunion">Organiser une r&eacute;union</a>
- </div>
-<?php
- if ( isset ($errmsg) ) { generate_html_div_errmsg($errmsg); }
- generate_html_div_footer();
-?>
-<div id="msg"></div>
-</body>
-</html>
-
diff --git a/beta_accents/app/listes.php b/beta_accents/app/listes.php
deleted file mode 100644
index e4529f1..0000000
--- a/beta_accents/app/listes.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-require('include/ludo/session_verify.inc.php');
-require_once('include/connect.inc.php');
-require_once('include/ludo/html_elements.inc.php');
-require_once('include/ludo/fonctions.inc.php');
-
-
-require_once('include/je.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("Listes");
-
-echo "<body>\n";
-
-generate_html_divs_menu();
-?>
- <div id="sous_menu">
- <p class="arbre">
- &gt; <a href="index.php">Accueil</a>
- &gt; Listes
- </p>
- </div>
-<?php
-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');loadid('help/listes_new.php.hlp','help',false)">Cr&eacute;er une liste</a>
-<br/><br/>
-<?php generate_html_array_list($_SESSION['session_idP']) ?>
-<br/>
-<a href="#" onclick="loadid('poppersonne.php?idP_orga=<?php echo $_SESSION['session_idP']; ?>','poppersonne',true);popon('poppersonne')">Cr&eacute;er une liste</a>
-
-</div>
-
-<div id="poppersonne" class="popup_personne"></div>
-<div id="popdeletelist" class="popup_deletelist"></div>
-<div id="masque"></div>
-<div id="msg"></div>
-<?php generate_html_div_footer() ?>
-</body>
-</html> \ No newline at end of file
diff --git a/beta_accents/app/organiser.php b/beta_accents/app/organiser.php
deleted file mode 100644
index 0b63023..0000000
--- a/beta_accents/app/organiser.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-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&egrave;le");
-echo "<body>\n";
-generate_html_divs_menu();
-?>
- <div id="sous_menu">
- &gt; <a href="index.php">Accueil</a>
- &gt; <a href="index.php">R&eacute;unions</a>
- &gt; Organiser une r&eacute;union
- </div>
-<?php
-generate_html_div_help();
-echo "<div id=\"contenu\">\n";
-
-include('include/ludo/div_create_or_modif.php');
-?>
-
-</div>
-</body>
-</html>
-
diff --git a/beta_accents/app/popcommentaire.php b/beta_accents/app/popcommentaire.php
deleted file mode 100644
index bbb5922..0000000
--- a/beta_accents/app/popcommentaire.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php require_once ('include/connect.inc.php'); ?>
-<h2>Editer votre commentaire</h2>
-<div class="popup_contenu">
-<form id="formcommentaire" method="get" action="">
-<textarea name="txtCommentaire" rows="4" cols="40">
-<?php
- $requete = "SELECT commentaireReponse FROM AWOR_Repondre WHERE idP=".$_GET['idP']." AND idR=".$_GET['idR']."";
- $result = mysql_query($requete);
- if($result && mysql_num_rows($result) > 0)
- {
- $com = mysql_fetch_array($result);
-
- echo htmlentities($com['commentaireReponse'], ENT_QUOTES);
- }
-
-?>
-</textarea>
-<br/><br/>
-<?php if (isset($_GET['idR'])) echo '<input type="hidden" name="idR" value="'.$_GET['idR'].'" />' ?>
-<input type="hidden" name="action" value="commentaire" />
-<input type="submit" value="Enregistrer" /><input type="button" value="Fermer" onclick="popoff('popcommentaire')" />
-</form>
-</div> \ No newline at end of file
diff --git a/beta_accents/app/popcreneau.php b/beta_accents/app/popcreneau.php
deleted file mode 100644
index 4e496a7..0000000
--- a/beta_accents/app/popcreneau.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-function generate_html_div_popcreneau($idR)
-{
- require_once ('include/connect.inc.php');
- ?>
- <h2>Cr&eacute;neaux de la r&eacute;union </h2>
- <div class="popup_contenu">
- <form id="formcreneau" method="get" action="" onsubmit="return dataListe('creneaux','dataCreneaux');">
- <table>
- <tr>
- <td>Cr&eacute;er un cr&eacute;neau </td>
- <td>&nbsp;</td>
- <td>Cr&eacute;neaux</td>
- </tr>
- <tr>
- <td>Date&nbsp;:&nbsp;
- <select name="day">
- <?php
- for ($i=1;$i<=31;$i++) {$i = "0$i"; $i = substr($i,-2); echo "<option value=\"$i\">$i</option>"; }
- ?>
- </select>/
- <select name="month">
- <?php
- for ($i=1;$i<=12;$i++) {$i = "0$i"; $i = substr($i,-2); echo "<option value=\"$i\">$i</option>"; }
- ?>
- </select>/
- <select name="year">
- <?php
- for ($i=date('Y');$i<=((int)date('Y')+4);$i++) echo "<option value=\"$i\">$i</option>";
- ?>
- </select><br />D&eacute;but&nbsp;: &nbsp;
- <select name="hourStart">
- <?php
- for ($i=0;$i<=23;$i++) {$i = "0$i"; $i = substr($i,-2); echo "<option value=\"$i\">$i</option>"; }
- ?>
- </select>:
- <select name="minuteStart">
- <?php
- 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&nbsp;:&nbsp;
- <select name="hourEnd">
- <?php
- for ($i=0;$i<=23;$i++) {$i = "0$i"; $i = substr($i,-2); echo "<option value=\"$i\">$i</option>"; }
- ?>
- </select>:
- <select name="minuteEnd">
- <?php
- 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/>
- <input name="supprimerCreneau" type="button" value="Retirer" onclick="removecreneau(this.form);"/></td>
- <td><select name="creneaux" size="10" id="creneaux">
- <?php
- $result = mysql_query("SELECT UNIX_TIMESTAMP(dateHeure),duree FROM AWOR_Creneau WHERE idR=".$idR);
- if (mysql_num_rows($result)>0)
- {
- for($i=0;$i<mysql_num_rows($result);$i++)
- {
- $row = mysql_fetch_array($result);
- $date_deb =$row[0];
- $date_fin = $date_deb + 60 * $row[1];
- echo '<option value="'.date('Hi',$date_deb).'.'.date('Hi',$date_fin).'.'.date('d.m.Y',$date_deb).'">' . date('H:i',$date_deb) . ' -&gt; ' . date('H:i',$date_fin) . ' ' . date('d/m/Y',$date_deb);
- }
- }
- ?>
- </select></td></tr></table><br/>
- <input type="hidden" name="idR" value="<?php echo $idR;?>" />
- <input type="hidden" name="action" value="valider_creneau" />
- <input type="submit" value="Valider" /><input type="button" value="Fermer" onclick="popoff('popcreneau')"/>
- </form>
- </div>
-<?php
-}
-
-if (isset($_GET['idR']))
-{
- generate_html_div_popcreneau($_GET['idR']);
-}
-else
-{
- echo '<div class="popup_contenu">';
- echo 'Erreur - pas d\'identifiant de r&eacute;union !';
- echo '<form id="formcreneau" method="get" action="">';
- echo '<input type="button" value="Fermer" onclick="popoff(\'popcreneau\')"/>';
- echo '</form>';
- echo '</div>';
-}
-?>
diff --git a/beta_accents/app/popdeletelist.php b/beta_accents/app/popdeletelist.php
deleted file mode 100644
index 0754444..0000000
--- a/beta_accents/app/popdeletelist.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php require_once('include/connect.inc.php'); ?>
-<h2>D&eacute;sirer vous supprimer cette liste ?</h2>
-<div class="popup_contenu">
-<?php
- $result = mysql_query("SELECT libelleL FROM AWOR_Liste WHERE idL=".$_GET['idL']);
- if (mysql_num_rows($result)>0)
- {
- $row = mysql_fetch_array($result);
- echo "Libell&eacute; : " . htmlentities($row[0], ENT_QUOTES) . "<br/><br/>";
- }
- echo '<form id="formdelete" method="get" action="">';
- echo '<input type="hidden" name="action" value="delete_list" />';
- echo '<input type="hidden" name="idL" value="'.$_GET['idL'].'" />';
- echo '<input type="submit" value="Supprimer"/>';
- echo '<input type="button" value="Annuler" onclick="popoff(\'popdeletelist\')"/>';
- echo '</form>';
-?>
-</div>
-
-
diff --git a/beta_accents/app/popfixer.php b/beta_accents/app/popfixer.php
deleted file mode 100644
index 7e1c85a..0000000
--- a/beta_accents/app/popfixer.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
- if (isset($_GET['idC']))
- {
- include ('include/connect.inc.php');
- echo '<h2>D&eacute;sirez-vous fixer ce cr&eacute;neau ?</h2>';
- echo '<div class="popup_contenu">';
- $result = mysql_query("SELECT UNIX_TIMESTAMP(dateHeure),duree FROM AWOR_Creneau WHERE idC=".$_GET['idC']);
- if (mysql_num_rows($result)>0)
- {
- for($i=0;$i<mysql_num_rows($result);$i++)
- {
- $row = mysql_fetch_array($result);
- $date_deb =$row[0];
- $date_fin = $date_deb + 60 * $row[1];
- echo 'Le ' . date('d/m/y', $date_deb) . ' de ' . date('H:i', $date_deb) . ' &agrave; ' . date('H:i', $date_fin);
- }
- }
-
- echo '<br/>';
- echo '<em>(Il vous sera impossible par la suite de modifier les informations concernant la r&eacute;union)</em>';
- echo '<br/>';echo '<br/>';
- //~ echo '<form id="formfixer" method="get" action="'.$_SERVER['PHP_SELF'].'">';
- echo '<form id="formfixer" method="get" action="">';
- echo '<input type="hidden" name="action" value="fixer_creneau" />';
- echo '<input type="hidden" name="idR" value="'.$_GET['idR'].'" />';
- echo '<input type="hidden" name="idC" value="'.$_GET['idC'].'" />';
- echo '<input type="submit" value="Valider"/>';
- echo '<input type="button" value="Annuler" onclick="popoff(\'popfixer\')"/>';
- echo '</form>';
- echo '</div>';
- }
- else
- {
- echo '<div class="popup_contenu">';
- echo 'Erreur - pas d\'identifiant de cr&eaneau !';
- echo '<form id="formfixer" method="get" action="">';
- echo '<input type="button" value="Fermer" onclick="popoff(\'popfixer\')"/>';
- echo '</form>';
- echo '</div>';
- }
-?>
-
diff --git a/beta_accents/app/poppersonne.php b/beta_accents/app/poppersonne.php
deleted file mode 100644
index a983441..0000000
--- a/beta_accents/app/poppersonne.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php require_once('include/connect.inc.php'); ?>
-<h2><?php
-//Pour le choix du Titre :
-if(isset($_GET['idR'])) echo "Participants de la r&eacute;union";
- else
- if (isset($_GET['idL'])) echo "Modification de la liste" ; else echo "Cr&eacute;ation d'une liste";
-?></h2>
-<div class="popup_contenu">
-
-<?php
-//Pour la cr&eacute;ation de la liste et initialisation du propri&eacute;taire
-echo "<form id=\"formpersonne\" action=\"\" method=\"get\" onsubmit=\"return (";
-$isOwner= false;
-
-if (!isset($_GET['idL']))
-{
- echo "(true==(isNotEmpty('listname') & ";
- echo "dataListe('participants','dataParticipants'))));\">";
- echo "Nom de la liste : <input type=\"text\" name=\"listname\" id=\"listname\" />\n";
- echo "&nbsp;est priv&eacute;e : <input type=\"checkbox\" name=\"isPrivate\" checked/><br/><br/>\n";
- echo "<input type=\"hidden\" name=\"idP\" value=\"".$_GET['idP_orga']."\" />\n";
- $isOwner = true;
-}
-else
-{
- echo "dataListe('participants','dataParticipants'));\">";
- 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)
- {
- $isOwner = true;
- }
-}
-
-?>
-<table>
-<tr>
-<td>Contacts disponibles </td>
-<td>&nbsp;</td>
-<td>Participants </td>
-</tr>
-<tr>
-<td>
-<select name="listeDispo" id="listeDispo" onChange="loadlist('poppersonneliste.php?idL=','listeDispo','divListe');" <?php if (!$isOwner) echo ' disabled' ;?>>
-<option value="None">Choisir ...</option>
-<option value="Tous">Tous</option>
-<?php
- $req = "SELECT idL,libelleL,estPrivee FROM AWOR_Liste WHERE (idP_Createur=".$_GET['idP_orga']." OR estPrivee='non')";
- if (isset($_GET['idL'])) $req .= " AND idL <>".$_GET['idL'];
- $req .= " ORDER BY estPrivee";
- $result = mysql_query($req);
- if (mysql_num_rows($result)>0)
- {
- for($i=0;$i<mysql_num_rows($result);$i++)
- {
- $row = mysql_fetch_array($result);
- echo '<option value="'.htmlentities($row[0],ENT_QUOTES).'">';
- echo htmlentities($row[1],ENT_QUOTES);
- echo '</option>';
- }
- }
-?>
-</select>
-</td>
-<td>&nbsp;</td>
-<td>&nbsp;</td>
-</tr>
-<tr>
-<td>
-<div id="divListe">
-</div>
-</td>
-<td>
-<input name="AjouterParticipant" type="button" id="AjouterParticipant" value="Ajouter" onclick="addPers(this.form);" <?php if (!$isOwner) echo ' disabled' ;?>/><br/>
-<br/>
-<input name="AjouterTous" type="button" id="AjouterTous" value="Ajouter Tous" onclick="addAllPers(this.form);" <?php if (!$isOwner) echo ' disabled' ;?> /><br/>
-<br/>
-<input name="supprimerParticipant" type="button" id="supprimerParticipant" value="Retirer" onclick="removePers(this.form);" <?php if (!$isOwner) echo ' disabled' ;?>/>
-</td>
-<td>
-<select name="participants" size="10" id="participants">
-<?php
- if (isset($_GET['idL']))
- {
- $req = "SELECT P.idP,P.courrielP,P.nomP,P.prenomP FROM AWOR_Personne P,AWOR_Appartenir A WHERE P.idP=A.idP AND A.idL=".$_GET['idL'];
- $result = mysql_query($req);
- if (mysql_num_rows($result)>0)
- {
- for($i=0;$i<mysql_num_rows($result);$i++)
- {
- $row = mysql_fetch_array($result);
- echo '<option value="'.htmlentities($row[0],ENT_QUOTES).'">';
- echo htmlentities($row[2],ENT_QUOTES) . " " . htmlentities($row[3],ENT_QUOTES);
- echo '</option>';
- }
- }
- }
-?>
-</select>
-</td>
-</tr>
-</table>
-<br/>
-<input type="text" name="courriel" id="courriel" value="" size="30" <?php if (!$isOwner) echo ' disabled' ;?>/><input type="button" value="inscrire" onclick="newPers(this.form);" <?php if (!$isOwner) echo ' disabled' ;?>/>
-<br/><br/>
-<?php if (isset($_GET['idL'])) echo '<input type="hidden" name="idL" value="'.$_GET['idL'].'" />'; ?>
-<?php if (isset($_GET['idR'])) echo '<input type="hidden" name="idR" value="'.$_GET['idR'].'" />'; ?>
-<input type="hidden" name="action" value="valider_modif_personnes" />
-<input type="submit" name="Submit" value="Valider" /><input type="button" value="Fermer" onclick="popoff('poppersonne');" />
-</form>
-</div>
diff --git a/beta_accents/app/poppersonneliste.php b/beta_accents/app/poppersonneliste.php
deleted file mode 100644
index af3a896..0000000
--- a/beta_accents/app/poppersonneliste.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
- require_once 'include/connect.inc.php';
- if ($_GET['idL'] != "None")
- {
- $req = "SELECT P.idP , P.courrielP , P.nomP , P.prenomP FROM AWOR_Personne P";
- if ($_GET['idL'] != "Tous") {$req=$req.",AWOR_Appartenir A WHERE P.idP=A.idP AND A.idL=".$_GET['idL'];}
- $result = mysql_query($req) ;
- echo '<select name="contactDispo" size="10" id="contactDispo">';
-
- if (mysql_num_rows($result)>0)
- {
- for($i=0;$i<mysql_num_rows($result);$i++)
- {
- $row = mysql_fetch_array($result);
- 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>';
- }
- }
- echo '</select>';
- }
- else
- {
- echo "&nbsp;";
- }
-
-?>
diff --git a/beta_accents/app/profil.php b/beta_accents/app/profil.php
deleted file mode 100644
index bd88afd..0000000
--- a/beta_accents/app/profil.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?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("Administration du profil");
-
-echo "<body>\n";
-generate_html_divs_menu();
-?>
- <div id="sous_menu">
- <p class="arbre">
- &gt; <a href="index.php">Accueil</a>
- &gt; Administration du profil
- </p>
- </div>
-<?php
-generate_html_div_help();
-echo "<div id=\"contenu\">\n";
-$idP = $_SESSION['session_idP'];
-if ( isset( $_SESSION['session_prenomP'] ) && isset( $_SESSION['session_prenomP'] ) )
-{
- $nom=$_SESSION['session_prenomP'] . ' ' . $_SESSION['session_nomP'];
-}
-else
-{
- $nom = $_SESSION['session_loginP'];
-}
-$resultat = mysql_query("SELECT * FROM AWOR_Personne WHERE idP = '".$_SESSION['session_idP']."'");
-if($resultat != false)
-{
- $p = mysql_fetch_array($resultat);
- echo "<form method=\"post\" action=\"profil.php\" onSubmit=\"return verifProfil()\" >\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=\"".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";
- echo "</form>\n";
- echo "</div>\n";
-}
-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
deleted file mode 100644
index c8c0a06..0000000
--- a/beta_accents/app/script.js
+++ /dev/null
@@ -1,340 +0,0 @@
-function isNotEmpty (idInput)
-{
- if (document.getElementById(idInput).value.length > 0) { return (true);} else {return (false);}
-}
-
-function addPers(form)
-{
- if(form.contactDispo)
- {
- if(form.contactDispo.options.selectedIndex>=0)
- {
- var oValue = form.contactDispo.options[form.contactDispo.options.selectedIndex].value;
-
- var exist = false;
- var i = 0;
- while (i<form.participants.options.length && !exist) { if (form.participants.options[i].value == oValue) exist = true; i=i+1;}
-
- if (!exist)
- {
- var oText = form.contactDispo.options[form.contactDispo.options.selectedIndex].text;
- var o = new Option(oText,oValue);
- form.participants.options[form.participants.options.length]=o;
- }
- }
- }
-}
-
-function switchCSS()
-{
- var listCSS = document.getElementById('switcherCSS');
- if (listCSS)
- {
- if (listCSS.options.selectedIndex>=0)
- {
-
- setActiveStyleSheet(listCSS.options[listCSS.options.selectedIndex].value);
- }
- }
-
-}
-
-function addAllPers(form)
-{
- if(form.contactDispo)
- {
- for (var j=0;j<form.contactDispo.options.length;j++)
- {
- var oValue = form.contactDispo.options[j].value;
- var exist = false;
- var i = 0;
-
- while (i<form.participants.options.length && !exist) { if (form.participants.options[i].value == oValue) exist = true; i=i+1;}
-
- if (!exist)
- {
- var oText = form.contactDispo.options[j].text;
- var o = new Option(oText,oValue);
- form.participants.options[form.participants.options.length]=o;
- }
- }
- }
-}
-
-function newPers(form)
-{
- if (verifMail(form.courriel.value))
- {
- var oValue = form.courriel.value;
-
- var exist = false;
- var i = 0;
- while (i<form.participants.options.length && !exist) { if (form.participants.options[i].value == oValue) exist = true; i=i+1;}
-
- if (!exist)
- {
- var oText = form.courriel.value;
- var o = new Option(oText,oValue);
- form.participants.options[form.participants.options.length]=o;
- }
- }
- else
- {
- alert ("Mail invalide");
- }
-}
-
-function verifMail(mail)
-{
- if ((mail.indexOf("@")>=0)&&(mail.indexOf(".")>=0)) return true; else return false;
-}
-
-
-function removePers(form)
-{
- if (form.participants.options.selectedIndex>=0)
- {
- var i = form.participants.options.selectedIndex;
- form.participants.options[form.participants.options.selectedIndex]=null;
- if (parseInt(i) > 0) {form.participants.options.selectedIndex=parseInt(i)-1;} else {form.participants.options.selectedIndex=0;}
- }
- else
- {
- alert("Suppression impossible : aucune ligne sélectionnée");
- }
-}
-
-function loadid(url,id,isPop) {
- if (isPop)
- document.getElementById('msg').innerHTML = "<em>Chargement en cours ...<a href=\"#\" onclick=\"popoff('"+id+"')\" >Fermer</a></em>";
- else
- document.getElementById('msg').innerHTML = "<em>Chargement en cours ...</em>";
-
- document.getElementById(id).innerHTML = "";
- document.getElementById('msg').style.display='block';
-
- var http_request = false;
-
- if (window.XMLHttpRequest) { // Mozilla, Safari,...
- http_request = new XMLHttpRequest();
- if (http_request.overrideMimeType) {
- http_request.overrideMimeType('text/xml');
- }
- } else if (window.ActiveXObject) { // IE
- try {
- http_request = new ActiveXObject("Msxml2.XMLHTTP");
- } catch (e) {
- try {
- http_request = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e) {}
- }
- }
-
- if (!http_request) {
- alert('Abandon : Impossible de créer une instance XMLHTTP');
- return false;
- }
-
- http_request.onreadystatechange = function(){
-
- if (http_request.readyState == 4) {
- if (http_request.status == 200) {
- document.getElementById(id).innerHTML = http_request.responseText;
- document.getElementById('msg').style.display='none';
- document.getElementById('msg').innerHTML = "";
-
- } else {
- if (isPop)
- document.getElementById('msg').innerHTML = "<em>Un probl&egrave;me est survenu ...<a href=\"#\" onclick=\"loadid('"+url+"','"+id+"',true)\" >R&eacute;essayer</a> - <a href=\"#\" onclick=\"popoff('"+id+"')\" >Fermer</a></em>";
- else
- document.getElementById('msg').innerHTML = "<em>Un probl&egrave;me est survenu ...<a href=\"#\" onclick=\"loadid('"+url+"','"+id+"',false)\" >R&eacute;essayer</a></em>";
- }
- }
- };
-
- http_request.open('GET', url, true);
- http_request.send(null);
-}
-
-function popon (id)
-{
- var thisPopup = document.getElementById(id);
- thisPopup.style.display='block';
- //var thisMasque = document.getElementById('masque');
- //thisMasque.style.display='block';
-}
-
-function popoff (id)
-{
- var thisPopup = document.getElementById(id);
- thisPopup.style.display='none';
- //var thisMasque = document.getElementById('masque');
- //thisMasque.style.display='none';
-}
-
-function addcreneau(form)
-{
- if(form.day.options.selectedIndex>=0 && form.month.options.selectedIndex>=0 && form.year.options.selectedIndex>=0 && form.hourStart.options.selectedIndex>=0 && form.minuteStart.options.selectedIndex>=0 && form.hourEnd.options.selectedIndex>=0 && form.minuteEnd.options.selectedIndex>=0)
- {
- if (verifDate(form.day.options[form.day.options.selectedIndex].value,form.month.options[form.month.options.selectedIndex].value,form.year.options[form.year.options.selectedIndex].value))
- {
- //Création de la valeur
- var oValue = form.hourStart.options[form.hourStart.options.selectedIndex].value + form.minuteStart.options[form.minuteStart.options.selectedIndex].value + "." + form.hourEnd.options[form.hourEnd.options.selectedIndex].value + form.minuteEnd.options[form.minuteEnd.options.selectedIndex].value;
- oValue = oValue + "." + form.day.options[form.day.options.selectedIndex].value + "." + form.month.options[form.month.options.selectedIndex].value + "." + form.year.options[form.year.options.selectedIndex].value;
-
- //Test si la valeur est déja dans la liste
- var exist = false;
- var i = 0;
- while (i<form.creneaux.options.length && !exist) { if (form.creneaux.options[i].value == oValue) exist = true; i=i+1;}
-
- //Création du texte et de l'option et insertion de l'option si la valeur n'a pas été trouvée
- if (!exist)
- {
- var oText = form.hourStart.options[form.hourStart.options.selectedIndex].value + ":" + form.minuteStart.options[form.minuteStart.options.selectedIndex].value + " -> " + form.hourEnd.options[form.hourEnd.options.selectedIndex].value + ":" + form.minuteEnd.options[form.minuteEnd.options.selectedIndex].value;
- oText = oText + " " + form.day.options[form.day.options.selectedIndex].value + "/" + form.month.options[form.month.options.selectedIndex].value + "/" + form.year.options[form.year.options.selectedIndex].value;
- var o = new Option(oText,oValue);
- form.creneaux.options[form.creneaux.options.length]=o;
- }
- }
- }
-}
-
-function removecreneau(form)
-{
- if (form.creneaux.options.selectedIndex>=0)
- {
- var i = form.creneaux.options.selectedIndex;
- form.creneaux.options[form.creneaux.options.selectedIndex]=null;
- if (parseInt(i) > 0) {form.creneaux.options.selectedIndex=parseInt(i)-1;} else {form.creneaux.options.selectedIndex=0;}
- }
- else
- {
- alert("Suppression impossible : aucune ligne sélectionnée");
- }
-}
-
-function dataListe(idSelect,idInput)
-{
- var liste = document.getElementById(idSelect);
- if (liste)
- {
- for (var i=0;i<liste.options.length;i++)
- {
- var newInput = document.createElement("input");
-/* newInput.setAttribute("type", "hidden");
- newInput.setAttribute("name", (idInput+"["+i+"]"));
- newInput.setAttribute("value", liste.options[i].value);*/
- newInput.type = "hidden";
- newInput.name = idInput+"["+i+"]";
- newInput.value = liste.options[i].value;
- liste.form.appendChild(newInput);
- }
- return (true);
- }
- else
- {
- return (false);
- }
-
-}
-function verifDate(day,month,year)
-{
- var a= year;
- var m= month;
- var d= day;
- var ok=true;
-
- var date2=new Date(a,m-1,d);
- d2=date2.getDate();
- m2=date2.getMonth()+1;
- a2=date2.getFullYear();
- if (a2<=100) {a2=1900+a2} //Pour depasser 2000
- if ( (d!=d2)||(m!=m2)||(a!=a2) )
- {
- alert("Cette date n'existe pas !");
- ok=false;
- }
- return (ok);
-}
-function loadlist(url,id,idListe)
-{
-
- if (document.getElementById(id))
- {
- loadid((url+document.getElementById(id).options[document.getElementById(id).options.selectedIndex].value),idListe,false);
- }
-}
-//*************************************************************************//
-// Formulaire profil
-//*************************************************************************//
-function verifProfil()
-{
- //return(true==(isNotEmpty('nomP')) && true==(isNotEmpty('prenomP')) && true==(isNotEmpty('loginP')) && true==(isNotEmpty('courrielP')));
- if(false==isNotEmpty('nomP')) { alert("Saisissez votre nom avant de valider."); return false;}
- if(false==isNotEmpty('prenomP')) { alert("Saisissez votre prenom avant de valider."); return false;}
- if(false==isNotEmpty('courrielP')) { alert("Saisissez votre courriel avant de valider."); return false;}
- if(false==isNotEmpty('loginP')) { alert("Saisissez votre login avant de valider."); return false;}
- return true;
-}
-
-//*************************************************************************//
-// Switcher CSS
-//*************************************************************************//
-
-function setActiveStyleSheet(title) {
- var i, a, main;
- for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
- if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
- a.disabled = true;
- if(a.getAttribute("title") == title) a.disabled = false;
- }
- }
-}
-function getActiveStyleSheet() {
- var i, a;
- for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
- if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
- }
- return null;
-}
-function getPreferredStyleSheet() {
- var i, a;
- for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
- if(a.getAttribute("rel").indexOf("style") != -1
- && a.getAttribute("rel").indexOf("alt") == -1
- && a.getAttribute("title")
- ) return a.getAttribute("title");
- }
- return null;
-}
-function createCookie(name,value,days) {
- if (days) {
- var date = new Date();
- date.setTime(date.getTime()+(days*24*60*60*1000));
- var expires = "; expires="+date.toGMTString();
- }
- else expires = "";
- document.cookie = name+"="+value+expires+"; path=/";
-}
-function readCookie(name) {
- var nameEQ = name + "=";
- var ca = document.cookie.split(';');
- for(var i=0;i < ca.length;i++) {
- var c = ca[i];
- while (c.charAt(0)==' ') c = c.substring(1,c.length);
- if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
- }
- return null;
-}
-window.onload = function(e) {
- var cookie = readCookie("aworcustom_css");
- var title = cookie ? cookie : getPreferredStyleSheet();
- setActiveStyleSheet(title);
-}
-window.onunload = function(e) {
- var title = getActiveStyleSheet();
- createCookie("aworcustom_css", title, 365);
-}
-var cookie = readCookie("aworcustom_css");
-var title = cookie ? cookie : getPreferredStyleSheet();
-setActiveStyleSheet(title);
diff --git a/beta_accents/app/sendmail.php b/beta_accents/app/sendmail.php
deleted file mode 100644
index 4aeba4a..0000000
--- a/beta_accents/app/sendmail.php
+++ /dev/null
@@ -1,200 +0,0 @@
-<?php
-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("Envoi de courriel");
-echo "<body>\n";
-generate_html_divs_menu();
-?>
- <div id="sous_menu">
- <p class="arbre">
- &gt; <a href="index.php">Accueil</a>
- &gt; <a href="index.php">R&eacute;unions</a>
- &gt; Envoi de courriel
- </p>
- </div>
-<?php generate_html_div_help();
-if( isset($_POST['idR']) )
-{
- $idR=addslashes($_POST['idR']);
-}
-else
-{
-?>
- <div id="errmsg">
- Erreur lors de l'&eacute;mission de l'email : Param&egrave;tre manquant ou &eacute;rron&eacute;
- </div></body></html>
-<?php
- exit();
-}
-
-if( isset($_POST['envoi']) )
-{
- include 'include/ludo/config.inc.php';
-
- if ( !isset($_POST['msgObject']) || !isset($_POST['msgText']) || !is_array($_POST['dataParticipants']) )
- {
- $errmsg = "Erreur lors de l'&eacute;mission de l'email : Param&egrave;tre manquant ou &eacute;rron&eacute;";
- }
- else
- {
- if ( !isset($CONFIG['automatedMail']) )
- {
- $errmsg = "Erreur lors de l'&eacute;mission de l'email : Erreur de configuration par l'administrateur";
- }
- else
- {
- // Potentiellement dangereux...
- $query='SELECT nomP, prenomP, courrielP FROM AWOR_Personne WHERE idP=\'' . implode("' OR idP='", $_POST['dataParticipants']) . "'";
- //~ echo " DEBUG : QUERY : $query\n";
- $result = mysql_query($query);
- if ( ! $result )
- {
- $errmsg = "Erreur lors de l'&eacute;mission de l'email : Erreur de base de donn&eacute;es";
- }
- else
- {
- $to=array();
- while ( list($nomP, $prenomP, $courrielP) = mysql_fetch_row($result) )
- {
- $to[]=htmlentities($nomP, ENT_QUOTES) . ' ' . htmlentities($prenomP, ENT_QUOTES) . ' <' . htmlentities($courrielP, ENT_QUOTES) . '>"';
- }
- $to=implode(', ',$to);
-
-
- 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'&eacute;mission de l'email : Erreur inconnue";
- }
- }
- }
- }
-
- if ( isset($errmsg) )
- {
- echo '<div id="errmsg">' . $errmsg .'</div></body></html>';
- }
- else
- {
- echo '<div id="contenu">Le courriel &agrave; bien &eacute;t&eacute; envoy&eacute;<br />';
- echo '<a href="details_reunion.php?idR=' . $idR . '">Retour au d&eacute;tail de la r&eacute;union</a></div></body></html>';
- }
- exit();
-}
-
-
-$result = mysql_query("SELECT idL FROM AWOR_Reunion WHERE idR='$idR'");
-if (mysql_num_rows($result)===1)
-{
- list($idL) = mysql_fetch_array($result);
-}
-else
-{
- $errmsg="";
-}
-
-
- if ( isset($errmsg) )
- {
- echo '<div id="errmsg">' . $errmsg .'</div></body></html>';
- exit();
- }
-
-?>
-
- <div id="contenu">
- <form id="formmail" action="sendmail.php" method="post" onsubmit="return dataListe('participants','dataParticipants');">
- <table>
- <tbody>
- <tr>
- <td>Contacts disponibles</td>
- <td>&nbsp;</td>
- <td>Destinataires</td>
- </tr>
- <tr>
- <td>
- <select name="contactDispo" size="10" id="contactDispo">
-<?php
- $personnes = array();
- $req = 'SELECT P.idP , P.courrielP , P.nomP , P.prenomP FROM AWOR_Personne P, AWOR_Appartenir A WHERE P.idP=A.idP AND A.idL=' . $idL;
- $result = mysql_query($req) ;
-
- if (mysql_num_rows($result)>0)
- {
- 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;
- echo "</option>\n";
- }
- }
-
-?>
- </select>
- </td>
- <td>
- <input name="AjouterParticipant" id="AjouterParticipant" value="Ajouter" onclick="addPers(this.form);" type="button" />
- <br />
- <br />
- <input name="supprimerParticipant" id="supprimerParticipant" value="Retirer" onclick="removePers(this.form);" type="button" />
- </td>
- <td>
- <select name="participants" size="10" id="participants">
-<?php
- foreach( $personnes as $idP=>$p)
- {
- if ( isset($_POST['mail_idP' . $idP] ) )
- {
- echo '<option value="'.$idP.'">';
- echo $p[1] . " " . $p[2];
- echo "</option>\n";
- }
- }
-?>
- </select>
- </td>
- </tr>
- </tbody>
- </table>
- <div>
- Modèle :&nbsp;
-<?php
- echo '<select name="modelsList" id="modelsList" onchange="loadlist(\'include/ludo/mail_textarea.php?idR=';
- echo $idR . "&amp;model=','modelsList','divMsg');\">\n";
-?>
- <option value="empty">Vierge</option>
- <option value="cree">Nouvelle Réunion</option>
- <option value="modif">Réunion modifiée</option>
- <option value="annul">Réunion annulée</option>
- <option value="fixee">Réunion fixée</option>
- </select>
- </div>
- <div>
- Objet :&nbsp;<input name="msgObject" type="text" size="40" value="AWOR : Courriel de notification" />
- </div>
- <div id='divMsg'>
-<?php include 'include/ludo/mail_textarea.php'; ?>
- </div>
- <div>
- <?php
- echo '<input name="idR" type="hidden" value="' . $idR . '" />' . "\n";
- ?>
- <input name="envoi" type="hidden" value="1" />
- <input type="submit" value="Envoyer" />
- </div>
- </form>
- </div>
-<?php generate_html_div_footer(); ?>
- <div id="msg"></div>
-</body>
-</html>
-
diff --git a/beta_accents/app/templates/mail_annul.php b/beta_accents/app/templates/mail_annul.php
deleted file mode 100644
index f29e9d3..0000000
--- a/beta_accents/app/templates/mail_annul.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-// Vous pouvez utiliser les variables suivantes pour personnaliser le mod&egrave;le
-// $objetR, $ordreJourR, $lieuR, $remarquesR
-?>
-Bonjour,
-Une r&eacute;union vient d'&ecirc;tre annul&eacute;e sur l'Application Web d'Organisation de R&eacute;union et vous y &eacute;tiez convi&eacute;s.
-<?php
-echo "Objet de la r&eacute;union : $objetR\n";
-echo "Lieu de la r&eacute;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
deleted file mode 100644
index 0b83c49..0000000
--- a/beta_accents/app/templates/mail_cree.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-// Vous pouvez utiliser les variables suivantes pour personnaliser le mod&egrave;le
-// $objetR, $ordreJourR, $lieuR, $remarquesR
-?>
-Bonjour,
-Une r&eacute;union vient d'&ecirc;tre ajout&eacute;e sur l'Application Web d'Organisation de R&eacute;union et vous y &ecirc;tes convi&eacute;s.
-Vous pouvez aller consulter le d&eacute;tail de la r&eacute;union sur le site, et merci de donner vos disponibilit&eacute;s au plus tôt.
-<?php
-echo "Objet de la r&eacute;union : $objetR\n";
-echo "Lieu de la r&eacute;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
deleted file mode 100644
index a221061..0000000
--- a/beta_accents/app/templates/mail_fixee.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-// Vous pouvez utiliser les variables suivantes pour personnaliser le mod&egrave;le
-// $objetR, $ordreJourR, $lieuR, $remarquesR
-?>
-Bonjour,
-Une r&eacute;union vient d'&ecirc;tre fix&eacute;e sur l'Application Web d'Organisation de R&eacute;union et vous y &ecirc;tes convi&eacute;s.
-Vous pouvez aller consulter le d&eacute;tail de la r&eacute;union sur le site, noter le cr&eacute;neau retenu,
-et m&ecirc;me t&eacute;l&eacute;charger le fichier iCal pour synchroniser votre logiciel de calendrier pr&eacute;f&eacute;r&eacute;.
-<?php
-echo "Objet de la r&eacute;union : $objetR\n";
-echo "Lieu de la r&eacute;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
deleted file mode 100644
index 8e8ed29..0000000
--- a/beta_accents/app/templates/mail_modif.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-// Vous pouvez utiliser les variables suivantes pour personnaliser le mod&egrave;le
-// $objetR, $ordreJourR, $lieuR, $remarquesR
-?>
-Bonjour,
-Une r&eacute;union vient d'&ecirc;tre modifi&eacute;e sur l'Application Web d'Organisation de R&eacute;union et vous y &ecirc;tes convi&eacute;s.
-Vous pouvez aller consulter le d&eacute;tail de la r&eacute;union sur le site, et merci de donner vos disponibilit&eacute;s au plus tôt si ce n'et d&eacute;j&agrave; fait.
-<?php
-echo "Objet de la r&eacute;union : $objetR\n";
-echo "Lieu de la r&eacute;union : $lieuR\n";
-echo "Ordre du jour : $ordreJourR\n";
-echo "Remarques : $remarquesR\n";
-?> \ No newline at end of file
diff --git a/beta_accents/corr_accents.sh b/beta_accents/corr_accents.sh
deleted file mode 100644
index 1fc15f8..0000000
--- a/beta_accents/corr_accents.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-find -name "*.php" -exec ./sed.sh {} \;
diff --git a/beta_accents/doc/READ_ME.css b/beta_accents/doc/READ_ME.css
deleted file mode 100644
index 2dfba7c..0000000
--- a/beta_accents/doc/READ_ME.css
+++ /dev/null
@@ -1,109 +0,0 @@
-
-/* start css.sty */
-.cmmi-10{font-style: italic;}
-.cmr-17{font-size:170%;}
-.cmr-12{font-size:120%;}
-.cmtt-10{font-family: monospace;}
-.cmbx-10{ font-weight: bold;}
-p.noindent { text-indent: 0em }
-p.nopar { text-indent: 0em; }
-p.indent{ text-indent: 1.5em }
-@media print {div.crosslinks {visibility:hidden;}}
-a img { border-top: 0; border-left: 0; border-right: 0; }
-center { margin-top:1em; margin-bottom:1em; }
-td center { margin-top:0em; margin-bottom:0em; }
-.Canvas { position:relative; }
-img.math{vertical-align:middle;}
-li p.indent { text-indent: 0em }
-.enumerate1 {list-style-type:decimal;}
-.enumerate2 {list-style-type:lower-alpha;}
-.enumerate3 {list-style-type:lower-roman;}
-.enumerate4 {list-style-type:upper-alpha;}
-div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
-.obeylines-h,.obeylines-v {white-space: nowrap; }
-div.obeylines-v p { margin-top:0; margin-bottom:0; }
-.overline{ text-decoration:overline; }
-.overline img{ border-top: 1px solid black; }
-td.displaylines {text-align:center; white-space:nowrap;}
-.centerline {text-align:center;}
-.rightline {text-align:right;}
-div.verbatim {font-family: monospace; white-space: nowrap; }
-table.verbatim {width:100%;}
-.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
-div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
-table.minipage{width:100%;}
-div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
-div.center div {text-align: left;}
-div.flushright, div.flushright div.flushright {text-align: right;}
-div.flushright div {text-align: left;}
-div.flushleft {text-align: left;}
-.underline{ text-decoration:underline; }
-.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
-.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
-.framebox-c {text-align:center;}
-.framebox-l {text-align:left;}
-.framebox-r {text-align:right;}
-span.thank-mark{ vertical-align: super }
-span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }
-div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; }
-table.tabular td p{margin-top:0em;}
-table.tabular {margin-left: auto; margin-right: auto;}
-div.td00{ margin-left:0pt; margin-right:0pt; }
-div.td01{ margin-left:0pt; margin-right:5pt; }
-div.td10{ margin-left:5pt; margin-right:0pt; }
-div.td11{ margin-left:5pt; margin-right:5pt; }
-table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
-td.td00{ padding-left:0pt; padding-right:0pt; }
-td.td01{ padding-left:0pt; padding-right:5pt; }
-td.td10{ padding-left:5pt; padding-right:0pt; }
-td.td11{ padding-left:5pt; padding-right:5pt; }
-table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
-.hline hr, .cline hr{ height : 1px; margin:0px; }
-.tabbing-right {text-align:right;}
-span.TEX {letter-spacing: -0.125em; }
-span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
-a span.TEX span.E {text-decoration: none; }
-span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
-span.LATEX span.TEX{ position:relative; left: -0.4em; }
-div.float img, div.float .caption {text-align:center;}
-div.figure img, div.figure .caption {text-align:center;}
-.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
-.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
-table.equation {width:100%;}
-.equation td{text-align:center; }
-td.equation { margin-top:1em; margin-bottom:1em; }
-td.equation-label { width:5%; text-align:center; }
-td.eqnarray4 { width:5%; white-space: normal; }
-td.eqnarray2 { width:5%; }
-table.eqnarray-star, table.eqnarray {width:100%;}
-div.eqnarray{text-align:center;}
-div.array {text-align:center;}
-div.pmatrix {text-align:center;}
-table.pmatrix {width:100%;}
-span.pmatrix img{vertical-align:middle;}
-div.pmatrix {text-align:center;}
-table.pmatrix {width:100%;}
-img.cdots{vertical-align:middle;}
-.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
-.caption td.id{font-weight: bold; white-space: nowrap; }
-table.caption {text-align:center;}
-h1.partHead{text-align: center}
-p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
-p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
-.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
-.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
-.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;}
-.verse{white-space:nowrap; margin-left:2em}
-div.maketitle {text-align:center;}
-h2.titleHead{text-align:center;}
-div.maketitle{ margin-bottom: 2em; }
-div.author, div.date {text-align:center;}
-div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; }
-div.author{white-space: nowrap;}
-.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
-.abstract p {margin-left:5%; margin-right:5%;}
-table.abstract {width:100%;}
-.frenchb-nbsp{font-size:75%;}
-.frenchb-thinspace{font-size:75%;}
-/* end css.sty */
-
diff --git a/beta_accents/doc/READ_ME.dvi b/beta_accents/doc/READ_ME.dvi
deleted file mode 100644
index 836714e..0000000
--- a/beta_accents/doc/READ_ME.dvi
+++ /dev/null
Binary files differ
diff --git a/beta_accents/doc/READ_ME.html b/beta_accents/doc/READ_ME.html
deleted file mode 100644
index fd0333a..0000000
--- a/beta_accents/doc/READ_ME.html
+++ /dev/null
@@ -1,469 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="fr" >
-<head><title>AWOR - Fichier Lisez-moi de l&#8217;administrateur</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html)">
-<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html)">
-<!-- html -->
-<meta name="src" content="READ_ME.tex">
-<meta name="date" content="2007-03-13 12:30:00">
-<link rel="stylesheet" type="text/css" href="READ_ME.css">
-</head><body
->
- <div class="maketitle">
-
-
-
-<h2 class="titleHead">AWOR - Fichier Lisez-moi de l&#8217;administrateur</h2>
-<div class="author" ></div><br />
-<div class="date" ><span
-class="cmr-12">13 mars 2007</span></div>
- </div>
- <h3 class="likesectionHead"><a
- id="x1-1000"></a>Table des matières</h3>
- <div class="tableofcontents">
- <span class="sectionToc">1 <a
-href="#x1-20001" id="QQ2-1-2">Compatibilité</a></span>
-<br /> <span class="sectionToc">2 <a
-href="#x1-50002" id="QQ2-1-5">Sécurité</a></span>
-<br /> <span class="sectionToc">3 <a
-href="#x1-60003" id="QQ2-1-6">Installation</a></span>
-<br /> &#x00A0;<span class="subsectionToc">3.1 <a
-href="#x1-70003.1" id="QQ2-1-7">Dépaquetage des pages PHP</a></span>
-<br /> &#x00A0;<span class="subsectionToc">3.2 <a
-href="#x1-80003.2" id="QQ2-1-8">Paramètres de configuration</a></span>
-<br /> &#x00A0;<span class="subsectionToc">3.3 <a
-href="#x1-90003.3" id="QQ2-1-9">Initialisation de la base</a></span>
-<br /> &#x00A0;<span class="subsectionToc">3.4 <a
-href="#x1-100003.4" id="QQ2-1-10">Configuration par défaut des comptes</a></span>
-<br /> <span class="sectionToc">4 <a
-href="#x1-110004" id="QQ2-1-11">Maintenance</a></span>
-<br /> &#x00A0;<span class="subsectionToc">4.1 <a
-href="#x1-120004.1" id="QQ2-1-12">Visualisation des objets et des fichiers</a></span>
-<br /> &#x00A0;<span class="subsectionToc">4.2 <a
-href="#x1-130004.2" id="QQ2-1-13">Nettoyage de la base</a></span>
-<br /> <span class="sectionToc">5 <a
-href="#x1-140005" id="QQ2-1-14">Authentification dédiée - Personnalisation</a></span>
- </div>
-<!--l. 31--><p class="indent">
-
- <h3 class="sectionHead"><span class="titlemark">1 </span> <a
- id="x1-20001"></a>Compatibilité</h3>
-<!--l. 36--><p class="noindent">Cette application peut-être utilisée sur un serveur fonctionnant avec Apache,
-MySQL(<span
-class="cmmi-10">&#x003E;</span>=4) et PHP (<span
-class="cmmi-10">&#x003E;</span>=4).
-<!--l. 40--><p class="noindent"><span class="paragraphHead"><a
- id="x1-30001"></a><span
-class="cmbx-10">PHP</span></span>
- L&#8217;application ne nécessite pas de configuration de PHP particulière. Elle
-fonctionne quelque soit la valeur du paramètre de configuration register_globals,
-utilise les sessions via les fonctions introduites en PHP4. L&#8217;application fonctionne
-quelque soit la verbosité des affichages d&#8217;erreur et de warning PHP, car nous avons
-travaillé à éliminer tous les messages <span
-class="lasy-10">&#xFE64;&#xFE64;</span> E_NOTICE <span
-class="lasy-10">&#xFE65;&#xFE65;</span> PHP qui surviennent par
-exemple lors d&#8217;une comparaison avec une variable non-initialisée.
-<!--l. 50--><p class="indent"> Les scripts PHP n&#8217;accèdent pas en écriture au système de fichier, sauf pour
-l&#8217;upload de fichiers. Le dossier <span
-class="lasy-10">&#xFE64;&#xFE64;</span> fichiers <span
-class="lasy-10">&#xFE65;&#xFE65;</span> doit être accessible en écriture
-par les scripts PHP sans quoi la fonctionnalité d&#8217;échange de fichier serait
-inutilisable.
-<!--l. 56--><p class="noindent"><span class="paragraphHead"><a
- id="x1-40001"></a><span
-class="cmbx-10">MySQL</span></span>
- Les scripts PHP ne modifient pas structurellement la base de donnée
-MySQL, il suffit donc d&#8217;un compte permettant les instructions SELECT,
-INSERT, UPDATE, DELETE sur les tables de l&#8217;application. Pour indiquer à
-l&#8217;application quel compte MySQL utiliser, veuillez vous reporter à la section
-<a
-href="#x1-90003.3">3.3<!--tex4ht:ref: sub:Initialisation-de-la-bd --></a>.
-<!--l. 65--><p class="noindent">
- <h3 class="sectionHead"><span class="titlemark">2 </span> <a
- id="x1-50002"></a>Sécurité</h3>
-<!--l. 67--><p class="noindent">Cette application a été développée en gardant toujours à l&#8217;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&#8217;utilisateur lors des traitements des pages web sont
-traitées pour éviter des problèmes d&#8217;insertion de code dans les requetes SQL.
-L&#8217;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&#8217;authentification n&#8217;est pas protégé contre l&#8217;usurpation de mots de passe car les
-contraintes données dans le cahier des charges ne le permettent pas, dû
-moins, il n&#8217;est pas possible d&#8217;utiliser un cryptage efficace (assymétrique)
-sans modifier le système d&#8217;authentification déléguée et sans utiliser une
-configuration de serveur Web spécifique. Considérez, pour résoudre ce problème,
-l&#8217;emploi sur serveur web sécurisé (HTTPS) et l&#8217;utilisation d&#8217;une liaison entre
-le serveur web et le serveur d&#8217;authentification au travers d&#8217;un réseau de
-confiance.
-
-<!--l. 86--><p class="noindent">
- <h3 class="sectionHead"><span class="titlemark">3 </span> <a
- id="x1-60003"></a>Installation</h3>
-<!--l. 89--><p class="noindent">
- <h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a
- id="x1-70003.1"></a>Dépaquetage des pages PHP</h4>
-<!--l. 91--><p class="noindent">L&#8217;application est livrée dans une archive de type tarball compressée qui contient
-toute l&#8217;arborescence et les fichiers PHP nécessaires. Il suffit de décompresser cette
-archive en conservant l&#8217;arborescence dans un dossier publié par votre serveur Web.
-Les fichiers de configurations sont présent et contiennent des valeurs d&#8217;exemple que
-vous pourrez adapter à votre situation.
-<!--l. 101--><p class="noindent">
- <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a
- id="x1-80003.2"></a>Paramètres de configuration</h4>
-<!--l. 103--><p class="noindent">Cette application comporte deux fichiers de configuration qui sont dans le dossier
-<span
-class="lasy-10">&#xFE64;&#xFE64;</span>include <span
-class="lasy-10">&#xFE65;&#xFE65;</span>. Les fichiers existent dans la version distribuée et ont pour but de servir
-de modèle.
-<!--l. 107--><p class="indent">
- <dl class="description"><dt class="description">
-<span
-class="cmbx-10">connect.inc.php</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">ce fichier contient les coordonnées du serveur MySQL, de
- l&#8217;utilisateur SQL et de la base que l&#8217;application utilisera.
- </dd><dt class="description">
-<span
-class="cmbx-10">config.inc.php</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">ce fichier contient tout le reste de la configuration de
- l&#8217;application. 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...
- N&#8217;oubliez pas de virgule<span class="frenchb-thinspace">&nbsp;</span>! Toutes les constantes sont décrites ci-dessous.
- <!--l. 117--><p class="noindent">
- <dl class="description"><dt class="description">
- <span
-class="cmbx-10">$adminMail</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">adresse e-mail de l&#8217;administrateur. Affichée à l&#8217;utilisateur
- lorsque qu&#8217;une erreur interne à l&#8217;application s&#8217;est produite.
- </dd><dt class="description">
- <span
-class="cmbx-10">$automatedMail</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">adresse e-mail de réponse des courriels envoyés
- automatiquement par l&#8217;application.
- </dd><dt class="description">
- <span
-class="cmbx-10">AUTH</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">Paramètres d&#8217;authentification
- <!--l. 125--><p class="noindent">
- <dl class="description"><dt class="description">
- <span
-class="cmbx-10">POP</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">Paramètres pour les serveurs mail POP
- <!--l. 128--><p class="noindent">
-
- <dl class="description"><dt class="description">
- <span
-class="cmbx-10">SERVERS</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">Chaque élément de ce tableau à pour clef le nom
- de domaine du fournisseur de service de courriel ( partie
- suivant le @ dans une adresse e-mail) à pour valeur un
- tableau associatif de la forme suivante
- <!--l. 134--><p class="noindent">
- <dl class="description"><dt class="description">
- <span
-class="cmbx-10">subdomain</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">adresse complete du serveur offrant le service
- POP
- </dd><dt class="description">
- <span
-class="cmbx-10">port</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">numéro de port TCP utilisé pour se connecter au
- service POP
- </dd><dt class="description">
- <span
-class="cmbx-10">username</span><span
-class="cmbx-10">_is</span><span
-class="cmbx-10">_full</span><span
-class="cmbx-10">_mail</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">Booléen (true ou false) indicant
- si le nom d&#8217;utilisateur à utiliser pour l&#8217;authentification
- est l&#8217;adresse e-mail complète. C&#8217;est utile pour les serveurs
- POP gérant des adresses email sur plusieurs domaines
- (comme wanadoo / orange au moment où j&#8217;écris ce
- document)</dd></dl>
- </dd></dl>
- </dd><dt class="description">
- <span
-class="cmbx-10">bypass</span><span
-class="cmbx-10">_if</span><span
-class="cmbx-10">_local</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">Booléen indiquant si l&#8217;authentification doit
- être outrepassée si la connexion s&#8217;effectue depuis le serveur
- lui-même.</dd></dl>
- </dd><dt class="description">
- <span
-class="cmbx-10">CSS</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">Paramètres des styles de pages
- <!--l. 151--><p class="noindent">
- <dl class="description"><dt class="description">
- <span
-class="cmbx-10">CHOOSER</span><span
-class="cmbx-10">_LIST</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">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.</dd></dl>
- </dd><dt class="description">
- <span
-class="cmbx-10">MAIL</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">&#x00A0;
- <!--l. 159--><p class="noindent">
- <dl class="description"><dt class="description">
- <span
-class="cmbx-10">TEMPLATES</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">Ce tableau contient des tableaux associatifs dont
- les clefs seront utilisées dans les passages de paramètres HTML,
- et contiennent des sous-tableaux de la forme suivante<span class="frenchb-nbsp">&nbsp;</span>:
- <!--l. 164--><p class="noindent">
- <dl class="description"><dt class="description">
- <span
-class="cmbx-10">caption</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">Intitulé qui sera affiché à l&#8217;utilisateur
-
- </dd><dt class="description">
- <span
-class="cmbx-10">tpl</span><span
-class="cmbx-10">_file</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">Nom du fichier (avec l&#8217;extension PHP) contenant le
- modèle.</dd></dl>
- </dd></dl>
- </dd><dt class="description">
- <span
-class="cmbx-10">SUPERUSERS</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">Ce tableau contient la liste des login des super-utilisateurs
- (ceux qui ont le droit de supprimer des réunions)
- </dd><dt class="description">
- <span
-class="cmbx-10">UPLOAD</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">Paramètres concernant l&#8217;attachement de fichiers aux
- réunions
- <!--l. 175--><p class="noindent">
- <dl class="description"><dt class="description">
- <span
-class="cmbx-10">accepted</span><span
-class="cmbx-10">_files</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmbx-10">:</span> </dt><dd
-class="description">Tableau des extensions qui sont autorisées.</dd></dl>
- </dd></dl>
- </dd></dl>
-<!--l. 181--><p class="noindent">
- <h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a
- id="x1-90003.3"></a>Initialisation de la base</h4>
-<!--l. 183--><p class="noindent">Tout les fichiers nécessaires sont rangés dans le dossier <span
-class="lasy-10">&#xFE64;&#xFE64;</span> install <span
-class="lasy-10">&#xFE65;&#xFE65;</span>. Vous utiliserez
-principalement le fichier <span
-class="lasy-10">&#xFE64;&#xFE64;</span> RAZBase.php <span
-class="lasy-10">&#xFE65;&#xFE65;</span>. 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&#8217;insérer un jeu d&#8217;essai pour tester l&#8217;application sur votre serveur. Si
-vous ne souhaitez pas utiliser de compte SQL ayant le droit d&#8217;altérer la structure
-des tables de votre base avec ce script php, vous pouvez exécuter le script
-<span
-class="lasy-10">&#xFE64;&#xFE64;</span> base.sql <span
-class="lasy-10">&#xFE65;&#xFE65;</span> avec votre client SQL favori. Le jeu d&#8217;essai se trouve dans le fichier
-<span
-class="lasy-10">&#xFE64;&#xFE64;</span> jeu_essai.sql <span
-class="lasy-10">&#xFE65;&#xFE65;</span>.
-<!--l. 194--><p class="noindent">
- <h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a
- id="x1-100003.4"></a>Configuration par défaut des comptes</h4>
-<!--l. 196--><p class="noindent">Dans le fichier de configuration modèle, un super-utilisateur est configuré<span class="frenchb-nbsp">&nbsp;</span>:
-inglebert@iut-blagnac.fr et le jeu d&#8217;essai proposé au paragraphe précédent permet de
-créer des utilisateurs, et en particulier inglebert@iut-blagnac.fr.
-<!--l. 201--><p class="indent"> Par défaut, vous pourrez donc vous connecter en tant qu&#8217;administrateur avec ce
-compte. Le jeu d&#8217;essai met ce compte avec comme mode d&#8217;authentification <span
-class="lasy-10">&#xFE64;&#xFE64;</span> bypass <span
-class="lasy-10">&#xFE65;&#xFE65;</span>,
-ce qui signifie qu&#8217;aucun mot de passe est nécessaire. Pour utiliser un vrai système
-d&#8217;authentification, connectez-vous avec ce compte et allez dans la page <span
-class="lasy-10">&#xFE64;&#xFE64;</span> Mon Profil <span
-class="lasy-10">&#xFE65;&#xFE65;</span>
-pour choisir une autre mode d&#8217;authentification.
-<!--l. 209--><p class="noindent">
- <h3 class="sectionHead"><span class="titlemark">4 </span> <a
- id="x1-110004"></a>Maintenance</h3>
-
-<!--l. 212--><p class="noindent">
- <h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a
- id="x1-120004.1"></a>Visualisation des objets et des fichiers</h4>
-<!--l. 214--><p class="noindent">Une page d&#8217;administration est prévue à cet effet, et elle n&#8217;est accessible que par un
-<span
-class="lasy-10">&#xFE64;&#xFE64;</span> super-utilisateur <span
-class="lasy-10">&#xFE65;&#xFE65;</span>, c&#8217;est à dire un utilisateur consigné dans le fichier de
-configuration principal en tant que tel, confère <a
-href="#x1-80003.2">3.2<!--tex4ht:ref: sub:Configuration --></a>.
-<!--l. 220--><p class="noindent">
- <h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a
- id="x1-130004.2"></a>Nettoyage de la base</h4>
-<!--l. 222--><p class="noindent">À partir de la page d&#8217;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&#8217;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&#8217;utiliser cet outil car l&#8217;erreur de manipulation ou de
-programmation est toujours possible...
-<!--l. 231--><p class="noindent">
- <h3 class="sectionHead"><span class="titlemark">5 </span> <a
- id="x1-140005"></a>Authentification dédiée - Personnalisation</h3>
-<!--l. 233--><p class="noindent">AWOR utilise un système d&#8217;authentification dédiée de sorte qu&#8217;aucun mot de passe
-ne soit stocké, et que l&#8217;utilisateur n&#8217;ait pas besoin d&#8217;en retenir un nouveau.
-Le code d&#8217;authentification à été écrit de manière à être maléable et est
-extensible. Le coeur du système d&#8217;authentification se trouve dans le fichier
-<span
-class="lasy-10">&#xFE64;&#xFE64;</span>auth_dialog.php <span
-class="lasy-10">&#xFE65;&#xFE65;</span>. Vous y trouverez une section commençant par le commentaire
-ci-dessous.
-<!--l. 241--><p class="noindent">
- <dl class="list1"><dt class="list">
- </dt><dd
-class="list">
- <span
-class="cmtt-10">/***************************************************</span>
- <!--l. 244--><p class="noindent"><span
-class="cmtt-10">**</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">Ajouter</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">d&#8217;autres</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">mode</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">d&#8217;authentification</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">ici</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">!</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">**</span>
- <!--l. 246--><p class="noindent"><span
-class="cmtt-10">***************************************************/</span></dd></dl>
-<!--l. 249--><p class="noindent">Comme l&#8217;indique ce commentaire, vous pourrez ajouter à cet endroit une portion
-de code pour utiliser un autre service d&#8217;authentification. La syntaxe est la
-suivante<span class="frenchb-nbsp">&nbsp;</span>:
-<!--l. 253--><p class="noindent">
- <dl class="list1"><dt class="list">
- </dt><dd
-class="list">
- <span
-class="cmtt-10">case</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">&#8217;&#x003C;nom</span><span
-class="cmtt-10">_auth&#x003E;&#8217;</span><span class="frenchb-nbsp">&nbsp;</span><span
-class="cmtt-10">:</span>
- <!--l. 256--><p class="noindent"><span
-class="cmtt-10">/*</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">Eventuellement</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">du</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">code</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">pr</span><span
-class="cmtt-10">él</span><span
-class="cmtt-10">éminaire</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">*/</span>
- <!--l. 259--><p class="noindent"><span
-class="cmtt-10">$auth</span><span
-class="cmtt-10">_is</span><span
-class="cmtt-10">_ok=&#x003C;fonction</span><span
-class="cmtt-10">_ou</span><span
-class="cmtt-10">_variable</span><span
-class="cmtt-10">_authentification&#x003E;;</span>
- <!--l. 261--><p class="noindent"><span
-class="cmtt-10">if</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">(</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">!</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">$auth</span><span
-class="cmtt-10">_is</span><span
-class="cmtt-10">_ok</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">)</span>
-
- <!--l. 263--><p class="noindent"><span
-class="cmsy-10">{</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">//</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">On</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">ex</span><span
-class="cmtt-10">écute</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">la</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">ligne</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">ci-dessous</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">que</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">si</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">l&#8217;authentificaiton</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">à</span><span
-class="cmtt-10">&#x00A0;</span><span
-class="cmtt-10">échou</span><span
-class="cmtt-10">ée</span>
- <!--l. 265--><p class="noindent"><span
-class="cmtt-10">$errmsg=&#x003C;fonction</span><span
-class="cmtt-10">_ou</span><span
-class="cmtt-10">_chaine</span><span
-class="cmtt-10">_explicant</span><span
-class="cmtt-10">_l</span><span
-class="cmtt-10">_erreur</span><span
-class="cmtt-10">_d</span><span
-class="cmtt-10">_authentification&#x003E;;</span>
- <!--l. 267--><p class="noindent"><span
-class="cmsy-10">}</span>
- <!--l. 269--><p class="noindent"><span
-class="cmtt-10">break;</span></dd></dl>
-<!--l. 271--><p class="noindent">Il vous suffit de remplacer les éléments entre chevrons dans le code ci-dessus et de le
-coller dans <span
-class="lasy-10">&#xFE64;&#xFE64;</span>auth_dialog.inc.php<span
-class="lasy-10">&#xFE65;&#xFE65;</span> pour pouvoir utiliser un nouveau mode
-d&#8217;authentification. Reste à donner à l&#8217;utilisateur la capacité de l&#8217;utiliser. Vous
-devrez encore, d&#8217;une part, ajouter dans la base de données le <span
-class="cmmi-10">&#x003C;</span>nom_auth<span
-class="cmmi-10">&#x003E; </span>à
-l&#8217;énumération du champ <span
-class="lasy-10">&#xFE64;&#xFE64;</span>methodeAuth<span
-class="lasy-10">&#xFE65;&#xFE65;</span> de la table <span
-class="lasy-10">&#xFE64;&#xFE64;</span>Personne<span
-class="lasy-10">&#xFE65;&#xFE65;</span>, et d&#8217;autre part
-proposer à l&#8217;utilisateur d&#8217;utiliser ce mode d&#8217;authentification en modifiant la page
-<span
-class="lasy-10">&#xFE64;&#xFE64;</span>profil.php<span
-class="lasy-10">&#xFE65;&#xFE65;</span>.
-
-</body></html>
-
-
-
diff --git a/beta_accents/doc/READ_ME.lyx b/beta_accents/doc/READ_ME.lyx
deleted file mode 100644
index 9c5e090..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 mode d'authentification.
-\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/doc/READ_ME.pdf b/beta_accents/doc/READ_ME.pdf
deleted file mode 100644
index 7948fe2..0000000
--- a/beta_accents/doc/READ_ME.pdf
+++ /dev/null
Binary files differ
diff --git a/beta_accents/doc/READ_ME.ps b/beta_accents/doc/READ_ME.ps
deleted file mode 100644
index 9c293fc..0000000
--- a/beta_accents/doc/READ_ME.ps
+++ /dev/null
@@ -1,2436 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software
-%%Title: READ_ME.dvi
-%%Pages: 5
-%%PageOrder: Ascend
-%%BoundingBox: 0 0 612 792
-%%DocumentFonts: CMR17 CMR12 CMBX12 CMBX10 CMR10 CMMI10 LASY10 CMTT10
-%%+ CMSY10
-%%DocumentPaperSizes: Letter
-%%EndComments
-%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: dvips -t letter -o READ_ME.ps READ_ME.dvi
-%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2007.03.13:1229
-%%BeginProcSet: tex.pro 0 0
-%!
-/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
-N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
-mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
-0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
-landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
-mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
-matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
-exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
-statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
-N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
-/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
-/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
-array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
-df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
-definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
-}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
-B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
-/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
-setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
-restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
-/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
-}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
-bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
-mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
-SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
-userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
-1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
-index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
-/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
-/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
-(LaserWriter 16/600)]{A length product length le{A length product exch 0
-exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
-end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
-grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
-imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
-exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
-fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
-delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
-B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
-p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
-rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
-
-%%EndProcSet
-%%BeginProcSet: texps.pro 0 0
-%!
-TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
-index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
-exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
-ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
-pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
-div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
-/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
-definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
-sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
-mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
-exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
-forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
-end
-
-%%EndProcSet
-%%BeginFont: CMSY10
-%!PS-AdobeFont-1.1: CMSY10 1.0
-%%CreationDate: 1991 Aug 15 07:20:57
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMSY10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.035 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMSY10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 102 /braceleft put
-dup 103 /braceright put
-readonly def
-/FontBBox{-29 -960 1116 775}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
-7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
-A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
-E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
-221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
-27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
-5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
-0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
-DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
-71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
-4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
-515DB70A8D4F6146FE068DC1E5DE8BC57036431151EC603C8BCFE359BBD953AD
-5F3D998C69E42AA96AA212AD55B676FA2B4F6B519575404233C09AF99014AB95
-767523D9E1F8806E766AC0DD6D81028C3AA9C7536D88D3C2DB6D9949F844935E
-420963F40430452DEAAC1F500BFB1C2473C54B9987BE449F042633C7038D5AEB
-7E1E11C50911EBCF0979F8192E056A2B2EE9785EB73B1AB874116AD5AA74F32C
-BF57FC28FFED335DFD9261AC7A624EAA93BEBC2C0F8B3F898DDA1490D59C6C4B
-A651746C8EAD41BDAA1AF4056AFE98D2D3AE3CCEB9C67FE3A63385470EA42968
-34268684A674675AB9EDBB5BFCA81224B22D4ECF40D1F31A39481AC68A87F252
-F4E7C1C340A26E0D514BACCAA51898758A7E7B63D2E7F34E91554151433F0FD2
-4901D3DE9A5FB9306552DC57EAB729AA07780927E1ECCB5D1F59A09A1E3FFF2D
-922B6C9B58CB20D687A72B9C22D4EC926771541EDA3B75559510DB21BA4461EA
-960B8E5AF4D31D08E8F235D677A9F6EFDB01926967743942C23955678E438F51
-E5E22E2FA2AA7894755053C32B39277B82C00B3D9BE9957CF3ED626852FFFC31
-6E5F0F7489198136A3284B31CC94299EED05B8FA66B8D33F7C47367790D23CD5
-303B0C8E58B0E51BEA9325282F19A3D361A3BEA6BB0CCD09BE735D810E7E0A79
-D1A9C580CFC8CF9FF685D63ECDCCC024C235448BA632F00C3C5BC0E86F44B90A
-293817CC93035E5E18548A7E157C2887309BF84C167D8DBED024BB
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMTT10
-%!PS-AdobeFont-1.1: CMTT10 1.00B
-%%CreationDate: 1992 Apr 26 10:42:42
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMTT10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch true def
-end readonly def
-/FontName /CMTT10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 18 /grave put
-dup 19 /acute put
-dup 33 /exclam put
-dup 36 /dollar put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 42 /asterisk put
-dup 45 /hyphen put
-dup 47 /slash put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 60 /less put
-dup 61 /equal put
-dup 62 /greater put
-dup 65 /A put
-dup 69 /E put
-dup 79 /O put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 120 /x put
-readonly def
-/FontBBox{-4 -235 731 800}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
-38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
-D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
-EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
-A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
-F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
-4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
-6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
-A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
-E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
-1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
-452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
-8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
-5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
-DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
-BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19
-741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79
-E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712
-E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7
-D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE
-C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DA
-726405EFE420635B5B7F0B48752C06083E92BDE06401C42A2C528C8A60381227
-CEBEF0C9440DC034DAD9C19FB27A350233112B0A339366B7373CE058456E0E1F
-139E2DCAA12133B5B6017B0E08E776403F967AF719E0161CDFBF8BBE8490F57E
-53C78E97517EF7FB7C00035D601CAC8F4EB2F16F8765614227C71C390C32E960
-FC7E9B9BF26D89F808B05C2E483B9171450E4CF3A86E62886E826B1E34FEC34A
-90D3FAC2AF1FB275E094E8D7193F90BC0CB304DF4D689A954C9449169527C39D
-9CB9096FC455C5D6142157E548E04DDDE0638C24641FF3EE31B1E35E1A76EA79
-F0DBFAC9967E6C649559B6CA9944962E09541FBB7A00956D1ACA7D8C2355A2C6
-12CA44A7392D8E791DDE1DE818BBF26CE3BCC2568666FCF40BD9C588E28745D4
-49186EDEF6D270E5D8C9BF95B4C1213841128AF3361EE4B989D3A784F916A2D7
-D31A9F2F0C3E4F367427BF3F0C4F36E9276D082BF8C250E469D647AB51DD7701
-4C29231FEB055C147F0A782389800E3ED38D7AE8C6555228CD148541D763D325
-21016A8A5234A8AC19BFD6E3346A94D8A7479DBC59B5796D3063FCC2CE8DBCC9
-1E4139036B4E883A4CBFC0DA2F3BCAAF8BF4DA641882E8CF028D9F9271257FD3
-0872AA684B19CF706474B4F86EE510BEF0164F8504578A9FAE4339270B8C5D81
-496424BE58438D5ECE95BD18973CC66F471E7CA58039ADB2FDEE9329CC788A19
-E852B137500A6F32DEF2742E6C2B182FE2777150BABCF8A2C21FC1FEEC3765EA
-8E337F9BDEC3FBD5D4D7857FA703F282EDA0DC7A22E2E44E131DB5D9954B7603
-E2934111D6B57CFA826DB114947DFA87EDCC6CCB33146C2742E7DF664A3BCDA5
-3335EDF6A6C7290939BA0D9937F1D6FA47522D0DCA42AFC7E0EEFDE9B914D5B4
-8039D2C3F063EAAAE10516DDF3DBF97B5F87EE9EA959AC738AB6CDEA63DA8862
-7F7EA32222690E7EDC6F4B3391E834977D476B19D9C14D92420122A733E735A5
-EDED2F02D5A7F3347CB289CA2A440945544A7677C4BD7DA3000FDEA64A4A6E85
-4C1C6C4D16A91AFAB0B84A485CDFC5EDEB03E8E93218694C5426650444AC9972
-98634CB73BF34252A72F838CFABD9F667EB050C113EB222A745B878098AD2C48
-7C6F0817AD96EDA15FB9061832CD91B4270098246BA8D5ADDA339A49DF0292AB
-6F7FE225D100F67F3DB412F4D95D464E27AEDB8B76FC8A0930E649E3EE380FC7
-6ECC654D9E901DD295F0A23A3CE88018A2ABA18977775D14695AC02F91E46549
-036939DCE6CFC8BB47CB297D9FF205F900A06DC9F65D2851C66443BE520954B9
-1C98471D8D7746AAFEB2A662A79DB89AC3B2DB327183ED0D4D52CEC819A49BB4
-7E7D4D8B871F85AD43A0441CA8EE86C209F3256BCBF4C4DDF209EFD7E70245FA
-E072B99F1F20D4D504AEAB512F477C9B998C466E01238F9E87B3FCC90CE1A90D
-4B1A422BA0C0293FD9F58DD4F18ACEA7029B88EB55A2FED83DEAE9F573E9FFCF
-05102DC9BD02E9F6D150F3E9D1DFBB8962048508B859CD190DA15732F8D210B1
-7665EED21506DBABBD0E2745D84542555C9FF9ECC3A8043E7EABD1ED5AC7B499
-CEFEDC3164C2C92F5D88C67C6545E9482E70E1DC2C32117ABF99FA7726A43956
-6414DA5B78F70D7A26A8937CB80A705C8048DB26F0CEBD5CCCEA416F19699DF4
-6443C056290A555F50D9BA984B4DA2A19B2BA12E39CAA1EB432E4DD6D2AB907B
-3F20B8A3D0FFDFF3258A7AF82A927CD4D54C2F56C1A2DE4C38F1ED186B7F0578
-33B918CB01EE5A839042AB0F740455F1E4DB53A21822CA65333855109335204B
-32B6C05D5BE9D260F4AC010996C7CD7C0FD3E5EEA9A66493ABC66E74CD096FED
-0175311C18C6F3B577E3C58BFB9A09FEF317B94AC7A1226DD67E2A3A3552CAFC
-4314CC03CF0B48320EDF3906F21621B2D7BEE3698299B70EE202F944CE2A903F
-6410E7C05A79809B5C875AAEC9A4205DDFC737B3241CD6FBA5327CBF30007B57
-4BFC1497DA3FDD05D8101438ED5BD186D5D8DABEFEA21EB2F25DCB60E2DA4BD3
-6E782FEECF9B0EBCB42E50FF504E8A40C0BE7C6A43DD5BFF2305518944270A32
-34C2D562F9B1A2ACF8C05E3FE0418FDDB10776C8F96B6DA2B554A966C76847D7
-194CF2085C9D9B729CF9DB043259B64A98F96ACDD926E7A27BD6C0A851B0FC76
-26B7C8BAB18706BBBBEEEEAD8B1475B1011A402EFACFA98B097B26A733529730
-FC03A63DB45273DF559D98450186FC0DE013CCAB58E0BF9B23858BC144AF4AAF
-584657853F1893F49595536AE79FE8576BFE7320100B1B84E4448B0399C4726F
-2783F9DAD23DFD164C8161702A2935C2588CF573F340DFD3DBE1E9B0D813AB8A
-C3B13323271662029F9CCD1FB0C45EF425FD4D993A79874B70E579EC97967FC3
-702A9C2F35B4429B48209F97693806A4D959E7831950E43972E39B38FF86AC27
-10822BAC05F1AE05177DB365E1AB065E26FA661FD8207A8FFA1813532E7EC30B
-D4E53E9A9ABD40680B88AFAF53FC0571E6AE27BC40A0F76388E5D0229E2E1595
-B503B126B7EEDCC999ECD51714D62F551A0B96EDAF1E79CC134782DB35684CAF
-6B740C64F3BD1C89C5AAB48948F52B2FFBC9B1DA9CF690795AB1A3BD7833E4C6
-C0D4086BCD203525410C86C67092B374C9C470E7945A283A16C13CEE9082F647
-3E2DFFFBAB9838FAAAAF0587D48409EB39FC15E666249FFE4A7F800FAE1F4283
-BFB8D88E617E66DB9EB13EA2D41D0BF78158FEB44337804CCB239322ADC61B91
-9419AEC7F3F21374969D91EF2B1A4B13E8588B4987D5C7969C53D292E11C2570
-7B0F5B31E54EA40288EEB3DCA236D122C5D18E8805091C8B443E7DA62C87BD16
-CB4701563393DD13E0C0E7D18B1B37A39837FE150D1A7EDFD2143C33B0EC4428
-2B80952D456CE5183432181468099E9C0B3445AFB24DE79A664BDA3F16B1EE4D
-D1DA546437D8569BD9EA0B561A0E7742A4055B8F921F02CE9A8DBB5442A9997D
-85626AC2847CBCC69FEE0FE0C50CD0063856A60581C78A9C06347A0F2DC39496
-81AD75A6B5E26D74EE09EE581063774F1831C26DDAF910BCAEC550975C0A7AEA
-F9954F1881DB9C496D2197ACAE6A8069ABC257C846BDEEB1D15943FC436B2DEB
-11A1D0982DBE0CFCBAB99F52FE5089AAF2D8E16D43D6D1023D4ED077B8C95BCD
-09C050584B5F1E65473083CD46C10294187FC277D8F655CE5586D6CBD8C2C145
-1F8DC42A4FBF99379C8FB8D8B5BF501BA6C77C4F7983C3F7F7AD4BB5CEB681D7
-A66EF51E3D222DD88437C16EA4CFD8B31C0644E36F0C968C76A7F2FF3C0462E9
-9497A8D6000A16BCD597E3000E9F85E10F0032708DA7B50FCC53D89BEDFDC56B
-7923D6130CF9DB95EF5CB83D01C07EE9B4A5EC5FEC0174DCAA262951747B6669
-D56F651E980237B5C7C558DC0807C3946DC1AA63F0630D5EFB998EDBEAED3900
-5FE4DE1A2AF923B42114D546F936387326B04626B0CD44A0DBFB8B083ED63200
-63AAA6B24E828A62F0E8CC307D1EFB42E738357138AFB63E60752E1ABE891828
-B55B19DC32FFFDA3C41DF9F05DF9239AAAB9F196BA68A763082440804C7B3AB8
-FABCD82C9F552F1AF2CFBFFA1585389CE5A2A5E984CE02F92A91869A5ED0E039
-5B3F9D7E1FC7A070FCC41F92031F5107470AA90D7B535221A748597CC188DFA7
-DA68616806D95752FB176FA137E23517467EAFCAD8FDE4E3733D64E6D9758DAD
-6217A2A3C08DA70DC64383B56260575183A08772A7B5657501ACDE1118C5BF44
-9CEEA3D86F0FD2B43EFA5B8F1F58F99168683B393A3F9E84EDAF1D4E92398812
-1A0D12AE549B3557D0150CD0ADC04DA4C5B2D40E7C64C36A26896D6B8401B48F
-779C3FB593C2A9A983B533A7C99C9E43BAFA1FC9AF5E65516D2DA32924D352E3
-8371D19559A6FF8C311332C473BE41E55113C711C6AEEFAC9AE3A7CF0011F531
-61C693860994A44793336AA158634D9D756B0F98FC5D3E6826C71F2A1C4E1175
-EFD1047D682263F253E64B0E6119C09CD02016FFE5D7D950C26829B6F41B8798
-37A467DBC484991D9B523BA441E405C395E5187B6264D74FE2E3E82910BE26E1
-5EAC9874C77B5EE2D354270ED47A774CA5674E18F25F4BE6755B7430DD7F39DA
-F96CB74DE9C91B00DCAB75876D4586721AAB696EE3290D9F05F39A01695B07E1
-7DBDBD379B9225C291549E5D3C4A3D95B1ED277AF176890E32B2DA66A4DEB9E3
-1DA246BC679C12E6E2ACA3404A185C10F21721E71D84601302776E36F444ECBD
-BDE861941397E6ECCAC4EBE71CC0005266E40AF949FC001CE132B71789E0F037
-FF3B56690BA309F623DEA80351B1E5800D809790EE7C96DE82F264BBE9AEA406
-577009EB689F8F9EC15641629C107D8986323703567B547110A99DAF7F16C623
-4F3029BC7E504B4C37B646F9C49CDDCF2DAAADB748686BD9F6D0B2EDAB2051F4
-DA20EB487266D9C55F9F5767EA899C0BCED7720BAE6362A7AD81F5D45F6A709D
-3A27E50491A46CE17E585FBF9EFC2A27FFB50F00E4B05138C7D4F45A40B39E7C
-2ABB5DC0DDEE77E4BDA3901A67BB93C52241384FCE35EC11F67D6C8677C9F889
-F0FC365893A10E11CEE5CA0155064D8D2E98699961D9B26BE86D4B9A5E2786C1
-3CF260A03857687EA6FBC83DEEF840ABCE7ADBDC897CE6B06F6DE55BF3B8AB6D
-777293FEFC61C6DAD78894C873E162A5510A036FFFD9A10977CD627AC3EA4715
-F25A263E6331EEB9BE68DF97C946840841EF83204D9D313202C4ACA7BAF94050
-3B420EBBE797566277CFD3A7FA1AC6CF81FC24E6F336913F4A183B93BEB308A8
-4AE0CEE98B45B2C2683CC06374113AC12F79F98BD19D67F78E2EA586B518FCC1
-4C8B5ED575DD4631BCEAADABE1E9742A364C0D149AF83FD9AEB49EE0E12B08E2
-C4FC73A08F572AA40B58B5B44151974DAFB1FAA29B4D74038519590ABC83B0A8
-A22BD5BD843FB4310EB1E6552B45A5C64F2046DC330559996E77FEF47B4F2062
-3DA41A9E030757F4957BE97725F1DB6FBD15F144F5EFE357FB74BF758AC56A58
-F0F76D03C776F4CB58D7F549F11374DB4E2DF6A8DCF76F0EB394EB110A0477BC
-65CEDE077AE2D013A8E46CC2E4F0BBBDE546801E24FD5B9A6A4935F4799DD803
-13FAB011EDBD4431C31C86C4D26C0E729A067C2DEC602A5D884F43BD62EBF59C
-F552152162E45D18414D77DB32069C5B3EA64F465D6516335F3D243235FA3524
-E88FA64170BAE32117A35A9C7629DB90066A13160727FCC45C0BC95145AD8913
-075D28ACA02AFBD18B1A659C1DC229D0A6196A308DF639A002EC3A2962B4DCF1
-E9766188B7FA2448F7E3851F896CCE35E5D8644BB33D6F7AA17B3D2E03E2BAC7
-98B122F7370B1322D0A0CA0213CD918EC84EA6FA5BD45EA3B0E1C8EC168D6AA9
-6F6D664531CC8960DB40327B224F12C487FDC6A1E7211D90612B36E02FB7BE85
-36480D2293549DCFD64BEA4DAF4E1281E4FBD4C006C5200BB489246A7EE375B2
-A10826BF9CB311EE708421044375DB5F2165E4E07601BF25A1BD569C31A44CE6
-7E92A0E99939283BD2205B28808FE42C97DDD2C5B6ECD0ABFC114A3244B06213
-21399570C91AD742C71818F58AEF56EC10F0ACC62A20B1F4B9EB01571548218A
-CA7D6F9AD9B97D5D03883B8E1194C5BCAA032BBDA9E71572C157D65AEFE2EAF6
-492E40826F692D743DDC26120F0AA543E72E5BB697EE138CABC3295CB819C08B
-91F4CC16F5D3FEB1E839682CE56588BFFD94869EF54E061340B5E72257C4901D
-BF10C71313A1B9CBC7F7B01C746E9E26E670CC7EC077ECE404425EADC54BCC2A
-5854CEDD7563502EC2FE222F66BA55070448D829E3ABBCD360036C0B615E36DA
-25911D22FEB2BF2C7D948AD56BF70822D30E4A4B1DEDCD6B531D195D6C7BBE0B
-201EC0D8B0D68CA66A79C6968BE0879183BC145413A31466957A467B898778AE
-DB9D8A1DE94A5D3FD3DCDA47E121F82F84BEA873A053AA9FAC7D9433C14BBDAB
-FDDF6B0A4C73259C8CD62527511025A0B09F14B9CBC0F61A2231A002F8A6B63F
-4BB27CC0E6B9CEBDB49561C8BFC5CFEABD91C3BFBA8BF3C0850668A6C55414FD
-E3C4D537DE8DEB01A71592FC464ED5C8F43161AFA5020345C1624580F54DFED8
-00F8BD0C0BD0D33D3EAAD0896415FB3F11B6B79FA68DAA3A7C4CED48F322292C
-F56F1D21FB55A1ED75AC0CE49334CC8476E08E2A7C3A44F09CB8F78ECA27C5FC
-8DE7AFDA8EA8CD255CB0A72130797AC2EF0F0EF4BB9EA369CD72C068EDD01480
-8D8D0B6292FEA04E936758B4852F58FCADD8F9577D77CDCC7DCD3C9F0FF70EAE
-E676F83CFC7E5124D4A3DC3A081A5AA9AE33A2B13B416E5E032719A388955CFC
-2A9BF6F6D8CAF1D17A86E0041ECF792C4AA3D7CC7A962632D7B4C922BD792BE8
-14C684F6ED9948D2E4291036E2C8A413968B23287A0420D9E141952401E4D1D4
-1CDFFBEB8A5FAEDF20F77FC0BCBFBC94AE4CE330E93EF85E70449F662A4C9C93
-415406EA2619735DDFD879E27F9F90A0950B5508F333C7137DB094F9C3E2A648
-AC37B7849B07DCA55D5FF6FB36481FC33D7568469542DECE246F3D48C812BD27
-4910E2B22CADC88C4137A9EE44CAC9ABE9BAD8C73B3C6FCE1D91C6D4AAC76057
-076A88787D0025778E825B17D74D11C8FFEDFFDABB17E2825EC0FB52BDC32F05
-78E1C412CAB1C4D808C5B49D121E5B63914EE3766C2DDB8093EF9DD5269642CD
-E5EE962EE1636E905E62D4D538B595849D14E9EDC126029E2130FC68F1A9EBF2
-F48AC67C7125770DB92090A1E41BC52F6EE7AABD4750767E392C6BA0D751FE90
-AD495954AC54FC1FF8A10F1554DC479404264922F0364071118A9FD48B261653
-65B441634D4CACBC1BCCBD456F9C581EE3437C57039DD63E073E0D2167501081
-485856B43837F64A06A9FB01716D2A175F87E084957416CA9AF22F5B203BFC99
-AAE8C49988502160C91B026E2CD029A8F4B22328FAE0D7D31B11523FC275E7D6
-7DD48755D43734110A4EFFC4423545022E59FE75186D4A7164377C6454F8AA41
-23D5B97851E6FC0921AB5DA9B5F8B2C5835C2B6BCD8A0D02A020D7CCA97FE4C2
-E6DD5823BB7E113D31A8DD39E0BD931C56FB6DD818404B7B65B6056FF4D9754B
-5F70C9A2C6FF8AF493C037DCFEF55E8952E50E2617D9A49C9E7AC63F944C9517
-62A46F6BB0964E04C361A567B8ACBF9CFC369A7080A009EE679C25613953BEDB
-F96973E3A1DD1497C6E376E1029F3FE570E42F977C36C94F5FD338F243C66D22
-F2AF9FAFBB04047A789EC6043C2EB96C21450B11D25A59EDE8825F10AFB2ED99
-55FB7FC704D7B19B43329EE34919221EBB323A3F7AA7EFA10AB170F84BA486A5
-B14A49211F5D83510E318CA55344C80749364D0C523C8B65DE96C6CD673C3D79
-47F428C0C783810BB54CDDC6A4409CC57C9B627E4AF6B44EE83E516AF8FC51DA
-370D4FB0A41B35E868862A183B20114A8D8B577A4E1C274E4CD44875403AB236
-9AA6BBAAC8165DE9EF789151A96E8EADF67AC76E073F9E6BFECCA0BF75A4EDD6
-17D553C3AABCB5C5764405AD3C94D8A54517313C35624CAF96E813947DD0B1E3
-6B76D7F2D089940304D378255DACF0F0CEE0446C7158BCBA554B3B105B3A80E4
-DFDD9A41DA6D6BC69A6BAE21C37C4B25FD255DAB45BA1D5512FAB359C6459E1C
-665A7BF9E073977A0918339C1F8AC3C30D4D74EC97C66DADC47C9012C3781609
-F850CD086B04A1DDD9AA28AED8122A02C24823234FD31F396A192D221E3D378C
-E44B2200B24CEBD1682E9C26D45A9323A37E48EFF65424B85846D64D563A2AD9
-E63292B1485F5ABAE4ADBF54EA065C5048441FF0A0CBB10D480936D364CC5654
-BFFECF0C2A38489557A84C5667C5DCAD5A4E3B85F3AC770D81103ABC1965F3F5
-C9C887FB3D7FEBECF64315D2EC133B7469263ED10BFB9B4950E3AED113DC74EB
-9F381FAD3560B5BFA876AFB34E9BFEE12949063943EEA5F65A4AF4749B0E15E7
-010CAA9C7C6CA9EC2E33D2569D7F62B1FB528C5B5BE1CC6BCF217FA4E1006A0C
-ABE037E82F10FA4734FCF14FB4E03FC40CB23CB5F0A0E9654B10A54A131ABD54
-F610C986E1D94AB28BED44BB9ECCE0AE22EE9380B07B01E785A5292EAF8FFD39
-622A7A8EAB9236422239A0BA57ED81D4E2072A299A8D7CB76848606C90B9C06C
-4E5E54E967A77E2EC1E3694370311320FBBA2B2B9379F3021D5A99EF9A7C419C
-2AADE194C437EDB906B2205F0A412103DC40FBF93579E699A67BDA18858C35A3
-72F73E90D030C6456B59C339069F144783EFCFAB14E7159A8ECB9B0C80999B5B
-32E6F3D330DA167BA5DC3558012C0A32521904EA86E0503773D1DC35D512E77F
-E96C604769A529E4F66CF17B3612A687BEFA09347A37A4B595FCBD63187138C5
-FAE7BA4EFD0F605652D6658D699049DD525D682721775FEE095C45F52E0193B2
-F5DFF39F9F1CED442CE7D351FE3DBEF0019F65343EEBCFC149CC82030D45DB3E
-9FB5F426A5DCCCAF9AB592D7A5A793F99E259E3220A58F9C901E103D7CD721C7
-8333F4519F3926D9056ECDB3E84C6870447ABC0A2BF1A32A5CEEEB042C7553B7
-90A130CE5EE0289EDBBAC28B8F11D3481815AC6EAC746F45F7D72A262448DDFC
-F1F4B5206D5C331AD195E7BA74036C74C5B84576603E380AEC07062FE1063C59
-3942E6D9F19C93F90B1DFA3EE57E4D5D527995EFA611D32EE1E483B81056D3B9
-30F1D2DF8AD13A88431539774BA5B148E4EFBB9F2113C54E2831ABD036663D0B
-6B75B19BB681CEA9C64DF48805EB4AE8D8CF7D102BFABD9D99BA8574FB1000A2
-586F547090315593FC6F3B2775770DBB7882425AC88A106B9B04832A215FD0F8
-874F46559EE9834EEE8CF349C7A2720E27E52C56DFAA696EB697B5C0D105DCF2
-CCA41D62200CEAA609E9412A57E84C43AD67D30CC5AE207552B3A5173A90E50D
-9C7B16886BF6C07B49451530665C8684A9684D17FC0D6434DB503BD770FCFBC8
-06B8AF060E05C9111375699E6D898C00BFC9AE0DE977F13A23763CC5814A1ECB
-9CA65D863E26885FE22EBFC256918090E0D8EB3267B8DDD9F03F1469E97A0DE6
-9A6A296137DBE9E3BA094A4372AA30EE525BA638DB2DE2BC600175CD87B3421C
-2B60FF41FB2D3CCBEB7C1D12D7A618C2781155DE1407F5F5
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMBX12
-%!PS-AdobeFont-1.1: CMBX12 1.0
-%%CreationDate: 1991 Aug 20 16:34:54
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMBX12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMBX12 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 18 /grave put
-dup 19 /acute put
-dup 45 /hyphen put
-dup 46 /period put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 65 /A put
-dup 67 /C put
-dup 68 /D put
-dup 72 /H put
-dup 73 /I put
-dup 77 /M put
-dup 78 /N put
-dup 80 /P put
-dup 83 /S put
-dup 84 /T put
-dup 86 /V put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 121 /y put
-readonly def
-/FontBBox{-53 -251 1139 750}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
-B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
-AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
-7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
-20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
-B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
-68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
-D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
-26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
-F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
-77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
-BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
-C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
-30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
-148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
-E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7B00AD58FAF645
-1297991B5D01701E82228D0313FC7C66B263BC79ACDDF9AAC48A3CBF42B96E38
-583E1D059953076D68148DC8B6C9527B3A74CE7DEF788A11531F44120BDF0F61
-0B2F3ED94EEBCDE4ACD23834C242AA4314B9EF98E4BE72DB76EBDD0A028CEA9D
-B4C38C1F2D24B8FDE686832FE96204552C820E45B6BAF0C3308742AE2E064C03
-13C2E5064E4FB036548B136509EAD0CE1430E8DEB4A519BA4D453CF1A9D08C0A
-1370543107E6ACFD6B0EA546D6AE20957BBBD632AEA43F0D35195DD85E1FE38D
-9232D3F01B25A601E60C7C08210899521C600251D5A7DE2EC34DEB235CF6D122
-C41907F1D0A9B6E6AA98A95BA8A978B7D3F0275FA21137935B1BA53E81AF302E
-909F22939F91C57C2348E8E085DF39BFC1EA7921A5EFCE7C6ED845006548ABAC
-3B1C34CEFF31F0CA695352CF3B5E0972F82341178F42A34B85D8F66DFE822759
-EC1CA1BF94BEC645BC4D21B32EB2ED15D19EE2856D554D227313294DB0B2D9A8
-C76A7C0D9591F95741D80B45E803788990332DC2353166D899AB085729208770
-74483B0FA3C2C60B3423B162044839B6FAB217AC35C6387DAECDFBF8A8A737FE
-185F2FB4C1541B89B9FF8B93E6CEF5BB0F9B9952AACE0ED10928DE45435C4B4E
-E447F1AD61592F900C77FB7C72E64A28403AAE2F4520310EEC70C446537DFDEA
-DF4359CA2CE513D87589CC631973179DD6E1AE23E53921FD1A841A90D38F47DC
-30F66556F7BF1E05CE14DED5C7089DA72C40B4C44FAB4605F96FD152371B93BB
-49C5AC1285CECD661945459A5EB53015D07E10BA67911019F8C84A8823A7F4DC
-A995D8B1E661483BF883F7463BD941D5FD7C350291CF305C9B2CC35131C324D8
-CAA9C155DFBC1150D23EA3AFFACA3FAC5D71CC3F076836DF36FA334FD94D06F5
-4AABC54D16F3AA97F6A164A3CEE5F8028F740300097018E3462AB81577E2497F
-3BDDD1A974FE984B721DE8C6FB5D2831876A1C8E1AD143451765E99EAEE82DD9
-67B5489546BA5CEB4CEE8171F3964A746699FA3054F85511B71AFCFB8A6A143A
-A9F126C167EB2C93D0CA1A648DAE70979CFF590AE1417400B66E1FEAF388613F
-9451F520BBBFEEC6E50BBBA0177FD5430AB47BE66761F490537C03FF333C7821
-61AD6FCC384F6A5F4F07B2B1DA50B3EF8FEB9A0C73FBA743BE8695F0331F361F
-F43A511C8FEB2274FF1AB3713A60DED4EB43A25435F5519000D68C78FB844EDF
-952ED6152D650A91A64F870374834119B28233715E228D2E9EFDD1571DEEC597
-8795250D17E2796A3013E9E1BBB5ECFE2CE29F387C860B87DD499BCD15666004
-FD6008BC8D1A8D3F84B2D5F1AF0A1EA4D05385F36AF908DD66227BEF7BFF6BE3
-FAC8FC06C52CC3DDD060A4CEE689E2CB3E47D6C0575B6F3C73EBE28E98191F73
-8C8ADF27453B58DC94CD68437FF99F02A78B6A277304AC26AA9DC21511F7CBC1
-6A6DB6759FA5CFF28F7B1C3569C8284FF42C63C5CF0155AE7F42199E5A3715EA
-BF65A939F173618C61AAEE1C35C4EC4BC15B29EB6A3799A2EC26E4B9D4A24C99
-0531D99928636146EEC0475A746D7079EEF6EA939ADC9AAC19C28116D2BC80ED
-7E2F58792DA34AC8E65083ADA7D70F4D019C1769ED665A42305FD10CD718A27E
-6679D78234729B44D86FBAAABB4F4E5A13189962B37D602AB9DBAC45621B3F6C
-E6CFB15861F3BCA2F089D635C3040B582C0D5D25C361F7841DF3904B5BDFB23D
-E0FEC3D7B55C5FF5CF4E90EE20744CA89D5A8B837F61DC175585F452BCC96A0D
-FAD5B210F6C783C6F986B1B8273DCA5AA059251C37E68A3450DCE010B9348CCE
-916F08B2FF702B996A7B965756A23EEBB57BF02F6D8784186A1009C6FAF71E59
-64F282E70158CD4C9AF483FAC971B3981B3C7CB27F6DD5444D7D451CF8617FC5
-2C3770567A2913E7362BC1B09B1CD05D47D31173195D01BCDB6D2FE2322F8A66
-E54B6C93DE29D1EE67341F40C0EBF6DAC95E0B626A0708B31FF688B35EAFCE3C
-6FDF759FDEEC357DDF44028217547D0271C587B373462AD9069BF54117A17405
-A6B495B9C406B64F6652B7E0E40EB9526DFD4CF86DF6C294439A0F1F7EEFE9DF
-352ED2FC1DBD2280A18BA536AE3091E02192801AF43EB47C1941C4B0609DE405
-163A8840C553CCBD5198EFC7843119AF94C14B24946DC1C0132B33A02D24CB61
-07FC4F69BB1EC6A1EF2C95FAF2BC3FFE6328F7DD5001257181D5692B7A342B60
-733C6AD92B7176EF777EDFBB0116DDB11D6314D92DF13611E2904DE148F8A1B2
-D85D274A7B0100BA1A2F1D18CA404F0268DED666AB2BBA006560209C1593E563
-1EBF2A9A26B2810804806AEDF9CA1C16E468DEA1AADC36BD103B004EB1BA1F8E
-95DCACFAC47162CF34219106CC03D4D36ED72C85AD91971AA16B55F60CE62A37
-320CC49BE3D563BD479994EE19D79EEC05678D93181F4BCA9D5FAD21DDE1F9DB
-AF0329CEED9E6C52DB5B43BBF32D54A8D517CBE7C531C3B7193D5C002B14E8D1
-9663E6ECD455F8F1F3A6EDD072ACA0B3AFD9EB7AD8BBBBDCB92BBBC9FA180941
-0C09795F34B71A0851B3063B5F1520D89EF0C4C8B19DD6B4C84D13AB03D65633
-28B6F1129D38D2F0751591ED06311D473B859DB02A515F431979E2FF958861E3
-22C40B1C707761E6C0DE45311C0EB08C39FD68D07F8D484FF6EEA6FCF937B713
-927AB4DF31A781184F1A05672452CAF150D26D6267369A4F704AA369D6ED09AA
-B0D816A6B8DD82DF713EC1018029873D980DDD4908A943C8BFF6317E05B21DF1
-1967F084B0E38B58B03FF81FBB9918BEBC8BBD6090123216D9EC57FCC13D0848
-08F6F13155012058161FBE407900624CA6A52E4DABD28D10DA950A9F7BF9D3E1
-8DC09F3C2809B037154AAB286036D3496F3A0E09804ABDB0ECC63EB1E8C6CC47
-AB0750EAB7DD4FDB835C13754C5FE781FE2E80A0E59D439A0EB124AF87E12A60
-C761BE135F2AA7700EEC3ACA40CD473EF2C29CFD4FAC16BB8C33AD44821BE014
-0B3DAC12B8D652177DA038C0807D2FB91F7C200FCEAD90C54A6BAF411A3F0D03
-FDDE2CE9CF3FA21B738C217C159DFA68DA642FEE62F81BF4BD6669CD19C64E1C
-A9762DBC3CE34CB63F927B1B97487D91A4734FE956A25FF52E890649681094EA
-33B65342017CA48001BCFB6553E76BF33D486C2F1AC58385E34F5F9CD17CBBA9
-18DCF8A07CE105E3C8E2F68CAD80973CEB6DD6A3FF621A0C497DD4DF5196088E
-733440AC2225592C85419F50B8D9EFBF003CAA40B351ABCC8FDA09C672EBC90D
-5454021DE4E83F88117E12B84F944EE30AF7188428621B9271731346928DD626
-A270543570ECC7381DDB6F141272A319024773908C7ADD9A6A150A419EC46907
-6B9A698E94EC5FBFC60AF0C05F680C9B31A148136496DAE7E06A8D41AE456D48
-2C9A892F0A84D6F5181F097ACE07A931C95003A88774CF0C75E57F3CC7A734E3
-D1D8E68218BB49ECB1228F36C54240F77F68BE47651D92FB90854F7C2B0BC424
-301DCBDABB1C1FF1087A123C085291CFDBE744BB6B9E4F8A820777639487502F
-CE9777BE51B8744B00BDD43C323848D0EDADFE493FA998B9C64B9A386FA56361
-D29C95CF34F98A7B5C5D5EE6677147E2A6065636D4614582EBE08B549C3E7011
-8302A5C55F198F793FEB51260A86FCAEBB4A6F12053A64E91FB8FE2127335043
-F56BC57BD9B7A218ECBC579694F22E154CB708806AC19D8A352F2032F924327C
-E6E85466E9DDE0BA73A253F08CA279D247BE984CAD4F99AC5115E803A5F9A65D
-C978FA3746431F7DE3E7603489A44A582AD05A715AABB7E2F510B7554E487E2F
-039F4757BB77AD428C8541D11AE29287344C04B9382C41CE0E848BEE3557AC54
-05150D36FD87986612C5C7C563124004EA1AD708708FDE5DCAF3E196D6CF668B
-6E97DD480EE5516C7537760D8D63DF777276E73F2703040CE8FCF7AC2946E929
-2F1F8FE8C6423C49CA41B0476ECA2FA84C7CE4B7CD68B4E232FE98DCC13A9749
-5CE172E850958BBEC4B9571950C359EA9BFF6D45E6158F8AC04829E87D485319
-02A6E7F7A25BE0A9C9FE1AD207AD692269B85343AE3A4356B5A3489683573FB2
-C3A09BE61A6922A8525C30B098F5C1A6A6828B7DF472A651DDC28F2CE8418BF5
-FC6EA6EEE84D345ABB8299A1621B19A457847BEE09FC71D9BE3013D8651F4CD7
-39486C39D7B050BAF21A3F7079190885EBF54CC0C60069458115BDF081E18C25
-D9B7267530E5F6D6EB77C81140B5A824BF1B5DFE96521106F3219205A6A446BE
-D03B70C432FF3F25D6C8958989AD94F14FC06880D039EE0BFAB7EF746C48D448
-C7FDC91826DBA6A3756F12B9F7BE5AFAF2541CCC069402766D6D331014119053
-73E4FF09272389AAA61E9E99E2694B09BABB59E0D5A4F8F71B870A1AC9D8BA3B
-170EB81339F3B3EC3C5133AB34B13695F42065E55DF4EDD8312F78A44D088342
-E31A30C6E4719931EBA51F917F60ED594F0F590D4BF6C99A74B0CDD3947C7176
-326FF92DE1351CBB50B88FE3194DB20ABC366AD79480259FB7F6AB11CDA44C5A
-3FBD301396CE1A2C030843D69A9D32A1A008B3B66AE82941E620A9E7B962C7EF
-59E5B3CEA2618E69D265CA5716C0770C081590CFFC044FCF02D37B592FB7F0CF
-3A70884DA16D0DFA619908C729184959F84522BA144543350C44E5673CDC23DF
-3D2704CE4ED07C1E5D810E0B18861A7ABA52634597EBB9492C9C9889F642B835
-9D4789E637CD54B9F91811CF3496B3457368EEE9A9A6DE2008576A1F935F63DC
-2AF34F2859BA1239814B4687E454F4134833EA638EA5A20996991541EDEF8753
-A7EDA763C56C4FD440F3D54B9F57E2CDA2999646BCF2CE002E9DB075F5B45081
-E698CF67A55690310A70F49DDD8A0F0944A48F16AB60C990C346EF863C84441A
-347DC73FBF7F46EB6D6C047B222033E2C47A5105203D702EBC91A344D0FC67A3
-E33EED60E68E8ACE6700F33167F971473B5302C529248F4F9A9AD263AAF1DF32
-38C21AAED0DF94B087128237BD41AB40F3662B541932A2E9E851B2262A6CF354
-4DB8993F250FE4533FC2C8D52CD66CEE480D2136F2F1D6E98E0A85597F84418A
-3748365A6AF37CBC624166F801379AC1C8543E3E741239EA92D4539BC5B31F03
-0BA0887FE98E8116D143C6C17A83B834FBB55E881AAAE75EB3C3C2DDB2D5DB7E
-7AB1C00F8FF392EB7E676B64B9EEFA774F6AF239FF876BE158906764A5AF6480
-B0DF4C5553F8FF1AE094E8C5CB48476EE34B1D3CD20D7F502BC49E03C4FAD6C2
-D4F79A61DA5340F401707AD0005CA2A0022D2AA21F651E9B9EABC388D553A23B
-D7CC2E8F192668C93A134D3EB8686F297290C51C56F192AEB20CBA4B6A05E51B
-74FE6DEF2E6308F2E8CFD0C38B01D362362205824535E826E154DC0D7B6F4ED5
-7FE86772AC3A8B6C69E2D7155F972EE2FD49580EB15337301E04694E34C2A63B
-1C3E3F108B90C7728978E159D5B215E5C0F48EFF93A57BCCFA02737085CA2467
-849195BEC7831A4813EA85E69E6FE5B2D6955876560182899AB2131BBA579D0F
-5A82372E80CADCB4760CA9806A6502DE1726EA06E8D2637499215BCA41A4CBE2
-6957947C43991A4F96026B3D3AC9D7DA0F62E8E7CFB78F3755CD7251E45FD8C2
-DC940C5567A0BBAA40720933E02096CFF49A78096EC19EC8A871C119039B5690
-8028E8DA9683BF7DE0CE57DD65DCDA5AA5F4CEEC77A41EB5E58B44A23B54035B
-FD9CBCB225A01FA468FAC2BC73211D8BA007D4B503C4F9162656E8302396D3D0
-E4A8102DA684FB5987A8D757539ADC071989A25FB66401FA47034C44581DFF55
-4D3DB44CC54B1284491DBD523520ED0E9D0F6D21FAD634A588BDAB15E8B62C34
-36010545D8732BB30511CEA387ABD636516732CAD9B8F5AB971F489FA9501A04
-482E9A241E1F1922093C7001DDB2EFD42A5AA2826DFCE05830EDD3E7BD069885
-53E46E4F9F6EC01AB0A20BBFE033CC8105E6558D4996F13894E3999C25AEBF26
-0A47BCE971583673197E22F249BF7B3EADE4EDDECB5A8ECB86F50D47F78A8592
-9F2C43682A03170D47B91584D0800AADBE346C3D08CCE6FF70ABCE7D646FC56C
-28B95711560A3F4B3803C18C315CBDA5BD44D69F8973F6D6A4F27C174DACAAC7
-BEFE1E513B08116AA34D0C167F2DBC897066A2113241DE5FE997548CE28B7216
-2C6B9896642EAE972A72829FBFF750B6DAF34547BA8A54412C7C53E50EFA2E78
-1C072AAF6B7FDFC2FD19BF07959962C8D09A463B762554843A34EACC39B6E021
-9F5B586B9395074DF8572FEFE494AF7933E125011B9D4265F521D0AA2D37F7A6
-AB040E4C00B86DAD62FA6929320A07D4ABA5691E094680A22E2156337C62E15E
-121BFCAF14427AF48D8CB538436C833CCF2635393E5D2C8CD666D2F188231D93
-F75682D8FF364381AF8CEB55476FAD7D14A1B3A86921A5A850012BBA93218464
-B44A46E74D32EC3ED17B1BE5F41D74E614B41D50E6A8F08D4926823B0C889363
-2BE97270358E195A3E1AE699C7A797B850DACB10AC57BFB41D882298AAAAD47B
-BC676BBF662C072E08C34A9A0344ACD6C36EF6367091DB6E4134201A0D0A7C0A
-7117C901573DD3B4BC619D81CF149FDD408E98E5FA17AC582CE6495EFB58E929
-6B38BA324A22ADD8F039901126DA7C567DCE65530F29379FDE5DAB90B7AF8EAA
-93D2CD1D6B93D8036305FA2A27B34EE19694190FB26C4F0466B705BB6CFDC04A
-58649C536AA431B4D3BE8708C632362B41F8328F465C79EB988C2487FB850B23
-B6CB90FA4AC671378123F1310A3CB8A744F0C52ABB552C29C5EBC855147D6648
-11F7E33DD8D16A0297DD44AA096CB4AF525C159799FA63A6DFCA438217F4AF62
-4C0FAA45A57E4B64186419F0CE002BA8AC5C92920B78213B159BFC9E884D6C8F
-C86A77F1E8041E90D196EA521B6BEAF9F5B24B407E08FAC327EC2BF29C6D553A
-1909847CE6F3B5CE06CEE18D8D5C067DECE9539BB0F4E31429F2E022505DFB8A
-54443690523A0D3501F699529EFC9C7E24BF7A4438D11CF94174EC0973BAC945
-32E3E36F6EE62078A54CD1D170BD414900BB960ABC4AEDD0F7F59F7BFB1685FE
-A8ECCC7C37E078B8BC539B7E936325A14A0EFABFAA5EEF0D45C7FF71B05DC281
-09089CE64CC30754345B006924CA02A837BA1CDBFA960009787D42D1E41BCFB3
-CCEBA95672396D78EC51042E0C4625F6598633F600F261A80235BEB56C58A3EB
-ED205E020B4EA27E94D2A9F8B285858640437FD59ECA9702356554B4AE732682
-5CC791971D3022D6603F1B74130D445B5F3E5506E4A43F32F53AD8CB8B804443
-87417A6AC7BB699DDE7A7A1DFA2718C9E15846F0B2F93E0167E6FAD982A27B7A
-321775ECAC4F754CA1B31B301BC04B9B6ADBC8BEE1B6E9A6E9E8A757409D383B
-16DE94701AA9FB5ABA8F4AAF2E837264C03C404A82C7325EBD039F84BC1D26B1
-B8CE48355D8CB477C3258967584B6F96874145650C67A02CDC9B8E6A650CF202
-BFEA60F42AB20CD4D5186E538496CB286A5B1214C6091D9F3578793B2E92C70E
-5A8AEE69B0E231B4DB103B55A09E9EB23CDB972FC4523CC2E308D5414A41D7AA
-D474204A26058BA8EE73EB67BC853B9054F281E6502C0C7974D2B2B62FCE2783
-AC2333F9F368978F6A176226B8DFC549E39408BCDA00546B8C722A872A055485
-B15A54C4B85DD07CB35B73A2C0E737B5B2A1FF3552E6343155EDBC8A99BE7E68
-F7F1D6D7C6ABAD3362058555D65C4297B5C3A413E2E0CBF52C7AD06D2D09F7EB
-3F168C29D302A80C12733DE283EEC15C1627EDC01E27919E5AE0DD8F3B1BE62A
-6F5D87B84E9FDD5E9FB8CBB4F11EEF7AF43D9FC2BAC32E036692586E597B27D4
-D185FBD9FEA7D046B74AFB4196CF5076780651A505A0B919104CDAE6A1EC9C85
-92BA6F1446FFABC3D296A9DB02827E29B4C92F334DB756EE76360EB21AF99FCB
-A20A4BBDA16D64E16C5169936ADDB2FBADE60B77A2CAF1BEC80B1AABC9955128
-EA4BB285DD06F40ED0D0AA7E78C4939556395ACB463057BFCAEE217F45BEA317
-09568F6AB7745F4843FF77667960C9FB70C93ED996E32863C21AD727953749A8
-CFE1E148260E000C4BD9CFFC417C564DBFFFF052842D55FCA7D7583F26154F68
-608FE787F89AD663E9BC56B2D99F822DA2D7159D9D2EAEB104AD3632EB9372D5
-7B5B52EE3456C394D713CE8576CF00CBFD5CD6E36FCC2D4CAEF4FFA2327786EA
-A52DEFF2282F0910D3DCB80564B33BE82A9CDCF7830F3FCD26DA16434E875B2D
-EBBA68588F1FB3051DF91E2A472B22435F9485E47970F530C09D6F80834EC05F
-919B2BC0AC81354A9714D4E0D86B98C788673E66CF8FDE6E71DB02E84992BBF0
-015B844D82089A445BE246CBC4F594DCCCD9A061F06DF82D6032B6766C3CA618
-737A4B2B77E02B6676EC1FAE5B581EC6041B203EB29E5C283714FAB41CAB5FB2
-F7EE493F5C340E3F9DD75D55206C380E29AEA710700220570409411E26AFEE04
-5AEAF8C66DE51744E4F0E68756813B1D83C784D8C75B66EDA5496C344DBD8458
-CE4C3A4BF330C67D3E07A40610917D7033A9D4A95EE0CBF09D9A7BF34B766886
-2A8AFEC912FB362355DCCC05FE08EB6C777C52714B5E762CAED332D44CBD2398
-CE9501E630E08692B0F80E10A7B9C6210C94DA7D37244823C08D954DEB16922A
-076AB888FBBE54D762AF975A1ADC5BA78AB6403621C368A37E1C3607978BFD0B
-C758ED01EBCB6B64CDC7044981DC7868C9B784A94A6CC8B046A79712773CCE41
-361785FCD1834E16D4FDBC7B2107C298C988C8540398740631EC15CDFA8BFB07
-1013096885A529
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: LASY10
-%!PS-AdobeFont-1.1: LASY10 1.001
-%%CreationDate: 1992 Oct 23 20:19:17
-%%RevisionDate: 2001 Jun 05 20:19:17
-% Copyright (C) 1997, 2001 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.001) readonly def
-/Notice (Copyright (C) 1997, 2001 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (LASY10) readonly def
-/FamilyName (LaTeX) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.035 def
-/isFixedPitch false def
-end readonly def
-/FontName /LASY10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 40 /a40 put
-dup 41 /a41 put
-readonly def
-/FontBBox{-19 -192 944 683}readonly def
-currentdict end
-currentfile eexec
-D9D66F637A9E5292A4933615152D29EEC26E1BED2E48CAB7AC058698EA30B07E
-F8BDB66981B14445E1107420FDAF32EDBD5C26E35B334E3AF24373B2A13984D9
-1D56801ACCF98612DE2C19685E0F4D52369AD642D169AB57DAB10665C6C01538
-4E7DF30628B47D6551F93A50553E592B5E1540B411A313F39E4149341C981D3C
-705F8AD7782F59531404B3C001D8B882E0C5468D00B26040A352ED823D7C8DF4
-B632A37A034C6304A39F28739AC3D634CDC707B53474E63135975E7F0FFF2458
-99878B3A6D8D7AC6F2A2728768B8C2226075299B8CB08B76AED9A00BF448A646
-87014E8B1C1723204BCBB97BF0F735E436F1805B4026CA792A2464E1FDFC4385
-B407DAC19BC7769BBEA6BDD0EE65133044D18530C5A3915AC9272AA4A7FC35A4
-93A7A0CA8BD1CFA4382085D949EE819A51062591606ECEB5B37419223CC0400E
-158F1A0849868CFAE0F71DA6B4FA47A636EDE756530425A6BFE45B8080808B59
-6B886D033437677B151285B047C84C2E2FCB71CCDF34E20E925269E5F1A210F0
-391066823D8F21E03746BF79AAC6FF91517631686722226462D6A9EC5FFCC806
-B959AED95F492481324749E00CA117821C347F9B924BEC8C64C954570252E909
-5C33AC8B1320BB1992A88C619DEA7A8FDDE42390EC82A07BD8BB7F0014A41EC8
-04225B5063D3F04723F51128DE8ADB79F62903E1955A7D49220223CA34FDC3EB
-8FB71700EB9CC40DF747C4CC60AD11D3FC038CB2051F7E97CF7C7F7D0F49CA1F
-E0FEFCE664544CD1F7C23B05BA649D373539E7BCC761611C17489084912F77C3
-5FB3BC1E91E2B4A47C27BF4989C7703E83C5A505108037DE5006D4F510B8FE1A
-570E42E4569FAEBF66058F9D9608A771BEACA2A8AB629DBE939CCBBC116E8BCD
-BEC3A33CBF185A68DB60CAC5B21AF4D9B46B3FF4FDFBD6BC3C8101BE15E79245
-F0CF8F670CFA19ABC08C34D85B10C17190497EACEF6E401F322B1E281C1755F0
-BBF9838AF83A0A1601D78E78FD599819762347A77C71374AB428093048E3F1C9
-40CFD63B86C7F70BCD2AC3092DDD3BC91CA714BA28263EB863D5E6E2DBD4FA08
-6B22C1D18B16D7042219B9F0BDF5BF10AADB658CBED51C8B272E4DFA11C5A603
-8B4A437EABAA699B86819EAA072F7D90A9CE1B52287DD3D26C470BE0A8D8ACB0
-5CEF12390D0EDE45B1F5B2FE4ABCA8844F713CB5901221BBEF0144FB694EC8A5
-A5E80F582257A84E0FDB4150D9EA8A82A434C5FC1CB93C7F457B95A68E52F916
-2B90E294A0C787EDA95A4EB1F978ABC0A8E1FC9128E7605D591F601BE0B37F6E
-E1786F2302F2783D5CDC07AA5F3A20101D527E22B8D689A3A60B5993894A7038
-E068BE74CA3F9CD7A33223131E6149FC75A1FFE4E1A12553A8B8DA3AA19DF672
-D355FC0E824840735280F6D4BE31FE762B5027E292F82AF13EF5CBB0633E66A0
-950CE5EA51EF5C6C7FD1599353416342E89607998DAD7D6A8FC650ED12369274
-4E9BF9AFEA1822896412672B1F9EFA94BB86BEB37F2926B7BC7E032C71572F05
-C203EB5E44E55504D98264D3CF7A77F62C183F65364525AE9E84511F4BB67ABC
-164068BA9321842E23882000D27069B07181EADBDAF4374F7FE019BD6D9C88E2
-793462102092A647D903EDE28729B02369DF181C898DEDEBCACB047E79B284F8
-CABFDC5B460D9CD7C3D0A7422E6268DC3CB573DFF7304841C3557355B620DEA6
-74A36D5AA575719613
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMMI10
-%!PS-AdobeFont-1.1: CMMI10 1.100
-%%CreationDate: 1996 Jul 23 07:53:57
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMMI10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMMI10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 60 /less put
-dup 62 /greater put
-readonly def
-/FontBBox{-32 -250 1048 750}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
-990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
-6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
-DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
-59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
-D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
-8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
-6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
-1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
-03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
-95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
-74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
-3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
-47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
-AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
-42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
-40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
-B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
-95601766777978D01677B8D19E1B10A078432D2884BB4F7B8C3293B68BB78100
-16724E495064BA0168CC86D413CB48560D6D318357397832F7A858CD82030C7D
-8A4A1919716E8B26AFF8789AAF489EE4E0A88DC477551A87C7DF2856189E4596
-FE015956AFE5CC019F5CA6323A12B763B7B08B92C1A2940D3C566C43729E5482
-63C6DC5E834AEB4DAFB5AE8F0B8931A4687C94D11587B9071C8D81DA14F12776
-53A1985A3EBE37827656BD4635E03F09C3231F906874645E7DB3E59045A59D67
-E745D8487CF73FC50F64060544F624F357BC998A87FBE468DEBB38A09449EBCA
-D041D7C29225ACD16CB8A59E87924D15A9125F064710A6CCCA3AD3103D8FCC94
-CC3571C6F9192774FCFE5BB42A14B27960903144D28BF047BF4C77646EA7BF6F
-440D4EDEB712C63F2E8080419E42D1D58EED685EB5CDD49F80DB6E5553B519FA
-C6A39A093155802F3EC607721F390307E91ECB597ABA60A537E3F8C045BF5DD3
-D88CF6518D37FCD95D2F295D902D617440D23516D962F47750A682A319ACE1
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMR10
-%!PS-AdobeFont-1.1: CMR10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:52
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMR10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 11 /ff put
-dup 12 /fi put
-dup 14 /ffi put
-dup 18 /grave put
-dup 19 /acute put
-dup 24 /cedilla put
-dup 33 /exclam put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 58 /colon put
-dup 61 /equal put
-dup 64 /at put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 72 /H put
-dup 73 /I put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 90 /Z put
-dup 94 /circumflex put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-readonly def
-/FontBBox{-251 -250 1009 969}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
-87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
-D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
-92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
-295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
-409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
-4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
-2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
-0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
-B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
-24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
-43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
-D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
-5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
-96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
-7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
-0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
-B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
-AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
-97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
-FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
-20759B6A4C4466E2D80EF7C7866BAD06E2A1040FAF2DE1FD6AFD5FD97EAAB614
-956897A7BA8B194E613047BF469C7B4261CACC1DF1648E8A86E926F8702B5ACA
-6CEB4E3E85EF23EF5C9C53097F3BF17243B8D4BF0E6B0C5982FD14E4E916D363
-E265322DF0823E9990F966A842ED69BADFAC2CD1754FC84C0FF6750D2373F997
-362DDA16A0D73B178FB7B67307204AF174AB871C254B8E7CD77058113B702B2C
-13F341A972B67756D65C6A9F553C365E20F0BA59F8537C88E0C13F87CEC69C9E
-0775F760C4EE10819388782A2CC2E9C000DCBA76E4EFC7B390E50611F3D4F6A9
-CE60FC3B742F046E84B4A302F5DB51092CD59F103DEE2910757696C3F131517C
-416687E6DF671911BFEFE08D1C5D0B16F9302960E29760EE101C5BDFBA4176A0
-260ED46500F88BD388506DA361B0E9FD796196E66B332C82CFFEB7974F9E4428
-B82C64ACBDF865B4356C4E2C8E6ED840AD52C326F7D4869F5BFCDA189FE81641
-832D1FDAA78EEEA4F41976945501F32BB383455467D217777DB74219F49EE8C7
-89A9BC7F63500C8A735DF316A6823E6ABD3D815E7369EBCB3C06B404819E48BF
-00F1A4AC2AA9ED69D6A974D6BA21C4923B7B93F52AEB5D7015E7FC8611A4E0F2
-A5242C167F9F3A9DE6EB0786EB41F72EC2051BE8C69BC1B1B47F21FA1BEBF913
-0D7EC2A3169AC17909A5BBAC615E64359C00C372BEFA892491D23712AF8C81CC
-E4FA41958C4AC483487725FEFD17514840A8DAED5656D30F6676EE5B168F047E
-593111CCAD76A790BE700F40845719C742C604416C9BEF74E50B7FB02CE92C8F
-5E0304486FF092FDEBC48FE92F1F52FAE037C4B1732069467138960FC946CEC9
-B00FD964782929B9AD606B2AAEDF7500359B651D48580BD33330FCB2407ABE56
-D006C8BD1BDE90C70ABCC7D3B6186DA6BBED163DF48D7A8B32CA1902B754E7D9
-FC214E64D31D5AD5AE0B3173DF92DCAE433F2CDE165599A1C215236AC9534751
-86BB44083AEADAEA87780CADC3AEBF28597D3577B2DFCC3322B4A0C8FB994DDD
-A42FC7D1E078FC6226E7E00E79197F001EEFE43DACE61835F9F2B68009B65D20
-582467F445293736BE2E3E2C0CF247224ECF9FFD37BCC76EDFD31368D2F26B8B
-5EB0322B44FF635A73A6936F73859582F33AC1160F6616E30499ED3896F2C687
-4D6C2CC91C1BB8DB13F27E1CB8F68A2E38A842C7467137A3435F71A463998130
-CD5836CA448E139EF8FFD2E4F5F8D7C0250D45A42B2419EC7A7B3B0BC09305F7
-CF0967E85B2F51339FAD5776CBFAC932048FDB039C9EF6E90A79019FA9622A92
-3A5E8EF2336DD18F1B504E989A98F4F9501DCF69FCD920AE53740A9F9D70195E
-C25A9858529B445A93E3A2E9C542485F86983F69F2D314B33AAFF216180EADEA
-AADB62FDC1625F363D784CB1E372FE3BBACA8E9942D43400E1CD716E472C288E
-DF4AB8FF861F2635E835B3EB01BA56E16A9A50BFBB44CA544C1F8E8B4937809E
-EFC33FCDBF9B0380605BB91032980A58E8451B04C9C5771E2A2E80F0F0980DD9
-505F6C8B216B39CBA66474ACDA857B80BD701F6AA093E2330D2F7D6CA6A129AD
-911EAD4E5FC1818F6A4EEDAAB5FCB6CFD6582C82A5328A129014399BE8217004
-EF372A4976AB13089DDC03C0061932C2954E3B3365E4FC98747CE4E05779D38D
-BC544D15C2C0ABBAF5D0374F4751EC5A6CD6D7B0A67E51EC762805E5587BF103
-3F9B3443959F5A9C1CD11891DC55FA47FE954C1FEA592BEFC735A2318BEC285D
-14F4C4EBACB91CA7C4C3E0F076C5E0310C357657628032E94584B384B19FE322
-5EDAC73733EC192187F028F3F6D9AB27140D799D45924A38683D5F92C8C6285C
-9DE66A0A9ECBC9F59054D9D03CB913E899CDD5DDD755566EECD5180DB6BA4510
-FC244A395EDB3DC1AA44F88E7AD74983B06C93F19ACA5D48572EE12B23BBB1AD
-6A6FEA136FB1294B0E12F6DF56A9A0276990E3E4E7027D41DE471FFAF8117FE5
-3DD9941E02B6750797BA878A153265967EB0B29244729949C39522311BA05F38
-A0AACC9E8978BAA786C7F85D3C869707364D7FEDC5737126406895456839A067
-CEF34760D0ADB87D95FD034D026683B786E131486360D8FA0E9573C21990A666
-CEA3085429F1D569FEBA7F02CA32B3A8A65885FC25ADFFA3165CB97DF5E00730
-8F32E045C7B2A5F96DC270F846FF246662864F0EC43AAABD94006F5355AB2C1F
-68A8284D6CB8974514BE0DCB823A943D67D4ECA2C3DB223341C9CB09AD81DF89
-1D8158CD2563121708A43560AFA3396D61285D2BD9043CBFABDF2A75B91DAC3B
-FA2276677EE444C08EF8F25EB68F625252C73B6E57B1823F0B7E3B0539DFDE67
-92D7A8B391B01B53497D4A5ADC5DC56D6CE71E37D93D1F246A7544A19B266593
-43898136491179CF62265CEE84A98984C40FE94BADC196EEE5C2988321E8AEB5
-5E6D5AF54AFD6B1147E4950F9D6BF4D732DDFA4EC5867EDE061E3CAF13DF2021
-96D14A9BB98A6EE506D001069DAE8F592CD7B85564B435F0B1084C1CE10D88EC
-88A74BA11029B60A80FF7A0C3D56C1C17707DFC270837C6C6D85DE9D83994D17
-3976A7E98C34A11CEF234FE9EEF6DAD47997596841AC39AE5E18BAB55972A5B7
-0DDB5BCB504035380E2296270A47D69D7A31911CC590F71C776DD313684831F7
-7221CBC90AC921247C320A48A90B387924D9FD599049C421032EC95E9482B010
-944BDE291FE248231FAF0B13E5139646142216E116C57F5F3496D7718651E19C
-57EB0BF3C8F0CE8B4E10D5EE6BF9B36B9DC87420973E17B3A05B82CABD297239
-80D7C6EC0C13AB1B1FA48BC6F119C99C90C725677AE4015900AF6B1F634E461D
-C00C07AA2B22CDA45C159A79DA4168112FAC556353A31259F413649F77B45ED6
-4189237119A17374C20CA37F477EEA80922E6E22E2A575C481A8129AC41F4654
-0AAF818B4CAAE9DA11DCCF531C7C9ED757C33FB40363BDDD80057795E259DC14
-5FA1BB9A5090B21C92782C688D6628BAB06C516EFF0DC3FE6347146667868672
-415B8A6A89172FFF885E5C9A2F01D8BFFD5F057945D2C3D9A6AAD62735739AB6
-A340BBADD7C15833B367957AF8F44DDFD6FB691F0F1E4D85F84D80BF2EB42066
-0B67031382586543D505599808B1D46132BFA5B77FBFE9BC7B689ABB6E899B1A
-00D56C8AA184A7C734911F19DB34E935E2087BBC0D15BB529036BD73C24AF691
-BD3242631C7541421DDF84AC7E9B7349DFFB2DD5AA11C917520DA78470C46542
-1E9E0011C970C7DC4E65861747B9C12B1631B157A0704B91A02DB671EBB5E386
-940A6F5939F20CBF99163DE8BA963BEB22161F612B314CDBB6334213489B96AA
-621444217A5D1435C143479B47FC5FCE3AB0788D729A4A1F029DBC94AF166731
-B20673550A5C9489DE639CDFF1AFEC92CD5BCB00A0406230263BFF12FF2E0157
-C27B3C331D859E29EC39BFBE3076D9B159B269C71C110901CEAFE0B3BD833029
-2A4692ECC37ABC5F3805E7CA3653C677C95E59456724F6562A24624DAB7C57D5
-7A34BE46181B52DE1D01E2A2DA8222E2D31BB40AFB3924D79354973F7A67BF38
-BC4391960D23D0F317FCA92F0191E51ABE703BDF07DCD28E2FB77494F6EA15ED
-38032FAF4E90CB4F75F7BD02E2A8E79530F76B4F0F02CA602F31D7E5031A8953
-C6F3C38D25AD19EE77A0F4D3CDC17BBA141E72DB6EB331A3B0B50A4FFF737D8B
-455F934A56F51A5A4D19ABA0C3CEB3B574AB1A9ED80F40BEA61B2AEFF7EB98CD
-4B6A7F2E414E89EFBA4CF541C1BD3C0697C39C7338B6873D4146013AD76D03B0
-6586C68D4FB8E60B7A4C3A40AA6FC93C39CD37577B72DC97A150674BD92349E3
-30EB87559E38082463B3ED0203AC8873F113BB08F681DEB4870075F46B620343
-6A1953AC9EC496BE435CE6DC593152EEEA6331CB9945AA4FE008937E16A9F570
-3E2A309C5171F683CFE26DF6836EE5FE3A4DD04C4BDB109D56832915B9B32F97
-F3B44A5D327125246A5BEB3FD21BE265ED7B5B1674922F26DE19C9F7F6495444
-9DC6F6D13F371C756A2B862AA499032BDD961BE5B4527B45C3C4D74E23260CC2
-944798F5AD2DA5DF397047D040940B8C916E7F272B21734BE30CB5E59FF211E3
-7EC389FFF7D3EA7358DECFC374280D67495C695C6EACD289C9E7B735D5DCCFF0
-36A614F61465ACD63DA0D2FFDFD4FC801E1C93EE257A04DC26AB406B149815F6
-21870221DF60CA8ADF2311C293B41CCD15E75A0433F057070C25F0D2EF94E4F4
-ECDF23A7D617EF72B213A03730ADBE66A54B1BF76049CBC3A3F035D31BAC2898
-63F269297D946552549A259B9C9601FA72E45AD8F5D0A7FD4DE2D32211C92A41
-7E764DB6EFF62D7CAC71DC4E92BAB291585199A4CD51431DA91429CE4127E30E
-EE8FCF90605AEF343296596357A978DFC772DEC9439BABD866E794CBA07FD9B4
-F64283A6EE91E42266FDFF7CD69847A940FE7C0181F77D55A07A16ECD9AE83ED
-91435DC75F6D7C5AFF4DD7A3C20EE0DA4BA99FE2036A7B7456AF936659D9FED4
-FD1939EE0AD25B550E8A655AFDA23EF4DA39777AC2A04890F29C0BC97DDBAE9D
-D6347B5469A0EA8721773CC685F7066FBC2E8A1574559E8F2955397CE23839A5
-7E99457317916D57AA5B35FECB0706FCE9914535A0F487831925E4AC4335EF33
-66890184550188AE57854F3ADD15A0991E45EDA27974C06E74FE12FA49A5C2A3
-F276B5C2489FB288F49D072C468FCD9037E4D99E1C40F18D80D1E63FDFDC427B
-660E4E36851A5D4A90F0E5F2D5FCBD2EC830242703F36BFFE66D61E50067A882
-A10E0CB20C81B0792A5B8EFE9302969644803E04D7DE8A7C24DDACB4563B604F
-2FAE7D6F5112DF03C1F462E4154EF4BF0D8C09416E3805B036ACA990D432DC7C
-7C8261DC2118E6E9921AADB908048076A12EA72E4A09C1C0916C88BB39677A04
-4563356556730E59164F949D62257E34B3036B22D454A3A61409F21CAC5544B6
-D3A94ED495AF043EED3EA880BFE5382B6C6D0B2A84B07F4DDBFF7B9A9F06A305
-A5227333C1A529E5C968E0E82E02622EED266332A6E033839A194FFB188B1947
-67AF109D37A85041C61A185E5A1023CCCF3D15BED794D8EA7666D35169031B0A
-83A96D05B5E7D059BFB292452EAEE5EA78201B3A698086B3DFDDC56D59C0895C
-7414F9CB0FFF74536B9E2EDDBD8D56357CC66EB7BF793C2CDFCD84B573378D4B
-7D2F6E7E9E4890714FCC9FE519D33171DDC13689CCB9C6E08D6D4ED46EB6794B
-D77251233A6FC717E811D800480690DAA62C8ACC2B5AD4958DDA02408288147C
-19D919C3496BE7B150C321791081AB9EBEFF8FF49D2F51728FB366309CDFD835
-D0EE508C80D162DD9D64028FFBC05E8F98CE0253A8BB2A4C5D3EF860372B08C9
-10D9C2976E41B0DF1BE7A40B82078414AB72F44BE8D34347E10CC21A9A960FDE
-9F8BA277A737A8B18F92D066911803886463A96BECABC509FBED1F053F58DF79
-27CF6A1BB379DF14784B2EC04A4E7D8DF6C3036697CD6285F02F23F61B3EB6C9
-2AEAAE6ECD0DC3FB6BF56ECA9678770446858BE8533EDAFE2D4CCB5FA1DD1B8A
-7C4957E1FDC355445D79897FF7CC04DF352E6D87B8C72AE9635507B10B626EAE
-FE63366EC0F60767E0FC4DD0C209C37E82D0FC40C3B36A2F5FF778176884A376
-5B8EC65A935F3326A9B2C27D8F27EF544D823E864AFE7CC3E399FA2F2E563097
-3D9BBF566FD818EA4305647A74A874712471D15108027C8881D9795177530DB8
-94D463FEAF96809727837C8CD9696E0D2BF53DE8D57A07F6D85A9E750B157CA4
-F4AA6426346ED5B82001E647B58614E1E76D57EAF6455617C43942D4B05DEBE7
-B6C682F9F567ED835EE288D289751F359AF7BE222268A6A3992699DF1C91C0DC
-A04CB2840C4DA5AE2CD0A12EB0CE03735640EAF0AD9228EDD2215831550B6D33
-C4CDE9DC1A15CCFEDBFEF5CDF6114D99E3C558C01FF803B4C21805A4525E18CF
-238164756D0F1BCCE87DD8077C8FA13C6AD8C761B5D76A8295806E530E5BB17C
-8786E0C335371447342AAA37FF1B887958B720AECEF39D3DFB0FBADB7C9131F7
-A960B7BAAC9E37B76A85ADAE8B9261355A27DBAD91E00C301064C9883FD76985
-F58AE44E71A981FF35256D93B68260DCC27BED91A7C28C804784A04EFCC8A934
-A4B30BECBD9AE562F6EB682BE9F98BF17FE8BD62A64053EF0A0F211D4E7C9F8D
-F31E5DF5FED9C2ED9F3B975C8B8026CC85B94EC649D76538B2757E08277600FA
-0EB1607EDCEC8CA2634C58D4DB7F1A1233D3321E19097C8E93295876C0D5EE44
-5EC69BF603205FC7A32EC71382D6BB7D119D593EA158DF5BAD228CDB66C6F6B8
-2FB03F1DDC1B3FE3FC644E7C6072993BF25FD5DE26A114A1E9145D638C8A95C6
-AF48BBEF411D550085F04BAD83701B754C8B7FA377A00A59611D042732997CE2
-913727947DE68DA049D61363519AAE1F608EF8B06DD1E4E5EB9DF23219A98D56
-8D5C93AF071CE20E738255E965D39CC1821CF05928A21D66E662BDB1E6089A8E
-D4F32DAB2AABCAF118C85FF17E8AB3B735E91E90FC07F84842C1467501B623C6
-4297CDC14D3D6F311C1B03C3E89CF6C02126BDEA141075AE10C7A6FE9164837B
-ECDB43216E61AFE41F28D9A2FFF96412AA7DD7D621BB96A834676EE18BD6D6CC
-1279613EDDF8191641AD1E5D65C77530A1C553C54C272FB12D34C6767FB8981F
-C39A3588D4A3BB12CE53AA32B141493F49D23105F94365BEE1F5AE81B91504CE
-5324CD2081E72CCB8FF5D9A0EE95A4A44EB358437D2CFFEDAA7E2022BE555810
-BCB2F1F321D87BF06F840C73FC6FAC2C8116ED530556C0CF5DA5595E10229A58
-C89DC8ED385A0A64FFDB5AECEB502354D9FF152C047371A96C4800CEEBEFF331
-BD0E4F7BFA507C6676B0FC809283DC4F2CD14C6490916D07FB2BD35C784C0AAB
-A786064E65B87DF2F71FEB03ADC4750633F8493E16152BE1A3127F16AFACBA96
-32B71CE871E3C7AC466EE601B4119AF454B7819E06D400A017EBD36DDB4CFE93
-9CFA6D66C95F88AC649D468FF4528652949C049CC93C681D5F4D79501C664FED
-4FF3CCF1033BFD65F94222F45235A0606524CCC728EF38906DDBF57FFAC469E4
-DD554A5407C8169C47E954FBA8EC7CCF65278F833AF690F191608E507417CBC0
-7E938578EAD15C2745526608B71829E327C9A841B9AF6CFC373E070BB6D45E6A
-9CF939CA5B6704D3581DA8D0125B07CFCB1D3C3420242D77B98DD728A263F898
-C89FE77D8D6A60DD6A56486721EFB4C19A44829DF70DAB6EACE3CBE46EE6DA76
-2D6C5C6A8978AB1EDBE79B3654A1F45D1F5D28E7E28D631F1A1ACE0B065C1B6A
-906F3335A11759333FBFB454DC2D4ED0E1E2DC6CD4F2400DC384A059FC3C9E05
-279154B5456FFE9AF248C5B9B3FF3B051DE80C0EF51F70D48A7518D5954F90A7
-18E633478D4AB1758BA882F9027A3AE05A61BFA2FCB1EC5108E416033E78166B
-F5CEB7FA00B24FB99D6A8F4D1554F9B36D2E65B1C13FEDA184C21962C81C9AB8
-53312F75AC7DA7BCDA2749B5C4CC6BB13F259A8148E3DB5F54821C3FC7D201E7
-3C9FDC0D4D174B7BA121E3FA4FCD2F7BF0572C9C02CEC4567F13FC51E191EA2C
-DCEA62F78EBAF4A6253ABE48B0FFACECD1EBD686556D37482A5264E10FC183D4
-318C62D02F83B6365968350625FE1AF810BEFD57A19CCFBFB98BEB52FF1D937C
-821A47DEB8E32047A92D9B687E147BCF7574CA5C6986450213E09152818F5311
-451EFB7C35AE79B8796BB8044839FCB5CFBA818C685DFB969EC60CFEA7D89045
-78FBCB9FB388FCE88F6DDF752DED634A4695B7CFAE70BA244373E63F6BC966A2
-6CFE08A09400E99E5ADAC8E6E11AA2DC438A37CF2D6A76C264B0744734D9A333
-BC478007283D9E995C163066C9AB0AF0DF2E87E44D71FFFF528817E48D75B615
-DAF8B8077A2B89192FE3FE3562D2DB1BC90BF21817153D68F47FF99FC59E888D
-E96F639852110E20E51AA0D38E6B6EF7E52709073A1543EF3F90DB8A3BCAFD25
-94253612B08220345B015060AEDDFA5C04723F2F404D2BC4FC05CB5B050CC48A
-E0103205372BB9C2340EA48EE063E19F3FEDB608A88000CE31BAFE3B46C70E9F
-D12E73A31F2F2C619791EA73EA25416E21832E3013B0D2E41EDB25BECDFD59F1
-C2B25AF3442F6A5932EDEC77444C98802C0CAEF592452EB8AE26CBC4287C4920
-2F2301F3325DC2436C820D00C3AC29A1D7C0E7C8AD36EF205E3E01A61E2EBA56
-9BD79E674AA28AEBE93512EC76BFC9050524FD0170EF7AD9AE841F23054D7D4E
-C201CD6C410DE13B7E6FE62385D647EBF0E725C098215DB60E8B01C8A5199CEA
-BC6BBD05B3438EEF8F078E49758AC7F89C56509ED0873F89A811BEAF4FD29391
-0CC11DE414B07372559A27496C5F6DC4E9C36BF610E62FA696015FA98E8FF19C
-C9CDB89CAFADC73493EE09CA6C1A632D8FA74CCBE0665655592F74B3472A7FA7
-2F577472D31923EF5B522C0CD76B81FCDA5F29659381EB7CB7631643298D2DF2
-F0B4B52E16551CDB0A0C1568ACFD00AAA39AAF18A2ECCE85CD763A5A7D792ABC
-96C3DC5E42103389D88A50B54B300AAC071CEF2D354BC2E0CC6311EAFB22D0A2
-B71D16408EE497CB67C78796D1E9C294B88632957ABADB2B0B2BFCDED25819A5
-93FCB13ACF15BBF42234B27AE9ABC68573CA90DFCBC40F6463BA4C68AEAC13F7
-76093C87BE8778E48C7226B1DAF7412972FA7B5DE9A4312EF26B6453850BD2C3
-F0323DC1C655CEDACCB4E87213F82BEDF619BA12AB5A40129BC9E179579937DB
-DC0C8FAFE50906850AE32D086DCADE33248C3381345A6474EDADFDDE24E0DA67
-05F03E822CDAD8A958ADFA7FC1EFC7D03BD31582FE4EED7A768EF13550937C1C
-3478C937ADB7FD2776D75797B8748C5DA78C097A114ACF556037F86C5382B33E
-8307CFC43B5571B5CD5EA192263B287397EEB9C277B0FCC88E140F58569B3255
-60DE9D1916480549168EE6E23E2DC616602E8F0E14FE938408EAFF0C8DAC948A
-666477512E5375B85B3AB5B5254B948CA04CD71562E5AD6493534C0A47C060D7
-4FC6632A43E59050751751B5FB9EFB71D259A7D4FE08CAB2DE97DF71FBB24156
-4CFF70E87AA9AAB3C5A00198E6B9D12E7BE079B1CBABBD4FBF5A297EE121A18F
-7F154782F76055C3F9742F4C193E0F958D04D1CCC929DE24F56FF2AB17D05DF7
-418F0E0000E5521A9F3E03D6C1E8A1C6BA04AFC719C418C8BF41F2F489EBC2DF
-7AC5C115938B085F94C4A5AAFEC2694F360BC2E509E8967426D8BB92C3B46E81
-5D23FBB6F8654BB103565967C9671B0D0CCC30406E729EAF5447AC65B9BD0AEC
-E68BC9CCC4F58051A993BBBEF40145FC3E85D3AD817AE74C95C2F777F5DA2814
-6CEB79BFD601EBD0A1C72FBB67B73266D6A0ED656F93ED61C44EC7DE891D28A8
-4B25729F58DD478932367018AE6C63FA5C5FC7EB2EA175CDE388750897A798A8
-03A92331596419241961FE5DC38DCEA02AE7962D68C5D6667DA0BFAEF3E816EA
-D3DC17F8B1708D1ED52C3F4A0244C63A3B639C393C735F0FB332AB0B7848D0A0
-C94FF616B38BE032BBD0A450E101E8592C804219F62A5A675365A56265B93881
-D66BFC01FA08FF58C502A7D3CA28BF0DAD846E836A1E520E60C2C1ABABDD2DF0
-6FB012B947E376BB0064CD07691A26CC0F5D1AC3F48FEF04BADC4DA29B4412F5
-5FAD7FE00E477B22FDDE54F922BFC45029EF69BACEE71A9DF13C0508095FE617
-9CCBD486080DD2650490CAD32D201A05E71F43FAC32C97C07A74DE38CC390040
-141F33F809E3407FE2880F0F6763247A3E245527113676B8DA900777A79B21C0
-C891D196420C52833150FC6EFC62387AFB1E402DA2E556AA19359D0BE0A75593
-7C66F47D6DAC7CA25957CDAFD550AD5E2A33F5021F4D81988A2A4D90FA11C9A9
-45E2B57705A81D89F0160705E0FB4CB4EF5793704A3EE8C6491CF3C6F44242EC
-42836E7125E349053B034C181E9AD0C71C56E316133E58EBC1751862B9302994
-351FA8A4FBBD3E681A6D9BD40C0B415B1E6E17917D229ABCA18BB2B0825D8BDF
-C69AB3D2CDF0C9E3FB6500C9D58A6ECD17E882DA0A0B150482D1EB95FD491D59
-7F82C6051BCEE0AC84C2A85AFE67B83D71D2769E8FE0C5ADACB7DB9AE25926E4
-8D80B9A1B949C4443F271983D0DD52EFD327AC4283B7FDB6957BC7EC2D335619
-9A78A6CCD89454970CE1DA66B35AE8573100B338DF0C8C5476A6B78418BF9E20
-8A33D3D7D725BA7A23C1273ED7F731BD7392D8AC0194D67C61B8C334CCFC38B7
-FF9F3118B5C2751EAFF59A191C2E0A8AE8364CC560BE42D88C6F4DDE4B61D02F
-6C10C010B55F27AD5DBFEA393202663EAD9D3DF5825E5CC91C43DA4CF1AEC0C6
-DF07F1642005687C63BAEAB5EE6744CCD0E6FC73C1FC22E0B5888063E3120618
-F788F234AE16821CF04E5791335C82225921712DBE75C540AFC913A501F72E0E
-7BE4ED1B412C91329B707D61F2650EBC2FDD72B3930ED5F1C886737C0D6956C8
-F1C2765A9533919FEBB984527C7821CB5B1297C5963EF29F19F8DDAB7BE15B76
-9FCA6313E60D34D8369880F9526242FC937FE3425324AA3A9714809B142CC61F
-39831558321DE167C4DABD38F10E880FBB15623E8296350C84510473A6008DA4
-24CC989D0ABB7A8DD597ED36A171812D48849BAF64F6F441BAF818933D3F9986
-E8C4EB771A96921349DBE1E92CE009CC5C67D7BF9132D569F645D0ECD44BAEB1
-590FCBCD3706FA20D1872A1ED643503A3966676DD0A816056CFBAF9151B7D841
-335F94557872EC441BA4505C65A7F1477431805C7DFED9CEBDBEC7EE49E87D2E
-1084BD0DA9B891BC23F3840FB44CDAE8E7DFE6C06A92A11FD13FA19C78F38B6D
-605D03A4A6C62EED344B590BBF935F4D51BF641FE8D2D10529D7A7EFEFC2F0B7
-B8D42B6A17A6D3A87AC8AB15BADFD2BF2839AB869D3EA978DEA0044AD7BC0E9B
-B6CC856AD362AEE4673D9C1DA8AEE8F084EBE1857A22EFFCFD8EA111D073C6E6
-CA63E3A78EFA85F24FE4BC1F382A48B8922D09D6231CC3AEB3412E8040ABBE80
-0BC85CEB792A99115DF49286848704B00BB1A8D25148FFDA511FDA7D9B3C527C
-2277FBBB031CEC10E41E416875FCB893C94588B0FC2C2F2C734068F500C5BC78
-485A960F3C7ACF3DB22810D5257CD74EAC2AA6A30E870A38241084DA09FAA76D
-2F00C09474A4B5070ACD2B027A0718F0B8E8BA85089C2D63EF04B6CBA6F22D3C
-BD0701F7E05EDDC1C54220CB8AEECB99581B77062FD897731CD4481FF512C4C1
-23C2F7442A2A6E21EC05B2C9874627A1B4C552286F91D172BC5B47ACDAEDBAE8
-F001525DBD896E2C07E98DE32057A257590868DF95715577B69169DF9637B00E
-A708AD09933515D26944A373FE442F64D488A91AED5C8F8EDD54A554EAD49218
-CB22C6196D32FF0EE679CD0259036452AA245BFF051359A8A2F3A9D06BE188E0
-7421CA5E3D070C565AE3A70AFF0ADC3A517330CFECD29FF5B3940FA54F187639
-D37091DF4BEE09D29F2E52A32AB5AB9AAC098E0BFAB4B7B706726038E1CFE2CD
-D83B1FAEFE1F4234182DBD5BE8E9AC7B2B887E01CD374A825C3D764C3157CD92
-64DA53FB9A596AF2E9C3F3D86A5D73850EBFF025A4D2D1A4BC97407AE88ACEA7
-DE8ABA009D7359F2620B4DFEADA09CB8EB68104E65B22F054EE6FE649F72FAD1
-B2F00BC4435D55EBF44035F5934A35A2A0621A5FB4F93C9615C2421A5AFB510D
-D1260BD366D5CED0073ABA8B7E3D0C59C63F5C48C2E3C77553B91AAFADE691D8
-D8ACE45C20166C35503CF73B48434A90A516B24C9F38700652A96F41E4AE95A0
-2E5D31470F2ECEBC3D75C6AD794F66494ABE216CC25A1E385D5B9398CF4ACF5F
-3705DB2A8FAA799803538AB3F81E1F798EE3EC152DE1CEAE132555D3F55F7F90
-B94FBD0889CA3B0BA1AAC8DD6C3B0CDAD21B799F5478A789F9A74EC7127E4259
-FD98E4EBBE489F471E799ADEEB0613E92EBAE7E0F9E09AC03B342ED5141D5774
-5AC364916D8116EB103E6C9E1819E19832ABD66F6452753F7F6795F274D82D83
-7FE689CF8A181CB425833B97F2DA9764732AA0717F0CE55DE70F938A37689301
-6F1A1586AF803C0AE64645D97B1A9AA141A24A9B997040714330351792616442
-70C8BA50FA4DD5238E2D7D6A16C9B5DE3F8A7FAB2F4E5655DA00481EC4B15B48
-E047AC737F5C380DA17F57A835FFA2D01B8EB20C0F3CCE270E208514915B8058
-CE3C9C8888F53CD8952492A00674F53D94C4B8A68EA98E34D37CE574C3F312D5
-D302E1F5218CC62C9C8D75092D00AE3F603E568E95CE6DD81931B352C8D8BB15
-AC9F11BE312D2729F0BDDBA215A8A0CDFFAE68BDB49F696DA0C3EBBF349B5273
-3D4A7A36CCA0446F7D16A668D51B5165D70625E3E96758387E40A330BF5787DF
-73C781B1F15EF16055DAB842029CE24A9677CC6E981A57A0209DE6EB62328DA5
-A05486E785AB73C5302172A5730586EEA3706801D39C02AF42B3C37F918AF5A1
-EDE8CBB0ACE44EC34B1BACFCFBE962549D05B30B572658B677C4B7D56E5FB7EB
-D2F632888454FDDD3B8A4DD6C226284B56FBFDEEAF915D6BC129939729AA95F1
-B0AAEE02C119EEA3756BB7AB638DC15185D7D1BC5442E4E2037786DFC19E06F9
-5758344DCACFF12EA0D465A4F1AFCBCCA6B22B07A96E5433CC81475570A793E3
-6899A1F9BC3750C9EDA5A5010D7CBA24970D19555A6613E1C0A20B2CA1A2305C
-6C59C11DE0E8DC0F51FE5F58EFF84F2DE7F18ED0EE7EC3C508951BAA11816F45
-53ECCE80B0D09AB23E189B890F3C9A4CEDCB7F0AC07E1B52B2CF8B6ECD6174BF
-D5E66D5EF94326CA6BEBEB2D04A2F5C87A0DF0CDB072318F0329C49E799458DE
-A2B772A5CE622C262F6294A8F691D83A188A377A8D78BAF59F08790BFAE3053B
-85DC75CD7AD0E641F0C41202EA3CB49848C5269DFDDBE3EB5C9764FDCADF7E6A
-2762909FA8C166070F69E0AEBCB03C8F97AE8DE40C7802FBD751A030425BD053
-161DEEB4A6FB85FFB9CE609F06D425C05EBAB2D4820FEBC450A3144341C0F597
-88B4917D4F9FE6D4CAF30D06E1129488AE8EE622325F21789B1CD274094CC311
-19819EAA3DE9703A5002BE9DE1BCA7D769A3069EACAB8261900A2A9E8A9444DA
-D7A922A26CD7BB9CC9942DB574AFF1411F44208538967F4249A3BF4BBFE81B81
-92840607C3F4C8E804FD630403D6C6DE60A3F0D0BEB9635A28BF4BB3A789D090
-E754F4367E29F13DF28304F2178275A71938185F6E680782AFC6BC35C9FD842D
-73EB566DEAF118649070090E43FA7E572036A606FD3FF47578B9594FBFE2C56D
-35AC38CBE303AC04F36D889113D9CD423FDCAE23D8A63AA3C6CC2F6CEAC37032
-B1AA79C500AE5DF39CBC57BB4C8492B1EF276BC4D2864F67CB09C14E6E811F33
-46DD35E4899A072C788BD80D5476648416FE383B9FFA64BD69D5948A5E10C8DB
-6774A701585216700E825306A23996B549A865255DE7A565840CF8F86EA30177
-E1CE3B1866D2F94AC553A0D4DB307A7D633D8CFB67D621294C32E8D4D5F48459
-994EC4BD53794F2FAB1B95431B0F40690CE80ACFBF249249FE6A070914080BB4
-8D56F73210F053B4DFA0403A2A30E4CB0DCD0E721E4143FC1EB918E6B7C2D977
-26D86B1B7F1D652166F169A3B058551A8BBA687A391FCBAEF337B3964CEFA7F1
-0A030C097F440A1D16FC14D9AC1243ABF8FE0C4572C14296FEF8B8EC6E859392
-96EB8291718357C6EC7422D8ADA872CB672AF4637086BBE35951C61789A335FF
-5B904F17DFFE9F4E60523D427DF645C22377E1DE1407A41DA9748FABB258B3A0
-14E168C2A2373900246A6BD88F25D3FDCFD2A91A5197B63C1CF59AC4F26C42CA
-B1958989A1B36641B51A0E91FE03E90BDAF96A7504EE3193728FA8F86B1F0665
-39A56B4283E9C789309ACD9445483EC16BCB5331571D67F2E6135234A855C65D
-2702310B488CA8FDBEE958C382E40B96C543F58E2065D5385558D2DC2AF550A6
-DBC437EBC53BB1B3B8563195B5D1198FD906DAC9D906CBF59B7BBEB92BD29131
-B42F42B6B0B4656E0FD8D18BFE640FB479447BF606F361108FF3C9A9499038EB
-87A370E44E8AA019689A900F20992619915ECE3FB679F5834F1B0EFE293595CA
-0D37BDC0ECFC4D8528D52A14E40F8D3B0FB3AE69ED29FC7EF377F6C48A5E8ED5
-9EAD17923AA47F3A6FD58A19889C31DF0B8FEDEE49EBBE4749746C54362547BD
-678CF0153BBE1A8BABAE7046182A542A9E91572F980E33B2D8AEAF2945E0693B
-870787BF000663167C0084EDF0C35E055F3208A331F34CE8112D63EC8A71D129
-2EA41C7079AA2CE261F2C3E47E051635E5177AEA3626D7A4D7B5E42F66986E4A
-BFB5FCF022A6DAB4DE877AC2DE05D1BAAE32B6D5CE1F24E570D1A123F8D27C53
-7E166783BC7A9437F9C3B6968C5386E9240DCF5EDA0BD2B2D91BCE2DADBE00B7
-20C262DDED733040979E62454C5303F01DF1CA7EDDF9E158E62251914918CD4C
-88CB370FB1F68866CA2370CD9926A54BE41E1363236189AEF679E6560EA9765D
-E5B44C035CF0378A4D684516387CDE0FADC607F86962DB50E2C82126391A8E87
-DB03285E829D39FAC94FFAF70123C3AD7F083D93A066B6E73186EFFF1CB951B7
-E746E52F54B0EB268EF21109CECBDBDCC99C59F5B545A8E93C6CEE6EA416D3D5
-5073DEEC1C4501BA4CCE7AF100C9F0ABFA5563B61F0DF4A1FDD5484B49D13032
-BBA269116BEEF5EC05650610408544C375DB8C4DA370941BF2AAA1ECA9BD4AF9
-783F2B651A22B51DE953BE94FB5A296E6EA54E9FDADC818BE4743EB53913172B
-2C2411BF4D60D5ECFB84906F4ABFDBD4B70327EF53F465BDEC2506FC278CCEC6
-8A89151EE4616DBFAD66CF4422DC9F0E15D9639E54E1B47BE6648059084D58CA
-110F38D77EF76775570E085F2F9496A4F2646EEEC6C269EE35DE9F756117850A
-8E722DA4B8C26B836B428520A904EB109F4EA09F47FF99CA22F86C951D24B873
-83B9403DDB0720DC3FC4BA6C33478C13370509EF5C7CD49C10CD5FFD25043AD8
-1DD09529FF9C91157E9006A017B2DAEE542B39AB665EA760F6D24A9460FC0A6B
-5C3964882F4471BF38E858EBA3BCE70230CEA3B511DADE4E892451711E4C41A9
-679CD4D9067575783774FCD8BF7F20B53D8B19AEFD81F44ACB4704352BF0D25F
-F8B14D5D0477925D6792B93E3395089540C5BD082D7A718304B12AC0B99EF0D4
-4588EDE56AD2CDC1A23AF9D2B50FA87319D0A0610D04B69D9CE7DEEEAB2B7B88
-45097DDC86E8F91875F259B8D033C44D1C966262A5E9A2DF0C9C16858E97D4D9
-3DBC278F765AE2DFF9191DFAD87577F7AE031045AB54BC67FB0C54199738DC50
-D761374A1F6CD36067A595D5D052EE1048CD4F6C3C1A093B04FBA24FBA7144E5
-BCB6438235EFC35F222EDCEFF7940C1F91FBD93525F8B9D3CBC3BA58DCB29043
-E720B4C7300FD78BA24C70BFBDE3398AA91F00BAE8A4C04A04C9ADB9EDAE27EF
-6C6CB5DB6FF0E4FB3127901F0CC575A8D8A492EE03AE4E8ECEA6E55D60563015
-4A157433C362D46B61908BE9445CBC25E50EB1F664072ACC5FD11B24449E6C29
-296E9AE446A63956BEE6A25607E2EBBE7F4F4D4FD4C98FA3A22AC043441F3140
-5ED2C4F32A54F05F1C3CC03B638FE8744F2C053FDDF6F0F87861298971C972D0
-EF6429BD3C44D3606D6A10AEE77E32B88B0648519D6F2FB2380290F7C873451A
-C378B78290346C03047129A7F529018AF6B56057FB08B40B13AF74C7257C15CE
-38810F7D912FBC3AB457B7018C985F31EEB76FDA63B95BBEB1F8950E5BA5926E
-876F0FE954AC8D5A7E5778B3598D4661783645DEE64AD6CE7B7D027D2DC61298
-27C56100FCDBF2ABA512AFA2DB1EAEEC0DC39551C5EF23334FA516B9C10A6FBB
-34A23712A73876EF7C71AF2A581B68F618C32DFF596CE1069B3EC5DA24451225
-A8522AC59A84EDB613A4B00D2AE058FDC9E1AF8DDA2F29C9D4954DD815FB4372
-D7C07781E7AAAEB3DA9FA9CC3721C870076F01787F31B455E68082BCD1F1C3E3
-84126C4B5668492DFCA2531A2DE135C588F328470497CE27EEE7FCC2B74C1BA0
-30EF399E8BA5C616A4D45BEBF2DA0BE55E96936CA2B9BDFA632A9725B3147B59
-C74FDB36D91C92B60DF2F7111CD4C7F59A47E43C0DB5A440C727BFCD133EA099
-7B8A5B801ECD69A1201134DE7C6B6EB80FAE9C8DABFC970F6DC03AED9A383C73
-A463FD3CF42EF5873F9639D55050FEB92D5C74BCB69536D645D763BA62BA4771
-9830AABE85B84CD6ECC2B2CFB4501480B5DF833C836804A0B463F57CE5AC08E2
-15480D47EC254D02391279E72A146A0834988FB0F8EF95573A359A4FD262E44E
-79FA3F29C27CF9934B03881A8561C3943B2928967097613921B68E014BC60C93
-012446D334D3C539383A01371CF0CB6D3FE6E15955ACDA7F74C8E0F1DF3A2FB8
-D741248FCFD64378DF4DC90DE0256840826A6E0892A17E7E90AB1851A26D3D05
-F4C4DDCCC2A0B758B90C236C0BA05FDA098BA199228AFE1DBBCAFA7DA390E07D
-61250CDE484356AF8B6A29E4595A98D0FEC0770B2A4ED9E5566C7FEE4E9409CA
-99DB69F7353F599AA573A251F8BAE3D6A6ECFACF07CADBE1B63A5E55568C903D
-0EF6B59B3484B13321C3ADD862A135F4305F3F2F21D188D7F1CFEDAE964AC4D2
-0250A68B5F36419E41AC852BC8E3FEE7259BDFFE250AA71009240C138C546574
-340F7C6395E904AAB07C05032FCA7BB333A9F95ED35B115E8449C26E8C6D8CA2
-99C1C38D652A5E14BD7E8F4B4F89D0EDEB082BBF8A0058E95934FBFEAF63A99E
-076DF6A6259389002B0F4D44BC0D54FCAF8874606138F4DB1C39DE366938F12B
-0018E1586F0284619962950D8A17343E
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMBX10
-%!PS-AdobeFont-1.1: CMBX10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:06
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMBX10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMBX10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 19 /acute put
-dup 36 /dollar put
-dup 45 /hyphen put
-dup 46 /period put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 58 /colon put
-dup 65 /A put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 72 /H put
-dup 73 /I put
-dup 76 /L put
-dup 77 /M put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 121 /y put
-readonly def
-/FontBBox{-301 -250 1164 946}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
-7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
-77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
-2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
-FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
-DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
-7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
-9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
-CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
-6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
-E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
-8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
-3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
-EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
-0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
-4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF
-1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910
-757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E
-0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665
-6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED
-E067598E1B8B78188FA4BCFB0B51692D07B0BEBB930C6F0997B437E2C51B876B
-61A563A2673932C2045833FAA35DB22ADE12102335D5DC734AE3AC5EEE6658D7
-92EB62131E1DFBA441F53EFF9021D9D4C491F26BE8F54C61165CAD778CE8695C
-EEAF70E3B20C64D4C2B34A084B5770BAB2A8B7069E84EE1039A2E43E0DECBBEF
-93189055A49EE66B5906996FBA7A2F052D44A9EAAB6DED6ACACBD4742887E4A8
-FA3D14EC60A2413277027F80FC9B4384EE6F9A1528F7E58A9CB23E3EDE43B06F
-E978B03C604B50A5F91C47346DE482B3A922A5D0236FBC7C8B46BB2355A1E805
-C6E30E5B2156F4C26F2C5BEE2DB03051D5824E81313B77E67A9C745F9F696E81
-3BE9158CE6330EFB07FC15E8618153D1E4D5E46141140D9ED2D64A1706E81687
-7BFF07DA3877D7DAEFFD70643D1A32AEE36CC2C0B376F888AF34291450DCA410
-6A49A4D5E8C2D1CF884B6A975FCC00E143C634C2CAAD10F354EA13055C6C7F35
-65B4A26C6C28C08567BF5860D0930D7CCE02B8A16F7DB74AF6D8B7A401DF26D9
-B605F7DA453F60E8E89DF07C2A11C0E1F89B02D061B7C9EE6274B3669D367C6F
-F13C336537B67F235795800CA8EF1EA8591DB59BDAECC087BD360B3B50F5CAEA
-8BD4F3EE074773D8C969DDB7B64C6A7BE3956ADBECF9836714BC6E754FC09E57
-DFDD95F1A01A3106AC80DB85CE663658EE74C714E6297496EC70890CD6EA37F6
-148CE94413F1D6CE5A3592EF3F99297874E13A7829B3C18BA66F9D093C3DAAEA
-AFEB3F714A5449DEB7DE2F19851B4E65DE0679B74D83F1ECA1FEE76D0AA42B5F
-5DF085720F44508D5782551D7A7978F3681929E6EC093D73DDE8DE8A938C149E
-7E436F574115EB02F9CBA61AB32B9F27625CBFF17E3AEDB5195B493A149B1449
-5EEE848F16BB2EA1457FB44A45453D9990FA4F9FB258AB55FBAA37CE0AF7AB18
-8C46E921805055944A406128C21CC380EDD623BC1FC5523E9FE0F860F4D5E543
-1E9615777533FF7F92D1F1233151D7EACC678C1448D79712A58F2ED9C68137DF
-777A3403B563AA12F66BFFC69A9213D8E0990F3D44409A0F041E1F33662D0E2A
-7ED134E654ACEF0B5F8C6FB271BBC84A300794A6EA89E6058A07F4A84C33DAE7
-967153F4C4E65357C34143980E9EF1C04FFDB7A683287B101AC4D7EF91B7D648
-141E4DB0E49806215706B1F4A5174C9EC19AE3C55E3191A9D7EAD3294E77818C
-EC06549E92C90D62BF85EAEAE51E4D7B7D66B4481823B60F897D0DF74FA1B72C
-6FC4C10EEEE3A3B686AEAF763059525C69BDE039B398A8115F5C53217FFA8280
-DD9A35A85E0DF9D40780E0E6D62E9AC1BF6BA810B780AD3D79CFE274CEFE48B0
-40F7B2369A722FFC2D5292C5B5CC8D29CB56B98AB182463EE08956A36219A079
-7E92BC33856ED2F4DD53ED0809CA4F368E41C1210E655BDB2E58BC91D520289A
-07B72F3DA93330C41876A4F13ABD480EDCD34370F71F9BFE330C32D011AD62C7
-16DC3E93BF9AE378B09A0C3AA2A43A1C61B02ACBC9061C116C0AB42EB60BE12F
-F80FC95C5C51CE79794C620B420C9DD83667150F6EAA923D0CB79A60CEC8B9F8
-3E7C0F58421A0C349525E14A369FC591BA86A3748B4618EA8BE788D5227FDA5F
-AB37F8302DFCE43E3800BC945E9A96108301AA65DB2DFE6E371F1D24AA406458
-C3838FBFCF37E7F1B589D820F6D54818D2A0224D8A76A420DA12C56C7856BBC8
-3A3AE827418D1F3561CE924B03E75EC9E1318767385C09EEDD5152CD0932818E
-5B5D087D070E53435F5A3A63FC5C25CF064F69AD37837C7808597FF974708DC1
-7ED44F6CED31A17EE951B7D86A1728BDD8B0D862601489A7140F932EFB90BD98
-4FC42505AE9F6CE40DCD06ACEC02DF178935876CB42DA115A08F9BD7DA700CCE
-3B11AA257116B2E1FCCDCD7D6D692D3912D23DD521AA0CAD0A040ADDF0E27259
-40F6A9FB2F302732594F8ACF5369209B553ED9DDEA20CA52E42FF30569D80212
-01A544C966EF2F1EA5559CF516784B964A5C4668FBDD158DE9FC0E8C8F5A66EA
-1CD364F124CE3569AD8CB4BAC0A9B9758AC7A9ADE015CCF6BEF9ACEF00F0DB2F
-A9A7C2E5FD498FC0033CE4B5764D0B2B6BBA47D9927FB015152AE37802E598F3
-5CA408DBDBEAD7A02FB943460B80F02AF30FE483134DE7A89A70569E590BC20D
-493B2EDDADE1CB532D51C268CAA0F98CAD9DCF4CD3F5FBBBDB16A2D65B415CC0
-59EDF3602478BCC8F7D2313203FBE416AFFB93D61871F5A9F10A6549DCAC851A
-4FFDD7F922D1EE32F6F67E53967D7C12178F5AD3B8B483AF98E6A8959607562F
-22CB9FB8EA545F007C34F3A1C7D3D560545E145A8E57FF58BFB486B844037C09
-1C219D212F4C13A1736AD7D55100BEB709D110C4B95D589B1471CF7E074CB3A4
-72C0E75E5CB831D092D7D872A34E373415A1D7DF6C0B52D9F1535A852874B282
-9BB014AFA74EA7A091E2FB1F3B3EF01D6F86C3F46AA79FA519489CEBB95AB5D8
-BDE011394DDAD57A318199FFF087A8C495D3D93025285FD85947D5297DB85333
-575E25F03FD37F8F85AC0A082B8E62CD160D93840EF8AA09F90D0BAE848C08D6
-DE2FB5F5DE2D6C4462B82C19868CE9E969EA4DFB9EDD2AE3F83EC0F238FBC1F8
-89192A00EA10936B77EC8A9E64109FA7EE534C395D415A106F65E09F512D7A56
-F4FBF94178527775519FC4B96E8EFE5F4F3AF95502B02DE37A065B438653FD0D
-E4EA28180CF2C3C166070F69FFFAE746DD8E57B302DA740B4340222F597ADD7A
-E49E33AD526598C818E5886EE0EA7263871585DCE480770E3D8B4B8B13EEDD0F
-962C92E58088CAAC81A6A9BF7912485EF079D2DAED54A01635A4C16EAFC60FD2
-DE6F2EEB2DA95829A7028DB2F58983F4AFE39B58BE62A2A73B300B6732A981B1
-DEF8B09C43F22767946F11BCF1FCD38E32320B412D0BAF7E679ADAA54B28DE94
-9D78C58B0D4BC1CE211E395CD560A49D0F9A7A4329C9FCAAC6B6B84C46510657
-1ACB0238DFC93E208D389647E379A2636A640C00DD91CF5B4751817DE2958735
-F9E0EE7EF7115008A55EB83DC993CBA141888F4A2C9C51E888EE2F9D605DE520
-0CC0CAC86ED519F766C6A74EBA418A22647CD8D933F3BF23B75C96D445E57402
-BBF9E0302C546C094DD18372E64D85C42E6AC4D4AD13290BE6161314A56144AE
-02DE38A0019173F1AAD039B9B3E7F1E7D123A10677A7B3E38465CC6EC3D64BBC
-145275796055097F7176178F8872C20BB4CA7FF78D90090DBEC1FA708FAB9C8A
-94376FAEEE7FAD0CC8B47D82AC78BFE2C2E2CAAF47D7CBF1912708D4FFBCD602
-09779152E0A031921640B5E13A02857653E84718155DF220E0B92385FEC5B006
-D22F936A6B604B241769E52A7028089163507B81D5B6AF5E55B991789F2FCD0E
-60AA72063105ADCA6746EE997E9417A457EC9C9AFF9D1F82AF16F26051289374
-29340F530E3FEE1A93663D60BE0F64E58A669ADFD3259BC9C4CCE5825EA5C335
-133CC9CB740B6980FE711F77FEAF776CF5ABAFBAE54853F94E8F2356574555F0
-AB8DE9FB57768BB67C13D58DD33E2F176161164A48F628427EFC3B5F0A8F2427
-D58A7E8BFE8C7031EA69317676012924C3AFA986C3062BA67BE5A71359851EC1
-23D529291F51D4B9616C906D9E5EB72406D037B35AB82F5FA32068CE1B0DDB5E
-FA5DED13B4AC002FCAFEBA0DE4F6B9CDD9CA7BDED2B894DF5F381CCDEF003B16
-55B99D680DC6C885B2B33FC8F3BA106B0902EEBBD3237D18FABDE44FF2EB163B
-131578EBC15CE149894C5EE6578DF9D6708839A032490BCECD052E20A7C94367
-DB0F920AE0DD15372FD44423C4600A289060B39BB34FB0EA116788F9EE088D46
-172424C79482F2DD7F66FA5B01C9F5D0BE92456BFB89156BD93AED6EF1D7D891
-949962B3CB8D7D6273BE685CA811CC28B230782EAD939009D7DFC00E9285B108
-CCC7D9D6A43DCE13FF2059CBD423FBF87A40E694AED1CF6E0D9A12972C904EEC
-C425AE9234F026393CF082E3BA95FB9FCEB37C35DA6FE24EF295CCE723C55FC7
-F6F9EC01A8D464A390E891C572293A15D6DCDDB56EE751524F7F19975E9FEC92
-43313C65E41D8561551EDAAC6D5AE5EBFB7DF225A6646B9A185DD7955B87F880
-F919BEC708EE9B5D386D8BD82745AA3F03DACBA1F58A70E4C30096FA18ACB48D
-557FBD3763536FD5C19E75E150DAFBA4BBC3690D677FF20886F8836D53EC801E
-AAE0AABFE8903DFA95AE1E27962CD337BB39A91CC69BCA07C1B0C0A7F93244A0
-63C454846DE0FCD53DF32ECACAAA5589B06D218597CF2076D59B7CA9EB78A67D
-28B42DF3C1E286700D4AFD82A63D9BCEB2CAB1F1602DABAF1684328249F7B787
-1DB3A707CAA7C9EC158CA3574DA91F049A888053D64D393F20C52C30C15B3EFE
-6E87A1351D0839826E0195AD8A334607649AA0A9847EF013757971E9461EB47B
-289F74DFD982DF89019E0265FDD4A10AD14CD3EDD5D6555A9A6338C1CC83EA08
-CE3FDF7393CF854A9788CC31C30FF76918B9D694D00E746276EDA71AA2AF30CB
-82CC3931F250AEE451E196ABA1FAD6F21D2628F7B1D80CC88FAAD65B515C3FEC
-7C55048257F947F1D0F1FAE362D23BC9FA2FEEF3722744FABB62FC4AFBEEAD5A
-CB2E2CE2A38529E30CE60A3A5872C24CCE96A5D55E5094ABA181B7A0F847D72A
-BA111318B5DEF40B30BE6195CE55EF9DA4EF2823A58540951EF7F707DEE0E6C2
-993E63470DC417F365EA6BE16611E03CD04BDFFADEF0BD7F91BE48AD0E0E8B7A
-2A0A6EF99328287344684F5AFC534E01730826B6B80C511ED31F3D3B8D17841B
-468452FBB53F059624C5746659552EA69A4EDAFA627AC8EF574D996A421E4D39
-C62690AEEDF4775F150447EBC3FF6FBFFD853CA384864F2B73302B3CB72F3E2E
-7B7855C7A9B106238946B75C3A5807A597C4FAB43E624093C6AD508D3F105C77
-25D7C76F35DDCB1C01E4212D90A7AEDC5F1F2DE963113967B512D4DF995312F4
-9981987A4CC089BE75D34EE2DEE750C346D8D8ECAB28CC25D871B62AF82D2C1F
-0040F9D102F166E25C649E69F9D7CD31F2FD018956E6038692C57D849887F52A
-F06D991D0A889A07D3793A055A887E8E12C61AC168C80591F6789D8D1D68B395
-27219CC88670B013DCAD7EF948A7C1F7085621A397D35C3AED7C8C3B0D3AE829
-253310A9DDF1ED9F0A724091BA58E7B287BCBBB0542896EE6984BD224F413057
-1CDFF59B22C30E04E8C2F1521C01E3922819AB0D2812545688EFA078F31DD367
-C1F4E7730B4D1B6DD06E13AA4EF98FCC3FE27B38151DFAAB1D0246A90F19A551
-D098EBDBA701C465052C13AAF120CD03A3207383EF6CBF2475FB4DEBB47CE59E
-68E915611C92CB85904EDA1E5B9F221025C6C5156FEABC2D361DDAE74424C730
-9E5BD34D77784928BFB53D163BD1C7DDE31F5A1E391DA1218D99287B95A1732B
-316BF5FD63B237A3B1B7AC39522C41BCC109020DE6A8F683D856EF2E6D2F3158
-8A978267A0DCCDB9E6C4E4A793FBF2FC49647DBD6601FB7F59D77FF18DCEEBC9
-456A9F46AF2C3B5A4FE0ADFE49BD1CC6434B59415E6B783B079C94DB69005148
-1BC9897FE8E1196F41DA53F2261ED3CAB21D0EA3B3E85EE4BDB280F8740D2AC9
-85B0799AB4586E3B8B8D693B5975943D9D217B8B331E9DDEDB482BAA1121174E
-C0F93158A672DA9AFC520CFB4BBF7A8ACA2FAAB5714C7D182D09367304A6E0D7
-BEA0D00E7204FA4AD608B12E0A2C3708DA6E3BE762BF189FDD8781B6E647F8CA
-2E745B58CD65B2DEA153A707697216B6C1E3E44AC6FD29E71901D8E45E92AED3
-259A0434957ADAF00C28C3F1F7E31B25C5E248BE9659F0DC71FBB71057871848
-8872954943AECD35C954CD5C45A3E8AADCD16F28CCC7F06EBE7C54348A2D57A0
-1FEF1F7C6FF89001BFD7E90C17695BFD89EF9E1E4EF27DDCAA3DB1405CAD5D3F
-D93E8C76596EA4B5F3AE567D9EFA1F8A166D0EB66010FE8298DF313D55786E77
-7E249978C56096C200D53A255B0EC5C4BF9B9C1BBF40D114E8742BC16041A5F1
-CAEA142873E106E3972E6DB3044A5A0BD5C5F729991EB7F0CD2615F7526144A0
-CAF82F826610D30824A5A20A9020ECF95742E79F4EAB6DC0DA8B8C0CB0823A46
-14C71EFA8722F7E1B8983DA273F676080C3B37E9EBDCCF0FCCC552C0BC7DAB1C
-CACED3ED8A6E4F579B0CC2D6E83CF63BDF068E3750DCB74EB1B1D09A2D0AC2CE
-E5DE1E51A328687B1D40B7C011A0DF846C330CE4F038727C3BF4DE1CD061B5A7
-E5DE34583149FA8AE50EF5D016F5EF062B32CA4DDB1A33CAA9E8DF666E2475F1
-512A72EE0DF61AD226368A33F85E419E50A8E032293EB3925BAF909A2AE0E647
-81C9A413D670CFFF4F93E3F6F4775CE58E982B945329C30481ADB922C6E17274
-F7636E1789B101662F5689519334046F48BBC27479522BDE80BD9C5EE6D1BE08
-1995B10936BD8AC9D7EA990F51D9A96A1A5D7718B2A64117C88CAEFF73F60112
-993CB70B0FEE7DAAE9F6CFBA9F991DA740C041DCCCC4AE132DED46A45A4552C1
-808CC0FFB9A3AC893EF4EA85DDDA4E7651B617BC79088376B1D15F3F1B9154D2
-3AB2AE51D7E654F95E87070909087AE6B716D37A4ED3D8D359EA9BC211736C08
-6EE76436477578E23BC81CBE87D326D57EE33A172BCA70856877970E80114F30
-8E5F85A908352425B2CCDB5697CFE2EF90465642FF498CCF0FD7A6A77068172D
-9AEFBF70F58A3FB26C0CDB83C83255B6506F3012EA903F8E89B75CBE99BC3713
-E1FD46ABF2850ACA11561F9BBEFD0B851F953DBE273D2736D1F370768C89825B
-2994D3DE37E086813FC462F696902455A1A1A947DFB91629FB1C62531F01A4CC
-2A74FCD447F3EA20EF0418941C251190EBECBC87DDEB852EE693CEEE2B89E2DC
-237416451ECB9291D7F2C0E68F3447B72392438B7C42A1B921A742BCF5DA0B58
-836BED4BF5B234325AA1EB97ED9A8E6CD13ADD33DE2C9283CF46DACEDE73A35A
-1675EEAAC0D8F8FC0CF023581ACB1D0241B477390395DBADAC3C3815CC55B6D1
-DB62D7AD5AE09BA334CCAC1323802CA544A75CE8E324CDA9787255CB60566D6B
-6DC410F02C1357DDF54910FA24E6B8B53E4DDEC2028D357B0A51C0CE6A073EE4
-638C2C756E43D59269E67879CC7848C63ADD63412AB0EB9246DF01C8F85ADB37
-FEF0C7D637D6F40FCD92C4CE62B6F0D62292F84CDE1A70F596142B16F7E76407
-7A6ECA2F8A49CC56ED141963EFC7EFB72C02D04DD52CB6E865E94AA41238C971
-3F76D94EE30ACEED4321E70110E7F3A1595244FE7A9669C948A048D598AC0E65
-F6C7B52A5D7742C1B105F9C86C68E592F65D541CFAD7FA0085DA65F7F9B566B7
-9298CADC6B3921FC9029C5213F8834866A752E938D2DB8FFBB071A3F24CBB7CC
-99F5E3CD857A74D8974A443071B4E4C86CD7E700B6219C2ECF568CEA17A9DF39
-3B4FF618889CD94B59239C3F4F7C7658DE5421DF18CDA1F5854B73782651023A
-5F474AA8D6181E37C60C95F19A6990C4E4432D2336CB8EB361F9E5AAD3B7E2D5
-350959A1F309BF66A1A1569247407D9979F99BC85AFD41D44D8B8982F7071B27
-B31A8FDFA4D4484F6E3EDC218904D7B11D4EF38204AE27DC669F35F7CBCCB01E
-4B79845D084998E34B830F5600AF514E58D154557F13737AF20D5432BDDF5936
-D07F72C83FB5AE846BD8B083E0AAA5FDC73F4EF305ADD1C03CCA924CBB35C252
-352A845DF3D2159EED08E9EAB16647515E5930DAEBEDE91EF946787ACBA4BFA2
-BA898C60FFC0696A9764A51D01E31B6B39F22D289B4DD78D02D85D7FFFB3C3C4
-52CA50C8874F3C5557C22D7EC19236B0C25D89A6A9C64B2ED30932DF1D7D16FB
-278EE0F2F86B4F0130B5FA464C8257465F18F72FF723F67A438014D1823EB70F
-008077C1E6BC7D4E64D257E57A9891E052A5C2E0E8F03AEAE1FDCEE4D340F104
-583391A709680C96EA751B85951C99CBDD2D7CDEEFF6E4D747CE5D0D18599327
-AC37FE3AB145C19B76A511C0B440C98323B4F5941CE43979523DCC9640B346C2
-9C17C7C0D83D8ECE3D08E45267D3B4E2AFD78535ECD8CD65931D8E402A024C76
-6B5FADC434AD3D70E3538008BB3088EA45D7973E559581740258CC81E56F96E4
-E396A070BCD36CCF68623F05A817634D7C20BBD4313E36ADAFA35B412DD114A3
-87D0D92B6FA2EEB56779CF5A8038BBAF6C22A516C5D4CD09BBE9CD6F292C4F30
-0D078EE1EBD47EC7AF11EAEF72555F940B59942CE640BB461D529B3DD7DC59DE
-83B869FD97A69A92D01166B47DAEC3BA68DC8E314D8988F0A313FB0E971E20D1
-5C30A9225E2F537B23FFF0D9CE204B87A96E5B4E502BFBC67DBCA89E8C938F4C
-0F1712B956A6CE28D508359914E634DF70994A9430D90E9358BDE2800A05AD21
-3DA296BEA7E9C501908BD0DEA98436FE603B787FCB265AF2F69D0AF42A3F8D98
-AF22321E0CEEDDFAC5223B86E5E7E04FD4EED7ECE93255C2D546F8B423FF8DE6
-C7A6915AC6357A5FCD42D4262C9B06FAC29BC958CB7000F61B03C3C373295DE1
-92DB914B0FCC9D774E357A8B3AA97594D86484E056BCCE7C875ABDC6E04BFA6C
-F23CD3C39F7A5E652F9E7B1825258B791E840911685C5DB9EE0317229CAB1FAC
-BD966C2C1C947E84B9721A9C098AFE5C67EC3C0CD18E249D172E8F353896D153
-ECC2085BF67478C1A62C186283ECDD8F8ED860D88C72B3D84F116DB67AA63274
-302BBEAF09C4F5D04F2407BF9A43403B97FFB4672569B5E4A018CA9F412A7456
-728F70A0CC6A14E0EF7DA545D530BDB37CE47E65D836E211DFD18A0099356A35
-B68245F0ABB1D3653FCEB198083485B91F33C5C3D2AA2C5B3F07DBE2901FF1B3
-CEB2BEF981FE56D8554758720B4B984A509F8AEF743949ECB64310F87DA5B522
-A5BA72E3A5E1DB9EE74F912F1E70398D7D6699F670B0E1DC4C2F76D7B9D5CFFE
-E70B75564D3E930077DD78FCC47C55FB783B1E48901324CB5CF178B8583CB540
-BF03FC20E649F1C4BE64F1EE83B9722EF6E1447AD95F821378DEBBC0D846BDFB
-4D6F42800C967E6CBF3ACFE43A0A634F2F74DF741419344E838721FE98FF6C04
-79C8D8B5929D6D3F73E856F2085AE5C5CB4B028B091B211BFE3E9629B1C37772
-749960BFC86C941A4B3FFC4552D15B4CF9F2C9D44767CD34D134469FD2BADCC6
-77E651AD7C0E31DBAAA712A08080FE248AC5E592F8049A07FA1114A75C481DE4
-CD775562068C95B2B1D4B3242E5C43C5E5B7D6F5F57E1FF4134F8DB69F825F47
-0548185608CFE84477ABA83256F6B8BBBE668E8C525387D8D2448976E28BA5B1
-342148FFAF5903756F07F8F71DC9F323CB7448ED6C1FBF7CB916BACE2BCF1C71
-2C5DCDF9E344BF509AFAC07A0A48E819708927B36AB4EDA1D85782DF76D20280
-ECFCFC7003E60DE083654CB094F0216D7D8028DEB3C1F622EF341272FAFD9449
-3424D8428F4C8A51353F494C1E14534174F3F901C36E7743FBB03A665732D738
-4F78FB4AEB235F68CFD835818268C099317D49B8F794399CF8265ADF1120CD66
-75B2F9A5BAF86F4087CD1D18B168F3C555FC5C2FF0DC84CC14E6E4D92A366B66
-83C4E672E166ED8CEC9754EFC094AFDD263355A5FC1A81AD06ACA951CFF941C1
-93B4B036933CA8CE859C8073AD96CA9D2B706A0B17368F350F0BB90303766D59
-1D7551ADB6C952F499864B2B48790665243350A1294CA9FAE96DE3B4E160DDFF
-86E47810B8F00E46BA2008532C238525273C1EE87D706901EE95B73A6EF33DAF
-1DB033BAEC49324F2F4A26F510FDDF44F3F1884CD4D56751C144A2106EF7C63A
-C6D5CB11307FAB4C66D83D3E347DB503E3C98A49763B748B8EC5DA1C42167F5F
-D215865D84D7E2B01F94F62400F1FD81EB194CB80A4B33C1A5C5808164D8AAAE
-D261DDBFE916BE95BCE0D1B9936A36CC6E75DB412D4291EEFEB509053453FF14
-8D5F081E5FE7225C94D9627878D66BA4B4965DB12C1EB17ABB0A2D87A948292D
-D051934F33CCC97CC09548282BD24F04E37B724719138C0269DE4EC3E056FA2F
-CBCE254B977F1EA5B6CF56D590F5066911300AE3632E97B4807BD7947530D2D5
-1DE251686C5FEF4A851FE9AEA61BE752E37E5F5501B878BDBE054CA1516D0DB7
-54CEF32EAD3D936315C8702E5048B9109A6036FF5159FA3A0675A469CAA1959B
-A33B6322D0CC76A5B30546D41C3CF17B67B8E7FAD383D16F14620698749EC178
-80048C97D029E229BDF6227E4FC6666606FBF3673FB8205D5DCF3F5A83313227
-D1295134EE8C71E00DEC1487994483E9B81A642C53A8198EF57DDA9274FBCE4C
-6628EEC75C302F7ED41D10CB5F1B2AA4B12A5415E4510D25B1F576CC16C8F9A6
-5ADEE2248A1B46DDB499D779F8A63E09F674E27F74D53AB4642FBE6615094FF7
-B8040EBA84D850675C55AED0C9E1C4153428E1FC7AA8D9335B42BBB41C1C779B
-8717A00E96D2B9B4138DA60D818A8A303367CEEFB73A9DC01E24A7F160CD9AD9
-D375A71CAE6115FF29A61796418CC67255735BA3471D6542ACE20572B5E2C9A7
-494AB3EF0C728D7EFB42FE593A7F39821061B599A0772181D74438C5C7766CBB
-18D035AAA6A54F9922972E44D7AEF4AEC40CB0301FCEE83E1FE18196114EA8A0
-F7C91BC4339F87CD35A68ACDA8FC9F10E1386A040D910BAD5767C8DB06F5CC53
-35FA824C791B0870312C89048EA85093F0BE8FB4FD778BA03C048209D29BB315
-D601635271F36B8D38F83E8069482FDAE6C74249BF1CA70058C2BC8CDFB7C7D0
-9D19E903961561A4DE07D412030BB1748DD16F9DF7EE1CD8673B5DDC9CBB4DDA
-81716505A58E2C6E7EAEB44F7BC67FFA1A8C0583A92AB1710B618FE04312C778
-878DE8282AF5EE543222716741000EFD5267AD23DBB8D17B354AD4255D1625D8
-FE10341752CA2896F2E8A045B179A083595332706A62C34035AAF0D54F529A87
-AC9D67975E894EB72C5F15CAF1EA10B500CA39AFB32E3CF8A3332DBE41B41EBE
-3E0C9D2D68EADEC7F175885AFAF975DF62225114CCC3030D6D93F0C7FBBB2D43
-B4137595D7337DB70A5C763B9CBF597668A5BF3181473785A20D959750642B32
-04709F214C67F2E84943B39CBE069E84EE7514EEA255F5919750DB4A2D497AD5
-BCE3E4836DBF351BCC9AE7B05F8562B3411D3B29B807882AFDD951AB1987C040
-B21B661F8F9F37B724648CCE293CEBC503E812D03B366E18BD8E20F91AD432CC
-3A569F63867572311E492AD3A72B67B9DCE970CC21DF69492F2B60BF59AE176B
-24118C7A1350A243143600FF6E83C7762581746ED1D1FD64BA1A1E8DDB4888AC
-F2A2A33A81730F2E26DFE89631EE000C0D99EE8E8BB0E3A37614A4F8631ED982
-002CCC4DB0A2AAC85688A56D48D701C99321CFC5CE97BD3193A8925F3A4E19E9
-A34E7F53D9535359FCC9599BD30466D5EF6A64DD80F981BE451A3E34EDC1C278
-BB9305EFB756371853152D313CBE01808F60CAF2D894BF5D5905A54DA745D2D4
-29E3876D1E7A187BAE9D6207AA1F70222B7272A863F05EC0D29EA4562B7DEDCF
-66B369DA7FE7C7CF8D433A75D45486F864CC7BD0FBE940FEE9068C9F7B41ABF5
-97BE7ED06EBBE935C5135967A89EB2182457374C83C0D795D50A6ADC0384DB46
-BBADE8D2CE0A37FEB55F28425C25F26049590EECE560D135C8C7F5A4BFFA0AC2
-3ED2FF71A36867C426D8B9C9
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMR12
-%!PS-AdobeFont-1.1: CMR12 1.0
-%%CreationDate: 1991 Aug 20 16:38:05
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMR12 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 55 /seven put
-dup 97 /a put
-dup 109 /m put
-dup 114 /r put
-dup 115 /s put
-readonly def
-/FontBBox{-34 -251 988 750}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C
-68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361
-3645B82392D5CAE11A7CB49D7E2E82DCD485CBA04C77322EB2E6A79D73DC194E
-59C120A2DABB9BF72E2CF256DD6EB54EECBA588101ABD933B57CE8A3A0D16B28
-51D7494F73096DF53BDC66BBF896B587DF9643317D5F610CD9088F9849126F23
-DDE030F7B277DD99055C8B119CAE9C99158AC4E150CDFC2C66ED92EBB4CC092A
-AA078CE16247A1335AD332DAA950D20395A7384C33FF72EAA31A5B89766E635F
-45C4C068AD7EE867398F0381B07CB94D29FF097D59FF9961D195A948E3D87C31
-821E9295A56D21875B41988F7A16A1587050C3C71B4E4355BB37F255D6B237CE
-96F25467F70FA19E0F85785FF49068949CCC79F2F8AE57D5F79BB9C5CF5EED5D
-9857B9967D9B96CDCF73D5D65FF75AFABB66734018BAE264597220C89FD17379
-26764A9302D078B4EB0E29178C878FD61007EEA2DDB119AE88C57ECFEF4B71E4
-140A34951DDC3568A84CC92371A789021A103A1A347050FDA6ECF7903F67D213
-1D0C7C474A9053866E9C88E65E6932BA87A73686EAB0019389F84D159809C498
-1E7A30ED942EB211B00DBFF5BCC720F4E276C3339B31B6EABBB078430E6A09BB
-377D3061A20B1EB98796B8607EECBC699445EAA866C38E02DF59F5EDD378303A
-0733B90E7835C0AAF32BA04F1566D8161EA89CD4D14DDB953F8B910BFC8A7F03
-5020F55EF8FC2640ADADA156F6CF8F2EB6610F7EE8874A26CBE7CD154469B9F4
-ED76886B3FB679FFDEB59BB6C55AF7087BA48B75EE2FB374B19BCC421A963E15
-FE05ECAAF9EECDF4B2715010A320102E6F8CCAA342FA11532671CEB939AD2EEB
-4370BA2C96960CE9E6882316268ABAF1023ED9D2D13969EF9E53F52BC143383C
-AFC14F27A7530C1EF399707711B3AD971D9F57DE244315EED5A16F9CB6AC1524
-65C8C8458FB03FB8619B8A925DCA3AB2518F044DA696A4D6F8DAD182E1C15D7B
-C108C9538896A23A043EE66E18808902D215E82AEBA183D813D46B89A3FC847B
-A7F6E0082DE9AD8C0A83F521219955FE964A660826FE921E1EA12D7B34D65EAB
-B5E40E74A9666CBEBBFCB9A26A0526B72AF9F31F6A04305FA0284816DDEA6D1A
-5786756F613EF9040290DD2D2B27B88ECC0A1FE0DCC2035211919CBCD2DD7A8F
-35EF236D4E0749256874CDF5BA703F0C7B49EC0C9EB5C65AE1E7F7288452C619
-E013FCD5D5D5F8A517DA7305F04B4EE61B12A1A2A26C08A46982A7D1EEA07D01
-809552DB4B07FB6EE5A798324C57FC6C2A7D31D102E1BD5F296E9051464CA3CD
-F37695EB0EB77BB83F258039FCA21B8252F70CE5D3D9D74E452617B055E19B5B
-600B421C921B026BC7356AF63F2690C62B1CD9E479D62EF8F964D9BC29AE1447
-F096FA9ECF5E52F1F7E2FB34B02BDDE6C210D3A43AAADC40636AE8271DF2174A
-A63236C4BEA8FD7A6E841B4AEC2CADAA7FC481A16322BEBF01A31E4CD5A577C7
-EEA43211AC7C2C40A6EEEEE7BEEFA146BC3322E6A9E157641A67823CB2661C97
-07C1DE919CF5D1EB4550B08A8452972330B08C87A6AC91BB519667CF32F2885E
-71D69B398E7C59F815FA730BAFDD7F54260EEE5BBF6219A7A39D65B0624C9555
-CD34EAE5E7E9AA681B06C1EA575A6C41DD490E0FA258A93766707B6C8A35638A
-653E9244B25045CC2381F4998278F9844FF704AC420696AA6E18C8EA78D98163
-52ED5CDADE35979C4CEFDCA0B7C1A26211F04907D036016EE8A1F40BC4143093
-19D3F937DD6D6328882E40141CA000D42EDCD4D47A5516E5FD5205CB31F88D21
-8E855C79000D919BBFDBB843C29FE353B33833A36A6C76581DA65B8037DB5DD5
-1BA21BF81BFABEE02759C35002E9A0DDC78D460989B8948527120ECBCF5881F9
-F035B80F9269B0A846780272A15B14204B8C03A1A135092E31F162EE4BAF20BE
-D3C1EDC193FFDA52128313E51CD76189A911E82207A822DDF92F6E821A75BC5F
-762E99FD94B1148E71E873C01B46C0158170047A0E6BF5962863113893C71AF0
-FA1BB71520E364053B404B3D912E011D226A95C7ACFB4A1E7166F4B9BA67B4F7
-908FFA34D2C2199F7E5309E6DC0C76FC502D88752F6BEA537262DEC294E3CB05
-E511CA14CDF663D8745BF6703AC16FD61B43F7C3C6A903AE586FA783EA4515FD
-B3CC71B68757A66338CD91E4A09DAFEF053737D76A1A9B32BAC308021E7720A7
-8E0A341A4BA2DCAD4E0112DE60DE99539FA7B0EE73CE05BB245A1F5CFE242333
-8BFA62C67C95F0843B7369BD117C489DE934BB69D927069C072920398CC2DAB8
-62101720901D3DA6465303ABB9C19525DBBA151D0F1D8BAF70121CD368934EFB
-A68A210B8FD29391D25ACF6D77969768CF3C008DDDE81E2869083F86463FBE15
-E43370010EF7B374F3CBE74E86E80985B498014ABB6D28188DC087973B2AF56B
-71C3D7A500949D5950E745C3718317BD7E22F54D169EE7C702EA4C37AAFC853B
-2B6575BF17C3B0A910E47AB0F85C0F296B161F77E2D7E7967BE4951510732D40
-96F8C2B6D322DC5709576DC8F2E270822AE3A0C38DC54AE36A1D612D356C1347
-6E4A9C592787048C21E2D833263B65C8E4427B64AADD32C311361B018994ACC2
-ED31DE81A87D2944190F1EC792E28663DBDA732BBB7C1B39E0C9B652BC2519A9
-78AE3F205990732DB91653B03D317CEBACAB797FDFF3F01BB33C5B78B86D8783
-7AFF1ED5B3163983678D361A2B3CBD4CA1EEFDFC587E6FE91F62506F235109B6
-8E51CB8295F64F6C7E69CAE94466DE4B186B50D5551D51316DF9AB44EE853071
-B6FB652DB8B5C09EC2F4FFF2E231955CB58224DD864AB8D71468EEB44D967276
-7F048872912A3B92B0F54D5ABD5AD013B4BF2706D53FE5ADE3882F71C296F3E1
-35F4AF44A0B84D7840BFD29D466FC2D2F4E8C81B2B69C8EE5C2DAD4C1678F026
-144B7FE3A72CFAB5E1950EE2F8EAD198EED539DDCAB4840FB8ADB9ECCF6B31B7
-39B70FEE5F3BA9E758DFD9ECE3A627FB99495BCCEF3475FB360F235ED73DC910
-A787A5C59AE1AB0777ED3D08E5202A63E090D88B13C4752DC4D95113A259787E
-4C42D6C564AC849D5F9780D8EF59CE68268D052563C19581B06F7789AB1DEC3F
-EAC624CF6DDD2A821ED46B01F14A668F7ABE74A5529C94F086DB03C71EF817CA
-AD815C4D3588F99AB3A90B53EC855DDA69D299CA7C6EFCD2
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMR17
-%!PS-AdobeFont-1.1: CMR17 1.0
-%%CreationDate: 1991 Aug 20 16:38:24
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR17) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMR17 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 39 /quoteright put
-dup 45 /hyphen put
-dup 65 /A put
-dup 70 /F put
-dup 76 /L put
-dup 79 /O put
-dup 82 /R put
-dup 87 /W put
-dup 97 /a put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 104 /h put
-dup 105 /i put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 122 /z put
-readonly def
-/FontBBox{-33 -250 945 749}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F075EA0A10A15B0ED05D5039DA41B32B16E95
-A3CE9725A429B35BAD796912FC328E3A28F96FCADA20A598E247755E7E7FF801
-BDB00E9B9B086BDBE6EDCF841A3EAFC6F5284FED3C634085BA4EE0FC6A026E96
-96D55575481B007BF93CA452EE3F71D83FAAB3D9DEDD2A8F96C5840EAE5BE5DC
-9322E81DFF5E250DEB386E12A49FC9FBF9B4C25C3283F3CEA74B8278A1B09DA7
-E9AE4FBAAF23EDF5A3E07D39385D521547C3AAAB8EB70549756EBA8EF445AF4A
-497CA924ACCC3DD5456F8E2C7E36946A5BF14E2E959895F7C94F49137256BE46
-4A238684D52792234869EAE1A6D8ADF4E138B79472D2A90A6CA99E2394CC20CD
-3841733046175B20CEBE372327BF13428EED6A3E2FDF84C2DBA4B0AD584EE9DF
-B51828D3B8F385846158C29C9AC3496CB9692DD10219697B2ED4D425C3957FD8
-C4600D76E045C561216EF05D38177243C314877A69A1C22E3BEC611A2EE5A216
-9B7C264CF6D1839DBBD78A40610F2C0D7C2FE09FFA9822FF55035AD52546970F
-83EED2D30EABB1F303091EBC11A5379B12BB3F405E371519A53EA9D66174ED25
-A2E55463EC71A97BE4C04B39E68112956117C8252DB6FB14AB64534B4BCD568B
-246DB833982B38CDE7268BBF74B6B0C18091E1B1F87D32D66F4DD023D1F10D2A
-7736A960F72AC01F733A11023832CD68FB6288A5977743F6F3F23E0C1657CF5D
-E8374835BDBD2DED3690C84A1EBB8E2383A5E49E610B6F5F0F5F5EC43CFD16FF
-24FEEFB92425CCB577E17FDE4EA6C50E1448DC5726A21888E25B6D6B52DA3D3C
-E4C4C6A73C176DFEB60B6B6191B336AC4F5BAA123E1B3B6FAE4B3FA9DC8F7E39
-335277EF2294315BE95F64EBDB1F393B293FD0FDB9DEE6C89082232013130D28
-9234FF12DF47D454558A1EE8603B2832772E5CA07D18B34A4763D5B890F7173F
-B8FD38B08F847FE570367C2500AA592E8561878A86491A611865254BA6BE10DD
-700C01A3F0D254A5AA0ADBC4DA708CC9909EE3B1692657B5A07BF14258EEE82A
-137F69C604328C9E5B0F08F0C2F9A9E805CB3B78BD67578F2468DA55B04C5602
-47A6191304EA7CD9C8E48C02D0DBD1FE8CAF94EB5A41EE79C5989E3DCF332E0C
-C15A728C039FE5FB62F6E38B496E9EB7FC4DC700408E90DDB5585FF577079F94
-B4E90C8CE6DC50C1AA95F6122C334614199AD3C4E665C978E487DD75504449BC
-51586C840BC8896F38A17B41614817AF7855558578F7C3E185C523E10156BE88
-85BF39E5762F3485EB514EA2ECC3636EC62B4B6A8264F2833247FF346CB2F9E7
-A60B614898EFBCF22DC8ABFBE9124AC221ADC674209C3E008F48CFF08950DB97
-A467AAFF342F299F24EE591282FE7A0683CAC644AD052C6AE6FEE2093286820A
-1B300A7B807CE97A8AE52914D5B59529AF3549D5D7E66A82D7D3FF2447922C1D
-CD5686E54BADBDBA8A6C7BB3CF398616A993058E89F4C1BE85696A780B0B9BF8
-4A4D713CCD7DE2B305407FF0B453507B3358443FA4218550A893CAB19E69B85F
-AA7E14C6CCAE0BAC75A8848420F36B2A81903CB97527CAB8958D5B168CFBB1E3
-3FFCE29907DE48683ED44B0682FD00C9C4E9160B324596E092DE8DA82D985B84
-7EBEC02E90C23EB9DDBC078E37ED09A882ED52EDF3DE1778D9DC0C6E23202F54
-FF45BB75860360C4A4A191014DF0D8F72DE57B79A7EDB8C52306217C11545A50
-28C9CFA7694C8523544E15E364E3909089872528B191CE387B3EBD9E5C92609A
-71C221C41EB2E4DEE5AB10D44746C8E8D57D5710F5E51D4C5ADADE0462CA1C6E
-798812EC34CD814C0792DEAC9822367468020311E7791FE7DAB1732EDE77F295
-72BB1C054A8997E3756C6DC7A2BFB7B0A703EA991872FFABD8F03DBD72017FF5
-6216FD51066BE58C345D713218D73A9D32E54931FC794F5F464F17D0F76769DE
-0A9BEF54CD93899972807164A286B6DDCF966646B26E93483B504C57B5106300
-DDB17C126CBF0C324F7B9B2F7E296AE4FEACFC248A55C607B075E5C265F00DAC
-BE7D3FE89941F270BC33DC1462A42A97FD5201A4AD94EC4C93B283E374C238A0
-D0832624C868FB36749A117030A6BA50F0F201D0F0C46FCFC1808B9B8D0E84B8
-20377A74E1AD9DE13FD281D9450467C5FC28EEBD9DC47F5180FDD007DC16ACEB
-42A2B2B8520ABFE8F89D2C54EB9AC77284FA19B6812999E14C4512A43A3166E2
-F6B46E8D9E021691B0C02969558B00714B0DB60BFA58D64D86707E7BECA25A89
-2BFD8ECDC6F009D2DB760E57CDF17579EAB32D86CC5657CEDE8D8753F2D5055A
-26C4F19519023FE8AA01BF84D0829D9C316F2061487CC5F4309FB8707D8F8FCA
-7340D30EAACEFFC78E7FC94E6D3BC634294B3DE805DA5C44BAA53056754ADA43
-1737E9EA0FE90D2AD000A6BCCFAAF21266AF7D81D878AB96C1367FF462022559
-6266E00EDCE370F06FC755C4D4F0B5EE3C2779D922EE3750EA75199BAB8D50F6
-F6D0AECD37440413249E41C339290C346EC53E530428592BFF99A43EFC69C784
-3F0B877A34BB0690DEB5104413E1B59C89070235212216DBF040FD1205486C69
-C673AAA2376AA7047124AA3508BB89784DE93A2E934533D5153235A6C5D23173
-B6B385566DCF0B313B59ABCD3428BAA592165389CE18E40E959DFDC17F88F998
-FA4D9AA18E98FAB3F92448B4A5D28B4102A4359770DC554BA58DE980F60D2305
-15C612737EAC879401BA470508AEC08397019C14E1C34244B0FE994843FCE823
-719EC52F6E00B75675FC3D3FC0B1F2EDB0B37BAAA2A0EC1389F395D3F4AD6EB2
-7CD220661BAC0E5438E80D8D64CD68230B07085DC27306B956F542D479EE7CF3
-FDFB6FC9DFA01C25792ADA79575324AF12F4447DA2947957FBE640092DDEB879
-5BE484280D01DD910B6D69282E772C9140F49B2742651DCA95B7EAAC55CE08B5
-13FD71F51B11F7FF7021AF93FEE2A6FF5A6223B155A4D1F92E99C576088EB402
-519C9189B7D5D345CFA9347845D916F2ECA2C6B4142EE4B33C13F86D18ACE6E1
-9CE6DAB6B6F336197E4EC25ED0B38D7DC087A45C32B520454E42E248D18A4F11
-DEDF9778A9BB1FDC30768B3DC7E5A39FD51434223B46716387F7A379182B21C7
-CAB5A86AC0AD2900E20EB2566190931E7E86C548F88DC1B55C8B80879E84E7E3
-0B5739D30B7FE204E59D281670EC90E986AC08BD38230E9A341A460149702565
-214704BDDC9176033F68721B3D0C6118484BC8D06B15CB3D8531E19AAC3B3A3E
-4F44BF226AA4770612D4B3537988141D895CBD36718996ECA4138F10EFBA52A4
-1F89FDB0450D353E0B5F2BA4BC42372B12DD4ACA8521EF5E9C1DF0A575C4AD65
-379F55A3725DFB5C6D8C14B7B8BC22AEDF86886F95E2CB00134C55DB9CB49981
-CF944A6F2B744806FEED501FFCCBEE919F6B1E2973881A0941D9AF8E6781491A
-0C32555340FD74545C59D6886619F873207E9961516E26AD9241C2BAFED73CF4
-9DB9995BBEFC11174B83DB92E3E329A7817DB69DF9DF73CC18B369F0C060EFEA
-B8D36C848A571210EE2A2AEC9B341F0E8AD42D99702FE7442E2DA2111DB02444
-E0C0C2BD78E6E6268EE7922FBE5202F186C0FF0FF59071ED4BD5E8E3606EEF7C
-302A5B8A4686CC8EE8D5D6EC6716103D156FFC7B8DA9D7180918EA1464543DFA
-96B98E10C561E05C6BC273B5C3B55D4A58357E1C6DF714F5345B8225F582D978
-793B743C53485EDDBFEAB2E2E8827FF86F1891AE4683EABBFEF7265B23254B57
-98FDEAD48C78800991815269E9F029A7A095DDCAA3BBF39D8186CE1A4F83463B
-A176DA3E3CB4AEA081BE712543BBD541A73671E44D7A6141AB3E629DE47EA084
-BB7D9EE21C8A895960FAA8B4EAA51BEAB75E8E08D4BACD3C0BD48956BE5DD244
-94E1C304AEDB176FF7D74D0E42F3475C9E500D4F6D2C49AEF88C3969A08DFA04
-C985CAFED0983FF889341CFFA5BAB503A33F21252B56D3AC1E688871A645BA49
-76DAA7AA27E605D1B6B3D7E3908A55D1579E700512C5E85FD4FF22F977063AF9
-B4906B791A6C5052B70B4CABAB353C68F6273D47708C871FB6D9B7AE2EFE1867
-830FE235F724072DA524A2B3CB4B64B40DE23C7700EE771F0E603E7C2321BE21
-F86601E481AA131BE8ED78F0099B56587F301B59DAD2AC84175B806E3B2FF14D
-6D3F7545B656173C68D813B22D6C07F9457FACEEB2B4524C034F9663E8DBFADF
-556CBF171715929F315E271F1E8F0828523D8CE00E875260FE7BF156EA661B37
-1C1ACB041A7145A2E7C9085477D60BBA7176892BA16A65F5C769586281F93629
-269BBA849FD795648D8A78E6F0B49758B70C52DE747071076D994972B2B4AA0D
-8308D55B2B70E64CBA7576D90C07D4D026255E70E7C1ED3F1D4B5E1FA63B1270
-136D2FA2AFED86EC1A2B33126B2650077DF2545AB0E93A578E846E9BE957350B
-AB6B4545EDAE7114C2043DA611FDC14EE57341E0A186E89A87BEB9AC325B68D4
-12C366E1F55F865C4DC08D6F495324505F54EF25FE095878929A1A12D1E9D65B
-B4FCE8F49CDE56B57DB3DB98239C05E4E3212F0E49DE66C60690021C4FD89E0F
-76936ABC611CE8BCD007093F0FD9BB44D3A96CEE2FF315F61757FD230D70FA59
-6E97772DCD8C97CA2A41B7EC8155089CA0ABE2BBE4FE34E23A817198FA9B9950
-E7FF865182FFAD297584F5B124674B7245B11F0262A605B7B113C4E64B5C90FA
-1FCFB30FE868A71B558DFE3C39BCB53FC058EABA5F257A467521096772B103DA
-320FC5C1F8C68A85537DE55B26BDE4B0AEFFB406EDACE2FFA3F47D47968BF947
-4B369F88DF79C6317AF228E8CA78E9372CBB935C7469C25B59B67653B188A06C
-49FAFE69BD5D933E2C4DE9B1207A7314931FD59C06C3A0EFF498140FF5E5A761
-F2E2ABB6CB4A9F8F25737551D2F5828649C64BD8C138528263793C663B9F550D
-CB4F7AF7E007F677A50E29891452D56F654F30AD5FB93C46A86E03CDB4CB379A
-4378C69E1C48CD65BC06918D149E529EE07A9DB2B9D6C5E951CD90CAF69C2744
-85064E6D9565F9F4C337E492C28AAB023D78B2A72AEC70392F89F15D69616FEC
-E74774C9E8995EB344A88B6B86ECB9ABABFCFAC17041554C30F1612B072E261A
-12326F2768BA7301FDF714039B7FCAE28D8D826573B48B9FD1A2F48A570C3443
-05D1AD4D1290773FDA57D3348D8D2EE3B13D587E7F2A5EDEC4D089F88633BF15
-1DE1907A9104FB30E8A06DB14FF31C6211D14AE824A8AC9D46ABEFA42CACD26C
-D9F4BE702C46FF3F3B916EA275E6B4BA5C868ECBE76728C3EEDCE84CB9BBFB63
-1CE927FE28AAE0925BE97C450FB410E63B0A76350559DDBFA5E61216B289750C
-DCBCEBCEEBAE0B9788760F581B4DE35184968D85F716BF65EEE3896DE814713D
-B0958CA9D120ABF2776830D3535DCB1866428EC9D01702F8372E27E5A2E57446
-0572381313C196FD1E86AEBB69E917D331E63C9DBB30E2D5F28360B2D3C002F4
-08F945B48D5F5B740071C39779ED7FF1AEFB8D2DE646EE0A5BADC9634CBD3812
-64615760C5BCEAC7F714A14682358B116855E098B007925A3E52D59DB0D18CC2
-FABFA3B8824E65C765A858EFA69AB3EA2AF6116937256D131D565CAE163E832C
-CC3C91102FF3487087EFCE11B21778F7CBF8F71D04C66B6314A6857D1FB7F127
-C83A5C9C2CAF3BC8A3663F7EEEFF0432AEDB16C77034088071026D5AD497D517
-40297AC8E77B69FD44FB1E2ECC96B5ACE9504C7C92633535E8AC8E186EEE1183
-A2ACC6E3F8ED98C0BF04E227F1E5EB273C28DAB32246F163BFCA0E1455831E25
-39D7AEAB974C4E1218973954E1A6E46551A9FE1334FA483E9DD671C2445EBDA2
-B9503AD86BFE89B4FF5B6F49618C835B82C0380F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-TeXDict begin 40258431 52099146 1000 600 600 (READ_ME.dvi)
-@start /Fa 152[42 42 102[{}2 83.022 /CMSY10 rf /Fb 135[44
-1[44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44
-44 44 44 44 44 17[44 9[44 3[44 2[44 44 44 44 44 10[44
-1[44 2[44 44 44 44 2[44 2[44 13[44 44 18[{}41 83.022
-/CMTT10 rf /Fc 134[59 3[62 44 44 46 59 62 56 62 93 31
-1[34 31 62 56 34 51 62 50 62 54 10[85 5[77 1[88 4[42
-88 3[86 81 14[56 56 56 56 2[31 26[56 56 5[62 12[{}36
-99.6264 /CMBX12 rf /Fd 214[28 28 40[{}2 83.022 /LASY10
-rf /Fe 193[65 1[65 60[{}2 83.022 /CMMI10 rf /Ff 133[37
-44 44 60 44 46 32 33 33 44 46 42 46 69 23 44 25 23 46
-42 25 37 46 37 46 42 2[42 3[51 2[85 62 62 60 46 61 65
-57 65 62 76 52 2[30 62 2[57 63 60 59 62 65 2[65 2[23
-4[42 42 42 42 42 1[42 23 28 23 2[32 32 23 5[23 8[37 4[42
-42 3[69 1[46 48 11[{}69 83.022 /CMR10 rf /Fg 134[50 3[53
-37 38 39 1[53 48 53 80 27 2[27 53 48 29 44 53 42 53 46
-10[72 73 66 53 72 72 65 72 1[91 57 2[36 75 2[63 73 69
-1[72 6[27 4[48 48 48 48 48 2[27 32 8[48 16[48 6[53 12[{}46
-83.022 /CMBX10 rf /Fh 138[75 52 53 55 1[75 67 75 112
-37 2[37 75 2[61 75 60 75 65 12[94 75 2[92 2[128 3[50
-5[97 1[102 11[67 67 67 67 67 3[45 25[67 67 5[75 12[{}32
-119.552 /CMBX12 rf /Fi 140[38 38 4[81 11[49 41[49 3[49
-49 49 49 48[{}9 99.6264 /CMR12 rf /Fj 133[58 4[73 51
-52 51 2[66 73 111 36 2[36 73 2[58 73 58 1[66 9[137 4[98
-2[103 2[83 5[86 4[99 19[43 5[36 39[{}23 143.462 /CMR17
-rf end
-%%EndProlog
-%%BeginSetup
-%%Feature: *Resolution 600dpi
-TeXDict begin
-%%BeginPaperSize: Letter
-letter
-%%EndPaperSize
- end
-%%EndSetup
-%%Page: 1 1
-TeXDict begin 1 0 bop 614 872 a Fj(A)-15 b(W)l(OR)44
-b(-)f(Fic)l(hier)i(Lisez-moi)d(de)i(l'administrateur)1665
-1295 y Fi(13)32 b(mars)h(2007)515 1653 y Fh(T)-11 b(able)45
-b(des)g(mati)m(\022)-64 b(eres)515 1835 y Fg(1)76 b(Compatibilit)n
-(\023)-46 b(e)2117 b(2)515 2018 y(2)76 b(S)n(\023)-46
-b(ecurit)n(\023)g(e)2353 b(2)515 2201 y(3)76 b(Installation)2217
-b(2)639 2300 y Ff(3.1)84 b(D)n(\023)-39 b(epaquetage)26
-b(des)h(pages)g(PHP)20 b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)131 b(2)639 2400
-y(3.2)84 b(P)n(aram)n(\022)-39 b(etres)24 b(de)k(con\014guration)35
-b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
-f(.)h(.)f(.)h(.)131 b(3)639 2500 y(3.3)84 b(Initialisation)27
-b(de)h(la)f(base)84 b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
-f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)131 b(4)639
-2599 y(3.4)84 b(Con\014guration)26 b(par)h(d)n(\023)-39
-b(efaut)27 b(des)h(comptes)79 b(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f
-(.)h(.)f(.)h(.)f(.)h(.)131 b(4)515 2782 y Fg(4)76 b(Main)m(tenance)2159
-b(4)639 2881 y Ff(4.1)84 b(Visualisation)27 b(des)g(ob)5
-b(jets)28 b(et)f(des)h(\014c)n(hiers)68 b(.)41 b(.)h(.)g(.)f(.)h(.)f(.)
-h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)131 b(4)639 2981 y(4.2)84
-b(Netto)n(y)n(age)26 b(de)i(la)f(base)50 b(.)42 b(.)f(.)h(.)f(.)h(.)g
-(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)
-h(.)131 b(5)515 3164 y Fg(5)76 b(Authen)m(ti\014cation)33
-b(d)n(\023)-46 b(edi)n(\023)g(ee)30 b(-)i(P)m(ersonnalisation)935
-b(5)1926 5255 y Ff(1)p eop end
-%%Page: 2 2
-TeXDict begin 2 1 bop 515 523 a Fh(1)134 b(Compatibilit)m(\023)-64
-b(e)639 705 y Ff(Cette)22 b(application)e(p)r(eut-)n(^)-39
-b(etre)21 b(utilis)n(\023)-39 b(ee)20 b(sur)h(un)g(serv)n(eur)f
-(fonctionnan)n(t)h(a)n(v)n(ec)e(Apac)n(he,)515 805 y(MySQL\()p
-Fe(>)p Ff(=4\))26 b(et)i(PHP)f(\()p Fe(>)p Ff(=4\).)515
-1020 y Fg(PHP)83 b Ff(L'application)21 b(ne)g(n)n(\023)-39
-b(ecessite)20 b(pas)g(de)i(con\014guration)d(de)j(PHP)e(particuli)n
-(\022)-39 b(ere.)19 b(Elle)515 1120 y(fonctionne)k(quelque)f(soit)h(la)
-g(v)-5 b(aleur)22 b(du)h(param)n(\022)-39 b(etre)21 b(de)i
-(con\014guration)e(register)p 3083 1120 25 4 v 28 w(globals,)515
-1220 y(utilise)38 b(les)g(sessions)e(via)h(les)h(fonctions)g(in)n(tro)r
-(duites)f(en)h(PHP4.)f(L'application)g(fonc-)515 1319
-y(tionne)29 b(quelque)g(soit)g(la)g(v)n(erb)r(osit)n(\023)-39
-b(e)27 b(des)i(a\016c)n(hages)f(d'erreur)g(et)h(de)h(w)n(arning)d(PHP)
--7 b(,)29 b(car)515 1419 y(nous)h(a)n(v)n(ons)e(tra)n(v)-5
-b(aill)n(\023)-39 b(e)28 b(\022)-42 b(a)28 b(\023)-39
-b(eliminer)29 b(tous)h(les)g(messages)f Fd(\()-17 b(\()22
-b Ff(E)p 2441 1419 V 30 w(NOTICE)g Fd(\))-17 b(\))30
-b Ff(PHP)g(qui)g(sur-)515 1518 y(viennen)n(t)d(par)g(exemple)h(lors)e
-(d'une)i(comparaison)e(a)n(v)n(ec)g(une)i(v)-5 b(ariable)26
-b(non-initialis)n(\023)-39 b(ee.)639 1618 y(Les)28 b(scripts)f(PHP)g
-(n'acc)n(\022)-39 b(eden)n(t)26 b(pas)h(en)f(\023)-39
-b(ecriture)26 b(au)i(syst)n(\022)-39 b(eme)26 b(de)i(\014c)n(hier,)f
-(sauf)g(p)r(our)515 1718 y(l'upload)e(de)h(\014c)n(hiers.)f(Le)g
-(dossier)g Fd(\()-17 b(\()20 b Ff(\014c)n(hiers)g Fd(\))-17
-b(\))25 b Ff(doit)e(^)-39 b(etre)25 b(accessible)g(en)e(\023)-39
-b(ecriture)24 b(par)h(les)515 1817 y(scripts)i(PHP)g(sans)g(quoi)g(la)g
-(fonctionnalit)n(\023)-39 b(e)26 b(d')n(\023)-39 b(ec)n(hange)26
-b(de)i(\014c)n(hier)f(serait)f(in)n(utilisable.)515 2033
-y Fg(MySQL)83 b Ff(Les)22 b(scripts)g(PHP)h(ne)f(mo)r(di\014en)n(t)h
-(pas)g(structurellemen)n(t)f(la)g(base)g(de)h(donn)n(\023)-39
-b(ee)515 2133 y(MySQL,)33 b(il)h(su\016t)g(donc)g(d'un)g(compte)g(p)r
-(ermettan)n(t)g(les)g(instructions)f(SELECT,)g(IN-)515
-2232 y(SER)-7 b(T,)23 b(UPD)n(A)-7 b(TE,)24 b(DELETE)e(sur)h(les)g
-(tables)g(de)h(l'application.)f(P)n(our)f(indiquer)h(\022)-42
-b(a)24 b(l'ap-)515 2332 y(plication)j(quel)h(compte)f(MySQL)g
-(utiliser,)h(v)n(euillez)f(v)n(ous)g(rep)r(orter)f(\022)-42
-b(a)27 b(la)g(section)h(3.3.)515 2607 y Fh(2)134 b(S)m(\023)-64
-b(ecurit)m(\023)g(e)639 2788 y Ff(Cette)19 b(application)f(a)d(\023)-39
-b(et)n(\023)g(e)17 b(d)n(\023)-39 b(ev)n(elopp)n(\023)g(ee)16
-b(en)i(gardan)n(t)f(toujours)h(\022)-42 b(a)18 b(l'esprit)g(les)g
-(probl)n(\022)-39 b(emes)515 2888 y(de)28 b(s)n(\023)-39
-b(ecurit)n(\023)g(es.)26 b(Nous)i(ne)h(p)r(ouv)n(ons)c(\023)-39
-b(evidemmen)n(t)28 b(pas)f(la)h(garan)n(tir)f(failles)h(ni)g(bugs,)g
-(mais)515 2988 y(nous)34 b(sommes)g(\014x)n(\023)-39
-b(e)33 b(des)h(r)n(\022)-39 b(egles)32 b(de)j(programmation)d(p)r(our)g
-(\023)-39 b(eviter)33 b(les)h(failles)h(les)f(plus)515
-3087 y(couran)n(tes.)19 b(T)-7 b(outes)21 b(les)f(donn)n(\023)-39
-b(ees)20 b(issue)g(de)h(l'utilisateur)g(lors)f(des)h(traitemen)n(ts)f
-(des)h(pages)515 3187 y(w)n(eb)g(son)n(t)h(trait)n(\023)-39
-b(ees)20 b(p)r(our)f(\023)-39 b(eviter)20 b(des)i(probl)n(\022)-39
-b(emes)20 b(d'insertion)h(de)h(co)r(de)g(dans)f(les)h(requetes)515
-3287 y(SQL.)g(L'authen)n(ti\014cation)h(des)g(utilisateurs)f(est)h
-(syst)n(\023)-39 b(ematique,)21 b(v)n(\023)-39 b(eri\014)n(\023)g(ee)20
-b(\022)-42 b(a)23 b(c)n(haque)f(page)515 3386 y(et)k(rep)r(ose)f(sur)g
-(le)h(syst)n(\022)-39 b(eme)25 b(des)h(sessions)e(PHP)-7
-b(.)26 b(En)f(rev)-5 b(anc)n(he,)25 b(il)h(faut)h(noter)e(que)h(le)g
-(for-)515 3486 y(m)n(ulaire)19 b(d'authen)n(ti\014cation)i(n'est)g(pas)
-f(prot)n(\023)-39 b(eg)n(\023)g(e)17 b(con)n(tre)i(l'usurpation)h(de)h
-(mots)f(de)h(passe)515 3585 y(car)27 b(les)i(con)n(train)n(tes)d(donn)n
-(\023)-39 b(ees)27 b(dans)i(le)f(cahier)g(des)g(c)n(harges)f(ne)h(le)h
-(p)r(ermetten)n(t)g(pas,)f(d)r(^)-44 b(u)515 3685 y(moins,)33
-b(il)h(n'est)f(pas)g(p)r(ossible)h(d'utiliser)f(un)h(cryptage)e
-(e\016cace)h(\(assym)n(\023)-39 b(etrique\))32 b(sans)515
-3785 y(mo)r(di\014er)22 b(le)g(syst)n(\022)-39 b(eme)21
-b(d'authen)n(ti\014cation)i(d)n(\023)-39 b(el)n(\023)g(egu)n(\023)g(ee)
-19 b(et)j(sans)g(utiliser)g(une)h(con\014guration)515
-3884 y(de)k(serv)n(eur)e(W)-7 b(eb)28 b(sp)n(\023)-39
-b(eci\014que.)26 b(Consid)n(\023)-39 b(erez,)25 b(p)r(our)i(r)n(\023)
--39 b(esoudre)25 b(ce)i(probl)n(\022)-39 b(eme,)25 b(l'emploi)j(sur)515
-3984 y(serv)n(eur)c(w)n(eb)h(s)n(\023)-39 b(ecuris)n(\023)g(e)23
-b(\(HTTPS\))k(et)f(l'utilisation)g(d'une)g(liaison)f(en)n(tre)g(le)h
-(serv)n(eur)e(w)n(eb)515 4084 y(et)k(le)f(serv)n(eur)f(d'authen)n
-(ti\014cation)i(au)f(tra)n(v)n(ers)e(d'un)j(r)n(\023)-39
-b(eseau)26 b(de)h(con\014ance.)515 4358 y Fh(3)134 b(Installation)515
-4557 y Fc(3.1)112 b(D)n(\023)-54 b(epaquetage)39 b(des)f(pages)g(PHP)
-639 4710 y Ff(L'application)j(est)h(livr)n(\023)-39 b(ee)39
-b(dans)j(une)f(arc)n(hiv)n(e)f(de)i(t)n(yp)r(e)f(tarball)g(compress)n
-(\023)-39 b(ee)39 b(qui)515 4809 y(con)n(tien)n(t)18
-b(toute)g(l'arb)r(orescence)f(et)h(les)h(\014c)n(hiers)e(PHP)h(n)n
-(\023)-39 b(ecessaires.)15 b(Il)k(su\016t)g(de)f(d)n(\023)-39
-b(ecompresser)1926 5255 y(2)p eop end
-%%Page: 3 3
-TeXDict begin 3 2 bop 515 523 a Ff(cette)27 b(arc)n(hiv)n(e)f(en)h
-(conserv)-5 b(an)n(t)26 b(l'arb)r(orescence)f(dans)i(un)g(dossier)f
-(publi)n(\023)-39 b(e)27 b(par)f(v)n(otre)g(ser-)515
-623 y(v)n(eur)f(W)-7 b(eb.)27 b(Les)f(\014c)n(hiers)f(de)i
-(con\014gurations)d(son)n(t)i(pr)n(\023)-39 b(esen)n(t)24
-b(et)j(con)n(tiennen)n(t)f(des)g(v)-5 b(aleurs)515 722
-y(d'exemple)27 b(que)h(v)n(ous)f(p)r(ourrez)f(adapter)h(\022)-42
-b(a)27 b(v)n(otre)f(situation.)515 951 y Fc(3.2)112 b(P)m(aram)n(\022)
--54 b(etres)38 b(de)g(con\014guration)639 1104 y Ff(Cette)33
-b(application)f(comp)r(orte)g(deux)h(\014c)n(hiers)f(de)h
-(con\014guration)e(qui)i(son)n(t)f(dans)g(le)515 1203
-y(dossier)f Fd(\()-17 b(\()24 b Ff(include)f Fd(\))-17
-b(\))p Ff(.)33 b(Les)f(\014c)n(hiers)g(existen)n(t)h(dans)f(la)g(v)n
-(ersion)f(distribu)n(\023)-39 b(ee)32 b(et)h(on)n(t)f(p)r(our)515
-1303 y(but)c(de)g(servir)e(de)i(mo)r(d)n(\022)-39 b(ele.)515
-1433 y Fg(connect.inc.php)31 b(:)41 b Ff(ce)32 b(\014c)n(hier)f(con)n
-(tien)n(t)g(les)g(co)r(ordonn)n(\023)-39 b(ees)29 b(du)j(serv)n(eur)e
-(MySQL,)h(de)722 1533 y(l'utilisateur)d(SQL)f(et)h(de)g(la)f(base)g
-(que)g(l'application)g(utilisera.)515 1653 y Fg(con\014g.inc.php)k(:)41
-b Ff(ce)35 b(\014c)n(hier)f(con)n(tien)n(t)h(tout)g(le)g(reste)g(de)g
-(la)g(con\014guration)e(de)j(l'ap-)722 1752 y(plication.)k(Le)g(\014c)n
-(hier)g(est)g(un)g(script)g(PHP)g(qui)g(initialise)g(un)g(tableau)g(m)n
-(ulti-)722 1852 y(dimen)n(tionnel.)f(Ce)f(c)n(hoix)f(\022)-42
-b(a)36 b(\023)-39 b(et)n(\023)g(e)37 b(fait)h(par)g(commo)r(dit)n(\023)
--39 b(e,)37 b(et)h(p)r(our)g(p)r(ermette)h(de)722 1951
-y(bien)h(hi)n(\023)-39 b(erarc)n(hiser)37 b(les)i(information,)h(en)f
-(rev)-5 b(anc)n(he,)39 b(la)h(syn)n(taxe)e(est)i(fourb)r(e.)14
-b(.)g(.)722 2051 y(N'oubliez)28 b(pas)f(de)h(virgule)13
-b(!)27 b(T)-7 b(outes)28 b(les)f(constan)n(tes)f(son)n(t)h(d)n(\023)-39
-b(ecrites)27 b(ci-dessous.)722 2191 y Fg($adminMail)k(:)41
-b Ff(adresse)23 b(e-mail)h(de)g(l'administrateur.)g(A\016c)n(h)n(\023)
--39 b(ee)24 b(\022)-42 b(a)24 b(l'utilisateur)905 2291
-y(lorsque)i(qu'une)i(erreur)e(in)n(terne)i(\022)-42 b(a)27
-b(l'application)g(s'est)g(pro)r(duite.)722 2411 y Fg($automatedMail)k
-(:)41 b Ff(adresse)31 b(e-mail)g(de)h(r)n(\023)-39 b(ep)r(onse)30
-b(des)i(courriels)f(en)n(v)n(o)n(y)n(\023)-39 b(es)29
-b(au-)905 2510 y(tomatiquemen)n(t)e(par)g(l'application.)722
-2630 y Fg(A)m(UTH)33 b(:)41 b Ff(P)n(aram)n(\022)-39
-b(etres)24 b(d'authen)n(ti\014cation)905 2770 y Fg(POP)32
-b(:)41 b Ff(P)n(aram)n(\022)-39 b(etres)24 b(p)r(our)j(les)h(serv)n
-(eurs)d(mail)j(POP)1060 2911 y Fg(SER)-11 b(VERS)31 b(:)41
-b Ff(Chaque)26 b(\023)-39 b(el)n(\023)g(emen)n(t)27 b(de)h(ce)g
-(tableau)g(\022)-42 b(a)28 b(p)r(our)g(clef)h(le)f(nom)1201
-3010 y(de)d(domaine)f(du)h(fournisseur)e(de)i(service)f(de)g(courriel)f
-(\()i(partie)f(sui-)1201 3110 y(v)-5 b(an)n(t)27 b(le)g(@)g(dans)g(une)
-g(adresse)f(e-mail\))g(\022)-42 b(a)27 b(p)r(our)g(v)-5
-b(aleur)26 b(un)h(tableau)1201 3210 y(asso)r(ciatif)g(de)h(la)f(forme)g
-(suiv)-5 b(an)n(te)1201 3350 y Fg(sub)s(domain)31 b(:)41
-b Ff(adresse)23 b(complete)i(du)g(serv)n(eur)e(o\013ran)n(t)g(le)i
-(service)1284 3449 y(POP)1201 3569 y Fg(p)s(ort)32 b(:)41
-b Ff(n)n(um)n(\023)-39 b(ero)39 b(de)h(p)r(ort)h(TCP)f(utilis)n(\023)
--39 b(e)39 b(p)r(our)h(se)h(connecter)e(au)1284 3669
-y(service)27 b(POP)1201 3789 y Fg(username)p 1604 3789
-29 4 v 34 w(is)p 1703 3789 V 34 w(full)p 1873 3789 V
-33 w(mail)k(:)41 b Ff(Bo)r(ol)n(\023)-39 b(een)38 b(\(true)j(ou)e
-(false\))h(indican)n(t)1284 3888 y(si)k(le)g(nom)g(d'utilisateur)g
-(\022)-42 b(a)43 b(utiliser)h(p)r(our)f(l'authen)n(ti\014cation)1284
-3988 y(est)28 b(l'adresse)e(e-mail)h(compl)n(\022)-39
-b(ete.)26 b(C'est)i(utile)g(p)r(our)f(les)g(serv)n(eurs)1284
-4088 y(POP)17 b(g)n(\023)-39 b(eran)n(t)16 b(des)j(adresses)d(email)i
-(sur)g(plusieurs)g(domaines)g(\(comme)1284 4187 y(w)n(anado)r(o)26
-b(/)h(orange)f(au)i(momen)n(t)f(o)r(\022)-44 b(u)27 b(j')n(\023)-39
-b(ecris)27 b(ce)g(do)r(cumen)n(t\))905 4327 y Fg(b)m(ypass)p
-1186 4327 V 35 w(if)p 1277 4327 V 34 w(lo)s(cal)k(:)41
-b Ff(Bo)r(ol)n(\023)-39 b(een)37 b(indiquan)n(t)i(si)g(l'authen)n
-(ti\014cation)g(doit)e(^)-39 b(etre)1060 4427 y(outrepass)n(\023)g(ee)
-21 b(si)h(la)h(connexion)f(s'e\013ectue)h(depuis)h(le)f(serv)n(eur)e
-(lui-m)n(^)-39 b(eme.)722 4567 y Fg(CSS)32 b(:)41 b Ff(P)n(aram)n(\022)
--39 b(etres)24 b(des)k(st)n(yles)e(de)i(pages)905 4707
-y Fg(CHOOSER)p 1387 4707 V 33 w(LIST)33 b(:)41 b Ff(Ce)19
-b(tableau)g(asso)r(ciatif)g(con)n(tien)n(t)g(la)g(liste)g(des)h(st)n
-(yles)1060 4807 y(CSS)29 b(\022)-42 b(a)28 b(utiliser.)h(Les)f(clefs)h
-(son)n(t)f(les)g(lib)r(ell)n(\023)-39 b(es)28 b(des)g(th)n(\022)-39
-b(emes)28 b(\022)-42 b(a)28 b(a\016c)n(her)g(et)1060
-4907 y(les)33 b(v)-5 b(aleurs)33 b(son)n(t)f(les)h(noms)g(des)g(\014c)n
-(hiers)f(CSS)i(corresp)r(ondan)n(ts,)d(sans)1060 5006
-y(c)n(hemin,)d(ni)g(extension.)1926 5255 y(3)p eop end
-%%Page: 4 4
-TeXDict begin 4 3 bop 722 523 a Fg(MAIL)33 b(:)905 680
-y(TEMPLA)-8 b(TES)33 b(:)41 b Ff(Ce)28 b(tableau)h(con)n(tien)n(t)g
-(des)f(tableaux)h(asso)r(ciatifs)e(don)n(t)1060 779 y(les)g(clefs)f
-(seron)n(t)g(utilis)n(\023)-39 b(ees)26 b(dans)g(les)g(passages)f(de)i
-(param)n(\022)-39 b(etres)24 b(HTML,)1060 879 y(et)k(con)n(tiennen)n(t)
-f(des)h(sous-tableaux)e(de)h(la)h(forme)f(suiv)-5 b(an)n(te)27
-b(:)1060 1036 y Fg(caption)32 b(:)41 b Ff(In)n(titul)n(\023)-39
-b(e)28 b(qui)f(sera)g(a\016c)n(h)n(\023)-39 b(e)26 b(\022)-42
-b(a)27 b(l'utilisateur)1060 1164 y Fg(tpl)p 1183 1164
-29 4 v 34 w(\014le)k(:)41 b Ff(Nom)d(du)g(\014c)n(hier)g(\(a)n(v)n(ec)e
-(l'extension)i(PHP\))f(con)n(tenan)n(t)g(le)1201 1264
-y(mo)r(d)n(\022)-39 b(ele.)722 1421 y Fg(SUPER)m(USERS)32
-b(:)41 b Ff(Ce)19 b(tableau)f(con)n(tien)n(t)g(la)g(liste)g(des)h
-(login)e(des)h(sup)r(er-utilisateurs)905 1520 y(\(ceux)28
-b(qui)f(on)n(t)h(le)f(droit)g(de)h(supprimer)f(des)h(r)n(\023)-39
-b(eunions\))722 1648 y Fg(UPLO)m(AD)34 b(:)41 b Ff(P)n(aram)n(\022)-39
-b(etres)14 b(concernan)n(t)k(l'attac)n(hemen)n(t)f(de)i(\014c)n(hiers)e
-(aux)h(r)n(\023)-39 b(eunions)905 1805 y Fg(accepted)p
-1272 1805 V 35 w(\014les)31 b(:)41 b Ff(T)-7 b(ableau)27
-b(des)h(extensions)e(qui)i(son)n(t)f(autoris)n(\023)-39
-b(ees.)515 2038 y Fc(3.3)112 b(Initialisation)39 b(de)e(la)h(base)639
-2191 y Ff(T)-7 b(out)28 b(les)g(\014c)n(hiers)f(n)n(\023)-39
-b(ecessaires)25 b(son)n(t)i(rang)n(\023)-39 b(es)25 b(dans)j(le)g
-(dossier)e Fd(\()-17 b(\()22 b Ff(install)g Fd(\))-17
-b(\))p Ff(.)28 b(V)-7 b(ous)28 b(uti-)515 2291 y(liserez)d
-(principalemen)n(t)h(le)g(\014c)n(hier)g Fd(\()-17 b(\()21
-b Ff(RAZBase.php)f Fd(\))-17 b(\))p Ff(.)26 b(App)r(el)n(\023)-39
-b(e)26 b(au)g(tra)n(v)n(ers)e(du)j(serv)n(eur)515 2390
-y(w)n(eb,)j(il)g(v)n(ous)f(p)r(ermettra)h(automatiquemen)n(t)f(de)i
-(mettre)f(en)g(place)g(la)g(structure)f(de)h(la)515 2490
-y(base)24 b(de)g(donn)n(\023)-39 b(ees,)23 b(et)i(optionnellemen)n(t,)g
-(d'ins)n(\023)-39 b(erer)22 b(un)j(jeu)g(d'essai)f(p)r(our)g(tester)g
-(l'appli-)515 2589 y(cation)h(sur)g(v)n(otre)g(serv)n(eur.)f(Si)i(v)n
-(ous)f(ne)h(souhaitez)f(pas)g(utiliser)h(de)f(compte)h(SQL)g(a)n(y)n
-(an)n(t)515 2689 y(le)k(droit)g(d'alt)n(\023)-39 b(erer)28
-b(la)h(structure)h(des)g(tables)g(de)g(v)n(otre)f(base)g(a)n(v)n(ec)g
-(ce)h(script)g(php,)g(v)n(ous)515 2789 y(p)r(ouv)n(ez)24
-b(ex)n(\023)-39 b(ecuter)22 b(le)j(script)f Fd(\()-17
-b(\()19 b Ff(base.sql)f Fd(\))-17 b(\))25 b Ff(a)n(v)n(ec)e(v)n(otre)g
-(clien)n(t)h(SQL)g(fa)n(v)n(ori.)f(Le)h(jeu)h(d'essai)515
-2888 y(se)i(trouv)n(e)g(dans)g(le)g(\014c)n(hier)g Fd(\()-17
-b(\()22 b Ff(jeu)p 1573 2888 25 4 v 31 w(essai.sql)e
-Fd(\))-17 b(\))p Ff(.)515 3121 y Fc(3.4)112 b(Con\014guration)39
-b(par)e(d)n(\023)-54 b(efaut)39 b(des)f(comptes)639 3274
-y Ff(Dans)30 b(le)g(\014c)n(hier)f(de)h(con\014guration)f(mo)r(d)n
-(\022)-39 b(ele,)29 b(un)h(sup)r(er-utilisateur)f(est)h(con\014gur)n
-(\023)-39 b(e)28 b(:)515 3374 y(ingleb)r(ert@iut-blagnac.fr)e(et)i(le)g
-(jeu)g(d'essai)f(prop)r(os)n(\023)-39 b(e)25 b(au)j(paragraphe)d(pr)n
-(\023)-39 b(ec)n(\023)g(eden)n(t)25 b(p)r(er-)515 3473
-y(met)j(de)f(cr)n(\023)-39 b(eer)26 b(des)h(utilisateurs,)g(et)h(en)g
-(particulier)f(ingleb)r(ert@iut-blagnac.fr.)639 3573
-y(P)n(ar)19 b(d)n(\023)-39 b(efaut,)21 b(v)n(ous)e(p)r(ourrez)h(donc)g
-(v)n(ous)g(connecter)g(en)h(tan)n(t)g(qu'administrateur)e(a)n(v)n(ec)
-515 3672 y(ce)32 b(compte.)g(Le)g(jeu)g(d'essai)f(met)i(ce)f(compte)g
-(a)n(v)n(ec)e(comme)i(mo)r(de)g(d'authen)n(ti\014cation)515
-3772 y Fd(\()-17 b(\()20 b Ff(b)n(ypass)f Fd(\))-17 b(\))o
-Ff(,)26 b(ce)f(qui)g(signi\014e)g(qu'aucun)g(mot)g(de)g(passe)f(est)i
-(n)n(\023)-39 b(ecessaire.)22 b(P)n(our)i(utiliser)h(un)515
-3872 y(vrai)i(syst)n(\022)-39 b(eme)27 b(d'authen)n(ti\014cation,)h
-(connectez-v)n(ous)f(a)n(v)n(ec)g(ce)h(compte)g(et)h(allez)f(dans)f(la)
-515 3971 y(page)f Fd(\()-17 b(\()22 b Ff(Mon)28 b(Pro\014l)21
-b Fd(\))-17 b(\))27 b Ff(p)r(our)g(c)n(hoisir)g(une)g(autre)g(mo)r(de)h
-(d'authen)n(ti\014cation.)515 4246 y Fh(4)134 b(Main)l(tenance)515
-4444 y Fc(4.1)112 b(Visualisation)39 b(des)f(ob)6 b(jets)38
-b(et)f(des)h(\014c)m(hiers)639 4598 y Ff(Une)28 b(page)e
-(d'administration)g(est)h(pr)n(\023)-39 b(evue)26 b(\022)-42
-b(a)26 b(cet)h(e\013et,)h(et)f(elle)g(n'est)g(accessible)f(que)515
-4697 y(par)31 b(un)i Fd(\()-17 b(\()23 b Ff(sup)r(er-utilisateur)g
-Fd(\))-17 b(\))o Ff(,)33 b(c'est)f(\022)-42 b(a)32 b(dire)g(un)g
-(utilisateur)g(consign)n(\023)-39 b(e)31 b(dans)g(le)i(\014c)n(hier)515
-4797 y(de)27 b(con\014guration)f(principal)i(en)f(tan)n(t)h(que)f(tel,)
-h(conf)n(\022)-39 b(ere)26 b(3.2.)1926 5255 y(4)p eop
-end
-%%Page: 5 5
-TeXDict begin 5 4 bop 515 523 a Fc(4.2)112 b(Netto)m(y)m(age)37
-b(de)h(la)g(base)650 655 y Ff(\022)639 676 y(A)31 b(partir)f(de)h(la)f
-(page)f(d'administration)h(d)n(\023)-39 b(ecrite)30 b(dans)g(le)g
-(paragraphe)e(pr)n(\023)-39 b(ec)n(\023)g(eden)n(t,)515
-776 y(v)n(ous)23 b(p)r(ouv)n(ez)h(aussi)f(purger)g(les)h(\014c)n(hiers)
-g(attac)n(h)n(\023)-39 b(es)22 b(et)i(les)g(ob)5 b(jets)24
-b(de)h(la)f(base)f(de)i(donn)n(\023)-39 b(ees)515 876
-y(dev)n(en)n(us)31 b(obsol)n(\022)-39 b(etes.)30 b(L'aide)h(con)n
-(textuelle)h(de)f(cette)i(page)e(v)n(ous)f(expliquera)h(commen)n(t)515
-975 y(faire.)c(Il)g(est)h(viv)n(emen)n(t)f(conseill)n(\023)-39
-b(e)26 b(de)i(faire)f(une)g(sauv)n(egarde)e(de)j(la)f(base)g(de)h(donn)
-n(\023)-39 b(ees)26 b(et)515 1075 y(des)g(\014c)n(hiers)f(join)n(ts)i
-(aux)e(r)n(\023)-39 b(eunions)25 b(a)n(v)-5 b(an)n(t)25
-b(d'utiliser)i(cet)f(outil)g(car)g(l'erreur)f(de)h(manipu-)515
-1174 y(lation)h(ou)g(de)h(programmation)d(est)j(toujours)f(p)r
-(ossible.)13 b(.)h(.)515 1449 y Fh(5)134 b(Authen)l(ti\014cation)46
-b(d)m(\023)-64 b(edi)m(\023)g(ee)46 b(-)f(P)l(ersonnalisation)639
-1631 y Ff(A)-9 b(W)n(OR)32 b(utilise)g(un)g(syst)n(\022)-39
-b(eme)31 b(d'authen)n(ti\014cation)h(d)n(\023)-39 b(edi)n(\023)g(ee)29
-b(de)j(sorte)f(qu'aucun)h(mot)515 1730 y(de)40 b(passe)f(ne)h(soit)f
-(sto)r(c)n(k)n(\023)-39 b(e,)38 b(et)j(que)e(l'utilisateur)h(n'ait)g
-(pas)g(b)r(esoin)f(d'en)h(retenir)g(un)515 1830 y(nouv)n(eau.)32
-b(Le)i(co)r(de)f(d'authen)n(ti\014cation)h(\022)-42 b(a)30
-b(\023)-39 b(et)n(\023)g(e)30 b(\023)-39 b(ecrit)33 b(de)h(mani)n(\022)
--39 b(ere)31 b(\022)-42 b(a)31 b(^)-39 b(etre)33 b(mal)n(\023)-39
-b(eable)32 b(et)515 1930 y(est)e(extensible.)g(Le)h(co)r(eur)e(du)i
-(syst)n(\022)-39 b(eme)29 b(d'authen)n(ti\014cation)h(se)g(trouv)n(e)f
-(dans)h(le)h(\014c)n(hier)515 2029 y Fd(\()-17 b(\()22
-b Ff(auth)p 747 2029 25 4 v 29 w(dialog.php)g Fd(\))-17
-b(\))o Ff(.)28 b(V)-7 b(ous)27 b(y)h(trouv)n(erez)e(une)h(section)g
-(commen\030)-37 b(can)n(t)27 b(par)g(le)h(commen-)515
-2129 y(taire)f(ci-dessous.)722 2312 y Fb(/****************)o(**)o(***)o
-(**)o(***)o(**)o(**)o(***)o(**)o(***)o(**)o(**)o(***)o(**)o(***)o(*)722
-2411 y(**)43 b(Ajouter)e(d'autres)f(mode)i(d'authentificati)o(on)37
-b(ici)42 b(!)i(**)722 2511 y(*****************)o(**)o(***)o(**)o(***)o
-(**)o(**)o(***)o(**)o(***)o(**)o(**)o(***)o(**)o(***)o(/)515
-2693 y Ff(Comme)30 b(l'indique)g(ce)g(commen)n(taire,)f(v)n(ous)g(p)r
-(ourrez)h(a)5 b(jouter)29 b(\022)-42 b(a)29 b(cet)i(endroit)e(une)i(p)r
-(or-)515 2793 y(tion)d(de)g(co)r(de)f(p)r(our)h(utiliser)f(un)i(autre)e
-(service)g(d'authen)n(ti\014cation.)g(La)h(syn)n(taxe)f(est)g(la)515
-2893 y(suiv)-5 b(an)n(te)27 b(:)722 3035 y Fb(case)42
-b('<nom)p 1165 3035 27 4 v 30 w(auth>')f(:)722 3135 y(/*)i
-(Eventuellement)38 b(du)43 b(code)f(pr\023)-44 b(el\023)g(eminaire)38
-b(*/)722 3235 y($auth)p 947 3235 V 30 w(is)p 1065 3235
-V 30 w(ok=<fonction)p 1623 3235 V 27 w(ou)p 1738 3235
-V 30 w(variable)p 2120 3235 V 28 w(authentification>)o(;)722
-3334 y(if)43 b(\()g(!)g($auth)p 1252 3334 V 30 w(is)p
-1370 3334 V 30 w(ok)g(\))722 3434 y Fa(f)g Fb(//)g(On)g(ex\023)-44
-b(ecute)41 b(la)h(ligne)g(ci-dessous)d(que)k(si)f(l'authentificaito)o
-(n)c(\022)-44 b(a)43 b(\023)-44 b(echou\023)g(ee)722
-3533 y($errmsg=<fonction)p 1474 3533 V 25 w(ou)p 1588
-3533 V 30 w(chaine)p 1882 3533 V 29 w(explicant)p 2307
-3533 V 28 w(l)p 2379 3533 V 31 w(erreur)p 2674 3533 V
-29 w(d)p 2747 3533 V 31 w(authentificatio)o(n>;)722 3633
-y Fa(g)722 3733 y Fb(break;)515 3875 y Ff(Il)27 b(v)n(ous)f(su\016t)i
-(de)f(remplacer)f(les)f(\023)-39 b(el)n(\023)g(emen)n(ts)25
-b(en)n(tre)i(c)n(hevrons)e(dans)i(le)g(co)r(de)h(ci-dessus)e(et)515
-3975 y(de)k(le)g(coller)e(dans)i Fd(\()-17 b(\()p Ff(auth)p
-1348 3975 25 4 v 29 w(dialog.inc.php)p Fd(\))g(\))29
-b Ff(p)r(our)h(p)r(ouv)n(oir)e(utiliser)i(un)g(nouv)n(eau)f(mo)r(de)515
-4074 y(d'authen)n(ti\014cation.)i(Reste)h(\022)-42 b(a)31
-b(donner)g(\022)-42 b(a)31 b(l'utilisateur)h(la)f(capacit)n(\023)-39
-b(e)30 b(de)i(l'utiliser.)f(V)-7 b(ous)515 4174 y(devrez)32
-b(encore,)h(d'une)g(part,)g(a)5 b(jouter)33 b(dans)g(la)g(base)f(de)i
-(donn)n(\023)-39 b(ees)32 b(le)h Fe(<)p Ff(nom)p 3049
-4174 V 29 w(auth)p Fe(>)g Ff(\022)-42 b(a)515 4274 y(l')n(\023)j(en)n
-(um)n(\023)g(eration)20 b(du)j(c)n(hamp)f Fd(\()-17 b(\()p
-Ff(metho)r(deAuth)p Fd(\))g(\))23 b Ff(de)g(la)f(table)h
-Fd(\()-17 b(\()p Ff(P)n(ersonne)p Fd(\))g(\))n Ff(,)22
-b(et)h(d'autre)g(part)515 4373 y(prop)r(oser)c(\022)-42
-b(a)20 b(l'utilisateur)h(d'utiliser)f(ce)h(mo)r(de)g(d'authen)n
-(ti\014cation)f(en)h(mo)r(di\014an)n(t)g(la)f(page)515
-4473 y Fd(\()-17 b(\()o Ff(pro\014l.php)p Fd(\))g(\))p
-Ff(.)1926 5255 y(5)p eop end
-%%Trailer
-
-userdict /end-hook known{end-hook}if
-%%EOF
diff --git a/beta_accents/doc/READ_ME.txt b/beta_accents/doc/READ_ME.txt
deleted file mode 100644
index ce42282..0000000
--- a/beta_accents/doc/READ_ME.txt
+++ /dev/null
@@ -1,277 +0,0 @@
-
-
-AWOR - Fichier Lisez-moi de l'administrateur
-
-Table des Matières
-
- 1 Compatibilité
- 2 Sécurité
- 3 Installation
- 3.1 Dépaquetage des pages PHP
- 3.2 Paramètres de configuration
- 3.3 Initialisation de la base
- 3.4 Configuration par défaut des comptes
- 4 Maintenance
- 4.1 Visualisation des objets et des fichiers
- 4.2 Nettoyage de la base
- 5 Authentification dédiée - Personnalisation
-
-
-
-
-
-
-1 Compatibilité
-
-Cette application peut-être utilisée sur un serveur
-fonctionnant avec Apache, MySQL(>=4) et PHP (>=4).
-
- PHP
-
-L'application ne nécessite pas de configuration de PHP
-particulière. Elle fonctionne quelque soit la valeur du
-paramètre de configuration register_globals, 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 "E_NOTICE" PHP qui
-surviennent par exemple lors d'une comparaison avec une
-variable non-initialisée.
-
-Les scripts PHP n'accèdent pas en écriture au système
-de fichier, sauf pour l'upload de fichiers. Le dossier "fichiers"
- doit être accessible en écriture par les scripts PHP
-sans quoi la fonctionnalité d'échange de fichier serait
-inutilisable.
-
- MySQL
-
-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 [sub:Initialisation-de-la-bd].
-
-2 Sécurité
-
-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.
-
-3 Installation
-
-3.1 Dépaquetage des pages PHP
-
-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.
-
-
-
-3.2 <sub:Configuration>Paramètres de configuration
-
-Cette application comporte deux fichiers de
-configuration qui sont dans le dossier "include". Les
-fichiers existent dans la version distribuée et ont
-pour but de servir de modèle.
-
- connect.inc.php : ce fichier contient les coordonnées
- du serveur MySQL, de l'utilisateur SQL et de la base
- que l'application utilisera.
-
- config.inc.php : ce fichier contient tout le reste de
- la configuration de l'application. 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...
- N'oubliez pas de virgule ! Toutes les constantes sont
- décrites ci-dessous.
-
- $adminMail : adresse e-mail de l'administrateur.
- Affichée à l'utilisateur lorsque qu'une erreur
- interne à l'application s'est produite.
-
- $automatedMail : adresse e-mail de réponse des
- courriels envoyés automatiquement par l'application.
-
- AUTH : Paramètres d'authentification
-
- POP : Paramètres pour les serveurs mail POP
-
- SERVERS : Chaque élément de ce tableau à pour clef
- le nom de domaine du fournisseur de service de
- courriel ( partie suivant le @ dans une adresse
- e-mail) à pour valeur un tableau associatif de
- la forme suivante
-
- subdomain : adresse complete du serveur offrant
- le service POP
-
- port : numéro de port TCP utilisé pour se
- connecter au service POP
-
- username_is_full_mail : 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)
-
- bypass_if_local : Booléen indiquant si
- l'authentification doit être outrepassée si la
- connexion s'effectue depuis le serveur lui-même.
-
- CSS : Paramètres des styles de pages
-
- CHOOSER_LIST : 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.
-
- MAIL :
-
- TEMPLATES : Ce tableau contient des tableaux
- associatifs dont les clefs seront utilisées dans
- les passages de paramètres HTML, et contiennent
- des sous-tableaux de la forme suivante :
-
- caption : Intitulé qui sera affiché à l'utilisateur
-
- tpl_file : Nom du fichier (avec l'extension PHP)
- contenant le modèle.
-
- SUPERUSERS : Ce tableau contient la liste des login
- des super-utilisateurs (ceux qui ont le droit de
- supprimer des réunions)
-
- UPLOAD : Paramètres concernant l'attachement de
- fichiers aux réunions
-
- accepted_files : Tableau des extensions qui sont autorisées.
-
-3.3 <sub:Initialisation-de-la-bd>Initialisation de la base
-
-Tout les fichiers nécessaires sont rangés dans le
-dossier "install". Vous utiliserez principalement le
-fichier "RAZBase.php". 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 "base.sql" avec votre client SQL
-favori. Le jeu d'essai se trouve dans le fichier "jeu_essai.sql".
-
-3.4 Configuration par défaut des comptes
-
-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.
-
-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 "bypass", 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 "Mon Profil"
- pour choisir une autre mode d'authentification.
-
-4 Maintenance
-
-4.1 Visualisation des objets et des fichiers
-
-Une page d'administration est prévue à cet effet, et
-elle n'est accessible que par un "super-utilisateur",
-c'est à dire un utilisateur consigné dans le fichier de
-configuration principal en tant que tel, confère [sub:Configuration].
-
-4.2 Nettoyage de la base
-
-À 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...
-
-5 Authentification dédiée - Personnalisation
-
-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 "auth_dialog.php"
-. Vous y trouverez une section commençant par le
-commentaire ci-dessous.
-
-/***************************************************
-
-** Ajouter d'autres mode d'authentification ici ! **
-
-***************************************************/
-
-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 :
-
-case '<nom_auth>':
-
-/* Eventuellement du code préléminaire */
-
-$auth_is_ok=<fonction_ou_variable_authentification>;
-
-if ( ! $auth_is_ok )
-
-{ // On exécute la ligne ci-dessous que si
-l'authentificaiton à échouée
-
-
-
-$errmsg=<fonction_ou_chaine_explicant_l_erreur_d_authentification>;
-
-}
-
-break;
-
-Il vous suffit de remplacer les éléments entre chevrons
-dans le code ci-dessus et de le coller dans "auth_dialog.inc.php"
- 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 "methodeAuth" de la table "Personne"
-, et d'autre part proposer à l'utilisateur d'utiliser
-ce mode d'authentification en modifiant la page "profil.php".
diff --git a/beta_accents/install/RAZbase.php b/beta_accents/install/RAZbase.php
deleted file mode 100644
index 9b9fa25..0000000
--- a/beta_accents/install/RAZbase.php
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-function SQLConnect($mysql_host, $mysql_user, $mysql_pass, $mysql_base)
-{
-
- if ( ! ($link = @mysql_connect($mysql_host,$mysql_user,$mysql_pass)) )
- return('Erreur MySql : Impossible de se connecter : ' . mysql_error());
- if ( ! @mysql_select_db($mysql_base))
- return('Erreur Mysql : Impossible de sélectionner la database');
-}
-
-function SQLFileExec($filepath)
-{
- // Chargement du fichier complet dans la variable $request...
-
- // C'est une méthode barbare, mais il est compliqué de faire mieux
- if ( ! ($fd=fopen($filepath,'r') ) )
- {
- echo '<div class="errmsg" style="color:#900">Impossible d\'ouvrir le fichier ' . $filepath . "</div>\n";
- }
- else
- {
- if ( ! feof( $fd ) ) { $script = fgets($fd,4096); }
- $request = '';
- while ( ! feof( $fd ) )
- {
- $request .= fgets($fd,4096);
- }
-
- // Explosion dans un tableau, requete par requete
- $tabReq = explode(";", $request);
-
- // Pour chaque requete
- foreach ( $tabReq as $req )
- {
- $req=trim($req);
- if ( $req !== "" )
- {
- // affichage de verification
- echo '<div class="sqlcode" style="color:#009">' . str_replace("\n", '<br />', htmlspecialchars( $req) ) ."</div>\n";
-
- // execution de la requete et affichage de l'erreur s'il y a lieu
- if ( ! mysql_query($req) )
- {
- echo '<div class="sqlerr" style="color:#900">' . 'Erreur No ' . mysql_errno() . ' : ' . htmlspecialchars( mysql_error() ) . "</div>\n";
- }
- }
- }
- }
-}
-echo '<?xml version="1.0" encoding="ISO-8859-1"?>'
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <title>AWOR - RAZBase</title>
- <style>
-body{
- margin : 0 25%;
- font:80% sans-serif;
-}
-h1 {
- text-align:center;
-}
-*.errmsg {
- color : red
-}
-*.sqlerr {
- color : orange
-}
-*.sqlcode {
- border: thin solid gray;
- color : blue;
- margin : 2em 0;
-}
- </style>
- </head>
- <body>
- <h1>Remise à zéro de la base de données</h1>
- <form action='' method="post">
-<?php if ( ! isset($_POST['confirm']) ) { ?>
- <p>
- Ce script va détruire toutes les tables d'une précédente installation (si elles existent) et va les recréer, dépourvues de données.<br />
- Vous devrez utiliser un compte SQL qui ait les droits nécessaires (DROP, CREATE TABLE...). Notez que ces droits sont superflus pour le fonctionnement normal de l'application.<br />
- Etes-vous sûr de vouloir réinitialiser la base de données ?<br />
- <label>Addresse du serveur SQL :&nbsp;</label><input name="SQLhost" type="text" value="localhost" /><br />
- <label>Utilisateur SQL :&nbsp;</label><input name="SQLuser" type="text" /><br />
- <label>Mot de passe SQL :&nbsp;</label><input name="SQLpwd" type="password" /><br />
- <label>Database SQL :&nbsp;</label><input name="SQLdb" type="text" /><br />
- <input type="hidden" name="confirm" value="1" />
- <input type="submit" value="Confirmer" />
- </p>
- </form>
-<?php } ?>
-
-<?
-if (isset($_POST['confirm']) )
-{
- echo ' <p>';
- $errmsg = SQLConnect( addslashes($_POST['SQLhost']),addslashes($_POST['SQLuser']),addslashes($_POST['SQLpwd']),addslashes($_POST['SQLdb']) );
- if ( $_POST['confirm'] === '1' )
- {
- if ( is_string($errmsg) ) { echo $errmsg; } else
- {
- SQLFileExec('base.sql');
-?>
- </p>
- <form action="" method="post">
- <p>
- Si vous le souhaitez, vous pouvez insérer un jeu d'essai pour tester l'application.<br />
- Vous pouvez effectuer l'insertion de ce jeu d'essai avec le compte MySQL qui sera utilisé au fonctionnement de l'application, pour tester si les droits sont suffisants.
- <label>Addresse du serveur SQL :&nbsp;</label><input name="SQLhost" type="text" value="localhost" /><br />
- <label>Utilisateur SQL :&nbsp;</label><input name="SQLuser" type="text" /><br />
- <label>Mot de passe SQL :&nbsp;</label><input name="SQLpwd" type="password" /><br />
- <label>Database SQL :&nbsp;</label><input name="SQLdb" type="text" /><br />
- <input type="hidden" name="confirm" value="2" />
- <input type="submit" value="Insérer" />
- </p>
- </form>
-<?php
- }
- }
- elseif ( $_POST['confirm'] === '2' )
- {
- SQLFileExec('jeu_essai.sql');
- }
-}
-?>
- <p><a href="../index.php">Retour à l'index</a></p>
- </body>
-</html>
diff --git a/beta_accents/install/base.sql b/beta_accents/install/base.sql
deleted file mode 100644
index 6d1ba97..0000000
--- a/beta_accents/install/base.sql
+++ /dev/null
@@ -1,123 +0,0 @@
---
--- Structure de la table `AWOR_Appartenir`
---
-
-DROP TABLE IF EXISTS `AWOR_Appartenir`;
-CREATE TABLE IF NOT EXISTS `AWOR_Appartenir` (
- `idL` int(11) NOT NULL,
- `idP` int(11) NOT NULL,
- PRIMARY KEY (`idL`,`idP`)
-);
-
--- --------------------------------------------------------
-
---
--- Structure de la table `Choisir`
---
-
-DROP TABLE IF EXISTS `AWOR_Choisir`;
-CREATE TABLE IF NOT EXISTS `AWOR_Choisir` (
- `idC` int(11) NOT NULL,
- `idP` int(11) NOT NULL,
- `estDispo` set('oui','non') NOT NULL,
- PRIMARY KEY (`idC`,`idP`)
-);
-
--- --------------------------------------------------------
-
---
--- Structure de la table `AWOR_Creneau`
---
-
-DROP TABLE IF EXISTS `AWOR_Creneau`;
-CREATE TABLE IF NOT EXISTS `AWOR_Creneau` (
- `idC` int(11) NOT NULL auto_increment,
- `dateHeure` datetime NOT NULL,
- `duree` int(11) NOT NULL,
- `idR` int(11) NOT NULL,
- PRIMARY KEY (`idC`)
-);
-
--- --------------------------------------------------------
-
---
--- Structure de la table `AWOR_Fichier`
---
-
-DROP TABLE IF EXISTS `AWOR_Fichier`;
-CREATE TABLE IF NOT EXISTS `AWOR_Fichier` (
- `idFic` int(11) NOT NULL auto_increment,
- `nomFic` varchar(256) NOT NULL,
- `idR` int(11) NOT NULL,
- PRIMARY KEY (`idFic`)
-);
-
--- --------------------------------------------------------
-
---
--- Structure de la table `AWOR_Liste`
---
-
-DROP TABLE IF EXISTS `AWOR_Liste`;
-CREATE TABLE IF NOT EXISTS `AWOR_Liste` (
- `idL` int(11) NOT NULL auto_increment,
- `libelleL` varchar(50) NOT NULL,
- `estPrivee` set('oui','non') NOT NULL default 'oui',
- `idP_Createur` int(11) default NULL,
- PRIMARY KEY (`idL`)
-);
-
--- --------------------------------------------------------
-
---
--- Structure de la table `AWOR_Personne`
---
-
-DROP TABLE IF EXISTS `AWOR_Personne`;
-CREATE TABLE IF NOT EXISTS `AWOR_Personne` (
- `idP` int(11) NOT NULL auto_increment,
- `courrielP` varchar(50) NOT NULL,
- `loginP` varchar(50) default NULL,
- `nomP` varchar(50) NOT NULL,
- `prenomP` varchar(50) NOT NULL,
- `estAdmin` set('oui','non') NOT NULL default 'non',
- `methodeAuth` set('pop','webetud','bypass') NOT NULL default 'pop',
- PRIMARY KEY (`idP`),
- UNIQUE KEY `loginP` (`loginP`),
- UNIQUE KEY `courrielP` (`courrielP`)
-);
-
--- --------------------------------------------------------
-
---
--- Structure de la table `AWOR_Repondre`
---
-
-DROP TABLE IF EXISTS `AWOR_Repondre`;
-CREATE TABLE IF NOT EXISTS `AWOR_Repondre` (
- `idR` int(11) NOT NULL,
- `idP` int(11) NOT NULL,
- `commentaireReponse` varchar(500) default NULL,
- PRIMARY KEY (`idR`,`idP`)
-);
-
--- --------------------------------------------------------
-
---
--- Structure de la table `Reunion`
---
-
-DROP TABLE IF EXISTS `AWOR_Reunion`;
-CREATE TABLE IF NOT EXISTS `AWOR_Reunion` (
- `idR` int(11) NOT NULL auto_increment,
- `objetR` varchar(80) NOT NULL,
- `ordreJourR` varchar(250),
- `lieuR` varchar(50),
- `remarquesR` varchar(500),
- `montrerDispoR` set('oui','non') NOT NULL default 'non',
- `estAnnulee` set('oui','non') NOT NULL default 'non',
- `idP_Orga` int(11) NOT NULL,
- `idC_Fixe` int(11) default NULL,
- `idL` int(11) default NULL,
- PRIMARY KEY (`idR`)
-);
diff --git a/beta_accents/install/jeu_essai.sql b/beta_accents/install/jeu_essai.sql
deleted file mode 100644
index 889d4f6..0000000
--- a/beta_accents/install/jeu_essai.sql
+++ /dev/null
@@ -1,2 +0,0 @@
--- phpMyAdmin SQL Dump
--- TODO !!
diff --git a/beta_accents/sed.rl b/beta_accents/sed.rl
deleted file mode 100644
index e93250b..0000000
--- a/beta_accents/sed.rl
+++ /dev/null
@@ -1,6 +0,0 @@
-s/é/\&eacute;/
-s/è/\&egrave;/
-s/ê/\&ecirc;/
-s/ù/\&ugrave;/
-s/à/\&agrave;/
-
diff --git a/beta_accents/sed.sh b/beta_accents/sed.sh
deleted file mode 100644
index ae75b59..0000000
--- a/beta_accents/sed.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/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
deleted file mode 100644
index b290a3d..0000000
--- a/beta_accents/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-2àùèé
diff --git a/beta_accents/test.txt_bkp b/beta_accents/test.txt_bkp
deleted file mode 100644
index b290a3d..0000000
--- a/beta_accents/test.txt_bkp
+++ /dev/null
@@ -1 +0,0 @@
-2àùèé
diff --git a/beta_accents/test.txt_old b/beta_accents/test.txt_old
deleted file mode 100644
index b290a3d..0000000
--- a/beta_accents/test.txt_old
+++ /dev/null
@@ -1 +0,0 @@
-2àùèé
diff --git a/beta_accents/upload_files/r1_READ_ME.pdf b/beta_accents/upload_files/r1_READ_ME.pdf
deleted file mode 100644
index bb4e4db..0000000
--- a/beta_accents/upload_files/r1_READ_ME.pdf
+++ /dev/null
Binary files differ
diff --git a/beta_accents/upload_files/r2_IUP MER.txt b/beta_accents/upload_files/r2_IUP MER.txt
deleted file mode 100644
index 1815095..0000000
--- a/beta_accents/upload_files/r2_IUP MER.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-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/