function post_send()
 {
     $this->setTitle('Recuperar senha');
     $c = new Criteria();
     $c->addCondition($this->email, '=', $_POST['email']);
     $model = $this->model;
     $user = $model::getFirst($c);
     if ($user) {
         $d = new DateTime();
         $agora = $d->format('Ymdhi');
         # email:
         $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 = "Recuperação de senha em " . $_SERVER['HTTP_HOST'];
         $message = "Olá,<p>Alguém (provavelmente você) pediu para mudar a senha da sua conta em ";
         $message .= $_SERVER['HTTP_HOST'] . ".</p>";
         $message .= "<p>Para confirmar este pedido e cadastrar uma nova senha, vá ao seguinte endereço web: ";
         $message .= "<a href='" . $_SERVER['HTTP_HOST'] . "/" . SITE_PATH . "/index.php?m=Login&p=reset&recuperar=" . Cript::cript(Config::get('salt') . $user->{$model::PK}) . "&d=" . urlencode(Cript::cript($agora)) . "'>Gerar uma nova senha</a></p>";
         $message .= '<p>Ou copie este endereço e cole no seu navegador: ' . $_SERVER['HTTP_HOST'] . "/" . SITE_PATH . "/index.php?m=Login&p=reset&recuperar=" . Cript::cript(Config::get('salt') . $user->{$model::PK}) . "&d=" . urlencode(Cript::cript($agora)) . '</p>';
         mail($_POST['email'], $subject, $message, $headers);
         new Msg('Um e-mail foi enviado para ' . $_POST['email'] . ' com as instruções. <br>Caso não tenha recebido, verifique sua caixa de spam e tente novamente.');
         $this->go('Login', 'login');
     } else {
         new Msg('E-mail não cadastrado!', 3);
     }
 }
Beispiel #2
0
 /**
  * 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);
 }
 /**
  * Redireciona para uma´página do sistema (Controller e seu método).
  * (opcional) Utilize um array associativo para enviar parâmetros adicionais via GET.
  * 
  * Exemplo 1: Para se construir a url /Produto/all/?categoria=Foo&tipo=Bar
  * $this->go('Produto','all', array('categoria'=>'Foo', 'tipo'=>'Bar') )
  * 
  * Exemplo 2: Para se construir uma URL para /Index/index
  * $this->go('Index','index' )
  *      
  * @param String $controller
  * @param String $action
  * @param array $urlParams
  */
 protected function go($controller, $action, $urlParams = array(), $name = NULL)
 {
     if (isset($_GET['ajax']) || isset($_POST['ajax'])) {
         echo Msg::getMsg();
         exit;
     }
     $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);
                 }
             }
         }
     }
     $link = '?m=' . $controller . '&p=' . $action;
     if (Config::get('rewriteURL')) {
         $link = SITE_PATH . '/' . $controller . '/' . $action . '/';
     }
     $i = 1;
     if (Config::get('rewriteURL')) {
         foreach ($urlParams as $key => $value) {
             if ($key == 'param' . $i++ || is_int($key)) {
                 $link .= $value . '/';
             }
         }
     }
     if (Config::get('rewriteURL') && count($urlParams)) {
         $link .= '?';
     }
     if (count($urlParams)) {
         $link .= '&' . http_build_query($urlParams);
     }
     $link = str_replace('//', '/', $link);
     if ($name) {
         $link .= "#{$name}";
     }
     header('Location:' . $link);
     exit;
 }