<?php
/**
* __ _ ___ ___ ___ ___ ___ ____ _ __ ___ ___
* / _` |/ / / __/ _ \ / _ \ / / / __/| '_ ` _ \ / /
* | (_| |\ \| (_| (_) | (_) |\ \ | (__ | | | | | |\ \
* \__,_|/__/ \___\___/ \___/ /__/ \___\|_| |_| |_|/__/
*
*
************************************************************************************
* @ASCOOS-NAME : ASCOOS CMS 24' *
* @ASCOOS-VERSION : 24.0.0 *
* @ASCOOS-CATEGORY : Block (Frontend and Administrator Side) *
* @ASCOOS-CREATOR : Drogidis Christos *
* @ASCOOS-SITE : www.ascoos.com *
* @ASCOOS-LICENSE : [Commercial] http://docs.ascoos.com/lics/ascoos/AGL.html *
* @ASCOOS-COPYRIGHT : Copyright (c) 2007 - 2024, AlexSoft Software. *
************************************************************************************
*
* @package : Comfor Latest Discussion
* @subpackage : Main Frontend File
* @source : /[BLOCKS PATH]/comfor-latest/index.php
* @fileNo :
* @version : 1.0.1
* @created : 2012-07-01 20:00:00 UTC+3
* @updated : 2024-03-12 07:00:00 UTC+3
* @author : Drogidis Christos
* @authorSite : www.alexsoft.gr
* @license : AGL-F
*
* @since PHP 8.2.0
*/
defined ("ALEXSOFT_RUN_CMS") or die("Prohibition of Access.");
global $core, $objLang, $cms_site, $my, $objDatabase, $ASCOOS, $frontpage, $cms_offset, $app;
$count = $block->getParam('int', 'count',10); // The number of messages to display
$all_lang = $block->getParam('bool', 'all_lang', false ); // Include messages regardless of language?
$forum_frontpage = $block->getParam('str', 'frontpage','fullpage' ); // The 2nd level template that will appear
$board_ids = $block->getParam('lstr', 'board_ids', '' ); // Only the discussion categories that will be displayed
$except_board_ids = $block->getParam('lstr', 'except_board_ids', '' ); // Categories of discussions to be excluded
$theme = $block->getParam('str', 'theme','default' ); // The Block theme
// load Block Theme
$block->loadTheme($theme);
// We get the current day
$to_day = date("d-m-Y", time() + ($cms_offset * 60 * 60));
$where = [];
if (!$all_lang) {
$where[] = "b.lang_id = ".$ASCOOS['lang']->id;
$where[] = "m.lang_id = ".$ASCOOS['lang']->id;
}
if ($board_ids != '') $where[] = "b.board_id IN (".$board_ids.")";
if ($except_board_ids != '') $where[] = "b.board_id NOT IN (".$except_board_ids.")";
$where[] = "b.published=1";
$where[] = "b.groupid <= ".$my->groupid;
$where[] = "m.groupid <= ".$my->groupid;
$mwhere=array();
$mwhere[] = "m.groupid <= ".$my->groupid;
$query = "SELECT t.id, t.board_id, t.first_msg, t.last_msg, t.replies, m.subject as fsubject, b.name AS boardname"
. "\n FROM #__comfor_topics AS t"
. "\n LEFT JOIN #__comfor_msg AS m ON m.msg_id = t.first_msg"
. "\n LEFT JOIN #__comfor_boards AS b ON b.board_id = t.board_id"
. (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "")
. "\n ORDER BY t.last_msg DESC LIMIT ".$count.""
;
$objDatabase->setSQLQuery( $query );
$topics = $objDatabase->getObjects();
if (count($topics)) {
?>
<div class="block-comfor-latest-<?php echo $theme; ?>">
<table class="comfor-latest">
<tr class="comfor-latest-header">
<td colspan="2" class="comfor-latest-header border"><?php echo $block->getLangVar('subject'); ?></td>
<td class="comfor-latest-header border"><?php echo $block->getLangVar('poster'); ?></td>
<td class="comfor-latest-header border"><?php echo $block->getLangVar('board'); ?></td>
<td class="comfor-latest-header border"><?php echo $block->getLangVar('date_message'); ?></td>
</tr>
<?php
$line = 1;
foreach ($topics as $topic)
{
$msg_query = "SELECT m.id, m.topic_id, m.subject, m.poster_name, m.created, m.created_by, l.domain AS flag, u.id AS userid, u.username AS uname, u.groupid AS usergroup, ud.sex AS usersex, g.emphasis AS gemphasis, g.color AS gcolor"
."\nFROM #__comfor_msg AS m"
."\nLEFT JOIN #__languages AS l ON l.id = m.lang_id"
."\nLEFT JOIN #__users AS u ON u.id = m.created_by"
."\nLEFT JOIN #__users_details AS ud ON ud.id = u.id"
."\nLEFT JOIN #__groups AS g ON g.id = u.groupid"
."\nWHERE m.published=1"
."\nAND m.groupid <= ".$my->groupid
."\nAND m.msg_id='".$topic->last_msg."'"
."\nORDER BY m.msg_id DESC"
."\nLIMIT 1";
$objDatabase->setSQLQuery( $msg_query );
$msg = $objDatabase->getAssoc();
$mblink = asc2seo("index.php?p=comfor&t=topic&id=".$topic->id."&fp=".$forum_frontpage."")."#p".$topic->last_msg;
$sblink = asc2seo("index.php?p=comfor&t=board&id=".$topic->board_id."&fp=".$forum_frontpage."");
?>
<tr class="<?php echo ($line == 0) ? "comfor-latest-row0" : "comfor-latest-row1"; ?> border">
<td class="<?php echo ($topic->replies == 0) ? "comfor-latest-icon-new" : "comfor-latest-icon-update"; ?> border" valign="middle"></td>
<td class="comfor-latest-subject border"><a href="<?php echo $mblink; ?>"><?php echo $topic->fsubject; ?></a></td>
<td class="comfor-latest-poster border"><?php
if ( $msg['created_by'] > 0) {
if ($msg['gemphasis'] == 1) $username = "<b>".$msg['uname']."</b>";
else $username = $msg['uname'];
$creator = "<font color=\"".$msg['gcolor']."\">".$username."</font>";
} else {
$creator = "<font color=\"#333333\"><strike>".$msg['poster_name']."</strike></font>";
}
echo $creator; ?></td>
<td class="comfor-latest-board border"><a href="<?php echo $sblink; ?>"><?php echo ascoos_langCorrectItem($topic->boardname, 'topic', true); ?></a></td>
<td class="comfor-latest-date border"><?php
$posterdate1 = date("H:i:s", $msg['created'] + ($cms_offset * 60 * 60));
$posterdate = date("d-m-Y", $msg['created']+ ($cms_offset * 60 * 60));
if ( strcmp($posterdate, $to_day) == '0')
echo "<b>".$block->lang->today."</b> ".$posterdate1."";
else
echo "".date('d-m-Y H:i:s', $msg['created']+ ($cms_offset * 60 * 60) )."";
?></td>
</tr>
<?php
if ($line == 1) $line = 0;
else $line = 1;
}
?>
</table>
</div>
<?php } else $block->clear(); ?>
|