Доброго времени суток.
Только начал изучать мат.часть и знакомиться с moodle, ищу ответ на вопрос как получить информацию по учетной записи.
Необходимо отобразить персонифицированную информацию на "домашней странице" (в модуле "Страница") после прохождения авторизации.
В частности нужны поля firstname, lastname, idnumber.
Подскажите куда рыть.
Как получить информацию из полей учетной записи, прошедшей авторизацию
от Роман Солопов -
Количество ответов: 8
В ответ на Роман Солопов
Re: Как получить информацию из полей учетной записи, прошедшей авторизацию
от Виталий Лавров -
Как минимум добавить в закладки https://docs.moodle.org/dev/Main_Page
В https://docs.moodle.org/dev/Core_APIs есть что-то про юзеров.
Если хорошо знакомы с php и sql, то проблем особых нет.
Про юзера - есть глобальная переменная $USER. Там есть все поля.
В https://docs.moodle.org/dev/Core_APIs есть что-то про юзеров.
Если хорошо знакомы с php и sql, то проблем особых нет.
Про юзера - есть глобальная переменная $USER. Там есть все поля.
В ответ на Виталий Лавров
Re: Как получить информацию из полей учетной записи, прошедшей авторизацию
от Роман Солопов -
Буду матыжить php
Тестовый код php добавленный на ресурс страница (в содержание), после сохранения оказался закомментирован
Тестовый код php добавленный на ресурс страница (в содержание), после сохранения оказался закомментирован
" <!--?php
echo "test";
?--> "
Причина?
В ответ на Роман Солопов
Re: Как получить информацию из полей учетной записи, прошедшей авторизацию
от Виталий Лавров -
Безопасность.
Разрешить вставлять php-код кому попало - это прямой путь к компроментации системы.
Разрешить вставлять php-код кому попало - это прямой путь к компроментации системы.
В ответ на Виталий Лавров
Re: Как получить информацию из полей учетной записи, прошедшей авторизацию
от Роман Солопов -
Логично, что необходимо проявлять аккуратность.
Подскажите какие необходимо установить роли/права, чтобы можно было использовать php-код?
В конечном итоге поля firstname, lastname, idnumber по прошедшему авторизацию ученику нужны, чтобы потом уже из другой БД, используя хранимую процедуру вытащить персонифицированную информацию.
Буду признателен за советы.
Подскажите какие необходимо установить роли/права, чтобы можно было использовать php-код?
В конечном итоге поля firstname, lastname, idnumber по прошедшему авторизацию ученику нужны, чтобы потом уже из другой БД, используя хранимую процедуру вытащить персонифицированную информацию.
Буду признателен за советы.
В ответ на Роман Солопов
Re: Как получить информацию из полей учетной записи, прошедшей авторизацию
от Виталий Лавров -
Разработчки moodle не на столько идиоты.
Посмотри на плагины фильтров типа https://moodle.org/plugins/filter_filtercodes
БОльшая часть страниц отрисовывается при помощи шаблонов темы. Небольшая правка шаблона + фильтр-плагин скорее всего решит проблему вывода доп. информации.
Посмотри на плагины фильтров типа 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}")")
Наподобие
$MyConnection = new mysqli ("DB_SERVER", "DB_USER", "DB_PASS", "DB_NAME");
mysqli_multi_query ($MyConnection, "CALL MyStoreProcedure ("{idnumber}")")
В ответ на Роман Солопов
Re: Как получить информацию из полей учетной записи, прошедшей авторизацию
от Роман Солопов -
Как вариант, используя iframe и внешний php-файл.
В ответ на Роман Солопов
Re: Как получить информацию из полей учетной записи, прошедшей авторизацию
от Vadim Dvorovenko -
Вставлять html, а тем более php-код в страницу через веб-форму, это прямой путь в xss, поэтому такое разрешено никогда не будет.
Нужно писать отдельные php-файлы и класть их в проект. Чтобы подтянуть в них основные api moodle, в начале файле подключается config.php, как именно можно посмотреть в коде. Лучше всего это сделать как плагин типа block, который уже и добавлять на страницу личного кабинета
Запуск функций mysqli_* - это очень плохо, нужно использовать api moodle и обращаться к БД через глобальную переменную DB с её функциями типа get_record.
Пользователь со всеми полями доступен в переменной глобальной переменной $USER, проще всего брать его оттуда.
Нужно писать отдельные php-файлы и класть их в проект. Чтобы подтянуть в них основные api moodle, в начале файле подключается config.php, как именно можно посмотреть в коде. Лучше всего это сделать как плагин типа block, который уже и добавлять на страницу личного кабинета
Запуск функций mysqli_* - это очень плохо, нужно использовать api moodle и обращаться к БД через глобальную переменную DB с её функциями типа get_record.
Пользователь со всеми полями доступен в переменной глобальной переменной $USER, проще всего брать его оттуда.