Advertisement
gareth126

ex 4

Nov 24th, 2011
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.49 KB | None | 0 0
  1. <?php
  2.  
  3. //the view
  4.  
  5. ?>
  6.  
  7. <br /><br />
  8. <div id="view-content">
  9.     <p>Login to the app!</p>
  10.    
  11.     <?php echo $this->loginForm; ?>
  12.    
  13.     <a href="/users/logout" title="logout">Logout</a>
  14.    
  15.     <br />
  16.     <?php
  17.     if ($this->auth){
  18.         echo 'logged in correctly!';
  19.     }else{
  20.         echo 'not logged in!';
  21.     }
  22.     ?>
  23.    
  24. </div>
  25.  
  26. <?php
  27.  
  28. //the login class
  29. class Application_Form_Login extends Zend_Form
  30. {
  31.    
  32.     function init(){
  33.        
  34.         $this->setAction('/users/login')
  35.              ->setMethod('post');
  36.          
  37.         // Create and configure username element:
  38.         $username = $this->createElement('text', 'name');
  39.         $username->addValidator('alnum')
  40.                  ->addValidator('regex', false, array('/^[a-z]+/'))
  41.                  ->addValidator('stringLength', false, array(6, 20))
  42.                  ->setRequired(true)
  43.                  ->addFilter('StringToLower');
  44.          
  45.         // Create and configure password element:
  46.         $password = $this->createElement('password', 'password');
  47.         $password->addValidator('StringLength', false, array(6))
  48.                  ->setRequired(true);
  49.          
  50.         // Add elements to form:
  51.         $this->addElement($username)
  52.              ->addElement($password)
  53.              ->addElement('submit', 'login', array('label' => 'Login'));
  54.              
  55.     }
  56.          
  57. }
  58.  
  59. //the controller action
  60.  
  61.  public function loginAction()
  62.     {
  63.        
  64.         $loginForm = new Application_Form_Login();
  65.        
  66.         $this->view->loginForm = $loginForm;
  67.        
  68.         if ( ($this->getRequest()->isPost('name') != '') && $loginForm->isValid($_POST)  )
  69.         {
  70.  
  71.             $username = $loginForm->getValue('name');
  72.             $password = $loginForm->getValue('password');
  73.            
  74.             $authObject = new Application_Model_Authenticate();
  75.             $loginStatus = $authObject->checkCreds($username, $password);
  76.            
  77.             $this->view->auth = $loginStatus;
  78.             $this->view->nameValue = $username;
  79.            
  80.            
  81.         }
  82.        
  83.  
  84.    
  85.     }
  86.  
  87. //the authentication class
  88.  
  89.  class Application_Model_Authenticate
  90. {
  91.  
  92.     function __construct(){
  93.    
  94.     }
  95.  
  96.    
  97.     public function checkCreds($username, $password)
  98.     {
  99.         $db = Zend_Db_Table::getDefaultAdapter();
  100.         $authAdapter = new Zend_Auth_Adapter_DbTable($db);
  101.        
  102.         $authAdapter
  103.             ->setTableName('users')
  104.             ->setIdentityColumn('username')
  105.             ->setCredentialColumn('password')
  106.             ->setIdentity($username)
  107.             ->setCredential($password)
  108.             ->setCredentialTreatment('MD5(?)');
  109.            
  110.         $result = $authAdapter->authenticate();
  111.        
  112.         return $result->isValid();
  113.        
  114.     }
  115.  
  116.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement