mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-04-04 22:53:27 -04:00
Move creation of categories in a new Controller
Category names are 255 chars max
This commit is contained in:
64
app/Controllers/categoryController.php
Normal file
64
app/Controllers/categoryController.php
Normal file
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user