recent topics

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

recent topics

Bericht door LazyTiger » 27 mei 2004, 19:51

recent topics van phpbbhacks, geen idee of het first of second version is.
anyway, daar zit een zipbestandje in om recente topics op de index te laten verschijnen.
die heb ik dus geinstalleerd, alleen nu krijg ik de volgende fout:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /usr/home/mfo/public_html/phpBB2/recent.php on line 18

Code: Selecteer alles

$sql = "SELECT post_id
FROM slave1_posts;
if ( !($result = $db->sql_query($sql)) ) 
{ 
	message_die(GENERAL_ERROR, 'Could not obtain matched posts list', '', __LINE__, __FILE__, $sql);
}
$recent_ids = array();
while( $row = $db->sql_fetchrow($result) )
{
	$recent_ids[] = $row['post_id'];
}
$db->sql_freeresult($result);
regel 18 is: $recent_ids[] = $row['post_id'];

wat is er fout dan?

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 27 mei 2004, 19:55

$sql = "SELECT post_id
FROM slave1_posts;
Ik mis hier een " :)

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 27 mei 2004, 20:20

weet ik.. maar als die er wel staat, krijg ik een fout in regel 11: if ( !($result = $db->sql_query($sql)) )

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 27 mei 2004, 20:22

eindigt regel 10 dan nog wel op een ; :?:

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 27 mei 2004, 21:37

Code: Selecteer alles

$sql = "SELECT post_id 
FROM slave1_posts";
zo had ik het.

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 27 mei 2004, 21:43

Code: Selecteer alles

$sql = "SELECT post_id
FROM slave1_posts";
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not obtain matched posts list', '', __LINE__, __FILE__, $sql);
}
$recent_ids = array();
while( $row = $db->sql_fetchrow($result) )
{
   $recent_ids[] = $row['post_id'];
}
$db->sql_freeresult($result);
Ik heb dit stukje zelf getest, en er zitten geen syntax fouten in. Je moet het dus ergens anders gaan zoeken.

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 27 mei 2004, 21:48

hm... zal zaterdag dan eens kijken...
het is nu al laat, morgen examens en uitgaan. :thumb:

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 28 mei 2004, 17:21

heb toch vandaag nog even snel gekeken:

Code: Selecteer alles

$sql = "SELECT post_id
FROM slave1_posts";
if ( !($result = $db->sql_query($sql)) ) 
{ 
	message_die(GENERAL_ERROR, 'Could not obtain matched posts list', '', __LINE__, __FILE__, $sql);
}
$recent_ids = array();
while( $row = $db->sql_fetchrow($result) )
{
	$recent_ids[] = $row['post_id'];
}
$db->sql_freeresult($result);

