aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/configureController.php
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-03-14 16:58:13 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-03-14 16:58:13 +0100
commit87e07e66c97200445253070ed607a3a5bebad0ae (patch)
tree7592080cb496ba743d35e90e2d361a57c7a6a979 /app/controllers/configureController.php
parentf53c01dcd49e2a1e974efb7b91bfe50981640b11 (diff)
défini un flux par défaut lorsqu'aucun sélectionné dans ?c=configure&a=feed
Diffstat (limited to 'app/controllers/configureController.php')
-rwxr-xr-xapp/controllers/configureController.php85
1 files changed, 44 insertions, 41 deletions
diff --git a/app/controllers/configureController.php b/app/controllers/configureController.php
index 721ff1e95..ebf59e2cd 100755
--- a/app/controllers/configureController.php
+++ b/app/controllers/configureController.php
@@ -9,17 +9,17 @@ class configureController extends ActionController {
);
}
}
-
+
public function indexAction () { }
public function categorizeAction () {
$catDAO = new CategoryDAO ();
-
+
if (Request::isPost ()) {
$cats = Request::param ('categories', array ());
$ids = Request::param ('ids', array ());
$newCat = Request::param ('new_category');
-
+
foreach ($cats as $key => $name) {
if (strlen ($name) > 0) {
$cat = new Category ($name);
@@ -32,7 +32,7 @@ class configureController extends ActionController {
$catDAO->deleteCategory ($ids[$key]);
}
}
-
+
if ($newCat != false) {
$cat = new Category ($newCat);
$values = array (
@@ -42,32 +42,35 @@ class configureController extends ActionController {
);
$catDAO->addCategory ($values);
}
-
+
// notif
$notif = array (
'type' => 'good',
'content' => 'Les catégories ont été mises à jour'
);
Session::_param ('notification', $notif);
-
+
Request::forward (array ('c' => 'configure', 'a' => 'categorize'), true);
}
-
+
$this->view->categories = $catDAO->listCategories ();
-
+
View::prependTitle ('Gestion des catégories - ');
}
-
+
public function feedAction () {
$feedDAO = new FeedDAO ();
$this->view->feeds = $feedDAO->listFeeds ();
-
+
$id = Request::param ('id');
-
+ if ($id == false && !empty ($this->view->feeds)) {
+ $id = current ($this->view->feeds)->id ();
+ }
+
$this->view->flux = false;
if ($id != false) {
$this->view->flux = $feedDAO->searchById ($id);
-
+
if (!$this->view->flux) {
Error::error (
404,
@@ -76,33 +79,33 @@ class configureController extends ActionController {
} else {
$catDAO = new CategoryDAO ();
$this->view->categories = $catDAO->listCategories ();
-
+
if (Request::isPost () && $this->view->flux) {
$cat = Request::param ('category');
$values = array (
'category' => $cat
);
$feedDAO->updateFeed ($id, $values);
-
+
$this->view->flux->_category ($cat);
-
+
// notif
$notif = array (
'type' => 'good',
'content' => 'Le flux a été mis à jour'
);
Session::_param ('notification', $notif);
-
+
Request::forward (array ('c' => 'configure', 'a' => 'feed', 'params' => array ('id' => $id)), true);
}
-
+
View::prependTitle ('Gestion des flux RSS - ' . $this->view->flux->name () . ' - ');
}
} else {
View::prependTitle ('Gestion des flux RSS - ');
}
}
-
+
public function displayAction () {
if (Request::isPost ()) {
$nb = Request::param ('posts_per_page', 10);
@@ -111,14 +114,14 @@ class configureController extends ActionController {
$sort = Request::param ('sort_order', 'low_to_high');
$old = Request::param ('old_entries', 3);
$mail = Request::param ('mail_login', false);
-
+
$this->view->conf->_postsPerPage (intval ($nb));
$this->view->conf->_defaultView ($view);
$this->view->conf->_displayPosts ($display);
$this->view->conf->_sortOrder ($sort);
$this->view->conf->_oldEntries ($old);
$this->view->conf->_mailLogin ($mail);
-
+
$values = array (
'posts_per_page' => $this->view->conf->postsPerPage (),
'default_view' => $this->view->conf->defaultView (),
@@ -127,58 +130,58 @@ class configureController extends ActionController {
'old_entries' => $this->view->conf->oldEntries (),
'mail_login' => $this->view->conf->mailLogin (),
);
-
+
$confDAO = new RSSConfigurationDAO ();
$confDAO->update ($values);
Session::_param ('conf', $this->view->conf);
Session::_param ('mail', $this->view->conf->mailLogin ());
-
+
// notif
$notif = array (
'type' => 'good',
'content' => 'La configuration a été mise à jour'
);
Session::_param ('notification', $notif);
-
+
Request::forward (array ('c' => 'configure', 'a' => 'display'), true);
}
-
+
View::prependTitle ('Gestion générale et affichage - ');
}
-
+
public function importExportAction () {
$this->view->req = Request::param ('q');
-
+
if ($this->view->req == 'export') {
View::_title ('feeds_opml.xml');
-
+
$this->view->_useLayout (false);
header('Content-type: text/xml');
-
+
$feedDAO = new FeedDAO ();
$catDAO = new CategoryDAO ();
-
+
$list = array ();
foreach ($catDAO->listCategories () as $key => $cat) {
$list[$key]['name'] = $cat->name ();
$list[$key]['feeds'] = $feedDAO->listByCategory ($cat->id ());
}
-
+
$this->view->categories = $list;
} elseif ($this->view->req == 'import' && Request::isPost ()) {
if ($_FILES['file']['error'] == 0) {
list ($categories, $feeds) = opml_import (file_get_contents ($_FILES['file']['tmp_name']));
-
+
Request::_param ('q', 'null');
Request::_param ('categories', $categories);
Request::_param ('feeds', $feeds);
Request::forward (array ('c' => 'feed', 'a' => 'massiveImport'));
}
}
-
+
View::prependTitle ('Importation et exportation OPML - ');
}
-
+
public function shortcutAction () {
$list_keys = array ('a', 'b', 'backspace', 'c', 'd', 'delete', 'down', 'e', 'end', 'enter',
'escape', 'f', 'g', 'h', 'i', 'insert', 'j', 'k', 'l', 'left',
@@ -190,38 +193,38 @@ class configureController extends ActionController {
$this->view->list_keys = $list_keys;
$list_names = array ('mark_read', 'mark_favorite', 'go_website', 'next_entry',
'prev_entry', 'next_page', 'prev_page');
-
+
if (Request::isPost ()) {
$shortcuts = Request::param ('shortcuts');
$shortcuts_ok = array ();
-
+
foreach ($shortcuts as $key => $value) {
if (in_array ($key, $list_names)
&& in_array ($value, $list_keys)) {
$shortcuts_ok[$key] = $value;
}
}
-
+
$this->view->conf->_shortcuts ($shortcuts_ok);
-
+
$values = array (
'shortcuts' => $this->view->conf->shortcuts ()
);
-
+
$confDAO = new RSSConfigurationDAO ();
$confDAO->update ($values);
Session::_param ('conf', $this->view->conf);
-
+
// notif
$notif = array (
'type' => 'good',
'content' => 'Les raccourcis ont été mis à jour'
);
Session::_param ('notification', $notif);
-
+
Request::forward (array ('c' => 'configure', 'a' => 'shortcut'), true);
}
-
+
View::prependTitle ('Gestion des raccourcis - ');
}
}