Recent Topic/ Top Topics op elke pagina...

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
ownageworld
Berichten: 252
Lid geworden op: 03 jun 2006, 17:35
Locatie: Brussel

Recent Topic/ Top Topics op elke pagina...

Bericht door ownageworld » 21 jul 2006, 00:51

Ey allemaal,

Ik heb mn website/ navigatie zo gemaakt, dat ik mijn menu op elke pagina heb.... Nu zou ik graag "Top Topics" op elke pagina willen hebben, en niet alleen op index dus...
Mijn menu code staat in overal_header.tpl, en daar heb ik ook de code voor "design vd top topics mod" gezet....

Maar de volgende code moet ik ook nog kwijt in php file, en het moet op ELKE pagina doen... hoe kan ik het beste te werk gaan? Moet ik elke string in overal_header zetten? Of zou ik dit ergens neer kunnen zetten dat hij het meteen doet? (nu doet hij het niet, maar weet niet precies waar ik het neer moet zetten) Ik heb het geprobeerd in functions/page_header.php maar dat lukte niet...
Alvast bedankt!

Dit is de code:

Code: Selecteer alles

//------------------------------------------------------------------------
// Top Topics on Index 1.1.0 - Begin Code Addition
//
	$template->assign_vars(array(
		'L_TOPICSRECENT' => $lang['TopicsRecent'],
		'L_TOPICSPOPULAR' => $lang['TopicsPopular'],
		'L_TOPICSPOPULARVIEW' => $lang['TopicsPopularView'])
	);

	// Get forum auth information to insure privacy of hidden topics
	$topics_auth = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata);
	$topics_auth_sql = '';
	foreach($topics_auth as $k=>$v)
	{
		if( $v['auth_view'] && $v['auth_read'] )
		{
			$topics_auth_sql .= (( empty($topics_auth_sql) ) ? '': ', ') . $k;
		}
	}

	if( empty($topics_auth_sql) )
	{
		$template->assign_block_vars('topicrecentpopular', array(
			'TOPICSPOPULAR' => $lang['No_Posts'],
			'TOPICSPOPULARVIEW' => $lang['No_Posts'],
			'TOPICSRECENT' => $lang['No_Posts']
		));
	}
	else
	{
		//
		// Okay, let's build the topic recent and popular
		//
		$active_topics_sql = 'SELECT t.topic_id, t.topic_title, t.topic_replies, t.topic_views, t.topic_last_post_id
			FROM ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE. ' f
			WHERE t.forum_id IN (' . $topics_auth_sql . ')
				AND f.forum_id = t.forum_id
			ORDER BY %1$s DESC
			LIMIT 0,5';
		$active_topics_sql_a = sprintf($active_topics_sql, 'topic_last_post_id');
		$active_topics_sql_b = sprintf($active_topics_sql, 'topic_replies');
		$active_topics_sql_c = sprintf($active_topics_sql, 'topic_views');
		$recent_row = $popular_row = $viewed_row = array();

		if( !$active_topics_a = $db->sql_query($active_topics_sql_a))
		{
			message_die(GENERAL_ERROR, 'Could not retrieve recent topics', '', __LINE__, __FILE__, $active_topics_sql_a);
		}
		$recent_row = $db->sql_fetchrowset($active_topics_a);
		$db->sql_freeresult($active_topics_a);

		if( !$active_topics_b = $db->sql_query($active_topics_sql_b))
		{
			message_die(GENERAL_ERROR, 'Could not retrieve popular topics', '', __LINE__, __FILE__, $active_topics_sql_b);
		}
		$popular_row = $db->sql_fetchrowset($active_topics_b);
		$db->sql_freeresult($active_topics_b);

		if( !$active_topics_c = $db->sql_query($active_topics_sql_c))
		{
			message_die(GENERAL_ERROR, 'Could not retrieve most viewed topics', '', __LINE__, __FILE__, $active_topics_sql_c);
		}
		$viewed_row = $db->sql_fetchrowset($active_topics_c);
		$db->sql_freeresult($active_topics_c);

		for( $i = 0; $i < 5; $i++ )
		{
			$recent_topic_title = $recent_row[$i]['topic_title'];
			$popular_topic_title = $popular_row[$i]['topic_title'];
			$viewed_topic_title = $viewed_row[$i]['topic_title'];

			if( strlen($recent_topic_title) > 40 )
			{
				$recent_topic_title = substr($recent_topic_title, 0, 40) . '...';
			}

			if( strlen($popular_topic_title) > 40 )
			{
				$popular_topic_title = substr($popular_topic_title, 0, 40) . '...';
			}

			if( strlen($viewed_topic_title) > 40 )
			{
				$viewed_topic_title = substr($viewed_topic_title, 0, 40) . '...';
			}

			$recent_post = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $recent_row[$i]['topic_id'] . '" title="' . $recent_row[$i]['topic_title'] . '">' . $recent_topic_title . '</a>';
			$popular_post = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $popular_row[$i]['topic_id'] . '" title="' . $popular_row[$i]['topic_title'] . '">' . $popular_topic_title . '</a>';
			$popular_total_replies = $popular_row[$i]['topic_replies'];
			$viewed_post = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $viewed_row[$i]['topic_id'] . '" title="' . $viewed_row[$i]['topic_title'] . '">' . $viewed_topic_title . '</a>';
			$viewed_total_replies = $viewed_row[$i]['topic_views'];

			$template->assign_block_vars('topicrecentpopular', array(
				'TOPICSPOPULAR' => $popular_post,
				'TOPICSPOPULARC' => $popular_total_replies,
				'TOPICSPOPULARVIEW' => $viewed_post,
				'TOPICSPOPULARVIEWC' => $viewed_total_replies,
				'TOPICSRECENT' => $recent_post)
			);
		}
	}
//
// Top Topics on Index 1.1.0 - End Code Addition
//------------------------------------------------------------------------

ownageworld
Berichten: 252
Lid geworden op: 03 jun 2006, 17:35
Locatie: Brussel

Bericht door ownageworld » 22 jul 2006, 17:32

iemand? Please! :bier:

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Bericht door svenn » 22 jul 2006, 20:21

dat stukje tekst moet idd in includes/page_header.php en de html moet in overall_header.tpl

ownageworld
Berichten: 252
Lid geworden op: 03 jun 2006, 17:35
Locatie: Brussel

Bericht door ownageworld » 23 jul 2006, 11:15

svennson schreef:dat stukje tekst moet idd in includes/page_header.php en de html moet in overall_header.tpl
Maar dan doet hij het juist niet, dat is mijn vraag :lol:

Gebruikersavatar
ArjanR
Berichten: 56
Lid geworden op: 16 apr 2005, 10:46
Contacteer:

Bericht door ArjanR » 26 aug 2006, 19:28

Nu ben ik ook met deze mod aan het stoeien maar ik wil graag de uitvoer op een pagina hebben die niet in de map van het forum staat maar in de hoofdmap.

Nu heb ik het geprobeerd met van het php gedeelte een apart php bestand te maken en dan te verwijzen naar dat bestand maar mij wil het maar niet lukken.

Dus nu heb ik twee vragen;

Is het mogelijk om dit script te laten werken buiten de map van het forum en zo ja hoe dan?

En ownnageworld, ik denk dat je de tabelcode gewoon in die tpl bestanden moet plaatsen waar je hem wil zien.
Een ezel stoot zich in het gemeen geen twee keer tegen dezelfde steen,
maar de mens, dat stomme dier, doet het wel een keer of vier Afbeelding

Gesloten