<?php
class User_model extends CI_Model {
public $userID = '';
public $verifyHash = '';
function __constructor()
{
parent :: __construct();
}
function registerUser($username, $password, $email, $firstName, $lastName, $registrationKey)
{
function GenPassHash($logPass)
{
$usersalt = substr(md5(uniqid(rand(), true)), 0, 11);
$encPass = sha1($logPass);
$sltPass = $encPass . $usersalt;$encSPass = sha1($sltPass);
$passArray = array($encSPass,$usersalt);
return $passArray;
}
function myDomainName() {
$my_domain = $_SERVER['HTTP_HOST'];
$my_domain = str_replace('www.', '', $my_domain);
return $my_domain;
}
$password = GenPassHash($password);
$query_str = "INSERT INTO kowmanager_users (username, password, password2, email, firstName, lastName, accessLevelID) VALUES (?, ?, ?, ?, ?, ?, ?)";
$this->db->query($query_str, array($username, $password[0], $password[1], $email, $firstName, $lastName, '1',));
$id = $this->db->insert_id();
$this->db->select_max('userID');
$query = $this->db->get('kowmanager_users');
$row = $query->row();
$userID = $row->userID;
$userID = $userID + 1;
$data = array('userID' => $userID);
$where = "id = '".$id."'";
$str = $this->db->update_string('kowmanager_users', $data, $where);
$my_update = $this->db->query($str);
$myMD5string = $userID.$email.$registrationKey;
$verifyHash = md5($myMD5string);
function getRealIPAddress()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
$query_str = "INSERT INTO kowmanager_users_registrations (userID, registrationDate, registrationKey, verifyHash, ipAddress) VALUES (?, ?, ?, ?, ?)";
$this->db->query($query_str, array($userID, date('Y-m-d H:i:s'), $registrationKey, $verifyHash, getRealIPAddress()));
}
function confirmRegistration($registrationKey)
{
$query_str = "SELECT userID kowmanager_users_registrations WHERE registrationKey = ?";
$result = $this->db->query($query_str, $registrationKey);
$row = $query->row();
$userID = $row->userID;
if ($result->num_rows() == 1)
{
$query_str = "UPDATE kowmanager_users_registrations SET registrationKey = '' WHERE registrationKey = ?";
$this->db->query($query_str, $registrationKey);
$query_str = "UPDATE kowmanager_users SET statusID = '2' WHERE userID = ?";
$this->db->query($query_str, $userID);
return true;
}
else
{
return false;
}
}
function checkExistsUsername($username)
{
$query_str = "SELECT username FROM kowmanager_users WHERE username = ?";
$result = $this->db->query($query_str, $username);
if ($result->num_rows() > 0)
{
return true;
}
else
{
return false;
}
}
function checkExistsEmail($email)
{
$query_str = "SELECT email FROM kowmanager_users WHERE email = ?";
$result = $this->db->query($query_str, $email);
if ($result->num_rows() > 0)
{
return true;
}
else
{
return false;
}
}
}