function reset() { $id = (int) str_replace(Config::get('salt'), '', Cript::decript($_GET['recuperar'])); try { $d = new DateTime(); $agora = $d->format('Ymdhi'); # int muito longo para o windows, não da para fazer typecast $data = str_replace(Config::get('salt'), '', urldecode(Cript::decript($_GET['d']))); #meia hora de validade do email if ($agora - $data > 30) { throw new Exception('<p>Este link expirou. Solicite novamente sua senha.</p>'); $this->go('Login', 'login'); } $model = $this->model; $user = new $model($id); $senha = $this->gerarSenha(); $user->{$this->password} = md5(Config::get('salt') . $senha); $user->save(); #envia email com a nova senha $headers = "From: nao-responder@" . $_SERVER['HTTP_HOST'] . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; $subject = "Nova senha em " . $_SERVER['HTTP_HOST']; $message = "Olá de novo,<p>você pediu para mudar a senha da sua conta em "; $message .= $_SERVER['HTTP_HOST'] . ".</p>"; $message .= "<p>Sua nova senha é:<strong>{$senha}</strong></p>"; mail($user->{$this->email}, $subject, $message, $headers); new Msg('Uma nova senha foi gerada e enviada para o seu email!'); $this->go('Login', 'login'); } catch (Exception $exc) { new Msg($exc->getMessage(), 3); $this->go('Login', 'login'); } }
public function uncriptGetParams() { $carr = Config::get('criptedGetParamns'); if (is_array($carr)) { foreach ($carr as $value) { if (isset($_GET[$value])) { $_GET[$value] = Cript::decript($_GET[$value]); } } } }