1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-08 07:47:00 +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. * 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 * https://processwire.com
* *
* This file is licensed under the MIT license * This file is licensed under the MIT license
@@ -110,23 +110,23 @@ abstract class ModuleJS extends WireData implements Module {
$class = $this->className(); $class = $this->className();
$config = $this->wire()->config; $config = $this->wire()->config;
$version = $config->version;
$debug = $config->debug;
$file = $config->paths->$class . "$class.css"; $file = $config->paths->$class . "$class.css";
if($this->loadStyles && is_file($file)) { if($this->loadStyles && is_file($file)) {
$mtime = filemtime($file); if($debug) $version = filemtime($file);
$this->config->styles->add($config->urls->$class . "$class.css?v=$mtime"); $this->config->styles->add($config->urls->$class . "$class.css?v=$version");
} }
$file = $config->paths->$class . "$class.js"; $file = $config->paths->$class . "$class.js";
$mtime = 0;
if($this->loadScripts && is_file($file)) { if($this->loadScripts && is_file($file)) {
$minFile = $config->paths->$class . "$class.min.js"; $minFile = $config->paths->$class . "$class.min.js";
if(!$config->debug && is_file($minFile)) { if(!$debug && is_file($minFile)) {
$mtime = filemtime($minFile); $config->scripts->add($config->urls->$class . "$class.min.js?v=$version");
$config->scripts->add($config->urls->$class . "$class.min.js?v=$mtime");
} else { } else {
$mtime = filemtime($file); if($debug) $version = filemtime($file);
$config->scripts->add($config->urls->$class . "$class.js?v=$mtime"); $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) { foreach($this->requested as $name) {
$url = $this->components[$name]; $url = $this->components[$name];
if(strpos($url, '/') === false) { if(strpos($url, '/') === false) {
$mtime = filemtime($config->paths->$class . $url); if($debug) $version = filemtime($config->paths->$class . $url);
$url = $config->urls->$class . $url; $url = $config->urls->$class . $url;
} }
$url .= "?v=$mtime"; $url .= "?v=$version";
$config->scripts->add($url); $config->scripts->add($url);
} }
$this->requested = array(); $this->requested = array();
@@ -167,13 +167,13 @@ abstract class ModuleJS extends WireData implements Module {
if($this->initialized) { if($this->initialized) {
$url = $this->components[$name]; $url = $this->components[$name];
$mtime = 0; $version = $config->version;
if(strpos($url, '/') === false) { if(strpos($url, '/') === false) {
$file = $config->paths->$class . $url; $file = $config->paths->$class . $url;
$url = $config->urls->$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 { } else {
$this->requested[$name] = $name; $this->requested[$name] = $name;
} }
@@ -186,4 +186,3 @@ abstract class ModuleJS extends WireData implements Module {
public function isSingular() { return true; } public function isSingular() { return true; }
public function isAutoload() { return false; } public function isAutoload() { return false; }
} }

View File

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

View File

@@ -29,7 +29,7 @@ if($user->hasPermission('page-edit')) {
$searchForm = ''; $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->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"); $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(!defined("PROCESSWIRE")) die();
if(!isset($content)) $content = ''; if(!isset($content)) $content = '';
$version = $adminTheme->version . 'm'; $version = $config->version;
$ext = $config->debug ? "js" : "min.js"; $ext = $config->debug ? "js" : "min.js";
// Search form // Search form

View File

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

View File

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

View File

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

View File

@@ -215,7 +215,7 @@ class InputfieldImage extends InputfieldFile implements InputfieldItemList, Inpu
$thisURL = $config->urls('InputfieldImage'); $thisURL = $config->urls('InputfieldImage');
$jsExt = $config->debug ? "js" : "min.js"; $jsExt = $config->debug ? "js" : "min.js";
$config->scripts->add($thisURL . "piexif.$jsExt"); $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); $maxSize = str_replace(',', '.', $this->maxSize);
$quality = str_replace(',', '.', (float) ($this->clientQuality / 100)); $quality = str_replace(',', '.', (float) ($this->clientQuality / 100));
$this->wrapAttr('data-resize', "$this->maxWidth;$this->maxHeight;$maxSize;$quality"); $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']) { 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']) { 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 */ /** @var JqueryCore $jQueryCore */

View File

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

View File

@@ -767,7 +767,7 @@ class ProcessTemplate extends Process implements ConfigurableModule {
} }
$min = $config->debug ? '' : '.min'; $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(); $label = $this->template->getLabel();
if(!$label) $label = $this->template->name; if(!$label) $label = $this->template->name;
@@ -3931,4 +3931,3 @@ class ProcessTemplate extends Process implements ConfigurableModule {
public function getModuleConfigInputfields(InputfieldWrapper $inputfields) { } public function getModuleConfigInputfields(InputfieldWrapper $inputfields) { }
} }