Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

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

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
Просмотров: 1262
Последний ответ 06.07.2020, 18:58:23
от Damarkuzz
[РЕШЕНО] Как в Joomla 2.5 автоматом удалять пользователей, не активировавшихся?

Автор pH43

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

Автор Gromz

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

Автор specialist-web

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

Автор Kodopik

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