Move creation of categories in a new Controller

Category names are 255 chars max
pull/654/head
Marien Fressinaud 10 years ago
parent 46ae0a3f5a
commit edb02c8fef
  1. 64
      app/Controllers/categoryController.php
  2. 12
      app/Controllers/configureController.php
  3. 2
      app/Models/Category.php
  4. 2
      app/views/configure/categorize.phtml

@ -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);
}
}

@ -45,7 +45,6 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
if (Minz_Request::isPost()) {
$cats = Minz_Request::param('categories', array());
$ids = Minz_Request::param('ids', array());
$newCat = trim(Minz_Request::param('new_category', ''));
foreach ($cats as $key => $name) {
if (strlen($name) > 0) {
@ -64,17 +63,6 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
}
}
if ($newCat != '') {
$cat = new FreshRSS_Category($newCat);
$values = array(
'id' => $cat->id(),
'name' => $cat->name(),
);
if ($catDAO->searchByName($newCat) == null) {
$catDAO->addCategory($values);
}
}
invalidateHttpCache();
Minz_Request::good(_t('categories_updated'),

@ -61,7 +61,7 @@ class FreshRSS_Category extends Minz_Model {
$this->id = $value;
}
public function _name ($value) {
$this->name = $value;
$this->name = substr(trim($value), 0, 255);
}
public function _feeds ($values) {
if (!is_array ($values)) {

@ -7,7 +7,7 @@
<div class="box-title"><label for="new-category"><?php echo _t('add_category'); ?></label></div>
<div class="box-content">
<form action="" methos="post">
<form action="<?php echo _url('category', 'create'); ?>" method="post">
<input type="text" id="new-category" name="new-category" placeholder="<?php echo _t('new_category'); ?>" />
<input type="submit" value="<?php echo _t('submit'); ?>" />
</form>

Loading…
Cancel
Save