Adaptive Hide BBcodes

Все моды, созданные нашим сообществом для phpBB 3.0.x, будут анонсированы тут. Вся техническая поддержка по этим модам оказывается в этом форуме.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Djeday
phpBB 2.0.7a
Сообщения: 644
Стаж: 14 лет 8 месяцев
Благодарил (а): 108 раз
Поблагодарили: 68 раз

Re: Adaptive Hide BBcodes

Сообщение Djeday »

forfreedom писал(а):У нас на конференции звания не зависят от количества сообщений.
Ну так тем более, сделайте 30 групп. ИМХО
И используйте ghide=...
Я смею то, что можно человеку, кто смеет меньше - тот не человек.
forfreedom
phpBB 1.4.2
Сообщения: 66
Стаж: 18 лет 9 месяцев
Благодарил (а): 12 раз
Поблагодарили: 3 раза

Re: Adaptive Hide BBcodes

Сообщение forfreedom »

МайскийЖук, Djeday, я уже писал что данный вариант мне не подходит. В чем проблема? Не можете помочь, к чему оставлять бессмысленные сообщения? В правилах Форума четко написано:

Код: Выделить всё

2.9. Если вам нечего сказать - промолчите. Если вам нечего сказать кроме флейма/флуда - промолчите. Если вы можете сказать только то, что уже сказано до вас - промолчите. Если вы не уверены в 100%-ой верности вашего ответа - промолчите.
А теперь по теме, кто-нибудь может подсказать что нужно дополнить в код, что бы можно было ограничивать просмотр не по группам, а по званиям?
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Стаж: 16 лет 11 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

Adaptive Hide BBcodes

Сообщение МайскийЖук »

Нет.
Любовь и боль, покой и бой я как любой несу с собой…
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Adaptive Hide BBcodes

Сообщение Пчелкин »

forfreedom писал(а):кто-нибудь может подсказать
нет
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Adaptive Hide BBcodes

Сообщение Sheer »

Примерно так (не проверял)
Найти

Код: Выделить всё

$sql = 'SELECT group_id 
										FROM ' . USERS_TABLE . ' 
										WHERE user_id = ' . (int)$poster_id; 

Заменить на

Код: Выделить всё

$sql = 'SELECT group_id, user_rank 
										FROM ' . USERS_TABLE . ' 
										WHERE user_id = ' . (int)$poster_id;
Найти

Код: Выделить всё

$poster_group = $sql_row['group_id'];
После вставить

Код: Выделить всё

$rank_ids = array(1,2,3); // тут id званий
$poster_rank = $sql_row['user_rank'];
Найти

Код: Выделить всё

if (!in_array($poster_group, $group_ids))
Заменить на

Код: Выделить всё

if (!in_array($poster_group, $group_ids) && !in_array($poster_rank, $rank_ids))
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
forfreedom
phpBB 1.4.2
Сообщения: 66
Стаж: 18 лет 9 месяцев
Благодарил (а): 12 раз
Поблагодарили: 3 раза

Re: Adaptive Hide BBcodes

Сообщение forfreedom »

Sheer, благодарю за ответ.
Sheer писал(а):

Код: Выделить всё

$rank_ids = array(1,2,3); // тут id званий
ID званий которые не увидят? А если нужно создать несколько правил? Если так, то не практично.

Я думаю должно быть вида: [rhide=1,2,3,4,5]текст[/rhide]. Есть ли идеи на этот счет?
forfreedom
phpBB 1.4.2
Сообщения: 66
Стаж: 18 лет 9 месяцев
Благодарил (а): 12 раз
Поблагодарили: 3 раза

Re: Adaptive Hide BBcodes

Сообщение forfreedom »

Попробовал сегодня предложенный вариант от Sheer, к сожалению он не дал каких-либо результатов.
Тем ни менее спасибо за попытку помочь.
Аватара пользователя
dndn
phpBB 1.4.4
Сообщения: 131
Стаж: 14 лет 6 месяцев
Благодарил (а): 30 раз
Поблагодарили: 5 раз

Re: Adaptive Hide BBcodes

Сообщение dndn »

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

Код: Выделить всё

[ghide=5]скрытый текст[/ghide]
Стандартное [ghide], в котором текст виден членам группы по умолчанию, не нужен.
Вбивать каждый раз "пятерку" неудобно, было бы лучше, если б в стандартном [ghide] исключить от просмотра группу по умолчанию.

Понимаю, что в исходном коде нужно эту часть закомментировать, но где найти эти строки?

Помогите, пожалуйста!
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: Adaptive Hide BBcodes

Сообщение c61 »

Чтобы не лезть в сам мод, можно подменять пустой [ghide=] на [ghide=5] используя, например, Hook System. В качестве примера можно взять хук для антибот10500, убрав лишнюю в этом случае строку с preg_replace и заменив javascript на желаемый - чтобы проводилась требуемая замена (вместо form_token, разумеется, будет message и тд), а также переименовать файл и имя хук-функциии по вкусу. Учтите, для кода, который есть, будут заменены [ghide=] абсолютно везде ))
Если же лезть в мод - смысл действий сводится примерно к тому же самому, но после [ghide= внутри скобок будет ещё двоеточие и bbcode_uid, замена получится посложнее и с нужным местом определиться тоже посложнее)
Аватара пользователя
dndn
phpBB 1.4.4
Сообщения: 131
Стаж: 14 лет 6 месяцев
Благодарил (а): 30 раз
Поблагодарили: 5 раз

