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