[ Index ]
 

Code source de SPIP Agora 1.4

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/Agora1-4/ -> spip_pass.php (source)

   1  <?php
   2  /*****************************************************
   3  * This file is part of Agora, web based content management system.
   4  *
   5  * Agora is free software; you can redistribute it and/or modify
   6  * it under the terms of the GNU General Public License as published by
   7  * the Free Software Foundation; version 2 of the License.
   8  *
   9  * Agora is distributed in the hope that it will be useful,
  10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12  * GNU General Public License for more details (file "COPYING").
  13  *
  14  * Copyright © Arnaud Martin, Antoine Pitrou et Philippe Rivière.
  15  * List of authors detailed in "copyright_fr.html" file.
  16  * E-mail : agora@sig.premier-ministre.gouv.fr
  17  * Web site : http://www.agora.gouv.fr
  18  *****************************************************/
  19  require_once dirname(__FILE__). '/ecrire/include/bd/inc_auteur_factory.php';
  20  
  21  require_once dirname(__FILE__). '/ecrire/inc_version.php';
  22  require_once dirname(__FILE__). '/ecrire/inc_meta.php';
  23  require_once dirname(__FILE__). '/ecrire/inc_presentation.php';
  24  require_once dirname(__FILE__). '/ecrire/inc_session.php';
  25  require_once dirname(__FILE__). '/ecrire/inc_filtres.php';
  26  require_once dirname(__FILE__). '/ecrire/inc_texte.php';
  27  require_once dirname(__FILE__). '/ecrire/inc_meta.php';
  28  require_once dirname(__FILE__). '/ecrire/inc_mail.php';
  29  require_once dirname(__FILE__). '/ecrire/inc_acces.php';
  30  
  31  include_once ("inc-formulaires.php");
  32  
  33  utiliser_langue_site();
  34  
  35  $inscriptions_ecrire = (lire_meta("accepter_inscriptions") == "oui");
  36  unset($erreur);
  37  
  38  // recuperer le cookie de relance
  39  if ($p = addslashes($p)) {
  40      $oubli_pass = 'oui';
  41      $profilMetier = &recuperer_instance_profil();
  42      $monProfil = $profilMetier->getProfilForIntitule('texte_statut_poubelle');
  43  
  44      if (PEAR::isError($monProfil)) {
  45          die($monProfil->getMessage());
  46      }
  47  
  48      $auteurMetier = &recuperer_instance_auteur();
  49      $allAuteurs = $auteurMetier->getAllForCookieOubliAndNotProfilAndNotPass($p, $monProfil->getPoids(), "");
  50  
  51      if (PEAR::isError($allAuteurs)) {
  52          die($allAuteurs->getMessage());
  53      }
  54      if (list(, $monAuteur) = each($allAuteurs)) {
  55          if ($pass) {
  56              $mdpass = md5($pass);
  57              $htpass = generer_htpass($pass);
  58  
  59              $updateOK = $auteurMetier->updateHtPassAndPassAndAleaActuelAndCookieOubliForCookieOubli(
  60                              $htpass, $mdpass, '', '', $p);
  61  
  62              if (PEAR::isError($updateOK)) {
  63                  die($updateOK->getMessage());
  64              }
  65  
  66              $login = $monAuteur->getLogin();
  67              $erreur = "<b>" . _T('pass_nouveau_enregistre'). "</b>" . "<p>" . _T('pass_rappel_login',
  68                                                                                   array('login' => $login));
  69          }
  70          else {
  71              install_debut_html(_T('pass_nouveau_pass'));
  72              echo "<p><br>";
  73              echo "<form action='spip_pass.php' method='post'>";
  74              echo "<input type='hidden' name='p' value='$p'>";
  75              echo _T('pass_choix_pass'). "<br>\n";
  76              echo "<input type='password' name='pass' value=''>";
  77              echo "</form>\n";
  78              install_fin_html();
  79              exit;
  80          }
  81      }
  82      else
  83          $erreur = _T('pass_erreur_code_inconnu');
  84  }
  85  
  86  // envoyer le cookie de relance mot de passe
  87  if ($email_oubli) {
  88      if (email_valide($email_oubli)) {
  89          $email = addslashes($email_oubli);
  90          //-----------Zone de modification Clever Age elebescond---------------
  91          $auteurMetier = &recuperer_instance_auteur();
  92          $allAuteurs = $auteurMetier->getAllForEmail($email);
  93  
  94          if (PEAR::isError($allAuteurs)) {
  95              die($allAuteurs->getMessage());
  96          }
  97          if (list(, $monAuteur) = each($allAuteurs)) {
  98              if ($monAuteur->getStatut() == '5poubelle')
  99                  $erreur = _T('pass_erreur_acces_refuse');
 100              else {
 101                  $cookie = creer_uniqid();
 102                  $updateOK = $auteurMetier->updateCookieOubliForEmail($cookie, $email);
 103  
 104                  if (PEAR::isError($updateOK)) {
 105                      die($updateOK->getMessage());
 106                  }
 107  
 108                  $nom_site_spip = lire_meta("nom_site");
 109                  $adresse_site = lire_meta("adresse_site");
 110  
 111                  $message = _T('pass_mail_passcookie',
 112                                array('nom_site_spip' => $nom_site_spip, 'adresse_site' => $adresse_site,
 113                                'cookie' => $cookie));
 114                  if (envoyer_mail($email, "[$nom_site_spip] " . _T('pass_oubli_mot'), $message))
 115                      $erreur = _T('pass_recevoir_mail');
 116                  else
 117                      $erreur = _T('pass_erreur_probleme_technique');
 118              }
 119          }
 120          else
 121              $erreur = _T('pass_erreur_non_enregistre', array('email_oubli' => htmlspecialchars($email_oubli)));
 122      }
 123      else
 124          $erreur = _T('pass_erreur_non_valide', array('email_oubli' => htmlspecialchars($email_oubli)));
 125  }
 126  
 127  if ($oubli_pass == 'oui') {
 128      // debut presentation
 129      install_debut_html(_T('pass_mot_oublie'));
 130  
 131      echo "<p>";
 132      if ($erreur)
 133          echo $erreur;
 134      else {
 135          echo _T('pass_indiquez_cidessous');
 136  
 137          echo "<p>";
 138          echo '<form action="spip_pass.php" method="post">';
 139          echo '<div align="right">';
 140          echo '<input type="text" class="fondo" name="email_oubli" value="">';
 141          echo '<input type="hidden" name="oubli_pass" value="oui">';
 142          echo '  <input type=submit class="fondl" name="oubli" value="' . _T('pass_ok'). '"></div></form>';
 143      }
 144  }
 145  else if ($inscriptions_ecrire || (lire_meta('accepter_visiteurs') == 'oui')OR (lire_meta('forums_publics') == 'abo')) {
 146      // debut presentation
 147      install_debut_html(_T('pass_vousinscrire'));
 148      echo "<p>";
 149  
 150      if ($inscriptions_ecrire)
 151          echo _T('pass_espace_prive_bla');
 152      else
 153          echo _T('pass_forum_bla');
 154  
 155      echo "\n<p>";
 156  
 157      formulaire_inscription(($inscriptions_ecrire) ? 'redac' : 'forum');
 158  }
 159  else {
 160      install_debut_html(_T('pass_erreur'));
 161      echo "<p>" . _T('pass_rien_a_faire_ici');
 162  }
 163  
 164  echo "<p align='right'>\n" .
 165       "<script type='text/javascript'>\n" .
 166       "    <!--\n" .
 167       "    if (window.opener) document.write(\"<a href='javascript:close();'>\");\n" .
 168       "    else document.write(\"<a href='./'>\");\n" .
 169       "    document.write(\"" . _T('pass_quitter_fenetre'). "</a>\");\n" .
 170       "    //-->\n" .
 171       "</script>\n" .
 172       "<noscript>[<a href='./'>" . _T('pass_retour_public'). "</a>]</noscript>\n" .
 173       "</p>";
 174  
 175  install_fin_html();
 176  ?>


Généré le : Sat Feb 24 14:40:03 2007 par Balluche grâce à PHPXref 0.7