1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-14 10:45:54 +02:00

Make $modules->getModule($moduleName) be non-case-sensitive for $moduleName. Plus minor updates to Fieldtypes API var and ProcessTemplate module.

This commit is contained in:
Ryan Cramer
2020-12-31 09:05:59 -05:00
parent 341278fdb0
commit 1d990a604e
3 changed files with 20 additions and 10 deletions

View File

@@ -93,11 +93,8 @@ class Fieldtypes extends WireArray {
*/
public function init() {
$this->isAPI = true;
foreach($this->wire('modules') as $name => $module) {
if(strpos($name, 'Fieldtype') === 0) {
// if($module instanceof ModulePlaceholder) $module = $this->wire('modules')->get($module->className());
$this->add($module);
}
foreach($this->wire()->modules->findByPrefix('Fieldtype', 3) as $name => $module) {
$this->add($module);
}
}
@@ -113,7 +110,7 @@ class Fieldtypes extends WireArray {
foreach($this->data as $moduleName => $module) {
if($module instanceof ModulePlaceholder) {
$fieldtype = $modules->getModule($moduleName);
$this->data[$moduleName] = $fieldtype;
if($fieldtype) $this->data[$moduleName] = $fieldtype;
}
}
if($debug) Debug::saveTimer('Fieldtypes.preload');
@@ -188,9 +185,11 @@ class Fieldtypes extends WireArray {
*/
public function get($key) {
if(strpos($key, 'Fieldtype') !== 0) $key = "Fieldtype" . ucfirst($key);
if(stripos($key, 'Fieldtype') !== 0) $key = 'Fieldtype' . ucfirst($key);
if(!$fieldtype = parent::get($key)) {
$fieldtype = parent::get($key);
if(!$fieldtype) {
$fieldtype = $this->wire()->modules->getModule($key);
if($fieldtype) $this->set($key, $fieldtype);
}

View File

@@ -1276,11 +1276,22 @@ class Modules extends WireArray {
return empty($options['returnError']) ? null : "Unable to find module ID $moduleID";
}
} else {
$moduleID = 0;
$key = wireClassName($key, false);
}
$module = parent::get($key);
if(!$module && !$moduleID) {
// make non case-sensitive for module name ($key)
$lowerKey = strtolower($key);
foreach(array_keys($this->moduleIDs) as $className) {
if(strtolower($className) !== $lowerKey) continue;
$module = parent::get($className);
break;
}
}
if(!$module) {
if(empty($options['noSubstitute'])) {
if($this->isInstallable($key) && empty($options['noInstall'])) {

View File

@@ -2197,7 +2197,7 @@ class ProcessTemplate extends Process {
protected function buildEditFormAccessRoles(Template $template = null) {
$adminTheme = $this->wire()->adminTheme;
$checkboxClass = $adminTheme ? $this->wire()->adminTheme->getClass('input-checkbox') : '';
$checkboxClass = $adminTheme ? $adminTheme->getClass('input-checkbox') : '';
$roles = $this->pages->get($this->config->rolesPageID)->children();
$checked = "checked='checked' ";
$disabled = "<input class='$checkboxClass' type='checkbox' disabled='disabled' />";