форум vBSupport.ru > vBulletin > vBulletin 3.8.x > Хаки, моды и скрипты 3.8
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
xorex
Эксперт
vBSponsor
 
xorex's Avatar
Default Ограничение использования смайлов - Limit smilies used on post
10

орг

Ограничение использования смайлов - Limit smilies used on post



Возможности:

1. Установка ограничения использования смайлов для темы

2. Установка ограничения использования смайлов в одном сообщении

3. Предотвращение отправки сообщения состоящих из одних смайлов

4. Установка своих персональных ограничений для групп пользователей

Установка:

1. Импортировать продукт в своей кодировке

2. Импортировать языковой файл в своей кодировке
Attached Thumbnails
settings_rus.png   1.png   2.png   stop_smilie_spam.png  
Attached Files
File Type: zip Ограничение использования смайлов.zip (80.6 KB, 23 views)

Last edited by xorex : 04-19-2011 at 07:50 PM.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
kerk
k0t
 
kerk's Avatar
Default
0

жесть...
напихают стопицот смайлов на форум, а потом запрещают их
 
 
Shestak
Эксперт
 
Shestak's Avatar
Default
0

Quote:
Originally Posted by kerk View Post
жесть...
напихают стопицот смайлов на форум, а потом запрещают их
Для некоторых индивидуумов хватит и одного присутствующего смайла на форуме Заполонят одним смайлом все поле.
 
 
xorex
Эксперт
vBSponsor
 
xorex's Avatar
Default
2

По желанию можно добавить принудительную вставку отступа для смайлов

для этого в файле clientscript/vbulletin_textedit.js

Найти:

PHP Code:
        this.insert_smilie = function(esmilietext)
        {
            
this.check_focus(); 
Ниже вставить:

PHP Code:
                smilietext smilietext ' '
В визуальном редакторе работать не будет !

Quote:
Originally Posted by Shestak View Post
Для некоторых индивидуумов хватит и одного присутствующего смайла на форуме Заполонят одним смайлом все поле.
Согласен, дело не в количестве возможных смайлов а в качестве заполнения ими поста

Last edited by xorex : 04-22-2011 at 09:56 AM.
 
 
sanika
Продвинутый
 
sanika's Avatar
Default
0

Кто-то разбирал этот модуль? Как сделать такой же функционал но при редактировании?
 
 
sanika
Продвинутый
 
sanika's Avatar
Default
0

вернулся к проблеме с ограничением смайлов при быстром редактировании поста. Кто-то замечал такой баг? или этот модуль не популярен?

Попробовал переделать ограничение на смайлы под редактирование:
Кто-от может подсказать почему при установке на хук editpost_update_process он не работает. Где ошибка?
PHP Code:
#<?

if($vbulletin->options['chip_limitsmiliesuserdonpost_turn']){
    require_once(
DIR '/includes/class_bbcode.php');
    
$chip = new vB_BbCodeParser($vbulletinfetch_tag_list());
    
$cache_smilies =& $chip->cache_smilies($foruminfo['allowhtml']);
    
$cache_key = ($foruminfo['allowhtml'] ? 'html' 'nohtml');
    
$quoted = array();
    foreach (
$cache_smilies AS $find => $replace)
    {
        
$quoted[] = preg_quote($find'/');
        if (
sizeof($quoted) > 500)
        {
            
$regex_cache[$cache_key][] = '/(?<!&amp|&quot|&lt|&gt|&copy|&#[0-9]{1}|&#[0-9]{2}|&#[0-9]{3}|&#[0-9]{4}|&#[0-9]{5})(' implode('|'$quoted) . ')/s';
            
$quoted = array();
        }
    }
    if (
sizeof($quoted) > 0)
    {
        
$regex_cache["$cache_key"][] = '/(?<!&amp|&quot|&lt|&gt|&copy|&#[0-9]{1}|&#[0-9]{2}|&#[0-9]{3}|&#[0-9]{4}|&#[0-9]{5})(' implode('|'$quoted) . ')/s';
    }
    
//end cache smilies & prase regex
    
    
if($_POST['do'] == 'editpost'){
        
$limit_smilies $vbulletin->options['chip_limitsmiliesuserdonpost_newreply'];
        
$phrase 'quick_reply';
    }

    
    foreach(
$regex_cache["$cache_key"] as $regex){
        
preg_match_all($regex$edit['message'], $matches);
        
$count_smilies count($matches[0]);
        
//anti spam
        
if($vbulletin->options['chip_limitsmiliesuserdonpost_antispam']){
            if(!
trim(preg_replace($regex''$edit['message']))){
                
$dataman->errors[] = $vbphrase['chip_limitsmiliesuserdonpost_alertspam'];
                break;
            }
        }
        
        
//advanced options
        
if($_POST['do'] == 'editpost' && $vbulletin->options['chip_limitsmiliesuserdonpost_adopreplyturn']){
            
$lines explode(PHP_EOL$vbulletin->options['chip_limitsmiliesuserdonpost_advancedoption']);
            foreach(
$lines as $line){
                list(
$usergroupid$limit_viagroupid) = array_map('intval'explode('|'$line));
                if(
$vbulletin->userinfo['usergroupid'] == $usergroupid){
                    
$limit_smilies $limit_viagroupid;
                }
            }
        }
        
        
//normal option
        
if($limit_smilies && $count_smilies $limit_smilies){
            
$dataman->errors[] = sprintf($vbphrase['chip_limitsmiliesuserdonpost'], $limit_smilies$vbphrase[$phrase], $count_smilies);
            break;
        }
        
    }
}

Last edited by sanika : 12-09-2013 at 01:56 AM.
 
 
sanika
Продвинутый
 
sanika's Avatar
Default
0

Все, вопрос закрыт, это я дурень - надо было правильное событие прописать, не
Quote:
Originally Posted by sanika View Post
if($_POST['do'] == 'editpost'){
а if($_POST['do'] == 'updatepost'){
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 01:59 PM.


Powered by vBulletin® Version 3.0.9
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...