From 85c9e4f32977db1edd4a4d8e56d05275ef2fbade Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Mon, 20 Jan 2020 07:01:01 -0500 Subject: [PATCH] Fix issue processwire/processwire-issues#1067 --- wire/core/WireHooks.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wire/core/WireHooks.php b/wire/core/WireHooks.php index 10a8efc7..71bf2953 100644 --- a/wire/core/WireHooks.php +++ b/wire/core/WireHooks.php @@ -1024,13 +1024,16 @@ class WireHooks { if(is_array($hookID) || strpos($hookID, ',')) { return $this->removeHooks($object, $hookID); } - if(!empty($hookID) && strpos($hookID, ':')) { + if(!empty($hookID) && substr_count($hookID, ':') === 2) { + // local hook ID ":100.0:methodName" or static hook ID "ClassName:100.0:methodName" list($hookClass, $priority, $method) = explode(':', $hookID); if(empty($hookClass)) { + // local hook $localHooks = $object->getLocalHooks(); unset($localHooks[$method][$priority]); $object->setLocalHooks($localHooks); } else { + // static hook unset($this->staticHooks[$hookClass][$method][$priority]); if(empty($this->staticHooks[$hookClass][$method])) { unset($this->hookClassMethodCache["$hookClass::$method"]);