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 insert() { $connect = static::start(); $stm = $connect->prepare("INSERT INTO managers(name, email, password) VALUES (:name, :email, :password)"); $stm->BindValue(":name", $this->name, PDO::PARAM_STR); $stm->BindValue(":email", $this->email, PDO::PARAM_STR); $stm->BindValue(":password", Cript::encryptpassword($this->password), PDO::PARAM_STR); return $stm->execute(); }
/** * Constrói uma URL no padrão lazyphp. * * <b>Exemplo de uso 1:</b><br> * <?php echo $this->Html->getUrl('Usuario', 'all');?> * * <b>Retorna se rewriteURL estiver definido: </b><br> * /Usuario/all<br> * * <b>Retorna se rewriteURL NÃO estiver definido: </b><br> * index.php?m=Usuario&p=all<br> * * <b>Exemplo de uso 2:</b><br> * <?php echo $this->Html->getUrl('Usuario', 'all', array('id' => 1));?> * * <b>Retorna se rewriteURL estiver definido: </b><br> * /Usuario/all/?id=1<br> * * <b>Retorna se rewriteURL NÃO estiver definido: </b><br> * index.php?m=Usuario&p=all&id=1<br> * * @param String $controller * @param String $action * @param array $urlParams * @return string */ public function getUrl($controller, $action, array $urlParams = NULL) { $link = ''; $url = SITE_PATH . '/?m=' . $controller . '&p=' . $action; if (Config::get('rewriteURL')) { $url = SITE_PATH . '/' . $controller . '/' . $action . '/'; } $link .= $url; if (is_array($urlParams)) { $carr = Config::get('criptedGetParamns'); if (is_array($carr)) { foreach ($carr as $param) { foreach ($urlParams as $key => $value) { if (is_int($key) && $param === $key + 1) { $urlParams[$key] = Cript::cript($value); continue; } elseif ($param === $key) { $urlParams[$key] = Cript::cript($value); } } } } if (Config::get('rewriteURL')) { foreach ($urlParams as $key => $value) { if (is_int($key)) { $link .= $value . '/'; } else { $link .= $key . ':' . $value . '/'; } unset($urlParams[$key]); } } foreach ($urlParams as $key => $value) { if (is_int($key)) { $urlParams['arg' . ++$key] = $value; } } if (Config::get('rewriteURL') && count($urlParams)) { $link .= '?'; } if (count($urlParams)) { $params = '&' . http_build_query($urlParams); $link .= $params; } } return str_replace('//', '/', $link); }
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]); } } } }