diff --git a/inc/inc.ClassExtensionMgr.php b/inc/inc.ClassExtensionMgr.php index e2dcd2c3e..0b08ea908 100644 --- a/inc/inc.ClassExtensionMgr.php +++ b/inc/inc.ClassExtensionMgr.php @@ -368,14 +368,27 @@ class SeedDMS_Extension_Mgr { switch($dkey) { case 'seeddms': $version = new SeedDMS_Version; - $tmp = explode('-', $dval, 2); - if(self::cmpVersion($tmp[0], $version->version()) > 0 || ($tmp[1] && self::cmpVersion($tmp[1], $version->version()) < 0)) - $this->errmsgs[] = sprintf("Incorrect SeedDMS version (needs version %s)", $extconf['constraints']['depends']['seeddms']); + if(is_array($dval)) { + $fullfill = false; + foreach($dval as $ddval) { + $tmp = explode('-', $ddval, 2); + if(self::cmpVersion($tmp[0], $version->version()) > 0 || ($tmp[1] && self::cmpVersion($tmp[1], $version->version()) < 0)) + ; // No within version range + else + $fullfill = true; + } + if(!$fullfill) + $this->errmsgs[] = sprintf("Incorrect SeedDMS version (needs version \"%s\")", implode('" or "', $dval)); + } elseif(is_string($dval)) { + $tmp = explode('-', $dval, 2); + if(self::cmpVersion($tmp[0], $version->version()) > 0 || ($tmp[1] && self::cmpVersion($tmp[1], $version->version()) < 0)) + $this->errmsgs[] = sprintf("Incorrect SeedDMS version (needs version %s)", $extconf['constraints']['depends']['seeddms']); + } break; case 'php': $tmp = explode('-', $dval, 2); if(self::cmpVersion($tmp[0], phpversion()) > 0 || ($tmp[1] && self::cmpVersion($tmp[1], phpversion()) < 0)) - $this->errmsgs[] = sprintf("Incorrect PHP version (needs version %s)", $extconf['constraints']['depends']['php']); + $this->errmsgs[] = sprintf("Incorrect PHP version (needs version %s)", $dval); break; case 'phpext': if(is_array($dval) && $dval) {