<?php
 /***************************************************************************\
  *  phpPetitions, serveur de pétition pour php/Mysql                       *
  *                                                                         *
  *  Copyleft (c) 2003-2005                                                 *
  *  Francois Sauterey, Asdrad Torres, Joel Pothier                         *
  *  le Centre Ressource du Réseau Associatif et Syndical                   *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
  *  Pour plus de details voir le fichier COPYING.txt                       *
 \***************************************************************************/

/*		index.php				fichier d'entrée du programme			*/

/*
phpinfo(INFO_VARIABLES);
exit;
*/

include('lang/fr_FR.php');

if (is_file('admin/inc_config.php')) {
 include_once('admin/inc_config.php');
}
else {
 echo $L['PasConfigure']."<br>";
 exit();
}
include_once('admin/inc_admin.php');
include_once('admin/inc_sql.php');
include_once('admin/inc_version.php');
include_once('admin/inc_texte.php');
include_once('admin/inc_html.php');
include_once('admin/inc_courriel.php');

srand(make_seed());

$variables = array();
lireVariables();

$cle = (isset($_REQUEST["c"])) ? $_REQUEST["c"] : $_REQUEST['cle'];
$petition = (isset($_REQUEST["p"])) ? $_REQUEST["p"] : $_REQUEST["petition"];
$pour_voir = $_REQUEST["pour_voir"];
$signe = $_REQUEST["signe"];
$a_signe = $_REQUEST["a_signe"];
$validation = $_REQUEST["validation"];
//$debug = $_REQUEST['debug'];
$a1ami = $_REQUEST['a1ami'];

// les options locales
include('options.php');

if ($petition) {
 
 $infosPetition=LireInfosPetition($petition);

// Analyse les parametres et gere l'automate
 if ($cle) { $etat = 'validation';}			// validation 
 elseif ($a_signe == 'oui') { $etat = 'a_signe'; } // retour du formulaire
 elseif ($signe == 'oui') { $etat = 'signe'; }	// signature: formulaire
 elseif ($pour_voir == 'oui') { $etat = 'pour_voir'; }	// voir les signature
 elseif ($a1ami == 'oui') { $etat = 'a1ami'; }	// envoyer à un ami
 else { $etat = 'zaza'; }					// defaut: voir le texte de la petition
 
// if ($GLOBALS['debug']) echo "etat: $etat";

// etat de l'automate
 switch ($etat) {
  case 'a1ami':
	a1ami($petition);
	break;
  case 'validation':
   if (ValideSignature($petition,$cle)){
    affichePetitionPage($petition,'confirm_ok.html');
   }
   else {
    affichePetitionPage($petition,'confirm_err.html');
   }
   exit;
  case 'a_signe':
   // le formulaire est-il bien rempli ?
   if (! ($nom=$_POST['nom']) or ! ($prenom=$_POST['prenom'])) {
    $message_erreur='champ_manquant';
    affichePetitionPage($petition,'form_err.html');
   }
   elseif ( ! AdresseValide($courriel=$_POST['courriel'])) {
    $message_erreur='Adresse_Invalide';
    affichePetitionPage($petition,'form_err.html');
   }
   // Test une signature anterieure
   elseif (chercheSignature($petition,$nom,$prenom,$courriel)) {
    echo $L['DejaSigne'];
   }
   else {
    $info=$_POST['info'];
    // sauvegarde des données dans la BD, et recupere la cle de confirmation
    $cle=sauveSignature($petition,$nom,$prenom,$info,$courriel);
    // envoi du courriel de demande de confirmation
    if (demandeConfirmation($petition,$cle,$nom,$prenom,$info,$courriel))
     affichePetitionPage($petition,'form_ok.html');
   }
   exit;
  case 'signe':
   affichePetitionPage($petition,'form.html');
   break;
  case 'pour_voir':
   affichePetitionPage($petition,'vsign.html');
   break;
  default:
   affichePetitionPage($petition,'index.html');
   break;
 }
}
else {
   afficheIndex();
}
?>
