Single Post Anzeige im ezPortal ändern ?

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
Markus Wandel
Beiträge: 240
Registriert: Mo 06.Sep, 2004 09:03
Wohnort: Wuppertal
Kontaktdaten:

Single Post Anzeige im ezPortal ändern ?

Beitrag von Markus Wandel »

Moin,
ich bin gerade dabei das ezPortal bei mir ins Forum zu integrieren und möchte gerne den "Display Single Post on ezPortal"-Mod bei mir einbauen.

Nun meine Frage:
Wie ändere ich die Anzeige so ab das der Text, entsprechen den Vorgaben des Portals, nach 200 Zeichen "abgeschnitten" wird und dann das "[ Alles anzeigen ]" angezeigt wird ?

Mein Versuche dazu verliefen bisher leider negativ.

Vielen Dank im voraus.

Gruß,
Markus
www.RoCoFa.de - Wir sind die RollerCoasterFans
Die Seite f?r Achterbahn- und Freizeitparkfans
Kostenlose Mitgliedschaft, keine Verpflichtungen.
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Im Prinzip sollte es so gehen wie hier: http://www.oxpus.de/viewtopic.php?p=35255#35255
Markus Wandel
Beiträge: 240
Registriert: Mo 06.Sep, 2004 09:03
Wohnort: Wuppertal
Kontaktdaten:

Beitrag von Markus Wandel »

Ne Ne, das ist nich das was ich meine.

Im ezPortal werden die Ankündigungen nach 200 Zeichen (Portalkonfiguration) abgeschnitten und angezeigt. Wer mehr lesen möchte muß auf "[ Alles anzeigen ]" klicken und es öffnet sich im Portal der gesamte Artikel.
www.RoCoFa.de - Wir sind die RollerCoasterFans
Die Seite f?r Achterbahn- und Freizeitparkfans
Kostenlose Mitgliedschaft, keine Verpflichtungen.
pepi
Beiträge: 431
Registriert: So 10.Apr, 2005 20:45
Wohnort: Lienz - Austria
Kontaktdaten:

Beitrag von pepi »

Hallo

Denke mal in der portal.php das zu erhöhen

Code: Alles auswählen

// Length of news
$CFG['news_length'] = '200';
oder wenn auch den EZPortal Admin installiert hast dann
über das ACP
gru? Pepi
Markus Wandel
Beiträge: 240
Registriert: Mo 06.Sep, 2004 09:03
Wohnort: Wuppertal
Kontaktdaten:

Beitrag von Markus Wandel »

;) Irgendwie scheint man mich nicht zu verstehen, deshalb hier mal das was ich meine:

In dem Portal meines Testforums befinden sich zwei Themen "Ankündigung: Phantasialand: Wirtl’s Taubenturm" und "Ankündigung: Mitgliedschaft/Membership".

Ich möchte das der Aufbau des Themas "Ankündigung: Phantasialand: Wirtl’s Taubenturm" genauso aussieht wie "Ankündigung: Mitgliedschaft/Membership"; also mit dem abgeschnitten Text und "[ Alles anzeigen ]".

Vielleicht ist es so verständlicher formuliert. :cool:
www.RoCoFa.de - Wir sind die RollerCoasterFans
Die Seite f?r Achterbahn- und Freizeitparkfans
Kostenlose Mitgliedschaft, keine Verpflichtungen.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Finde in der portal.php

Code: Alles auswählen

// Fetch single posts as articles
$fetchposts = phpbb_fetch_single_posts();

