1

Тема: [Запрос] Скрытый текст

Привет всем.
Извеняюсь если темка такая уже есть, но я не нашел.
Видел одну, но там решение не рабочее для 1,3.

У меня на форуме будет определенная категория, и необходимо в ней, в постах прятать ссылки и картинки под hide с постами.
т.е. hide=50  и т.д.....
на оф форуме есть hidden code, но там он просто добавляется к code, а это не есть гуд.

Если у кого есть готовый вариант под 1,3 и он может им поделиться, буду благодарен))

Поделиться

2

Re: [Запрос] Скрытый текст

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

Сайт flashcat

Поделиться

3

Re: [Запрос] Скрытый текст

Объясните пожалуйста, зачем это нужно? neutral

Поделиться

4

Re: [Запрос] Скрытый текст

что бы скрывать например пароли на архивы от не активных пользователей, ну например "написал ты программу и хочешь поделиться только с теми кто тоже что то делает", а не пришёл в первый раз утащил программу и больше не придёт... ставишь hide=100 что значит 100 сообщений надо чтоб увидеть скрытый текст... вот как то так.

Сайт flashcat

Поделиться

5 (24.03.2009 07:07 отредактировано flashcat)

Re: [Запрос] Скрытый текст

поэкспериментировал, со старым Тегом hide, текст скрывает и показывает сколько надо сообщений ))) но проблема в том что скрывает ото всех пользователей) Вот может кто уже разобрался в коде 1.3 подрегулирует тег http://punbb.ru/topic271-teg-hide.html под 1.3 ))) сам тоже буду побывать если получиться поделюсь)))

Сайт flashcat

Поделиться

6

Re: [Запрос] Скрытый текст

Мне например нужен для того, чтобы скрывать авторские работы пользователей.
Т.е. у меня пользователи будут выкладывать в некоторых разделах свои работы. И хайд просто необходим. Чтобы не все могли видеть их, а только проверенные пользователи у которых много постов.

Поделиться

7

Re: [Запрос] Скрытый текст

Да, похоже полезная вещь.

Поделиться

8

Re: [Запрос] Скрытый текст

Мммм.... а если былабы личка то это сообщение былобы рассылкой?

Поделиться

9

Re: [Запрос] Скрытый текст

Причем тут личка и рассылка?
Чет не понял)

Поделиться

10

Re: [Запрос] Скрытый текст

Bad_Boy пишет:

У меня на форуме будет определенная категория, и необходимо в ней, в постах прятать ссылки и картинки под hide с постами.
т.е. hide=50  и т.д.....

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

Сайт flashcat

Поделиться

11

Re: [Запрос] Скрытый текст

Bad_Boy пишет:

Причем тут личка и рассылка?
Чет не понял)

Пардон это нетуда! neutral

Поделиться

12 (27.03.2009 04:26 отредактировано flashcat)

Re: [Запрос] Скрытый текст

короче начал сам переделывать старый потихоньку... пока вот что получилось...

parser.php

