Pagina 1 van 3
recent topics
Geplaatst: 27 mei 2004, 19:51
door LazyTiger
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?
Geplaatst: 27 mei 2004, 19:55
door mosymuis
$sql = "SELECT post_id
FROM slave1_posts;
Ik mis hier een "

Geplaatst: 27 mei 2004, 20:20
door LazyTiger
weet ik.. maar als die er wel staat, krijg ik een fout in regel 11: if ( !($result = $db->sql_query($sql)) )
Geplaatst: 27 mei 2004, 20:22
door mosymuis
eindigt regel 10 dan nog wel op een ;

Geplaatst: 27 mei 2004, 21:37
door LazyTiger
Geplaatst: 27 mei 2004, 21:43
door mosymuis
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.
Geplaatst: 27 mei 2004, 21:48
door LazyTiger
hm... zal zaterdag dan eens kijken...
het is nu al laat, morgen examens en uitgaan. :thumb:
Geplaatst: 28 mei 2004, 17:21
door LazyTiger
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 . ")
Geplaatst: 28 mei 2004, 17:56
door mosymuis
Dit kan natuurlijk al niet:
(komma'tje " vergeten)
Geplaatst: 28 mei 2004, 18:06
door LazyTiger
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)
Geplaatst: 28 mei 2004, 18:08
door mosymuis
Die komma moet er iig staan, als er een nieuwe error komt ligt dat ergens anders aan.
Geplaatst: 28 mei 2004, 18:12
door LazyTiger
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.
Geplaatst: 28 mei 2004, 21:08
door Luuk
haal van die regel eens 1 ) weg
Geplaatst: 29 mei 2004, 11:19
door LazyTiger
zoals ik het nu zie zou dat dan niet meeer kloppen omdat er 3 open gaan en ook weer 3 dicht op dit moment.
Geplaatst: 29 mei 2004, 16:44
door Luuk
ow ja, had er een niet gezien die open ging

Geplaatst: 29 mei 2004, 17:35
door LazyTiger
ik heb ff het originele bestand geupload.
ik krijg meteen een error.
en wel in deze regel:
dus het probleem was er al.
maar kijk eens naar deze code:
kan dat ook zo? ik heb het namelijk nog nooit zo gezien.
anyway, ik heb die zin dus veranderd in:
Geplaatst: 29 mei 2004, 18:30
door mosymuis
P.T. schreef:maar kijk eens naar deze code:
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:
Zou moeten werken...

Geplaatst: 30 mei 2004, 11:11
door LazyTiger
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)
Geplaatst: 30 mei 2004, 12:04
door mosymuis
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.
Geplaatst: 30 mei 2004, 15:48
door LazyTiger
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?