Смена пароля для dvelum

Отправлено planktun от вт, 04/12/2016 - 16:18

<?php
class Frontend_Mailcode_Controller extends Frontend_Controller_Authorised
{
   // public function getModule()
   // {
       // return 'Mailcode'; 
   // }

   // public function indexAction()
   // {
       // parent::indexAction();
       // $this->_runDesignerProject('./system/config/layouts/mailcode.designer.dat' ,'content');
   // }
   public function checkAuth()
    {
    }
    

   public function indexAction()
    {

        // $template = new Template();
        // $template->page = $this->_page;
        // $template->router = $this->_router;
        $this->_page->html_title = 'Восстановить пароль';
        $this->_page->text.="
            <style>
    .x-form-text {
    color: black;
   padding: 4px 4px 8px 9px;
    background: white repeat-x 0 0;
    border-width: 1px;
    border-style: solid;
    border-color: #b5b8c8;
    background-image: url(images/form/text-bg.gif);
margin-right:7px;
    line-height: 17px;
    }
    .x-border-box, .x-border-box * {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    }
    .x-form-item, .x-form-field {
    font: normal 12px tahoma,arial,verdana,sans-serif;
}
    </style>
    
        <div style='background-color:#f1f1f1;border-radius:4px; height:300px;'>
        <div style=''></div>
        <div style='padding:120px 10px 10px 15px;'><label>Введите почту для востановления пароля</label>  
        <form action=''><input name='email'  class='x-form-field x-form-required-field x-form-text x-form-focus x-field-form-focus x-field-default-form-focus' type='text' /><input class='btn  btn-primary  btn-signin' type='submit' ></form>
        </div></div>";
     
       if(isset($_GET['email']))
       {
          
             //$user_id=$this->_user->getId();
            $model = Model::factory('user');
            $db = $model->getDbConnection();
  
                $params = array(
                    'limit'=>1
                    );
                $filters = array('email'=> $_GET['email']); 
                $fields = array('pass','name'); 
                $data = $model->getList($params , $filters , $fields);
                //$user = User::getInstance(); 
                            if(!$data[0]['pass'])
                            {
                                $this->_page->text.= 'такой почты нет'; 
                            }
                            else
                            { 
                                $body = "
                                Кто-то, возможно Вы, {$data[0]['name']}, отправили запрос на смену пароля на сайте http://lk.lasto4ka-apeha.com
Для смены пароля <a href='http://lk.lasto4ka-apeha.com/mailpass?code={$data[0]['pass']}&email={$_GET['email']}'>перейдите по ссылке </a> и следуйте дальнейшим указаниям.
Если вы не отправляли запрос на смену пароля, то проигнорируйте это письмо.
С уважением, Дилер <a href='http://apeha.ru/info.html?user=201703183'>LaS_to4Ka</a>
                                Кто-то , возможно Вы  , запросил смену пароля. ";
                                $mail = new Zend_Mail('UTF-8');
                                $mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64)
                                ->setSubject("Изменеие пароля")
                                ->setFrom( 'no-reply@lk.lasto4ka-apeha.com','Admin')
                                ->addTo($_GET['email'],'пользователь')
                                ->setBodyHtml($body, 'utf-8');
                                $mail->send();
                                $this->_page->text.='<script>alert("Ссылка для востановления пароля отправлена на указаную почту")</script>';
                            }
       } 

       
    }
   
   
}

 

<?php
class Frontend_Fgpswd_Controller extends Frontend_AuthController
{


