Страница 3 из 5
Re: class Users как вытянуть свойство fullName авторизованого пользователя
Добавлено: Пн дек 17, 2018 11:06 pm
Lerych
В дополнение к предыдущему сообщению:
Создай файл в Панели управления-Настройки-Текстовые файл, типа "greetings". Туда напиши строки: Слушаю Вас мой хозяин,Приветствую Вас,Я внимательно слушаю Вас,Чем могу быть полезна,Рада помочь Вам,Что я могу для Вас сделать,Здравствуйте мой дорогой.
А в коде используй вместо case, одну строку
say(getRandomLine('greetings').' '.$fn, 2);
Re: class Users как вытянуть свойство fullName авторизованого пользователя
Добавлено: Вт дек 18, 2018 9:56 am
StryzhakA
Бомба! Спасибо Вам дорогие друзья!
Re: class Users как вытянуть свойство fullName авторизованого пользователя
Добавлено: Вт дек 18, 2018 11:54 am
StryzhakA
Обнаружил еще одну проблему:
Код: Выделить всё
global $session;
$t=$session->data['logged_user'];
$name=SQLSelectOne("SELECT USERNAME FROM USERS WHERE ID='".$t."'");
$obj=getObject($name['USERNAME']);
$fn=$obj->getProperty('fullName');
say(getRandomLine('greetings').' '.$fn, 2);
В Консоли все работает, а при вызове шаблона - нет, молчит, хотя контекст устанавливает, и после простоя говорит фразу. В чем может быть дело?
Re: class Users как вытянуть свойство fullName авторизованого пользователя
Добавлено: Вт дек 18, 2018 12:33 pm
StryzhakA
если ставлю строку
впереди основного кода то Алиса говорит, а если после всего вот этого:
Код: Выделить всё
global $session;
$t=$session->data['logged_user'];
$name=SQLSelectOne("SELECT USERNAME FROM USERS WHERE ID='".$t."'");
$obj=getObject($name['USERNAME']);
$fn=$obj->getProperty('fullName');
то молчит. Как то этот код плохо влияет на Алису, он стает немой
Re: class Users как вытянуть свойство fullName авторизованого пользователя
Добавлено: Вт дек 18, 2018 1:15 pm
xor
Перед кодом
$g = getRandomLine('greetings');
После кода
say($g.' '.$fn, 2);
Что будет?
Отправлено с моего Redmi 4X через Tapatalk
Re: class Users как вытянуть свойство fullName авторизованого пользователя
Добавлено: Вт дек 18, 2018 4:58 pm
StryzhakA
xor писал(а): Вт дек 18, 2018 1:15 pm
Перед кодом
$g = getRandomLine('greetings');
После кода
say($g.' '.$fn, 2);
Что будет?
Результат тот же, Алиса немая и говорит только фразу после ожидания перед выходом из контекста.
Re: class Users как вытянуть свойство fullName авторизованого пользователя
Добавлено: Ср дек 19, 2018 1:28 am
xor
Вообще, есть такая стандартная функция context_getuser(); - Получить пользователя из контекста,
которая делает то же самое
Код: Выделить всё
* Summary of context_getuser
* @return int|string
*/
function context_getuser()
{
global $session;
if ($session->data['SITE_USER_ID'])
{
return $session->data['SITE_USER_ID'];
}
$user = SQLSelectOne("SELECT ID FROM users WHERE IS_DEFAULT=1");
$session->data['SITE_USER_ID'] = $user['ID'];
return (int)$user['ID'];
}
Re: class Users как вытянуть свойство fullName авторизованого пользователя
Добавлено: Ср дек 19, 2018 10:30 pm
Lerych
Господа!
А как отследить, кто залогинился в системе? Через кнопку в шапке. Методы определения через BT или WiFi не предлагать.
Т.е., есть несколько пользователей, которые входят в систему через форму авторизации. Есть способ определения, кто залогинился в данный момент, из поста выше. А какой метод срабатывает во время когда кто-то логинится. В общем, надо юзера, после того как он ввел логин и пароль, поприветствовать.
Re: class Users как вытянуть свойство fullName авторизованого пользователя
Добавлено: Ср дек 19, 2018 10:32 pm
Lerych
Да и ещё. Как выходить пользователю из системы?
Re: class Users как вытянуть свойство fullName авторизованого пользователя
Добавлено: Ср дек 19, 2018 11:08 pm
xor
Lerych писал(а): Ср дек 19, 2018 10:30 pm
Господа!
А как отследить, кто залогинился в системе? Через кнопку в шапке. Методы определения через BT или WiFi не предлагать.
Т.е., есть несколько пользователей, которые входят в систему через форму авторизации. Есть способ определения, кто залогинился в данный момент, из поста выше. А какой метод срабатывает во время когда кто-то логинится. В общем, надо юзера, после того как он ввел логин и пароль, поприветствовать.
Посмотрите файлик \modules\application.class.php
Вот, как-то через сессию определяют.
Но,
$session->data['logged_user']; у меня возвращает пустоту.
А $session->data['SITE_USER_ID'] тоже возвращает только пользователя по умолчанию(.
Ещё есть $session->data['SITE_USERNAME']
+
Define('USER_TITLE', $out['USER_TITLE']);
Define('USER_AVATAR', $out['USER_AVATAR']);
Чего-то наворочено и, чувствую, с ошибками. Надо с Тарасом тереть