export.plugin.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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.core.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.core.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. //Déclaration des sections de droits du plugin
  24. Right::register('export',array('label'=>'Gestion des droits sur le plugin export'));
  25. //Comprends toutes les actions du plugin qui ne nécessitent pas de vue html
  26. require_once(__DIR__.SLASH.'action.php');
  27. //Déclaration du menu de réglages
  28. function export_menu_setting(&$settingMenu){
  29. global $myUser;
  30. if(!$myUser->can('export','configure')) return;
  31. $settingMenu[]= array(
  32. 'sort' =>30,
  33. 'url' => 'setting.php?section=export',
  34. 'icon' => 'fas fa-angle-right',
  35. 'label' => 'Export modèle'
  36. );
  37. }
  38. //Déclaration des pages de réglages
  39. function export_content_setting(){
  40. global $_;
  41. if(file_exists(__DIR__.SLASH.'setting.'.$_['section'].'.php'))
  42. require_once(__DIR__.SLASH.'setting.'.$_['section'].'.php');
  43. }
  44. //Déclation des assets
  45. Plugin::addCss("/css/main.css");
  46. Plugin::addJs("/js/main.js");
  47. Plugin::addJs("/js/component.js",true);
  48. //Mapping hook / fonctions
  49. Plugin::addHook("install", "export_install");
  50. Plugin::addHook("uninstall", "export_uninstall");
  51. Plugin::addHook("page", "export_page");
  52. Plugin::addHook("menu_setting", "export_menu_setting");
  53. Plugin::addHook("content_setting", "export_content_setting");
  54. ?>