Problem Vaiablenübergabe Confirmation Topic

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.
Antworten
PhoenixDH
Mitglied
Beiträge: 257
Registriert: 23.06.2006 08:33
Wohnort: Erfweiler

Problem Vaiablenübergabe Confirmation Topic

Beitrag von PhoenixDH »

Hallo zusammen,

ich habe folgendes Problem was mir aufgefallen ist.

Ich benutze die signature.php, um dynamische Banner für die Signatur zu erstellen.
In Verbindung mit dem Confirmation Topic Mod bringt mir das jedoch einen Fehler, da es vermutlich für die SQL Abfrage keine gültige Userid etc. gibt.

Hier mal ein Stück Code:
Die signature.php ruft folgendes auf:

Code: Alles auswählen

$total_posts = get_db_stat('postcount');
$total_topics = get_db_stat('topiccount');
die Funktion get_db_stat befindet sich in der functions.php, welche durch den Confirmation Topic Mod geändert wird.
Hier der betroffene Code:

Code: Alles auswählen

		case 'postcount':

		case 'topiccount':

			$unconfirmed_forums = unconfirmed_forums();
			if ($unconfirmed_forums && $userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD)
			{
				$sql_confirm_where = "WHERE forum_id NOT IN (" . $unconfirmed_forums . ")";
			}
			else
			{
				$sql_confirm_where = '';
			}

			$sql = "SELECT SUM(forum_topics) AS topic_total, SUM(forum_posts) AS post_total
				FROM " . FORUMS_TABLE . "
				$sql_confirm_where";

			break;
In diesem Abschnitt wird die Funktion unconfirmed_forums() aufgerufen, welche in der gleichen functions.php die Funktion get_user_confirm_status() aufruft.

Und genau hier liegt nun das Problem, denn in der SQL Abfrage fehlt mir ein Wert:

Code: Alles auswählen

function get_user_confirm_status()
{
	global $db, $userdata;

	$sql = "SELECT f.forum_id FROM " . FORUMS_CONFIRM_USER_TABLE . " u, " . FORUMS_TABLE . " f
		WHERE f.forum_confirm_id = u.confirm_id
			AND u.user_id = " . $userdata['user_id'];
	if (!($result = $db->sql_query($sql)))
	{
		message_die(GENERAL_ERROR, 'Could not fetch forum confirmation status', '', __LINE__, __FILE__, $sql);
	}

	while ($row = $db->sql_fetchrow($result))
	{
		$forum_confirm[$row['forum_id']] = true;
	}
	$db->sql_freeresult($result);

	return $forum_confirm;
}
Hier ist der Wert nun leer: AND u.user_id = " . $userdata['user_id']

Deswegen bricht die SQL Abfrage ab.

Kennt jemand das Problem oder weiß wie ich das beheben kann?

Ich denke ich muss irgendwie noch ne Abfrage einbaun ob der Aufrufende eine Session oder sowas hat oder?

Dank euch!
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5387
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Problem Vaiablenübergabe Confirmation Topic

Beitrag von oxpus »

Hm, damit müsste ich mal das komplette Forum betrachten, um den "Verlauf" der Daten nachvollziehen zu können.
Du kannst aber auch in der Funktion function get_user_confirm_status() nach dem global folgendes einfügen:

Code: Alles auswählen

if (!$userdata['user_id']) return 0;
Damit sollte die Funktion abbrechen und mit negativen Confirm-Status zurückkehren.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
PhoenixDH
Mitglied
Beiträge: 257
Registriert: 23.06.2006 08:33
Wohnort: Erfweiler

Re: Problem Vaiablenübergabe Confirmation Topic

Beitrag von PhoenixDH »

Dank dir, werde das testen.

Im moment habe ich es so gelöst, das ich in die signature.php die funktion get_db_stats übernommen habe und nur anders benannt hab, das funktioniert auch, denke das ist der bessere Weg oder?
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5387
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Problem Vaiablenübergabe Confirmation Topic

Beitrag von oxpus »

Wenn es funktioniert, brauchst du es ja nicht ändern.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Antworten

Zurück zu „phpBB 2.0: Mod Support“