public function files() { requireadmin(); $file = isset($_FILES["file"]) ? $_FILES["file"] : false; if ($file) { $name = $file['name']; $extArr = explode(".", $name); $ext = end($extArr); if (strtolower($ext) == 'tsfbak') { $tmpFile = 'static/temp/' . strtotime('now') . '.zip'; move_uploaded_file($file["tmp_name"], $tmpFile); $zip = new ZipArchive(); if ($zip->open($tmpFile) === TRUE) { $zip->extractTo(FCPATH); $zip->close(); unlink($tmpFile); generate_json(array('status' => 1)); } else { generate_json(array('status' => 0, 'message' => 'Failed to extract file, maybe its corrupted.')); } } else { generate_json(array('status' => 0, 'message' => 'Invalid backup file.')); } } else { generate_json(array('status' => 0, 'message' => 'No file to upload.')); } }
public function index() { $isAdmin = requireadmin('return'); if (isset($isAdmin['status']) && $isAdmin['status'] == 0) { echo $isAdmin['message']; } else { $this->load->view('main'); } }
public function index() { requireadmin(); $from = strtotime($this->input->get("from")); $dateFrom = $from ? date("Y-m-d H:i:s", $from) : ''; $to = strtotime($this->input->get("to")); $dateTo = $to ? date("Y-m-d H:i:s", $to) : ''; $query = $this->mdb->get_auditTrail($dateFrom, $dateTo); $items = array(); foreach ($query->result() as $row) { $date = convert_datetime($row->date, "M d, Y - h:i a"); $items[] = array('action' => $row->action, 'date' => $date); } generate_json(array('status' => 1, 'items' => $items)); }
public function clear() { requireadmin(); $this->load->helper('directory'); $database = directory_map('backup/database'); $files = directory_map('backup/files'); foreach ($database as $file) { if (is_file('backup/database/' . $file)) { unlink('backup/database/' . $file); } } foreach ($files as $file) { if (is_file('backup/files/' . $file)) { unlink('backup/files/' . $file); } } }
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 get_visitors() { requireadmin(); $length = 7; $labels = array(); $items = array(); for ($x = 0; $x < $length; $x++) { if ($x > 0) { $date = date("Y-m-d", strtotime("-{$x} day")); $query = $this->mdb->get_visitors($date, $date); $labels[] = array($x, date("M-d", strtotime($date))); } else { $date = date("Y-m-d"); $query = $this->mdb->get_visitors($date, $date); $labels[] = array($x, "Today"); } $count = $query->num_rows(); $items[] = array($x, $count); } generate_json(array('status' => 1, 'labels' => $labels, 'items' => $items)); }
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)); }