   public function indexAction()
   {
      
    $this->_page->text.="
    <style>
    .x-form-text {
    color: black;
    padding: 1px 3px 2px 3px;
    background: white repeat-x 0 0;
    border-width: 1px;
    border-style: solid;
    border-color: #b5b8c8;
    background-image: url(images/form/text-bg.gif);

    line-height: 17px;
    float:right;
    clear:both;
    }
    .x-border-box, .x-border-box * {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    }
    .x-form-item, .x-form-field {
    font: normal 12px tahoma,arial,verdana,sans-serif;
}
    </style>
        <script>$('.about-top').children('div:nth-child(2)').css('display','none');</script>  
    <div style='background-color:#f1f1f1;border-radius:4px;padding:120px 10px 10px 30%;'> <form style='width:340px;' action=''>
    <label>Старый пароль</label> <input name='oldpswd' type='password' class='x-form-field x-form-required-field x-form-text x-form-focus x-field-form-focus x-field-default-form-focus'/> <br/>
    <label>Новый пароль</label><input name='newpswd' type='password' class='x-form-field x-form-required-field x-form-text x-form-focus x-field-form-focus x-field-default-form-focus' /> <br/>
    <label>Подтверждение</label> <input name='rpswd' type='password'  class='x-form-field x-form-required-field x-form-text x-form-focus x-field-form-focus x-field-default-form-focus'/>  <br/> 
    <input style='margin-left: 124px;margin-top: 12px;' class='btn  btn-primary  btn-signin' type='submit'  value='сменить пароль' ></form>";
   // массив ошибок 
   $errors = array();
   // пароль не может быть пустым
   if(strlen($_GET['newpswd'])>5)
   {
       $newpswd = $_GET['newpswd'];
   }
   else
   {
       $errors[] ='пароль слишком короткий'; 
   }
    if(strlen($_GET['rpswd'])>5)
   {
        $rpswd = $_GET['rpswd'];
   }
   else
   {
       $errors[] = 'повторный пароль слишком короткий';
   }
    if(strlen($_GET['oldpswd'])>1)
   {
      $oldpswd  = $_GET['oldpswd'];
   }
   else
   {
        $errors[] = 'заполните старый пароль'; 
   }
   if($rpswd!=$newpswd)
   {
       $errors[] = 'пароли не совпадают'; 
      
   }
  
    if(empty($errors))
    {
        $user_id=$this->_user->getId();
        $hash = Utils::hash($newpswd);
        $oldhash = Utils::hash($oldpswd);
 
        $model = Model::factory('user');
        $db = $model->getDbConnection();

        $user = User::getInstance(); 

        if($user->pass!=$oldhash)
        {
            $errors[]='старый пароль не верный';
        }
 
            // если были ошибки, останавливаем обработку


        if(empty($errors))
        {
            $db->query("UPDATE `user` SET pass = '$hash' WHERE id=$user_id "); // и тд
            $mail = new Zend_Mail('UTF-8');
            $mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64)
            ->setSubject("Изменеие пароля")
            ->setFrom( 'no-reply@lk.lasto4ka-apeha.com','Admin')
            ->addTo($user->email, $user->name)
            ->setBodyHtml("Кто-то, возможно Вы, {$user->name}, сменили пароль на сайте http://lk.lasto4ka-apeha.com
Если вы не меняли пароль, то срочно обратитесь к Дилеру  <a href='http://apeha.ru/info.html?user=201703183'>LaS_to4Ka<a>
---
С уважением, Дилер LaS_to4Ka", 'utf-8');
            $mail->send();
            $this->_page->text.="пароль изменен";
        }
        else
        {
            foreach($errors as $error)
                {
                    $this->_page->text.="<div style='color:red;background-color:#f1f1f1;padding:5px;'> $error </div>";
                }
        }
    }
    else
    {
        foreach($errors as $error)
                {
                    $this->_page->text.="<div style='color:red;background-color:#f1f1f1;padding:5px;'>$error </div>";
                }
    }
  

   $this->_page->text.='</div>';
    
   }
}

 

<?php
class Frontend_Mailpass_Controller extends Frontend_AuthController
{
   public function checkAuth()
    {
    }

