Can use directory defined in modules (but should not as this can works without)

This commit is contained in:
Laurent Destailleur 2009-04-29 20:17:31 +00:00
parent a7ba3bf3cb
commit bc5b47067d

View File

@ -101,7 +101,7 @@ class DolibarrModules
// Insere les constantes associees au module dans llx_const // Insere les constantes associees au module dans llx_const
if (! $err) $err+=$this->insert_menus(); if (! $err) $err+=$this->insert_menus();
// Insert module's directories into llx_const and create dir // Insert module's directories into llx_const and create dir
if (! $err) $err+=$this->insert_dirs(); if (! $err) $err+=$this->insert_dirs();
@ -169,7 +169,7 @@ class DolibarrModules
// Remove module's menus // Remove module's menus
if (! $err) $err+=$this->delete_menus(); if (! $err) $err+=$this->delete_menus();
// Remove module's directories // Remove module's directories
if (! $err) $err+=$this->delete_dirs(); if (! $err) $err+=$this->delete_dirs();
@ -489,7 +489,7 @@ class DolibarrModules
function insert_boxes() function insert_boxes()
{ {
global $conf; global $conf;
$err=0; $err=0;
if (is_array($this->boxes)) if (is_array($this->boxes))
@ -541,7 +541,7 @@ class DolibarrModules
function delete_boxes() function delete_boxes()
{ {
global $conf; global $conf;
$err=0; $err=0;
if (is_array($this->boxes)) if (is_array($this->boxes))
@ -581,7 +581,7 @@ class DolibarrModules
function delete_style_sheet() function delete_style_sheet()
{ {
global $conf; global $conf;
$err=0; $err=0;
if ($this->style_sheet) if ($this->style_sheet)
@ -606,7 +606,7 @@ class DolibarrModules
function delete_tabs() function delete_tabs()
{ {
global $conf; global $conf;
$err=0; $err=0;
$sql = "DELETE FROM ".MAIN_DB_PREFIX."const"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."const";
@ -628,7 +628,7 @@ class DolibarrModules
function insert_style_sheet() function insert_style_sheet()
{ {
global $conf; global $conf;
$err=0; $err=0;
if ($this->style_sheet) if ($this->style_sheet)
@ -655,7 +655,7 @@ class DolibarrModules
function insert_tabs() function insert_tabs()
{ {
global $conf; global $conf;
$err=0; $err=0;
if (! empty($this->tabs)) if (! empty($this->tabs))
@ -689,7 +689,7 @@ class DolibarrModules
function insert_const() function insert_const()
{ {
global $conf; global $conf;
$err=0; $err=0;
foreach ($this->const as $key => $value) foreach ($this->const as $key => $value)
@ -753,7 +753,7 @@ class DolibarrModules
function insert_permissions() function insert_permissions()
{ {
global $conf; global $conf;
$err=0; $err=0;
//print $this->rights_class." ".sizeof($this->rights)."<br>"; //print $this->rights_class." ".sizeof($this->rights)."<br>";
@ -830,7 +830,7 @@ class DolibarrModules
function delete_permissions() function delete_permissions()
{ {
global $conf; global $conf;
$err=0; $err=0;
$sql = "DELETE FROM ".MAIN_DB_PREFIX."rights_def"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."rights_def";
@ -937,7 +937,7 @@ class DolibarrModules
function delete_menus() function delete_menus()
{ {
global $conf; global $conf;
$err=0; $err=0;
$sql = "DELETE FROM ".MAIN_DB_PREFIX."menu"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."menu";
@ -953,17 +953,19 @@ class DolibarrModules
return $err; return $err;
} }
/** /**
* \brief Insere et cree les répertoires output et temp * \brief Create directories required by module
* \return int Nombre d'erreurs (0 si ok) * \return int Number of errors (0 if OK)
*/ */
function insert_dirs() function insert_dirs()
{ {
// TODO Keep only dir creation, no need to insert values in database.
global $langs, $conf; global $langs, $conf;
$err=0; $err=0;
if (is_array($this->dirs)) if (is_array($this->dirs))
{ {
foreach ($this->dirs as $key => $value) foreach ($this->dirs as $key => $value)
@ -975,25 +977,26 @@ class DolibarrModules
$sql.= " FROM ".MAIN_DB_PREFIX."const"; $sql.= " FROM ".MAIN_DB_PREFIX."const";
$sql.= " WHERE name ='".$name."'"; $sql.= " WHERE name ='".$name."'";
$sql.= " AND entity = ".$conf->entity; $sql.= " AND entity = ".$conf->entity;
$result=$this->db->query($sql); $result=$this->db->query($sql);
if ($result) if ($result)
{ {
$row = $this->db->fetch_row($result); $row = $this->db->fetch_row($result);
if ($row[0] == 0) if ($row[0] == 0)
{ {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,type,value,note,visible,entity)"; $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,type,value,note,visible,entity)";
$sql.= " VALUES ('".$name."','chaine','".$dir."','Directory for module ".$this->name."','0',".$conf->entity.")"; $sql.= " VALUES ('".$name."','chaine','".$dir."','Directory for module ".$this->name."','0',".$conf->entity.")";
dol_syslog("DolibarrModules::insert_dir_output sql=".$sql); dol_syslog("DolibarrModules::insert_dir_output sql=".$sql);
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
{ {
// On defini l'entite // Define directory full path
$dir = DOL_DATA_ROOT."/".$conf->entity.$dir; if (empty($conf->entity)) $dir = DOL_DATA_ROOT.'/'.$dir;
else $dir = DOL_DATA_ROOT."/".$conf->entity.'/'.$dir;
// Create dir if it does not exists
if ($dir && ! file_exists($dir)) if ($dir && ! file_exists($dir))
{ {
if (create_exdir($dir) < 0) if (create_exdir($dir) < 0)
@ -1011,11 +1014,11 @@ class DolibarrModules
} }
} }
} }
return $err; return $err;
} }
/** /**
* \brief Remove directory entries * \brief Remove directory entries
* \return int Nombre d'erreurs (0 si ok) * \return int Nombre d'erreurs (0 si ok)
@ -1023,13 +1026,13 @@ class DolibarrModules
function delete_dirs() function delete_dirs()
{ {
global $conf; global $conf;
$err=0; $err=0;
$sql = "DELETE FROM ".MAIN_DB_PREFIX."const"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."const";
$sql.= " WHERE name like '".$this->const_name."_DIR_%'"; $sql.= " WHERE name like '".$this->const_name."_DIR_%'";
$sql.= " AND entity = ".$conf->entity; $sql.= " AND entity = ".$conf->entity;
dol_syslog("DolibarrModules::delete_tabs sql=".$sql); dol_syslog("DolibarrModules::delete_tabs sql=".$sql);
if (! $this->db->query($sql)) if (! $this->db->query($sql))
{ {