main.js

var err_img = '';
var temp = '';

function login_validate()
{
var msg = "";
if($('#signin_username').val()=="")
{
msg = msg+err_img+'Username is required.
';
}
if($('#signin_password').val()=="")
{
msg = msg+err_img+'Password is required.
';
}
else if($('#signin_password').val().length<6)
{
msg = msg+err_img+'Password needs to be more than 6 characters.
';
}

if(msg!="")
{
$('#error').html(msg);
return false;
}else{
return true;
}

}

function register_validate()
{
var msg = "";
if($('#register_username').val()=="")
{
msg = msg+err_img+'Username is required.
';
}
if($('#register_password').val()=="")
{
msg = msg+err_img+'Password is required.
';
}
else if($('#register_password').val().length<6)
{
msg = msg+err_img+'Password needs to be more than 6 characters.
';
}
else if($('#register_password_conf').val()=="")
{
msg = msg+err_img+'Password confirmation required.
';
}
else if($('#register_password_conf').val()!=$('#register_password').val())
{
msg = msg+err_img+'Password confirmation missmatched.
';
}
if($('#register_fname').val()=="")
{
msg = msg+err_img+'First name is required.
';
}
if($('#register_lname').val()=="")
{
msg = msg+err_img+'Last name is required.
';
}
if($('#register_email').val()=="")
{
msg = msg+err_img+'Email is required.
';
}
else if(!isValidEmailAddress($('#register_email').val()))
{
msg = msg+err_img+'Email provided is invalid.
';
}
if($('#register_address').val()=="")
{
msg = msg+err_img+'Address is required.
';
}

if(msg!="")
{
$('#error').html(msg);
return false;
}else{
return true;
}
}


function edit_profile_validate()
{
var msg = "";
if($('#edit_fname').val()=="")
{
msg = msg+err_img+'First name is required.
';
}
if($('#edit_lname').val()=="")
{
msg = msg+err_img+'Last name is required.
';
}
if($('#edit_email').val()=="")
{
msg = msg+err_img+'Email is required.
';
}
else if(!isValidEmailAddress($('#edit_email').val()))
{
msg = msg+err_img+'Email provided is invalid.
';
}
if($('#edit_address').val()=="")
{
msg = msg+err_img+'Address is required.
';
}

if($('#edit_password:checked').val()=="on")
{
if($('#edit_old_password').val()=="")
{
msg = msg+err_img+'Current password is required.
';
}
if($('#edit_new_password').val()=="")
{
msg = msg+err_img+'New password is required.
';
}
else if($('#edit_new_password').val().length<6)
{
msg = msg+err_img+'New password needs to be more than 6 characters.
';
}
else if($('#edit_new_password_conf').val()=="")
{
msg = msg+err_img+'Password confirmation required.
';
}
else if($('#edit_new_password_conf').val()!=$('#edit_new_password').val())
{
msg = msg+err_img+'Password confirmation missmatched.
';
}
else if($('#edit_new_password').val()==$('#edit_old_password').val())
{
msg = msg+err_img+'Current and new passwords are identical.
';
}
}

if(msg!="")
{
$('#error').html(msg);
return false;
}else{
return true;
}

}

function delete_confirm(type)
{
var conf = confirm("Do you really want to delete this "+type+"?");
if(conf){
return true;
}else{
return false;
}
}

function validate_book()
{
var msg = "";
if($('#book_title').val()=="")
{
msg = msg+err_img+'Please enter the book title.
';
}
if($('#book_content').val()=="")
{
msg = msg+err_img+'Please enter the book contents.
';
}

if(msg!="")
{
$('#error').html(msg);
return false;
}else{
return true;
}
}


function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(emailAddress);
}

errors.php



if($_GET['msg'])
{
$msg = new Message();
echo $msg->getMessage($_GET['msg']);
}
?>

Tools class

class Tools
{
public function escape($str) {
$str = get_magic_quotes_gpc()?stripslashes($str):$str;
$str = mysql_real_escape_string($str);
return $str;
}

public function redirect($str,$msg_no=NULL,$var=NULL) {
$str =$str.'.php';

if($msg_no):$msg = '?msg='.self::escape($msg_no);
else:$msg='';
endif;

if($var):$var=self::escape($var);
else:$var='';
endif;

header('location:'.$str.$msg.$var);
return true;
}

public function setSession($variable,$value)
{
$_SESSION[$variable] = $value;
}

public function unsetSession($variable)
{
session_unregister($variable);
}

public function authenticate($array)
{
$session = $_SESSION['user'];
$auth = false;
if(isset($session))
{
foreach($array as $arr)
{
if($arr==$_SESSION['user']['group'])
{
$auth = true;
}
}

if(!$auth)
{
self::redirect('notauthorized');
exit;
}
}else{
self::redirect('notauthorized');
exit;
}
}
}

?>

usr cls

require_once 'BaseUser.class.php';

