register(); $chargeurDeClasse->addNamespace('Module\\ACM',__DIR__ ."/../../" ); use Module\ACM\Classe\GestionBD\gestionVariableCongee; use Module\ACM\Classe\GestionBD\gestionDate; use Module\ACM\Classe\GestionBD\gestionCouleur; require_once DOL_DOCUMENT_ROOT . "/core/modules/DolibarrModules.class.php"; class modACM extends DolibarrModules{ /** * @param $db TraceableDB est la variable qui contient la bd de dolibarr */ function __construct($db) { /** ** ** Base de la création de module dolibarr ** ** **/ global $langs; $this->db = $db; $langs->load("ACM@ACM"); $this->numero = 340003; $this->editor_name = "Desal"; // nom de l'éditeur $this->family = "Desal-Tools"; // lieu où le module est retrouvable $this->name = preg_replace('/^mod/i', '', get_class($this)); // permet de récupérer le nom du module à partir du nom du fichier $this->description = $langs->trans("ACMDescription"); // description du module, permet une traduction grâce à la fonction traduction $this->version = 1; // numero de version au format X.X $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); // constante du nom du module $this->special = 3; // ? $this->picto = 'ACM.png@'.$this->name; // image nommée object_ACM.png dans le dossier img de ACM $this->module_parts = array ( // permet la gestion et l'execution des triggers et du js 'hooks'=>array('holidaycard', 'holidaylist', 'formObjectOptions'), 'js'=>array() ); /** Création de répertoire dans la partie documentation **/ $this->dirs = array(); // Exemple de composent : "/templateDolibarr/temp" $r = 0; /** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **/ /** Gestion des dépendances et des modules obligatoires **/ $this->hidden = false; $this->depends = array("modHRM"); // module obligatoire pour utilisation $this->conflictwith = array(); // liste des modules conflictuelle $this->phpmin = array(7,0); // version minimum de php demander $this->need_dolibarr_version = array(19,0,2); // version minimum de dolibarr demander $this->langfiles = array($this->name.'@'.$this->name); // position du fichier de langue /** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **/ $csrfToken = function_exists('newToken') ? newToken() : $_SESSION['newtoken']; $this->config_page_url = '../custom/ACM/admin/setup.php'; $this->tabs = array('objecttype:+ACMAbsences:Absences:ACM@ACM:/ACM/absences.php?id=__ID__'); $this->boxes = array(); // permet un affichage sur la page d'accueil $r = 0; /** ** ** Gestion des permissions ** ** **/ $this->rights = array(); $this->rights_class = $this->name; $r=0; // Exemple de permission // $r++; $this->rights[$r][0] = 3400031; $this->rights[$r][1] = 'User can use the module'; $this->rights[$r][2] = 'r'; $this->rights[$r][3] = 0; $this->rights[$r][4] = 'moduleutilisable'; /** ** ** ** ** ** ** ** ** ** ** ** ** **/ $r = 0; $this->menu = array(); $r = 0; $r = $r+1; // Add here entries to declare new menus /* BEGIN MODULEBUILDER TOPMENU */ $this->menu[$r] = array( 'fk_menu' => 'fk_mainmenu=hrm', // Pas de parent, menu principal 'type' => 'left', // Menu principal en haut 'prefix' => img_picto('pictoAbsence', 'absence@ACM', 'class="pictofixedwidth paddingright em088"'), 'titre' => " ".$langs->trans("ACMAbsenceTitre"), // Nom affiché 'mainmenu' => 'hrm', // Menu principal pour ton module 'leftmenu' => 'acmAbsences', // Identifiant unique pour le sous-menu 'url' => '/acm/index.php', // Lien vers ta page 'langs' => 'acm@acm', // Fichier de langue 'position' => 1000+$r, // Position dans le menu 'enabled' => '$conf->acm->enabled', // Affiche seulement si ACM est activé ); $r = $r+1; global $dolibarr_main_url_root; $css_file = $dolibarr_main_url_root . '/custom/ACM/css/style.css'; $this->resprints = ""; } /** * @override dolibarr * @param $options * @return int */ function init($options=''){ global $conf, $langs; $result = $this->_load_tables('/ACM/sql/'); if ($result < 0) { return -1; // Do not activate module if error 'not allowed' returned when loading module SQL queries (the _load_table run sql with run_sql with the error allowed parameter set to 'default') } $this->remove($options); $sql = array(); gestionCouleur::getListeCouleur(); gestionDate::importerDateFerier(); return $this->_init($sql, $options); } /** * @param $options * @return mixed */ function remove($options=''){ $sql = array(); return $this->_remove($sql, $options); } }