mirror of
https://github.com/processwire/processwire.git
synced 2025-08-10 00:37:02 +02:00
Fix issue processwire/processwire-issues#1657
This commit is contained in:
@@ -649,12 +649,16 @@ class ModulesInfo extends ModulesClass {
|
|||||||
if(!$info['installed'] && !$info['created'] && $installableFile) {
|
if(!$info['installed'] && !$info['created'] && $installableFile) {
|
||||||
// uninstalled modules get their created date from the file or dir that they are in (whichever is newer)
|
// uninstalled modules get their created date from the file or dir that they are in (whichever is newer)
|
||||||
$pathname = $installableFile;
|
$pathname = $installableFile;
|
||||||
$filemtime = (int) filemtime($pathname);
|
$filemtime = @filemtime($pathname);
|
||||||
|
if($filemtime === false) {
|
||||||
|
$info['created'] = 0;
|
||||||
|
} else {
|
||||||
$dirname = dirname($pathname);
|
$dirname = dirname($pathname);
|
||||||
$coreModulesPath = $this->modules->coreModulesPath;
|
$coreModulesPath = $this->modules->coreModulesPath;
|
||||||
$dirmtime = substr($dirname, -7) == 'modules' || strpos($dirname, $coreModulesPath) !== false ? 0 : (int) filemtime($dirname);
|
$dirmtime = substr($dirname, -7) == 'modules' || strpos($dirname, $coreModulesPath) !== false ? 0 : (int) filemtime($dirname);
|
||||||
$info['created'] = $dirmtime > $filemtime ? $dirmtime : $filemtime;
|
$info['created'] = $dirmtime > $filemtime ? $dirmtime : $filemtime;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// namespace
|
// namespace
|
||||||
if($info['core']) {
|
if($info['core']) {
|
||||||
|
@@ -116,10 +116,22 @@ class ModulesInstaller extends ModulesClass {
|
|||||||
if($languages) $languages->setDefault();
|
if($languages) $languages->setDefault();
|
||||||
|
|
||||||
$pathname = $this->modules->installableFile($class);
|
$pathname = $this->modules->installableFile($class);
|
||||||
|
|
||||||
|
if(strpos($class, "\\") === false) {
|
||||||
|
$ns = $this->modules->info->getModuleNamespace($class, array(
|
||||||
|
'file' => $pathname
|
||||||
|
));
|
||||||
|
$nsClass = $ns . $class;
|
||||||
|
} else {
|
||||||
|
$nsClass = $class;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!class_exists($nsClass, false)) {
|
||||||
$this->modules->files->includeModuleFile($pathname, $class);
|
$this->modules->files->includeModuleFile($pathname, $class);
|
||||||
$this->modules->files->setConfigPaths($class, dirname($pathname));
|
$this->modules->files->setConfigPaths($class, dirname($pathname));
|
||||||
|
}
|
||||||
|
|
||||||
$module = $this->modules->newModule($class);
|
$module = $this->modules->newModule($nsClass, $class);
|
||||||
if(!$module) return null;
|
if(!$module) return null;
|
||||||
|
|
||||||
$flags = 0;
|
$flags = 0;
|
||||||
|
Reference in New Issue
Block a user