Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2006-04-09 02:06:01

vvik
Гость

тэг [hide]

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

перед

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

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

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

[hide=10]sample text[/hide]

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

Редактировался vvik (2006-04-10 16:57:52)

#2 2006-04-10 16:12:45

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);

Редактировался vvik (2006-04-10 16:55:43)

#3 2006-04-10 16:54:50

vvik
Гость

Re: тэг [hide]

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

#4 2006-04-10 18:15:23

kisin
Гость

Re: тэг [hide]

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

#5 2006-04-10 23:24:50

vvik
Гость

Re: тэг [hide]

зарелизил
http://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

#6 2006-04-11 03:42:27

Demo
Гость

Re: тэг [hide]

vvik

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

#7 2006-04-11 09:24:41

vvik
Гость

Re: тэг [hide]

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

#8 2006-04-11 09:46:39

Demo
Гость

Re: тэг [hide]

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

#9 2006-04-11 09:47:44

vvik
Гость

Re: тэг [hide]

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

#10 2006-04-11 09:57:22

Demo
Гость

Re: тэг [hide]

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

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

#11 2006-04-11 10:20:22

vvik
Гость

Re: тэг [hide]

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

#12 2006-04-11 10:45:07

Demo
Гость

Re: тэг [hide]

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

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

#13 2006-04-11 10:57:17

vvik
Гость

Re: тэг [hide]

а, понял

#14 2006-04-11 11:19:07

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 =)

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

Редактировался vvik (2006-04-11 11:20:51)

#15 2006-04-11 11:51:14

Demo
Гость

Re: тэг [hide]

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

#16 2006-04-11 12:55:34

Demo
Гость

Re: тэг [hide]

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

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

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

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

[hide=NIKNAME]sample text[/hide]

#17 2006-04-11 13:23:57

kisin
Гость

Re: тэг [hide]

Demo пишет:

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

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

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

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

[hide=NIKNAME]sample text[/hide]

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

Редактировался kisin (2006-04-11 13:31:33)

#18 2006-04-11 14:07:31

vvik
Гость

Re: тэг [hide]

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

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

Редактировался vvik (2006-04-11 14:12:25)

#19 2006-04-11 14:43:23

Demo
Гость

Re: тэг [hide]

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

#20 2006-04-11 23:29:03

vvik
Гость

Re: тэг [hide]

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

#21 2006-04-11 23:48:11

Demo
Гость

Re: тэг [hide]

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

#22 2006-04-11 23:51:18

vvik
Гость

Re: тэг [hide]

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

#23 2006-05-04 02:41:16

rits
Гость

Re: тэг [hide]

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

#24 2006-05-04 04:35:49

masta
Гость

Re: тэг [hide]

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

#25 2006-05-28 21:03:08

SDTux
Гость

Re: тэг [hide]

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

Редактировался SDTux (2006-06-03 23:13:03)

Подвал доски

Под управлением FluxBB. Хостинг Hostens