Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Веб Форумы » VBulletin 3.x.x » Запретить группе вставку ссылок?
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
mkonk
Участник
Средний рейтинг: 4 | Оценок: 1

Зарегистрирован: Mar 2004
Место проживания: Gbnth
Публикаций: 13
Статус: mkonk в оф-лайне
Запретить группе вставку ссылок? [сообщение #72162]

Подскажите пожалуйста , как запретить группе вставлять в посты линки?

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 05-11-2004 08:35
Нажмите сюда для просмотра профайла mkonk Отправить Персональное сообщение mkonk Посетить домашнию страничку mkonk! Найти сообщения от mkonk Добавить mkonk в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
miXei
Консультант по vB
Средний рейтинг: 4.2 | Оценок: 10
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2002
Место проживания: www.mixei.ru
Публикаций: 363
Статус: miXei в оф-лайне
[сообщение #72182]

Если не ошибась, то стандартными средствами никак.
Нужно писать хак.

__________________
miXei.ru - Дискуссионный клуб

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 05-11-2004 18:52
Нажмите сюда для просмотра профайла miXei Отправить Персональное сообщение miXei Посетить домашнию страничку miXei! Найти сообщения от miXei Добавить miXei в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
mkonk
Участник
Средний рейтинг: 4 | Оценок: 1

Зарегистрирован: Mar 2004
Место проживания: Gbnth
Публикаций: 13
Статус: mkonk в оф-лайне
[сообщение #72185]

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

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 05-11-2004 22:13
Нажмите сюда для просмотра профайла mkonk Отправить Персональное сообщение mkonk Посетить домашнию страничку mkonk! Найти сообщения от mkonk Добавить mkonk в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
mkonk
Участник
Средний рейтинг: 4 | Оценок: 1

Зарегистрирован: Mar 2004
Место проживания: Gbnth
Публикаций: 13
Статус: mkonk в оф-лайне
Запрет на вставку ссылок сделал! [сообщение #75031]

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


  1. Запретить вставку в сообщения ссылок, для определенной группы пользователей
  2. Возможность разрешить вставку линков пользователям этой группы при наборе определенного кол-ва постов
  3. Позволить вставлять ссылки на картинки, расположенные в интернет


Ð_еализация:
Заходим в админку - в менеджер фраз выбираем тип фраз "Front-End Error Messages", здесь создаем новую переменную фразы и пишем текстдля показа юзеру при срабатывании запрещения на линки
Я переменную назвал "url_insert" , дальше используется именно она

За тем в файле include/functions_newpost.php
ищем функцию "verify_post_errors"
сразу после строк

PHP:

if ($bbuserinfo['userid'] == 0)
    {
        
$post['username'] = preg_replace('#( ){2,}#', ' ', $post['username']);

        if (empty(
$post['username']))
        {

            eval(
'$errors[] = "' . fetch_phrase('nousername', PHRASETYPEID_ERROR) . '";');

        }
        else if (
vbstrlen($post['username']) < $vboptions['minuserlength'])
        {

            eval(
'$errors[] = "' . fetch_phrase('usernametooshort', PHRASETYPEID_ERROR) . '";');

        }
        else if (
vbstrlen($post['username']) > $vboptions['maxuserlength'])
        {

            eval(
'$errors[] = "' . fetch_phrase('usernametoolong', PHRASETYPEID_ERROR) . '";');

        }
        else if (
$post['username'] != fetch_censored_text($post['username']) OR $checkuser = $DB_site->query_first("SELECT username FROM " . TABLE_PREFIX . "user WHERE username = '" .  addslashes(htmlspecialchars_uni($post['username'])
) . 
"'"))
        {
            
$username = &$post['username'];
            eval(
'$errors[] = "' . fetch_phrase('usernametaken', PHRASETYPEID_ERROR) . '";');
        }
        else if (!empty(
$vboptions['illegalusernames']))
        {

            
$usernames = preg_split('/( )+/', trim(strtolower($vboptions['illegalusernames'])), -1, PREG_SPLIT_NO_EMPTY);
            
$tempusername = strtolower($post['username']);
            foreach (
$usernames AS $val)
            {
                if (
strpos($tempusername, $val) !== false)
                {
                    
$username = &$val;
                    eval(
'$errors[] = "' . fetch_phrase('usernametaken', PHRASETYPEID_ERROR) . '";');
                    break;
                }
            }

        }
    }



Вставляем


PHP:

//////////////// -------Проверка на вставку ссылок
            
if($bbuserinfo['usergroupid']==78 and $bbuserinfo['posts']<350)
    {
        
$img=0;
        
$url=0;
        
$img_ex=0;
        
$img=substr_count($post['message'],'[img]http');
         
$img=$img+substr_count($post['message'],'[img]www'
);
        
$img=$img+substr_count($post['message'],'www');
        
$img_ex=substr_count($post['message'],'.jpg');
        
$img_ex=$img_ex+substr_count($post['message'],'.JPG');
        
$img_ex=$img_ex+substr_count($post['message'],'.jpeg');
        
$img_ex=$img_ex+substr_count($post['message'],'.JPEG');
        
$img_ex=$img_ex+substr_count($post['message'],'.gif');
        
$img_ex=$img_ex+substr_count($post['message'],'.GIF');
        
$img_ex=$img_ex+substr_count($post['message'],'.png');
        
$img_ex=$img_ex+substr_count($post['message'],'.PNG');
        
$img_ex=$img_ex+substr_count($post['message'],'.bmp');
        
$img_ex=$img_ex+substr_count($post['message'],'.BMP');
        
$url=substr_count($post['message'],'http');
        
$url=$url+substr_count($post['message'],'www');
        
$url=$url+substr_count($post['message'],'ftp');
        
$url=$url+substr_count($post['message'],'https');
        if (
$img<>$url or $img<>$img_ex) 
        {
            eval(
'$errors[] = "' . fetch_phrase('url_insert', PHRASETYPEID_ERROR) . '";');
         }
    }
    
///\\\\\\---------Конец проверки


Обратите внимание!
quote:
$img=$img+substr_count($post['message'],'[i
mg]www');

Пишется в одну строчку!!
Где $bbuserinfo['usergroupid'] , на которую распространяется ограничение, прижелании сюда можно вписать несколко групп через "and".
А $bbuserinfo['posts'] - количесто постов юзера если оно меньше определенной цифры - ограничение срадатывает для этой группы
Вообще логику этого "if" можно менять, как угодно!
Ну вот и все. Удачи!!!
Если обнаружатся ошибки - пишите!!

Сообщение было отредактировано mkonk 04-03-2005 в 11:46

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 04-03-2005 09:24
Нажмите сюда для просмотра профайла mkonk Отправить Персональное сообщение mkonk Посетить домашнию страничку mkonk! Найти сообщения от mkonk Добавить mkonk в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 05:07.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 1.27022004 seconds (99.11% PHP - 0.89% MySQL) with 23 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.