<?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(); ?>
 
 |