Просмотр исходного кода

Fix issue #40 : test des erreurs SimplePie

Marien Fressinaud 13 лет назад
Родитель
Сommit
42100a8322

+ 1 - 0
app/App_FrontController.php

@@ -24,6 +24,7 @@ class App_FrontController extends FrontController {
 	}
 	
 	private function loadModels () {
+		include (APP_PATH . '/models/Exception/FeedException.php');
 		include (APP_PATH . '/models/RSSConfiguration.php');
 		include (APP_PATH . '/models/Days.php');
 		include (APP_PATH . '/models/Category.php');

+ 7 - 0
app/controllers/feedController.php

@@ -58,6 +58,13 @@ class feedController extends ActionController {
 						);
 						Session::_param ('notification', $notif);
 					}
+				} catch (FeedException $e) {
+					Log::record ($e->getMessage (), Log::ERROR);
+					$notif = array (
+						'type' => 'bad',
+						'content' => 'Un problème interne a été rencontré, le flux n\'a pas pu être ajouté'
+					);
+					Session::_param ('notification', $notif);
 				} catch (FileNotExistException $e) {
 					Log::record ($e->getMessage (), Log::ERROR);
 					// notif

+ 7 - 0
app/models/Exception/FeedException.php

@@ -0,0 +1,7 @@
+<?php
+
+class FeedException extends Exception {
+	public function __construct ($message) {
+		parent::__construct ($message);
+	}
+}

+ 4 - 0
app/models/Feed.php

@@ -128,6 +128,10 @@ class Feed extends Model {
 				$feed->set_cache_location (CACHE_PATH);
 				$feed->init ();
 
+				if ($feed->error()) {
+					throw new FeedException ($feed->error);
+				}
+
 				$subscribe_url = $feed->subscribe_url ();
 				if (!is_null ($subscribe_url) && $subscribe_url != $this->url) {
 					$this->_url ($subscribe_url);