1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-09 08:17:12 +02:00
This commit is contained in:
Ryan Cramer
2023-08-07 09:46:53 -04:00
parent 0cdba2e307
commit 5a50ca01d8
11 changed files with 32 additions and 34 deletions

View File

@@ -10,7 +10,7 @@
*
* See the Module interface (Module.php) for details about each method.
*
* ProcessWire 3.x, Copyright 2022 by Ryan Cramer
* ProcessWire 3.x, Copyright 2023 by Ryan Cramer
* https://processwire.com
*
* This file is licensed under the MIT license
@@ -110,23 +110,23 @@ abstract class ModuleJS extends WireData implements Module {
$class = $this->className();
$config = $this->wire()->config;
$version = $config->version;
$debug = $config->debug;
$file = $config->paths->$class . "$class.css";
if($this->loadStyles && is_file($file)) {
$mtime = filemtime($file);
$this->config->styles->add($config->urls->$class . "$class.css?v=$mtime");
if($debug) $version = filemtime($file);
$this->config->styles->add($config->urls->$class . "$class.css?v=$version");
}
$file = $config->paths->$class . "$class.js";
$mtime = 0;
if($this->loadScripts && is_file($file)) {
$minFile = $config->paths->$class . "$class.min.js";
if(!$config->debug && is_file($minFile)) {
$mtime = filemtime($minFile);
$config->scripts->add($config->urls->$class . "$class.min.js?v=$mtime");
if(!$debug && is_file($minFile)) {
$config->scripts->add($config->urls->$class . "$class.min.js?v=$version");
} else {
$mtime = filemtime($file);
$config->scripts->add($config->urls->$class . "$class.js?v=$mtime");
if($debug) $version = filemtime($file);
$config->scripts->add($config->urls->$class . "$class.js?v=$version");
}
}
@@ -134,10 +134,10 @@ abstract class ModuleJS extends WireData implements Module {
foreach($this->requested as $name) {
$url = $this->components[$name];
if(strpos($url, '/') === false) {
$mtime = filemtime($config->paths->$class . $url);
if($debug) $version = filemtime($config->paths->$class . $url);
$url = $config->urls->$class . $url;
}
$url .= "?v=$mtime";
$url .= "?v=$version";
$config->scripts->add($url);
}
$this->requested = array();
@@ -167,13 +167,13 @@ abstract class ModuleJS extends WireData implements Module {
if($this->initialized) {
$url = $this->components[$name];
$mtime = 0;
$version = $config->version;
if(strpos($url, '/') === false) {
$file = $config->paths->$class . $url;
$url = $config->urls->$class . $url;
$mtime = filemtime($file);
if($config->debug) $version = filemtime($file);
}
$config->scripts->add($url . "?v=$mtime");
$config->scripts->add($url . "?v=$version");
} else {
$this->requested[$name] = $name;
}
@@ -186,4 +186,3 @@ abstract class ModuleJS extends WireData implements Module {
public function isSingular() { return true; }
public function isAutoload() { return false; }
}

View File

@@ -484,27 +484,27 @@ class ModulesFiles extends ModulesClass {
$path = $config->paths($class);
$url = $config->urls($class);
$debug = $config->debug;
$version = 0;
$coreVersion = $config->version;
$moduleVersion = 0;
$cnt = 0;
foreach(array('styles' => 'css', 'scripts' => 'js') as $type => $ext) {
$fileURL = '';
$modified = 0;
$file = "$path$class.$ext";
$fileVersion = $coreVersion;
$minFile = "$path$class.min.$ext";
if(!$debug && is_file($minFile)) {
$fileURL = "$url$class.min.$ext";
$modified = filemtime($minFile);
} else if(is_file($file)) {
$fileURL = "$url$class.$ext";
$modified = filemtime($file);
if($debug) $fileVersion = filemtime($file);
}
if($fileURL) {
if(!$version) {
if(!$moduleVersion) {
$info = $this->modules->info->getModuleInfo($module, array('verbose' => false));
$version = (int) isset($info['version']) ? $info['version'] : 0;
$moduleVersion = (int) isset($info['version']) ? $info['version'] : 0;
}
$config->$type->add("$fileURL?v=$version-$modified");
$config->$type->add("$fileURL?v=$moduleVersion-$fileVersion");
$cnt++;
}
}