if ( count($fetchposts) != 0 )
{
	for( $i = 0; $i < count($fetchposts); $i++ )
	{
und füge danach ein

Code: Alles auswählen

		if (strlen($fetchposts[$i]['post_text']) > $CFG['news_length']) ? substr($fetchposts[$i]['post_text'], 0, $CFG['news_length']) . '[...]' : $fetchposts[$i]['post_text'];
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!
Markus Wandel
Beiträge: 240
Registriert: Mo 06.Sep, 2004 09:03
Wohnort: Wuppertal
Kontaktdaten:

Beitrag von Markus Wandel »

Hi,
leider funktioniert die Zeile nicht. Nach dem Einbau bleibt die Seite komplett weiß.

Gruß
www.RoCoFa.de - Wir sind die RollerCoasterFans
Die Seite f?r Achterbahn- und Freizeitparkfans
Kostenlose Mitgliedschaft, keine Verpflichtungen.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Kann ja auch nicht funktionieren :hh:
Ersetze diese Zeile mal durch

Code: Alles auswählen

$fetchposts[$i]['post_text'] = (strlen($fetchposts[$i]['post_text']) > $CFG['news_length']) ? substr($fetchposts[$i]['post_text'], 0, $CFG['news_length']) . '[...]' : $fetchposts[$i]['post_text'];
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!
Markus Wandel
Beiträge: 240
Registriert: Mo 06.Sep, 2004 09:03
Wohnort: Wuppertal
Kontaktdaten:

Beitrag von Markus Wandel »

Moin Moin,
ich habe es gerade hinbekommen:

Hier der Teil für die Fetchpost.php

Code: Alles auswählen

// Display or get set a post as article START
function phpbb_fetch_single_posts($text_length)
{
	global $db, $board_config, $userdata;

	$is_auth_ary = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata);
	$forumsignore = '';

	if ( $num_forums = count($is_auth_ary) )
	{
		while ( list($forum_id, $auth_mod) = each($is_auth_ary) )
		{
			if ( !$auth_mod['auth_view'] && !$auth_mod['auth_read'] )
			{
				$forumsignore .= ( $forumsignore ) ? ',' . $forum_id : $forum_id;
			}
		}
	}
	$forumsignore = ( $forumsignore != '' ) ? ' AND t.forum_id NOT IN ('.$forumsignore.')' : '';

	$sql = "SELECT t.*, u.username, u.user_id, pt.post_text, pt.bbcode_uid, pt.post_id, p.post_id, p.enable_smilies
		FROM " . TOPICS_TABLE . " AS t, " . USERS_TABLE . " AS u, " . POSTS_TEXT_TABLE . " AS pt, " . POSTS_TABLE . " AS p
		WHERE p.poster_id = u.user_id
		$forumsignore
		AND p.post_portal = 1
		AND p.poster_id = u.user_id
		AND t.topic_id = p.topic_id
		AND pt.post_id = p.post_id
		ORDER BY p.post_time DESC";
	if(!($result = $db->sql_query($sql)))
	{
		message_die(GENERAL_ERROR, 'Could not query announcements information', '', __LINE__, __FILE__, $sql);
	}

	$posts = array();
	if ($row = $db->sql_fetchrow($result))
	{
		$i = 0;
		do
		{
			$posts[$i]['bbcode_uid'] = $row['bbcode_uid'];
			$posts[$i]['enable_smilies'] = $row['enable_smilies'];
			$posts[$i]['post_text'] = $row['post_text'];
			$posts[$i]['topic_id'] = $row['topic_id'];
			$posts[$i]['topic_replies'] = $row['topic_replies'];
			$posts[$i]['topic_time'] = create_date($board_config['default_dateformat'], $row['topic_time'], $board_config['board_timezone']);
			$posts[$i]['topic_title'] = ( $row['topic_type'] == 1 ) ? ' &raquo;&raquo;&raquo; '.$row['topic_title'] : $row['topic_title'];
			$posts[$i]['user_id'] = $row['user_id'];
			$posts[$i]['username'] = $row['username'];
			$posts[$i]['post_id'] = $row['post_id'];

			//
			// do a little magic
			// note: part of this comes from mds' news script and some additional magics from Smartor
			//
			stripslashes($posts[$i]['post_text']);
			if (($text_length == 0) or (strlen($posts[$i]['post_text']) <= $text_length))
			{				
				$posts[$i]['post_text'] = bbencode_second_pass($posts[$i]['post_text'], $posts[$i]['bbcode_uid']);
				$posts[$i]['striped'] = 0;
			}
			else // strip text for news
			{
				$posts[$i]['post_text'] = bbencode_strip($posts[$i]['post_text'], $posts[$i]['bbcode_uid']);
				$posts[$i]['post_text'] = substr($posts[$i]['post_text'], 0, $text_length) . '...';
				$posts[$i]['striped'] = 1;
			}

			//
			// Smilies
			//
			if ($posts[$i]['enable_smilies'] == 1)
			{
				$posts[$i]['post_text'] = smilies_pass($posts[$i]['post_text']);
			}

			// BBcodes
			$posts[$i]['post_text'] = bbencode_second_pass($posts[$i]['post_text'], $posts[$i]['bbcode_uid']);

			// Links
			$posts[$i]['post_text'] = make_clickable($posts[$i]['post_text']);
			//
			// define censored word matches
			//
			$orig_word = array();
			$replacement_word = array();
			obtain_word_list($orig_word, $replacement_word);
			//
			// censor text and title
			//
			if (count($orig_word))
			{
				$posttitle = preg_replace($orig_word, $replacement_word, $posts[$i]['topic_title']);
				$posts[$i]['post_text'] = preg_replace($orig_word, $replacement_word, 	$posts[$i]['post_text']);
			}
			$posts[$i]['post_text'] = nl2br($posts[$i]['post_text']);
			$i++;
		}
		while ($row = $db->sql_fetchrow($result));
	}

	return $posts;
}
// Display or get set a post as article END
Und hier ist der Teil für die portal.php

Code: Alles auswählen

// Fetch single posts as articles
if(!isset($HTTP_GET_VARS['post']))
{
	$fetchposts = phpbb_fetch_single_posts($CFG['news_length']);

	if ( count($fetchposts) != 0 )
	{
		for( $i = 0; $i < count($fetchposts); $i++ )
		{
			if( $fetchposts[$i]['striped'] == 1 )
			{
				$open_bracket = '[ ';
				$close_bracket = ' ]';
				$read_full = $lang['Read_Full'];
			}
			else
			{
				$open_bracket = '';
				$close_bracket = '';
				$read_full = '';
			}
			
			$template->assign_block_vars('fetchpost_row', array(
				'TITLE' => $fetchposts[$i]['topic_title'],
				'POSTER' => $fetchposts[$i]['username'],
				'TIME' => $fetchposts[$i]['topic_time'],
				'TEXT' => $fetchposts[$i]['post_text'],
				'REPLIES' => $fetchposts[$i]['topic_replies'],
				'U_VIEW_COMMENTS' => append_sid('viewtopic.' . $phpEx . '?p=' . $fetchposts[$i]['post_id'] . '#' . $fetchposts[$i]['post_id']),
				'U_POST_COMMENT' => append_sid('posting.' . $phpEx . '?mode=reply&t=' . $fetchposts[$i]['topic_id']),
				'U_READ_FULL' => append_sid('portal.' . $phpEx . '?post=' . $i),
				'L_READ_FULL' => $read_full,
				'OPEN' => $open_bracket,
				'CLOSE' => $close_bracket)
			);
		}
	}
}
else
{
	$fetchposts = phpbb_fetch_single_posts();

	$i = intval($HTTP_GET_VARS['post']);

	$template->assign_block_vars('fetchpost_row', array(
		'TITLE' => $fetchposts[$i]['topic_title'],
		'POSTER' => $fetchposts[$i]['username'],
		'TIME' => $fetchposts[$i]['topic_time'],
		'TEXT' => $fetchposts[$i]['post_text'],
		'REPLIES' => $fetchposts[$i]['topic_replies'],
		'U_VIEW_COMMENTS' => append_sid('viewtopic.' . $phpEx . '?t=' . $fetchposts[$i]['topic_id']),
		'U_POST_COMMENT' => append_sid('posting.' . $phpEx . '?mode=reply&t=' . $fetchposts[$i]['topic_id'])
		)
	);
}
// Fetch single posts as articles
Das einzige was ich noch nicht hinbekommen ist das, wenn ich ein Single Post im Portal per [ alles anzeigen ] anzeigen lasse, der andere im Portal verschwindet. Lasse ich mir das Portal erneut anzeigen sind alle Poste wieder da.

Vielleicht gibt es da auch ne Lösung für.


Vielleicht ist meine Umschreibung des Mod hilfreich.

Gruß,
Markus
www.RoCoFa.de - Wir sind die RollerCoasterFans
Die Seite f?r Achterbahn- und Freizeitparkfans
Kostenlose Mitgliedschaft, keine Verpflichtungen.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das ist aber so Absicht ;)
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!
Markus Wandel
Beiträge: 240
Registriert: Mo 06.Sep, 2004 09:03
Wohnort: Wuppertal
Kontaktdaten:

