Page 1 of 3

ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 5. February 2008 18:21
by Limo198
Hallo.

Ich habe das im Titel benannte MOD instaliert. Leider erscjheinen die Meldungen nur im Forum, nicht im Portal. Nun wollte ich ganz gerne die News des Mods im Portal direkt unterm Header auf voller Seitenbreite erscheinen lassen nur bin ich im php schreiben nicht so firm und wollte hier nun fragen ob mir da jemand helfen könnte?

Hier die Installanleitung für die Index.php

Code: Select all

 includes/constants.php
Finden
Hinweis: Der zu findende Code kann auch nur ein Teil einer Zeile sein.

Code: Alles auswählen
define('ACL_USERS_TABLE',			$table_prefix . 'acl_users');

Danach einfügen
Hinweis: Diese Zeile(n) werden in einer neuen Zeile nach den/der gerade gesuchten eingefügt.

Code: Alles auswählen
define('ANNOUNCEMENTS_CENTRE_TABLE',$table_prefix . 'announcement_centre');

Öffnen: includes/functions_display.php
Finden
Hinweis: Der zu findende Code kann auch nur ein Teil einer Zeile sein.

Code: Alles auswählen
	return '<img src="' . $avatar_img . '" width="' . $avatar_width . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
}
Ersetzen mit
Hinweis: Die genannten Zeile(n) werden mit den/der folgenden ersetzt.

Code: Alles auswählen
// have to add this as otherwise IE wont show the avatar properly ... IE SUCKS
	if ( empty($avatar_height) )
	{
	return '<img src="' . $avatar_img . '" width="' . $avatar_width . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
	}
	elseif ( empty($avatar_width) )
	{
	return '<img src="' . $avatar_img . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
	}
	else
	{
	return '<img src="' . $avatar_img . '" width="' . $avatar_width . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
	}
}
	function get_announcement($text)
	{
		 		
		$text			= utf8_normalize_nfc($text);
		$uid			= $bitfield			= $options	= '';	
		$allow_bbcode	= $allow_smilies	= true;
		$allow_urls		= false;
		generate_text_for_storage($text, $uid, $bitfield, $options, $allow_bbcode, $allow_urls, $allow_smilies);
		$text			= generate_text_for_display($text, $uid, $bitfield, $options);
		
		return $text;
	}

Öffnen: language/en/acp/common.php
Finden
Hinweis: Der zu findende Code kann auch nur ein Teil einer Zeile sein.

Code: Alles auswählen
	'ACP_ADMINISTRATORS'		=> 'Administrators',

Danach einfügen
Hinweis: Diese Zeile(n) werden in einer neuen Zeile nach den/der gerade gesuchten eingefügt.

Code: Alles auswählen
	'ACP_ANNOUNCEMENTS_CENTRE'		=> 'Announcement Centre',

Finden
Hinweis: Der zu findende Code kann auch nur ein Teil einer Zeile sein.

Code: Alles auswählen
	'LOG_ADMIN_AUTH_SUCCESS'	=> '<strong>Successful administration login</strong>',

Danach einfügen
Hinweis: Diese Zeile(n) werden in einer neuen Zeile nach den/der gerade gesuchten eingefügt.

Code: Alles auswählen
	'LOG_ANNOUNCEMENT_UPDATED'	=> '<strong>Announcement(s) updated</strong>',


Öffnen: language/en/common.php
Finden
Hinweis: Der zu findende Code kann auch nur ein Teil einer Zeile sein.

Code: Alles auswählen
	'AND'							=> 'And',

Danach einfügen
Hinweis: Diese Zeile(n) werden in einer neuen Zeile nach den/der gerade gesuchten eingefügt.

Code: Alles auswählen
	'ANNOUNCEMENT_TITLE_GUESTS'		=> 'Guest Announcements local',
	'ANNOUNCEMENT_TITLE'		=> 'Site Announcements local',

Öffnen: index.php
Finden
Hinweis: Der zu findende Code kann auch nur ein Teil einer Zeile sein.

Code: Alles auswählen
// Generate birthday list if required ...

Davor einfügen
Hinweis: Diese Zeile(n) werden in einer neuen Zeile vor den/der gerade gesuchten eingefügt.

Code: Alles auswählen
// Generate the announcement data
$sql = 'SELECT * 
	FROM ' . ANNOUNCEMENTS_CENTRE_TABLE;
$result = $db->sql_query($sql);
while ( $row = $db->sql_fetchrow($result))
{
	$announcement[$row['announcement_desc']] = $row['announcement_value'];
}


