2009-09-22 08:37:29 +02:00
< ? php
2007-12-12 17:29:16 +01:00
/***************************************************************************
2008-11-25 16:57:29 +01:00
Copyright ( C ) 2005 Scuttle project
https :// sourceforge . net / projects / scuttle /
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 2 of the License , or
( at your option ) any later version .
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
You should have received a copy of the GNU General Public License
along with this program ; if not , write to the Free Software
Foundation , Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
***************************************************************************/
2007-12-12 17:29:16 +01:00
2010-02-08 08:32:34 +01:00
require_once 'www-header.php' ;
2008-11-25 16:57:29 +01:00
/* Service creation: only useful services are created */
2008-12-05 08:25:04 +01:00
// No specific services
2008-11-25 16:57:29 +01:00
/* Managing all possible inputs */
isset ( $_POST [ 'submitted' ]) ? define ( 'POST_SUBMITTED' , $_POST [ 'submitted' ]) : define ( 'POST_SUBMITTED' , '' );
isset ( $_POST [ 'username' ]) ? define ( 'POST_USERNAME' , $_POST [ 'username' ]) : define ( 'POST_USERNAME' , '' );
isset ( $_POST [ 'email' ]) ? define ( 'POST_EMAIL' , $_POST [ 'email' ]) : define ( 'POST_EMAIL' , '' );
2007-12-12 17:29:16 +01:00
// IF SUBMITTED
2008-11-25 16:57:29 +01:00
if ( POST_SUBMITTED != '' ) {
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
// NO USERNAME
if ( ! POST_USERNAME ) {
$tplVars [ 'error' ] = T_ ( 'You must enter your username.' );
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
// NO E-MAIL
} elseif ( ! POST_EMAIL ) {
$tplVars [ 'error' ] = T_ ( 'You must enter your <abbr title="electronic mail">e-mail</abbr> address.' );
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
// USERNAME AND E-MAIL
} else {
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
// NO MATCH
$userinfo = $userservice -> getObjectUserByUsername ( POST_USERNAME );
2009-01-15 19:05:08 +01:00
if ( $userinfo == NULL ) {
2008-11-25 16:57:29 +01:00
$tplVars [ 'error' ] = T_ ( 'No matches found for that username.' );
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
} elseif ( POST_EMAIL != $userinfo -> getEmail ()) {
$tplVars [ 'error' ] = T_ ( 'No matches found for that combination of username and <abbr title="electronic mail">e-mail</abbr> address.' );
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
// MATCH
} else {
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
// GENERATE AND STORE PASSWORD
$password = $userservice -> generatePassword ( $userinfo -> getId ());
if ( ! ( $password = $userservice -> generatePassword ( $userinfo -> getId ()))) {
$tplVars [ 'error' ] = T_ ( 'There was an error while generating your new password. Please try again.' );
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
} else {
// SEND E-MAIL
$message = T_ ( 'Your new password is:' ) . " \n " . $password . " \n \n " . T_ ( 'To keep your bookmarks secure, you should change this password in your profile the next time you log in.' );
$message = wordwrap ( $message , 70 );
$headers = 'From: ' . $adminemail ;
$mail = mail ( POST_EMAIL , sprintf ( T_ ( '%s Account Information' ), $sitename ), $message );
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
$tplVars [ 'msg' ] = sprintf ( T_ ( 'New password generated and sent to %s' ), POST_EMAIL );
}
}
}
2007-12-12 17:29:16 +01:00
}
$templatename = 'password.tpl' ;
$tplVars [ 'subtitle' ] = T_ ( 'Forgotten Password' );
$tplVars [ 'formaction' ] = createURL ( 'password' );
$templateservice -> loadTemplate ( $templatename , $tplVars );
?>