Beitrag von Markus Wandel »

Hi,
ich hätte da noch zwei Frage zu dem MOD.

1)
Ich möchte den gerne in den Moderatorbereich (modcp.php) einbauen.
Kann ich das einfach übernehmen oder muß auch auf etwas achten ?

2)
Ich möchte gerne den Topic_Type auslesen und entsprechende Images neben dem Beitrag im Portal anzeigen lassen.
Mein Versuch die Zeile

Code: Alles auswählen

$posts[$i]['topic_title'] = ( $row['topic_type'] == 1 ) ? ' &raquo;&raquo;&raquo; '.$row['topic_title'] : $row['topic_title'];
zu ändern hat bisher nicht funktioniert.

Danke im voraus,
Markus
www.RoCoFa.de - Wir sind die RollerCoasterFans
Die Seite f?r Achterbahn- und Freizeitparkfans
Kostenlose Mitgliedschaft, keine Verpflichtungen.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

1. Wie soll der bitte schön im ModPanel arbeiten?
2. Wenn dann muss auch "topic_type" mit in die Abfrage eingefügt werden. Das ist schliesslich von Hause aus nicht mit dabei ;)
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!
Markus Wandel
Beiträge: 240
Registriert: Mo 06.Sep, 2004 09:03
Wohnort: Wuppertal
Kontaktdaten:

Beitrag von Markus Wandel »

Moin,
zu Punkt 1:
Es gibt doch die Möglichkeit Beiträge/Themen im ModPanel zu schließen/verschieben/löschen nachdem man diese ausgewählt hat.
Ich dachte mir das man vielleicht dort den Befehl "Auf Portal anzeigen" mit einfügen kann.
Weil jedes Mal wenn ich einen Beitrag im Portal anzeigen lasse, wird dieser als editiert in die Datenbank geschrieben. Und das ist ja in diesem Fall nicht so.

zu Punkt 2)
Ich schau mal was ich machen kann. Ist aber nicht so wichtig.

Danke erstmal.
Markus
www.RoCoFa.de - Wir sind die RollerCoasterFans
Die Seite f?r Achterbahn- und Freizeitparkfans
Kostenlose Mitgliedschaft, keine Verpflichtungen.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

1. Öhm, wenn man in einem Forum ist, "könnte" man das dann entweder über das MOD-Panel machen oder gleich im Post, der Weg wäre gleich lang ;)
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!
Antworten