X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FAddon.php;h=4c20c96ad4705546ed0ab6c429c0e64351a74f9b;hb=9fbaaa1481a609563e00a40db64bdce5e02c5524;hp=68ea884836b42918346f198897ea6a4712aecbac;hpb=4db98eb43d90a56b1e983628910641c9cc567b8a;p=friendica.git diff --git a/src/Core/Addon.php b/src/Core/Addon.php index 68ea884836..4c20c96ad4 100644 --- a/src/Core/Addon.php +++ b/src/Core/Addon.php @@ -6,7 +6,6 @@ namespace Friendica\Core; use Friendica\App; use Friendica\Database\DBA; -use Friendica\Database\DBM; require_once 'include/dba.php'; @@ -80,7 +79,7 @@ class Addon $addons = Config::get('system', 'addon'); if (strlen($addons)) { $r = DBA::select('addon', [], ['installed' => 1]); - if (DBM::is_result($r)) { + if (DBA::isResult($r)) { $installed = DBA::toArray($r); } else { $installed = []; @@ -140,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) { @@ -161,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; } @@ -312,7 +319,12 @@ class Addon foreach ($ll as $l) { $l = trim($l, "\t\n\r */"); if ($l != "") { - list($type, $v) = array_map("trim", explode(":", $l, 2)); + $addon_info = array_map("trim", explode(":", $l, 2)); + if (count($addon_info) < 2) { + continue; + } + + list($type, $v) = $addon_info; $type = strtolower($type); if ($type == "author" || $type == "maintainer") { $r = preg_match("|([^<]+)<([^>]+)>|", $v, $m);