Dotclear


Ignore:
Timestamp:
10/29/15 10:52:34 (10 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Modules may have dependencies on Dotclear core version too (using 'core' as module name)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • inc/core/class.dc.modules.php

    r3109 r3135  
    6363     public function checkDependencies() 
    6464     { 
     65          $dc_version = preg_replace('/\-dev$/','',DC_VERSION); 
    6566          $this->to_disable = array(); 
    6667          foreach ($this->all_modules as $k => &$m) { 
     
    7273                         } 
    7374                         // grab missing dependencies 
    74                          if (!isset($this->all_modules[$dep[0]])) { 
     75                         if (!isset($this->all_modules[$dep[0]]) && ($dep[0] != 'core')) { 
    7576                              // module not present 
    76                               $missing[$dep[0]] = sprintf(__("Requires module %s which is not installed"), $dep[0]); 
    77                          } elseif ((count($dep)>1) && version_compare($this->all_modules[$dep[0]]['version'],$dep[1])==-1) { 
     77                              $missing[$dep[0]] = sprintf(__("Requires %s module which is not installed"), $dep[0]); 
     78                         } elseif ((count($dep) > 1) && 
     79                              version_compare(($dep[0] == 'core' ? $dc_version : $this->all_modules[$dep[0]]['version']),$dep[1]) == -1) 
     80                         { 
    7881                              // module present, but version missing 
    79                               $missing[$dep[0]] = sprintf(__("Requires module %s version %s, but version %s is installed"), $dep[0],$dep[1],$m['version']); 
    80                          } elseif (!$this->all_modules[$dep[0]]['enabled']) { 
     82                              if ($dep[0] == 'core') { 
     83                                   $missing[$dep[0]] = sprintf(__("Requires Dotclear version %s, but version %s is installed"), 
     84                                   $dep[1],$dc_version); 
     85                              } else { 
     86                                   $missing[$dep[0]] = sprintf(__("Requires %s module version %s, but version %s is installed"), 
     87                                   $dep[0],$dep[1],$this->all_modules[$dep[0]]['version']); 
     88                              } 
     89                         } elseif (($dep[0] != 'core') && !$this->all_modules[$dep[0]]['enabled']) { 
    8190                              // module disabled 
    82                               $missing[$dep[0]] = sprintf(__("Requires module %s which is disabled"), $dep[0]); 
     91                              $missing[$dep[0]] = sprintf(__("Requires %s module which is disabled"), $dep[0]); 
    8392                         } 
    8493                         $this->all_modules[$dep[0]]['implies'][]=$k; 
Note: See TracChangeset for help on using the changeset viewer.

Sites map