FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » FUDforum Development » Plugins and Code Hacks » [MOD] 10 Recent Topics  () 3 Votes
Show: Today's Messages :: Unread Messages :: Polls :: Message Navigator
| Subscribe to topic | Remove from bookmarks 
Switch to threaded view of this topic Create a new topic Submit Reply
icon10.gif  [MOD] 10 Recent Topics [message #166161] Tue, 04 October 2011 15:52 Go to next message
SecTest is currently offline  SecTest   Germany
Messages: 7
Registered: August 2011
Karma: 2
Junior Member
add to buddy list
ignore all messages by this user
Hi,

I created this mod for my site, and i want to share it with you. I think many peoples need it Wink

1) recenttopics.inc.t
(Create "recenttopics.inc.t" in "../src/" folder)
<?
/*
Mod Recent Topics
Author: LHT
*/
function enable_recenttopics()
{
	// Queries
	$get_thread_informations = q('SELECT id,last_post_date,replies,views,last_post_id FROM '. $GLOBALS['DBHOST_TBL_PREFIX'] .'thread ORDER BY last_post_date DESC LIMIT 20');
	$RECENT_TOPICS = array (
		0  	=> array(),
		1   => array(),
		2   => array(),
		3   => array(),
		4   => array(),
		5   => array(),
		6   => array(),
		7   => array(),
		8   => array(),
		9   => array()
	);
	$RECENT_TOPICS_COUNT = 0;
	while($store_array = db_rowarr($get_thread_informations)) {
		$RECENT_TOPICS[$RECENT_TOPICS_COUNT]['THREADID']=$store_array[0];
		$RECENT_TOPICS[$RECENT_TOPICS_COUNT]['DATE']=date("D, d F Y",$store_array[1]);
		$RECENT_TOPICS[$RECENT_TOPICS_COUNT]['REPLIES']=$store_array[2];
		$RECENT_TOPICS[$RECENT_TOPICS_COUNT]['VIEWS']=$store_array[3];
		$RECENT_TOPICS[$RECENT_TOPICS_COUNT]['LASTPOSTID']=$store_array[4];
		$RECENT_TOPICS[$RECENT_TOPICS_COUNT]['SUBJECT']= q_singleval('SELECT subject FROM '. $GLOBALS['DBHOST_TBL_PREFIX'] .'msg WHERE thread_id='. $store_array[0]);
		if(sizeof($RECENT_TOPICS[$RECENT_TOPICS_COUNT]['SUBJECT'])>0)
		{
			$RECENT_TOPICS[$RECENT_TOPICS_COUNT]['POSTERID']= q_singleval('SELECT poster_id FROM '. $GLOBALS['DBHOST_TBL_PREFIX'] .'msg WHERE thread_id='. $store_array[0]);
			$RECENT_TOPICS[$RECENT_TOPICS_COUNT]['POSTERALIAS']=q_singleval('SELECT alias FROM '. $GLOBALS['DBHOST_TBL_PREFIX'] .'users WHERE id='.$RECENT_TOPICS[$RECENT_TOPICS_COUNT]['POSTERID']);
			$RECENT_TOPICS[$RECENT_TOPICS_COUNT]['LASTPOSTERID']= q_singleval('SELECT poster_id FROM '. $GLOBALS['DBHOST_TBL_PREFIX'] .'msg WHERE id='. $store_array[4]);
			$RECENT_TOPICS[$RECENT_TOPICS_COUNT]['LASTPOSTERALIAS']=q_singleval('SELECT alias FROM '. $GLOBALS['DBHOST_TBL_PREFIX'] .'users WHERE id='.$RECENT_TOPICS[$RECENT_TOPICS_COUNT]['LASTPOSTERID']);
			$RECENT_TOPICS_COUNT++;
		}else
		{
			$RECENT_TOPICS_COUNT--;
		}
	}
	// Recent Topics Table's body
	for($RECENT_TOPICS_COUNT=0;$RECENT_TOPICS_COUNT<10;$RECENT_TOPICS_COUNT++)
	{
		echo '
<tr class="row">
	<td class="RowStyleB nw">'. $RECENT_TOPICS_COUNT .'</td>
	<td colspan="3" class="RowStyleA wa"><a href="index.php?t=msg&amp;th='. $RECENT_TOPICS[$RECENT_TOPICS_COUNT]['THREADID'] .'&amp;start=0&amp;">'. $RECENT_TOPICS[$RECENT_TOPICS_COUNT]['SUBJECT'] .'</a></td>
	<td class="RowStyleA nw"><a href="index.php?t=usrinfo&id='. $RECENT_TOPICS[$RECENT_TOPICS_COUNT]['POSTERID'] .'&">'. $RECENT_TOPICS[$RECENT_TOPICS_COUNT]['POSTERALIAS'] .'</a></td>
	<td class="RowStyleB nw">'. $RECENT_TOPICS[$RECENT_TOPICS_COUNT]['REPLIES'] .'</td>
	<td class="RowStyleB nw">'. $RECENT_TOPICS[$RECENT_TOPICS_COUNT]['VIEWS'] .'</td>
	<td class="RowStyleA nw"><a href="index.php?t=usrinfo&id='. $RECENT_TOPICS[$RECENT_TOPICS_COUNT]['LASTPOSTERID'] .'&">'. $RECENT_TOPICS[$RECENT_TOPICS_COUNT]['LASTPOSTERALIAS'] .'</a></td>
	<td class="RowStyleB nw">'. $RECENT_TOPICS[$RECENT_TOPICS_COUNT]['DATE'] .'</td>
	
</tr>';
	}
	// Recent Topics Table's foot
	echo '
	</table><br>';
	// Free Memory
	unset($get_thread_informations);
	unset($store_array);
	unset($RECENT_TOPICS);
}
?>


