diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index a907f47663a..a5025c44000 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -3,7 +3,7 @@ * Copyright (C) 2003 Jean-Louis Bergamo * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2005-2011 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,7 +22,7 @@ /** * \file htdocs/admin/modules.php * \brief Page to activate/disable all modules - * \version $Id: modules.php,v 1.156 2011/07/31 22:23:22 eldy Exp $ + * \version $Id: modules.php,v 1.158 2011/08/01 12:28:09 hregis Exp $ */ require("../main.inc.php"); @@ -79,12 +79,36 @@ $modules = array(); $orders = array(); $categ = array(); $dirmod = array(); +$modulesdir = array(); $i = 0; // is a sequencer of modules found $j = 0; // j is module number. Automatically affected if module number not defined. -foreach ($conf->file->dol_document_root as $dirroot) -{ - $dir = $dirroot . "/includes/modules/"; +foreach ($conf->file->dol_document_root as $type => $dirroot) +{ + $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); + } + } +} + +foreach ($modulesdir as $dir) +{ // Load modules attributes in arrays (name, numero, orders) from dir directory //print $dir."\n
"; dol_syslog("Scan directory ".$dir." for modules"); @@ -449,5 +473,5 @@ print ''; $db->close(); -llxFooter('$Date: 2011/07/31 22:23:22 $ - $Revision: 1.156 $'); +llxFooter('$Date: 2011/08/01 12:28:09 $ - $Revision: 1.158 $'); ?> diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php index 1d5b4951490..eedd6a8841c 100644 --- a/htdocs/master.inc.php +++ b/htdocs/master.inc.php @@ -29,7 +29,7 @@ * \ingroup core * \brief File that defines environment for all Dolibarr process (pages or scripts) * This script reads the conf file, init $lang, $db and and empty $user - * \version $Id: master.inc.php,v 1.351 2011/07/31 23:19:04 eldy Exp $ + * \version $Id: master.inc.php,v 1.352 2011/08/01 12:25:14 hregis Exp $ */ @@ -70,14 +70,14 @@ $conf->file->character_set_client=strtoupper($force_charset_do_notuse); $conf->file->cookie_cryptkey = empty($dolibarr_main_cookie_cryptkey)?'':$dolibarr_main_cookie_cryptkey; // Define array of document root directories -$conf->file->dol_document_root=array(DOL_DOCUMENT_ROOT); +$conf->file->dol_document_root=array('main' => DOL_DOCUMENT_ROOT); if (! empty($dolibarr_main_document_root_alt)) { // dolibarr_main_document_root_alt contains several directories $values=preg_split('/[;,]/',$dolibarr_main_document_root_alt); foreach($values as $value) { - $conf->file->dol_document_root[]=$value; + $conf->file->dol_document_root['alt']=$value; } }