parent
46ae0a3f5a
commit
edb02c8fef
4 changed files with 66 additions and 14 deletions
@ -0,0 +1,64 @@ |
||||
<?php |
||||
|
||||
/** |
||||
* Controller to handle actions relative to categories. |
||||
* User needs to be connected. |
||||
*/ |
||||
class FreshRSS_category_Controller extends Minz_ActionController { |
||||
/** |
||||
* This action is called before every other action in that class. It is |
||||
* the common boiler plate for every action. It is triggered by the |
||||
* underlying framework. |
||||
* |
||||
*/ |
||||
public function firstAction() { |
||||
if (!$this->view->loginOk) { |
||||
Minz_Error::error( |
||||
403, |
||||
array('error' => array(_t('access_denied'))) |
||||
); |
||||
} |
||||
|
||||
$catDAO = new FreshRSS_CategoryDAO(); |
||||
$catDAO->checkDefault(); |
||||
} |
||||
|
||||
/** |
||||
* This action creates a new category. |
||||
* |
||||
* URL parameter is: |
||||
* - new-category |
||||
*/ |
||||
public function createAction() { |
||||
$catDAO = new FreshRSS_CategoryDAO(); |
||||
$url_redirect = array('c' => 'configure', 'a' => 'categorize'); |
||||
|
||||
if (Minz_Request::isPost()) { |
||||
invalidateHttpCache(); |
||||
|
||||
$cat_name = Minz_Request::param('new-category'); |
||||
if (!$cat_name) { |
||||
Minz_Request::bad(_t('category_no_name'), $url_redirect); |
||||
} |
||||
|
||||
$cat = new FreshRSS_Category($cat_name); |
||||
|
||||
if ($catDAO->searchByName($cat->name()) != null) { |
||||
Minz_Request::bad(_t('category_name_exists'), $url_redirect); |
||||
} |
||||
|
||||
$values = array( |
||||
'id' => $cat->id(), |
||||
'name' => $cat->name(), |
||||
); |
||||
|
||||
if ($catDAO->addCategory($values)) { |
||||
Minz_Request::good(_t('category_created', $cat->name()), $url_redirect); |
||||
} else { |
||||
Minz_Request::bad(_t('category_not_created'), $url_redirect); |
||||
} |
||||
} |
||||
|
||||
Minz_Request::forward($url_redirect, true); |
||||
} |
||||
} |
Loading…
Reference in new issue