mirror of
https://github.com/processwire/processwire.git
synced 2025-08-11 09:14:58 +02:00
Fix issue processwire/processwire-issues#1813
This commit is contained in:
@@ -1233,12 +1233,14 @@ class Modules extends WireArray {
|
|||||||
*
|
*
|
||||||
* #pw-internal
|
* #pw-internal
|
||||||
*
|
*
|
||||||
* @param string|int|Module $name
|
* @param string|Module $name
|
||||||
* @param int|null|false $setID Optionally set module ID or false to unset
|
* @param int|null|false $setID Optionally set module ID or false to unset
|
||||||
* @return int
|
* @return int
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function moduleID($name, $setID = null) {
|
public function moduleID($name, $setID = null) {
|
||||||
|
if($name instanceof Module) $name = $name->className();
|
||||||
|
if(strpos("$name", '\\') !== false) $name = wireClassName($name, false);
|
||||||
if($setID !== null) {
|
if($setID !== null) {
|
||||||
if($setID === false) {
|
if($setID === false) {
|
||||||
unset($this->moduleIDs[$name]);
|
unset($this->moduleIDs[$name]);
|
||||||
@@ -1269,7 +1271,8 @@ class Modules extends WireArray {
|
|||||||
if($setName === null) return $name;
|
if($setName === null) return $name;
|
||||||
$id = $this->getModuleID($name);
|
$id = $this->getModuleID($name);
|
||||||
} else if(!ctype_digit("$id")) {
|
} else if(!ctype_digit("$id")) {
|
||||||
if(is_string($id)) return $id;
|
if(strpos("$id", '\\') !== false) $id = wireClassName($id, false);
|
||||||
|
if($setName === null && is_string($id)) return $id;
|
||||||
$id = $this->getModuleID($id);
|
$id = $this->getModuleID($id);
|
||||||
}
|
}
|
||||||
$id = (int) $id;
|
$id = (int) $id;
|
||||||
@@ -1291,23 +1294,17 @@ class Modules extends WireArray {
|
|||||||
|
|
||||||
$id = 0;
|
$id = 0;
|
||||||
|
|
||||||
if(ctype_digit("$class")) {
|
if(ctype_digit("$class")) return (int) $class;
|
||||||
return (int) $class;
|
if(isset($this->moduleIDs["$class"])) return (int) $this->moduleIDs["$class"];
|
||||||
} else if(isset($this->moduleIDs["$class"])) {
|
|
||||||
return (int) $this->moduleIDs["$class"];
|
|
||||||
}
|
|
||||||
|
|
||||||
if(is_object($class)) {
|
if(is_object($class)) {
|
||||||
if($class instanceof Module) {
|
if(!$class instanceof Module) return 0; // class is not a module
|
||||||
$class = $this->getModuleClass($class);
|
$class = $this->getModuleClass($class);
|
||||||
if(isset($this->moduleIDs[$class])) {
|
} else if(strpos("$class", '\\') !== false) {
|
||||||
return (int) $this->moduleIDs[$class];
|
$class = wireClassName($class, false);
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Class is not a module
|
|
||||||
return $id;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isset($this->moduleIDs["$class"])) return (int) $this->moduleIDs["$class"];
|
||||||
|
|
||||||
foreach($this->info->moduleInfoCache as $key => $info) {
|
foreach($this->info->moduleInfoCache as $key => $info) {
|
||||||
if(is_string($info)) {
|
if(is_string($info)) {
|
||||||
|
Reference in New Issue
Block a user