Re: Adaptive Hide BBcodes

Сообщение dndn »

Чтобы не лезть в сам мод, можно подменять пустой [ghide=] на [ghide=5] используя, например, Hook System
Спасибо. А Вам не трудно будет приветсти текст php-функции и java-скрипта, а то чувствую, сам не одолею... :(

По первой Вашей ссылке в качестве примера описана функция удаления множественных знаков препинания:

Код: Выделить всё

<?
 
function anti_shkolota()
{
    global $template;
 
    if (isset($template->_tpldata['postrow']))
    {
        // Применяем функцию do_replace() к каждому члену массива postrow, содержащего тексты сообщений
        array_walk($template->_tpldata['postrow'], 'do_replace');
    }
}
 
function do_replace(&$item)
{
    // Составляем список знаков препинания
    $list = array('.', '?', '!', '(', ')');
    // Ищем в сообщениях множественные знаки препинания и заменяем их на одиночные
    $item['MESSAGE'] = preg_replace(array_map(create_function('$key', 'return "#" . preg_quote($key) . "{2,}#";'), $list), $list, $item['MESSAGE']);
}
 
// Регистрируем хук
$phpbb_hook->register(array('template', 'display'), 'anti_shkolota');
 
?>
Наверно ее проще подправить, только не знаю как...
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 13 лет 9 месяцев
Благодарил (а): 42 раза
Поблагодарили: 251 раз

Re: Adaptive Hide BBcodes

Сообщение c61 »

dndn писал(а):Наверно ее проще подправить
Нет, этот хук работает для выдаваемой страницы. А Вам надо поймать новое сообщение пользователя и внести изменения именно в него.
Аватара пользователя
dndn
phpBB 1.4.4
Сообщения: 131
Стаж: 14 лет 6 месяцев
Благодарил (а): 30 раз
Поблагодарили: 5 раз

Re: [beta] Adaptive Hide BBcodes

Сообщение dndn »

Еще заметил любопытную особенность. Вот здесь автор мода пишет:
Izya писал(а):Это стандартная проблема. Вкратце, это связано с тем, что в БД для каждого сообщения записывается список ID использованных в нем бб-кодов, и при показе сообщения происходит его "прогон" по этому списку. А любой новый бб-код получает новый ID, которого раньше не существовало. И поэтому ни одно старое сообщение не "прогоняется" через новый бб-код.
Исправить это можно. И для этого есть два способа:
1. Пересохранить каждое сообщение вручную :D
:arrow: 2. Скачать с сайта phpbb.com специальный мод Admin Reparse BBCode, который добавляет в админку инструмент "репарсинга" (как бы это перевести на русский :? ) бб-кодов. Этот инструмент пробежится по всем сообщениям в БД и пересоздаст тот самый список ID.
У меня же ББ-код не срабатывает для вновь зарегистрировавшегося юзера. Для того, чтобы следующие его сообщения можно было скрывать, нужно обязательно произвести репарсинг ББ-кодов для этого юзера через STK. Только после этого ББ-код начинает работать и только для сообщений, которые созданы после репарсинга. Все старые его сообщения так и НЕ поддаются сокрытию...
Аватара пользователя
slavapril
phpBB 1.4.4
Сообщения: 126
Стаж: 13 лет 7 месяцев
Благодарил (а): 18 раз
Поблагодарили: 22 раза

Re: Adaptive Hide BBcodes

Сообщение slavapril »

А можно ли использование данных тегов сделать доступными только админу(модератору)?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Adaptive Hide BBcodes

Сообщение Татьяна5 »

Аватара пользователя
slavapril
phpBB 1.4.4
Сообщения: 126
Стаж: 13 лет 7 месяцев
Благодарил (а): 18 раз
Поблагодарили: 22 раза

Re: [beta] Adaptive Hide BBcodes

Сообщение slavapril »

Gorbushka писал(а):Могу предложить немного более красивое оформление:

Код: Выделить всё

/* Hide block */
div.adapthide {
        border: 1px dashed #0000FF;
        background-color: #FFFFFF;
        margin: 0px 10px 5px 10px;
        padding: 5px 5px 5px 5px;
        font-size: 12px;
}
А то чёрное не очень сочетается со стандартными шаблонами...
Можно еще расширить код - сделать сплошную(solid вместо dashed) и закруглить углы

Код: Выделить всё

/* Hide block */
div.adapthide {
border: 1px solid #0000FF
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
background-color: #FFFFFF
margin: 0px 10px 5px 10px;
padding: 5px 5px 5px 5px;
font-size: 12px;
}
Правда, для ИЕ, как всегда, надо костыль бить.

Вернуться в «Анонсы и поддержка модов для phpBB 3.0.x»