Документация
Общие понятия.
Портальная система это набор инструментов созданных для упрощения администрирования сайта. Основными функциями системы управления являются.
Авторизация пользователей на странице.
Разграничение доступа пользователям в зависимости от установленных прав доступа
Установка и удаление дополнительных блоков и модулей
Формирование содержимого страницы и возвращение ее пользователю.
Подключение необходимого набора библиотек для работы модулей сайта.
Хранение настроек подключения к базе данных.
При подключении установка соединения с базой данных
Хранение параметров запроса к базе данных и времени их выполнения.
В основные части портальной системы входят
Непосредственно файл движка портальной системы.
Конфигурационный файл.
Директория пользовательских файлов
Директория модулей доступных файловой системе.
Как дополнение может включаться директория с доступными шаблонами.
Принцип работы.
При получении от пользователя запроса с адресом страницы управление передается на файл движка портальной системы. Первым делом подключаются необходимые библиотеки. Такие функции как подключение файла, выполнение запроса, разбор результата запроса входящие в подключаемую библиотеку широко используются в дальнейшем как самой портавльной системой так и модулями подключаемыми портавльной системой. В дальнейшем проверяется установленна ли кукиса в браузере пользователя. Если кукиса в браузере не найдена то для пользователя будет сгенерирована новая кукиса со случайным содержимым и информация об адресе и кукисе запишется в таблицу сесиий. В ответе сервера первым заголовком будет идти установка браузеру необходимой кукисы для дальнейшей авторизации. В случае если кукиса приходит портавльной системе проверяется существует ли в таблице сессии данная кукиса и сетевой адрес. Если сессия для браузера существует, пользовель считается авторизовавшимся и в глобальную переменную загружаются свойства пользователя для возможности дальнейшего использования данной информации в модулях. В дальнейшем производится загрузка свойств портавльной системы. Свойства это набор параметров и соответсвующих им значений которыми администратор влияет на поведение портавльной системы. Следующим этапом загружаются параметры доступа к модулям и блокам портавльной системы. Уровни доступа могут задаваться для блока, модуля, группы пользователей и отдельного пользователя. Уровни доступа для всех элементов фиксированы. Имя пользователя и название группы в которую попадают неавторизовавшиеся пользователи задается в совйствах портальной системы и по умолчанию равны «Гость» «Гость». Если в настройках портаальной системы заданы имя неавторизовавшегося пользовтаелся и его группы а в портавльной системе нет пользователя с таким именем и груммы с таким названием при первом запуске пользователи будут созданы. Проверяется адрес запроса пользователя. Необходимым условием в запросе пользователя является массив с каталогами модулей и файлов модулей которые пользователь хочет видель в ответе сервера. Каталог модулей имеет имя m[] и может содержать в запросе одновременно несколько модулей. В этом случае содержимое вывода модулей складывается портальной системой и отдается пользователю в качестве результата. Если условия для запроса не выполнены и запрос не содержит необходимых элементов массива то портавльной системой производится отдается заголовок с перенаправлением на страницу содержащююся в настройках портальной системы. Адрес этот является дефолтовым. На него перенаправляются все запросы поступающие корню заглавной сайта. Следующим действием выполняемым системой является разбор адреса полученного от пользователя и загрузка необходимого модуля. Проверяются права доступа данного пользователя к модулю. В случае если права установленны чтение и выше производится загрузка содержимого модуля. Последним действием выполняемым портавльной системой является замена в содержимом полученным от модулей коментариев с названиями настроек портальной системы на значения свойств портавльной системы. Это необходимо для установки значений значений свойств в вывод страницы. Таким образом выводится на страницу время затраченное для вывода содержимого, заголовка страницы, цвета фона и многих других значений. При необходимости администратор может установить для замены в выводе страницы нужные значения свойств. При установке нужно выполнить условия уникальности имен свойств системы.
Адресация
Указание портавльной системе на необходимость отображения в выводе нужной части сайта производится передачей в запросе массива директорий модейлей и файлов модулей. В качестве примера адреса может служить адрес на страницу с редактированием свойств пользователя. Http://site/?m[users]=edit Таким образом мы говорим системе что обращаемся к файлу edit.php модуля users. В массиве может быть передано несколько указаний на модули и файлы. Адрес Http://site/?m[users]=edit&m[sqlanaliz]=admin может служить для загрузки страницы edit.php модуля пользователей и на этой же странице загрузки админстраницы модуля анализа запросов. В случае доступа чтение у пользователя на данные модули будет выведено содержимое модулей. Если пользователю запрещен досуп к какому то из модулей на странице будет выведено предупреждение о недостаточном уровне доступа данного пользователя к модулю. В адресе портальной системы может применяться специальный параметр. &null Данный параметр используется для возможности отключения всего сорержимого портавльной системы. В случае если такой параметр будет присутствовать в адресе портальная системы выдаст только сорержимое запрошенных модулей. Шаблоны, блоки и файлы стилей в этом случае не будут включены в вывод портальной системы. Это используется для вывода сырой информации в браузер. Таким образом пользователю возвращаются графические файлы с модуля тем и архивы с модуля файлообмен. Парамет нуль можно установить любой ссылки портавльной системы. Вывод такого запроса может быть использован для анализа работы модуля.
Свойства портальной системы.
Для возможности управления поведением модулей и портавльной системой в целом в ее состав был включен модуль свойств. Этом модуль является обязательным и не может быть удален. Данные модуля представляют собой таблицу с названиями идентификатором модуля, названием свойства, значением свойства и описанием свойста. Модуль допускает установки любого количества свойст для любого из доступных модулей. В качестве свойств устанавливаемых после установки системы являются имя главного администратора системы, имя и группа неавторизованного пользователя системы, таймаут времени действия сессии, уровень логирования поступающих запросов и многое другое. При установке дополнительных свойств должно учитываться условие уникальности имен свойств в пределах портавльной системы. На последнем этапе загрузки портавльной системы ей производится замена в выводе моделей и блоков коментариев с именами свойств на значения этих свойств. Это делается для возможности установки в вывод динамических значений. Такими значениями могут являться высота рамки блоков, цвета блоков и тому подобное. Формат записи вывода которое подлежим замене следующее Заголовок блока. содержимое блока. Остальное содержимое шаблона выводится без изменения в месте любого блока связанного с этим шаблоном.
Вкладка Изображения используется для возможности использования в составе шаблонов векторных графических файлов svg формата. Содержимое графического файла задается в текстовом поле и может содержать любое количество элементов. Просмотр графического изображения доступен при клике на Имя изображения. При вставке изображения в шаблон необходимо скопировать ссылку выбрав соответствующий пункт меню при правом клике на Имени изображения в таблице изображений. В поле блок необходимо задать название шаблона совместно с которым предполагается использовать изображение. Возможен вариант когда изображение не привязано к шаблону. В этом случае в поле шаблон свойств изображения нужно установить звездочку. В тексте определяющем содержимое изображения возможно использовать дескрипторы со списка свойств портальной системы. В этом случае данный дескриптор будет заменен на соответствующее значение данного свойства. Это может быть полезным в случае заданий определенный качеств серии изображений. Как пример подобным способом может быть задан цвет всех изображений (#a2fbb3) или ширина поля блоков (20). В этом случае все вхождения данной конструкции будут заменены на значения соответствующих свойств в модуле настройки портальной системы.
Вкладка регионы определяет доступные для установки регионы в шаблоне темы. В поле Дескриптор отображается конструкция которуж нужно установить в шаблон темы. В этом случае Все блоки относящиеся к этому региону будут отображаться в части шаблона темы в который был помещен данный дескриптор. Описание региона определяет его название и будет отображаться в поле регион при изменении свойств блоков. Во вкладках группа и пользователь можно установить индивидуальные права доступа к блокам. Права доступа пользователей имеют приоритет надо правами групп. Права групп в свою очередь имеют приоритет перед правами блока в таблице свойств блока.
Модули
Основными задачами данного модуля является управление установленных модулей и их отключение. Во вкладке Скрипты показываются изменения текущего модуля относительно его базового. Информация будет выводится в случае если используемый модуль, структура его таблиц или скрипты инициализации не соответствуют базовому значению. Во вкладке модули вы можете видеть установленные модули и их свойства. Поле папка определяется названием директории модуля в файловой системе и не доступно для редактирования. Версию модуля содержит одноименное поле. Используется для отслеживания обновлений модуля. Имя по возможности уникальное поле. Используется для отображения в меню администратора. Значение поля Автор и описание содержат подробную информацию о модуле. Поле активность определяет будет ли доступен данный модуль в портальной системе. При задании значения «Удален» поля активность модуль будет удален. При этом будет удалена вся информация о модуле и содержимое базы данных и свойств относящиеся к модулю. Поле настройки показывает сколько свойств портальной системы относится к данному модулю и при клике ссылается на модуль свойства со списком всех свойств относящихся к данному модулю.
Настройки
В модуле Настройки содержатся все свойства портальной системы и их модулей. Поле модуль определяет отношение свойства к модулю портальной системы или к ней самой. Если в поле Модуль установлен символ звездочки данное свойство глобально для всей системы и не относится ни к одному из модулей. Параметр определяет имя свойства. По данному значению в модули в коде ссылаются на значение данного свойства. При выводе значение данного поля используется для замены дескриптора с названием свойства на его значение. Поле «Значение» является текстовым значением и содержит значение данного свойства. Поле описание служит для пояснения функций свойства и содержит небольшое текстовое сообщение не использующееся внутри портальной системы.
Кабинет
Модуль служит для создания страницы пользователя с расположенной на ней ссылками. В меню администратора модуля кабинет выводится таблица для задания свойств ссылок. Каждой из ссылки можно задать Изображение, Название, Ссылку и Описание ссылки. После добавления данная ссылка появится в модуле Кабинет у каждого пользователя.
Чат
Чат служит для общения между пользователями. На странице администратора есть возможность редактировать сообщения пользователей, Смотреть время входа пользователей в чат. Там же доступно добавление смайликов и их соответствие текстовому полю которое автоматически будет заменяться в тексте пользователей на смайлик.
Фотоархив
Служит для размещения на сайте фотографий. На админстранице доступно редактирование списка категорий к которым могут относиться фотографии. Во вкладке категории поле Пользователь определяет для каких групп пользователей будет доступна данная категория. Для остальных групп категория будет скрываться. При добавлении категории можно вложить в древовидную структуру и задать описание для каждой категории. Среди полей фотографий содержится Пользователь. Это поле задает владельца фотографии. Непосредственно само изображение и описание изображения. Поле категория вкладки изображения определяет отношение фотографии к какой либо категории из ранее созданных во вкладке категории.
Меню
Служит для создания меню ссылок на главной странице сайта. При добавлении ссыли возможно задать такие поля как Пикторграмма, Имя, Ссылка, и Описание. Дополнительно в поле сортировка можно определить порядок следования ссылок при отображении их на главной странице сайта. В составе модуля идет блок с одноименным названием. Вывод меню ссылок на страницу осуществляется посредством блока входящего в состав модуля.
Новости
Данный модуль дает возможность размещения на страницу ленты новостей. Добавление новостей осуществляется при помощи визуального редактора. Есть возможность разделить новости по категориями. В состав модуля входят блоки отображающие вывод новостей на главную страницу.
Опрос
Модуль используется для создания опросов на главной странице. В модуле доступно создание нового опроса с установкой группы пользователей которой данный опрос будет доступен. Тип опроса Один подразумевает выбор единственного значения из множества заданных для данного опроса. Много подразумевает возможность указать несколько вариантов при ответе на опрос. Задается интервал с которым пользователю будет предложено ответить на опрос. После ответа и в течение времени определенного в поле интервал пользователь будет видеть результаты работы опроса. По прошествии времени заданного в поле интервал пользователю будут выведены варианты ответа. Вкладка значения содержит варианты ответов которые будут на выбор предложены пользователю в блоке. В варианте можно задать цвет которым будет выведен текст варианта ответа. Там же хранятся результаты работы опроса. Результат опроса содержит число ответивших на данный вариант и доступно для редактирования.
Вкладка голоса содержит информацию о всех пользователях принявших участие в опросе. Отображение опроса на странице осуществляется посредством блока входящего в состав модуля. В свойствах модуля необходимо задать какой опрос отображать. Возможно отображение нескольких опросов на странице. Для этого необходимо установить несколько блоков на страницу и в каждом модуле задать опросы которые необходимо выводить.
Разработка
Модуль используется для фиксирования в нем задач по работе над сайтом, внесение информации по каждой из задач и установки процента выполнения для каждой из задач. При установки новой задачи возможно задание приоритета задач путем установки порядка сортировки задач на странице.
Баннеры
Модуль служит для управления баннерами на странице. В странице администратора данного модуля доступна загрузка изображения баннера и установка необязательных свойств таких как ширина, высота, счетчик, сортировка и описание. Поле пользователь содержит информацию о том кто добавил данный баннер. Для установки на страницу испльзуется входящий в состав блок. В блоке отображается список всех загруженных в модуль баннерах. При установке в блоке свойства баннеру включен данный баннер отображается в блоке.
Вложенные файлы
Модуль предназначен для управления файлами на странице. При загрузке файлов его расширение необходимо внести в список расширений доступных для загрузки в модуле. Если будет осуществлена попытка загрузки файла с расширением отсутствующем в списке доступных для загрузки расширений модуль отобразит ошибку и покажет расширение файла которое необходимо внести в список расширений доступных для загрузки в модуль. Вкладка категории содержит категории файлов. Возможно создание новых категорий, редактирование существующих и удаление категорий. Добавление файлов в модуль соуществляется во вкладке вложения. При загрузке необходимо определить значения полей категория, доступ и описание. Поле счетчик не обязательно для заполнения. При каждом обращении к файлу счетчик увеличивается на один. Поле пользователь определяет пользователя который добавил файл. Поле файл содержит ссылку на загруженный файл.
Гостевая книга
Модуль предназначен для создания гостевой книги на сайте. При добавлении сообщений от пользователей в гостевую книгу они будут отображаться в админстранице модуля гостевая книга. Там же доступно их редактирование и удаление.
Опросник
Модуль предназначен для создания опросов большого объема состоящих из полей различных типов. Опросы создаваемые в данном модуле похожи на заявки заполняемые при поступлении на работе. Опрос может включать в себя много вопросов подразумевающих различные типы ответов. Возможна установка таких типов ответов как выпадающий список, список с выбором одного или нескольких вариантов или текстовое поле для занесения текста большого объема. После редактирования опроса информация в меню администратора будет доступна для просмотра. При попытке повторной правки анкеты в рамках одной сессии пользователю предоставляется возможность отредактировать уже сделанные ответы. Вкладка Вопросы содержит записи вопросов которые будут включаться в опрос. Тип вопроса задает вид в котором будет показан вопрос. Выбор типа опроса возможен из вариантов Много Один Текст и Поле. Много предполагает вывод доступных вариантов в виде галочек и возможность в качестве ответа указать несколько вариантов ответа. Тип вопроса Один внешне похож на тип Много но при выборе ответа допускает только один ответ. Типы вопросов Текст и Поле не используют предварительно установленных вариантов ответа и предлагают пользователю ввести свой вариант ответа. Различия между этими типами вопроса заключаются в отображении. Текст выводит однострочную форму для заполнения. Поле представляет собой многострочный редактор. Изменяя содержимое сортировки вопросов можно менять порядок следования вопросов опроснике. Во вкладке Варианты задаются варианты отображаемые в опроснике для заданных вопросов. В варианте можно задать вопрос к которому будет относится вариант ответа, непосредственно сам вариант и задать сортировку порядка следования друг за другом вариантов в вопросе. Вкладка Участники предназначена для просмотра опросников на которые пользователи ответили. При необходимости информацию можно просмотреть или распечатать. Закладка Результаты содержит все вопросы пользователей записанных ранее. В таблице доступно редактирование и изменение результатов опроса.
Статистика
Одним из источников информации используемую администраторами для анализа работы сайта является статистика посещения. Данный модуль помогает собирать и отображать результаты сбора статистики. Чтобы модуль начал работать необходимо установить н аглавной странице блок статистики содержащийся в данном модуле. Возможна ситуация когда необходимо собрать статистику по одной или нескольким группам или пользователям. Для того чтобы сделать это необходимо установить для всех права доступа к блоку запрет. И открыть доступ к модулю на чтение граппам и пользователям по которым необходимо собирать статистику. Убедиться что блок работает можно включив в его свойствах отображение результатов сбора. В этом случае блок станет видимым на странице и будет отображать параметры которые блоку удалось собрать в результате текущей загрузки страницы. Обязательно необходимо проверить что блок отображается во всех группах собираемых статистику. После проверки отображение в блоке стоит выключить в этом случае блок перейдет в режим сбора статистики без отображение. Блок будет собирать статистику по основным категориям, но отображаться на странице не будет. В случае если блок на старницу установлен но прав доступа у части пользователей не достаточно для чтения блока возможно статистика будет собираться не правильно. Движок портальной системы для групп и пользователей у которых не достаточно прав доступа запускать код блока не будет, и статистика по таким пользователям собираться не будет. Просмотреть статистику работы сайта можно на пользовательской странице модуля статистика. В странице администратора доступно редактирование результатов сбора статистики.
Анализ СКЛ
Данный блок помогат в анализе запросов к базе данных. При входе данный блок отображает Информацию какая часть портальной системы выполнила запрос, Текст запроса и время которое потребовалось системе чтобы обработать данный запрос. В конце таблицы приводится время выполнения всех запросов и самый долгий запрос. Данная информация может использоваться для оптимизации времени запроса к базе данных и установки ключей полей таблиц для индексирования данных внутри таблицы. В верхней части приводится список модулей в выподающем списке. При выборе модуля будут отображены дабота данного модуля и результаты анализа запросов выполняющихся на страницу с данным модулем. Вкладка запрос содержит Эллемент выбора и два поля предназначенных для ввода запросов к базе данных на исполнение. При выбранном элементе вместе с нижним будет выводится и верхний запрос. Это можут понадобится для немедленного просмотра результата выполнения нижнего запроса. К примеру вам необходимо добавить новую таблицу в базу данных. В верхнем запросе вы вводите запрос на отображение структуры нужной таблицы и выбираете автоматически выполнять запрос. В этом случае при исполнении нижнего запроса в том же окне вам будет выводиться результат работы запроса на изменение структуры базы данных. Для возможности просмотра ранее выполненных запросов выбирите нужный запрос из выпадающего меню в верхней части страницы. В нее попадают запросы с нижнего поля. Верхние запросы в историю не попадают так как не предназначены для именения данных. А предназначены для отображения результатов работы нижнего запроса. Вкладка статус отображает дополнительные данные по каждой созданной таблице внутри портальной системы. Данная информация может быть использована для анализа таблиц портальной системы.
Админсообщение
Используется для отображения сообщений от имени администратора на главной странице сайта. В качестве данных в админстранцие воодится Время сообщени, его Заголовок и Текст сообщения. Для установки сообщения на страницу необходимо поставить на страницу блок Админсообщение входящий в комплект с этим блоком. Функционал данного блока частично может заменить блок ХТМЛ код. В нем также может быть установлено сообщение. Но в модуле помимо ввода сохраняется история сообщений.
Поиск
Данный модуль соержит функции поиска по таблицам портальной системы и сохраняет историю поисков. Для установки возможности поиска необходимо зайти в совйства блока поиск. В нем отображается в доступной для редактирования форме свойства каждой таблици относящиеся к поиску. Два текстовых поля и выбор полей доступных для поиска. В верхнем текстовом поле необходимо дать название категории поиска. Сущьность которую получит пользователь в результате поиска по данной таблице. Во втором поле задаем ссылку в каком по которая будет выдана пользователю в качестве результата поиска. Для задания значения инкрементного поля используется конструкция {id} в скобках может быть название любого поля. Данная конструкция при выдаче ссылки будет заменена на значение данного поля записи найденной в таблице. Запрос который вводит пользователь при поиске автоматичекси запоминается в таблице запросов на посик. В качестве данных в таблице доступны время запроса, пользователь от которого производился поиск, Номер блока в котором осуществлялся поиск, Запрос и сетевой адрес с которого пришел запрос на поиск.