Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 2048 Просмотров
*

bespalov

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Выдает вот такую ошибку
Warning: Invalid argument supplied for foreach() in /home/bespalov/slet.volga-orur.ru/docs/modules/mod_dwhosonline/helper.php on line 82
DWO Total members

Код
<?php
/**
 * @package DWhosOnline
 * @version 1.7.0
 * @author Darkick <darkick@darkick.ru>
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 */

// no direct access
defined('_JEXEC') or die;

jimport('joomla.filesystem.file');


class modDWhosOnlineHelper
{
/**
*
*
* @param object Parameters
* @return array Information about online users in format array($members, $robots, $guests_count)
*/
public static function getOnlineUsers(&$params)
{
if (!$params->get('detect_whosonline', true)) {
return array(array(), array(), 0);
}

$db = &JFactory::getDBO();

// Timeout
$from_time = time() - abs((int)$params->get('timeout', 15)) * 60 - 1;

// Robots signatures list
$robots_sigs = array();
$robots_sigs_text = $params->get('robots_sigs', '[Bot]=bot');
if ($params->get('robots_from_file')) {
if (JFile::exists(dirname(__FILE__).DS.'assets'.DS.'robots.txt') && ($robots_txt = JFile::read(dirname(__FILE__).DS.'assets'.DS.'robots.txt'))) {
$robots_sigs_text = $robots_txt."\n".$robots_sigs_text;
}
}
$robots_groups = explode("\n", $robots_sigs_text);
foreach ($robots_groups as $robo_group)
{
$robo_group = trim($robo_group);
@list($robo_name, $robo_sigs) = explode('=', $robo_group, 2);
$robo_sigs = explode(',', $robo_sigs);
if (trim($robo_name) && count($robo_sigs)) {
$robots_sigs[$robo_name] = $robo_sigs;
}
}
if (!$robots_sigs) {
$robots_sigs['[Bot]'] = array('bot');
}

$guests_count = 0;
// Members
if ($params->get('extra_support_agora', false)) {
$query = 'SELECT DISTINCT u.id, u.username, u.name, u.email, u.usertype, u.gid, s.time, au.id AS agora_user_id
FROM #__session s, #__users u, #__agora_users au
WHERE s.userid = u.id AND u.id = au.jos_id ';
} else {
$query = 'SELECT DISTINCT u.id, u.username, u.name, u.email, u.usertype, u.gid, s.time, 0 AS agora_user_id
FROM #__session s, #__users u
WHERE s.userid = u.id ';
}
$query .= ' AND s.client_id = 0 AND s.time >= '.$from_time;
if ($params->get('where_condition'))
{
$user = &JFactory::getUser();
$query .= ' AND ('.JString::str_ireplace(array('$user->id', '$user->username', '$user->name', '$user->email'), array((int)$user->id, $db->Quote($user->username), $db->Quote($user->name), $db->Quote($user->email)), $params->get('where_condition')).')';
}
$query .= ' ORDER BY s.time ASC';
$db->setQuery($query);
$members = $db->loadObjectList('username');

// Check for hidden members
$hide_usergroups = $params->get('hide_usergroups');
JArrayHelper::toInteger($hide_usergroups, $params->get('hide_usergroups'));
$hide_users = explode(',', $params->get('hide_users'));
JArrayHelper::toInteger($hide_users);
foreach ($members as $key => $member)
{
if (in_array((int)$member->gid, $hide_usergroups) || in_array((int)$member->id, $hide_users))
{
unset($members[$key]);
if ($params->get('count_hidden', true)) {
$guests_count++;
}
}
}

// Guests and Robots
$config = &JFactory::getConfig();
$session_handler = $config->getValue('config.session_handler', 'database');
$query = 'SELECT ';
if ($session_handler == 'database') {
$query .= ' DISTINCT ';
}
$query .= ' '.$db->nameQuote('data').
' FROM #__session
WHERE '.$db->nameQuote('guest').' <> 0 AND '.$db->nameQuote('client_id').' = 0 AND '.$db->nameQuote('time').' >= '.$from_time.'
ORDER BY '.$db->nameQuote('time').' DESC';
$db->setQuery($query);
$guests_robots = $db->loadResultArray();

// Detect Robots and count Guests
$robots = array();
foreach ($guests_robots as $data)
{
@list($tmp, $_default) = explode('|', $data, 2);
if (!($_default = unserialize($_default))) {
$guests_count++;
continue;
};

$browser = JArrayHelper::getValue($_default, 'session.client.browser', '', 'string');
if (!($robo_name = modDWhosOnlineHelper::checkBrowser($browser, $robots_sigs, $params->get('robots_sig_empty', true)))) {
$guests_count++;
continue;
}
if (!array_key_exists($robo_name, $robots))
{
$robots[$robo_name] = new JObject();
$robots[$robo_name]->setProperties(array('id' => 0, 'username' => $robo_name, 'name' => $robo_name, 'email' => '', 'usertype' => 'robot', 'time' => JArrayHelper::getValue($_default, 'session.timer.now', 0, 'int'), 'agora_user_id' => 0));
}
}

return array($members, $robots, $guests_count);
}


/**
*
*
* @param string Browser agent string
* @param array Named array of robots signatures
* @return string Name of Robot for the Browser or empty string
*/
protected static function checkBrowser($browser, $robots_sigs, $robots_sig_empty = true)
{
if (!$browser)
{
if ($robots_sig_empty) {
return '[Bot]';
} else {
return '';
}
}
foreach ($robots_sigs as $robo_name => $robo_sigs)
{
foreach ($robo_sigs as $robo_sig)
{
if (stripos($browser, $robo_sig)!== false) {
return $robo_name;
}
}
}
return '';
}


/**
*
*
* @param object Parameters
* @return array Information about total and latest members
*/
public static function getTotalLatestMembers(&$params)
{
if (($params->get('total_members_position') == 'none') && ((int)$params->get('latest_members_count', 2) == 0) && ($params->get('latest_members_show_mode') == 'none')) {
return array(0, array());
}

$db = &JFactory::getDBO();

// Blocked Members
if (!$params->get('latest_members_show_blocked')) {
$where_blocked = ' AND u.block = 0 ';
} else {
$where_blocked = '';
}
// Hidden members
$hide_usergroups = $params->get('hide_usergroups');
JArrayHelper::toInteger($hide_usergroups, $params->get('hide_usergroups'));
$hide_usergroups = implode(', ', $hide_usergroups);
$hide_users = explode(',', $params->get('hide_users'));
JArrayHelper::toInteger($hide_users);
$hide_users = implode(', ', $hide_users);
$where_hidden = '';
if ($hide_usergroups) {
$where_hidden .= ' AND u.gid NOT IN ('.$hide_usergroups.') ';
}
if ($hide_users) {
$where_hidden .= ' AND u.id NOT IN ('.$hide_users.') ';
}


// Total Members count
if (($params->get('total_members_position', 'bottom') == 'top') || ($params->get('total_members_position', 'bottom') == 'bottom'))
{
$query = 'SELECT COUNT(*) FROM #__users u WHERE 1 '.$where_blocked;
if (!$params->get('count_hidden', true)) {
$query .= $where_hidden;
}
$db->setQuery($query);
$total_members_count = (int)$db->loadResult();
} else {
$total_members_count = 0;
}

// Latest Members
if ((int)$params->get('latest_members_count', 2) && ($params->get('latest_members_show_mode')!= 'none'))
{
if ($params->get('extra_support_agora')) {
$query = 'SELECT u.id, u.username, u.name, u.email, u.usertype, u.gid, u.registerDate, au.id AS agora_user_id
FROM #__users u, #__agora_users au
WHERE u.id = au.jos_id ';
} else {
$query = 'SELECT u.id, u.username, u.name, u.email, u.usertype, u.gid, u.registerDate, 0 AS agora_user_id
FROM #__users u
WHERE 1 ';
}
$query .= $where_blocked;
$query .= $where_hidden;
if ($params->get('where_condition'))
{
$user = &JFactory::getUser();
$query .= ' AND ('.JString::str_ireplace(array('$user->id', '$user->username', '$user->name', '$user->email'), array($db->Quote($user->id), $db->Quote($user->username), $db->Quote($user->name), $db->Quote($user->email)), $params->get('where_condition')).')';
}
// Latest Members
if ($params->get('latest_members_show_mode')!= 'random')
{
$query .= ' ORDER BY u.registerDate DESC';
$db->setQuery($query, 0, abs((int)$params->get('latest_members_count', 2)));
$latest_members = $db->loadObjectList('username');
}
// Random Members
else
{
$db->setQuery($query);
$all_members = $db->loadObjectList('username');
$latest_members = array();
$rand_keys = array_rand($all_members, abs((int)$params->get('latest_members_count', 2)));
foreach ($rand_keys as $key) {
$latest_members[$key] = $all_members[$key];
}
}
} else {
$latest_members = array();
}

return array($total_members_count, $latest_members);
}


/**
* Include (overriden) style.css
*/
public static function includeStyle()
{
$document = &JFactory::getDocument();
if (JFile::exists(JPATH_THEMES.DS.$document->template.DS.'html'.DS.'mod_dwhosonline'.DS.'style.css')) {
$document->addStyleSheet(JURI::base().'templates/'.$document->template.'/html/mod_dwhosonline/style.css');
} else if (JFile::exists(JPATH_BASE.DS.'modules'.DS.'mod_dwhosonline'.DS.'tmpl'.DS.'style.css')) {
$document->addStyleSheet(JURI::base().'modules/mod_dwhosonline/tmpl/style.css');
}
}

}

