two new hooks (#3342)

* add two new hooks

I develop a new extension and i need 2 new hooks for it

* update EN documentation

* Correct typing errors

* Update app/views/helpers/javascript_vars.phtml

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
This commit is contained in:
Clemens Neubauer
2021-01-07 21:45:48 +01:00
committed by GitHub
parent bfd872e885
commit ef458992c1
5 changed files with 17 additions and 0 deletions

View File

@@ -175,6 +175,10 @@
</a>
</div>
<div class="stick" id="nav_menu_hooks">
<?= Minz_ExtensionManager::callHook('nav_menu') ?>
</div>
<div class="item search">
<form action="<?= _url('index', 'index') ?>" method="get">
<input type="search" name="search" class="extend" value="<?php

View File

@@ -1,6 +1,7 @@
<?php
$mark = FreshRSS_Context::$user_conf->mark_when;
$s = validateShortcutList(FreshRSS_Context::$user_conf->shortcuts);
$extData = Minz_ExtensionManager::callHook('js_vars', []);
echo htmlspecialchars(json_encode(array(
'context' => array(
'anonymous' => !FreshRSS_Auth::hasAccess(),
@@ -62,4 +63,5 @@ echo htmlspecialchars(json_encode(array(
'read' => rawurlencode(_i('read')),
'unread' => rawurlencode(_i('unread')),
),
'extensions' => $extData,
), JSON_UNESCAPED_UNICODE), ENT_NOQUOTES, 'UTF-8');

View File

@@ -327,9 +327,11 @@ The following events are available:
* `feed_before_actualize` (`function($feed) -> Feed | null`): will be executed when a feed is updated. The feed (instance of FreshRSS\_Feed) will be passed as parameter.
* `feed_before_insert` (`function($feed) -> Feed | null`): will be executed when a new feed is imported into the database. The new feed (instance of FreshRSS\_Feed) will be passed as parameter.
* `freshrss_init` (`function() -> none`): will be executed at the end of the initialization of FreshRSS, useful to initialize components or to do additional access checks
* `js_vars` (`function($vars = array) -> array | null`): will be executed if the `jsonVars` in the header will be generated
* `menu_admin_entry` (`function() -> string`): add an entry at the end of the "Administration" menu, the returned string must be valid HTML (e.g. `<li class="item active"><a href="url">New entry</a></li>`)
* `menu_configuration_entry` (`function() -> string`): add an entry at the end of the "Configuration" menu, the returned string must be valid HTML (e.g. `<li class="item active"><a href="url">New entry</a></li>`)
* `menu_other_entry` (`function() -> string`): add an entry at the end of the header dropdown menu (i.e. after the "About" entry), the returned string must be valid HTML (e.g. `<li class="item active"><a href="url">New entry</a></li>`)
* `nav_menu` (`function() -> string`): will be executed if the navigation was built.
* `nav_reading_modes` (`function($reading_modes) -> array | null`): **TODO** add documentation
* `post_update` (`function(none) -> none`): **TODO** add documentation
* `simplepie_before_init` (`function($simplePie, $feed) -> none`): **TODO** add documentation

View File

@@ -39,6 +39,10 @@ class Minz_ExtensionManager {
'list' => array(),
'signature' => 'NoneToNone',
),
'js_vars' => array( // function($vars = array) -> array | null
'list' => array(),
'signature' => 'OneToOne',
),
'menu_admin_entry' => array( // function() -> string
'list' => array(),
'signature' => 'NoneToString',
@@ -51,6 +55,10 @@ class Minz_ExtensionManager {
'list' => array(),
'signature' => 'NoneToString',
),
'nav_menu' => array( // function() -> string
'list' => array(),
'signature' => 'NoneToString',
),
'nav_reading_modes' => array( // function($readingModes = array) -> array | null
'list' => array(),
'signature' => 'OneToOne',

View File

@@ -43,6 +43,7 @@ var context;
context.icons = json.icons;
context.icons.read = decodeURIComponent(context.icons.read);
context.icons.unread = decodeURIComponent(context.icons.unread);
context.extensions = json.extensions;
}());
//</Global context>