/** * XOOPS password recovery * * @copyright XOOPS Project (http://xoops.org) * @license GNU GPL 2 or later (http://www.gnu.org/licenses/gpl-2.0.html) * @package core * @since 2.0.0 * @version $Id$ */ include __DIR__ . '/mainfile.php'; $xoops = Xoops::getInstance(); $xoops->events()->triggerEvent('core.lostpass.start'); $xoops_url = \XoopsBaseConfig::get('url'); $xoops->loadLanguage('user'); $email = Request::getEmail('email', null, 'GET'); $email = Request::getEmail('email', $email, 'POST'); if (empty($email)) { $xoops->redirect("user.php", 2, XoopsLocale::NO_); exit; } $userHandler = Xoops::getInstance()->getHandlerUser(); $getuser = $userHandler->getObjects(new Criteria('email', $email)); if (empty($getuser)) { $msg = XoopsLocale::E_NO_USER_FOUND; $xoops->redirect("user.php", 2, $msg); } else { $userObject = $getuser[0]; // what if there was more than one? $code = Request::getCmd('code', '', 'GET'); $areyou = substr(md5($userObject->getVar("pass")), 0, 5); if ($code != '' && $areyou == $code) {
/** * @covers Xoops\Core\Request::getEmail */ public function testGetEmail() { $varname = 'RequestTest'; $_REQUEST[$varname] = '*****@*****.**'; $this->assertEquals($_REQUEST[$varname], Request::getEmail($varname)); $_REQUEST[$varname] = 'msdfniondfnlknlsdf'; $this->assertEquals('', Request::getEmail($varname)); $_REQUEST[$varname] = 'msdfniondfnlknlsdf'; $default = 'nobody@localhost'; $this->assertEquals($default, Request::getEmail($varname, $default)); }