Browse Source

New: Introduce "_deprecated" keyword into module version when module has
been superseed by another one.

Laurent Destailleur 10 years ago
parent
commit
bd4b401281
2 changed files with 13 additions and 7 deletions
  1. 1 1
      dev/skeletons/modMyModule.class.php
  2. 12 6
      htdocs/core/modules/DolibarrModules.class.php

+ 1 - 1
dev/skeletons/modMyModule.class.php

@@ -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);

+ 12 - 6
htdocs/core/modules/DolibarrModules.class.php

@@ -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';