aboutsummaryrefslogtreecommitdiff
path: root/app/Controllers/feedController.php
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2015-01-08 21:33:13 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2015-01-08 21:33:13 +0100
commit250cd79251f5474915ad2230e786db70643b0ef3 (patch)
tree3b757a544dfb0239bd119b953c316d27860f70cf /app/Controllers/feedController.php
parent0e4e16ac55097aa173c7c439367294ebd7645562 (diff)
parentb23fc3187cb90800aad6417badf7822a8d280b74 (diff)
Merge branch '252-extensions' into dev
Diffstat (limited to 'app/Controllers/feedController.php')
-rwxr-xr-xapp/Controllers/feedController.php31
1 files changed, 26 insertions, 5 deletions
diff --git a/app/Controllers/feedController.php b/app/Controllers/feedController.php
index c110fda4e..6f544d834 100755
--- a/app/Controllers/feedController.php
+++ b/app/Controllers/feedController.php
@@ -142,6 +142,13 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
$feed->_category($cat);
$feed->_httpAuth($http_auth);
+ // Call the extension hook
+ $name = $feed->name();
+ $feed = Minz_ExtensionManager::callHook('feed_before_insert', $feed);
+ if (is_null($feed)) {
+ Minz_Request::bad(_t('feed_not_added', $name), $url_redirect);
+ }
+
$values = array(
'url' => $feed->url(),
'category' => $feed->category(),
@@ -178,10 +185,17 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
$feedDAO->beginTransaction();
foreach ($entries as $entry) {
// Entries are added without any verification.
+ $entry->_feed($feed->id());
+ $entry->_id(min(time(), $entry->date(true)) . uSecString());
+ $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_feed'] = $feed->id();
- $values['id'] = min(time(), $entry->date(true)) . uSecString();
- $values['is_read'] = $is_read;
$entryDAO->addEntry($values, $prepared_statement);
}
$feedDAO->updateLastUpdate($feed->id());
@@ -333,9 +347,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);
}
}