Version: 1.00, by tnguy3n
Developer Last Online: Sep 2010
Category: Miscellaneous Hacks -
Version: 3.0.7
Rating:
Released: 04-10-2005
Last Update: Never
Installs: 37
No support by the author.
Last XX Threads + Posts in UserCP
Author: tnguy3n (Thinh Nguyen)
Support site: http://vbviet.org
Description:
This hack shows user's last X posts + threads in User CP. It's useful for returning users who'r away from the board, and it's give the users a briefing of their posts/threads and where they last discussing.
To change the number of post/thread display in UserCP, replace 5 with your own value in line:
$limit = 5;
Queries: none
File Mod: 1
Template Mod: 1
New template: 4
Installation Time: 4-5 mins
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
<tr><td class="$navclass[attachments]" nowrap="nowrap"><a class="smallfont" href="usercp.php?$session[sessionurl]do=getlastposts">Your Last Posts</a></td></tr>
2. In file modification part, step 2, add this bit of code instead:
PHP Code:
// last XX posts + threads in UserCP by tnguy3n
if($_REQUEST['do'] == 'getlastposts')
{
$limit = 5;
// get last XX threads
$lastthreads = $DB_site->query("
SELECT thread.threadid, thread.lastpost, thread.title AS threadtitle, thread.forumid, thread.replycount, thread.lastposter, thread.dateline, thread.views, forum.forumid, forum.title AS forumtitle, user.userid, user.username
FROM " . TABLE_PREFIX . "thread AS thread
LEFT JOIN " . TABLE_PREFIX . "forum AS forum ON(thread.forumid = forum.forumid)
LEFT JOIN " . TABLE_PREFIX . "user AS user ON(thread.lastposter = user.username)
WHERE thread.postuserid = $bbuserinfo[userid] AND thread.visible = 1
ORDER BY thread.dateline DESC
LIMIT 0, $limit ");
while($lastthread = $DB_site->fetch_array($lastthreads))
{
$threadtitle = $lastthread['threadtitle'];
$forumtitle = $lastthread['forumtitle'];
$forumid = $lastthread['forumid'];
$dateline = vbdate($vboptions['dateformat'], $lastthread['dateline']);
$replies = $lastthread['replycount'];
$views = $lastthread['views'];
$lastposter = $lastthread['lastposter'];
$lastpost = vbdate($vboptions['dateformat'], $lastthread['lastpost']);
eval('$lastthreadsbit .= "' . fetch_template('usercp_lastthreadsbit') . '";');
}
eval('$showlastthreads .= "' . fetch_template('usercp_lastthreads') . '";');
// get last XX posts
$lastposts = $DB_site->query("
SELECT thread.threadid, thread.title AS threadtitle, thread.forumid, thread.replycount, thread.postusername, thread.postuserid, thread.dateline AS threaddate, thread.views, thread.visible, post.threadid, post.username, post.userid, post.dateline AS lastpostdate, forum.forumid, forum.title AS forumtitle
FROM " . TABLE_PREFIX . "post AS post
LEFT JOIN " . TABLE_PREFIX . "thread AS thread ON(thread.threadid = post.threadid)
LEFT JOIN " . TABLE_PREFIX . "forum AS forum ON(forum.forumid = thread.forumid)
WHERE post.userid = $bbuserinfo[userid] AND thread.visible = 1
GROUP BY thread.threadid
ORDER BY lastpostdate DESC
I was gonna do this a while ago but I was pointed to the fact that ppl can just subscribe w/o notification by default and have a list of all threads/posts.
Can you change this in another version for the main page ? ...
as TOP Five Hack ?
and can I changed the language ?, where ?
you meant to show user's last posts/threads on forumhome?
If so, open index.php,
ADD THIS QUERY 'somewhere',
PHP Code:
// last XX posts + threads in UserCP by tnguy3n
$limit = 5;
// get last XX threads
$lastthreads = $DB_site->query("
SELECT thread.threadid, thread.lastpost, thread.title AS threadtitle, thread.forumid, thread.replycount, thread.lastposter, thread.dateline, thread.views, forum.forumid, forum.title AS forumtitle, user.userid, user.username
FROM " . TABLE_PREFIX . "thread AS thread
LEFT JOIN " . TABLE_PREFIX . "forum AS forum ON(thread.forumid = forum.forumid)
LEFT JOIN " . TABLE_PREFIX . "user AS user ON(thread.lastposter = user.username)
WHERE thread.postuserid = $bbuserinfo[userid] AND thread.visible = 1
ORDER BY thread.dateline DESC
LIMIT 0, $limit ");
while($lastthread = $DB_site->fetch_array($lastthreads))
{
$threadtitle = $lastthread['threadtitle'];
$forumtitle = $lastthread['forumtitle'];
$forumid = $lastthread['forumid'];
$dateline = vbdate($vboptions['dateformat'], $lastthread['dateline']);
$replies = $lastthread['replycount'];
$views = $lastthread['views'];
$lastposter = $lastthread['lastposter'];
$lastpost = vbdate($vboptions['dateformat'], $lastthread['lastpost']);
eval('$lastthreadsbit .= "' . fetch_template('usercp_lastthreadsbit') . '";');
}
eval('$showlastthreads .= "' . fetch_template('usercp_lastthreads') . '";');
// get last XX posts
$lastposts = $DB_site->query("
SELECT thread.threadid, thread.title AS threadtitle, thread.forumid, thread.replycount, thread.postusername, thread.postuserid, thread.dateline AS threaddate, thread.views, thread.visible, post.threadid, post.username, post.userid, post.dateline AS lastpostdate, forum.forumid, forum.title AS forumtitle
FROM " . TABLE_PREFIX . "post AS post
LEFT JOIN " . TABLE_PREFIX . "thread AS thread ON(thread.threadid = post.threadid)
LEFT JOIN " . TABLE_PREFIX . "forum AS forum ON(forum.forumid = thread.forumid)
WHERE post.userid = $bbuserinfo[userid] AND thread.visible = 1
GROUP BY thread.threadid
ORDER BY lastpostdate DESC