Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как запретить добавление новости с повторяющим текстом в доп. поле?

Как запретить добавление новости с повторяющим текстом в доп. поле?


     18.07.2015    Все вопросы » Общие вопросы    1746

вопрос
Здравствуйте, можно ли запретить добавление новости с повторяющимся текстом в доп. поле?
Это что-то на подобие "Запрещаем публикацию новостей с одинаковыми заголовками"
1. Открываем 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 .= "Такой материал уже есть на сайте!";

Автор варианта: Gameer

только на этот раз с одинаковым доп полем!
Спасибо Вам, если конечно такое возможно

Ответил: PunPun


Открываем /engine/modules/addnews.php находим :
if( dle_strlen( $title, $config['charset'] ) > 200 ) $stop .= $lang['add_err_2'];

Ниже вставить :
$p_get = preg_split("/[\|,]+/", $filecontents);
$row = $db->super_query ("SELECT SUBSTRING_INDEX( SUBSTRING_INDEX( xfields,  '{$p_get[0]}|', -1 ) ,  '||', 1 ) as xfield FROM " . PREFIX . "_post WHERE SUBSTRING_INDEX( SUBSTRING_INDEX( xfields,  '{$p_get[0]}|', -1 ) ,  '||', 1 ) LIKE '{$p_get[1]}'");
if ($row['xfield']) $stop .= "Поле {$p_get[0]} уже есть с таким значением!";

{$p_get[0]}
- позиция вашего доп поля (отсчет от 0 и считать через два 0, 2, 4)
{$p_get[1]}
- к позиции добавляем +1

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

dimavdv
Юзер

dimavdv - 18 июля 2015 15:36 -

Просто я добавляю HTML-код с ютуба в доп поле. Добавил более 1000 и мне уже начинает казаться что я по второму кругу пошел.

vitnet
PHP-developer

vitnet - 18 июля 2015 16:10 -

dimavdv,
HTML-код iframe?

dimavdv
Юзер

dimavdv - 18 июля 2015 16:24 -

Да (но не совсем), в доп поле вставляю код который выделил: https://y....m/watch?v=rLudVBlN0-A

vitnet
PHP-developer

vitnet - 18 июля 2015 16:34 -

Ну в таком случае все намного проще.

LazyDev
PHP-developer

LazyDev - 18 июля 2015 16:34 -

***Комментарий удален***

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

dimavdv
Юзер

dimavdv - 18 июля 2015 20:36 -

***Комментарий удален***

dimavdv
Юзер

dimavdv - 18 июля 2015 20:49 -

Все решил, отсчет от 1, доп поле по счету второе. Я поставил двойку и заработало!

LazyDev
PHP-developer

LazyDev - 18 июля 2015 20:59 -

dimavdv, я забыл написать что считать нужно через два. Поле 0 потом 2. а во втором 1 а потом 3

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

dimavdv
Юзер

dimavdv - 18 июля 2015 20:58 -

Можете вставить в ответ! Вопрос решен!

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх