export.plugin.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. //Cette fonction va generer une page quand on clique sur export dans menu
  3. function export_page(){
  4. global $_,$myUser;
  5. if(!isset($_['module']) || $_['module'] !='export') return;
  6. $page = !isset($_['page']) ? 'list' : $_['page'];
  7. $file = __DIR__.SLASH.'page.'.$page.'.php';
  8. if(!file_exists($file)) throw new Exception("Page ".$page." inexistante");
  9. require_once($file);
  10. }
  11. //Fonction executée lors de l'activation du plugin
  12. function export_install($id){
  13. if($id != 'fr.idleman.export') return;
  14. Entity::install(__DIR__);
  15. }
  16. //Fonction executée lors de la désactivation du plugin
  17. function export_uninstall($id){
  18. if($id != 'fr.idleman.export') return;
  19. if(is_dir(File::dir().'export')) delete_folder_tree(File::dir().'export');
  20. Entity::uninstall(__DIR__);
  21. }
  22. //Déclaration des sections de droits du plugin
  23. function export_section(&$sections){
  24. $sections['export'] = "Gestion des droits sur le plugin export";
  25. }
  26. //cette fonction comprends toutes les actions du plugin qui ne nécessitent pas de vue html
  27. function export_action(){
  28. require_once(__DIR__.SLASH.'action.php');
  29. }
  30. //Déclaration du menu de réglages
  31. function export_menu_setting(&$settingMenu){
  32. global $_, $myUser;
  33. if(!$myUser->can('export','configure')) return;
  34. $settingMenu[]= array(
  35. 'sort' =>30,
  36. 'url' => 'setting.php?section=export',
  37. 'icon' => 'fas fa-angle-right',
  38. 'label' => 'Export modèle'
  39. );
  40. }
  41. //Déclaration des pages de réglages
  42. function export_content_setting(){
  43. global $_;
  44. if(file_exists(__DIR__.SLASH.'setting.'.$_['section'].'.php'))
  45. require_once(__DIR__.SLASH.'setting.'.$_['section'].'.php');
  46. }
  47. //Déclation des assets
  48. Plugin::addCss("/css/main.css");
  49. Plugin::addJs("/js/main.js");
  50. //Mapping hook / fonctions
  51. Plugin::addHook("install", "export_install");
  52. Plugin::addHook("uninstall", "export_uninstall");
  53. Plugin::addHook("section", "export_section");
  54. Plugin::addHook("page", "export_page");
  55. Plugin::addHook("action", "export_action");
  56. Plugin::addHook("menu_setting", "export_menu_setting");
  57. Plugin::addHook("content_setting", "export_content_setting");
  58. ?>