New: parametre de config des repertoires dans les proprietes de la classe du module
avec un répertoire parent en fonction de l'entité
This commit is contained in:
parent
fa30d8ca48
commit
46ff461816
@ -104,6 +104,13 @@ class Conf
|
|||||||
$this->tabs_modules[$params[0]][]=$value;
|
$this->tabs_modules[$params[0]][]=$value;
|
||||||
//print 'xxx'.$params[0].'-'.$value;
|
//print 'xxx'.$params[0].'-'.$value;
|
||||||
}
|
}
|
||||||
|
// If this is constant for module directories
|
||||||
|
if (eregi('^MAIN_MODULE_([A-Z_]+)_DIR_([A-Z_]+)$',$key,$reg) && $value)
|
||||||
|
{
|
||||||
|
$module=strtolower($reg[1]);
|
||||||
|
$dir_name="dir_".strtolower($reg[2]);
|
||||||
|
$this->$module->$dir_name = DOL_DATA_ROOT."/entity_".$this->entity."/".$value;
|
||||||
|
}
|
||||||
// If this is a module constant
|
// If this is a module constant
|
||||||
if (eregi('^MAIN_MODULE_([A-Z]+)$',$key,$reg) && $value)
|
if (eregi('^MAIN_MODULE_([A-Z]+)$',$key,$reg) && $value)
|
||||||
{
|
{
|
||||||
@ -211,18 +218,11 @@ class Conf
|
|||||||
$this->adherent->dir_output=DOL_DATA_ROOT."/adherent";
|
$this->adherent->dir_output=DOL_DATA_ROOT."/adherent";
|
||||||
$this->adherent->dir_tmp=DOL_DATA_ROOT."/adherent/temp";
|
$this->adherent->dir_tmp=DOL_DATA_ROOT."/adherent/temp";
|
||||||
// Module produit
|
// Module produit
|
||||||
$this->produit->dir_output=DOL_DATA_ROOT."/produit";
|
|
||||||
$this->produit->dir_temp =DOL_DATA_ROOT."/produit/temp";
|
|
||||||
$this->produit->MultiPricesEnabled=defined("PRODUIT_MULTIPRICES")?PRODUIT_MULTIPRICES:0;
|
$this->produit->MultiPricesEnabled=defined("PRODUIT_MULTIPRICES")?PRODUIT_MULTIPRICES:0;
|
||||||
// Module service
|
|
||||||
$this->service->dir_output=DOL_DATA_ROOT."/produit";
|
|
||||||
$this->service->dir_temp =DOL_DATA_ROOT."/produit/temp";
|
|
||||||
|
|
||||||
// Module droipret
|
// Module droipret
|
||||||
$this->droitpret->cat=defined('DROITPRET_CAT')?DROITPRET_CAT:'';
|
$this->droitpret->cat=defined('DROITPRET_CAT')?DROITPRET_CAT:'';
|
||||||
$this->droitpret->cat=defined('DROITPRET_MAIL')?DROITPRET_MAIL:'';
|
$this->droitpret->cat=defined('DROITPRET_MAIL')?DROITPRET_MAIL:'';
|
||||||
$this->droitpret->dir_temp=DOL_DATA_ROOT."/droitpret/temp";
|
$this->droitpret->dir_temp=DOL_DATA_ROOT."/droitpret/temp";
|
||||||
|
|
||||||
// Module contrat
|
// Module contrat
|
||||||
$this->contrat->dir_output=DOL_DATA_ROOT."/contracts";
|
$this->contrat->dir_output=DOL_DATA_ROOT."/contracts";
|
||||||
// Module prelevement
|
// Module prelevement
|
||||||
@ -280,15 +280,11 @@ class Conf
|
|||||||
$this->ldap->dir_temp=DOL_DATA_ROOT."/ldap/temp";
|
$this->ldap->dir_temp=DOL_DATA_ROOT."/ldap/temp";
|
||||||
// Module FCKeditor
|
// Module FCKeditor
|
||||||
$this->fckeditor->dir_output=DOL_DATA_ROOT."/fckeditor";
|
$this->fckeditor->dir_output=DOL_DATA_ROOT."/fckeditor";
|
||||||
// Module ECM
|
|
||||||
$this->ecm->dir_output=DOL_DATA_ROOT."/ecm";
|
|
||||||
// Module emailing
|
// Module emailing
|
||||||
$this->mailings->dir_temp=DOL_DATA_ROOT."/mailings/temp";
|
$this->mailings->dir_temp=DOL_DATA_ROOT."/mailings/temp";
|
||||||
// Module oscommerce 1
|
// Module oscommerce 1
|
||||||
$this->boutique->livre->enabled=defined("BOUTIQUE_LIVRE")?BOUTIQUE_LIVRE:0;
|
$this->boutique->livre->enabled=defined("BOUTIQUE_LIVRE")?BOUTIQUE_LIVRE:0;
|
||||||
$this->boutique->album->enabled=defined("BOUTIQUE_ALBUM")?BOUTIQUE_ALBUM:0;
|
$this->boutique->album->enabled=defined("BOUTIQUE_ALBUM")?BOUTIQUE_ALBUM:0;
|
||||||
// Module Barcode
|
|
||||||
$this->barcode->dir_temp=DOL_DATA_ROOT."/barcode/temp";
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Modification de quelques variable de conf en fonction des Constantes
|
* Modification de quelques variable de conf en fonction des Constantes
|
||||||
|
|||||||
@ -102,6 +102,9 @@ 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
|
||||||
|
if (! $err) $err+=$this->insert_dirs();
|
||||||
|
|
||||||
// Execute les requetes sql complementaires
|
// Execute les requetes sql complementaires
|
||||||
for ($i = 0 ; $i < sizeof($array_sql) ; $i++)
|
for ($i = 0 ; $i < sizeof($array_sql) ; $i++)
|
||||||
{
|
{
|
||||||
@ -120,22 +123,6 @@ class DolibarrModules
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cree les repertoires
|
|
||||||
if (is_array($this->dirs))
|
|
||||||
{
|
|
||||||
foreach ($this->dirs as $key => $dir)
|
|
||||||
{
|
|
||||||
if ($dir && ! file_exists($dir))
|
|
||||||
{
|
|
||||||
if (create_exdir($dir) < 0)
|
|
||||||
{
|
|
||||||
$this->error = $langs->trans("ErrorCanNotCreateDir",$dir);
|
|
||||||
dol_syslog("DolibarrModules::_init ".$this->error, LOG_ERR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return code
|
// Return code
|
||||||
if (! $err)
|
if (! $err)
|
||||||
{
|
{
|
||||||
@ -180,9 +167,12 @@ class DolibarrModules
|
|||||||
// Remove module's permissions from list of available permissions
|
// Remove module's permissions from list of available permissions
|
||||||
if (! $err) $err+=$this->delete_permissions();
|
if (! $err) $err+=$this->delete_permissions();
|
||||||
|
|
||||||
// Remove modules's menus
|
// Remove module's menus
|
||||||
if (! $err) $err+=$this->delete_menus();
|
if (! $err) $err+=$this->delete_menus();
|
||||||
|
|
||||||
|
// Remove module's directories
|
||||||
|
if (! $err) $err+=$this->delete_dirs();
|
||||||
|
|
||||||
// Run complementary sql requests
|
// Run complementary sql requests
|
||||||
for ($i = 0 ; $i < sizeof($array_sql) ; $i++)
|
for ($i = 0 ; $i < sizeof($array_sql) ; $i++)
|
||||||
{
|
{
|
||||||
@ -964,5 +954,90 @@ class DolibarrModules
|
|||||||
return $err;
|
return $err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Insere et cree les répertoires output et temp
|
||||||
|
* \return int Nombre d'erreurs (0 si ok)
|
||||||
|
*/
|
||||||
|
function insert_dirs()
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
|
$err=0;
|
||||||
|
|
||||||
|
if (is_array($this->dirs))
|
||||||
|
{
|
||||||
|
foreach ($this->dirs as $key => $value)
|
||||||
|
{
|
||||||
|
$name = $this->const_name."_DIR_".strtoupper($this->dirs[$key][0]);
|
||||||
|
$dir = $this->dirs[$key][1];
|
||||||
|
|
||||||
|
$sql = "SELECT count(*)";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."const";
|
||||||
|
$sql.= " WHERE name ='".$name."'";
|
||||||
|
$sql.= " AND entity = ".$conf->entity;
|
||||||
|
|
||||||
|
$result=$this->db->query($sql);
|
||||||
|
if ($result)
|
||||||
|
{
|
||||||
|
$row = $this->db->fetch_row($result);
|
||||||
|
|
||||||
|
if ($row[0] == 0)
|
||||||
|
{
|
||||||
|
$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.")";
|
||||||
|
|
||||||
|
dol_syslog("DolibarrModules::insert_dir_output sql=".$sql);
|
||||||
|
$resql=$this->db->query($sql);
|
||||||
|
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
// On defini l'entite
|
||||||
|
$dir = DOL_DATA_ROOT."/entity_".$conf->entity."/".$dir;
|
||||||
|
|
||||||
|
if ($dir && ! file_exists($dir))
|
||||||
|
{
|
||||||
|
if (create_exdir($dir) < 0)
|
||||||
|
{
|
||||||
|
$this->error = $langs->trans("ErrorCanNotCreateDir",$dir);
|
||||||
|
dol_syslog("DolibarrModules::_init ".$this->error, LOG_ERR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$err++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $err;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Remove directory entries
|
||||||
|
* \return int Nombre d'erreurs (0 si ok)
|
||||||
|
*/
|
||||||
|
function delete_dirs()
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
|
$err=0;
|
||||||
|
|
||||||
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."const";
|
||||||
|
$sql.= " WHERE name like '".$this->const_name."_DIR_%'";
|
||||||
|
$sql.= " AND entity = ".$conf->entity;
|
||||||
|
|
||||||
|
dol_syslog("DolibarrModules::delete_tabs sql=".$sql);
|
||||||
|
if (! $this->db->query($sql))
|
||||||
|
{
|
||||||
|
$err++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $err;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@ -58,10 +58,18 @@ class modBarcode extends DolibarrModules
|
|||||||
$this->special = 2;
|
$this->special = 2;
|
||||||
$this->picto='barcode';
|
$this->picto='barcode';
|
||||||
|
|
||||||
// Dir
|
// Data directories to create when module is enabled
|
||||||
$this->dirs = array();
|
$this->dirs = array();
|
||||||
|
$r=0;
|
||||||
|
|
||||||
// D<>pendances
|
$this->dirs[$r][0] = "output";
|
||||||
|
$this->dirs[$r][1] = "/barcode";
|
||||||
|
|
||||||
|
$r++;
|
||||||
|
$this->dirs[$r][0] = "temp";
|
||||||
|
$this->dirs[$r][1] = "/barcode/temp";
|
||||||
|
|
||||||
|
// Dependances
|
||||||
$this->depends = array("modProduit");
|
$this->depends = array("modProduit");
|
||||||
$this->requiredby = array();
|
$this->requiredby = array();
|
||||||
|
|
||||||
@ -80,28 +88,28 @@ class modBarcode extends DolibarrModules
|
|||||||
|
|
||||||
$this->rights[1][0] = 300; // id de la permission
|
$this->rights[1][0] = 300; // id de la permission
|
||||||
$this->rights[1][1] = 'Lire les codes barres'; // libelle de la permission
|
$this->rights[1][1] = 'Lire les codes barres'; // libelle de la permission
|
||||||
$this->rights[1][2] = 'r'; // type de la permission (d<EFBFBD>pr<EFBFBD>ci<EFBFBD> <20> ce jour)
|
$this->rights[1][2] = 'r'; // type de la permission (deprecie a ce jour)
|
||||||
$this->rights[1][3] = 1; // La permission est-elle une permission par d<EFBFBD>faut
|
$this->rights[1][3] = 1; // La permission est-elle une permission par defaut
|
||||||
$this->rights[1][4] = 'lire';
|
$this->rights[1][4] = 'lire';
|
||||||
|
|
||||||
$this->rights[2][0] = 301; // id de la permission
|
$this->rights[2][0] = 301; // id de la permission
|
||||||
$this->rights[2][1] = 'Creer/modifier les codes barres'; // libelle de la permission
|
$this->rights[2][1] = 'Creer/modifier les codes barres'; // libelle de la permission
|
||||||
$this->rights[2][2] = 'w'; // type de la permission (d<EFBFBD>pr<EFBFBD>ci<EFBFBD> <20> ce jour)
|
$this->rights[2][2] = 'w'; // type de la permission (deprecie a ce jour)
|
||||||
$this->rights[2][3] = 0; // La permission est-elle une permission par d<EFBFBD>faut
|
$this->rights[2][3] = 0; // La permission est-elle une permission par defaut
|
||||||
$this->rights[2][4] = 'creer';
|
$this->rights[2][4] = 'creer';
|
||||||
|
|
||||||
$this->rights[4][0] = 302; // id de la permission
|
$this->rights[4][0] = 302; // id de la permission
|
||||||
$this->rights[4][1] = 'Supprimer les codes barres'; // libelle de la permission
|
$this->rights[4][1] = 'Supprimer les codes barres'; // libelle de la permission
|
||||||
$this->rights[4][2] = 'd'; // type de la permission (d<EFBFBD>pr<EFBFBD>ci<EFBFBD> <20> ce jour)
|
$this->rights[4][2] = 'd'; // type de la permission (deprecie a ce jour)
|
||||||
$this->rights[4][3] = 0; // La permission est-elle une permission par d<EFBFBD>faut
|
$this->rights[4][3] = 0; // La permission est-elle une permission par defaut
|
||||||
$this->rights[4][4] = 'supprimer';
|
$this->rights[4][4] = 'supprimer';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Fonction appel<EFBFBD>e lors de l'activation du module. Ins<EFBFBD>re en base les constantes, boites, permissions du module.
|
* \brief Fonction appelee lors de l'activation du module. Insere en base les constantes, boites, permissions du module.
|
||||||
* D<EFBFBD>finit <EFBFBD>galement les r<EFBFBD>pertoires de donn<EFBFBD>es <EFBFBD> cr<EFBFBD>er pour ce module.
|
* Definit egalement les repertoires de donnees a creer pour ce module.
|
||||||
*/
|
*/
|
||||||
function init()
|
function init()
|
||||||
{
|
{
|
||||||
@ -114,7 +122,7 @@ class modBarcode extends DolibarrModules
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Fonction appel<EFBFBD>e lors de la d<EFBFBD>sactivation d'un module.
|
* \brief Fonction appelee lors de la desactivation d'un module.
|
||||||
* Supprime de la base les constantes, boites et permissions du module.
|
* Supprime de la base les constantes, boites et permissions du module.
|
||||||
*/
|
*/
|
||||||
function remove()
|
function remove()
|
||||||
|
|||||||
@ -67,7 +67,14 @@ class modECM extends DolibarrModules
|
|||||||
|
|
||||||
// Data directories to create when module is enabled
|
// Data directories to create when module is enabled
|
||||||
$this->dirs = array();
|
$this->dirs = array();
|
||||||
$this->dirs[0] = DOL_DATA_ROOT."/ecm";
|
$r=0;
|
||||||
|
|
||||||
|
$this->dirs[$r][0] = "output";
|
||||||
|
$this->dirs[$r][1] = "/ecm";
|
||||||
|
|
||||||
|
$r++;
|
||||||
|
$this->dirs[$r][0] = "temp";
|
||||||
|
$this->dirs[$r][1] = "/ecm/temp";
|
||||||
|
|
||||||
// Config pages. Put here list of php page names stored in admmin directory used to setup module
|
// Config pages. Put here list of php page names stored in admmin directory used to setup module
|
||||||
$this->config_page_url = array();
|
$this->config_page_url = array();
|
||||||
|
|||||||
@ -65,8 +65,16 @@ class modProduit extends DolibarrModules
|
|||||||
$this->special = 0;
|
$this->special = 0;
|
||||||
$this->picto='product';
|
$this->picto='product';
|
||||||
|
|
||||||
// Dir
|
// Data directories to create when module is enabled
|
||||||
$this->dirs = array();
|
$this->dirs = array();
|
||||||
|
$r=0;
|
||||||
|
|
||||||
|
$this->dirs[$r][0] = "output";
|
||||||
|
$this->dirs[$r][1] = "/produit";
|
||||||
|
|
||||||
|
$r++;
|
||||||
|
$this->dirs[$r][0] = "temp";
|
||||||
|
$this->dirs[$r][1] = "/produit/temp";
|
||||||
|
|
||||||
// Dependencies
|
// Dependencies
|
||||||
$this->depends = array();
|
$this->depends = array();
|
||||||
|
|||||||
@ -64,7 +64,18 @@ class modService extends DolibarrModules
|
|||||||
$this->special = 0;
|
$this->special = 0;
|
||||||
$this->picto='service';
|
$this->picto='service';
|
||||||
|
|
||||||
// D<>pendances
|
// Data directories to create when module is enabled
|
||||||
|
$this->dirs = array();
|
||||||
|
$r=0;
|
||||||
|
|
||||||
|
$this->dirs[$r][0] = "output";
|
||||||
|
$this->dirs[$r][1] = "/service";
|
||||||
|
|
||||||
|
$r++;
|
||||||
|
$this->dirs[$r][0] = "temp";
|
||||||
|
$this->dirs[$r][1] = "/service/temp";
|
||||||
|
|
||||||
|
// Dependances
|
||||||
$this->depends = array("modProduit");
|
$this->depends = array("modProduit");
|
||||||
$this->requiredby = array("modContrat");
|
$this->requiredby = array("modContrat");
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user