Как получить информацию из полей учетной записи, прошедшей авторизацию

Как получить информацию из полей учетной записи, прошедшей авторизацию

от Роман Солопов -
Количество ответов: 8

Доброго времени суток.
Только начал изучать мат.часть и знакомиться с moodle, ищу ответ на вопрос как получить информацию по учетной записи.

Необходимо отобразить персонифицированную информацию на "домашней странице" (в модуле "Страница") после прохождения авторизации.
В частности нужны поля firstname, lastname, idnumber.

Подскажите куда рыть. улыбаюсь

В ответ на Роман Солопов

Re: Как получить информацию из полей учетной записи, прошедшей авторизацию

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
Как минимум добавить в закладки https://docs.moodle.org/dev/Main_Page
В https://docs.moodle.org/dev/Core_APIs есть что-то про юзеров.
Если хорошо знакомы с php и sql, то проблем особых нет.
Про юзера - есть глобальная переменная $USER. Там есть все поля.
В ответ на Виталий Лавров

Re: Как получить информацию из полей учетной записи, прошедшей авторизацию

от Роман Солопов -
Буду матыжить php улыбаюсь

Тестовый код php добавленный на ресурс страница (в содержание), после сохранения оказался закомментирован грущу
 " <!--?php       
echo "test";      
?--> "
Причина?
В ответ на Роман Солопов

Re: Как получить информацию из полей учетной записи, прошедшей авторизацию

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
Безопасность.
Разрешить вставлять php-код кому попало - это прямой путь к компроментации системы.
В ответ на Виталий Лавров

Re: Как получить информацию из полей учетной записи, прошедшей авторизацию

от Роман Солопов -
Логично, что необходимо проявлять аккуратность.
Подскажите какие необходимо установить роли/права, чтобы можно было использовать php-код?

В конечном итоге поля firstname, lastname, idnumber по прошедшему авторизацию ученику нужны, чтобы потом уже из другой БД, используя хранимую процедуру вытащить персонифицированную информацию.
Буду признателен за советы.
В ответ на Роман Солопов

Re: Как получить информацию из полей учетной записи, прошедшей авторизацию

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
Разработчки moodle не на столько идиоты.
Посмотри на плагины фильтров типа https://moodle.org/plugins/filter_filtercodes
БОльшая часть страниц отрисовывается при помощи шаблонов темы. Небольшая правка шаблона + фильтр-плагин скорее всего решит проблему вывода доп. информации.
В ответ на Виталий Лавров

Re: Как получить информацию из полей учетной записи, прошедшей авторизацию

от Роман Солопов -
Как реализовать код подключения к сторонней БД и запроса данных через хранимую процедуру передавая как параметр {idnumber}, если php-код блокируется в целях безопасности?
Наподобие
$MyConnection = new mysqli ("DB_SERVER", "DB_USER", "DB_PASS", "DB_NAME");
mysqli_multi_query ($MyConnection, "CALL MyStoreProcedure ("{idnumber}")")
В ответ на Роман Солопов

Re: Как получить информацию из полей учетной записи, прошедшей авторизацию

от Роман Солопов -
Как вариант, используя iframe и внешний php-файл.
В ответ на Роман Солопов

Re: Как получить информацию из полей учетной записи, прошедшей авторизацию

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода
Вставлять html, а тем более php-код в страницу через веб-форму, это прямой путь в xss, поэтому такое разрешено никогда не будет.
Нужно писать отдельные php-файлы и класть их в проект. Чтобы подтянуть в них основные api moodle, в начале файле подключается config.php, как именно можно посмотреть в коде. Лучше всего это сделать как плагин типа block, который уже и добавлять на страницу личного кабинета
Запуск функций mysqli_* - это очень плохо, нужно использовать api moodle и обращаться к БД через глобальную переменную DB с её функциями типа get_record.
Пользователь со всеми полями доступен в переменной глобальной переменной $USER, проще всего брать его оттуда.