class User extends BaseUser
{
private $DB;

public function __construct() {
$this->DB = new DBCon();
$this->DB->getInstance();
}

public function getUserById($id)
{
$id = Tools::escape($id);

$sqlQuery = "SELECT * FROM `user` u WHERE id='$id'";
$result = $this->DB->sqlQuery($sqlQuery);

if($result)
{
while ($row = mysql_fetch_assoc($result))
{
$this->setId($row['id']);
$this->setUsername($row['username'] );
$this->setPassword($row['password'] );
$this->setCreatedAt($row['created_at'] );
$this->setLastLogin($row['last_login'] );
$this->setIsActive($row['is_active'] );
$this->setIsSuperAdmin($row['is_super_admin'] );
break;
}

return $this;
}else{
return false;
}
}

public function login($uname, $password)
{
$uname = Tools::escape($uname);
$password = Tools::escape($password);

$isUser = 0;
$sqlQuery = "SELECT * FROM user WHERE username = LOWER('".$uname."') AND password = '".md5($password)."' AND is_active='1'";
$result = $this->DB->sqlQuery($sqlQuery);

if($result)
{
while ($row = mysql_fetch_assoc($result))
{
$isUser = 1;
$this->setId( $row['id'] );
$this->setUsername($row['username'] );
break;
}
}
return $isUser;
}

public function checkUserExists($uname)
{
$uname = Tools::escape($uname);

$sqlQuery = "SELECT * FROM user WHERE username = LOWER('".$uname."')";
$result = $this->DB->sqlQuery($sqlQuery);

if(mysql_affected_rows()>0){
return true;
}else{
return false;
}
}

public function addUser($uname, $password)
{
$uname = Tools::escape($uname);
$password = Tools::escape($password);

$this->applyDefaultValues();
$now = date('Y-m-d H:i:s');

$sqlQuery = "INSERT INTO `user` (`username`,`algorithm`,`password`,`created_at`) VALUES('$uname','$this->algorithm','".md5($password)."','$now')";
$result = $this->DB->sqlQuery($sqlQuery);

if(mysql_affected_rows()==1)
{
return true;
}else{
return false;
}
}

public function logout()
{
Tools::unsetSession('user');
Tools::redirect('index','5');
}

public function getUsersByGroup($group_id)
{
$group_id = Tools::escape($group_id);

$sqlQuery = "SELECT * FROM `user` u LEFT JOIN `user_group` ug ON u.id=ug.user_id WHERE ug.group_id='$group_id'";
$result = $this->DB->sqlQuery($sqlQuery);

if(mysql_affected_rows()>0){
$res = array();
while ($row = mysql_fetch_assoc($result))
{
$res[] = $row;
}
return $res;
}else{
return false;
}
}

public function setActive($id,$status)
{
$id = Tools::escape($id);
$status = Tools::escape($status);

$sqlQuery = "UPDATE `user` SET `is_active`='$status' WHERE id='$id'";
$result = $this->DB->sqlQuery($sqlQuery);

if(mysql_affected_rows()==1){
return true;
}else{
return false;
}
}

public function changePassword($id,$new)
{
$id= Tools::escape($id);
$new_password = md5(Tools::escape($new));

$sqlQuery = "UPDATE `user` SET `password`='$new_password' WHERE id='$id'";
$result = $this->DB->sqlQuery($sqlQuery);

if(mysql_affected_rows()==1){
return true;
}else{
return false;
}
}
}
?>

msg cls


class Message{
function getMessage($id){
$msg = "";
switch($id){
case 1: $msg = "Invalid username or password."; break;
case 2: $msg = "User deleted successfully."; break;
case 3: $msg = "User deleting failed."; break;
case 4: $msg = "Successfully logged out."; break;
default: $msg = "";
}
return $msg;
}
}

?>

dbcon class

require_once 'config.php';

class DBCon
{
var $conn;
var $host;
var $port;
var $db_name;
var $db_username;
var $db_password;
var $result;

function __construct($id=0){
$this->host = DB_HOST;
$this->port = DB_PORT;
$this->db_username = DB_USER;
$this->dbpass = DB_PWD;
$this->db_name = DB_NAME;
}

function getInstance()
{
$this->conn = mysql_connect($this->host.':'.$this->port,$this->db_username,$this->dbpass);
if($this->conn)
{
mysql_select_db($this->db_name);
}
else
{
echo "Error connecting to database.".mysql_error();
exit();
}

}

function sqlQuery($sql) {
if( (isset($this -> conn)) && ($sql != '') ){
$this->result = mysql_query($sql);

if ($this->result)
{
return $this->result;
}
else
{
return false;
}
}
}

function getLastInsertId($tableName)
{
$sql = "SELECT LAST_INSERT_ID() AS 'LAST_ID' FROM ".$tableName;
$lastInsertId = -1;
$this->result = mysql_query($sql);
while ($row = mysql_fetch_assoc($this->result))
{
$lastInsertId = $row['LAST_ID'];
break;
}
return $lastInsertId;
}


}

?>

jq scripts

src="js/jquery.js"
src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"

$(document).ready(function(){
$("#loginform").validate();
});

$(document).ready(function(){
$("#delete").click(function(){
var conf = confirm('Do you really want to delete this user?');
if(conf){
return true;
}else{
return false;
}
});
});


$(document).ready(function(){
$("#show").click(function(){
$("#book").slideDown('500', function(){
//alert("Animation Completed");
});
});

$("#hide").click(function(){
$("#book").slideToggle('500', function(){
//alert("Animation Completed");
});
});
});