New: Introduce "_deprecated" keyword into module version when module has

been superseed by another one.
This commit is contained in:
Laurent Destailleur
2015-02-14 15:10:06 +01:00
parent 2a9ba93712
commit bd4b401281
2 changed files with 13 additions and 7 deletions

View File

@@ -57,7 +57,7 @@ class modMyModule extends DolibarrModules
$this->name = preg_replace('/^mod/i','',get_class($this));
// Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module)
$this->description = "Description of module MyModule";
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version
// Possible values for version are: 'development', 'experimental', 'dolibarr' or 'dolibarr_deprecated' or version
$this->version = '1.0';
// Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase)
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);

View File

@@ -416,11 +416,17 @@ abstract class DolibarrModules
global $langs;
$langs->load("admin");
if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
elseif ($this->version == 'development') return $langs->trans("VersionDevelopment");
elseif ($this->version == 'dolibarr') return DOL_VERSION;
elseif ($this->version) return $this->version;
else return $langs->trans("VersionUnknown");
$ret='';
$newversion=preg_replace('/_deprecated/','',$this->version);
if ($newversion == 'experimental') $ret=$langs->trans("VersionExperimental");
elseif ($newversion == 'development') $ret=$langs->trans("VersionDevelopment");
elseif ($newversion == 'dolibarr') $ret=DOL_VERSION;
elseif ($newversion) $ret=$newversion;
else $ret=$langs->trans("VersionUnknown");
if (preg_match('/_deprecated/',$this->version)) $ret.=' ('.$langs->trans("Deprecated").')';
return $ret;
}
@@ -431,7 +437,7 @@ abstract class DolibarrModules
*/
function isCoreOrExternalModule()
{
if ($this->version == 'dolibarr') return 'core';
if ($this->version == 'dolibarr' || $this->version == 'dolibarr_deprecated') return 'core';
if (! empty($this->version) && ! in_array($this->version,array('experimental','development'))) return 'external';
if (! empty($this->editor_name) || ! empty($this->editor_web)) return 'external';
return 'unknown';