X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FAddon.php;h=ea5c3abf0bfe81571f988078f2305dc6d284af4d;hb=7a39be8270c1ce56c7a2df078bfbfd310601c569;hp=a1b35471f8d162f23fddfe10946a3a788830337f;hpb=19d5987c9d5f4b49f1b7944803ea8b46d3f9aef7;p=friendica.git diff --git a/src/Core/Addon.php b/src/Core/Addon.php index a1b35471f8..ea5c3abf0b 100644 --- a/src/Core/Addon.php +++ b/src/Core/Addon.php @@ -1,6 +1,6 @@ 'uninstall', 'addon' => $addon]); + Logger::debug("Addon {addon}: {action}", ['action' => 'uninstall', 'addon' => $addon]); DBA::delete('addon', ['name' => $addon]); @include_once('addon/' . $addon . '/' . $addon . '.php'); @@ -149,18 +149,20 @@ class Addon * @return bool * @throws \Exception */ - public static function install($addon) + public static function install(string $addon): bool { $addon = Strings::sanitizeFilePathItem($addon); + $addon_file_path = 'addon/' . $addon . '/' . $addon . '.php'; + // silently fail if addon was removed of if $addon is funky - if (!file_exists('addon/' . $addon . '/' . $addon . '.php')) { + if (!file_exists($addon_file_path)) { return false; } - Logger::notice("Addon {addon}: {action}", ['action' => 'install', 'addon' => $addon]); - $t = @filemtime('addon/' . $addon . '/' . $addon . '.php'); - @include_once('addon/' . $addon . '/' . $addon . '.php'); + Logger::debug("Addon {addon}: {action}", ['action' => 'install', 'addon' => $addon]); + $t = @filemtime($addon_file_path); + @include_once($addon_file_path); if (function_exists($addon . '_install')) { $func = $addon . '_install'; $func(DI::app()); @@ -183,6 +185,8 @@ class Addon /** * reload all updated addons + * + * @return void */ public static function reload() { @@ -190,16 +194,16 @@ class Addon foreach ($addons as $addon) { $addonname = Strings::sanitizeFilePathItem(trim($addon['name'])); - $fname = 'addon/' . $addonname . '/' . $addonname . '.php'; - $t = @filemtime($fname); - if (!file_exists($fname) || ($addon['timestamp'] == $t)) { + $addon_file_path = 'addon/' . $addonname . '/' . $addonname . '.php'; + if (file_exists($addon_file_path) && $addon['timestamp'] == filemtime($addon_file_path)) { + // Addon unmodified, skipping continue; } - Logger::notice("Addon {addon}: {action}", ['action' => 'reload', 'addon' => $addon['name']]); + Logger::debug("Addon {addon}: {action}", ['action' => 'reload', 'addon' => $addon['name']]); - self::uninstall($fname); - self::install($fname); + self::uninstall($addon['name']); + self::install($addon['name']); } } @@ -220,7 +224,7 @@ class Addon * @return array with the addon information * @throws \Exception */ - public static function getInfo($addon) + public static function getInfo(string $addon): array { $addon = Strings::sanitizeFilePathItem($addon); @@ -285,7 +289,7 @@ class Addon * @param string $addon * @return boolean */ - public static function isEnabled($addon) + public static function isEnabled(string $addon): bool { return in_array($addon, self::$addons); } @@ -295,7 +299,7 @@ class Addon * * @return array */ - public static function getEnabledList() + public static function getEnabledList(): array { return self::$addons; } @@ -306,7 +310,7 @@ class Addon * @return array * @throws \Exception */ - public static function getVisibleList() + public static function getVisibleList(): array { $visible_addons = []; $stmt = DBA::select('addon', ['name'], ['hidden' => false, 'installed' => true]); @@ -318,51 +322,4 @@ class Addon return $visible_addons; } - - /** - * Shim of Hook::register left for backward compatibility purpose. - * - * @see Hook::register - * @deprecated since version 2018.12 - * @param string $hook the name of the hook - * @param string $file the name of the file that hooks into - * @param string $function the name of the function that the hook will call - * @param int $priority A priority (defaults to 0) - * @return mixed|bool - * @throws \Friendica\Network\HTTPException\InternalServerErrorException - */ - public static function registerHook($hook, $file, $function, $priority = 0) - { - return Hook::register($hook, $file, $function, $priority); - } - - /** - * Shim of Hook::unregister left for backward compatibility purpose. - * - * @see Hook::unregister - * @deprecated since version 2018.12 - * @param string $hook the name of the hook - * @param string $file the name of the file that hooks into - * @param string $function the name of the function that the hook called - * @return boolean - * @throws \Friendica\Network\HTTPException\InternalServerErrorException - */ - public static function unregisterHook($hook, $file, $function) - { - return Hook::unregister($hook, $file, $function); - } - - /** - * Shim of Hook::callAll left for backward-compatibility purpose. - * - * @see Hook::callAll - * @deprecated since version 2018.12 - * @param string $name of the hook to call - * @param string|array &$data to transmit to the callback handler - * @throws \Friendica\Network\HTTPException\InternalServerErrorException - */ - public static function callHooks($name, &$data = null) - { - Hook::callAll($name, $data); - } }