****************find**********************
// Convert BBCodes to their HTML equivalent
//
function do_bbcode($text, $is_signature = false)
{
    global $lang_common, $forum_user, $forum_config;

***************после вставляем*************
    // MOD HIDE TAG begin
require FORUM_ROOT.'lang/'.$forum_user['language'].'/topic.php';
// MOD HIDE TAG end
*****************далее ищем***************

    {
        $pattern[] = '/\[list(?:=([1a\*]))?\]((?>(?:(?!\[list(?:=(?:[1a\*]))\]|\[\/list\]).+?)|(?R))*)\[\/list\]/ems';
        $replace[] = 'handle_list_tag(\'$2\', \'$1\')';
    }
****************после вставляем*************

/// MOD HIDE TAG begin
    if (strpos($text, 'hide=') !== false)
    {
        if ($forum_user['is_guest'])
        {
                $text = preg_replace("#\[hide=([0-9]*)](.+?)\[/hide\]#is", '<b>['.$lang_topic['Hidden text guest'].']</b>', $text);
        }
        else 
        {
            preg_match('#\[hide=([0-9]*)]#s',$text,$hide_count);
            if($hide_count[1]<0) $hide_count[1]=0;
            if(($forum_user['g_id'] == FORUM_MOD) || ($forum_user['g_id'] == FORUM_ADMIN) || (($forum_user['num_posts']) >= ($hide_count[1])))
            {
                $text = preg_replace('#\[hide=([0-9]*)](.*?)\[/hide\]#s', '<blockquote>'.$lang_topic['Hidden text'].':<br><i>$2</i></blockquote>', $text);
            }
            else
            {
                $text = preg_replace("#\[hide=([0-9]*)](.+?)\[/hide\]#is", '<b>['.$lang_topic['Hidden count begin'].' '.$hide_count[1].' '.$lang_topic['Hidden count end'].']</b>', $text);
            }
        }
    }
    if (strpos($text, 'hide') !== false)
    {
        if ($forum_user['is_guest'])
        {
                $text = preg_replace("#\[hide\](.+?)\[/hide\]#is", '<b>['.$lang_topic['Hidden text guest'].']</b>', $text);
        }
        else 
        {
            $text = str_replace('[hide]', '<blockquote>'.$lang_topic['Hidden text'].':<br><i>', $text);
            $text = preg_replace('#\[\/hide\]\s*#', '</i></blockquote>', $text);
        }
    }    
// MOD HIDE TAG end
post.php

*************ищем*****************************
    $forum_page['text_options']['smilies'] = '<span'.(empty($forum_page['text_options']) ? ' class="first-item"' : '').'><a class="exthelp" href="'.forum_link($forum_url['help'], 'smilies').'" title="'.sprintf($lang_common['Help page'], $lang_common['Smilies']).'">'.$lang_common['Smilies'].'</a></span>';

****************после вставляем*****************

// MOD HIDE TAG begin
        $q_message = preg_replace("#\[hide](.+?)\[/hide\]#is", '[b][[i]'.$lang_topic['Hidden text'].'.[/i]][/b]', $q_message);
        $q_message = preg_replace("#\[hide\=.+?].+?\[/hide\]#is", '[b][[i]'.$lang_topic['Hidden text'].'.[/i]][/b]', $q_message);

// MOD HIDE TAG end

/lang/***/topic.php

*************после строки  *'Required warn'*******
// MOD HIDE TAG begin
'Hidden text guest'        =>    'Вы должны зайти под своим именем, чтобы увидеть скрытый текст.',
'Hidden text'            =>    'Скрытый текст',
'Hidden count begin'        =>    'Количество Ваших сообщений должно быть равным',
'Hidden count end'        =>    'или более, чтобы увидеть скрытый текст.',
// MOD HIDE TAG end
*******************************************************************************

Вот вообщем всё что смог пока подогнать под 1.3 ... если кто поможет буду признателен...
Щас баг в том что кроме админов скрытый текст не видет ни кто.... но буду марочиться дальше....
Но начало положено может сами додумаете как сделать ...
подправил... вроде как... работает почти как надо ... только вот с модерами пока не разобрался...

короче сделал вот так строку...

if(($forum_user['g_id'] == FORUM_ADMIN) || ($forum_user['num_posts']) >= ($hide_count[1]))

буду рыть дальше или ждать кого поумней....

Сайт flashcat

Поделиться

13

Re: [Запрос] Скрытый текст

Похожее, но не то:
Hidden code - скрывает от гостей содержимое тега <code>
Hide urls - скрывает от гостей ссылки.

Добавлено спустя 1 минуту 20 секунд:

flashcat пишет:

что бы скрывать например пароли на архивы от не активных пользователей, ну например "написал ты программу и хочешь поделиться только с теми кто тоже что то делает", а не пришёл в первый раз утащил программу и больше не придёт... ставишь hide=100 что значит 100 сообщений надо чтоб увидеть скрытый текст... вот как то так.

Можно поставить расширение Hidden code и пихать текст, который "не для всех" в тег <code> wink
Только докрутить придётся, чтобы скрывало содержимое тега не только от гостей, но и от "прохожих" зарегистрированных, чтобы по количеству сообщений шел отсев. Но это уже не проблема smile

Добавлено спустя 8 минут 1 секунду:

А можно, кстати, создать новый тег на основе <code> - <hide> например - после подкрутить расширение Hidden code так, чтобы оно изменяло не <code>, а <hide>, с соответствующими ограничениями по количеству сообщений, после подстроить в css желаемый вид отображения для нового тега <hide> и вуаля - расширение Hidden Content готово wink

PunBB.Ru ☭

Сайт nobody

Поделиться

14 (24.05.2009 08:01 отредактировано Bad_Boy)

Re: [Запрос] Скрытый текст

Вобщем сделал так.
ВОЗМОЖНО, ЧТО_ТО НЕ ПРАВИЛЬНО. Поправьте пожалуйста cool
В PHP 0. Больше нечего сделать не смог. Кто может - помогите доделать, чтобы роботало hide=числопостов

Открыл parser.php

Добавил над
$pattern[] = '#\[b\](.*?)\[/b\]#ms';
это
$pattern[] = '#\[hide\](.*?)\[/hide\]#ms';

далее, над
$replace[] = '<strong>$1</strong>';
это
$replace[] = '<hide>$1</hide>';

Далее установил плагин - hidden_code_1.0.zip
Предварительно поправив его. изменил в нем code на hide и добавил русик)

Можно вообще без плагина. выдрать от туда код и вставить его в парсер(немного настроив пути к языкам).

Просто прячет под hide то, что туда засунут). Вроде даже работает big_smile

Поделиться