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

1.12.7 i starsze - Forum Enter Notyfication

starsky - 28-09-2008, 23:30

Aha,myślałem że to dozwolone bo widziałem to na co najmniej dwóch dużych forach.
a9u9u - 14-10-2008, 22:03

nie działa... zalogowałem się na konto testowe i normalnie mogę wejść na fora których id podałem w viewforum.php i viewtopic.php

w profilu mam ustawione (testowo) 16 lat i też... nawet jako gość :O

zapytanie do sql wysłane

proszę pomóżcie

koziolek - 15-10-2008, 08:52

Może pomoże :P
Kod:
###########################################

--> Otwórz plik: viewforum.php <--

-> ZNAJDŹ: <--

    //
    // Handle marking posts

--> PRZED TYM DODAJ: <--

if( $HTTP_GET_VARS['e'] && !$userdata['user_eighteen'] )
    {
        $e_sql = "UPDATE " . USERS_TABLE . " SET user_eighteen = 1 WHERE user_id = " . $userdata['user_id'];
            if ( !$db->sql_query($e_sql) )
                { message_die(GENERAL_ERROR, 'Cannot check if user is 18-teen', '',__LINE__, __FILE__, $e_sql); }
    }

if( $forum_id == 17 && !($HTTP_GET_VARS['e']) && !$userdata['user_eighteen'] )
    {
        $eighteen_message = '<b>Te forum zawiera tre&#182;ci dozwolone od lat 18!</b><BR /> Czy jeste&#182; pewny że możesz wej&#182;ć?<BR /><BR /><b><a class="postlink" href="' . append_sid('viewforum.php?' . POST_FORUM_URL . '=' . $forum_id . '&e=1') . '">TAK</a>&nbsp;&nbsp;&nbsp;<a class="postlink" href="' . append_sid('index.php') . '">NIE</a></b>';

        message_die(GENERAL_MESSAGE, $eighteen_message);
    }

--> ZAPISZ I ZAMKNIJ PLIK <--

###########################################

--> Otwórz plik: vietwopic.php <--

-> ZNAJDŹ: <--

    // END Password check

--> PO TYM DODAJ: <--

if( $HTTP_GET_VARS['e'] && !$userdata['user_eighteen'] )
    {
        $e_sql = "UPDATE " . USERS_TABLE . " SET user_eighteen = 1 WHERE user_id = " . $userdata['user_id'];
            if ( !$db->sql_query($e_sql) )
                { message_die(GENERAL_ERROR, 'Cannot check if user is 18-teen', '',__LINE__, __FILE__, $e_sql); }
    }

if( $forum_id == 17 && !($HTTP_GET_VARS['e']) && !$userdata['user_eighteen'] ) // Tutaj podaj ID tematu
    {
        $url = ( $HTTP_GET_VARS[POST_POST_URL]) ) ? POST_POST_URL.'='.$HTTP_GET_VARS[POST_POST_URL].'#.'.$HTTP_GET_VARS[POST_POST_URL] : POST_TOPIC_URL.'='.$HTTP_GET_VARS[POST_TOPIC_URL];

        // W tym miejscu możesz zmienić treść powiadomienia
        $eighteen_message = '<b>Te forum zawiera tre&#182;ci dozwolone od lat 18!</b><BR /> Czy jeste&#182; pewny że możesz wej&#182;ć?<BR /><BR /><b><a class="postlink" href="' . append_sid('viewforum.php?'.$url . '&e=1') . '">TAK</a>&nbsp;&nbsp;&nbsp;<a class="postlink" href="' . append_sid('index.php') . '">NIE</a></b>';

        message_die(GENERAL_MESSAGE, $eighteen_message);
    }

--> ZAPISZ I ZAMKNIJ PLIK <--

###########################################
W phpBB używa się $HTTP_GET_VARS zamiast $_GET, chociaż jak masz php 5 na serwerze to też powinno działać.\
A w vietwopic.php w linku "TAK" nie było e=1 :P

[ Dodano: 15-10-2008, 09:53 ]
I jeszcze sprawdź czy ktoś inny nie logował się na konto testowe i nie kliknął już "TAK" :P
Kod:
SELECT user_eighteen FROM phpbb_users WHERE username = 'test';

a9u9u - 16-10-2008, 16:52

a można zastosować coś takiego:

