aboutsummaryrefslogtreecommitdiff
path: root/lib/Minz/ExtensionManager.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2019-10-31 18:15:47 +0100
committerGravatar GitHub <noreply@github.com> 2019-10-31 18:15:47 +0100
commit3aa66f317b496ccd9a2df914bbc747c52081a7ad (patch)
tree6a3f3f74899801abdca00546e213dfdc141c53cf /lib/Minz/ExtensionManager.php
parent82611c9622ed23b0e9fcf5f9f651ddffa1fd7706 (diff)
parentfcae48f313d399050cb15f37a8a73ae52fc67796 (diff)
Merge pull request #2599 from FreshRSS/dev1.15.0
FreshRSS 1.15
Diffstat (limited to 'lib/Minz/ExtensionManager.php')
-rw-r--r--lib/Minz/ExtensionManager.php35
1 files changed, 34 insertions, 1 deletions
diff --git a/lib/Minz/ExtensionManager.php b/lib/Minz/ExtensionManager.php
index b086c4001..2240b7642 100644
--- a/lib/Minz/ExtensionManager.php
+++ b/lib/Minz/ExtensionManager.php
@@ -27,14 +27,30 @@ class Minz_ExtensionManager {
'list' => array(),
'signature' => 'OneToOne',
),
- 'post_update' => array( // function(none) -> none
+ 'freshrss_init' => array( // function() -> none
'list' => array(),
'signature' => 'NoneToNone',
),
+ 'menu_admin_entry' => array( // function() -> string
+ 'list' => array(),
+ 'signature' => 'NoneToString',
+ ),
+ 'menu_configuration_entry' => array( // function() -> string
+ 'list' => array(),
+ 'signature' => 'NoneToString',
+ ),
+ 'menu_other_entry' => array( // function() -> string
+ 'list' => array(),
+ 'signature' => 'NoneToString',
+ ),
'nav_reading_modes' => array( // function($readingModes = array) -> array | null
'list' => array(),
'signature' => 'OneToOne',
),
+ 'post_update' => array( // function(none) -> none
+ 'list' => array(),
+ 'signature' => 'NoneToNone',
+ ),
'simplepie_before_init' => array( // function($simplePie, $feed) -> none
'list' => array(),
'signature' => 'PassArguments',
@@ -307,6 +323,23 @@ class Minz_ExtensionManager {
}
/**
+ * Call a hook which takes no argument and returns a string.
+ *
+ * The result is concatenated between each hook and the final string is
+ * returned.
+ *
+ * @param string $hook_name is the hook to call.
+ * @return a concatenated string, result of the call to all the hooks.
+ */
+ private static function callNoneToString($hook_name) {
+ $result = '';
+ foreach (self::$hook_list[$hook_name]['list'] as $function) {
+ $result = $result . call_user_func($function);
+ }
+ return $result;
+ }
+
+ /**
* Call a hook which takes no argument and returns nothing.
*
* This case is simpler than callOneToOne because hooks are called one by