mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-07 18:18:18 +01:00
Qual: Uniformize management of alt directories.
This commit is contained in:
@@ -26,11 +26,14 @@
|
|||||||
|
|
||||||
require("../main.inc.php");
|
require("../main.inc.php");
|
||||||
require_once(DOL_DOCUMENT_ROOT."/core/lib/admin.lib.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("admin");
|
||||||
$langs->load("users");
|
$langs->load("users");
|
||||||
$langs->load("other");
|
$langs->load("other");
|
||||||
|
|
||||||
|
$action=GETPOST('action');
|
||||||
|
|
||||||
if (!$user->admin) accessforbidden();
|
if (!$user->admin) accessforbidden();
|
||||||
|
|
||||||
|
|
||||||
@@ -38,7 +41,7 @@ if (!$user->admin) accessforbidden();
|
|||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($_GET["action"] == 'add')
|
if ($action == 'add')
|
||||||
{
|
{
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."rights_def SET bydefault=1";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."rights_def SET bydefault=1";
|
||||||
$sql.= " WHERE id = ".$_GET["pid"];
|
$sql.= " WHERE id = ".$_GET["pid"];
|
||||||
@@ -46,7 +49,7 @@ if ($_GET["action"] == 'add')
|
|||||||
$db->query($sql);
|
$db->query($sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_GET["action"] == 'remove')
|
if ($action == 'remove')
|
||||||
{
|
{
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."rights_def SET bydefault=0";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."rights_def SET bydefault=0";
|
||||||
$sql.= " WHERE id = ".$_GET["pid"];
|
$sql.= " WHERE id = ".$_GET["pid"];
|
||||||
@@ -79,37 +82,13 @@ $db->begin();
|
|||||||
|
|
||||||
// Charge les modules soumis a permissions
|
// Charge les modules soumis a permissions
|
||||||
$modules = array();
|
$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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($modulesdir as $dir)
|
foreach ($modulesdir as $dir)
|
||||||
{
|
{
|
||||||
// Load modules attributes in arrays (name, numero, orders) from dir directory
|
// Load modules attributes in arrays (name, numero, orders) from dir directory
|
||||||
//print $dir."\n<br>";
|
//print $dir."\n<br>";
|
||||||
$handle=@opendir($dir);
|
$handle=@opendir(dol_osencode($dir));
|
||||||
if (is_resource($handle))
|
if (is_resource($handle))
|
||||||
{
|
{
|
||||||
while (($file = readdir($handle))!==false)
|
while (($file = readdir($handle))!==false)
|
||||||
@@ -162,7 +141,7 @@ if ($result)
|
|||||||
$i = 0;
|
$i = 0;
|
||||||
$var = True;
|
$var = True;
|
||||||
$oldmod = "";
|
$oldmod = "";
|
||||||
|
|
||||||
while ($i < $num)
|
while ($i < $num)
|
||||||
{
|
{
|
||||||
$obj = $db->fetch_object($result);
|
$obj = $db->fetch_object($result);
|
||||||
@@ -179,16 +158,16 @@ if ($result)
|
|||||||
foreach($modules[$obj->module]->rights as $key => $val)
|
foreach($modules[$obj->module]->rights as $key => $val)
|
||||||
{
|
{
|
||||||
$rights_class=$objMod->rights_class;
|
$rights_class=$objMod->rights_class;
|
||||||
if ($val[4] == $obj->perms && (empty($val[5]) || $val[5] == $obj->subperms))
|
if ($val[4] == $obj->perms && (empty($val[5]) || $val[5] == $obj->subperms))
|
||||||
{
|
{
|
||||||
$found=true;
|
$found=true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (! $found)
|
if (! $found)
|
||||||
{
|
{
|
||||||
$i++;
|
$i++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Break found, it's a new module to catch
|
// Break found, it's a new module to catch
|
||||||
|
|||||||
@@ -23,13 +23,13 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
require("../../main.inc.php");
|
require("../../main.inc.php");
|
||||||
|
require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
|
||||||
|
|
||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
$langs->load("install");
|
$langs->load("install");
|
||||||
$langs->load("other");
|
$langs->load("other");
|
||||||
|
|
||||||
if (!$user->admin)
|
if (!$user->admin) accessforbidden();
|
||||||
accessforbidden();
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -46,36 +46,12 @@ print "<br>\n";
|
|||||||
$modules = array();
|
$modules = array();
|
||||||
$modules_names = array();
|
$modules_names = array();
|
||||||
$modules_files = array();
|
$modules_files = array();
|
||||||
|
$modulesdir = dolGetModulesDirs();
|
||||||
// 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);
|
|
||||||
|
|
||||||
|
|
||||||
// Load list of modules
|
// Load list of modules
|
||||||
foreach($modulesdir as $dir)
|
foreach($modulesdir as $dir)
|
||||||
{
|
{
|
||||||
$handle=@opendir($dir);
|
$handle=@opendir(dol_osencode($dir));
|
||||||
if (is_resource($handle))
|
if (is_resource($handle))
|
||||||
{
|
{
|
||||||
while (($file = readdir($handle))!==false)
|
while (($file = readdir($handle))!==false)
|
||||||
|
|||||||
@@ -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
|
* Try to guess default paper format according to language into $langs
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -50,11 +50,11 @@ class Export
|
|||||||
/**
|
/**
|
||||||
* Constructor
|
* 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;
|
$i=0;
|
||||||
|
|
||||||
// Define list of modules directories into modulesdir
|
// Define list of modules directories into modulesdir
|
||||||
foreach ($conf->file->dol_document_root as $type => $dirroot)
|
require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
|
||||||
{
|
|
||||||
$modulesdir[] = $dirroot . "/core/modules/";
|
|
||||||
|
|
||||||
if ($type == 'alt')
|
$modulesdir = dolGetModulesDirs();
|
||||||
{
|
|
||||||
$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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach($modulesdir as $dir)
|
foreach($modulesdir as $dir)
|
||||||
{
|
{
|
||||||
// Search available exports
|
// Search available exports
|
||||||
$handle=@opendir($dir);
|
$handle=@opendir(dol_osencode($dir));
|
||||||
if (is_resource($handle))
|
if (is_resource($handle))
|
||||||
{
|
{
|
||||||
// Search module files
|
// Search module files
|
||||||
|
|||||||
@@ -67,12 +67,12 @@ class Import
|
|||||||
$var=true;
|
$var=true;
|
||||||
$i=0;
|
$i=0;
|
||||||
|
|
||||||
//$dir=DOL_DOCUMENT_ROOT."/core/modules";
|
require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
|
||||||
foreach($conf->file->dol_document_root as $dirroot)
|
$modulesdir = dolGetModulesDirs();
|
||||||
{
|
|
||||||
$dir = $dirroot.'/core/modules';
|
|
||||||
|
|
||||||
// Search available exports
|
// Load list of modules
|
||||||
|
foreach($modulesdir as $dir)
|
||||||
|
{
|
||||||
$handle=@opendir(dol_osencode($dir));
|
$handle=@opendir(dol_osencode($dir));
|
||||||
if (! is_resource($handle)) continue;
|
if (! is_resource($handle)) continue;
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
require("../../main.inc.php");
|
require("../../main.inc.php");
|
||||||
require_once(DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.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/usergroups.lib.php");
|
||||||
|
require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
|
||||||
|
|
||||||
$langs->load("users");
|
$langs->load("users");
|
||||||
|
|
||||||
@@ -90,42 +91,17 @@ if ($id)
|
|||||||
$title = $langs->trans("Group");
|
$title = $langs->trans("Group");
|
||||||
dol_fiche_head($head, 'rights', $title, 0, 'group');
|
dol_fiche_head($head, 'rights', $title, 0, 'group');
|
||||||
|
|
||||||
|
|
||||||
$db->begin();
|
|
||||||
|
|
||||||
// Charge les modules soumis a permissions
|
// Charge les modules soumis a permissions
|
||||||
$modules = array();
|
$modules = array();
|
||||||
$modulesdir = array();
|
$modulesdir = dolGetModulesDirs();
|
||||||
|
|
||||||
foreach ($conf->file->dol_document_root as $type => $dirroot)
|
$db->begin();
|
||||||
{
|
|
||||||
$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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($modulesdir as $dir)
|
foreach ($modulesdir as $dir)
|
||||||
{
|
{
|
||||||
// Load modules attributes in arrays (name, numero, orders) from dir directory
|
// Load modules attributes in arrays (name, numero, orders) from dir directory
|
||||||
//print $dir."\n<br>";
|
//print $dir."\n<br>";
|
||||||
$handle=@opendir($dir);
|
$handle=@opendir(dol_osencode($dir));
|
||||||
if (is_resource($handle))
|
if (is_resource($handle))
|
||||||
{
|
{
|
||||||
while (($file = readdir($handle))!==false)
|
while (($file = readdir($handle))!==false)
|
||||||
@@ -133,7 +109,7 @@ if ($id)
|
|||||||
if (is_readable($dir.$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);
|
$modName = substr($file, 0, dol_strlen($file) - 10);
|
||||||
|
|
||||||
if ($modName)
|
if ($modName)
|
||||||
{
|
{
|
||||||
include_once($dir."/".$file);
|
include_once($dir."/".$file);
|
||||||
@@ -182,7 +158,7 @@ if ($id)
|
|||||||
{
|
{
|
||||||
$sql.= " AND r.entity IN (0,".$conf->entity.")";
|
$sql.= " AND r.entity IN (0,".$conf->entity.")";
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql.= " AND ugr.fk_usergroup = ".$fgroup->id;
|
$sql.= " AND ugr.fk_usergroup = ".$fgroup->id;
|
||||||
|
|
||||||
$result=$db->query($sql);
|
$result=$db->query($sql);
|
||||||
@@ -273,7 +249,7 @@ if ($id)
|
|||||||
$i = 0;
|
$i = 0;
|
||||||
$var = true;
|
$var = true;
|
||||||
$oldmod = '';
|
$oldmod = '';
|
||||||
|
|
||||||
$num = $db->num_rows($result);
|
$num = $db->num_rows($result);
|
||||||
|
|
||||||
while ($i < $num)
|
while ($i < $num)
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
require("../main.inc.php");
|
require("../main.inc.php");
|
||||||
require_once(DOL_DOCUMENT_ROOT."/core/lib/usergroups.lib.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("users");
|
||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
@@ -122,35 +123,11 @@ $db->begin();
|
|||||||
|
|
||||||
// Search all modules with permission and reload permissions def.
|
// Search all modules with permission and reload permissions def.
|
||||||
$modules = array();
|
$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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach($modulesdir as $dir)
|
foreach($modulesdir as $dir)
|
||||||
{
|
{
|
||||||
$handle=@opendir($dir);
|
$handle=@opendir(dol_osencode($dir));
|
||||||
if (is_resource($handle))
|
if (is_resource($handle))
|
||||||
{
|
{
|
||||||
while (($file = readdir($handle))!==false)
|
while (($file = readdir($handle))!==false)
|
||||||
|
|||||||
Reference in New Issue
Block a user