ea-Geiercode-base
[ class tree: ea-Geier ] [ index: ea-Geier ] [ all elements ]

Source for file sendpw.inc.php

Documentation is available at sendpw.inc.php

  1. <?php 
  2. /**
  3.  * php functions to sent lost passwords
  4.  *
  5.  * LICENSE:
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License as published by
  8.  * the Free Software Foundation; either version 2 of the License, or
  9.  * (at your option) any later version.
  10.  * This program is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.     See the
  13.  * GNU General Public License for more details.
  14.  * You should have received a copy of the GNU General Public License along
  15.  * with this program; if not, write to the Free Software Foundation, Inc.,
  16.  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  17.  *
  18.  * @package       ea-Geier
  19.  * @subpackage code/base
  20.  * @author       m2mtech <tech@m2m.at>
  21.  * @copyright  2007 m2m server software gmbh
  22.  * @license       http://www.gnu.org/licenses/gpl.html GNU General Public License Version 2
  23.  * @version       $Id: sendpw.inc.php 73 2007-05-22 22:11:29Z m2mtech $
  24.  * @link       http://www.ea-geier.at/
  25.  */
  26.  
  27. /**
  28.  * html functions for send-password screen
  29.  */
  30. require_once('code/base/sendpw.html.php');
  31.  
  32. /**
  33.  * mail functions for send-password screen
  34.  */
  35. require_once('code/base/sendpw.mail.php');
  36.  
  37. /**
  38.  * generate data for html output of send-password screen
  39.  *
  40.  * @param    eaInput input data
  41.  */
  42. function genOptSendPW(&$in{
  43. }
  44.  
  45. /**
  46.  * send new user password data
  47.  *
  48.  * validates the input data, generates new password and delivers it
  49.  *
  50.  * @param    eaDB    database
  51.  * @param    eaInput input data
  52.  * @return    boolean status
  53.  */
  54. function sendPW(&$db&$in{
  55.     $conf =$db->conf;
  56.  
  57.     if (!isset($_POST['buttonSendPW'])) return false;
  58.     
  59.     $vars array('p:mail:mail');
  60.     $in->check($vars);
  61.     
  62.     if ($in->errorreturn false// wrong input
  63.  
  64.     if (!isset($in->post['mail']|| !$name $db->isUser($in->post['mail'])) {
  65.         $in->error['mail'true;
  66.         return false;
  67.     }
  68.  
  69.     $pass genPW();
  70.         
  71.     if (!$db->setPW($in->post['mail']$pass)) return false;
  72.  
  73.     if (!eaMailSendPW($conf$name$in->post['mail']$pass)) {
  74.         $in->error['serverproblem'true;
  75.         return false;
  76.     };
  77.     return true;
  78. }
  79.  
  80. /**
  81.  * generate mnemnonic password
  82.  *
  83.  * @return    string    password
  84.  */
  85. function genPW({
  86.     $cons array('b''c' ,'d''f''g''h''j''k''l''m''n''p''r''s''t''v''w''x''z');
  87.     $vocal array('a''e''i''o''u''y');
  88.  
  89.     $len rand(34);
  90.     $pass '';
  91.     for($i 0$i $len$i++
  92.         $pass .= $cons[rand(018)$vocal[rand(0,5)];
  93.     return $pass;
  94. }
  95.         
  96. ?>

Documentation generated on Sun, 09 Sep 2007 17:09:27 +0200 by phpDocumentor 1.3.1