1 (10.04.2006 05:57 отредактировано vvik)

Тема: тэг [hide]

проба пера, грубый набросок
файл include\parser.php

перед

    $pattern = array('#\[b\](.*?)\[/b\]#s',

добавляем первый код из второго поста

з.ы. эмм...  а как бы еще параметр передавать? т.е. если

[hide=10]sample text[/hide]

то текст высвечивается только при наличии у юзера более 10 постов.

just imho

Поделиться

2 (10.04.2006 05:55 отредактировано vvik)

Re: тэг [hide]

в общем на последнее (с ограничением на количество постов)
пришлось двумя if'ами sad как все в одно совместить - не в курсах, а мож оно так и лучше...
правда в конце концов надо будет еще post.php корректировать, чтобы при цитировании хайд оставался хайдом, если оно для текущего юзера запрещено. (проще и имхо актуальнее вообще не показывать скрытый текст в цитате - код ниже).

гляньте плз, если ошибки где в коде.

// begin test "hide" with "="
// если указано число ограничение постов  [hide=число_ограничения_постов]
    if (strpos($text, 'hide=') !== false)
    {
        if ($pun_user['is_guest'])
        {
                $text = preg_replace("#\[hide=([0-9]*)](.+?)\[/hide\]#is", '<b>[hided text]</b>', $text);
        }
        else 
        {
// выбираем число для ограничения из [hide=число_ограничения_постов] - по идее должно оказаться в $hide_count[1] =)
            preg_match('#\[hide=([0-9]*)]#s',$text,$hide_count);
// админы, модеры и те, у кого количество постов больше, чем указано в ограничении - входят в if
            if(($pun_user['g_id'] == PUN_MOD) || ($pun_user['g_id'] == PUN_ADMIN) || (($pun_user['num_posts']) >= ($hide_count[1])))
            {
                $text = preg_replace('#\[hide=([0-9]*)](.*?)\[/hide\]#s', '<blockquote>hided=$1:<br><i>$2</i></blockquote>', $text);
            }
            else
            {
// иначе обламываем и говорим, сколько постов необходимо набрать, чтобы увидеть скрытый 
                $text = preg_replace("#\[hide=([0-9]*)](.+?)\[/hide\]#is", '<b>[hided text. u need '.$hide_count[1].' messages or more.]</b>', $text);
            }
        }
    }
// another "hide"
// ну, тут все без изменений
    if (strpos($text, 'hide') !== false)
    {
        if ($pun_user['is_guest'])
        {
                $text = preg_replace("#\[hide\](.+?)\[/hide\]#is", '<b>[hided text]</b>', $text);
        }
        else 
        {
            $text = str_replace('[hide]', '<blockquote>hided:<br><i>', $text);
            $text = preg_replace('#\[\/hide\]\s*#', '</i></blockquote>', $text);
        }
    }    
// end test "hide"

чтобы скрытый текст нельзя было процитировать в ответе, в post.php
перед этой строкой

        $q_message = pun_htmlspecialchars($q_message);

надо добавить вот эти две строчки

        $q_message = preg_replace("#\[hide=([0-9]*)](.+?)\[/hide\]#is", '[b][hided text][/b]', $q_message);
        $q_message = preg_replace("#\[hide](.+?)\[/hide\]#is", '[b][hided text][/b]', $q_message);
just imho

Поделиться

3

Re: тэг [hide]

кому нить вообще эт надо? hmm

just imho

Поделиться

4

Re: тэг [hide]

ДА, я уже поставил. удобно скрываться от поисковиков и гостей.

Сайт kisin

Поделиться

5

Re: тэг [hide]

зарелизил
www.punres.org/viewtopic.php?id=1322

русский язык для него:

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

мож кому пригодится. если есть идеи как и что улучшить в самом коде - буду благодарен и, конечно же, впишу имя в заголовок smile

just imho

Поделиться

6

Re: тэг [hide]

vvik

Работает.
Прикольный модик. Мне понравился.
Не понял как задавать значение на зависимость возможности просмотра скрытого текста от постов?

ERROR - MIRROR

Поделиться

7

Re: тэг [hide]

просто писать не [hide][/hide], а [hide=33][/hide]
там считается как два разных тэга со знаком "=" и без него

just imho

Поделиться

8

Re: тэг [hide]

Блин классно! Сами юзеры могут устанавливать smile

ERROR - MIRROR

Поделиться

9

Re: тэг [hide]

ну да, даже гости - только потом сами обломаются смотреть свой же скрытый текст smile

just imho

Поделиться

10

Re: тэг [hide]

С гостями не тестил - у меня строгая регистрация.

Идейка такая есть:
Чтобы как-то показывалось для тех, кто видит текст - каким образом он скрыт.
Например так:
Этот текст скрыт только от незарегистрированных юзеров.
Этот текст скрыт от юзеров ещё не имеющих 10 постов.
Этот текст скрыт от юзеров ещё не имеющих 50 постов.
И т.д.
А то он скрыт, а не понятно от кого.

ERROR - MIRROR

Поделиться

11

Re: тэг [hide]

как так непонятно? если чел зарегистрировался, то ему показывается, сколько постов ему надо набрать, чтобы увидеть скрытый текст
а для гостей - все едино, они все равно не могут посты набирать (они же гости)

just imho

Поделиться

12

Re: тэг [hide]

Я говорю только про тех кто видит (разрешено).
Т.е. понятно что тот, кому запрещено - он видит почему он не видит, а также об этом знает тот кто постил (потому что он сам выбрал число).
Но те кто видят не знают от кого текст скрыт они видят надпись "Скрытый текст:" и всё.
А например лучше было бы если бы они видели соответственно надписи:

Этот текст скрыт только от незарегистрированных юзеров.
Этот текст скрыт от юзеров ещё не имеющих 10 постов.
Этот текст скрыт от юзеров ещё не имеющих 50 постов.
Этот текст скрыт от юзеров ещё не имеющих 150 постов.
Этот текст скрыт от юзеров ещё не имеющих 390 постов.
И т.д.

ERROR - MIRROR

Поделиться

13

Re: тэг [hide]

а, понял

just imho

Поделиться

14 (11.04.2006 00:20 отредактировано vvik)

Re: тэг [hide]

панрес что-то не открывается, но вот апдейт

##
##
##        Mod title:  tag [hide]
##
##      Mod version:  1.1
##   Works on PunBB:  1.2.11
##     Release date:  2006-04-11
##           Author:  angelsin (board.angelsin.net)
##
##      Description:  zero: sorry for poor eng =)
##      update - just if u need it
##      that update add text for authorized users - how many posts  
##      need for non authorized users to see hidden text
##      thnx for idea Demo from punbb.ru =)
##
##
##   Affected files:  include/parser.php
##                    lang/LANGUAGE/topic.php 
##                    
##       Affects DB:  No
##
##            Notes:  None
##
##       DISCLAIMER:  Please note that "mods" are not officially supported by
##                    PunBB. Installation of this modification is done at your
##                    own risk. Backup your forum database and any and all
##                    applicable files before proceeding.
##
##
#
#
#---------[ 1. MAKE BACKUP! ]---------------------------------------------
#
    Copy affected files and save it!.
#
#---------[ 2. OPEN ]-----------------------------------------------------
#
    include/parser.php
#
#---------[ 3. FIND ]-----------------------------------------------------
#

                $text = preg_replace('#\[hide=([0-9]*)](.*?)\[/hide\]#s', '<blockquote>'.$lang_topic['Hidden text'].':<br><i>$2</i></blockquote>', $text);

#
#---------[ 4. REPLACE WITH ]---------------------------------------------
#

                $text = preg_replace('#\[hide=([0-9]*)](.*?)\[/hide\]#s', '<blockquote>'.$lang_topic['Hidden text count'].' '.$hide_count[1].':<br><i>$2</i></blockquote>', $text);

#
#---------[ 5. OPEN ]----------------------------------------------------
#
    lang/LANGUAGE/topic.php
#
#---------[ 6. FIND ]----------------------------------------------------
#

'Hidden text'                =>    'Hidden text',

#
#---------[ 7. ADD AFTER ]-----------------------------------------------
#

'Hidden text count'            =>    'Hidden text can view with posts equal or more',

#
#---------[ 8. SAVE/UPLOAD ]----------------------------------------------
#

enjoy =)

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

