1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Actionlog_model extends CI_Model {
protected $_table='action_log';
public function __construct(){
parent::__construct();
date_default_timezone_set("Asia/Ho_Chi_Minh");
}
public function add($action, $description, $model, $table, $record_id){
$dataInsert = array(
'actor_id' => $this->session->userdata('id'),
'actor_name' => $this->session->userdata('username'),
'action' => $action,
'description' => $description,
'model' => $model,
'table' => $table,
'record_id' => $record_id,
'ip_address' => $this->input->ip_address(),
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s')
);
$this->db->insert($this->_table, $dataInsert);
$insert_id = $this->db->insert_id();
return $insert_id;
}
public function update($id, $time_login){
$time_logout = date('Y-m-d H:i:s');
$duration = (int)(strtotime($time_logout) - strtotime($time_login));
$dataUpdate = array(
'time_logout' => $time_logout,
'duration' => $duration
);
$this->db->where('id', $id);
$this->db->update($this->_table, $dataUpdate);
}
public function delete($id){
$this->db->where('id', $id);
$this->db->delete($this->_table);
}
public function getById($id){
$this->db->select($this->_table.'.*');
$this->db->from($this->_table);
$this->db->where($this->_table.'.id', $id);
$query = $this->db->get();
return $query->result_array();
}
public function countAll($dtFrom=NULL, $dtTo=NULL, $filterByIP=NULL, $filterByAccount=NULL, $filterByActionType=NULL){
$this->db->select('COUNT(*) AS totalResults');
$this->db->from($this->_table);
if($dtFrom != NULL){$this->db->where('DATE(created_at) >=', $dtFrom);}
if($dtTo != NULL){$this->db->where('DATE(created_at) <=', $dtTo);}
if($filterByIP != NULL){$this->db->like('ip_address', $filterByIP);}
if($filterByAccount != NULL){$this->db->like('actor_name', $filterByAccount);}
if($filterByActionType != NULL){$this->db->where('UPPER(action)', $filterByActionType);}
$query = $this->db->get();
$result = $query->result_array();
if($result){
return $result[0]['totalResults'];
}else{
return 0;
}
}
public function getPagination($record, $start, $dtFrom=NULL, $dtTo=NULL, $filterByIP=NULL, $filterByAccount=NULL, $filterByActionType=NULL){
$this->db->select($this->_table.'.*');
$this->db->from($this->_table);
if($dtFrom != NULL){$this->db->where('DATE(created_at) >=', $dtFrom);}
if($dtTo != NULL){$this->db->where('DATE(created_at) <=', $dtTo);}
if($filterByIP != NULL){$this->db->like('ip_address', $filterByIP);}
if($filterByAccount != NULL){$this->db->like('actor_name', $filterByAccount);}
if($filterByActionType != NULL){$this->db->where('UPPER(action)', $filterByActionType);}
$this->db->order_by($this->_table.'.id', 'desc');
$this->db->limit($record, $start);
$query = $this->db->get();
return $query->result_array();
}
}
/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */