Я настраиваю веб-сайт для учащихся школы, который должен включать страницу расписания, на которой будет отображаться календарь с событиями, заполненными фидами из календарей различных учителей. После опробования различных сценариев и инструментов, предназначенных для показа календарей, я наконец-то нашел очень неаккуратный, взломанный способ сделать это, и я хочу знать, есть ли какие-то конкретные проблемы с моей реализацией.
Мои требования из этого календаря опубликованы в предыдущем вопросе
Вот как будет работать моя реализация:
Учителя составляют свои расписания в своих собственных календарных программах и делают эти каналы доступными в формате iCal. Общая учетная запись Google для школы подписывается на все эти календари, и поэтому получает доступ только для чтения ко ВСЕМ расписанию учителя в школе.
В Календаре Google есть функция, которая позволяет вам выбрать некоторые из своих календарей, а затем получить HTML-код для встроенного на ваш сайт iframe, чтобы посетители сайта могли видеть, какие события будут происходить. Когда я поэкспериментировал с опциями в «Конфигураторе» Google, я обнаружил, что, просто включив определенные коды в URL, который вызывается для содержимого iframe, вы можете изменить, какие календари были видны. Эти коды или идентификаторы календаря четко отображаются в настройках каждого календаря. Таким образом, мое окончательное решение таково:
Для каждого учащегося есть запись, в которой указано, какие курсы он прошел, и, следовательно, какие календари ему следует показывать. Используя некоторую магию SQL, я могу извлечь идентификаторы календаря из заранее подготовленной базы данных всех идентификаторов календаря, а затем с помощью php сгенерировать правильный URL-адрес для iframe и отобразить его.
Я надеюсь, что это не было слишком запутанным, чтобы понять. Теперь кто-нибудь может сказать мне, есть ли в этом какие-то присущие им недостатки в безопасности или плохие методы программирования. Что-то во всей идее динамической генерации URL, использования фреймов, использования обычной учетной записи Google и т. Д. Просто кричит «Ошибка!». Может кто-нибудь сказать мне, если это нормально, или есть какие-то проблемы с этим?