diff options
| author | 2014-12-06 18:48:00 +0100 | |
|---|---|---|
| committer | 2014-12-06 18:48:00 +0100 | |
| commit | 08546af75ff9a25eac3409649ea4660fe070720c (patch) | |
| tree | a0df2509bf698799d3b11bd94b49c823e53f6a10 /app/Controllers/feedController.php | |
| parent | bc81979a6b25554c4832d5ccb41b427023096463 (diff) | |
Add a first draft for hooks
- New Extension->registerHook($hook_name, $hook_function) method to register a new hook
- Only one hook works for the moment: entry_before_insert
- ExtensionManager::callHook will need to evolve based on future hooks
See https://github.com/FreshRSS/FreshRSS/issues/252
Diffstat (limited to 'app/Controllers/feedController.php')
| -rwxr-xr-x | app/Controllers/feedController.php | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/app/Controllers/feedController.php b/app/Controllers/feedController.php index 9990a852c..dce79c57a 100755 --- a/app/Controllers/feedController.php +++ b/app/Controllers/feedController.php @@ -329,9 +329,16 @@ class FreshRSS_feed_Controller extends Minz_ActionController { $id = min(time(), $entry_date) . uSecString(); } + $entry->_id($id); + $entry->_isRead($is_read); + + $entry = Minz_ExtensionManager::callHook('entry_before_insert', $entry); + if (is_null($entry)) { + // An extension has returned a null value, there is nothing to insert. + continue; + } + $values = $entry->toArray(); - $values['id'] = $id; - $values['is_read'] = $is_read; $entryDAO->addEntry($values, $prepared_statement); } } |
