Problem mit den Recent Topics im ACP

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Udo
Beiträge: 54
Registriert: Di 06.Sep, 2005 19:46
Kontaktdaten:

Problem mit den Recent Topics im ACP

Beitrag von Udo »

Hallo, ich hätte da ein kleines Problem und weiß nicht mehr weiter.

Im CBack Orion Forum wird die Anzahl der Letzten Beiträge über die portal.php geregelt:

Code: Alles auswählen

// Number of Recent Topics (not Forum ID)
$CFG['number_recent_topics'] = '6';
Jetzt gibt es ja die Möglichkeit wie im PhpBB Plus dieses über das ACP zu regeln.
In der Anleitung des EZPortal_admin_v1.0.5 Mods soll man in der Portal lediglich folgendes ändern.
Den obigen Code gegen das hier ersetzen:

Code: Alles auswählen

// Number of Recent Topics (not Forum ID)
//$CFG['number_recent_topics'] = '6';
Die Änderungen an den Admindateien sind gemacht und wenn ich dort die Anzahl der Letzen Beiträge ändere werden diese auch in der Datenbank geändert.

Lediglich erhalte ich im Portal folgende Fehlermeldung:
Could not query recent topics information

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near '' at line 8

SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username FROM orion_topics AS t, orion_posts AS p, orion_users AS u WHERE t.forum_id NOT IN ('start') AND t.topic_status <> 2 AND p.post_id = t.topic_last_post_id AND p.poster_id = u.user_id ORDER BY p.post_id DESC LIMIT

Line : 239
File : portal.php
Der besagt Bereich ist folgender:

Code: Alles auswählen

$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username
		FROM " . TOPICS_TABLE . " AS t, " . POSTS_TABLE . " AS p, " . USERS_TABLE . " AS u
		WHERE t.forum_id NOT IN (" . $except_forum_id . ")
            AND t.topic_status <> 2
			AND p.post_id = t.topic_last_post_id
			AND p.poster_id = u.user_id
		ORDER BY p.post_id DESC
		LIMIT " . $CFG['number_recent_topics'];
if (!$result = $db->sql_query($sql))
{
	message_die(GENERAL_ERROR, 'Could not query recent topics information', '', __LINE__, __FILE__, $sql);
}
Wobei die Zeile 239 lediglich die fehlermeldung selbst ist

Code: Alles auswählen

message_die(GENERAL_ERROR, 'Could not query recent topics information', '', __LINE__, __FILE__, $sql);
Weiß jemand woran das liegen kann und wie ich das beseitigen kann.

Danke schonmal im voraus.

Udo
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Schau dir den EZPortal_admin_v1.0.5 nochmal etwas genauer an.
Wenn dur nur die von dir genannte Zeile auskommentierst, dann wird die Variable $CFG['number_recent_topics'] nicht definiert. Dadurch kommt es dann beim Datenbankzugriff zu einem Fehler, weil der SQL-Befehl einen Wert in $CFG['number_recent_topics'] erwartet.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hast Du in der portal.php auch diesen Block eingefügt:

Code: Alles auswählen

// Read Portal Configuration from DB
$CFG = array();
$sql = "SELECT * FROM " . PORTAL_TABLE;

if( !($result = $db->sql_query($sql)) )
{
	message_die(CRITICAL_ERROR, "Could not query config information", "", __LINE__, __FILE__, $sql);
}

while ( $row = $db->sql_fetchrow($result) )
{
	$CFG[$row['portal_name']] = $row['portal_value'];
}
???
Der gehört am besten nach

Code: Alles auswählen

//
// End session management
//
rein.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Udo
Beiträge: 54
Registriert: Di 06.Sep, 2005 19:46
Kontaktdaten:

Beitrag von Udo »

[quote="AmigaLink";p="73688"]Schau dir den EZPortal_admin_v1.0.5 nochmal etwas genauer an.
Wenn dur nur die von dir genannte Zeile auskommentierst, dann wird die Variable $CFG['number_recent_topics'] nicht definiert. Dadurch kommt es dann beim Datenbankzugriff zu einem Fehler, weil der SQL-Befehl einen Wert in $CFG['number_recent_topics'] erwartet.[/quote]

