2
0
forked from Wavyzz/dolibarr

Qual: Uniformize management of alt directories.

This commit is contained in:
Laurent Destailleur
2012-05-08 22:49:03 +02:00
parent 161846be77
commit c01fae04e4
7 changed files with 73 additions and 148 deletions

View File

@@ -26,11 +26,14 @@
require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/core/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
$langs->load("admin");
$langs->load("users");
$langs->load("other");
$action=GETPOST('action');
if (!$user->admin) accessforbidden();
@@ -38,7 +41,7 @@ if (!$user->admin) accessforbidden();
* Actions
*/
if ($_GET["action"] == 'add')
if ($action == 'add')
{
$sql = "UPDATE ".MAIN_DB_PREFIX."rights_def SET bydefault=1";
$sql.= " WHERE id = ".$_GET["pid"];
@@ -46,7 +49,7 @@ if ($_GET["action"] == 'add')
$db->query($sql);
}
if ($_GET["action"] == 'remove')
if ($action == 'remove')
{
$sql = "UPDATE ".MAIN_DB_PREFIX."rights_def SET bydefault=0";
$sql.= " WHERE id = ".$_GET["pid"];
@@ -79,37 +82,13 @@ $db->begin();
// Charge les modules soumis a permissions
$modules = array();
$modulesdir = array();
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$modulesdir[] = $dirroot . "/core/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 . '/core/modules/'))
{
$modulesdir[] = $dirroot . '/' . $file . '/core/modules/';
}
}
}
closedir($handle);
}
}
}
$modulesdir = dolGetModulesDirs();
foreach ($modulesdir as $dir)
{
// Load modules attributes in arrays (name, numero, orders) from dir directory
//print $dir."\n<br>";
$handle=@opendir($dir);
$handle=@opendir(dol_osencode($dir));
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)

View File

@@ -23,13 +23,13 @@
*/
require("../../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
$langs->load("admin");
$langs->load("install");
$langs->load("other");
if (!$user->admin)
accessforbidden();
if (!$user->admin) accessforbidden();
/*
@@ -46,36 +46,12 @@ print "<br>\n";
$modules = array();
$modules_names = array();
$modules_files = array();
// Search modules dirs
$modulesdir = array();
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$modulesdir[$dirroot . '/core/modules/'] = $dirroot . '/core/modules/';
$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 . '/core/modules/'))
{
$modulesdir[$dirroot . '/' . $file . '/core/modules/'] = $dirroot . '/' . $file . '/core/modules/';
}
}
}
closedir($handle);
}
}
//var_dump($modulesdir);
$modulesdir = dolGetModulesDirs();
// Load list of modules
foreach($modulesdir as $dir)
{
$handle=@opendir($dir);
$handle=@opendir(dol_osencode($dir));
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)

View File

@@ -25,6 +25,43 @@
*/
/**
* Return list of modules directories
*
* @return array Array of directories that can contains module descriptors
*/
function dolGetModulesDirs()
{
global $conf;
$modulesdir=array();
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
// Default core/modules dir
$modulesdir[$dirroot . '/core/modules/'] = $dirroot . '/core/modules/';
// Scan dir from external modules
$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 . '/core/modules/'))
{
$modulesdir[$dirroot . '/' . $file . '/core/modules/'] = $dirroot . '/' . $file . '/core/modules/';
}
}
}
closedir($handle);
}
}
return $modulesdir;
}
/**
* Try to guess default paper format according to language into $langs
*

View File

@@ -50,11 +50,11 @@ class Export
/**
* Constructor
*
* @param DoliDB $DB Database handler
* @param DoliDB $db Database handler
*/
function Export($DB)
function Export($db)
{
$this->db=$DB;
$this->db=$db;
}
@@ -75,34 +75,14 @@ class Export
$i=0;
// Define list of modules directories into modulesdir
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$modulesdir[] = $dirroot . "/core/modules/";
require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
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 . '/core/modules/'))
{
$modulesdir[] = $dirroot . '/' . $file . '/core/modules/';
}
}
}
closedir($handle);
}
}
}
$modulesdir = dolGetModulesDirs();
foreach($modulesdir as $dir)
{
// Search available exports
$handle=@opendir($dir);
$handle=@opendir(dol_osencode($dir));
if (is_resource($handle))
{
// Search module files

View File

@@ -67,12 +67,12 @@ class Import
$var=true;
$i=0;
//$dir=DOL_DOCUMENT_ROOT."/core/modules";
foreach($conf->file->dol_document_root as $dirroot)
{
$dir = $dirroot.'/core/modules';
require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
$modulesdir = dolGetModulesDirs();
// Search available exports
// Load list of modules
foreach($modulesdir as $dir)
{
$handle=@opendir(dol_osencode($dir));
if (! is_resource($handle)) continue;

View File

@@ -27,6 +27,7 @@
require("../../main.inc.php");
require_once(DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.php');
require_once(DOL_DOCUMENT_ROOT."/core/lib/usergroups.lib.php");
require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
$langs->load("users");
@@ -90,42 +91,17 @@ if ($id)
$title = $langs->trans("Group");
dol_fiche_head($head, 'rights', $title, 0, 'group');
$db->begin();
// Charge les modules soumis a permissions
$modules = array();
$modulesdir = array();
$modulesdir = dolGetModulesDirs();
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$modulesdir[] = $dirroot . "/core/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 . '/core/modules/'))
{
$modulesdir[] = $dirroot . '/' . $file . '/core/modules/';
}
}
}
closedir($handle);
}
}
}
$db->begin();
foreach ($modulesdir as $dir)
{
// Load modules attributes in arrays (name, numero, orders) from dir directory
//print $dir."\n<br>";
$handle=@opendir($dir);
$handle=@opendir(dol_osencode($dir));
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)

View File

@@ -26,6 +26,7 @@
require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/core/lib/usergroups.lib.php");
require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
$langs->load("users");
$langs->load("admin");
@@ -122,35 +123,11 @@ $db->begin();
// Search all modules with permission and reload permissions def.
$modules = array();
$modulesdir = array();
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$modulesdir[] = $dirroot . "/core/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 . '/core/modules/'))
{
$modulesdir[] = $dirroot . '/' . $file . '/core/modules/';
}
}
}
closedir($handle);
}
}
}
$modulesdir = dolGetModulesDirs();
foreach($modulesdir as $dir)
{
$handle=@opendir($dir);
$handle=@opendir(dol_osencode($dir));
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)