   public function indexAction()
   {
       //$template = new Template(); 
    
        $this->_page->html_title = 'Установить пароль';
       if(isset($_GET['code']))
       { echo '1';
          $this->_page->text.= '
    <style>
    .x-form-text {
    color: black;
    padding: 1px 3px 2px 3px;
    background: white repeat-x 0 0;
    border-width: 1px;
    border-style: solid;
    border-color: #b5b8c8;
    background-image: url(images/form/text-bg.gif);

    line-height: 17px;
    float:right;
    clear:both;
    }
    .x-border-box, .x-border-box * {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    }
    .x-form-item, .x-form-field {
    font: normal 12px tahoma,arial,verdana,sans-serif;
}
    </style>
    <script>$(".about-top").children("div:nth-child(2)").css("display","none");</script>  
          <div style="background-color:#f1f1f1;border-radius:4px;padding:120px 10px 10px 30%;z-index:1000;">
          <form style="width:340px;" action=""> 
         <label> Введите новый пароль </label><input name="newpswd" type="password"  class="x-form-field x-form-required-field x-form-text x-form-focus x-field-form-focus x-field-default-form-focus"/><br/><br/>
         <label> Повторите пароль </label>   <input name="rpswd" type="password" class="x-form-field x-form-required-field x-form-text x-form-focus x-field-form-focus x-field-default-form-focus" />
           <input type="hidden" name="code" value="'.$_GET['code'].'">
           <input type="hidden" name="email" value="'.$_GET['email'].'">
           <input type="hidden" name="change" value="1"><br/><br/>
           <input style="margin-left: 124px;margin-top: 12px;"  type="submit" class="btn  btn-primary  btn-signin"/></form></div>';
       }
       
       if(isset($_GET['code']) AND $_GET['change']==1)
        {
            $newpswd = Request::post('newpswd', FILTER::FILTER_STRING, '');
            $rpswd = Request::post('rpswd', FILTER::FILTER_STRING, '');
            $confirmation_code  = $_GET['code'];
            // массив ошибок 
            $errors = array();
            // пароль не может быть пустым
            if(strlen($_GET['newpswd'])>5)
            {
                $newpswd = $_GET['newpswd'];
            }
            else 
            {
            $errors[] = 'слишком короткий пароль'; 
            }
            if(strlen($_GET['rpswd'])>5)
            {
                $rpswd = $_GET['rpswd'] ;
            }
            else
            {
            $errors[] = 'повторите пароль'; 
            }
 
            if($rpswd!=$newpswd)
            {
            $errors[] = 'пароли не совпадают'; 
            }
  
  
            $hash = Utils::hash($newpswd);
  
            $model = Model::factory('user');
            $db = $model->getDbConnection();
            
            $params = array(
                    'limit'=>1
                    );
                $filters = array('pass'=> $_GET['code'],'email'=>$_GET['email']); 
                $fields = array('id','email','name'); 
                $data = $model->getList($params , $filters , $fields);

            if(!$data[0]['id'])
            {
                $errors[]='не верный код';
            }
 
 
if(empty($errors))
{
    $db->query("UPDATE `user` SET pass = '$hash' WHERE id={$data[0]['id']} "); // и тд
        $mail = new Zend_Mail('UTF-8');
            $mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64)
            ->setSubject("Смена пароля")
            ->setFrom( 'no-reply@lk.lasto4ka-apeha.com','Admin')
            ->addTo( $data[0]['email'], $data[0]['name'])
        ->setBodyHtml("Кто-то, возможно Вы, {$data[0]['name']}, сменили пароль на сайте <a href='http://lk.lasto4ka-apeha.com'>http://lk.lasto4ka-apeha.com</a>
Если вы не меняли пароль, то срочно обратитесь к Дилеру  <a href='http://apeha.ru/info.html?user=201703183'>LaS_to4Ka</a>
---
С уважением, Дилер LaS_to4Ka", 'utf-8');
            $mail->send();
            
            $this->_page->text.="пароль изменен";
}
else{
        foreach($errors as $error)
            {
            $this->_page->text.="$error <br/>";
            }
}
        
        

    }
}
}
 

Теги