Das leuchtet mir schon ein. Nur wie gesagt soll die Anzahl der letzen Beiträge nicht manuell über die portal.php eingestellt werden sondern über das ACP.


@ Oxpus

Ja dieser teil ist schon Standartmäßig im Orion drin.

Udo
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Es funktioniert aber scheinbar so nicht, also würde ich das wieder manuell angeben damit die Anzeige keine Fehler aufwirft.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Udo
Beiträge: 54
Registriert: Di 06.Sep, 2005 19:46
Kontaktdaten:

Beitrag von Udo »

[quote="oxpus";p="73698"]Es funktioniert aber scheinbar so nicht, also würde ich das wieder manuell angeben damit die Anzeige keine Fehler aufwirft.[/quote]

Naja, ich dachte wenn das im PhhBB Plus 1.53 funktioniert dann müsste das doch auch om Orion zu schaffen sein.

Udo
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ja, sollte es auch.
Frag doch dann aber auch mal auf [url=htp://www.cback.de]Cback's Seite[/url] nach, vielleicht ist dort schon eine Lösung bekannt...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Udo
Beiträge: 54
Registriert: Di 06.Sep, 2005 19:46
Kontaktdaten:

Beitrag von Udo »

Ok werde ich das mal machen.

Udo
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

[quote="Udo";p="73692"][quote="AmigaLink";p="73688"]Schau dir den EZPortal_admin_v1.0.5 nochmal etwas genauer an.
Wenn dur nur die von dir genannte Zeile auskommentierst, dann wird die Variable $CFG['number_recent_topics'] nicht definiert. Dadurch kommt es dann beim Datenbankzugriff zu einem Fehler, weil der SQL-Befehl einen Wert in $CFG['number_recent_topics'] erwartet.[/quote]

Das leuchtet mir schon ein. Nur wie gesagt soll die Anzahl der letzen Beiträge nicht manuell über die portal.php eingestellt werden sondern über das ACP.[/quote]Genau deswegen solltest du dir den EZPortal_admin nochmal richtig ansehen.
Ich habe damit auf den Codeblock angespielt den oxpus gepostet hat. Ich hatte ihn nur spontan nicht greibar, sonst hätte ich ihn auch gepostet. :)
@ Oxpus

Ja dieser teil ist schon Standartmäßig im Orion drin.
Dann wäre eine Fehlerquelle schon mal ausgeschlossen. :)
Gibt es im ACP denn ein Feld in dem du die IDs bestimmen kannst? Normalerweise ist das IMHO nicht der Fall. Es sei denn du hast das Feld eingefügt.
Zuletzt geändert von AmigaLink am So 10.Jun, 2007 22:21, insgesamt 1-mal geändert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Udo
Beiträge: 54
Registriert: Di 06.Sep, 2005 19:46
Kontaktdaten:

Beitrag von Udo »

Ja ich hab das Feld hinzu gefügt und in der Datenbank wird die Anzahl auch geändert.
Bei der Eingabe über die portal.php verändert sich ja nicht in der DB.

Udo
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ok - Wo befindet sich der von oxpus gepostete code?
Ist der evtl. unterhalb des codes der dir die Fehlermeldung auswirft?
Zuletzt geändert von AmigaLink am Mo 11.Jun, 2007 14:03, insgesamt 1-mal geändert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Udo
Beiträge: 54
Registriert: Di 06.Sep, 2005 19:46
Kontaktdaten:

Beitrag von Udo »

Den Code hab ich nicht verändert da dieser ja schon im Orion drin ist.

Im Anhang ist mal die originale portal.php

Udo
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm, ich vergesse es immer wieder:
Das Portal des Orion verwendet den News MOD von Slashdog.
Der ist im ACP anders zu administrieren!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Udo
Beiträge: 54
Registriert: Di 06.Sep, 2005 19:46
Kontaktdaten:

Beitrag von Udo »

Ja aber es geht ja nicht um die News, sondern um die Box " Letzte Beiträge ".

Sollte das nicht funktionieren ist das auch nicht so tragisch.

Udo
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

D haben wir doch das Problem:

Code: Alles auswählen

