вот код редактирования статей теперь с этой функцией которая запрещает вводить одинаковые заголовки, но теперь при изменении статьи необходимо изменить и заголовок, так как она считает что это уже 2 с таким названием.
if (!empty($_POST['submit'])) {
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
$title = !empty($_POST['title']) ? check($_POST['title']) : '';
$text = !empty($_POST['text']) ? check($_POST['text']) : '';
$active = !empty($_POST['active']) ? 1 : 0;
$acomm = !empty($_POST['acomm']) ? 1 : 0;
$views = !empty($_POST['views']) ? 0 : $row['views'];
$date = !empty($_POST['date']) ? date('Y-m-d H:i:s', time()) : $row['date'];
$cat = !empty($_POST['cat']) ? num($_POST['cat']) : 0;
$desc = !empty($_POST['desc']) ? StripMeta($_POST['desc']) : genDesсriрtion($_POST['title'] . ' ' . $_POST['text']);
$keys = !empty($_POST['keys']) ? StripMeta($_POST['keys']) : genKeywords($_POST['text']);
if (!empty($title) && !empty($text)) {
if (!empty($cat)) {
$is_cat = (int) $db->selectCell( "SELECT * FROM ?_category WHERE `id` = ? LIMIT 1", $cat );
$is_post = (int) $db->selectCell( "SELECT * FROM ?_data WHERE `title` = ? LIMIT 1", $_POST['title'] );
if ( !empty($is_cat) ) {
if ( $is_post < 1 && !in_array($_POST['title'])) {
$q = (bool) $db->query( "UPDATE ?_data SET `cid` = ?, `title` = ?, `desc` = ?, `keys` = ?, `text` = ?, `date` = ?, `active` = ?, `acomm` = ?, `views` = ? WHERE `id` = ?", $cat, $title, $desc, $keys, $text, $date, $active, $acomm, $views, $id );
if ( $q ) {
del_vars('categories');
addMessage('Статья успешно изменена!', 'ok');
gen_red('post', $id);
}
else $error = 'Ошибка! В данный момент не удалось изменить статью или вы не внесли изменения!';
}
else $error = 'Ошибка! Статья с таким названием уже есть в базе!';
}
else $error = 'Ошибка! Раздел не найден в БД. Попробуйте обновить кеш, возможно он устарел!';
}
else $error = 'Ошибка! Неверно указан раздел!';
}
else $error = 'Ошибка! Вы не ввели заголовок или текст статьи!';
}
else $error = 'Ошибка! Неверный идентификатор сессии, повторите действие!';
if (!empty($error)) addMessage($error,'error');
}
Пожалуйста помогите, буду благодарен.