2) recenttopics.tmpl
(Create recenttopics.tmpl in ../thm/YOUR_THEME_NAME/tmpl/ folder)
{PHP_FILE: input: recenttopics.inc.t; output: recenttopics.inc;}
{MAIN_SECTION: recenttopics RecentTopics}
<table cellspacing="1" cellpadding="2" class="ContentTable">
<tr>
	<th class="nw">{MSG: rated}</th>
	<th colspan="3" class="wa">10 {MSG: usrinfo_last_post}</th>
	<th class="nw">{MSG: starter}</th>
	<th class="nw">{MSG: replies}</th>
	<th class="nw">{MSG: views}</th>
	<th class="nw">{MSG: last_poster}</th>
	<th class="nw">{MSG: date_posted}</th>
</tr>
	{FUNC: enable_recenttopics()}
{MAIN_SECTION: END}


3) Modify index.tmpl
(Open "index.tmpl" in "../thm/YOUR_THEME_NAME/tmpl/" with Text Editor)
=============================================================
Find:
{REF: draw_forum_list.tmpl}

Add after:
{REF: recenttopics.tmpl}

=============================================================
Find:
{TEMPLATE-DATA: announcements}

Add after:
{TEMPLATE: recenttopics}


4) Modify language file
(Open "msg" in ../thm/YOUR_THEME_NAME/i18n/YOUR_LANG/ with Text Editor)
Add:
rated:Rated
starter:Starter
last_poster: Last Poster


5) Rebuild your Template from Admin Panel !



