Subversion Repositories phpPetitions

[/] [trunk/] [index.php] - Blame information for rev 15

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1 fs
<?
2 fs
 /***************************************************************************\
3 fs
  *  phpPetitions, serveur de pétition pour php/Mysql                       *
4 fs
  *                                                                         *
5 fs
  *  Copyleft (c) 2003-2005                                                 *
6 fs
  *  Francois Sauterey, Asdrad Torres, Joel Pothier                         *
7 fs
  *  le Centre Ressource du Réseau Associatif et Syndical                   *
8 fs
  *                                                                         *
9 fs
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 fs
  *  Pour plus de details voir le fichier COPYING.txt                       *
11 fs
 \***************************************************************************/
12 fs
13 fs
/*        index.php                fichier d'entrée du programme            */
14 fs
15 fs
/*
16 fs
phpinfo(INFO_VARIABLES);
17 fs
exit;
18 fs
*/
19 fs
20 fs
include('lang/fr_FR.php');
21 fs
22 fs
if (is_file('admin/inc_config.php')) {
23 fs
 include_once('admin/inc_config.php');
24 fs
}
25 fs
else {
26 fs
 echo $L['PasConfigure']."<br>";
27 fs
 exit();
28 fs
}
29 fs
include_once('admin/inc_admin.php');
30 fs
include_once('admin/inc_sql.php');
31 fs
include_once('admin/inc_version.php');
32 fs
include_once('admin/inc_texte.php');
33 fs
include_once('admin/inc_html.php');
34 fs
include_once('admin/inc_courriel.php');
35 fs
36 fs
srand(make_seed());
37 fs
38 fs
$variables = array();
39 fs
lireVariables();
40 fs
41 fs
$cle = (isset($_REQUEST["c"])) ? $_REQUEST["c"] : $_REQUEST['cle'];
42 fs
$petition = (isset($_REQUEST["p"])) ? $_REQUEST["p"] : $_REQUEST["petition"];
43 fs
if (!is_int($petition)) unset($petition);
44 fs
$pour_voir $_REQUEST["pour_voir"];
45 fs
$signe $_REQUEST["signe"];
46 fs
$a_signe $_REQUEST["a_signe"];
47 fs
$validation $_REQUEST["validation"];
48 fs
$debug $_REQUEST['debug'];
49 fs
$a1ami $_REQUEST['a1ami'];
50 fs
51 fs
// les options locales
52 fs
include('options.php');
53 fs
54 fs
if ($petition) {
55 fs
 
56 fs
 $infosPetition=LireInfosPetition($petition);
57 fs
58 fs
// Analyse les parametres et gere l'automate
59 fs
 if ($cle) { $etat 'validation';}            // validation 
60 fs
 elseif ($a_signe == 'oui') { $etat 'a_signe'; } // retour du formulaire
61 fs
 elseif ($signe == 'oui') { $etat 'signe'; }    // signature: formulaire
62 fs
 elseif ($pour_voir == 'oui') { $etat 'pour_voir'; }    // voir les signature
63 fs
 elseif ($a1ami == 'oui') { $etat 'a1ami'; }    // envoyer à un ami
64 fs
 else { $etat 'zaza'; }                    // defaut: voir le texte de la petition
65 fs
 
66 fs
 if ($GLOBALS['debug']) echo "etat: $etat";
67 fs
68 fs
// etat de l'automate
69 fs
 switch ($etat) {
70 fs
  case 'a1ami':
71 fs
    a1ami($petition);
72 fs
    break;
73 fs
  case 'validation':
74 fs
   if (ValideSignature($petition,$cle)){
75 fs
    affichePetitionPage($petition,'confirm_ok.html');
76 fs
   }
77 fs
   else {
78 fs
    affichePetitionPage($petition,'confirm_err.html');
79 fs
   }
80 fs
   exit;
81 fs
  case 'a_signe':
82 fs
   // le formulaire est-il bien rempli ?
83 fs
   if (! ($nom=$_POST['nom']) or ! ($prenom=$_POST['prenom'])) {
84 fs
    $message_erreur='champ_manquant';
85 fs
    affichePetitionPage($petition,'form_err.html');
86 fs
   }
87 fs
   elseif ( ! AdresseValide($courriel=$_POST['courriel'])) {
88 fs
    $message_erreur='Adresse_Invalide';
89 fs
    affichePetitionPage($petition,'form_err.html');
90 fs
   }
91 fs
   // Test une signature anterieure
92 fs
   elseif (chercheSignature($petition,$nom,$prenom,$courriel)) {
93 fs
    echo $L['DejaSigne'];
94 fs
   }
95 fs
   else {
96 fs
    $info=$_POST['info'];
97 fs
    // sauvegarde des données dans la BD, et recupere la cle de confirmation
98 fs
    $cle=sauveSignature($petition,$nom,$prenom,$info,$courriel);
99 fs
    // envoi du courriel de demande de confirmation
100 fs
    if (demandeConfirmation($petition,$cle,$nom,$prenom,$info,$courriel))
101 fs
     affichePetitionPage($petition,'form_ok.html');
102 fs
   }
103 fs
   exit;
104 fs
  case 'signe':
105 fs
   affichePetitionPage($petition,'form.html');
106 fs
   break;
107 fs
  case 'pour_voir':
108 fs
   affichePetitionPage($petition,'vsign.html');
109 fs
   break;
110 fs
  default:
111 fs
   affichePetitionPage($petition,'index.html');
112 fs
 }
113 fs
}
114 fs
else {
115 fs
 afficheIndex();
116 fs
}
117 fs
?>