1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-07 15:26:54 +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++;
}
}

View File

@@ -29,7 +29,7 @@ if($user->hasPermission('page-edit')) {
$searchForm = '';
}
$version = $adminTheme->version . 'l';
$version = $config->version;
$config->styles->prepend($config->urls->root . "wire/templates-admin/styles/AdminTheme.css?v=$version");
$config->styles->prepend($config->urls->adminTemplates . "styles/" . ($adminTheme->colors ? "main-$adminTheme->colors" : "main-classic") . ".css?v=$version");

View File

@@ -20,7 +20,7 @@
if(!defined("PROCESSWIRE")) die();
if(!isset($content)) $content = '';
$version = $adminTheme->version . 'm';
$version = $config->version;
$ext = $config->debug ? "js" : "min.js";
// Search form

View File

@@ -173,7 +173,7 @@ class AdminThemeUikitCss extends WireData {
$file = $this->defaultCssFile;
$path = $config->paths($this->adminTheme) . $file;
if($getPath) return $path;
$v = filemtime($path);
$v = $config->debug ? filemtime($path) : $config->version;
$url = $config->urls($this->adminTheme) . "$file?v=$v" ;
return $url;
}
@@ -264,4 +264,4 @@ class AdminThemeUikitCss extends WireData {
return $defaultFile;
}
}
}

View File

@@ -14,7 +14,7 @@ if(!defined("PROCESSWIRE")) die();
/** @var Paths $urls */
/** @var string $layout */
$version = $adminTheme->version . 'h';
$version = $config->version;
$rootUrl = $config->urls->root;
$themeUrl = $adminTheme->url();
$styles = $config->styles;

View File

@@ -220,7 +220,7 @@ class InputfieldAsmSelect extends InputfieldSelectMultiple implements Inputfield
// require javascript and css
$class = $this->className();
$info = self::getModuleInfo();
$ver = $info['version'];
$ver = $config->version . '-' . $info['version'];
$jsfile = $config->debug ? 'jquery.asmselect.js' : 'jquery.asmselect.min.js';
$url = $config->urls($class);

View File

@@ -215,7 +215,7 @@ class InputfieldImage extends InputfieldFile implements InputfieldItemList, Inpu
$thisURL = $config->urls('InputfieldImage');
$jsExt = $config->debug ? "js" : "min.js";
$config->scripts->add($thisURL . "piexif.$jsExt");
$config->scripts->add($thisURL . "PWImageResizer.$jsExt?v=$moduleInfo[version]");
$config->scripts->add($thisURL . "PWImageResizer.$jsExt?v={$config->version}-$moduleInfo[version]");
$maxSize = str_replace(',', '.', $this->maxSize);
$quality = str_replace(',', '.', (float) ($this->clientQuality / 100));
$this->wrapAttr('data-resize', "$this->maxWidth;$this->maxHeight;$maxSize;$quality");

View File

@@ -142,10 +142,10 @@ class LanguageTabs extends WireData implements Module, ConfigurableModule {
}
if($settings['loadStyles']) {
$config->styles->add($config->urls('LanguageTabs') . "LanguageTabs.css?v=$info[version]");
$config->styles->add($config->urls('LanguageTabs') . "LanguageTabs.css?v=$config->version-$info[version]");
}
if($settings['loadScripts']) {
$config->scripts->add($config->urls('LanguageTabs') . "LanguageTabs.js?v=$info[version]");
$config->scripts->add($config->urls('LanguageTabs') . "LanguageTabs.js?v=$config->version-$info[version]");
}
/** @var JqueryCore $jQueryCore */

View File

@@ -167,7 +167,7 @@ class PagePathHistory extends WireData implements Module, ConfigurableModule {
$database = $this->wire()->database;
$modules = $this->wire()->modules;
$table = self::dbTableName;
$path = $sanitizer->pagePathName('/' . trim($path, '/'), Sanitizer::toAscii);
$path = $sanitizer->pagePathName('/' . trim("$path", '/'), Sanitizer::toAscii);
$selector = "path=$path";
if($modules->isInstalled('PagePaths')) $selector .= ", id!=$page->id";

View File

@@ -767,7 +767,7 @@ class ProcessTemplate extends Process implements ConfigurableModule {
}
$min = $config->debug ? '' : '.min';
$config->scripts->add($config->urls('ProcessTemplate') . "ProcessTemplateFieldCreator$min.js?v=1");
$config->scripts->add($config->urls('ProcessTemplate') . "ProcessTemplateFieldCreator$min.js?v=$config->version");
$label = $this->template->getLabel();
if(!$label) $label = $this->template->name;
@@ -3931,4 +3931,3 @@ class ProcessTemplate extends Process implements ConfigurableModule {
public function getModuleConfigInputfields(InputfieldWrapper $inputfields) { }
}