Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Database
- {
- public function connect(){
- $connect = mysql_connect(SBB_DB_HOST,SBB_DB_USER,SBB_DB_PASS);
- if(!$connect)
- {
- echo 'ShrinkBB encountered an error with the following details:' . mysql_error();
- die();
- }
- else
- {
- mysql_select_db(SBB_DB_DATABASE) or echo 'ShrinkBB encountered an error with the following details:' . mysql_error() and die();
- }
- }
- }
- class Session
- {
- // User levels
- var $guest = 0;
- var $member = array();
- var $mod = array();
- var $admin = array();
- // Field lengths
- var $user_length = 25;
- var $pass_length = 35;
- var $email_length = 35;
- // Duplicate registration
- var $check_user = 1;
- var $check_email = 1;
- var $check_ip = 1;
- // Validates registration
- public function register($username,$password,$confirm_password,$email,$ip,$captcha_challenge,$captcha_response)
- {
- Database->connect();
- // Checks field lengths
- if(strlen($username)>=$this->user_length)
- {
- return false;
- }
- else if(strlen($password)>=$this->pass_length)
- {
- return false;
- }
- else if(strlen($confirm_password)>=$this->pass_length)
- {
- return false;
- }
- else if(strlen($email)>=$this->email_length)
- {
- return false;
- }
- else
- {
- // Checks if passwords match
- if($password!=$confirm_password)
- {
- return false;
- }
- // Checks if email is valid
- else if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$",$email))
- {
- return false;
- }
- else
- {
- // Checks if username, email, or IP was taken.
- if($this->check_user==1)
- {
- $username = base64_encode($username);
- $sql = mysql_query("SELECT * FROM " . SBB_DB_PREFIX . "users WHERE username='$username'");
- if(mysql_num_rows($sql)>=1)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- else if($this->check_email==1)
- {
- $email = base64_encode($email);
- $sql = mysql_query("SELECT * FROM " . SBB_DB_PREFIX . "users WHERE email='$email'");
- if(mysql_num_rows($sql)>=1)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- else if($this->check_ip==1)
- {
- $ip = base64_encode($ip);
- $sql = mysql_query("SELECT * FROM " . SBB_DB_PREFIX . "users WHERE ip='$ip'");
- if(mysql_num_rows($sql)>=1)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- else
- {
- if(SBB_RECAPTCHA==1)
- {
- if(SBB_RECAPTCHA_PUBLIC=="")
- {
- return false;
- }
- else if(SBB_RECAPTCHA_PRIVATE=="")
- {
- return false;
- }
- else
- {
- $check_captcha = recaptcha_check_answer(SBB_RECAPTCHA_PRIVATE,$ip,$captcha_challenge,$captcha_response);
- if(!$check_captcha->is_valid)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- }
- else
- {
- return true;
- }
- }
- }
- }
- }
- // Validates login
- public function login($username,$password,$remember)
- {
- Database->connect();
- // Checks field lengths
- if(strlen($username)>=$this->user_length)
- {
- return false;
- }
- else if(strlen($password)>=$this->pass_length)
- {
- return false;
- }
- else
- {
- // Checks to see if user exists
- $username = base64_encode($username);
- $password = md5($password);
- $sql = mysql_query("SELECT * FROM " . SBB_DB_PREFIX . "users WHERE username='$username' AND password='$password'");
- if(mysql_num_rows($sql)==1)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement