Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Ламерские вопросы » Запрет на публикацию дубликатов новостей ?

Запрет на публикацию дубликатов новостей ?


     Все вопросы » Ламерские вопросы    1273

вопрос
Здравствуйте. Подскажите как реализовать в админке автоматическую проверку или запрет публикации дубликатов новостей с одинаковым заголовком.

Ответа пока нет


16 комментариев

akella
Юзер

akella - -

в engine/inc/addnews.php найти
if( dle_strlen( $title, $config['charset'] ) > 255 ) {
		msg( "error", array('javascript:history.go(-1)' => $lang['addnews'], '' => $lang['addnews_error'] ), $lang['addnews_ermax'], "javascript:history.go(-1)" );
	}
добавить ниже
$row = $db->super_query ("SELECT title FROM " . PREFIX . "_post WHERE title = '$title' and approve = '1'"); 
if ($row['title']) { msg( "error", array('javascript:history.go(-1)' => $lang['addnews'], '' => $lang['addnews_error'] ), "Такой материал уже есть на сайте!", "javascript:history.go(-1)" ); }

vra4yga
Юзер

vra4yga - -

Спасибо, работает.

amnistik
Юзер

amnistik - -

Очень полезная вещь но на DLE 13.2 не работает :(

ТeraМoune
Юзер

ТeraМoune - -


да нет, работает

grade
Юзер

grade - -

akella,
на 14й не работает ((
Есть что-то подобное на 14ю ? Буду очень благодарен ))

grade
Юзер

grade - -

на 14й не работает ((
Есть что-то подобное на 14ю ?

akella
Юзер

akella - -

работает

grade
Юзер

grade - -

akella,
Через админку добавляете ?

akella
Юзер

akella - -

через нее

grade
Юзер

grade - -

akella,
Странно, еще раз попробую.
Спасибо Вам большое!! ))

grade
Юзер

grade - -

У меня не работает.
https://prnt.sc/sa0fpd

Сделал так.
https://prnt.sc/sa0g0s

Может из-за того, что парсер заполняет поле "Заголовок".

non-stop
Юзер

non-stop - -

На 14 работает из админки. Как сделать запрет при добавлении с сайта?

akella
Юзер

akella - -

в engine/modules/addnews.php найти
if( dle_strlen( $title, $config['charset'] ) > 200 ) $stop .= $lang['add_err_2'];
добавить ниже
$row = $db->super_query ("SELECT title FROM " . PREFIX . "_post WHERE title = '$title' and approve = '1'"); 
if ($row['title']) $stop .= "Такой материал уже есть на сайте!";

Slavchik
Юзер

Slavchik - -

akella, попытался ваш код впихнуть в плагин для 14.1 - https://fex.net/ru/s/mskfpsf
но он не как не хочет работать, пишет что зафиксированы в работе плагина ошибки и не может найти строку
if( dle_strlen( $title, $config['charset'] ) > 200 ) $stop .= $lang['add_err_2'];

хотя такая строка есть! что я делаю не так?

akella
Юзер

akella - -

попробуйте мой
только там еще проверка на выбор категории, если не нужна - удалите

Slavchik
Юзер

Slavchik - -

akella, поставил - тоже ошибка. методом тыка сдвинул его в админке плагинов на пару пунктов вниз и все стало ок.

Похожие вопросы

наверх