Fix: change for external modules

This commit is contained in:
Regis Houssin 2011-08-13 09:36:45 +00:00
parent 22eae6fae7
commit 920d87dc5f

View File

@ -20,7 +20,7 @@
/** /**
* \file htdocs/admin/system/modules.php * \file htdocs/admin/system/modules.php
* \brief File to list all Dolibarr modules * \brief File to list all Dolibarr modules
* \version $Id: modules.php,v 1.15 2011/07/31 22:23:14 eldy Exp $ * \version $Id: modules.php,v 1.16 2011/08/13 09:36:45 hregis Exp $
*/ */
require("../../main.inc.php"); require("../../main.inc.php");
@ -48,22 +48,45 @@ $modules = array();
$modules_names = array(); $modules_names = array();
$modules_files = array(); $modules_files = array();
// Load list of modules foreach ($conf->file->dol_document_root as $type => $dirroot)
foreach($conf->file->dol_document_root as $searchdir)
{ {
$dirtoscan = $searchdir . "/includes/modules/"; $modulesdir[] = $dirroot . "/includes/modules/";
$handle=opendir($dirtoscan);
if ($type == 'alt')
{
$handle=@opendir($dirroot);
if (is_resource($handle)) if (is_resource($handle))
{ {
while (($file = readdir($handle))!==false) while (($file = readdir($handle))!==false)
{ {
if (is_readable($dirtoscan.$file) && substr($file, 0, 3) == 'mod' && substr($file, dol_strlen($file) - 10) == '.class.php') if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes')
{
if (is_dir($dirroot . '/' . $file . '/includes/modules/'))
{
$modulesdir[] = $dirroot . '/' . $file . '/includes/modules/';
}
}
}
closedir($handle);
}
}
}
// Load list of modules
foreach($modulesdir as $dir)
{
$handle=opendir($dir);
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)
{
if (is_readable($dir.$file) && substr($file, 0, 3) == 'mod' && substr($file, dol_strlen($file) - 10) == '.class.php')
{ {
$modName = substr($file, 0, dol_strlen($file) - 10); $modName = substr($file, 0, dol_strlen($file) - 10);
if ($modName) if ($modName)
{ {
include_once($dirtoscan.$file); include_once($dir.$file);
$objMod = new $modName($db); $objMod = new $modName($db);
$modules[$objMod->numero]=$objMod; $modules[$objMod->numero]=$objMod;
@ -131,5 +154,5 @@ foreach($rights_ids as $right_id)
$old = $right_id; $old = $right_id;
} }
llxFooter('$Date: 2011/07/31 22:23:14 $ - $Revision: 1.15 $'); llxFooter('$Date: 2011/08/13 09:36:45 $ - $Revision: 1.16 $');
?> ?>