You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.1 KiB
82 lines
2.1 KiB
<?php
|
|
require_once './config.php';
|
|
|
|
use nzedb\Category;
|
|
use nzedb\Regexes;
|
|
|
|
$page = new AdminPage();
|
|
$regexes = new Regexes(['Settings' => $page->settings, 'Table_Name' => 'category_regexes']);
|
|
$error = '';
|
|
$regex = ['id' => '', 'regex' => '', 'description' => '', 'group_regex' => '', 'ordinal' => '', 'categories_id' => ''];
|
|
|
|
switch ((isset($_REQUEST['action']) ? $_REQUEST['action'] : 'view')) {
|
|
case 'submit':
|
|
if ($_POST["group_regex"] == '') {
|
|
$error = "Group regex must not be empty!";
|
|
break;
|
|
}
|
|
|
|
if ($_POST["regex"] == '') {
|
|
$error = "Regex cannot be empty";
|
|
break;
|
|
}
|
|
|
|
if ($_POST['description'] == '') {
|
|
$_POST['description'] = '';
|
|
}
|
|
|
|
if (!is_numeric($_POST['ordinal']) || $_POST['ordinal'] < 0) {
|
|
$error = "Ordinal must be a number, 0 or higher.";
|
|
break;
|
|
}
|
|
|
|
if ($_POST["id"] == '') {
|
|
$regexes->addRegex($_POST);
|
|
} else {
|
|
$regexes->updateRegex($_POST);
|
|
}
|
|
|
|
header("Location:" . WWW_TOP . "/category_regexes-list.php");
|
|
break;
|
|
|
|
case 'view':
|
|
default:
|
|
if (isset($_GET["id"])) {
|
|
$page->title = "Category Regex Edit";
|
|
$regex = $regexes->getRegexByID($_GET["id"]);
|
|
} else {
|
|
$page->title = "Category Regex Add";
|
|
$regex += ['status' => 1];
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
$categories_db = $page->settings->queryDirect(
|
|
'SELECT c.id, c.title, cp.title AS parent_title
|
|
FROM categories c
|
|
INNER JOIN categories cp ON c.parentid = cp.id
|
|
WHERE c.parentid IS NOT NULL
|
|
ORDER BY c.id ASC'
|
|
);
|
|
$categories = ['category_names', 'categories_id'];
|
|
if ($categories_db) {
|
|
foreach ($categories_db as $category_db) {
|
|
$categories['category_names'][] =
|
|
$category_db['parent_title'] . ' ' . $category_db['title'] . ': ' . $category_db['id'];
|
|
$categories['category_ids'][] = $category_db['id'];
|
|
}
|
|
}
|
|
|
|
$page->smarty->assign([
|
|
'regex' => $regex,
|
|
'error' => $error,
|
|
'status_ids' => [Category::STATUS_ACTIVE, Category::STATUS_INACTIVE],
|
|
'status_names' => ['Yes', 'No'],
|
|
'category_names' => $categories['category_names'],
|
|
'category_ids' => $categories['category_ids']
|
|
]
|
|
);
|
|
|
|
$page->content = $page->smarty->fetch('category_regexes-edit.tpl');
|
|
$page->render();
|
|
|