Новости Joomla

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

Paha_web

  • Захожу иногда
  • 166
  • 1 / 0
  • Еще правок хотите?
У меня установлен модуль ULogin для авторизации через соцсети.

после авторизации через например в-контакте, в таблице #__sessions не заносится id юзера, что он онлайн.

Мне нужно выводить тех юзеров кто на сайте. Подскажите кто сталкивался или знает?  ^-^
*

Paha_web

  • Захожу иногда
  • 166
  • 1 / 0
  • Еще правок хотите?
Re: Как вывести онлайн пользователей?
« Ответ #1 : 22.07.2013, 21:28:00 »
Вот код модуля Ulogin:

Код
<?php
/**
* @package uLogin
* @copyright (c) 2011-2012 uLogin
* @license GNU/GPL3
*/
defined('_JEXEC') or die('Restricted access');
jimport('joomla.user.helper');


if (isset($_POST['token'])) {
$s = file_get_contents('http://ulogin.ru/token.php?token=' . $_POST['token'] . '&host=' . $_SERVER['HTTP_HOST']);
$data = json_decode($s, true);
if (isset($data['uid'])) {
$user_id = JUserHelper::getUserId('ulogin_' . $data['network'] . '_' . $data['uid']);
if (!$user_id) {
$com_user = JComponentHelper::getParams('com_users');
$group = $com_user->get('new_usertype');
$acl = &JFactory::getACL();
$date = JFactory::getDate();
$instance = JUser::getInstance();
$instance->name = $data['first_name'] . ' ' . $data['last_name'];
$instance->username = 'ulogin_' . $data['network'] . '_' . $data['uid'];
$instance->email = $data['email'];
$instance->password = JUserHelper::getCryptedPassword(JUserHelper::genRandomPassword());
$instance->usertype = $group;
if (method_exists($acl, 'get_group_id')) $instance->gid = $acl->get_group_id('', $group);
else $instance->groups = array($group);
$instance->registerDate = $date->toMySQL();
$instance->guest = false;
$i = 0;
$email = explode('@', $data['email']);
$instance->save();
while (!$instance->save()) {
$i++;
$instance->email = $email[0] . '+' . $i . '@' . $email[1];
}
} else $instance = JUser::getInstance($user_id);
$session = &JFactory::getSession();

$instance->guest = 0;
$instance->aid = 1;
   
   
    $session->set('user', $instance);

$instance->setLastVisit();
echo '<script type=text/javascript>window.location.href=window.location.href;</script>';
}
} else {
$user = &JFactory::getUser();
global $ulogin_counter;
$ulogin_counter++;
if ($user->get('guest')) {
$instance = &JURI::getInstance();
if($ulogin_counter==1) echo '<script src="http://ulogin.ru/js/ulogin.js"></script>';
echo '<div id="uLogin'.$ulogin_counter.'" x-ulogin-params="'.
'display=small&'.
'fields=first_name,last_name,photo,email&'.
'providers=vkontakte,facebook,twitter,odnoklassniki,mailru&'.
'hidden=google,yandex,livejournal,openid&'.
'redirect_uri='.urlencode($instance->toString()).
'"></div>';
}
}

Вот тут сохраняются данные сессии $session->set('user', $instance);
Я пробую ниже дописать
$session->set('userid',$user->id);

Но не срабатывает, вобще непойму как дописать ID юзера в таблицу с сессией? По умолчанию пишет 0.
*

Paha_web

  • Захожу иногда
  • 166
  • 1 / 0
  • Еще правок хотите?
Re: Как вывести онлайн пользователей?
« Ответ #2 : 23.07.2013, 11:55:30 »
Короче сделал сам.
Находим строчку

Код
$instance->setLastVisit();

После неё дописываем:

Код
        $session_id = $session->getId();        

         $db =& JFactory::getDBO();

         $q="UPDATE `#__session` SET `guest` = '0', `userid` = '$user_id', `username` = '$instance->username' WHERE `session_id` = '$session_id'";
         $db->setQuery($q);
         $db->query();


Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести все категории VirtueMart 3 второго уровня списком?

Автор Damarkuzz

Ответов: 0
Просмотров: 1229
Последний ответ 06.07.2020, 18:58:23
от Damarkuzz
[РЕШЕНО] Как в Joomla 2.5 автоматом удалять пользователей, не активировавшихся?

Автор pH43

Ответов: 2
Просмотров: 4081
Последний ответ 01.06.2020, 17:16:26
от pH43
Как вывести путь материала на страницу?

Автор Gromz

Ответов: 6
Просмотров: 2032
Последний ответ 14.12.2019, 20:19:21
от Gromz
Как вывести данные из stdClass Object в Joomla?

Автор specialist-web

Ответов: 7
Просмотров: 2773
Последний ответ 06.05.2019, 18:24:37
от specialist-web
Админка (Менеджер пользователей), доп.колонка с ИП адресом пользователя

Автор Kodopik

Ответов: 0
Просмотров: 1948
Последний ответ 28.01.2019, 19:08:50
от Kodopik