connected()) require_once(__DIR__.SLASH.'modal.issue.report.php'); } //Fonction executée lors de l'activation du plugin function issue_install($id){ if($id != 'fr.idleman.issue') return; Entity::install(__DIR__); } //Fonction executée lors de la désactivation du plugin function issue_uninstall($id){ if($id != 'fr.idleman.issue') return; Entity::uninstall(__DIR__); } //Déclaration des sections de droits du plugin function issue_section(&$sections){ $sections['issue'] = "Gestion des droits sur le plugin issue"; // $sections['issuereport'] = "Gestion des droits sur l'entité issuereport"; } //cette fonction comprends toutes les actions du plugin qui ne nécessitent pas de vue html function issue_action(){ require_once(__DIR__.SLASH.'action.php'); } //Déclaration du menu de réglages function issue_menu_setting(&$settingMenu){ global $_, $myUser; if(!$myUser->can('issue','configure')) return; $settingMenu[]= array( 'sort' =>1, 'url' => 'setting.php?section=global.report', 'icon' => 'fas fa-angle-right', 'label' => 'Issues' ); } //Déclaration categorie de notification function issue_notification_type(&$types){ $types['issue'] = array( 'category' =>'Développement', 'label' =>'Déclaration de tickets', 'color' =>'#dc3545', 'icon' =>'fas fa-bug', 'description' => "Notification lorsqu'un ticket est ouvert par un utilisateur", 'default_methods' => array( 'interface' => true, 'mail' => true ) ); } //Déclaration des pages de réglages function issue_content_setting(){ global $_; if(file_exists(__DIR__.SLASH.'setting.'.$_['section'].'.php')) require_once(__DIR__.SLASH.'setting.'.$_['section'].'.php'); } //Déclaration des settings de base //Types possibles : text,select ( + "values"=> array('1'=>'Val 1'),password,checkbox. Un simple string définit une catégorie. Configuration::setting('issue',array( 'issue_report_mails' => array( "label"=>"Destinataires des ouvertures de tickets", "legend"=>"Utilisateurs ou rangs qui recevront la notification d'ouverture de nouveaux tickets", "type"=>"user", "placeholder"=>"eg. Administrateur", "parameters"=>array( "data-multiple"=>true, "data-types"=>"user,rank" ) ), )); //Déclation des assets Plugin::addCss("/css/main.css"); Plugin::addCss("/css/component.css",true); Plugin::addJs("/js/main.js"); Plugin::addJs("/js/component.js",true); Plugin::addJs("/js/html2canvas.min.js"); //Mapping hook / fonctions Plugin::addHook("install", "issue_install"); Plugin::addHook("uninstall", "issue_uninstall"); Plugin::addHook("section", "issue_section"); Plugin::addHook("page", "issue_page"); Plugin::addHook("application_bottom", "issue_modal"); Plugin::addHook("action", "issue_action"); Plugin::addHook("menu_setting", "issue_menu_setting"); Plugin::addHook("content_setting", "issue_content_setting"); Plugin::addHook("notification_type", "issue_notification_type"); ?>