diff options
| author | 2014-12-07 14:31:50 +0100 | |
|---|---|---|
| committer | 2014-12-07 14:31:50 +0100 | |
| commit | 5932c3427b060d4f0aeab92d7ed17c8e8d4fd1d7 (patch) | |
| tree | 8802ee6dc68daf501ee64f4a0c299e01a6e93539 | |
| parent | 08546af75ff9a25eac3409649ea4660fe070720c (diff) | |
Add entry_before_display hook
See https://github.com/FreshRSS/FreshRSS/issues/252
| -rw-r--r-- | app/views/index/normal.phtml | 5 | ||||
| -rw-r--r-- | app/views/index/reader.phtml | 11 | ||||
| -rw-r--r-- | lib/Minz/ExtensionManager.php | 6 |
3 files changed, 16 insertions, 6 deletions
diff --git a/app/views/index/normal.phtml b/app/views/index/normal.phtml index 02d621bd0..9cbd367d0 100644 --- a/app/views/index/normal.phtml +++ b/app/views/index/normal.phtml @@ -35,6 +35,11 @@ if (!empty($this->entries)) { <a href="<?php echo Minz_Url::display(Minz_Request::currentRequest()); ?>"><?php echo _t('new_article'); ?></a> </div><?php foreach ($this->entries as $item) { + $item = Minz_ExtensionManager::callHook('entry_before_display', $item); + if (is_null($item)) { + continue; + } + if ($display_today && $item->isDay(FreshRSS_Days::TODAY, $today)) { ?><div class="day" id="day_today"><?php echo _t('today'); diff --git a/app/views/index/reader.phtml b/app/views/index/reader.phtml index f07868488..75bea9743 100644 --- a/app/views/index/reader.phtml +++ b/app/views/index/reader.phtml @@ -6,10 +6,13 @@ if (!empty($this->entries)) { $content_width = FreshRSS_Context::$conf->content_width; ?> -<div id="stream" class="reader"> - <?php foreach ($this->entries as $item) { ?> - - <div class="flux<?php echo !$item->isRead() ? ' not_read' : ''; ?><?php echo $item->isFavorite() ? ' favorite' : ''; ?>" id="flux_<?php echo $item->id(); ?>"> +<div id="stream" class="reader"><?php + foreach ($this->entries as $item) { + $item = Minz_ExtensionManager::callHook('entry_before_display', $item); + if (is_null($item)) { + continue; + } + ?><div class="flux<?php echo !$item->isRead() ? ' not_read' : ''; ?><?php echo $item->isFavorite() ? ' favorite' : ''; ?>" id="flux_<?php echo $item->id(); ?>"> <div class="flux_content"> <div class="content <?php echo $content_width; ?>"> <?php diff --git a/lib/Minz/ExtensionManager.php b/lib/Minz/ExtensionManager.php index 7557e178f..5491c7cf6 100644 --- a/lib/Minz/ExtensionManager.php +++ b/lib/Minz/ExtensionManager.php @@ -13,8 +13,10 @@ class Minz_ExtensionManager { private static $ext_auto_enabled = array(); + // List of available hooks. Please keep this list sorted. private static $hook_list = array( - 'entry_before_insert' => array(), // function($entry) + 'entry_before_display' => array(), // function($entry) -> Entry | null + 'entry_before_insert' => array(), // function($entry) -> Entry | null ); private static $ext_to_hooks = array(); @@ -230,7 +232,7 @@ class Minz_ExtensionManager { $args = func_get_args(); unset($args[0]); - $result = $args; + $result = $args[1]; foreach (self::$hook_list[$hook_name] as $function) { $result = call_user_func_array($function, $args); |
