Bonjour, en commençant a travailler sur le plugin FusionInventory pour la 0.84 (on merge les différents plugin en 1 seul), on s'est rendu compte qu'on risque d'avoir un très grand nombre de classes dans le dossier inc.
On en a discuté et on s'est dit que ca serait pratique et il me semble que c'était prévu un peu plus tard, mais quitte à tout péter maintenant pour la 0.84, on peut le faire de suite. Donc on pourrait avoir la structure suivante : inc/computer.class.php (class Computer) inc/computer/disk.class.php (class ComputerDisk) ... Je joins un premier patch qui permet de charger les fichiers dans le bon dossier (fonction __autoload). Qu'en pensez-vous? Je peux bosser sur ce chantier cette semaine si on se met d'accord (création des dossier, déplacement et renommage des fichiers de classes...) David Durieux ++
Index: inc/autoload.function.php =================================================================== --- inc/autoload.function.php (revision 16265) +++ inc/autoload.function.php (working copy) @@ -112,10 +112,17 @@ } $dir = GLPI_ROOT . "/inc/"; + $dirinc = array(); + $filename = ''; + preg_match_all('/([A-Z])([a-z]+([_][A-Z]([a-z]+))?)/', $classname, $dirinc); if ($plug=isPluginItemType($classname)) { $plugname = strtolower($plug['plugin']); $dir = GLPI_ROOT . "/plugins/$plugname/inc/"; $item = strtolower($plug['class']); + if(isset($dirinc[0][0]) + AND $dirinc[0][0] == 'Plugin') { + unset($dirinc[0][0]); + } // Is the plugin activate ? // Command line usage of GLPI : need to do a real check plugin activation if (isCommandLine()) { @@ -153,8 +160,8 @@ // No errors for missing classes due to implementation if (!in_array($item,$CFG_GLPI['missingclasses'])){ - if (file_exists("$dir$item.class.php")) { - include_once ("$dir$item.class.php"); + if (file_exists("$dir".strtolower(implode("/", $dirinc[0])).".class.php")) { + include_once ("$dir".strtolower(implode("/", $dirinc[0])).".class.php"); if (isset($_SESSION['glpi_use_mode']) && $_SESSION['glpi_use_mode'] == Session::DEBUG_MODE) { $DEBUG_AUTOLOAD[] = $classname;
_______________________________________________ Glpi-dev mailing list Glpi-dev@gna.org https://mail.gna.org/listinfo/glpi-dev