Seite 1 von 3

ACP_Announcement_centre_phpbb3_0_2_0 Fatal Error

Verfasst: 06.02.2008 12:01
von Limo198
Hallo.

Hab die neuste Version des ACP_Announcement_centre_phpbb3 instaliert und bekomme nun beim Aufruf des Forums diesen Fehler angezeigt:

Code: Alles auswählen

Fatal error: Cannot redeclare get_announcement() (previously declared in /srv/www/web3/html/www.wetterstammtisch.de/includes/functions_display.php:1183) in /srv/www/web3/html/www.wetterstammtisch.de/includes/functions_announcements.php on line 127
Der kommt sowohl im ACP als auch beim Aufruf der Index.
An der Stelle der funktions_display.php steht das hier:

Code: Alles auswählen

	function get_announcement($text)
Das gehört dochwohl zum Forum und nicht zum Mod, oder?

In der anderen Datei steht das gleiche an der angegebenen Stelle.

Was kann ich bitte tun?

Danke

Verfasst: 06.02.2008 12:04
von Limo198
Nachtrag.

Ich hab jetzt in der funktions_display.php den Code einfach mal rausgenommen und es geht jetzt.

Ist das so richtig oder ist dann was falsch?

Verfasst: 06.02.2008 12:44
von Limo198
Scheint zu gehen.

Aber seht euch mal das Bild an. Das kann doch so nicht stimmen. Die Farben sind ja garnicht komplett zu sehen und einige Begriffe sind ja garnicht definiert.

Wie und wo kann ich das denn ändern? Hab alles nach Anleitung gemacht!!!


[ externes Bild ]

Hab übrigens zur Vorgängerversion eine Deutsche Sprachdatei geschrieben. Daher sind einige Dinge in deutsch.

Verfasst: 06.02.2008 13:11
von Limo198
Limo198 hat geschrieben:Nachtrag.

Ich hab jetzt in der funktions_display.php den Code einfach mal rausgenommen und es geht jetzt.

Ist das so richtig oder ist dann was falsch?
Geht doch nicht. Er zeigt es nicht an. Denk mal das liegt am Portal welches ich instaliert habe?

Wie kann ich die Funktion des Mods umbenennen damit das läuft? Denn es sieht ja so aus als seien 2 Gleichnamige Funktionen da.

LG

Verfasst: 06.02.2008 22:15
von -Tanja-
Die MOD funktioniert einwandfrei. Selbst getestet. :wink:

Dass das Smiliefeld zusammenrückt hat nichts mit der Funktionalität der MOD zu tun. Dafür gibt es den kleinen Pfeil oben Links um das Kontrollfeld im ACP grösser (breiter) zu machen. Dann sollten auch das Farbfeld ganz zu sehen sein.

Anders ist es bei dem Text "ANNOUNCEMENT_....." , du hast die Änderungen in den Sprachdateien nicht (oder nicht richtig) gemacht.

Kontrollier noch einmal alles nach und vergiss nicht den Cache-Ordner zu leeren.

Verfasst: 07.02.2008 00:46
von redbull254
Stimmt, es liegt weder am Portal noch am Announcement Mod selber, einfach falsch installiert, nicht mehr und nicht weniger. ;-)

Beides bei mir im Einsatz, klappt ohne Probleme.

Verfasst: 07.02.2008 14:22
von Limo198
So. Wieder was dazu gelernt. Ich habe natürlich die Änderungen aus der Vorgängerversion nicht rückgängig gemacht. Das war der Fehler. Das wußte ich allerdings auch nicht bei dem Mod das ich das machen muß.

Nun gehts. Jetzt muß ich nur noch die Smilies im ACP des Mods wieder hinbekommen. Die haben etwas mucken gemacht. Aber das bekomm ich auch noch hin.


Danke für die Hilfe euch 2.

Verfasst: 07.02.2008 14:38
von Limo198
Die Smilies bringen mich noch um den Verstand.

Wenn ich im ACP auf den ACP_Announcement_centre Mod gehe, erscheint diese Fehlermeldung:
Fatal error: Call to undefined function: generate_smilies_acp() in /srv/www/web3/html/www.wetterstammtisch.de/includes/acp/ac ... centre.php on line 120
In der Zeile 120 steht:

Code: Alles auswählen

	generate_smilies_acp('inline');
Was kann das jetzt sein? Hab schon soviel probiert.

Das Mod hab ich nun 3x kontroliert. Daran kanns nun nichtmehr liegen.


LG
Steffen

