public function passAction($params)
 {
     if ($this->_di->get('request')->isPost()) {
         $restore_email = filter_input(INPUT_POST, 'restore_email');
         $restore_email = filter_var($restore_email, FILTER_VALIDATE_EMAIL);
     }
     switch ($params) {
         case 'restore':
             if (!$restore_email) {
                 $this->error('Where is an e-mail?!');
             }
             $_client = new Clients($this->_di);
             $client = $_client->findClientByEmail($restore_email);
             if (!is_array($client)) {
                 $this->error('Пользователь с таким E-Mail не найден');
                 return false;
             }
             $new_password = $_client->genPassword($this->_di->get('config')->get('app')['password_length_for_generation']);
             if (!$_client->update($client['cid'], array('password' => hash('sha512', $new_password)))) {
                 $this->error('Возникла ошибка при генерации нового пароля. Попробуйте позже или обратитесь к менеджеру');
                 return false;
             }
             $_mailer = new Mail('PHPMailer');
             $config = $this->_di->get('config')->get('app')['pass_recovery_mail'];
             $_mailer->setConfig(array('to' => array(0 => array('address' => $client['email'], 'name' => $client['surname'] . ' ' . $client['name'])), 'from' => $config['from'], 'subject' => $config['subject']));
             $_mailer->setConfig(array('smtp' => $this->_di->get('config')->get('app')['smtp']));
             $this->_di->get('builder')->assign('new_pass', $new_password);
             $_mailer->setBody($this->_di->get('builder')->fetch('layout/emails/pass_recovery.tpl'));
             if ($_mailer->send()) {
                 $this->good_answer('Письмо было отправлено');
                 return false;
             } else {
                 $this->error('Ошибка при отправке письма. Попробуйте позже или обратитесь к менеджеру');
             }
             break;
         default:
             $this->error('Unknown command');
             break;
     }
 }
 protected function sendNotification($oid)
 {
     $order = $this->_orders->getItem($oid);
     $order_content = $this->_orders->getOrderContent($oid);
     $client = $this->_client->getItem($order['cid']);
     $_mailer = new Mail('PHPMailer');
     $config = $this->_di->get('config')->get('app')['orders_mail'];
     $_mailer->setConfig(array('to' => array(0 => array('address' => $client['email'], 'name' => $client['surname'] . ' ' . $client['name'])), 'from' => $config['from'], 'subject' => 'Заказ в магазине Autopoisk.pro'));
     $_mailer->setConfig(array('smtp' => $this->_di->get('config')->get('app')['smtp']));
     $this->_di->get('builder')->assign('order', $order);
     $this->_di->get('builder')->assign('order_content', $order_content);
     $_mailer->setBody($this->_di->get('builder')->fetch('layout/emails/new_order_for_client.tpl'));
     $_mailer->send();
     unset($_mailer);
     $_mailer = new Mail('PHPMailer');
     $_mailer->setConfig(array('smtp' => $this->_di->get('config')->get('app')['smtp']));
     $_mailer->setConfig(array('to' => array(0 => $config['to']), 'from' => $config['from'], 'subject' => $config['subject']));
     $this->_di->get('builder')->assign('order', $order);
     $this->_di->get('builder')->assign('client_phone', $client['phone']);
     $this->_di->get('builder')->assign('order_content', $order_content);
     $_mailer->setBody($this->_di->get('builder')->fetch('layout/emails/new_order_for_manager.tpl'));
     $_mailer->send();
 }