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; } } }