[Meeting-Mod] SQL Fehler (gelöst)

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Overhead
Mitglied
Beiträge: 609
Registriert: 13.03.2007 16:04
Wohnort: Germersheim

[Meeting-Mod] SQL Fehler (gelöst)

Beitrag von Overhead »

Wenn ich im ACP in der Benutzer-Adminstration auf Benutzer finden klicke kommt folgende Meldung im Suchfenster (popup).
Allgemeiner Fehler

Could not get meeting access data

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6

SELECT g.group_id FROM phpbb_groups g, phpbb_user_group ug WHERE g.group_id = 69 AND g.group_id = ug.group_id AND ug.user_pending <> 1 AND g.group_single_user <> 1 AND ug.user_id =

Line : 96
File : page_header.php
im betreffenden Bereich der page_header.php finde ich keinen Fehler - oder habe ich etwas übersehen?

Code: Alles auswählen

		$sql_auth_id = "SELECT g.group_id FROM " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug
					WHERE g.group_id = $meeting_group
					AND g.group_id = ug.group_id
					AND ug.user_pending <> " . TRUE . "
					AND g.group_single_user <> " . TRUE . "
					AND ug.user_id = " . $userdata['user_id'];
			if ( !$result_auth_id = $db->sql_query($sql_auth_id) )
			{
				message_die(GENERAL_ERROR, 'Could not get meeting access data', '', __LINE__, __FILE__, $sql_auth_id);
Anscheinend wird wohl die User-Id oder die Session-Id oder auch beide zwar übergeben - aber dann nicht mehr richtig aufgelöst.

Hat jemand eine Idee wie ich das Problem lösen kann? Danke!

EDIT: Hier der Link zur page_header.txt.

cu Overhead
Zuletzt geändert von Overhead am 30.04.2007 14:11, insgesamt 2-mal geändert.
== MAKE MY DAY ==
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Meine grauen Augen zeigen mir
Could not get meeting access data
somit ist da wohl ein Fehler im Meetings Mod den Du wohl eingebaut hast. Ergo -> MOD Support Anfrage...

Ich schiebe.

Grüße,
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Benutzeravatar
Overhead
Mitglied
Beiträge: 609
Registriert: 13.03.2007 16:04
Wohnort: Germersheim

Beitrag von Overhead »

@ cYbercOsmOnauT

das dachte ich zuerst auch - aber der Fehlerteufel wirkt sich zwar bei dem Mod aus, kommt aber woanders her - Modeinbau hat sauber geklappt und der funktioniert auch ohne Probleme!

Hier passiert etwas sehr seltsames - der Mod wirft die Fehlermeldung aus wie Du bereits vermutet hast - ich habe eine original page_header.php eingebaut und der Fehler kommt nicht!

Ich habe die Codezeilen aber vollständig aus der Einbauanleitung übernommen! Denn dort heisst es:

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#
includes/page_header.php

#
#-----[ FIND ]------------------------------------------
#
//
// Parse and show the overall header.
//

#
#-----[ BEFORE, ADD ]------------------------------------------
#
// START Meeting Mod
if ( $gen_meeting_header !== FALSE )
{
	// Get access status for all meetings
	$sql = "SELECT m.meeting_id, mg.meeting_group FROM " . MEETING_DATA_TABLE . " m, " . MEETING_USERGROUP_TABLE . " mg
		WHERE mg.meeting_id = m.meeting_id";
	if ( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, 'Could not get meeting usergroups', '', __LINE__, __FILE__, $sql);
	}

	$meetings_access_ids = array();

	while ( $row = $db->sql_fetchrow($result) )
	{
		$meeting_id = $row['meeting_id'];
		$meeting_group = $row['meeting_group'];

		if ( $meeting_group == -1 )
		{
			$meetings_access_ids[] = $meeting_id;
		}
		else
		{
			$sql_auth_id = "SELECT g.group_id FROM " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug
					WHERE g.group_id = $meeting_group
					AND g.group_id = ug.group_id
					AND ug.user_pending <> " . TRUE . "
					AND g.group_single_user <> " . TRUE . "
					AND ug.user_id = " . $userdata['user_id'];
			if ( !$result_auth_id = $db->sql_query($sql_auth_id) )
			{
				message_die(GENERAL_ERROR, 'Could not get meeting access data', '', __LINE__, __FILE__, $sql_auth_id);
			}

			$count_usergroups = $db->sql_numrows($result_auth_id);
			$db->sql_freeresult($result_auth_id);

			if ( $count_usergroups > 0 )
			{
				$meetings_access_ids[] = $meeting_id;
			}
		}
	}

	$db->sql_freeresult($result);

	include($phpbb_root_path.'language/lang_'.$board_config['default_lang'].'/lang_meeting.'.$phpEx);

	if ( count($meetings_access_ids) > 0 )
	{
		$meeting_ids = ( count($meetings_access_ids) == 1 ) ? $meetings_access_ids[0] : implode(',', $meetings_access_ids);
		$sql_meeting_access = ' WHERE meeting_id IN ('.$meeting_ids.') AND meeting_time > '.time();
	}
	else if ($userdata['user_level'] == ADMIN)
	{
		$sql_meeting_access = ' WHERE meeting_time > '.time();
	}
	else
	{
		$sql_meeting_access = '';
	}

	if ($sql_meeting_access != '')
	{
		$sql = "SELECT count(meeting_id) as total_meetings FROM " . MEETING_DATA_TABLE . "
			$sql_meeting_access";
		if ( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not get meeting data', '', __LINE__, __FILE__, $sql);
		}

		while ( $row = $db->sql_fetchrow($result) )
		{
			$meeting_active_ids = $row['total_meetings'];
		}

		$db->sql_freeresult($result);
	}
	else
	{
		$meeting_active_ids = 0;
	}

	if ( $meeting_active_ids == 0 )
	{
		$meeting_active_string = $lang['No_active_meetings'];
	}
	else if ( $meeting_active_ids == 1 )
	{
		$meeting_active_string = $lang['One_active_meeting'];
	}
	else
	{
		$meeting_active_string = sprintf($lang['Active_meetings'], $meeting_active_ids);
	}

	$meeting_link = '<a href="'.append_sid("meeting.$phpEx").'" class="mainmenu">'.$meeting_active_string.'</a>';

	$template->assign_vars(array(
		'MEETING_LINK' => $meeting_link)
	);
}
// END Meeting Mod
Vielleicht kann oxpus von dem der Mod ist sagen was da bei mir im argen ist???!

