set_link("config/actions_logs", $env->url("config/actions_logs/historique"), "Historique des actions", 50); $env->set_link("config/actions_logs/config", $env->url("config/actions_logs/config"), "Configuration des logs", 20); $env->set_link("config/actions_logs/logs_actions", $env->url("config/actions_logs/logs_actions"), "Liste des actions", 30); return true; } public function enable($env){ return true; } public function disable($env){ return true; } public function install($env){ if($env->bdd("sgbd") == "xml") return "ce plugin necessite un stockage de données sql"; $data = $env->data(); $sgbd = $data->sgbd(); try{ $EXISTS = $sgbd->table_exists("#--actions_logs"); } catch(Exception $e){ return "impossible de savoir si la table #--actions_logs existe"; } if($EXISTS){ return "la table #--actions_logs existe deja"; } try{ $EXISTS = $sgbd->table_exists("#--logs_actions"); } catch(Exception $e){ return "impossible de savoir si la table #--logs_actions existe"; } if($EXISTS){ return "la table #--logs_actions existe deja"; } try{ $sql = "CREATE TABLE `#--actions_logs`(" ." `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY" .", `action` VARCHAR( 255 ) NOT NULL" .", `date_log` DATETIME NOT NULL" .", `login` VARCHAR( 255 ) NOT NULL" .", `from_ip` VARCHAR( 127 ) NOT NULL" .", `get` TEXT NULL" .", `post` TEXT NULL" ." ) ENGINE = InnoDB DEFAULT CHARSET=utf8;"; $sgbd->query($sql); $sql = "CREATE TABLE `#--logs_actions`(" ." `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY" .", `action` VARCHAR( 255 ) NOT NULL" .", `log_get` TINYINT NOT NULL" .", `log_post` TINYINT NOT NULL" ." ) ENGINE = InnoDB DEFAULT CHARSET=utf8;"; $sgbd->query($sql); } catch(Exception $e) { return "erreur lors de la creation des tables #--actions_logs et #--logs_actions"; } return true; } public function uninstall($env){ $data = $env->data(); $sgbd = $data->sgbd(); if(!$this->disable($env)) return "impossible de desactiver le plugin"; try{ $EXISTS = $sgbd->table_exists("#--actions_logs"); } catch(Exception $e){ return "impossible de savoir si la table #--actions_logs existe"; } if(!$EXISTS){ // return "la table #--actions_logs n'existe pas"; } else{ try{ $sgbd->query("DROP TABLE #--actions_logs"); } catch(Exception $e){ return "imposible de supprimer la table #--actions_logs"; } } try{ $EXISTS = $sgbd->table_exists("#--logs_actions"); } catch(Exception $e){ return "impossible de savoir si la table #--logs_actions existe"; } if(!$EXISTS){ // return "la table #--logs_actions n'existe pas"; } else{ try{ $sgbd->query("DROP TABLE #--logs_actions"); } catch(Exception $e){ return "imposible de supprimer la table #--logs_actions"; } } $data->del_config("actions_logs_do_log"); $data->del_config("actions_logs_default_log"); $data->del_config("actions_logs_default_log_get"); $data->del_config("actions_logs_default_log_post"); return true; } }