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(); }