diff options
| author | 2013-04-11 20:32:10 +0200 | |
|---|---|---|
| committer | 2013-04-11 20:32:10 +0200 | |
| commit | 61943f1661383bf8017b4c2a76fd11618e4adae0 (patch) | |
| tree | 2a6719dd3276b34856051fa90d1f003df2005793 /app/controllers/feedController.php | |
| parent | b9f883be693ecaf0c956c64b9f3bd52f854cb04a (diff) | |
Plus possible d'ajouter un flux déjà existant + meilleure gestion actualisation / import OPML
Diffstat (limited to 'app/controllers/feedController.php')
| -rwxr-xr-x | app/controllers/feedController.php | 60 |
1 files changed, 36 insertions, 24 deletions
diff --git a/app/controllers/feedController.php b/app/controllers/feedController.php index 3fbb20835..d2a2f29f5 100755 --- a/app/controllers/feedController.php +++ b/app/controllers/feedController.php @@ -34,7 +34,13 @@ class feedController extends ActionController { 'lastUpdate' => time () ); - if ($feedDAO->addFeed ($values)) { + if ($feedDAO->searchByUrl ($values['url'])) { + $notif = array ( + 'type' => 'bad', + 'content' => 'Vous êtes déjà abonné à <em>' . $feed->name () . '</em>' + ); + Session::_param ('notification', $notif); + } elseif ($feedDAO->addFeed ($values)) { $entryDAO = new EntryDAO (); $entries = $feed->entries (); @@ -101,19 +107,19 @@ class feedController extends ActionController { foreach ($feeds as $feed) { try { $feed->load (); - } catch (FeedException $e) { - Log::record ($e->getMessage (), Log::ERROR); - } - $entries = $feed->entries (); + $entries = $feed->entries (); - foreach ($entries as $entry) { - if ($entry->date (true) >= $date_min) { - $values = $entry->toArray (); - $entryDAO->addEntry ($values); + foreach ($entries as $entry) { + if ($entry->date (true) >= $date_min) { + $values = $entry->toArray (); + $entryDAO->addEntry ($values); + } } - } - $feedDAO->updateLastUpdate ($feed->id ()); + $feedDAO->updateLastUpdate ($feed->id ()); + } catch (FeedException $e) { + Log::record ($e->getMessage (), Log::ERROR); + } $i++; if ($i >= 10) { @@ -153,20 +159,26 @@ class feedController extends ActionController { $i = 0; foreach ($feeds as $feed) { - $feed->load (); + try { + $feed->load (); - // Enregistrement du flux - $values = array ( - 'id' => $feed->id (), - 'url' => $feed->url (), - 'category' => $feed->category (), - 'name' => $feed->name (), - 'website' => $feed->website (), - 'description' => $feed->description (), - 'lastUpdate' => 0 - ); + // Enregistrement du flux + $values = array ( + 'id' => $feed->id (), + 'url' => $feed->url (), + 'category' => $feed->category (), + 'name' => $feed->name (), + 'website' => $feed->website (), + 'description' => $feed->description (), + 'lastUpdate' => 0 + ); - $feedDAO->addFeed ($values); + if (!$feedDAO->searchByUrl ($values['url'])) { + $feedDAO->addFeed ($values); + } + } catch (FeedException $e) { + Log::record ($e->getMessage (), Log::ERROR); + } } Request::forward (array ( @@ -203,7 +215,7 @@ class feedController extends ActionController { $catDAO = new CategoryDAO (); foreach ($categories as $cat) { - if (!$catDAO->searchByName ()) { + if (!$catDAO->searchByName ($cat->name ())) { $values = array ( 'id' => $cat->id (), 'name' => $cat->name (), |
