| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- <?php
- class auth_model extends Model {
- public function register($data) {
- $data = $this->escapeArray($data);
- $token = hash('ripemd160',$data['email'].$data['pass']);
- $check = $this->query("SELECT * FROM users WHERE username='".$data['email']."' AND status='1';");
-
- if (sizeof($check)>0) {
- return 'error';
- }
- else {
- $this->execute("INSERT INTO users SET
- username='".$data['email']."',
- pass='".hash('ripemd160',$data['pass'])."',
- firstname='".$data['fname']."',
- lastname='".$data['lname']."',
- email='".$data['email']."',
- auto_login_token='".$token."',
- newsletter='".$data['newsletter']."',
- status='2';");
- return $token;
- }
- }
- public function validate($token) {
- $token = $this->escapeString($token);
- if ($token!=='') {
- $check = $this->query("SELECT * FROM users WHERE auto_login_token='".$token."' AND status='2';");
- if (sizeof($check)>0) {
- $perma_token = hash('ripemd160',$check[0]->id.'_'.time());
- $this->execute("UPDATE users SET status='1', permanent_token='".$perma_token."' WHERE id='".$check[0]->id."';");
- return $perma_token;
- }
- else {
- return false;
- }
- }
- else {
- return false;
- }
- }
- public function validateSoft($token) {
- $token = $this->escapeString($token);
- if ($token!=='') {
- $check = $this->query("SELECT * FROM users WHERE auto_login_token='".$token."';");
- if (sizeof($check)>0) {
- $perma_token = hash('ripemd160',$check[0]->id.'_'.time());
- $this->execute("UPDATE users SET status='1', permanent_token='".$perma_token."' WHERE id='".$check[0]->id."';");
- return $perma_token;
- }
- else {
- return false;
- }
- }
- else {
- return false;
- }
- }
- public function login($user,$pass) {
- $user = $this->escapeString($user);
- $pass = $this->escapeString($pass);
- if ($user!=='' && $pass!=='') {
- $check = $this->query("SELECT * FROM users WHERE username='".$user."' AND pass='".hash('ripemd160',$pass)."' AND status='1';");
- if (sizeof($check)>0) {
- $_SESSION['userid'] = $check[0]->id;
- $_SESSION['username'] = $check[0]->firstname.' '.$check[0]->lastname;
- return true;
- }
- else {
- return false;
- }
- }
- else {
- return false;
- }
- }
- public function checkUserEmail($email) {
- $email = $this->escapeString($email);
- if ($email!=='') {
- $check = $this->query("SELECT * FROM users WHERE username='".$email."' AND status='1';");
- if (sizeof($check)>0) {
- return true;
- }
- else {
- return false;
- }
- }
- else {
- return false;
- }
- }
- public function getUserDataByEmail($email) {
- $email = $this->escapeString($email);
- if ($email!=='') {
- $check = $this->query("SELECT * FROM users WHERE username='".$email."' AND status='1';");
- if (sizeof($check)>0) {
- return $check[0];
- }
- else {
- return false;
- }
- }
- else {
- return false;
- }
- }
- public function autoLogin($permaToken) {
- if ($permaToken!='') {
- $check = $this->query("SELECT * FROM users WHERE permanent_token='".$permaToken."' AND status='1';");
- if (sizeof($check)>0) {
- $_SESSION['userid'] = $check[0]->id;
- $_SESSION['username'] = $check[0]->fname.' '.$check[0]->lname;
- setcookie('FP_token',$permaToken,time()+3600*24*365,'/');
- return true;
- }
- else {
- return false;
- }
- }
- else {
- return false;
- }
- }
- public function checkEmail($email) {
- $check = $this->query("SELECT * FROM users WHERE username='".$email."' AND status='1';");
- if (sizeof($check)>0) {
- return false;
- }
- else {
- return true;
- }
- }
- }
|