Re: [MOD] 10 Recent Topics [message #166184 is a reply to message #166161] Sun, 09 October 2011 08:39 Go to previous messageGo to next message
naudefj is currently offline  naudefj   South Africa
Messages: 3771
Registered: December 2004
Karma: 28
Senior Member
Administrator
Core Developer
add to buddy list
ignore all messages by this user
Excellent mod, thanks!

On a side note: mods like these are kind of difficult to install. If you have time, it would be great if you can refactor it into a plugin.
Message by The Witcher is ignored  [reveal message]  [reveal all messages by The Witcher]  [stop ignoring this user] Go to previous messageGo to next message
Re: [MOD] 10 Recent Topics [message #166209 is a reply to message #166206] Tue, 11 October 2011 09:19 Go to previous messageGo to next message
naudefj is currently offline  naudefj   South Africa
Messages: 3771
Registered: December 2004
Karma: 28
Senior Member
Administrator
Core Developer
add to buddy list
ignore all messages by this user
The path_info theme should probably not have a index.tmpl" at all. Please rename/delete it and let us know if it helps.
Re: [MOD] 10 Recent Topics [message #166213 is a reply to message #166209] Tue, 11 October 2011 12:21 Go to previous messageGo to next message
The Witcher is currently offline  The Witcher   United States
Messages: 675
Registered: May 2009
Location: USA
Karma: 3
Senior Member
add to buddy list
stop ignoring messages by this user
Quote:
probably not have a index.tmpl" at all.
???? I guess I don't understand, index.tmpl already exists in path_info, but it was not included in the Path template set I used
This is from an as yet unused original install of 3.0.3 /thm/path_info/tmpl/index.tmpl
/**
* copyright            : (C) 2001-2011 Advanced Internet Designs Inc.
* email                : forum(at)prohost(dot)org
* $Id: index.tmpl 5264 2011-05-16 16:29:13Z naudefj $
*
* This program is free software; you can redistribute it and/or modify it 
* under the terms of the GNU General Public License as published by the 
* Free Software Foundation; version 2 of the License. 
**/

{PHP_FILE: input: index.php.t; output: index.php;}
{REF: security.tmpl}
{REF: logedin.tmpl}
{REF: admincp.tmpl}
{REF: header.tmpl}
{REF: footer.tmpl}
{REF: curtime.tmpl}
{REF: usercp.tmpl}
{REF: stats.tmpl}
{REF: show.tmpl}
{REF: quicklogin.tmpl}
{REF: draw_forum_list.tmpl}

{SECTION: mark_all_read_lnk}
{ROOT}/mar/0/{VAR: cat_id}/{DEF: _rsid}?SQ={GVAR: sq}
{SECTION: END}

My test was done using the default, twilight, and forest green themes, and it was only when attempting to use a path info based theme that it failed. I presumed at least in part because of the absence of a place in path_info/tmpl/index.tmpl to insert the second half of step #3 into!
Find:
{TEMPLATE-DATA: announcements}
Add after:
{TEMPLATE: recenttopics}

My second thought was that the mods layout might not be compatible with the left aligned themes!
I've already restored the forum Data dump and deleted all custom themes, so I can redo the process from scratch and see what else we can find out.



"I'm a Witcher, I solve human problems; not always using a sword!"
Re: [MOD] 10 Recent Topics [message #166214 is a reply to message #166213] Tue, 11 October 2011 19:42 Go to previous messageGo to next message
SecTest is currently offline  SecTest   Germany
Messages: 7
Registered: August 2011
Karma: 2
Junior Member
add to buddy list
ignore all messages by this user
I remember that Path_Info uses Data from other Theme. Did you try to build Default theme first, then build Path_Info ?

@naudefi: Thanks, I'll try to make it into plugin later when i have time.
Message by The Witcher is ignored  [reveal message]  [reveal all messages by The Witcher]  [stop ignoring this user] Go to previous messageGo to next message
Message by TheDude is ignored  [reveal message]  [reveal all messages by TheDude]  [stop ignoring this user] Go to previous message
Quick Reply
Formatting Tools:   
  Switch to threaded view of this topic Create a new topic
Previous Topic: Using mailman, fud, /etc/aliases, maillist.php, and custom filter scripts
Next Topic: Spotify plugin
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Fri Nov 01 15:53:22 EDT 2024

Total time taken to generate the page: 0.04339 seconds