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
* \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");
@ -48,22 +48,45 @@ $modules = array();
$modules_names = array();
$modules_files = array();
// Load list of modules
foreach($conf->file->dol_document_root as $searchdir)
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$dirtoscan = $searchdir . "/includes/modules/";
$handle=opendir($dirtoscan);
$modulesdir[] = $dirroot . "/includes/modules/";
if ($type == 'alt')
{
$handle=@opendir($dirroot);
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)
{
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($dirtoscan.$file) && substr($file, 0, 3) == 'mod' && substr($file, dol_strlen($file) - 10) == '.class.php')
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);
if ($modName)
{
include_once($dirtoscan.$file);
include_once($dir.$file);
$objMod = new $modName($db);
$modules[$objMod->numero]=$objMod;
@ -131,5 +154,5 @@ foreach($rights_ids as $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 $');
?>