Kod:
$forum_ids == (17,18,19,22,142)


?

koziolek - 16-10-2008, 18:14

KarolinaITomek napisał/a:
a można zastosować coś takiego:
Nie :P

Trzeba tak:
Kod:
in_array($forum_ids, array(17,18,19,22,142))
;)

a9u9u - 16-10-2008, 21:00

nie wiem co jest nie tak, ale po wejściu w tematy jest taki błąd:

Kod:
Parse error: syntax error, unexpected ')' in /home/link4you/domains/link4you.pl/public_html/viewtopic.php on line 367


w viewtopic.php dałem:

Kod:
if( $HTTP_GET_VARS['e'] && !$userdata['user_eighteen'] )
    {
        $e_sql = "UPDATE " . USERS_TABLE . " SET user_eighteen = 1 WHERE user_id = " . $userdata['user_id'];
            if ( !$db->sql_query($e_sql) )
                { message_die(GENERAL_ERROR, 'Cannot check if user is 18-teen', '',__LINE__, __FILE__, $e_sql); }
    }

if( in_array($forum_ids, array(16,141,142,143,144,195,197)) && !($HTTP_GET_VARS['e']) && !$userdata['user_eighteen'] ) // Tutaj podaj ID tematu
    {
        $url = ( $HTTP_GET_VARS[POST_POST_URL]) ) ? POST_POST_URL.'='.$HTTP_GET_VARS[POST_POST_URL].'#.'.$HTTP_GET_VARS[POST_POST_URL] : POST_TOPIC_URL.'='.$HTTP_GET_VARS[POST_TOPIC_URL];

        // W tym miejscu możesz zmienić treść powiadomienia
        $eighteen_message = '<b>Te forum zawiera tre&#182;ci dozwolone od lat 18!</b><BR /> Czy jeste&#182; pewny że możesz wej&#182;ć?<BR /><BR /><b><a class="postlink" href="' . append_sid('viewforum.php?'.$url . '&e=1') . '">TAK</a>&nbsp;&nbsp;&nbsp;<a class="postlink" href="' . append_sid('index.php') . '">NIE</a></b>';

        message_die(GENERAL_MESSAGE, $eighteen_message);
    }


a w viewforum.php to:

Kod:

if( $HTTP_GET_VARS['e'] && !$userdata['user_eighteen'] )
    {
        $e_sql = "UPDATE " . USERS_TABLE . " SET user_eighteen = 1 WHERE user_id = " . $userdata['user_id'];
            if ( !$db->sql_query($e_sql) )
                { message_die(GENERAL_ERROR, 'Cannot check if user is 18-teen', '',__LINE__, __FILE__, $e_sql); }
    }

if( in_array($forum_ids, array(16,141,142,143,144,195,197)) && !($HTTP_GET_VARS['e']) && !$userdata['user_eighteen'] )
    {
        $eighteen_message = '<b>Te forum zawiera tre&#182;ci dozwolone od lat 18!</b><BR /> Czy jeste&#182; pewny że możesz wej&#182;ć?<BR /><BR /><b><a class="postlink" href="' . append_sid('viewforum.php?' . POST_FORUM_URL . '=' . $forum_id . '&e=1') . '">TAK</a>&nbsp;&nbsp;&nbsp;<a class="postlink" href="' . append_sid('index.php') . '">NIE</a></b>';

        message_die(GENERAL_MESSAGE, $eighteen_message);
    }


linia 367 z viewtopic.php to:

Kod:
$url = ( $HTTP_GET_VARS[POST_POST_URL]) ) ? POST_POST_URL.'='.$HTTP_GET_VARS[POST_POST_URL].'#.'.$HTTP_GET_VARS[POST_POST_URL] : POST_TOPIC_URL.'='.$HTTP_GET_VARS[POST_TOPIC_URL];


ale ja zawracam głowę... ale niestety nie domyślam się nawet co jest nie tak :/

koziolek - 16-10-2008, 21:04

ma być:
Kod:
$url = ( $HTTP_GET_VARS[POST_POST_URL] ) ? POST_POST_URL.'='.$HTTP_GET_VARS[POST_POST_URL].'#.'.$HTTP_GET_VARS[POST_POST_URL] : POST_TOPIC_URL.'='.$HTTP_GET_VARS[POST_TOPIC_URL];


