public function do_save() { requireadmin(); $uid = $this->input->get("u"); $query = $this->db->get_where("users", array("id" => $uid)); if ($query->num_rows()) { $row = $query->row(); $name = $row->display_name; } $action = (int) $this->input->get("action"); $status = 0; $userlevel = 0; switch ($action) { case 0: $q = $this->db->get_where("users", array("userlevel" => 1)); if ($q->num_rows() <= 1) { generate_json(array('status' => 0, 'message' => 'Failed to demote this user no admin left.')); exit; } case 1: $userlevel = $action; $this->mdb->update_user(array('id' => $uid), array('userlevel' => $userlevel)); if ($userlevel == 0) { audit_trail($this->session->userdata('display_name') . ' DEMOTED ' . $name . ' as user'); } else { audit_trail($this->session->userdata('display_name') . ' PROMOTED ' . $name . ' as admin'); } break; case 2: $status = 2; $this->mdb->update_user(array('id' => $uid), array('status' => $status)); audit_trail($this->session->userdata('display_name') . ' BANNED ' . $name . ' to this system'); break; case 3: $status = 1; $this->mdb->update_user(array('id' => $uid), array('status' => $status)); audit_trail($this->session->userdata('display_name') . ' UNBANNED ' . $name . ' to this system'); break; } generate_json(array('status' => 1)); }
public function allow_ip_delete() { requireadmin(); $ip = $this->input->get("ip"); $blocked = unserialize($this->siteinfo->config('allowed_ips')); if ($blocked && is_array($blocked) && count($blocked) > 0) { if (in_array($ip, $blocked)) { $arr = array_diff($blocked, array($ip)); $insert = serialize($arr); audit_trail($this->session->userdata('display_name') . ' removed ' . $ip . ' from whitelist.'); $this->change_config(array('allowed_ips' => $insert)); } } generate_json(array('status' => 1)); }