syntaxe POO (visibilité)
[mw_actions_logs] / app / observers / mw_observer_actions_logs.php
1 <?php
2
3   class mw_observer_actions_logs extends mw_observer{
4
5     public $config;
6
7     public function init_actions_logs(){
8       $env = $this->env();
9       $data = $env->data();
10       if(($this->config = $data->get_actions_logs_config()) === false) return false;
11       return true;
12     }
13
14     public function before_action(){
15       $env = $this->env();
16       $data = $env->data();
17       $user = $env->user();
18       if(!isset($this->config)) $this->init_actions_logs($env);
19       if($this->config && $this->config["do_log"]){
20         if(($logs_actions = $data->list_logs_actions(array("index_name" => "action"))) !== false){
21           $logs_actions = $logs_actions["list"];
22         }
23         else return;
24         $log = false;
25         $current_action = $env->etat("mod")."/".$env->etat("controller")."/".$env->etat("action");
26         if($this->config["default_log"]){
27           if(!isset($logs_actions[$current_action])){
28             $log = array(
29               "action" => $current_action,
30               "login" => $user ? $user["login"] : "",
31               "from_ip" => isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : "",
32               "get" => $this->config["default_log_get"] ? serialize($_GET) : null,
33               "post" => $this->config["default_log_post"] ? serialize($_POST) : null
34             );
35           }
36         }
37         else{
38           if(isset($logs_actions[$current_action])){
39             $log = array(
40               "action" => $current_action,
41               "login" => $user ? $user["login"] : "",
42               "from_ip" => isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : "",
43               "get" => $logs_actions[$current_action]["log_get"] ? serialize($_GET) : null,
44               "post" => $logs_actions[$current_action]["log_post"] ? serialize($_POST) : null
45             );
46           }
47         }
48         if($log) $data->add_action_log($log);
49       }
50     }
51
52     public function after_action(){
53     }
54
55   }