cu Overhead
== MAKE MY DAY ==
Benutzeravatar
Overhead
Mitglied
Beiträge: 609
Registriert: 13.03.2007 16:04
Wohnort: Germersheim

Beitrag von Overhead »

Noch einmal hochschieben....

cu Overhead
== MAKE MY DAY ==
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5395
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Naja, ist schon seltsam, daß an dieser Stelle $userdata['user_id'] nicht zur Verfügung steht ;)
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Benutzeravatar
Overhead
Mitglied
Beiträge: 609
Registriert: 13.03.2007 16:04
Wohnort: Germersheim

Beitrag von Overhead »

@ oxpus

und da Du zwinkerst weisst Du sicherlich auch warum das so ist - hilfst Du mir mal auf die Sprünge ich steh auf dem Schlauch...

cu Overhead
== MAKE MY DAY ==
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5395
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nein, das weiß ich nicht, sondern sollte ein Hinweis zur Suche bei Dir sein.
Ich kenne ja Dein Board schliesslich nicht!
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Benutzeravatar
Overhead
Mitglied
Beiträge: 609
Registriert: 13.03.2007 16:04
Wohnort: Germersheim

Beitrag von Overhead »

@ oxpus

also wenn ich Deine gemoddete Zeile aus der page_header.php rauslasse dann taucht der Fehler nicht auf - also gehe ich mal davon aus, dass da etwas an Deinem Mod nicht so stimmt wie es sollte.

cu Overhead
== MAKE MY DAY ==
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5395
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich kann das nicht bestätigen!
Der Meeting MOD wurde auf einem vanilla phpBB programmiert und auch aktuell ist er in einem Test phpBB 2.0.22 ohne weitere MODs aktiv und fehlerfrei am laufen.
$userdata steht in der page_header.php auch im Standard immer zur Verfügung, ausser diese Datei würde VOR dem Session Management includiert, was wieder anderweitig zu Fehlern führen würde.
Daher kann ich Dir nicht sagen, was bei Dir nicht stimmt, denn ich kenne wir bereits erwähnt ja Dein Board nicht.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Benutzeravatar
Overhead
Mitglied
Beiträge: 609
Registriert: 13.03.2007 16:04
Wohnort: Germersheim

Beitrag von Overhead »

@ oxpus

Wenn ich eine Clean page_header.php nehme (unangetastet aus Original) dann kommt keinerlei Fehler beim Aufruf von Benutzernamen finden, sobald ich die Modzeilen einfüge und ein reload mache kommt beim klicken auf Benutzernamen finden der besagte SQL Fehler - da in beiden Fällen unmittelbar die page_header.php abgearbeitet wird, scheint der Fehler zumindest eingrenzbar zu sein.

Die User-ID und die Session-ID sind auf jeden Fall in der DB vorhanden - wenn nun aber aus der (gemoddeten) page_header.php die Daten abgerufen werden kommen sie vom Server nicht mehr zurück und es kommt folgerichtig zur Ausgabe des DIE....

wenn eine ungemoddete pgae_header.php die Daten abruft werden sie vom Server zurückgeschickt (warum???) und die page_header.php wird vollständig abgearbeitet (was wie ich ja weiss nicht unbedingt darauf schließen läßt, dass kein Fehler vorhanden ist, sondern nur, dass eiegentlich die page_header.php fehlerfrei ist - Fehler können sich ja an ganz anderer Stelle bei anderer Gelegenheit auswirken).
denn ich kenne wir bereits erwähnt ja Dein Board nicht.
Nicht ganz richtig - schau mal in Diene PN Box dort hattest Du am 03.04.2007 ein paar PN mit mir ausgetauscht...

cu Overhead
== MAKE MY DAY ==
Antworten

Zurück zu „phpBB 2.0: Mod Support“