git-svn-id: https://192.168.0.254/svn/Proyectos.FundacionLQDVI_WebCongresos/trunk@2 94ccb1af-fd9d-d947-8d90-7f70ea60afc8
252 lines
10 KiB
PHP
252 lines
10 KiB
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 -->
|