Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0
This commit is contained in:
commit
d81fcd5f66
@ -48,22 +48,22 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
* @var string Publisher name
|
||||
*/
|
||||
public $editor_name;
|
||||
|
||||
|
||||
/**
|
||||
* @var string URL of module at publisher site
|
||||
*/
|
||||
public $editor_web;
|
||||
|
||||
public $editor_web;
|
||||
|
||||
/**
|
||||
* @var string Family
|
||||
*/
|
||||
public $family;
|
||||
|
||||
|
||||
/**
|
||||
* @var int module_position
|
||||
*/
|
||||
public $module_position=500;
|
||||
|
||||
|
||||
/**
|
||||
* @var string Module name
|
||||
*/
|
||||
@ -171,7 +171,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
* @var string Module description (long text)
|
||||
*/
|
||||
public $descriptionlong;
|
||||
|
||||
|
||||
/**
|
||||
* @var string[] Module language files
|
||||
*/
|
||||
@ -211,7 +211,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
* @var bool Module is enabled globally (Multicompany support)
|
||||
*/
|
||||
public $core_enabled;
|
||||
|
||||
|
||||
/**
|
||||
* @var string Relative path to module style sheet
|
||||
* @deprecated
|
||||
@ -219,8 +219,8 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
*/
|
||||
public $style_sheet = '';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Constructor. Define names, constants, directories, boxes, permissions
|
||||
*
|
||||
@ -468,9 +468,9 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
{
|
||||
global $langs;
|
||||
$langs->load("admin");
|
||||
|
||||
|
||||
if (empty($this->descriptionlong)) return '';
|
||||
|
||||
|
||||
// If module description translation does not exist using its unique id, we can use its name to find translation
|
||||
if (is_array($this->langfiles))
|
||||
{
|
||||
@ -481,7 +481,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
}
|
||||
return $langs->trans($this->descriptionlong);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gives the publisher name
|
||||
*
|
||||
@ -491,7 +491,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
{
|
||||
return $this->editor_name;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gives the publisher url
|
||||
*
|
||||
@ -501,7 +501,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
{
|
||||
return $this->editor_url;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gives module version (translated if param $translated is on)
|
||||
* For 'experimental' modules, gives 'experimental' translation
|
||||
@ -705,7 +705,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
$files[] = $file;
|
||||
}
|
||||
sort($files);
|
||||
foreach ($files as $file)
|
||||
foreach ($files as $file)
|
||||
{
|
||||
if (preg_match('/\.sql$/i',$file) && ! preg_match('/\.key\.sql$/i',$file) && substr($file,0,4) == 'llx_' && substr($file,0,4) != 'data')
|
||||
{
|
||||
@ -723,7 +723,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
$files[] = $file;
|
||||
}
|
||||
sort($files);
|
||||
foreach ($files as $file)
|
||||
foreach ($files as $file)
|
||||
{
|
||||
if (preg_match('/\.key\.sql$/i',$file) && substr($file,0,4) == 'llx_' && substr($file,0,4) != 'data')
|
||||
{
|
||||
@ -741,7 +741,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
$files[] = $file;
|
||||
}
|
||||
sort($files);
|
||||
foreach ($files as $file)
|
||||
foreach ($files as $file)
|
||||
{
|
||||
if (preg_match('/\.sql$/i',$file) && ! preg_match('/\.key\.sql$/i',$file) && substr($file,0,4) == 'data')
|
||||
{
|
||||
@ -759,7 +759,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
$files[] = $file;
|
||||
}
|
||||
sort($files);
|
||||
foreach ($files as $file)
|
||||
foreach ($files as $file)
|
||||
{
|
||||
if (preg_match('/\.sql$/i',$file) && ! preg_match('/\.key\.sql$/i',$file) && substr($file,0,6) == 'update')
|
||||
{
|
||||
@ -899,19 +899,19 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
//$titre = $this->boxes[$key][0];
|
||||
$file = $this->boxes[$key]['file'];
|
||||
//$note = $this->boxes[$key][2];
|
||||
|
||||
|
||||
// TODO If the box is also included by another module and the other module is still on, we should not remove it.
|
||||
// For the moment, we manage this with hard coded exception
|
||||
//print "Remove box ".$file.'<br>';
|
||||
if ($file == 'box_graph_product_distribution.php')
|
||||
{
|
||||
if (! empty($conf->produit->enabled) || ! empty($conf->service->enabled))
|
||||
if (! empty($conf->produit->enabled) || ! empty($conf->service->enabled))
|
||||
{
|
||||
dol_syslog("We discard disabling of module ".$file." because another module still active require it.");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (empty($file)) $file = isset($this->boxes[$key][1])?$this->boxes[$key][1]:''; // For backward compatibility
|
||||
|
||||
if ($this->db->type == 'sqlite3') {
|
||||
@ -986,7 +986,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
$status = isset($this->cronjobs[$key]['status'])?$this->cronjobs[$key]['status']:'';
|
||||
$priority = isset($this->cronjobs[$key]['priority'])?$this->cronjobs[$key]['priority']:'';
|
||||
$test = isset($this->cronjobs[$key]['test'])?$this->cronjobs[$key]['test']:''; // Line must be visible
|
||||
|
||||
|
||||
// Search if boxes def already present
|
||||
$sql = "SELECT count(*) as nb FROM ".MAIN_DB_PREFIX."cronjob";
|
||||
$sql.= " WHERE module_name = '".$this->db->escape($this->rights_class)."'";
|
||||
@ -1124,55 +1124,55 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
||||
*
|
||||
* @return int Error count (0 if ok)
|
||||
*/
|
||||
function insert_tabs()
|
||||
{
|
||||
global $conf;
|
||||
function insert_tabs()
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$err=0;
|
||||
$err=0;
|
||||
|
||||
if (! empty($this->tabs))
|
||||
{
|
||||
$i=0;
|
||||
foreach ($this->tabs as $key => $value)
|
||||
{
|
||||
if (is_array($value) && count($value) == 0) continue; // Discard empty arrays
|
||||
if (! empty($this->tabs))
|
||||
{
|
||||
$i=0;
|
||||
foreach ($this->tabs as $key => $value)
|
||||
{
|
||||
if (is_array($value) && count($value) == 0) continue; // Discard empty arrays
|
||||
|
||||
$entity=$conf->entity;
|
||||
$newvalue = $value;
|
||||
$entity=$conf->entity;
|
||||
$newvalue = $value;
|
||||
|
||||
if (is_array($value))
|
||||
{
|
||||
$newvalue = $value['data'];
|
||||
if (isset($value['entity'])) $entity = $value['entity'];
|
||||
}
|
||||
if (is_array($value))
|
||||
{
|
||||
$newvalue = $value['data'];
|
||||
if (isset($value['entity'])) $entity = $value['entity'];
|
||||
}
|
||||
|
||||
if ($newvalue)
|
||||
{
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."const (";
|
||||
$sql.= "name";
|
||||
$sql.= ", type";
|
||||
$sql.= ", value";
|
||||
$sql.= ", note";
|
||||
$sql.= ", visible";
|
||||
$sql.= ", entity";
|
||||
$sql.= ")";
|
||||
$sql.= " VALUES (";
|
||||
$sql.= $this->db->encrypt($this->const_name."_TABS_".$i,1);
|
||||
$sql.= ", 'chaine'";
|
||||
$sql.= ", ".$this->db->encrypt($value,1);
|
||||
$sql.= ", null";
|
||||
$sql.= ", '0'";
|
||||
$sql.= ", ".$conf->entity;
|
||||
$sql.= ")";
|
||||
if ($newvalue)
|
||||
{
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."const (";
|
||||
$sql.= "name";
|
||||
$sql.= ", type";
|
||||
$sql.= ", value";
|
||||
$sql.= ", note";
|
||||
$sql.= ", visible";
|
||||
$sql.= ", entity";
|
||||
$sql.= ")";
|
||||
$sql.= " VALUES (";
|
||||
$sql.= $this->db->encrypt($this->const_name."_TABS_".$i,1);
|
||||
$sql.= ", 'chaine'";
|
||||
$sql.= ", ".$this->db->encrypt($newvalue,1);
|
||||
$sql.= ", null";
|
||||
$sql.= ", '0'";
|
||||
$sql.= ", ".$entity;
|
||||
$sql.= ")";
|
||||
|
||||
dol_syslog(get_class($this)."::insert_tabs", LOG_DEBUG);
|
||||
$this->db->query($sql);
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
return $err;
|
||||
}
|
||||
dol_syslog(get_class($this)."::insert_tabs", LOG_DEBUG);
|
||||
$this->db->query($sql);
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
return $err;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds constants
|
||||
|
||||
Loading…
Reference in New Issue
Block a user