From 9eb2c2ec167176996ef53c3b171014427fe6d364 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Tue, 7 Aug 2018 23:03:38 +0200 Subject: [PATCH] Fix for duplicated addon entries in the hook table (#5583) --- src/Core/Addon.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Core/Addon.php b/src/Core/Addon.php index e4acd6e9d3..4c20c96ad4 100644 --- a/src/Core/Addon.php +++ b/src/Core/Addon.php @@ -139,6 +139,8 @@ class Addon */ public static function registerHook($hook, $file, $function, $priority = 0) { + $file = str_replace(get_app()->get_basepath() . DIRECTORY_SEPARATOR, '', $file); + $condition = ['hook' => $hook, 'file' => $file, 'function' => $function]; $exists = DBA::exists('hook', $condition); if ($exists) { @@ -160,7 +162,13 @@ class Addon */ public static function unregisterHook($hook, $file, $function) { + $relative_file = str_replace(get_app()->get_basepath() . DIRECTORY_SEPARATOR, '', $file); + + // This here is only needed for fixing a problem that existed on the develop branch $condition = ['hook' => $hook, 'file' => $file, 'function' => $function]; + DBA::delete('hook', $condition); + + $condition = ['hook' => $hook, 'file' => $relative_file, 'function' => $function]; $r = DBA::delete('hook', $condition); return $r; }