Файл: adultscript-2.0.3-pro/files/admin/modules/kb/components/category_add.php
Строк: 60
<?php
defined('_VALID') or die('Restricted Access!');
class VComponent_Admin_kb_category_add
{
public function __construct()
{
}
public function render()
{
$errors = array();
$messages = array();
$db = VF::factory('database');
$cat = array('name' => '', 'slug' => '', 'description' => '', 'status' => '1');
if (isset($_POST['submit_add_category'])) {
$filter = &VF::factory('filter');
$name = $filter->get('name');
$slug = $filter->get('slug');
$description = trim($_POST['description']);
$status = $filter->get('status', 'INT');
if ($name == '') {
$errors[] = 'Category name field cannot be left blank!';
} elseif (!VValid::length($name, 1, 100)) {
$errors[] = 'Category name cat contain maximum 100 characters!';
} else {
$db->query("SELECT cat_id FROM #__kb_categories WHERE name = '".$db->escape($name)."' LIMIT 1");
if ($db->affected_rows()) {
$errors[] = 'Category name already used for another category!';
} else {
$cat['name'] = $name;
}
}
if ($slug == '') {
$errors[] = 'Category slug field cannot be left blank!';
} elseif (!VValid::length($slug, 1, 100)) {
$errors[] = 'Category slug can contain maximum 100 characters!';
} elseif (!preg_match('/^[a-z0-9-]+$/', $slug)) {
$errors[] = 'Category slug can contain only lower case letters, numbers and dashes!';
} else {
$db->query("SELECT cat_id FROM #__kb_categories WHERE slug = '".$db->escape($slug)."' LIMIT 1");
if ($db->affected_rows()) {
$errors[] = 'Category slug is already used for another category!';
} else {
$cat['slug'] = $slug;
}
}
if ($description != '') {
$cat['description'] = $description;
}
$cat['status'] = $status;
if (!$errors) {
$slug = prepare_string($name, TRUE);
$db->query("INSERT INTO #__kb_categories
SET name = '".$db->escape($name)."',
description = '".$db->escape($description)."',
slug = '".$db->escape($slug)."',
status = '".$status."'");
if ($db->affected_rows()) {
$messages[] = 'Category added!';
} else {
$errors[] = 'Failed to add category! Application Error!?';
}
}
}
$tpl = VF::factory('template');
$tpl->menu = 'kb';
$tpl->submenu = 'kb_category_add';
$tpl->meta_title = 'Admin::KB::Category::Add';
$tpl->errors = $errors;
$tpl->messages = $messages;
$tpl->cat = $cat;
$tpl->load(array('header', 'kb_category_add', 'footer'));
$tpl->display();
}
}
?>