Страница 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
если ставлю строку

Код: Выделить всё

say(getRandomLine('greetings'), 2);
впереди основного кода то Алиса говорит, а если после всего вот этого:

Код: Выделить всё

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']);

Чего-то наворочено и, чувствую, с ошибками. Надо с Тарасом тереть