Предоставляем срочную помощь по DLE, пишем эксклюзивные модули для вашего проекта, парсеры грабберы, исправляем базу данных, удаляем вирусы редиректы, обновляем скрипты, помощь с переездом на другой хостинг, перенос домена, большой опыт работы с высоконагруженными проектами, защита ddos атаки, ботов и спама, оптимизация модулей и серверов дле, более 10 лет работы, тысячи модификаций и доработок, короткие сроки, дорого, качественно. telegram: @histoo

DLE & BE Лимитируем количество смайлов в комментах и сообщениях на форуме

В последнее время меня затрахали комменты из двух слов и тонны смайлов, ручное выпиливание тоже изрядно надоело, посему решил облегчить сою жизнь и усложнить жизнь своим юзерам программноRSS-лента темы
  1. Оффлайн

    OTM_tm

    Посетители

    Сообщений: 47

    В последнее время меня затрахали комменты из двух слов и тонны смайлов, ручное выпиливание тоже изрядно надоело, посему решил облегчить сою жизнь и усложнить жизнь своим юзерам программно.

    было реализовано для DLE 10 и BE 1.3? подойдёт и на более ранние/поздние версии

    Для комментариев DLE
    открыть файл engine//modules/addcomments.php
    найти
    if( intval($config['comments_minlen']) AND dle_strlen( str_replace(" ", "", strip_tags(trim($comments))), $config['charset'] ) < $config['comments_minlen'] )

    добавить выше
    // не более х смайлов в 1 сообщении
    preg_match_all( '/<!--smile(.*?)smile-->/is' , $comments , $smilies_in_msg );
    if( count($smilies_in_msg[0]) > 3 ){
    	$stop[] = "Вы не можете добавить более 3 смайликов в 1 комментарии. Удалите лишние смайлы и повторите попытку.";
    	$CN_HALT = TRUE;
    	}
    // не более х смайлов в 1 сообщении


    Для BE
    найти
        $row['symbolPostCount'] = parent::$helper->valueStrlen(str_replace(" ", "", strip_tags($row['post'])), parent::$config['DLE']['charset']) ;

    добавить выше
    	// не более х смайлов в 1 сообщении
    	preg_match_all( '/<!--smile(.*?)smile-->/is' , $row['post'], $smilies_in_msg );
    	if( count($smilies_in_msg[0]) > 3 ){
          return parent::$helper->getError("Вы не можете добавить более 3 смайликов в 1 сообщении. Удалите лишние смайлы и повторите попытку.") ;
    	}
    	// не более х смайлов в 1 сообщении


    В обоих случаях установлен лимит на добавление 3 смайлов

    При желании можно указать о существующем ограничении в заголовке окна добавления смайлов.
    Для DLE /language/Russian/website.lng
    Для BE /engine/bullet_energy/library/language/windows-1251/Russian/site.lng или /engine/bullet_energy/library/language/utf-8/Russian/site.lng
    в обоих файлах найти
    Вставка смайлов
    заменить на
    Вставка смайлов (не более 3)
    либо любой другой поясняющий текст

    Вложения:

    1. smile-limit.txt

      Размер файла:
      2,64 Kb
      Скачиваний:
      777
    17 декабря 2013 - 03:34 / #1
Модераторы форума: greyPowered by Bullet Energy Forum