Advertisement
Guest User

Untitled

a guest
Aug 12th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.54 KB | None | 0 0
  1. <?php
  2. if ( ! defined('SB_ENGINE_PATH')) exit('No direct script access allowed');
  3. /**
  4.  * @package sambhuti
  5.  * @author Piyush Mishra<me[at]piyushmishra[dot]com>
  6.  */
  7.  
  8. class login extends baseController
  9. {
  10.     function __construct()
  11.     {
  12.         parent::__construct();
  13.         if($this->session->get('auth') && $this->uri->segment(2)!="logout")
  14.         header("Location:".$this->uri->site_url);
  15.        
  16.     }
  17.     function index()
  18.     {
  19.         $this->load->view('login_form');       
  20.     }
  21.     function signup()
  22.     {
  23.         $this->load->view('signup_form');
  24.        
  25.     }
  26.     function do_signup()
  27.     {
  28.         $this->load->model('user');    
  29. //      $this->user->getpass();
  30.         if($this->input->hasVar('email'))
  31.         {
  32.             $this->input->set('email',FILTER_VALIDATE_EMAIL);
  33.             $this->input->set('fname',FILTER_VALIDATE_REGEXP,array("options"=>array('regexp'=>'/^([a-zA-Z]+)$/')));
  34.             $this->input->set('lname',FILTER_VALIDATE_REGEXP,array("options"=>array('regexp'=>'/^([a-zA-Z]+)$/')));
  35.             $this->input->set('pass',FILTER_UNSAFE_RAW);
  36.             $this->input->set('pass2',FILTER_UNSAFE_RAW);
  37.             $this->input->set('slug',FILTER_VALIDATE_REGEXP,array("options"=>array('regexp'=>'/^([a-zA-Z_]+)$/')));
  38.            
  39.             $email =    $this->input->get('email');
  40.             $fname =    $this->input->get('fname');
  41.             $lname =    $this->input->get('lname');
  42.             $slug =     $this->input->get('slug');
  43.             if(($this->input->get('pass')===$this->input->get('pass2')) && strlen($this->input->get('pass'))>8)
  44.                 if(strlen($email) && strlen ($fname) && strlen ($lname) && strlen($slug))
  45.                 {
  46.                     $key=$this->user->keygen($email);
  47.                     if($this->user->create($fname,$lname,$email,$slug,$this->input->get('pass'),$key))
  48.                     {
  49.                         echo "Success!"." <a href='".$this->uri->site_url."login'>Login now</a> the key will be mailed in real site.<br /> you wont need it now... its ".$key;
  50.                         echo "<br />"."This part takes place when user clicks on email. Auto activating....";
  51.                         if($this->user->checkactivate($key))
  52.                             echo "<br />"."Activated";
  53.                         else
  54.                             echo "<br />"."Couldnt activate!. <a href='".$this->uri->site_url."login/activate/".$key."'>Click to activate</a>";
  55.                     }
  56.                     else
  57.                         exit("Cannot take that in. na ha!!"." <a href='".$this->uri->site_url."login/signup'>Go back</a>");
  58.                 }
  59.                 else
  60.                     exit("fill the form properly!"." <a href='".$this->uri->site_url."login/signup'>Go back</a>");
  61.             else
  62.                 exit("Passwords huh!!! Minimum 8 chars and should match!!!!"." <a href='".$this->uri->site_url."login/signup'>Go back</a>");
  63.             //$this->input->hasvar(array('email','fname','lname','pass','pass2'));
  64.             //print_r($this->input->getall());
  65.         }
  66.         else
  67.         {
  68.             header("Location:".$this->uri->site_url."login/signup");
  69.                 die();
  70.         }
  71.     }
  72.     function logout()
  73.     {
  74.         $this->session->destroy();
  75.         header("Location:".$this->uri->site_url."login");
  76.             die();
  77.     }
  78.     function activate($key=null)
  79.     {
  80.         if(is_null($key) || strlen($key)!=32)
  81.             exit("Invalid key");
  82.         else
  83.         {
  84.             $this->load->model('user');
  85.             if($this->user->checkactivate($key))
  86.                 echo "User Activated"."<a href='".$this->uri->site_url."login'>Login now</a>";
  87.             else
  88.                 exit("Invalid key");
  89.         }
  90.        
  91.     }
  92.     function check_auth()
  93.     {
  94.         $this->load->model('user');
  95.         if($this->input->hasVar('email'))
  96.         {
  97.             $this->input->set('email',FILTER_VALIDATE_EMAIL);
  98.             $this->input->set('pass',FILTER_UNSAFE_RAW);
  99.             $email=$this->input->get('email');
  100.             $pass_from_user=$this->input->get('pass');
  101.             if($this->user->emailexists($email))
  102.             {
  103.                 $pass_from_db=$this->user->getpass($email);
  104.                 $salt=$this->user->fetchsalt($pass_from_db);
  105.                 $calc_pass=$this->user->hashpass($pass_from_user,$salt);
  106.                 if($calc_pass==$pass_from_db)
  107.                 {
  108.                     $this->session->set('auth',true);
  109.                     $this->session->set('user',serialize($this->user->getbyemail($email)));
  110.                     header("Location:".$this->uri->site_url."profile");
  111.                     die();
  112.                 }
  113.  
  114.             }
  115.             exit("Error logging in :( "."<a href='".$this->uri->site_url."login'>Go back</a>");
  116.         }
  117.         else
  118.         {
  119.             header("Location:".$this->uri->site_url."login");
  120.                 die();
  121.         }
  122.         //echo $this->user->create("Piyush","Mishra","mymail".rand(1,10000)."@piyush.com","pass","wtf".rand(1,10000)."key");
  123.         //echo "All users<br /><pre>";
  124.         //print_r($this->user->getall());
  125.     }
  126.     /*
  127.     * for testing only
  128.     function fakemake()
  129.     {
  130.         $this->load->model('user');
  131.         echo $this->user->create("Piyush","Mishra","mymail".rand(1,10000)."@piyush.com","pass","wtf".rand(1,10000)."key");
  132.     }
  133.    
  134.     function check_few()
  135.     {
  136.         $array=array(1,5,8,2,15,9);
  137.         $this->load->model('user');
  138.         echo "<pre>";
  139.         print_r($this->user->getsome($array));
  140.     }*/
  141. }
  142.  
  143. /**
  144.  * End of file Login
  145.  */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement