?
Path : /home/admin/public_html/old/board/components/com_kunena/template/default/ |
Current File : /home/admin/public_html/old/board/components/com_kunena/template/default/latestx.php |
<?php /** * @version $Id: latestx.php 827 2009-06-09 19:53:37Z mahagr $ * Kunena Component * @package Kunena * * @Copyright (C) 2008 - 2009 Kunena Team All rights reserved * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL * @link http://www.kunena.com * * Based on FireBoard Component * @Copyright (C) 2006 - 2007 Best Of Joomla All rights reserved * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL * @link http://www.bestofjoomla.com * * Based on Joomlaboard Component * @copyright (C) 2000 - 2004 TSMF / Jan de Graaff / All Rights Reserved * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL * @author TSMF & Jan de Graaff **/ // Dont allow direct linking defined( '_JEXEC' ) or die('Restricted access'); $fbConfig =& CKunenaConfig::getInstance(); $fbSession =& CKunenaSession::getInstance(); //Start with determining which forums the user can see require_once (KUNENA_PATH_LIB .DS. 'kunena.authentication.php'); //resetting some things: $lockedForum = 0; $lockedTopic = 0; $topicSticky = 0; //start the latest x if ($sel == "0") { $querytime = ($prevCheck - $fbConfig->fbsessiontimeout); //move 30 minutes back to compensate for expired sessions } else { if ("" == $sel) { $sel = 720; } //take 720 hours ~ 1 month as default //Time translation $back_time = $sel * 3600; //hours*(mins*secs) $querytime = time() - $back_time; } // get all the threads with posts in the specified timeframe $kunena_db->setQuery( "SELECT a.id, a.thread, a.subject, b.lastpost FROM #__fb_messages AS a JOIN ( SELECT thread, MAX(time) AS lastpost FROM #__fb_messages WHERE time >'{$querytime}' AND hold='0' AND moved='0' AND catid IN ($fbSession->allowed) GROUP BY 1) AS b ON b.thread = a.thread WHERE a.parent='0' AND a.moved='0' AND a.hold='0' GROUP BY a.thread ORDER BY b.lastpost DESC LIMIT 100"); $resultSet = $kunena_db->loadObjectList(); check_dberror("Unable to load messages."); $countRS = count($resultSet); //check if $sel has a reasonable value and not a Unix timestamp: $since = false; $lastvisit = ''; if ($sel == "0") { $lastvisit = date(_DATETIME, $querytime); $since = true; } ?> <div class="<?php echo $boardclass; ?>_bt_cvr1"> <div class="<?php echo $boardclass; ?>_bt_cvr2"> <div class="<?php echo $boardclass; ?>_bt_cvr3"> <div class="<?php echo $boardclass; ?>_bt_cvr4"> <div class="<?php echo $boardclass; ?>_bt_cvr5"> <table class = "fb_blocktable" id ="fb_latestx" border = "0" cellspacing = "0" cellpadding = "0" width="100%"> <thead> <tr> <th colspan = "4"> <div class = "fb_title_cover" style = "text-align:center; display:block; width:100%;"> <span class="fb_title"> <?php if (!$since) { echo _SHOW_LAST_POSTS . " $sel"; } else { echo _SHOW_LAST_SINCE; } ?> <?php echo $lastvisit; ?> <?php echo _SHOW_HOURS; ?> (<?php echo _SHOW_POSTS; ?><?php echo $countRS; ?>)</span> <?php echo _DESCRIPTION_POSTS; ?><br/> <?php echo CKunenaLink::GetShowLatestThreadsLink(4, _SHOW_4_HOURS) . ' | '; echo CKunenaLink::GetShowLatestThreadsLink(8, _SHOW_8_HOURS) . ' | '; echo CKunenaLink::GetShowLatestThreadsLink(12, _SHOW_12_HOURS) . ' | '; echo CKunenaLink::GetShowLatestThreadsLink(24, _SHOW_24_HOURS) . ' | '; echo CKunenaLink::GetShowLatestThreadsLink(48, _SHOW_48_HOURS) . ' | '; echo CKunenaLink::GetShowLatestThreadsLink(168, _SHOW_WEEK) . ' | '; echo CKunenaLink::GetShowLatestThreadsLink(0, _SHOW_LASTVISIT) ; ?> </div> </th> </tr> </thead> <tbody id = "<?php echo $boardclass; ?>latestx_tbody"> <tr class = "fb_sth fbs"> <th class = "th-1 <?php echo $boardclass; ?>sectiontableheader" width="60%" align="left"><?php echo _LATEST_THREADFORUM; ?> </th> <th class = "th-2 <?php echo $boardclass; ?>sectiontableheader" width="10%" align="center"><?php echo _LATEST_NUMBER; ?> </th> <th class = "th-3 <?php echo $boardclass; ?>sectiontableheader" width="15%" align="center"><?php echo _LATEST_AUTHOR; ?> </th> <th class = "th-4 <?php echo $boardclass; ?>sectiontableheader" width="15%" align="left"><?php echo _POSTED_AT; ?> </th> </tr> <?php if (0 < $countRS) { $tabclass = array ( "sectiontableentry1", "sectiontableentry2" ); $k = 0; //for alternating rows foreach ($resultSet as $rs) { //get the latest post time for this thread unset($thisThread); $kunena_db->setQuery("SELECT MAX(time) AS maxtime, COUNT(*) AS totalmessages FROM #__fb_messages WHERE thread='{$rs->thread}'"); $thisThread = $kunena_db->loadObject(); $latestPostTime = $thisThread->maxtime; //get the latest post itself unset($result); $kunena_db->setQuery("SELECT a.id, a.name, a.userid, a.catid, c.id AS catid, c.name as catname FROM #__fb_messages AS a LEFT JOIN #__fb_categories AS c ON a.catid=c.id WHERE a.time='{$latestPostTime}'"); $result = $kunena_db->loadObject(); $latestPostId = $result->id; $latestPostName = html_entity_decode_utf8(stripslashes($result->name)); $latestPostUserid = $result->userid; $latestPostCatid = $result->catid; $catname = kunena_htmlspecialchars(stripslashes($result->catname)); $kunena_db->setQuery("SELECT COUNT(*) FROM #__fb_messages WHERE time>'{$querytime}' AND thread={$rs->thread}"); $numberOfPosts = $kunena_db->loadResult(); $k = 1 - $k; echo '<tr class="' . $boardclass . '' . $tabclass[$k] . '" >'; echo '<td class="td-1" align="left" >'; echo CKunenaLink::GetThreadLink('view', $latestPostCatid, $rs->thread, kunena_htmlspecialchars(stripslashes($rs->subject)), kunena_htmlspecialchars(stripslashes($rs->subject))).' '; $threadPages = 1; if ($thisThread->totalmessages > $fbConfig->messages_per_page) { $threadPages = ceil($thisThread->totalmessages / $fbConfig->messages_per_page); echo ("<span class=\"jr-showcat-perpage\">["); echo _PAGE.' '.CKunenaLink::GetThreadPageLink($fbConfig, 'view', $latestPostCatid, $rs->thread, 1, $fbConfig->messages_per_page, 1); if ($threadPages > 3) { echo ("..."); $startPage = $threadPages - 2; } else { echo (","); $startPage = 2; } $noComma = true; for ($hopPage = $startPage; $hopPage <= $threadPages; $hopPage++) { if ($noComma) { $noComma = false; } else { echo (","); } echo CKunenaLink::GetThreadPageLink($fbConfig, 'view', $latestPostCatid, $rs->thread, $hopPage, $fbConfig->messages_per_page, $hopPage); } echo ']</span> '; } $tmpicon = isset($fbIcons['latestpost']) ? '<img src="' .KUNENA_URLICONSPATH.$fbIcons['latestpost'].'" border="0" alt="'._SHOW_LAST.'" title="'._SHOW_LAST.'" />':' <img src="'.KUNENA_URLEMOTIONSPATH.'icon_newest_reply.gif" border="0" alt="'._SHOW_LAST.'" title="'._SHOW_LAST.'" />'; echo CKunenaLink::GetThreadPageLink($fbConfig, 'view', $latestPostCatid, $rs->thread, $threadPages, $fbConfig->messages_per_page, $tmpicon, $latestPostId); echo '<br />' . _GEN_FORUM . ' : ' . $catname . '</td>'; echo '<td class="td-2" align="center">' . $numberOfPosts . '</td>'; echo '<td class="td-3" align="center">'; echo CKunenaLink::GetProfileLink($fbConfig, $latestPostUserid, kunena_htmlspecialchars($latestPostName)); echo '</td>'; echo '<td class="td-4" align="left">' . date(_DATETIME, $latestPostTime) . '</td>'; echo '</tr>'; } } else { echo "<tr><td colspan=\"4\" align=\"left\"> " . _NO_TIMEFRAME_POSTS . " </td></tr>"; } echo "</tbody></table></div></div></div></div></div>"; ?> <!-- Begin: Forum Jump --> <div class="<?php echo $boardclass; ?>_bt_cvr1"> <div class="<?php echo $boardclass; ?>_bt_cvr2"> <div class="<?php echo $boardclass; ?>_bt_cvr3"> <div class="<?php echo $boardclass; ?>_bt_cvr4"> <div class="<?php echo $boardclass; ?>_bt_cvr5"> <table class = "fb_blocktable" id="fb_bottomarea" border = "0" cellspacing = "0" cellpadding = "0"> <thead> <tr> <th class = "th-right"> <?php //(JJ) FINISH: CAT LIST BOTTOM if ($fbConfig->enableforumjump) require_once (KUNENA_PATH_LIB .DS. 'kunena.forumjump.php'); ?> </th> </tr> </thead> <tbody><tr><td></td></tr></tbody> </table> </div> </div> </div> </div> </div> <!-- Finish: Forum Jump -->