just imho

Поделиться

15

Re: тэг [hide]

Ага, классно!

ERROR - MIRROR

Поделиться

16

Re: тэг [hide]

Если нужна ещё идейка то могу подкинуть smile

Значит ситуация такая:
два юзверя плотно общаются в теме с переходом на личностные отношения, выяснение отношений (очень частое явление). Само собой их пререкания видеть никому не надо... вот тут им кстати можно использовать скрытый текст, адресованный для просмотра только им двоим.

Например другим юзверям светится надпись: "Этот текст может просмотреть только юзер  под ником NIKNAME".
И естественно юзверь NIKNAME его читает под надписью "Скрытый текст:".

Что-то типа ткого варианта:

[hide=NIKNAME]sample text[/hide]
ERROR - MIRROR

Поделиться

17 (11.04.2006 02:31 отредактировано kisin)

Re: тэг [hide]

Demo пишет:

Если нужна ещё идейка то могу подкинуть smile

Значит ситуация такая:
два юзверя плотно общаются в теме с переходом на личностные отношения, выяснение отношений (очень частое явление). Само собой их пререкания видеть никому не надо... вот тут им кстати можно использовать скрытый текст, адресованный для просмотра только им двоим.

Например другим юзверям светится надпись: "Этот текст может просмотреть только юзер  под ником NIKNAME".
И естественно юзверь NIKNAME его читает под надписью "Скрытый текст:".

Что-то типа ткого варианта:

[hide=NIKNAME]sample text[/hide]

АГА, только что об этом подумал. было бы очень неплохо..ну и естейственно все скрытое должно быть доступно администратору smile

Сайт kisin

Поделиться

18 (11.04.2006 03:12 отредактировано vvik)

Re: тэг [hide]

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

джаст имхо
саму обработку hide=NIKNAME заюзать можно, но вот актуальности - как то не видно: иначе ПМ для чего?
вот для чего можно hide=NIKNAME еще заюзать?

just imho

Поделиться

19

Re: тэг [hide]

Ну это же к примеру выяснение отношений. Юзвери народ догадливый, применят ещё куда-нить smile

ERROR - MIRROR

Поделиться

20

Re: тэг [hide]

тогда уж подойдет что то типа такого мода www.ibresource.ru/db/434/ а не хайд

just imho

Поделиться

21

Re: тэг [hide]

Тоже прикольно. Но гемороя наверно.....
Это что-то типа личной гостевой для каждого отдельно взятого юзера.

ERROR - MIRROR

Поделиться

22

Re: тэг [hide]

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

just imho

Поделиться

23

Re: тэг [hide]

От поиска данный тег не скрывает
А польза имхо больше не от hide=NIKNAME, а от hide=GROUPNAME.

Поделиться

24

Re: тэг [hide]

Спасибо за мод smile

Поделиться

25 (03.06.2006 12:13 отредактировано SDTux)

Re: тэг [hide]

Мод интересный, на тему hide=GROUPNAME согласен - оно явнополезнее, ибо hide=NIKNAME - это личка, зачем дублировать функции?

"Мнение большинства не является критерием истины."

Сайт SDTux

Поделиться