Как решить проблему? или подскажите как мне вывести на сайте количество зарегистрированных пользователей на сайте ... очень надо....
*

bespalov

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Warning: Invalid argument supplied for foreach() in
« Ответ #1 : 25.04.2013, 13:31:24 »
Как решить проблему? или подскажите как мне вывести на сайте количество зарегистрированных пользователей на сайте ... очень надо....
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('count(*)');
$query->from('#__users');
//Закомментируйте строку снизу если надо считать и не активированных
$query->where('activation=""');
$db->setQuery($query);
echo  $db->loadResult();
?>
*

bespalov

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Спасибо. Это просто вставить в index.php шабла?
*

bespalov

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Вставил.

Код
<?php
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('count(*)');
$query->from('eo7ul_users');
//Закомментируйте строку снизу если надо считать и не активированных
$query->where('activation=""');
$db->setQuery($query);
$result= $db->loadResult();
echo $result;
?>

Выводит ноль. Префикс таблицы заменил
*

bespalov

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
все. вроде получилось. Поставил "+" тебе.

А как сделать, чтобы в зависимости от числа менялось окончание слова.

например
1 участник
2 участника
10 участников
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Яндекс браузер стал блокировать картинки на сайте как рекламные блоки

Автор illimited

Ответов: 0
Просмотров: 1121
Последний ответ 27.02.2023, 08:20:21
от illimited
Как решить такую ошибку Warning: Invalid argument supplied for foreach()

Автор uniqcle

Ответов: 110
Просмотров: 116442
Последний ответ 14.11.2022, 11:22:52
от stitch808
Как создать графическую ссылку на часть картинки на сайте?

Автор chen

Ответов: 8
Просмотров: 923
Последний ответ 25.02.2022, 20:35:16
от xpank
Zoo. Как в тизере под заголовком вывести обрезанную статью?

Автор lournrose

Ответов: 0
Просмотров: 709
Последний ответ 04.12.2021, 19:00:43
от lournrose
Вывод графика работы с “Открыто / закрыто” на сайте

Автор leo78

Ответов: 8
Просмотров: 907
Последний ответ 25.08.2020, 12:18:03
от leo78