Finden
Hinweis: Der zu findende Code kann auch nur ein Teil einer Zeile sein.

Code: Alles auswählen
	$sql = 'SELECT user_id, username, user_colour, user_birthday
In der Zeile finden
Hinweis: Dies ist ein Ausschnitt einer Zeile für Änderungen innerhalb einer Zeile.

Code: Alles auswählen
user_birthday
In der Zeile danach einfügen


Code: Alles auswählen
, user_avatar, user_avatar_type
Finden
Hinweis: Der zu findende Code kann auch nur ein Teil einer Zeile sein.

Code: Alles auswählen
			$birthday_list .= ' (' . ($now['year'] - $age) . ')';
		}

Danach einfügen
Hinweis: Diese Zeile(n) werden in einer neuen Zeile nach den/der gerade gesuchten eingefügt.

Code: Alles auswählen
				//obtain the avatar and username for the birthday announcements
				$template->assign_block_vars('bdannounce', array(
				'AVATAR'	=> get_user_avatar($row['user_avatar'], $row['user_avatar_type'], 40,'', $row['username']),
				'USERNAME'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'])));

Finden
Hinweis: Der zu findende Code kann auch nur ein Teil einer Zeile sein.

Code: Alles auswählen
// Assign index specific vars

Davor einfügen
Hinweis: Diese Zeile(n) werden in einer neuen Zeile vor den/der gerade gesuchten eingefügt.

Code: Alles auswählen
//Announcement Centre by lefty74
if ( $user->data['user_id'] == 1 && $announcement['announcement_show'] == 2 ) // Guests only
{
$announcement_show = 1;
$announcement_show_everyone_guests = 1;
}
elseif ( $user->data['user_id'] != 1 && $announcement['announcement_show'] == 0 ) // Members only
{
$announcement_show = 1;
$announcement_show_everyone_guests = 0;
}
elseif ( $announcement['announcement_show'] == 1 ) // Everyone
{
$announcement_show = 1;
$announcement_show_everyone_guests = 1;
}
else 
{
$announcement_show = 0;
$announcement_show_everyone_guests = 0;
}
//Announcement Centre by lefty74

Finden
Hinweis: Der zu findende Code kann auch nur ein Teil einer Zeile sein.

Code: Alles auswählen
	'BIRTHDAY_LIST'	=> $birthday_list,

Danach einfügen
Hinweis: Diese Zeile(n) werden in einer neuen Zeile nach den/der gerade gesuchten eingefügt.

Code: Alles auswählen
	
	//Announcement Centre by lefty74
	'ANNOUNCEMENT_TEXT' 			=> get_announcement($announcement['announcement_text']),
	'ANNOUNCEMENT_TEXT_GUESTS'		=> get_announcement($announcement['announcement_text_guests']),
	'ANNOUNCEMENT_TITLE' 			=> $announcement['announcement_title'],
	'ANNOUNCEMENT_TITLE_GUESTS' 	=> $announcement['announcement_title_guests'],
	'ANNOUNCEMENT_ENABLE' 			=> $announcement['announcement_enable'],
	'ANNOUNCEMENT_ENABLE_GUESTS' 	=> $announcement['announcement_enable_guests'],
	'ANNOUNCEMENT_SHOW' 			=> $announcement_show,
	'ANNOUNCEMENT_SHOW_EVERYONE' 	=> $announcement_show_everyone_guests,
	'ANNOUNCEMENT_SHOW_BIRTHDAY'	=> ( ($birthday_list != '') && ($announcement['announcement_show_birthdays'])) ? true : false,
	'ANNOUNCEMENT_BIRTHDAY_AVATAR'	=> ($announcement['announcement_birthday_avatar']) ? true : false,
	//Announcement Centre by lefty74

Öffnen: styles/prosilver/template/index_body.html
Finden
Hinweis: Der zu findende Code kann auch nur ein Teil einer Zeile sein.

Code: Alles auswählen
<!-- INCLUDE overall_header.html -->

Danach einfügen
Hinweis: Diese Zeile(n) werden in einer neuen Zeile nach den/der gerade gesuchten eingefügt.

Code: Alles auswählen
<!-- INCLUDE announcement_centre.html -->

Öffnen: styles/subsilver2/template/overall_header.html
Finden
Hinweis: Der zu findende Code kann auch nur ein Teil einer Zeile sein.

Code: Alles auswählen
	<div id="datebar">
		<table width="100%" cellspacing="0">

Davor einfügen
Hinweis: Diese Zeile(n) werden in einer neuen Zeile vor den/der gerade gesuchten eingefügt.

Code: Alles auswählen
<!-- INCLUDE announcement_centre.html -->


Kann man anhand dieser es in die Portal.php auch einbauen?


Danke

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 5. February 2008 18:26
by Redbull254
Was hältst Du davon, erst einmal ein Update des Mods zu installieren ? :roll:
ACP_Announcement_centre_phpbb3_0_2_0
Deine genutzte Version hat noch einige Bugs drin, unter anderem ist diese Version nicht XHTML Strict !

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 5. February 2008 18:39
by Limo198
Man warum findest du bei allem was ich mache Fehler? :(

Werds machen und dann neu hier einstellen.

Danke

ACP_Announcement_centre_phpbb3_0_2_0 ins Portal einbinden

Posted: 6. February 2008 12:52
by Limo198
So. Nun hab ich die neuste Version drauf. Sind zwar noch einige Style und einige Sprachdateifragen offen, aber die kläre ich grad im anderen Forum.

Hier die jetzige Install Anleitung für die Index und die Index_body:

Code: Select all

Open: index.php
Find
Tip: This may be a partial find and not the whole line.

Code: Select All
// Generate birthday list if required ...

Add before
Tip: Add these lines on a new blank line before the preceding line(s) to find.

Code: Select All
// Generate the announcement data
$sql = 'SELECT * 
	FROM ' . ANNOUNCEMENTS_CENTRE_TABLE;
$result = $db->sql_query($sql);
while ( $row = $db->sql_fetchrow($result))
{
	$announcement[$row['announcement_desc']] = $row['announcement_value'];
}


Find
Tip: This may be a partial find and not the whole line.

Code: Select All
	$sql = 'SELECT user_id, username, user_colour, user_birthday
In-line Find
Tip: This is a partial match of a line for in-line operations.

Code: Select All
user_birthday
In-line Add after


Code: Select All
, user_avatar, user_avatar_type
Find
Tip: This may be a partial find and not the whole line.

Code: Select All
			$birthday_list .= ' (' . ($now['year'] - $age) . ')';
		}

Add after
Tip: Add these lines on a new blank line after the preceding line(s) to find.

Code: Select All
				//obtain the avatar and username for the birthday announcements
				$template->assign_block_vars('bdannounce', array(
				'AVATAR'	=> get_user_avatar($row['user_avatar'], $row['user_avatar_type'], 40,'', $row['username']),
				'USERNAME'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'])));

Find
Tip: This may be a partial find and not the whole line.

Code: Select All
// Assign index specific vars

Add before
Tip: Add these lines on a new blank line before the preceding line(s) to find.

Code: Select All
//Announcement Centre by lefty74
if ( $user->data['user_id'] == 1 && $announcement['announcement_show'] == 2 ) // Guests only
{
$announcement_show = 1;
$announcement_show_everyone_guests = 1;
}
elseif ( $user->data['user_id'] != 1 && $announcement['announcement_show'] == 0 ) // Members only
{
$announcement_show = 1;
$announcement_show_everyone_guests = 0;
}
elseif ( $announcement['announcement_show'] == 1 ) // Everyone
{
$announcement_show = 1;
$announcement_show_everyone_guests = 1;
}
else 
{
$announcement_show = 0;
$announcement_show_everyone_guests = 0;
}
//Announcement Centre by lefty74

Find
Tip: This may be a partial find and not the whole line.

Code: Select All
	'BIRTHDAY_LIST'	=> $birthday_list,

Add after
Tip: Add these lines on a new blank line after the preceding line(s) to find.

Code: Select All
	
	//Announcement Centre by lefty74
	'ANNOUNCEMENT_TEXT' 			=> get_announcement($announcement['announcement_text']),
	'ANNOUNCEMENT_TEXT_GUESTS'		=> get_announcement($announcement['announcement_text_guests']),
	'ANNOUNCEMENT_TITLE' 			=> $announcement['announcement_title'],
	'ANNOUNCEMENT_TITLE_GUESTS' 	=> $announcement['announcement_title_guests'],
	'ANNOUNCEMENT_ENABLE' 			=> $announcement['announcement_enable'],
	'ANNOUNCEMENT_ENABLE_GUESTS' 	=> $announcement['announcement_enable_guests'],
	'ANNOUNCEMENT_SHOW' 			=> $announcement_show,
	'ANNOUNCEMENT_SHOW_EVERYONE' 	=> $announcement_show_everyone_guests,
	'ANNOUNCEMENT_SHOW_BIRTHDAY'	=> ( ($birthday_list != '') && ($announcement['announcement_show_birthdays'])) ? true : false,
	'ANNOUNCEMENT_BIRTHDAY_AVATAR'	=> ($announcement['announcement_birthday_avatar']) ? true : false,
	//Announcement Centre by lefty74

Open: styles/prosilver/template/index_body.html
Find
Tip: This may be a partial find and not the whole line.

Code: Select All
<!-- INCLUDE overall_header.html -->

Add after
Tip: Add these lines on a new blank line after the preceding line(s) to find.

Code: Select All
<!-- INCLUDE announcement_centre.html -->

Danke

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 6. February 2008 14:52
by Limo198
Jetzt habe ich doch ein Problem mit dem Mod. Es beisst sich mit dem Portal. Und zwar habe ich diese Fehlermeldung:
Fatal error: Cannot redeclare get_announcement() (previously declared in /srv/www/web3/html/www.wetterstammtisch.de/includes/functi ... y.php:1183) in /srv/www/web3/html/www.wetterstammtisch.de/includes/functi ... ements.php on line 127
In beiden Zeilen steht das hier:

Code: Select all

function get_announcement($text)
Das bedeutet dochwohl, das die Funktion mehrmals vorkommt. In der funktions_display.php hab ich jetzt einfach erstmal
funktion get_once_announcement($text)
eingegeben. So bleibt der Fehler erstmal weg. Aber das Fenster des Mods wird natürlich nicht angezeigt.

Könnt Ihr mir helfen? Im anderen Forum spricht keiner drauf an. Muß ich da eine Funktion umbenennen? Wenn ja, wie?


Danke schonmal.

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 7. February 2008 14:49
by Limo198
Problem gelöst.

Kann mir nun jemand sagen ob man den Block ins Portal einfügen kann?


LG
Steffen

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 9. February 2008 12:38
by Limo198
Wenigstens ein ja oder nein währe nett gewesen.

Naja. Setz ich mich halt selber ran und versuche.


Danke

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 9. February 2008 13:01
by Redbull254
Wie soll man ja oder nein schreiben, wenn man die Mod nicht installiert hat ? Ist nun mal keine Pflicht Mod, die jeder drin hat. :roll:

Mal abgesehen davon, sollte man es schon ruhig selber mal versuchen, dann merkt man schnell, das manche Mod sich schwer in die Portalseite intrigieren lassen.

Und die Mod ACP_Announcement_centre gehört dazu. :|

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 9. February 2008 13:38
by Limo198
Na bitte. Sone Antwort wollte ich doch nur haben. Besser währe eine positive, aber nun weis ich wenigstens woran ich bin mit dem Mod.

SCH....E :twisted:

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 9. February 2008 13:58
by kendoo
du meinst aber sicherlich nicht das Portal damit 8-)

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 9. February 2008 14:35
by Limo198
NEIN. Die entmutigende Antwort natürlich.

Das Portal ist einsame Spitze :)

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 18. February 2008 22:31
by Redbull254
Hi, Limo ;-)
nur zur Info !!!

http://www.phpbb.com/community/viewtopi ... ent_centre

In der Version 0.3.0 wird es jetzt auch auf der Portalseite angezeigt.
Damit ist das Thema hier wohl erledigt. ;-)

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 18. February 2008 22:59
by Christian_N
Na super, habe noch nicht soweit geschaut (Kaum Zeit gehabt durch meine Arbeit und am WE ging die Zeit an den Gallery Block etwas drauf) aber soweit ich den Code anschauen konnte etc. war es wirklich eine harte Nuss. *g*

Dann hat sich der Auftrag wohl bei mir auch erledigt. :D

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 18. February 2008 23:05
by Redbull254
Das erforderte eine komplette Neustrukturierung des Mod Codes, war nicht mal so eben für zwischen durch. ;-)

Nun lade ich das mal auf meinen Server und hoffe, das es auch noch XHTML Strict ist. :D

Da hat er jetzt aber was feines gebastelt, muss ich schon sagen. :idea:

Re: ACP_Announcement_centre_phpbb3_0_1_0a ins Portal einbinden

Posted: 18. February 2008 23:11
by Christian_N
Redbull254 wrote:Das erforderte eine komplette Neustrukturierung des Mod Codes, war nicht mal so eben für zwischen durch. ;-)
Da muss ich dir leider recht geben, weshalb ich schon bei dem Auftrag dann letztendlich Limo eine alternative vorgeschlagen habe.
Redbull254 wrote:Nun lade ich das mal auf meinen Server und hoffe, das es auch noch XHTML Strict ist.
Und ich tun meine Testumgebung mal Updaten und schau nach. :D

Gruß Chris