[ Dodano: 16-10-2008, 22:05 ]
KarolinaITomek napisał/a:
ale ja zawracam głowę...
po to jest forum ;)
Anonymous - 28-11-2008, 19:04

Ogólnie tu jest błąd:

Cytat:
$eighteen_message = '<b>Te forum zawiera tre¶ci dozwolone od lat 18!</b><BR /> Czy jeste¶ pewny że możesz wej¶ć?<BR /><BR /><b><a class="postlink" href="' . append_sid('viewforum.php?' . POST_FORUM_URL . '=' . $forum_id . '&e=1') . '">TAK</a>&nbsp;&nbsp;&nbsp;<a class="postlink" href="' . append_sid('index.php') . '">NIE</a></b>';


Powinno być:
Cytat:
$eighteen_message = '<b>Te forum zawiera tre¶ci dozwolone od lat 18!</b><BR /> Czy jeste¶ pewny że możesz wej¶ć?<BR /><BR /><b><a class="postlink" href="' . append_sid('viewtopic.php?' . POST_FORUM_URL . '=' . $forum_id . '&e=1') . '">TAK</a>&nbsp;&nbsp;&nbsp;<a class="postlink" href="' . append_sid('index.php') . '">NIE</a></b>';


[ Dodano: 28-11-2008, 21:29 ]
Co zrobić jak temat ma 2 strony ? Po zaakceptowaniu cofa zawsze do 1...

[ Dodano: 28-11-2008, 21:54 ]
ok naprawiłem

Majesty - 04-01-2009, 15:42

Ja to wykorzystam inaczej :D
"Jeśli jesteś idiotą lepiej tu nie wchodź bo nic nie zrozumiesz" xDD

strzelba - 09-03-2009, 11:22

witam
mam problem z ta modyfikacja
po instalacji dzieje sie cos takiego:
jesli ktos jeszcze nigdy nie wchodzil do X dzialu a chce przeczytas posta z takiego dzialu i przechodzi bezposrednio z "Zobacz posty nieprzeczytane" to po kliknieciu na TAK wyswietla sie komunikat "Nie znaleziono forum"
ale jesli to uczyni przechodzac przez poszczegolne dzialy to jest ok (bo nie wchodzi bezposrednio na dany post tylko wchodzi do danego dzialu X)
moze mi ktos z tym pomoc

[ Dodano: 09-03-2009, 12:09 ]
dobra juz nie wazne dalem rade

Pawlok - 30-03-2009, 19:08

Nie da sie wykonac zapytania SQL bo wyskakuje bład

Kod:
#1146 - Table 'nazwa bazy danych.phpbb_users' doesn't exist

xlesiu - 30-03-2009, 19:10

Pawlok, oczywiście za nazwa bazy danych wpisałeś nazwę swojej bazy ?
Pawlok - 30-03-2009, 19:13

xlesiu, robie to zapytanie co w instrukcji:

Kod:
ALTER TABLE `phpbb_users` ADD `user_eighteen` tinyint(1) NOT NULL DEFAULT 0;


i wyskakuje mi to na czerwono:

Kod:
#1146 - Table 'nazwa bazy danych.phpbb_users' doesn't exist


w miescu nazwa bazy danych pisze moja nazwa jaka istnieje

xlesiu - 30-03-2009, 19:17

Pawlok,jeżeli robisz to przez phpmyadmin to najpierw kliknij po lewej stronie nazwę bazy i dopiero wtedy wejdź do zakładki SQL i wykonaj zapytanie.
Pawlok - 30-03-2009, 19:21

xlesiu, tak wlasnie robie i dalej bład.

Przez phpmyadmin na hostingu i nawet próbowałem przez Panel Administratora to wyskakuje:

Kod:
Błąd Ogólny
Nie mogę wykonać: ALTER TABLE `phpbb_users` ADD `user_eighteen` tinyint(1) NOT NULL DEFAULT 0


Teraz to mi sie nawet tematy inne nie otwieraja bo pisze:

Kod:
Parse error: syntax error, unexpected ')' in /home/mp1987/domains/music-dance.activh.pl/public_html/viewtopic.php on line 365


A zrobiłem jak w instrukcji tylko bez SQL bo nie chce wykonac!
BUUUU



Powered by phpBB modified by Przemo © 2003 phpBB Group