2a7902e9931c2b0639060b9fed5d363bdafa6b46
[mw_actions_logs] / app / data / modules / sql / mw_data_actions_logs.php
1 <?php
2
3   class mw_data_actions_logs extends mw_data{
4
5     // ------------------------------------------------------------------------------------
6     //                                                                               config
7     //
8
9     function get_actions_logs_config(){
10       $env = $this->env();
11       return array(
12         "do_log" => $env->config("actions_logs_do_log") ? true : false,
13         "default_log" => $env->config("actions_logs_default_log") ? true : false,
14         "default_log_get" => $env->config("actions_logs_default_log_get") ? true : false,
15         "default_log_post" => $env->config("actions_logs_default_log_post") ? true : false
16       );
17     }
18
19     function set_actions_logs_config($params = array()){
20       if(isset($params["do_log"])){
21         if(!$this->set_config("actions_logs_do_log", $params["do_log"] ? 1 : 0)){
22           return false;
23         }
24       }
25       if(isset($params["default_log"])){
26         if(!$this->set_config("actions_logs_default_log", $params["default_log"] ? 1 : 0)){
27           return false;
28         }
29       }
30       if(isset($params["default_log_get"])){
31         if(!$this->set_config("actions_logs_default_log_get", $params["default_log_get"] ? 1 : 0)){
32           return false;
33         }
34       }
35       if(isset($params["default_log_post"])){
36         if(!$this->set_config("actions_logs_default_log_post", $params["default_log_post"] ? 1 : 0)){
37           return false;
38         }
39       }
40       return true;
41     }
42
43     // ------------------------------------------------------------------------------------
44     //                                                                              actions
45     //
46
47     function clear_logs_actions(){
48       $sgbd = $this->sgbd();
49       try{
50         $sgbd->query("DELETE FROM #--logs_actions");
51       }
52       catch(Exception $e) { return false; }
53       return true;
54     }
55
56     // ------------------------------------------------------------------------------------
57     //                                                                                 logs
58     //
59
60     function add_action_log($params = array()){
61       $env = $this->env();
62       $sgbd = $this->sgbd();
63       $log = array();
64       $log["action"] = isset($params["action"]) ? $params["action"] : $env->etat("mod")."/".$env->etat("controlleur")."/".$env->etat("action");
65       $user = $env->user();
66       $log["login"] = isset($params["login"]) ? $params["login"] : ($user ? $user["login"] : "");
67       $log["get"] = isset($params["get"]) ? $params["get"] : null;
68       $log["post"] = isset($params["post"]) ? $params["post"] : null;
69       $log["from_ip"] = isset($params["from_ip"]) ? $params["from_ip"] : (isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : "");
70       try{
71         $sql =
72          "INSERT INTO #--actions_logs(`action`, `date_log`, `login`, `from_ip`, `get`, `post`) VALUES("
73         ."  ".$this->eq($log["action"])
74         .", NOW()"
75         .", ".$this->eq($log["login"])
76         .", ".$this->eq($log["from_ip"])
77         .", ".$this->eq($log["get"])
78         .", ".$this->eq($log["post"])
79         .")";
80         $sgbd->query($sql);
81       }
82       catch(Exception $e){ return false; }
83       return true;
84     }
85
86     function clear_actions_logs(){
87       $sgbd = $this->sgbd();
88       try{
89         $sgbd->query("DELETE FROM #--actions_logs");
90       }
91       catch(Exception $e){ return false; }
92       return true;
93     }
94
95   }
96
97 ?>