$recent_forum = ( isset($HTTP_POST_VARS['forum']) ) ? intval($HTTP_POST_VARS['forum']) : -1;
if ( $recent_forum == -1 )
{
        $is_auth_ary = auth(AUTH_READ, AUTH_LIST_ALL, $userdata); 
        $ignore_forum_sql = '';
        while( list($key, $value) = each($is_auth_ary) )
        {
                if ( !$value['auth_read'] )
                {
                        $ignore_forum_sql .= ( ( $ignore_forum_sql != '' ) ? ', ' : '' ) . $key;
                }
        }
        if ( $ignore_forum_sql != '' )
        {
                $auth_sql .= ( $auth_sql != '' ) ? " AND f.forum_id NOT IN ($ignore_forum_sql) " : "f.forum_id NOT IN ($ignore_forum_sql) ";
        }
}
                if ( $recent_author == '' && $auth_sql == '' )
                {
                        $sql = "SELECT topic_id FROM slave1_posts
                                WHERE post_id IN (" . implode(", ", $recent_ids) . ") 
                                $where_sql GROUP BY topic_id";
                }
                else
                {
                        $from_sql = slave1_posts p"; 
de allerlaatste regel hier en de eerste regel. daar zit de fout in, want dan heb ik dus POSTS_TABLE uitgesloopt. echter, er stond maar er stond maar 1 punt en 1 aanhalingsteken of zo. (POSTS TABLE . ")

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 28 mei 2004, 17:56

Dit kan natuurlijk al niet:

Code: Selecteer alles

$from_sql = slave1_posts p";
(komma'tje " vergeten)

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 28 mei 2004, 18:06

weet ik.. maar als ik er wel 1 toevoeg, dan krijg ik een error in die regel.

of ik heb hem verkeerd geplaatst (voor slave1)

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 28 mei 2004, 18:08

Die komma moet er iig staan, als er een nieuwe error komt ligt dat ergens anders aan.

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 28 mei 2004, 18:12

foutje bij mij, hij verwijst terug naar regel 11: http://www.muziekforumonline.nl/phpBB2/recent.php

dus weer deze regel: if ( !($result = $db->sql_query($sql)) )

zo ziet het er nu uit:

Code: Selecteer alles

$sql = "SELECT post_id
FROM slave1_posts";
if ( !($result = $db->sql_query($sql)) ) 
{ 
	message_die(GENERAL_ERROR, 'Could not obtain matched posts list', '', __LINE__, __FILE__, $sql);
}
$recent_ids = array();
while( $row = $db->sql_fetchrow($result) )
{
	$recent_ids[] = $row['post_id'];
}
$db->sql_freeresult($result);

$recent_forum = ( isset($HTTP_POST_VARS['forum']) ) ? intval($HTTP_POST_VARS['forum']) : -1;
if ( $recent_forum == -1 )
{
        $is_auth_ary = auth(AUTH_READ, AUTH_LIST_ALL, $userdata); 
        $ignore_forum_sql = '';
        while( list($key, $value) = each($is_auth_ary) )
        {
                if ( !$value['auth_read'] )
                {
                        $ignore_forum_sql .= ( ( $ignore_forum_sql != '' ) ? ', ' : '' ) . $key;
                }
        }
        if ( $ignore_forum_sql != '' )
        {
                $auth_sql .= ( $auth_sql != '' ) ? " AND f.forum_id NOT IN ($ignore_forum_sql) " : "f.forum_id NOT IN ($ignore_forum_sql) ";
        }
}
                if ( $recent_author == '' && $auth_sql == '' )
                {
                        $sql = "SELECT topic_id FROM slave1_posts
                                WHERE post_id IN (" . implode(", ", $recent_ids) . ") 
                                $where_sql GROUP BY topic_id";
                }
                else
                {
                        $from_sql = "slave1_posts p";
daarna komen deze regels:

Code: Selecteer alles

if ( $auth_sql != '' )
                        {
                                $from_sql .= "slave1_forums f";
                                $where_sql .= " AND f.forum_id = p.forum_id AND $auth_sql";
                        }
                        $sql = "SELECT p.topic_id FROM $from_sql 
                                WHERE p.post_id IN (" . implode(", ", $recent_ids) . ") 
                                $where_sql GROUP BY p.topic_id";
                }
                if ( !($result = $db->sql_query($sql)) )
                {
                        message_die(GENERAL_ERROR, 'Could not obtain topic ids', '', __LINE__, __FILE__, $sql);
                }

                $recent_ids = array();
                while( $row = $db->sql_fetchrow($result) )
                {
                        $recent_ids[] = $row['topic_id'];
                }
                $db->sql_freeresult($result);

$auth_results = implode(', ', $recent_ids);
$where_part1 = ( $special_forums == '0' ) ? 't.topic_id IN ('.$auth_results.')' : 'f.forum_id IN ('.$forums.')';

$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time 
        FROM slave1_topics t, slave1_forums f, ". USERS_TABLE ." u, slave1_posts p, slave1_posts p2, ". USERS_TABLE ." u2
        WHERE $where_part1
              AND t.topic_poster = u.user_id
              AND f.forum_id = t.forum_id 
              AND p.post_id = t.topic_first_post_id
              AND p2.post_id = t.topic_last_post_id
              AND u2.user_id = p2.poster_id
        ORDER BY t.topic_last_post_id DESC LIMIT $limit";
if ( !$result = $db->sql_query($sql) )
{
        message_die(GENERAL_ERROR, 'Could not obtain main information', '', __LINE__, __FILE__, $sql);
}
$line = array();
while( $row = $db->sql_fetchrow($result) )
{
        $line[] = $row;
}
$db->sql_freeresult($result);		
	
(hopelijk niet te lang, anders zet ik het in een txt bestand.)

daarna komt nog wat, maar daar heb ik niks in gewijzigd.
maar volgens mij ligt het aan het 1ste gedeelte.

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 28 mei 2004, 21:08

haal van die regel eens 1 ) weg
Afbeelding

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 29 mei 2004, 11:19

zoals ik het nu zie zou dat dan niet meeer kloppen omdat er 3 open gaan en ook weer 3 dicht op dit moment.

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 29 mei 2004, 16:44

ow ja, had er een niet gezien die open ging :oops:
Afbeelding

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 29 mei 2004, 17:35

ik heb ff het originele bestand geupload.
ik krijg meteen een error.

en wel in deze regel:

Code: Selecteer alles

if ( !($result = $db->sql_query($sql)) )
dus het probleem was er al.

maar kijk eens naar deze code:

Code: Selecteer alles

$sql = "SELECT post_id FROM " . POSTS_TABLE;
kan dat ook zo? ik heb het namelijk nog nooit zo gezien.

anyway, ik heb die zin dus veranderd in:

Code: Selecteer alles

$sql = "SELECT post_id 
FROM slave1_posts"; 

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 29 mei 2004, 18:30

P.T. schreef:maar kijk eens naar deze code:

Code: Selecteer alles

$sql = "SELECT post_id FROM " . POSTS_TABLE;
kan dat ook zo?
Ja, waarom niet? :?:

P.T. schreef:ik heb het namelijk nog nooit zo gezien.anyway, ik heb die zin dus veranderd in:

Code: Selecteer alles

$sql = "SELECT post_id 
FROM slave1_posts"; 
Zou moeten werken... :?

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 30 mei 2004, 11:11

hm.. ja ik vond het er wazig uit zien.
anyway, in het bestand zelf zit dus zowiezo al een fout, zonder dat ik iets veranderd heb.

(ik ga er overigens vanuit dat het niet uitmaakt dat ik hem niet in de index heb geinclude en daar heb laten verschijnen)

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 30 mei 2004, 12:04

P.T. schreef:(ik ga er overigens vanuit dat het niet uitmaakt dat ik hem niet in de index heb geinclude en daar heb laten verschijnen)
Wat syntax betreft zou dat niet mogen uitmaken, op de werking heeft het miss wel invloed.

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 30 mei 2004, 15:48

nou doet hij het dus.
echter, ik wil hem wat verbouwen...

http://www.muziekforumonline.nl/phpBB2/index.php

ik wil eigenlijk dat hij ze in 2 kolommen zet.
langs elkaar.
dus in iedere kolom 5 ipv in iedere kolom 10 nu. (en dan dus ook niet dubbel)

maar hoe?

Gesloten