| 
<?php
/**
 *   __ _  ___  ___ ___   ___   ___     ____ _ __ ___   ___
 *  / _` |/  / / __/ _ \ / _ \ /  /    / __/| '_ ` _ \ /  /
 * | (_| |\  \| (_| (_) | (_) |\  \   | (__ | | | | | |\  \
 *  \__,_|/__/ \___\___/ \___/ /__/    \___\|_| |_| |_|/__/
 *
 *
 ************************************************************************************
 * @ASCOOS-NAME            : ASCOOS CMS 25'                                            *
 * @ASCOOS-VERSION         : 25.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 - 2025, AlexSoft Software.             *
 ************************************************************************************
 *
 * @package                : Block Manager - Online Website users
 * @subpackage             : Main Frontend file
 * @source                 : /[BLOCKS PATH]/online_users/index.php
 * @fileNo                 :
 * @version                : 1.0.3
 * @created                : 2007-05-01 20:00:00 UTC+3
 * @updated                : 2025-01-01 00: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 $cms_site, $objDatabase, $my;
 
 $show_icon = $block->getParam('bool', 'show_icon', false);
 $show_total = $block->getParam('bool', 'show_total', false);
 $show_guests = $block->getParam('bool', 'show_guests', false);
 $show_robots = $block->getParam('bool', 'show_robots', false);
 $show_blocks = $block->getParam('bool', 'show_blocks', false);
 $show_users = $block->getParam('bool', 'show_users', false);
 $count = $block->getParam('int', 'count', 20);
 $theme = $block->getParam('str', 'theme', 'default');
 
 $block->loadTheme($theme);
 
 // Total connected to Frontend
 if ($show_total) {
 $query = "SELECT count(id) FROM #__session WHERE client=0";
 $objDatabase->setSQLQuery($query);
 $total_online = $objDatabase->getResult();
 }
 
 // How many of them are ordinary visitors?
 if ($show_guests) {
 $query = "SELECT count(id) FROM #__session WHERE client=0 AND guest=0";
 $objDatabase->setSQLQuery($query);
 $guests = $objDatabase->getResult();
 }
 
 // How many of them are search engines?
 if ($show_robots) {
 $query = "SELECT count(id) FROM #__session WHERE client=0 AND guest=1";
 $objDatabase->setSQLQuery($query);
 $robots = $objDatabase->getResult();
 }
 
 // How many connections are blocked?
 if ($show_blocks) {
 $query = "SELECT count(id) FROM #__ass_ban";
 $objDatabase->setSQLQuery($query);
 $blocks = $objDatabase->getResult();
 }
 
 // How many of them are registered members?
 $query = "SELECT count(userid) FROM #__session WHERE client=0 AND guest=2";
 $objDatabase->setSQLQuery($query);
 $users_online_count = $objDatabase->getResult();
 
 if ($show_users AND ($my->groupid >= 9999) )
 {
 $query = "SELECT userid, username FROM #__session WHERE client=0 AND guest=2 LIMIT ".$count;
 $objDatabase->setSQLQuery($query);
 $users_online = $objDatabase->getRows();
 }
 if (isset($query)) unset($query);
 
 $text = '';
 $text .= "<div class=\"block-online_users-".$theme."\">";
 if ($block->getVar('show_title')) {
 $text .= "<div class=\"header\"><h3>".$block->getTitle()."</h3></div><div class=\"clear\"></div>";
 }
 $text .= "<div class=\"text\"><div class=\"table\">";
 
 if ($show_total) {
 $text .= "<div class=\"row\">";
 if ($show_icon) $text .= "<div class=\"cell\"><img src=\"".$cms_site."/themes/blocks/fronts/online_users/$theme/users_total.png\" alt=\"".$block->getLangVar('total_online')."\" border=\"0\" /></div>";
 $text .= "<div class=\"cell\">".$block->getLangVar('total_online')."</div>";
 $text .= "<div class=\"cell right\">".$total_online."</div>";
 $text .= "</div>";
 }
 
 if ($show_guests) {
 $text .= "<div class=\"row\">";
 if ($show_icon) $text .= "<div class=\"cell\"><img src=\"".$cms_site."/themes/blocks/fronts/online_users/$theme/users_guest.png\" alt=\"".$block->getLangVar('guests')."\" border=\"0\" /></div>";
 $text .= "<div class=\"cell\">".$block->getLangVar('guests')."</div>";
 $text .= "<div class=\"cell right\">".$guests."</div>";
 $text .= "</div>";
 }
 
 if ($show_robots) {
 $text .= "<div class=\"row\">";
 if ($show_icon) $text .= "<div class=\"cell\"><img src=\"".$cms_site."/themes/blocks/fronts/online_users/$theme/users_robot.png\" alt=\"".$block->getLangVar('search_engines')."\" border=\"0\" /></div>";
 $text .= "<div class=\"cell\">".$block->getLangVar('search_engines')."</div>";
 $text .= "<div class=\"cell right\">".$robots."</div>";
 $text .= "</div>";
 }
 
 if ($show_blocks) {
 $text .= "<div class=\"row\">";
 if ($show_icon) $text .= "<div class=\"cell\"><img src=\"".$cms_site."/themes/blocks/fronts/online_users/$theme/users_block.png\" alt=\"".$block->getLangVar('block_users')."\" border=\"0\" /></div>";
 $text .= "<div class=\"cell\">".$block->getLangVar('block_users')."</div>";
 $text .= "<div class=\"cell right\">".$blocks."</div>";
 $text .= "</div>";
 }
 
 
 if ($show_users AND ($my->groupid >= 9999) )
 {
 $uo = [];
 foreach ($users_online as $uonline) {
 $uo[] = "<span><a href=\"".asc2seo('index.php?p=users&t=profile&a=view&id='.$uonline[0].'&fp_fullpage')."\"><b>".$uonline[1]."</b></a></span>";
 }
 $uuo = implode(',  ', $uo);
 $uuo = ($users_online_count > $count) ? $uuo.'...' : $uuo;
 } else {
 $uuo = ($users_online_count > 0) ? $block->getLangVar('login_to_see_users') : $block->getLangVar('no_registered_users');
 }
 $text .= "<div class=\"row\">";
 if ($show_icon) $text .= "<div class=\"cell\"><img src=\"".$cms_site."/themes/blocks/fronts/online_users/$theme/users_registered.png\" alt=\"".$block->getLangVar('registered_users')."\" border=\"0\" /></div>";
 $text .= "<div class=\"cell\">".$uuo."</div>";
 $text .= "<div class=\"cell right\">".$users_online_count."</div>";
 $text .= "</div>";
 
 
 $text .= "</div></div>";
 // If is Free Edition of Ascoos Cms.
 if (!ASCOOS_CMS_IS_COMMERCIAL_EDITION) $text .= "<div class=\"more\"><a href=\"https://www.ascoos.com\"><strong>ASCOOS CMS</strong></a></div>";
 $text .= "</div>";
 
 echo $text;
 
 |