diff options
| author | 2013-05-12 16:51:45 +0200 | |
|---|---|---|
| committer | 2013-05-12 16:51:45 +0200 | |
| commit | c96225df6d6ba3aca0c6786c7f091f02c11d6e8d (patch) | |
| tree | f8d32cce0a12684604205314102e3f0d2a5176e4 /app/controllers/configureController.php | |
| parent | c88f57c0360eca7f8f152d35e54872bf845e0ca0 (diff) | |
Fix issue #84 : affichage erreur si fichier OPML invalide
Diffstat (limited to 'app/controllers/configureController.php')
| -rwxr-xr-x | app/controllers/configureController.php | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/app/controllers/configureController.php b/app/controllers/configureController.php index 2f56da177..8500a4a04 100755 --- a/app/controllers/configureController.php +++ b/app/controllers/configureController.php @@ -218,14 +218,31 @@ class configureController extends ActionController { } elseif ($this->view->req == 'import' && Request::isPost ()) { if ($_FILES['file']['error'] == 0) { // on parse le fichier OPML pour récupérer les catégories et les flux associés - list ($categories, $feeds) = opml_import (file_get_contents ($_FILES['file']['tmp_name'])); - - // On redirige vers le controller feed qui va se charger d'insérer les flux en BDD - // les flux sont mis au préalable dans des variables de Request - Request::_param ('q', 'null'); - Request::_param ('categories', $categories); - Request::_param ('feeds', $feeds); - Request::forward (array ('c' => 'feed', 'a' => 'massiveImport')); + try { + list ($categories, $feeds) = opml_import ( + file_get_contents ($_FILES['file']['tmp_name']) + ); + + // On redirige vers le controller feed qui va se charger d'insérer les flux en BDD + // les flux sont mis au préalable dans des variables de Request + Request::_param ('q', 'null'); + Request::_param ('categories', $categories); + Request::_param ('feeds', $feeds); + Request::forward (array ('c' => 'feed', 'a' => 'massiveImport')); + } catch (OpmlException $e) { + Log::record ($e->getMessage (), Log::ERROR); + + $notif = array ( + 'type' => 'bad', + 'content' => Translate::t ('bad_opml_file') + ); + Session::_param ('notification', $notif); + + Request::forward (array ( + 'c' => 'configure', + 'a' => 'importExport' + ), true); + } } } |