// Recent Topics
//
$sql = "SELECT * FROM ". FORUMS_TABLE . " ORDER BY forum_id";
if (!$result = $db->sql_query($sql))
{
	message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
}
$forum_data = array();
while( $row = $db->sql_fetchrow($result) )
{
	$forum_data[] = $row;
}

$is_auth_ary = array();
$is_auth_ary = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata, $forum_data);

if( $CFG['exceptional_forums'] == '' )
{
	$except_forum_id = '\'start\'';
}
else
{
	$except_forum_id = $CFG['exceptional_forums'];
}

for ($i = 0; $i < count($forum_data); $i++)
{
	if ((!$is_auth_ary[$forum_data[$i]['forum_id']]['auth_read']) or ($forum_data[$i]['forum_password'] != '') or (!$is_auth_ary[$forum_data[$i]['forum_id']]['auth_view']))
	{
		if ($except_forum_id == '\'start\'')
		{
			$except_forum_id = $forum_data[$i]['forum_id'];
		}
		else
		{
			$except_forum_id .= ',' . $forum_data[$i]['forum_id'];
		}
	}
}
$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username
		FROM " . TOPICS_TABLE . " AS t, " . POSTS_TABLE . " AS p, " . USERS_TABLE . " AS u
		WHERE t.forum_id NOT IN (" . $except_forum_id . ")
            AND t.topic_status <> 2
			AND p.post_id = t.topic_last_post_id
			AND p.poster_id = u.user_id
		ORDER BY p.post_id DESC
		LIMIT " . $CFG['number_recent_topics'];
if (!$result = $db->sql_query($sql))
{
	message_die(GENERAL_ERROR, 'Could not query recent topics information', '', __LINE__, __FILE__, $sql);
}
$number_recent_topics = $db->sql_numrows($result);
$recent_topic_row = array();
while ($row = $db->sql_fetchrow($result))
{
	$recent_topic_row[] = $row;
}
for ($i = 0; $i < $number_recent_topics; $i++)
{
	$template->assign_block_vars('recent_topic_row', array(
		'U_TITLE' => append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $recent_topic_row[$i]['post_id']) . '#' .$recent_topic_row[$i]['post_id'],
		'L_TITLE' => $recent_topic_row[$i]['topic_title'],
		'U_POSTER' => append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $recent_topic_row[$i]['user_id']),
		'S_POSTER' => $recent_topic_row[$i]['username'],
		'S_POSTTIME' => create_date($board_config['default_dateformat'], $recent_topic_row[$i]['post_time'], $board_config['board_timezone'])
		)
	);
}
//
// END - Recent Topics
//

// Read Portal Configuration from DB
define('PORTAL_TABLE', $table_prefix.'portal');

$CFG = array();
$sql = "SELECT * FROM " . PORTAL_TABLE;

if( !($result = $db->sql_query($sql)) )
{
	message_die(CRITICAL_ERROR, "Could not query config information", "", __LINE__, __FILE__, $sql);
}

while ( $row = $db->sql_fetchrow($result) )
{
	$CFG[$row['portal_name']] = $row['portal_value'];
}
Das kann nicht Funktionieren! ;)
Die beiden Codeblöcke müssen genau anders herum sein. :)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Udo
Beiträge: 54
Registriert: Di 06.Sep, 2005 19:46
Kontaktdaten:

Beitrag von Udo »

Ok danke.

Ich versuch das später mal und melde mich dann nochmal.

Udo
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

:hh:
Bin ich blind !!!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Udo
Beiträge: 54
Registriert: Di 06.Sep, 2005 19:46
Kontaktdaten:

Beitrag von Udo »

[quote="oxpus";p="73736"]:hh:
Bin ich blind !!![/quote]

Wieso ?


@ AmigaLink

Thanks, jetzt funktioniert es :respect:

Udo
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Naja, ich hätte ja auch sehen müssen, daß die Blöcke falsch rum waren...

Okay, 4 Augen sehen besser als 2 ;)
Zuletzt geändert von oxpus am Mo 11.Jun, 2007 15:58, insgesamt 1-mal geändert.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

4 Augen sehen besser als 2 ;)
Eben. :)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Antworten