2
0
forked from Wavyzz/dolibarr

External modules can be detected if stored into dolibarr main dir.

This commit is contained in:
Laurent Destailleur
2011-12-02 23:23:07 +01:00
parent 11727d68b8
commit 3e741b29f5
2 changed files with 10 additions and 18 deletions

View File

@@ -34,8 +34,7 @@ $langs->load("admin");
$mode=isset($_GET["mode"])?GETPOST("mode"):(isset($_SESSION['mode'])?$_SESSION['mode']:0); $mode=isset($_GET["mode"])?GETPOST("mode"):(isset($_SESSION['mode'])?$_SESSION['mode']:0);
$mesg=GETPOST("mesg"); $mesg=GETPOST("mesg");
if (!$user->admin) if (!$user->admin) accessforbidden();
accessforbidden();
/* /*
@@ -87,8 +86,6 @@ foreach ($conf->file->dol_document_root as $type => $dirroot)
{ {
$modulesdir[] = $dirroot . "/core/modules/"; $modulesdir[] = $dirroot . "/core/modules/";
if ($type == 'alt')
{
$handle=@opendir($dirroot); $handle=@opendir($dirroot);
if (is_resource($handle)) if (is_resource($handle))
{ {
@@ -104,7 +101,6 @@ foreach ($conf->file->dol_document_root as $type => $dirroot)
} }
closedir($handle); closedir($handle);
} }
}
} }
//var_dump($modulesdir); //var_dump($modulesdir);

View File

@@ -225,7 +225,7 @@ function run_sql($sqlfile,$silent=1,$entity='',$usesavepoint=1,$handler='')
{ {
$sql=preg_replace('/llx_/i',MAIN_DB_PREFIX,$sql); $sql=preg_replace('/llx_/i',MAIN_DB_PREFIX,$sql);
} }
if (!empty($handler)) $sql=preg_replace('/__HANDLER__/i',"'".$handler."'",$sql); if (!empty($handler)) $sql=preg_replace('/__HANDLER__/i',"'".$handler."'",$sql);
$newsql=preg_replace('/__ENTITY__/i',(!empty($entity)?$entity:$conf->entity),$sql); $newsql=preg_replace('/__ENTITY__/i',(!empty($entity)?$entity:$conf->entity),$sql);
@@ -636,16 +636,13 @@ function Activate($value,$withdeps=1)
$ret=''; $ret='';
$modName = $value; $modName = $value;
$modFile = $modName . ".class.php"; $modFile = $modName . ".class.php";
$modulesdir = array();
// Loop on each directory // Loop on each directory to fill $modulesdir
$found=false; $modulesdir = array();
foreach ($conf->file->dol_document_root as $type => $dirroot) foreach ($conf->file->dol_document_root as $type => $dirroot)
{ {
$modulesdir[] = $dirroot."/core/modules/"; $modulesdir[] = $dirroot."/core/modules/";
if ($type == 'alt')
{
$handle=@opendir(dol_osencode($dirroot)); $handle=@opendir(dol_osencode($dirroot));
if (is_resource($handle)) if (is_resource($handle))
{ {
@@ -661,9 +658,10 @@ function Activate($value,$withdeps=1)
} }
closedir($handle); closedir($handle);
} }
}
} }
// Loop on each directory
$found=false;
foreach ($modulesdir as $dir) foreach ($modulesdir as $dir)
{ {
if (file_exists($dir.$modFile)) if (file_exists($dir.$modFile))
@@ -751,16 +749,13 @@ function UnActivate($value, $requiredby=1)
$ret=''; $ret='';
$modName = $value; $modName = $value;
$modFile = $modName . ".class.php"; $modFile = $modName . ".class.php";
$modulesdir=array();
// Loop on each directory // Loop on each directory to fill $modulesdir
$found=false; $modulesdir = array();
foreach ($conf->file->dol_document_root as $type => $dirroot) foreach ($conf->file->dol_document_root as $type => $dirroot)
{ {
$modulesdir[] = $dirroot."/core/modules/"; $modulesdir[] = $dirroot."/core/modules/";
if ($type == 'alt')
{
$handle=@opendir(dol_osencode($dirroot)); $handle=@opendir(dol_osencode($dirroot));
if (is_resource($handle)) if (is_resource($handle))
{ {
@@ -776,9 +771,10 @@ function UnActivate($value, $requiredby=1)
} }
closedir($handle); closedir($handle);
} }
}
} }
// Loop on each directory
$found=false;
foreach ($modulesdir as $dir) foreach ($modulesdir as $dir)
{ {
if (file_exists($dir.$modFile)) if (file_exists($dir.$modFile))