To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

Propozycje modyfikacji - [poprawka] BBCode Manager a tag HIDE

Infinitiv - 29-06-2012, 01:49
Temat postu: [poprawka] BBCode Manager a tag HIDE
Witam!
Po zainstalowaniu BBCode Managera wszystko działa świetnie, jest tylko jeden problem - zawartość tagu HIDE jest dostępna dla wszystkich userów, gdy korzystają oni z search.php, więc także po kliknięciu "Znajdź wszystkie posty użytkownika".
Proszę o pomoc, poprawne działanie tego tagu jest bardzo ważne dla mojego forum!

[ Dodano: 29-06-2012, 04:30 ]
Nieaktualne, udało mi się zdobyć odpowiednią, działającą funkcję. Gdyby kogoś interesowało rozwiązanie, to do pliku includes/users_bbcode.php należy dopisać następującą funkcję:
Kod:
function hide_bbcode ($txt)
{
    global $topic_id, $userdata, $db, $beerdata, $forum_topic_data, $post_id, $board_config, $forum_id, $replies_sql_checked, $postrow, $i;

    $beermod_unhide_forums = @explode(',', $board_config['beermod_unhide_forums']);

    if ( $postrow[$i]['post_id'] && !$post_id )
    {
        $post_id = $postrow[$i]['post_id'];
    }

    if ( $topic_id )
    {
        if ( $userdata['user_id'] == $forum_topic_data['topic_poster'] || @in_array($userdata['user_id'], $beerdata['user_ids'][$post_id]) && $post_id )
        {
            return $txt;
        }
        if ( !$userdata['user_level'] && $userdata['session_logged_in'] && !$replies_checked )
        {
            $sql = "    select     count(post_id) as total_count
                from     " . POSTS_TABLE . "
                where    topic_id = $topic_id
                and    poster_id = " . $userdata['user_id'] . "
                limit 1";
            $result = $db->sql_query($sql);
            $reply = $db->sql_fetchrow($result);
        }
        if ( $reply['total_count'] || $userdata['user_level'] )
        {
            return $txt;
        }
    }
    if ( !isset($replies_sql_checked) ) $replies_sql_checked = true;
    if ( @in_array($forum_id, $beermod_unhide_forums) )
    {
        return 'Wiadomoć została ukryta, aby j± przeczytać postaw autorowi posta piwo, lub odpowiedz na temat.';
    }
    return 'Wiadomoć została ukryta, aby j± przeczytać należy odpowiedzieć w temacie.';
}


Funkcję hide_bbcode należy ustawić w znaczniku [hide] (PA/BBCode Manager) przez "Użyj zaimplementowanej funkcji PHP". Działa z Beermodem.



Powered by phpBB modified by Przemo © 2003 phpBB Group