]> git.mxchange.org Git - friendica.git/commitdiff
Fix for duplicated addon entries in the hook table (#5583)
authorMichael Vogel <icarus@dabo.de>
Tue, 7 Aug 2018 21:03:38 +0000 (23:03 +0200)
committerHypolite Petovan <mrpetovan@eml.cc>
Tue, 7 Aug 2018 21:03:38 +0000 (23:03 +0200)
src/Core/Addon.php

index e4acd6e9d36c5d873f9785cf2a72875deb6065b4..4c20c96ad4705546ed0ab6c429c0e64351a74f9b 100644 (file)
@@ -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;
        }