Guest User

Untitled

a guest
May 5th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. <?php
  2.  
  3. protected function form(){
  4.  
  5. $front = $this->getFrontController();
  6. $this->getLastMessage();
  7.  
  8. $this->main_template = "form";
  9. $form = new Phenix_Form;
  10. $form->setAction(PHENIX_URL.SLASH.$this->currentModule.'/login');
  11. $form->setMethod('POST');
  12.  
  13. $username = $form->createElement('text', 'username');
  14. $username->setLabel('User Name');
  15. $username->addValidator('alnum');
  16. $username->addValidator('regex', false, array('/^[a-z]+/'));
  17. $username->addValidator('stringLength', false, array(6, 20));
  18. $username->addFilter('StringToLower');
  19. $username->setRequired(true);
  20.  
  21. $password = $form->createElement('password', 'password');
  22. $password->setLabel('Password');
  23. $password->addValidator('StringLength', false, array(6));
  24. $password->setRequired(true);
  25.  
  26. $form->addElement($username);
  27. $form->addElement($password);
  28. $form->addElement('submit', 'login', array('label' => 'Login'));
  29.  
  30. $form->setView($this->view);
  31. $this->view->form = $form;
  32.  
  33. if ($this->config()->system->siteclose->active == true){
  34. $this->view->siteclose = $this->config->system->siteclose->message;
  35. }
  36.  
  37. }
  38.  
  39. protected function getLastMessage(){
  40. if ($this->_flashmessenger->hasMessages()) {
  41. $this->view->lastmessage = $this->_flashmessenger->getMessages();
  42. }
  43. }
  44.  
  45. protected function setReferer($default = "", $reset = false){
  46. if ($reset){
  47. $this->_session->referer = "";
  48. }else {
  49. if (isset($this->_session->referer) && $this->_session->referer != ""){
  50. $referer = $this->_session->referer;
  51. }else {
  52. if (isset($_SERVER["HTTP_REFERER"])){
  53. $referer = $_SERVER["HTTP_REFERER"];
  54. }else {
  55. $referer = $default;
  56. }
  57. $this->_session->referer = $referer;
  58. }
  59. return $referer;
  60. }
  61.  
  62. }
  63.  
  64. public function loginAction()
  65. {
  66.  
  67. $referer = $this->setReferer("/profil");
  68. $auth = Zend_Auth::getInstance();
  69. if ($auth->hasIdentity()) {
  70. $this->view->identity = $auth->getIdentity();
  71. $this->_redirector->gotoUrl('/profil');
  72. } else {
  73.  
  74. if ($this->_request->isPost()) {
  75. //checkform param
  76.  
  77. $username = $this->_getParam("username");
  78. $password = $this->_getParam("password");
  79. if ((strlen($username) <= 0) || (strlen($password) <= 0)) {
  80. $this->view->failureReason = $this->_translate->_('Both email and password must be specified.');
  81. Zend_Auth::getInstance()->clearIdentity();
  82. $this->form();
  83. }else {
  84. $users = new auth_Model_Users();
  85. $users->getAuthAdapter();
  86. //$adapter = new auth_Adapter_DbTable(Zend_Db_Table::getDefaultAdapter());
  87. $adapter = $users->getAuthAdapter();
  88. $adapter->setTableName($users->getTableName());
  89. $adapter->setIdentityColumn('username');
  90. $adapter->setCredentialColumn('password');
  91. $adapter->setIdentity($username);
  92. $adapter->setCredential(auth_encrypt_password($password));
  93. $adapter->setCredentialTreatment("? and (status = 1 or status = 2)");
  94. $result = $auth->authenticate($adapter);
  95. if ($result->isValid()) {
  96. $auth->getStorage()
  97. ->write($adapter->getResultRowObject(null, 'password'));
  98. Zend_Session::rememberMe();
  99.  
  100. $this->setReferer("", true);
  101. $this->_redirector->gotoUrl($referer);
  102.  
  103. } else { // or not! Back to the login page!
  104. switch ($result->getCode()) {
  105. case Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND:
  106. $this->view->failureReason = $this->_translate->_('Unknown username.');
  107. break;
  108. case Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID:
  109. $this->view->failureReason = $this->_translate->_('Incorrect password supplied.');
  110. break;
  111. default:
  112. $this->view->failureReason = $this->_translate->_('Could not authenticate properly.');
  113. break;
  114. }
  115. $auth->clearIdentity();
  116. $this->view->failedAuthentication = true;
  117. $this->form();
  118. }
  119. }
  120. }else {
  121. $this->form();
  122. }
  123.  
  124. }
  125. }
Add Comment
Please, Sign In to add comment