✏️ 正在编辑: AuthController.php
路径:
/srv/systems_dir/contemax/application/modules/acl/controllers/AuthController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php /** * Autenticação de usuários */ class Acl_AuthController extends Zend_Controller_Action { public function init() { $this->_helper->layout->setLayout('login'); } public function loginAction() { if (Yuppie_Auth::hasIdentity()) { $this->getHelper('Redirector')->gotoRouteAndExit(array(), 'home'); } $form = new Acl_Form_Login(); $request = $this->getRequest(); if ($request->isPost()) { $alerts = $this->getHelper('Alerts'); if ($form->isValid($request->getPost())) { try { if ($form->persistData()) { $url = $this->_getParam('url', ''); $this->getHelper('Redirector')->gotoUrlAndExit($url); } else { $alerts->addDanger('Dados incorretos! ' . 'Por favor, verifique seu usuário e senha.'); } } catch (Exception $e) { $alerts->addDanger($e->getMessage()); } } else { $alerts->addDanger('Dados incorretos! ' . 'Por favor, verifique seu usuário e senha.'); } } $this->view->form = $form; } public function logoutAction() { Yuppie_Auth::clearIdentity(); // Redirects back to the login screen $this->getHelper('Redirector')->gotoRouteAndExit(array(), 'login'); } public function solicitarResetSenhaAction(){ if (Yuppie_Auth::hasIdentity()) { $this->getHelper('Redirector')->gotoRouteAndExit(array(), 'home'); } $alerts = $this->getHelper('Alerts'); $request = $this->getRequest(); $form = new Acl_Form_SolicitarResetSenha(); $values = $request->getPost(); if($request->isPost() && $form->isValid($values)){ if($values['tipo_acesso'] == 1){ $dbtable = new Operacional_Model_DbTable_Candidato(); $user = $dbtable->findByCpfAndEmail($values['cpf'], $values['email']); } else { $dbtable = new Acl_Model_DbTable_Usuario(); $user = $dbtable->findByEmail($values['email']); } if($user){ $user->senha = substr(md5(microtime()), 0, 5); $user->reset_senha = 1; $this->view->nome = $user->nome; $this->view->senha = $user->senha; $this->view->login = isset($user->login) ? $user->login : $user->cpf; $dbtEmpresa = Operacional_Model_Container::getEmpresa(); $empresa = isset($user->empresa_id) ? $dbtEmpresa->findById($user->empresa_id) : $dbtEmpresa->getEmpresa(); $from = $empresa->email; if(!empty($from)){ $update = $user->save(); if($update){ try { $email = new Core_Mail(); $send = $email->enviarMensagemHtml($user->nome, $user->email, 'Redefinição de senha', $this->view->render('auth/email-reset-senha.phtml')); if($send['status'] == 1){ $alerts->addSuccess('Nova senha enviada por e-mail'); $this->getHelper('Redirector')->gotoRouteAndExit(array(), 'login'); }else{ $alerts->addError('Ocorreu um erro ao enviar a senha por email.'); } } catch (Exception $exc) { $alerts->addDanger($exc->getMessage()); } } else { $alerts->addWarning('Uma falha pode ter ocorrido. ' . 'Sua mensagem não foi enviada. ' . 'Por favor, tente novamente!'); } } else { $alerts->addWarning('Uma falha pode ter ocorrido. ' . 'Sua mensagem não pode ser enviada.'); } } else { $alerts->addWarning("Email ou cpf não localizados."); } } $this->view->form = $form; } public function resetSenhaAction(){ $alerts = $this->getHelper('Alerts'); $request = $this->getRequest(); $form = new Acl_Form_ResetSenha(); $values = $request->getPost(); if($request->isPost() && $form->isValid($values)){ $identity = Yuppie_Auth::getIdentity(); $dbtable = $identity->grupo_id == 1 ? new Acl_Model_DbTable_Usuario() : new Operacional_Model_DbTable_Candidato(); $user = $dbtable->findById($identity->id); $user->senha = $values['senha']; $user->reset_senha = 0; if($user->save()){ $alerts->addSuccess("Senha salva com sucesso."); $this->getHelper('Redirector')->gotoRouteAndExit(array(), 'logout'); } else { $alerts->addWarning("Senha não pode ser salva. Tente novamente."); } } $this->view->form = $form; } }
💾 保存文件
← 返回文件管理器