Verfasst: 07.02.2008 21:10
von lefty74
hallo,
bist du sicher dass du dies gemacht hast?

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#
includes/functions_posting.php
#
#-----[ FIND ]------------------------------------------
#
/**
* Update last post information

#
#-----[ BEFORE, ADD ]------------------------------------------
#
/**
* Fill smiley templates (or just the variables) with smilies, either in a window or inline for the announcements
*/
function generate_smilies_acp($mode)
{
	global $auth, $db, $user, $config, $template;
	global $phpEx, $phpbb_root_path;

	if ($mode == 'window')
	{
		$user->setup('posting', 1);

		page_header($user->lang['SMILIES']);

		$template->set_filenames(array(
			'body' => 'announcement_smilies.html')
		);
	}

	$display_link = false;
	if ($mode == 'inline')
	{
		$sql = 'SELECT smiley_id
			FROM ' . SMILIES_TABLE . '
			WHERE display_on_posting = 0';
		$result = $db->sql_query_limit($sql, 1, 0, 3600);

		if ($row = $db->sql_fetchrow($result))
		{
			$display_link = true;
		}
		$db->sql_freeresult($result);
	}

	$last_url = '';

	$sql = 'SELECT *
		FROM ' . SMILIES_TABLE .
		(($mode == 'inline') ? ' WHERE display_on_posting = 1 ' : '') . '
		ORDER BY smiley_order';
	$result = $db->sql_query($sql, 3600);

	$smilies = array();
	while ($row = $db->sql_fetchrow($result))
	{
		if (empty($smilies[$row['smiley_url']]))
		{
			$smilies[$row['smiley_url']] = $row;
		}
	}
	$db->sql_freeresult($result);

	if (sizeof($smilies))
	{
		foreach ($smilies as $row)
		{
			$template->assign_block_vars('smiley', array(
				'SMILEY_CODE'	=> $row['code'],
				'A_SMILEY_CODE'	=> addslashes($row['code']),
				'SMILEY_IMG'	=> $phpbb_root_path . $config['smilies_path'] . '/' . $row['smiley_url'],
				'SMILEY_WIDTH'	=> $row['smiley_width'],
				'SMILEY_HEIGHT'	=> $row['smiley_height'],
				'SMILEY_DESC'	=> $row['emotion'])
			);
		}
	}

	if ($mode == 'inline' && $display_link)
	{
		$template->assign_vars(array(
			'S_SHOW_SMILEY_LINK' 	=> true,
			'U_MORE_SMILIES' 		=> append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=acp_smilies'))
		);
	}

	if ($mode == 'window')
	{
		page_footer();
	}
}


Verfasst: 08.02.2008 09:44
von Limo198
Ey das ist zum Mäuse melken. Diesen Teil hab ich 5 x reinkopiert. 5x die orginale Datei genommen dafür und nie hats funktioniert. Jetzt nehme ich das 6. mal die originaldatei und deinen Code und das klappt?

Danke. Ich kopier hier mal den Code rein den ich immer genommen hab. Vielleicht ist da ja ein Fehler drin.

1000 Dank.

Achso. Kann einer sagen wie ich die Anzeige des Mods in eine andere Seite bekomme? Speziell in ein Portal?

Hier der Code: (so war er in der Datei drin als ich deinen Code eingefügt hae und so steht er auch in der Anleitung des Mods)

Code: Alles auswählen

/**
* Fill smiley templates (or just the variables) with smilies, either in a window or inline for the announcements
*/
function generate_smilies_acp($mode)
{
	global $auth, $db, $user, $config, $template;
	global $phpEx, $phpbb_root_path;

	if ($mode == 'window')
	{
		$user->setup('posting', 1);

		page_header($user->lang['SMILIES']);

		$template->set_filenames(array(
			'body' => 'announcement_smilies.html')
		);
	}

	$display_link = false;
	if ($mode == 'inline')
	{
		$sql = 'SELECT smiley_id
			FROM ' . SMILIES_TABLE . '
			WHERE display_on_posting = 0';
		$result = $db->sql_query_limit($sql, 1, 0, 3600);

		if ($row = $db->sql_fetchrow($result))
		{
			$display_link = true;
		}
		$db->sql_freeresult($result);
	}

	$last_url = '';

	$sql = 'SELECT *
		FROM ' . SMILIES_TABLE .
		(($mode == 'inline') ? ' WHERE display_on_posting = 1 ' : '') . '
		ORDER BY smiley_order';
	$result = $db->sql_query($sql, 3600);

	$smilies = array();
	while ($row = $db->sql_fetchrow($result))
	{
		if (empty($smilies[$row['smiley_url']]))
		{
			$smilies[$row['smiley_url']] = $row;
		}
	}
	$db->sql_freeresult($result);

	if (sizeof($smilies))
	{
		foreach ($smilies as $row)
		{
			$template->assign_block_vars('smiley', array(
				'SMILEY_CODE'	=> $row['code'],
				'A_SMILEY_CODE'	=> addslashes($row['code']),
				'SMILEY_IMG'	=> $phpbb_root_path . $config['smilies_path'] . '/' . $row['smiley_url'],
				'SMILEY_WIDTH'	=> $row['smiley_width'],
				'SMILEY_HEIGHT'	=> $row['smiley_height'],
				'SMILEY_DESC'	=> $row['emotion'])
			);
		}
	}

	if ($mode == 'inline' && $display_link)
	{
		$template->assign_vars(array(
			'S_SHOW_SMILEY_LINK' 	=> true,
			'U_MORE_SMILIES' 		=> append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=acp_smilies'))
		);
	}

	if ($mode == 'window')
	{
		page_footer();
	}
}