LiveStreet CMS
Последнее изменение этой страницы: 16:08, 30 января 2019.
![]() | |
![]() Интерфейс LiveStreet | |
Разработчики: |
Мжельский Максим Шахов Денис |
---|---|
Постоянный выпуск: | 2.1.0 / 05.11.2018 |
Написана на: | PHP |
Операционная система: | кросс-платформенный |
Тип ПО: | CMS/блог |
Лицензия: | GNU GPL (General Public License) |
Веб-сайт | http://livestreetcms.com/ |
LiveStreet – система управления содержимым, выпускаемая под лицензией GNU GPL (General Public License). Язык программирования, который использовался при разработке – PHP. Может быть использован для создания блогов и социальных сетей, а в некоторых случаях как PHP-фреймворк.[Источник 1]
Содержание
Обзор
Проект LiveStreet является клоном социальной сети Habrahabr.ru , клоном лишь в положительном смысле, то есть он наследует функциональность Хабра. LiveStreet реализован с применением ООП на PHP (язык программирования)5+MySQL5, при этом построен по принципу модели MVC (это позволяет легко изменять как логику поведения и внешний вид движка). Создатель LiveStreet — Мжельский Максим.
Особенности
- Бесплатная система с открытым исходным кодом; распространяется по лицензии GPLv2.
- Система написана на PHP5 и может применяться в качестве фреймворка PHP, на котором можно самостоятельно разработать любой сайт.
- База для хранения данных – MySQL5.
- Архитектура – по принципу MCV с применением объектно-ориентированного программирования.
- Есть документация по API.
- Есть плагины и Smarty-шаблоны.
- Год основания – 2008; руководитель и автор проекта – Максим Мжельский.[Источник 1]
Требования
Для корректной работы LiveStreet необходимо:
- PHP (язык программирования) не ниже версии 5.2.1 с поддержкой расширения mbstring.
- База данных MySQL 5.
- Поддержка InnoDB, которая обеспечивает лучшую производительность и гарантирует сохранение целостности связанных данных.
- LiveStreet может работать как на вебсервере Apache 2.
История
В 2008 году Максим Мжельский запустил LiveStreet.
К 2010 году был разработан ряд дополнительных модулей, расширяющих базовые функции CMS.
В 2010 году LiveStreet участвовал в конкурсе Open Source Awards и прошел в пятерку финалистов в номинации «Most Promising Open Source Project».
В настоящее время на этой CMS сети работает порядка 500 сайтов различной тематики.[Источник 1]
Возможности
Данная система обладаем большим количесвтом особенностей. В частности она позволяет:
- Персональные блоги
- Коллективные блоги
Помимо этого она обладает:
- Системой рейтингов блогов, топиков, комментариев, пользователей и голосования за них
- Поиском по сайту с использованием Sphinx
- Избранным для топиков
- Помощью с тегами
- Внутренней почта
- Системой контроля доступа (ACL) к разным возможностям сети (создание блога, возможность голосования и т.п.)
- Возможностью создать закрытый сайт
- Системой приглашений
- Созданием топиков-ссылок
- Созданием топиков-опросов
- Управлением своими блогами
- Модераторами блогов
- Оповещениями на емайл
- Ограничением по времени на голосования
- Возможностью защиты ссылок от поисковиков[Источник 1]
Основные версии
LiveStreet 2.0
В январе 2017 года вышла долгожданная новая версия LiveStreet 2.0.В текущем релизе постарались исправить баги бета-версии. Новые возможности:
- Новая структура файлов движка. Фреймворк полностью отделен от приложения.
- Переработанный фронт на базе компонентов.
- Механизм универсальных категорий. Возможность привязки категорий к разным объектам.
- Механизм дополнительных полей (EAV) для различных объектов.
- Универсальный механизм управления медиа-файлами.
- Управление типами топиков и их кастомизация.
- Встроенная поддержка превью-изображений для топиков.
- Возможность вставлять в топик несколько опросов.
- Система управления правами пользователей.
- Новый удобный механизм загрузки фото и аватара пользователя.
- Поддержка жалоб на пользователей.
- Новый инсталлятор.
- Возможность запустить процесс обновления LS из консоли (для крупных проектов).
- Упрощена навигация по топикам.
- Новая система поисков.
- Редактирование комментариев.
- Поддержка мульти-авторизаций для пользователей (можно одновременно логиниться с разных браузеров).
- Поддержка работы через https, в том числе принудительное использование для страниц регистрации/авторизации.
- Возможность расширения эвентов отдельными классами
- Существенная доработка ORM.
- Поддержка миграций для плагинов.
- Весь код отформатирован под PSR-2.
- Большое число мелких фиксов и улучшений ядра.
LiveStreet 2.0.1
Далее вышла баг-фиксная версия LiveStreet 2.0.1. Нового функционала практически нет, в основном это исправление ошибок и доведение до стабильной работы относительно LiveStreet 2.0.0.
Livestreet 3.0
На сегодняшний день дорабатывается проект версии LiveStreet 3.0. В итоге в новой версии скорее всего появятся:
- Весь дополнительный функционал будет перенесен в плагины. Плагины по сути в livestreet — это есть отдельные куски приложения имеющие в себе контроллеры модели и вьюхи, как пакеты, модули или бандлы в других архитектурах. Сразу появляется возможность отключить/включить нужный функционал. Чтобы сэкономить время можно брать готовые куски кода из модулей и расфасовать их по плагинам с некоторыми корректировками. По ходу перенести все модули на ORM.
- Основное приложение будет иметь определенный набор модулей и экшенов, самых основных.Например:пользователи и авторизация,типы контента,категории,комментарии и т.д.
- Появятся новые плагины:создание блогов,подписки,избранное,друзья,Rbac, Acl и другие.
- Шаблон основного приложения станет выполнять рекомендательную функцию. В него можно сложить основные стили, компоненты, а плагины будут иметь и свою часть шаблона.[Источник 2]
Плагины
Плагин Яндекс карт. Локация пользователей
Это платный модуль и этот плагин реализовывает возможность отмечать свои координаты пользователю. При этом в базу попадают не только координаты но и радиус.Любой может их просмотреть на статичной карте в профиле.На странице поиска пользователей добавляется кнопка(рядом с сортировкой) переключения вида на карту. Результаты будут отображаться в виде кластеров. То есть при отдалении, близкие метки сливаются. Это позволяет вывести на карту тысячи объектов.
Плагин "оповещения" v2.0.0
Этот плагин также относится к категории платных модулей, плагин показывает события которые произошли так или иначе связанных с пользователем. Тем самым улучшает взаимодействие пользователя на сайте. Вовремя оповещая и позволяя отслеживать события которые пользователь мог не заметить. И имеет функции:
- Цифра на колокольчике показывает сколько событий произошло так или иначе связанных с Вами.
- Новые оповещения подсвечены.
- Оповещение можно удалить. Оно будет удалено навсегда.
- Можно удалить все оповещения (которые есть для Вас и которых может не быть в окошке) будут удалены.
- Звуковое оповещение.
- Возможность создавать и расширять тип оповещений для различных плагинов.
Плагин «Аватар & Фото»
Этот плагин был создан по заказу пользователя,которому не нравилось ,как работают аналогичные бусплатные плагины.Плагин автоматически устанавливает случайный аватар и фото для пользователя. Имеет возможности:
- Автоматическая установка аватара и фото у пользователя.
- Изображения выбираются в случайном порядке.
- Изображения выбираются по полу.
Плагин «Закрытый топик»
Плагин добавит возможность закрыть содержимое топика. В закрытом топике его содержимое до тега cut будет видно всем (выводится как обычно). Всё, что после тега будет видно только тем пользователям которым был разрешён доступ. Комментарии закрытого топика также будут видны только тем у кого есть доступ.Возможности:
- Закрыть содержимое топика.
- Скрыть комментарии закрытого топика.
- Возможность указать в каких блогах можно создать закрытый топик.
Плагин "LS Emoji"
Плагин позволяет добавлять в текст топиков, комментариев и личных сообщений смайлики из набора Emoji. Таким образом можно создать яркий сайт, на котором будет действительно приятно находиться и общаться. Смайлики легко добавляются, их изображения можно поменять. Поддерживается редактор MarkItUp.
Плагин "LS Spoiler"
Имеется 5 типов спойлера: normal, success, warning, info, danger. Каждый имеет свою цветовую гамму. Стиль брался из Bootstrap и прекрасно подходит под шаблон Developer из LS 2.0. Кнопка в MarkitUp добавляется автоматически. По желанию можно поменять вид кнопки, которая находится в папке /images/.
Плагин "Мгновенные сообщения"
Данный плагин добавляет ряд разных функций, таких как:
- Окно личных сообщений, доступное на любой странице.
- Оповещение о наборе сообщения собеседником.
- Создание новых разговоров на любой странице.
- Отметка о прочтении сообщения одним движением мышкой.
- Смстемное оповещение и оповещение на странице со звуковым сигналом о новых сообщениях.
- Синхронизация всех данных (сообщения, счетчики новых сообщений, разговоры и т.д.) между всеми открытыми вкладками в реальном времени.
- Окно личных сообщений можно переносить, сжимать и растягивать. Положение и размеры сохраняются при переходе на другие страницы.
- Окно личных сообщений можно встроить в любое место на странице и, при желании, им можно заменить оригинальную личку LiveStreet.
- Оповещения о изменении статуса друзей (online/offline).
- Оповещения о новых комментариях в отслеживаемых топиках.
- Оповещение о новых ответах на ваш комментарий.[Источник 2]
Пример настройки
Ниже представлен пример настройки:[Источник 2]
$config['path']['root']['server'] = dirname(dirname(dirname(__FILE__)));
$config['path']['root']['web'] = isset($_SERVER['HTTP_HOST']) ? 'http://' . $_SERVER['HTTP_HOST'] : null;
$config['path']['offset_request_url'] = 0;
/**
* Настройки HTML вида
*/
$config['view']['skin'] = 'synio'; // Название текущего шаблона
$config['view']['theme'] = 'default'; // тема оформления шаблона (шаблон должен поддерживать темы)
$config['view']['rtl'] = false;
$config['view']['name'] = 'Мой сайт'; // название сайта
$config['view']['description'] = 'Описание сайта'; // seo description
$config['view']['keywords'] = 'site, google, internet'; // seo keywords
$config['view']['wysiwyg'] = false; // использовать или нет визуальный редактор TinyMCE
$config['view']['noindex'] = true; // "прятать" или нет ссылки от поисковиков, оборачивая их в тег <noindex> и добавляя rel="nofollow"
$config['view']['img_resize_width'] = 570; // до какого размера в пикселях ужимать картинку по щирине при загрузки её в топики и комменты
$config['view']['img_max_width'] = 5000; // максимальная ширина загружаемых изображений в пикселях
$config['view']['img_max_height'] = 5000; // максимальная высота загружаемых изображений в пикселях
$config['view']['img_max_size_url'] = 500; // максимальный размер картинки в kB для загрузки по URL
/**
* Настройки СЕО для вывода топиков
*/
$config['seo']['description_words_count'] = 20; // количество слов из топика для вывода в метатег description
/**
* Настройка основных блоков
*/
$config['block']['stream']['row'] = 20; // сколько записей выводить в блоке "Прямой эфир"
$config['block']['stream']['show_tip'] = true; // выводить или нет всплывающие сообщения в блоке "Прямой эфир"
$config['block']['blogs']['row'] = 10; // сколько записей выводить в блоке "Блоги"
$config['block']['tags']['tags_count'] = 70; // сколько тегов выводить в блоке "теги"
$config['block']['tags']['personal_tags_count'] = 70; // сколько тегов пользователя выводить в блоке "теги"
/**
* Общие настройки
*/
$config['general']['close'] = false; // использовать закрытый режим работы сайта, сайт будет доступен только авторизованным пользователям
$config['general']['close_exceptions'] = array(
'auth',
'ajax' => array('captcha'),
); // список action/avent для исключения при закрытом режиме
$config['general']['rss_editor_mail'] = '___sys.mail.from_email___'; // мыло редактора РСС
$config['general']['reg']['invite'] = false; // использовать режим регистрации по приглашению или нет. Если использовать, то регистрация будет доступна ТОЛЬКО по приглашениям!
$config['general']['reg']['activation'] = false; // использовать активацию при регистрации или нет
$config['general']['login']['captcha'] = false; // использовать каптчу при входе или нет
$config['general']['admin_mail'] = 'admin@admin.adm'; // email администратора
/**
* Настройка каптчи
*/
$config['sys']['captcha']['type'] = 'kcaptcha'; // тип используемой каптчи: kcaptcha, recaptcha
/**
* Настройки кеширования
*/
$config['sys']['cache']['use'] = false; // использовать кеширование или нет
$config['sys']['cache']['type'] = 'file'; // тип кеширования: file, xcache и memory. memory использует мемкеш, xcache - использует XCache
/**
* Настройки ACL(Access Control List — список контроля доступа)
*/
$config['acl']['create']['blog']['rating'] = 1; // порог рейтинга при котором юзер может создать коллективный блог
$config['acl']['create']['comment']['rating'] = -10; // порог рейтинга при котором юзер может добавлять комментарии
$config['acl']['create']['comment']['limit_time'] = 10; // время в секундах между постингом комментариев, если 0 то ограничение по времени не будет работать
$config['acl']['create']['comment']['limit_time_rating'] = -1; // рейтинг, выше которого перестаёт действовать ограничение по времени на постинг комментов. Не имеет смысла при $config['acl']['create']['comment']['limit_time']=0
$config['acl']['create']['topic']['limit_time'] = 240;// время в секундах между созданием записей, если 0 то ограничение по времени не будет работать
$config['acl']['create']['topic']['limit_time_rating'] = 5; // рейтинг, выше которого перестаёт действовать ограничение по времени на создание записей
$config['acl']['create']['topic']['limit_rating'] = -20;// порог рейтинга при котором юзер может создавать топики (учитываются любые блоги, включая персональные), как дополнительная защита от спама/троллинга
$config['acl']['create']['talk']['limit_time'] = 300; // время в секундах между отправкой инбоксов, если 0 то ограничение по времени не будет работать
$config['acl']['create']['talk']['limit_time_rating'] = 1; // рейтинг, выше которого перестаёт действовать ограничение по времени на отправку инбоксов
$config['acl']['create']['talk_comment']['limit_time'] = 10; // время в секундах между отправкой инбоксов, если 0 то ограничение по времени не будет работать
$config['acl']['create']['talk_comment']['limit_time_rating'] = 5; // рейтинг, выше которого перестаёт действовать ограничение по времени на отправку инбоксов
$config['acl']['create']['wall']['limit_time'] = 20; // рейтинг, выше которого перестаёт действовать ограничение по времени на отправку сообщений на стену
$config['acl']['create']['wall']['limit_time_rating'] = 0; // рейтинг, выше которого перестаёт действовать ограничение по времени на отправку сообщений на стену
$config['acl']['update']['comment']['rating'] = -5; // порог рейтинга при котором юзер может редактировать комментарии
$config['acl']['update']['comment']['limit_time'] = 60 * 3; // время в секундах после создания комментария, когда можно его отредактировать, если 0 то ограничение по времени не будет работать
$config['acl']['vote']['comment']['rating'] = -3; // порог рейтинга при котором юзер может голосовать за комментарии
$config['acl']['vote']['topic']['rating'] = -7; // порог рейтинга при котором юзер может голосовать за топик
$config['acl']['vote']['topic']['limit_time'] = 60 * 60 * 24 * 20; // ограничение времени голосования за топик
$config['acl']['vote']['comment']['limit_time'] = 60 * 60 * 24 * 5; // ограничение времени голосования за комментарий
/**
* Настройки модулей
*/
// Модуль Rating
$config['module']['rating']['comment_multiplier'] = 0.1; // Множитель рейтинга при голосовании за комментарий
$config['module']['rating']['topic_multiplier'] = 1; // Множитель рейтинга при голосовании за топик
// Модуль Blog
$config['module']['blog']['per_page'] = 20; // Число блогов на страницу
$config['module']['blog']['users_per_page'] = 20; // Число пользователей блога на страницу
$config['module']['blog']['personal_good'] = -5; // Рейтинг топика в персональном блоге ниже которого он считается плохим
$config['module']['blog']['collective_good'] = -3; // рейтинг топика в коллективных блогах ниже которого он считается плохим
$config['module']['blog']['index_good'] = 8; // Рейтинг топика выше которого(включительно) он попадает на главную
$config['module']['blog']['encrypt'] = 'livestreet'; // Ключ XXTEA шифрования идентификаторов в ссылках приглашения в блоги
$config['module']['blog']['avatar_size'] = array(
'500crop',
'100crop',
'64crop',
'48crop',
'24crop'
); // Список размеров аватаров у блога
$config['module']['blog']['avatar_size_big'] = '500crop'; // Размер большой аватарки блога, которая будет использоваться на странице блога
$config['module']['blog']['category_allow'] = true; // Разрешить использование категорий бля блогов
$config['module']['blog']['category_only_admin'] = true; // Задавать и менять категории для блога может только админ
$config['module']['blog']['category_only_without_children'] = true; // Для блога можно выбрать только конечную категорию, у которой нет других вложенных
$config['module']['blog']['category_allow_empty'] = true; // Разрешить блоги без категории
// Модуль Topic
$config['module']['topic']['new_time'] = 60 * 60 * 24 * 1; // Время в секундах в течении которого топик считается новым
$config['module']['topic']['per_page'] = 10; // Число топиков на одну страницу
$config['module']['topic']['max_length'] = 15000; // Максимальное количество символов в одном топике
$config['module']['topic']['min_length'] = 2; // Минимальное количество символов в одном топике
$config['module']['topic']['allow_empty'] = false; // Разрешать или нет не заполнять текст топика
$config['module']['topic']['title_max_length'] = 200; // Максимальное количество символов в заголовке топика
$config['module']['topic']['title_min_length'] = 2; // Минимальное количество символов в заголовке топика
$config['module']['topic']['title_allow_empty'] = false; // Разрешать или нет не заполнять заголовок топика
$config['module']['topic']['tags_allow_empty'] = false; // Разрешать или нет не заполнять теги
$config['module']['topic']['tags_count_min'] = 1; // Минимальное количество тегов
$config['module']['topic']['tags_count_max'] = 15; // Максимальное количество тегов
$config['module']['topic']['default_period_top'] = 1; // Дефолтный период (количество дней) для отображения ТОП топиков. Значения: 1,7,30,'all'
$config['module']['topic']['default_period_discussed'] = 1; // Дефолтный период (количество дней) для отображения обсуждаемых топиков. Значения: 1,7,30,'all'
$config['module']['topic']['max_blog_count'] = 3; // Количество блогов, которые можно задать топику. Максимальное значение 5.
$config['module']['topic']['max_rss_count'] = 20; // Максимальное количество топиков в RSS потоке
$config['module']['topic']['default_preview_size'] = '900x300crop'; // Дефолтный размер превью для топика (все размеры задаются в конфиге media), который будет использоваться, например, для Open Graph
$config['module']['user']['rbac_role_default'] = 'user'; // Роль, которая автоматически назначается пользователю при регистрации
$config['module']['user']['count_auth_session'] = 4; // Количество разрешенных сессий пользователя (авторизаций в разных браузерах)
$config['module']['user']['count_auth_session_history'] = 10; // Общее количество сессий для хранения (значение должно быть больше чем count_auth_session)
// Модуль Comment
$config['module']['comment']['per_page'] = 20; // Число комментариев на одну страницу(это касается только полного списка комментариев прямого эфира)
$config['module']['comment']['bad'] = -5; // Рейтинг комментария, начиная с которого он будет скрыт
$config['module']['comment']['max_tree'] = 7; // Максимальная вложенность комментов при отображении
$config['module']['comment']['show_form'] = false; // Показать или скрыть форму комментов по умолчанию
$config['module']['comment']['use_nested'] = false; // Использовать или нет nested set при выборке комментов, увеличивает производительность при большом числе комментариев + позволяет делать постраничное разбиение комментов
$config['module']['comment']['nested_per_page'] = 0; // Число комментов на одну страницу в топике, актуально только при use_nested = true
$config['module']['comment']['nested_page_reverse'] = true; // Определяет порядок вывода страниц. true - последние комментарии на первой странице, false - последние комментарии на последней странице
$config['module']['comment']['favourite_target_allow'] = array('topic'); // Список типов комментов, которые разрешено добавлять в избранное
$config['module']['comment']['edit_target_allow'] = array(
'topic',
'talk'
); // Список типов комментов, которые разрешено редактировать
$config['module']['comment']['vote_target_allow'] = array('topic'); // Список типов комментов, за которые разрешено голосовать
$config['module']['comment']['max_rss_count'] = 20; // Максимальное количество комментов в RSS потоке
// Модуль Talk
$config['module']['talk']['per_page'] = 30; // Число приватных сообщений на одну страницу
$config['module']['talk']['encrypt'] = 'livestreet'; // Ключ XXTEA шифрования идентификаторов в ссылках
$config['module']['talk']['max_users'] = 15; // Максимальное число адресатов в одном личном сообщении
// Модуль Lang
$config['module']['lang']['delete_undefined'] = true; // Если установлена true, то модуль будет автоматически удалять из языковых конструкций переменные вида %%var%%, по которым не была произведена замена
// Модуль Notify
$config['module']['notify']['delayed'] = false; // Указывает на необходимость использовать режим отложенной рассылки сообщений на email
$config['module']['notify']['insert_single'] = false; // Если опция установлена в true, систему будет собирать записи заданий удаленной публикации, для вставки их в базу единым INSERT
$config['module']['notify']['per_process'] = 10; // Количество отложенных заданий, обрабатываемых одним крон-процессом
$config['module']['notify']['dir'] = 'emails'; // Путь до папки с емэйлами относительно шаблона
$config['module']['notify']['prefix'] = 'email'; // Префикс шаблонов емэйлов
// Модуль Security
$config['module']['security']['hash'] = "livestreet_security_key"; // "примесь" к строке, хешируемой в качестве security-кода
$config['module']['userfeed']['count_default'] = 10; // Число топиков в ленте по умолчанию
$config['module']['stream']['count_default'] = 20; // Число топиков в ленте по умолчанию
$config['module']['stream']['disable_vote_events'] = false;
// Модуль Ls
$config['module']['ls']['send_general'] = true; // Отправка на сервер LS общей информации о сайте (домен, версия LS и плагинов)
$config['module']['ls']['use_counter'] = true; // Использование счетчика GA
// Модуль Wall - стена
$config['module']['wall']['count_last_reply'] = 3; // Число последних ответов на сообщени на стене для отображения в ленте
$config['module']['wall']['per_page'] = 10; // Число сообщений на стене на одну страницу
$config['module']['wall']['text_max'] = 250; // Ограничение на максимальное количество символов в одном сообщении на стене
$config['module']['wall']['text_min'] = 1; // Ограничение на минимальное количество символов в одном сообщении на стене
/**
* Модуль Image
*/
$config['module']['image']['params']['blog_avatar']['size_max_width'] = 1000;
$config['module']['image']['params']['blog_avatar']['size_max_height'] = 1000;
/**
* Модуль Media
*/
$config['module']['media']['max_size'] = 3*1024; // Максимальный размер файла в kB
$config['module']['media']['max_count_files'] = 30; // Максимальное количество файлов медиа у одного объекта
$config['module']['media']['image']['max_size'] = 5*1024; // Максимальный размер файла изображения в kB
$config['module']['media']['image']['autoresize'] = true; // Разрешает автоматическое создание изображений нужного размера при их запросе
$config['module']['media']['image']['original'] = '1500x'; // Размер для хранения оригинала. Если true, то будет сохраняться исходный оригинал без ресайза. Если false, то оригинал сохраняться не будет
/**
* Настройка базы данных
*/
$config['db']['params']['host'] = 'localhost';
$config['db']['params']['port'] = '3306';
$config['db']['params']['user'] = 'root';
$config['db']['params']['pass'] = '';
$config['db']['params']['type'] = 'mysqli';
$config['db']['params']['dbname'] = 'social';
Требования
Для корректной работы LiveStreet необходим PHP не ниже версии 5.5 с поддержкой расширения mbstring, база данных MySQL 5 и желательно с поддержкой InnoDB. InnoDB обеспечивает лучшую производительность и гарантирует сохранение целостности связанных данных.
LiveStreet может работать как на вебсервере Apache 2 с включенным модулем mod_rewrite, так и на Nginx + FastCGI.[Источник 3]
API
Ниже представлено описание классов, используемых в API.[Источник 2]
Пакет | Класс | Описание |
---|---|---|
actions | ActionAdmin | Экшен обработки УРЛа вида /admin/ |
ActionAjax | Экшен обработки ajax запросов | |
ActionBlog | Экшен обработки URL'ов вида /blog/ | |
ActionBlogs | Экшен обработки УРЛа вида /comments/ | |
ActionComments | Экшен обработки УРЛа вида /comments/ | |
ActionError | Экшен обработки УРЛа вида /error/ т.е. ошибок | |
ActionIndex | Обработка главной страницы, т.е. УРЛа вида /index/ | |
ActionLink | Экшен обработки УРЛа вида /link/ - управление своими топиками(тип: ссылка) | |
ActionLogin | Обрабатывые авторизацию | |
ActionMy | Экшен обработки УРЛа вида /my/ | |
ActionPeople | Экшен обработки статистики юзеров, т.е. УРЛа вида /people/ | |
ActionPersonalBlog | Экшен обработки персональных блогов, т.е. УРла вида /personal_blog/ | |
ActionPhotoset | Обработка УРЛа вида /photoset/ - управление своими топиками(тип: фотосет) | |
ActionProfile | Экшен обработки профайла юзера, т.е. УРЛ вида /profile/login/ | |
ActionQuestion | Экшен обработки УРЛа вида /question/ - управление своими топиками(тип: вопрос) | |
ActionRegistration | Экшен обработки регистрации | |
ActionRss | Экшен бработки RSS | |
ActionSearch | Экшен обработки поиска по сайту через поисковый движок Sphinx | |
ActionSettings | Экшен обрабтки настроек профиля юзера (/settings/) | |
ActionStream | Экшен обработки ленты активности | |
ActionSubscribe | Экшен обработки подписок пользователей | |
ActionTag | Экшен обработки поиска по тегам | |
ActionTalk | Экшен обработки личной почты (сообщения /talk/) | |
ActionTopic | Экшен обработки УРЛа вида /topic/ - управление своими топиками | |
ActionUserfeed | Обрабатывает пользовательские ленты контента | |
blocks | BlockBlogs | Обработка блока с рейтингом блогов |
BlockStream | Обработка блока с комментариями (прямой эфир) | |
BlockStreamConfig | Блок настройки ленты активности | |
BlockTags | Обрабатывает блок облака тегов | |
BlockTagsCity | Обрабатывает блок облака тегов городов юзеров | |
BlockTagsCountry | Обрабатывает блок облака тегов стран юзеров | |
BlockTagsFavouriteTopic | Обрабатывает блок облака тегов для избранного | |
BlockUserfeedBlogs | Блок настройки списка блогов в ленте | |
BlockUserfeedUsers | Блок настройки списка пользователей в ленте | |
engine | Action | Абстрактный класс экшена. |
ActionPlugin | Абстрактный класс экшена плагина. | |
Block | Абстрактный класс блока | |
Cron | Абстрактный класс для работы с крон-процессами. | |
Engine | Основной класс движка. Ядро. | |
Entity | Абстрактный класс сущности. | |
Hook | Абстракция хука, от которой наследуются все хуки | |
LS | Короткий алиас для вызова основных методов движка | |
LsObject | От этого класса наследуются все остальные | |
Mapper | Абстрактный класс мапера | |
Module | Абстракция модуля, от которой наследуются все модули | |
Plugin | Абстракция плагина, от которой наследуются все плагины | |
Router | Класс роутинга(контроллера) | |
engine.lib | Config | Управление простым конфигом в виде массива |
ProfilerSimple | Ведение профайлинга | |
engine.modules | ModuleCache | Модуль кеширования. |
ModuleDatabase | Модуль для работы с базой данных | |
ModuleHook | Модуль обработки хуков(hooks) | |
ModuleImage | Модуль обработки изображений | |
ModuleLang | Модуль поддержки языковых файлов | |
ModuleLogger | Модуль логирования | |
ModuleLs | Модуль Ls | |
ModuleMail | Модуль для отправки почты(e-mail) через phpMailer | |
ModuleMessage | Модуль системных сообщений | |
ModulePlugin | Модуль управления плагинами | |
ModuleSecurity | Модуль безопасности | |
ModuleSession | Модуль для работы с сессиями | |
ModuleText | Модуль обработки текста на основе типографа Jevix | |
ModuleViewer | Модуль обработки шаблонов используя шаблонизатор Smarty | |
engine.modules.validate | ModuleValidate | Модуль Validate |
ModuleValidate_EntityValidator | Базовый класс валидатора | |
ModuleValidate_EntityValidatorBoolean | Валидатор булевых значений | |
ModuleValidate_EntityValidatorCaptcha | Валидатор каптчи (число с картинки) | |
ModuleValidate_EntityValidatorCompare | Валидатор сравнения значений | |
ModuleValidate_EntityValidatorDate | Валидатор даты | |
ModuleValidate_EntityValidatorEmail | Валидатор емайл адресов | |
ModuleValidate_EntityValidatorInline | Валидатор для кастомных методов объектов | |
ModuleValidate_EntityValidatorNumber | Валидатор числовых значений | |
ModuleValidate_EntityValidatorRegexp | Валидатор текстовых данных на регулярное выражение | |
ModuleValidate_EntityValidatorRequired | Валидатор на пустое значение или точное совпадение | |
ModuleValidate_EntityValidatorString | Валидатор текстовых данных на длину | |
ModuleValidate_EntityValidatorTags | Валидатор тегов - строка с перечислением тегов | |
ModuleValidate_EntityValidatorType | Валидатор типа данных | |
ModuleValidate_EntityValidatorUrl | Валидатор URL адресов | |
engine.orm | EntityORM | Абстрактный класс сущности ORM - аналог active record |
LS_ManyToManyRelation | Класс представляющий собой обёертку для связей MANY_TO_MANY. | |
MapperORM | Системный класс мапера ORM для работы с БД | |
ModuleORM | Абстракция модуля ORM | |
hooks | HookCopyright | Регистрация хука для вывода ссылки копирайта |
HookMain | Регистрация основных хуков | |
HookStatisticsPerformance | Регистрация хука для вывода статистики производительности | |
modules.acl | ModuleACL | ACL(Access Control List) |
modules.blog | ModuleBlog | Модуль для работы с блогами |
ModuleBlog_EntityBlog | Сущность блога | |
ModuleBlog_EntityBlogUser | Сущность связи пользователя и блога | |
ModuleBlog_MapperBlog | Маппер для работы с БД по части блогов | |
modules.comment | ModuleComment | Модуль для работы с комментариями |
ModuleComment_EntityComment | Объект сущности комментариев | |
ModuleComment_EntityCommentOnline | Объект сущности прямого эфира | |
ModuleComment_MapperComment | Маппер комментариев, работа с базой данных | |
modules.favourite | ModuleFavourite | Модуль для работы с избранным |
ModuleFavourite_EntityFavourite | Объект сущности избрнного | |
ModuleFavourite_EntityTag | Объект сущности тега для избранного | |
ModuleFavourite_MapperFavourite | Объект маппера для работы с БД | |
modules.geo | ModuleGeo | Модуль Geo - привязка объектов к географии (страна/регион/город) |
ModuleGeo_EntityCity | Объект сущности города | |
ModuleGeo_EntityCountry | Объект сущности страны | |
ModuleGeo_EntityGeo | Объект сущности гео-объекта | |
ModuleGeo_EntityRegion | Объект сущности региона | |
ModuleGeo_EntityTarget | Объект связи гео-объекта с владельцем | |
ModuleGeo_MapperGeo | Объект маппера для работы с БД | |
modules.notify | ModuleNotify | Модуль рассылок уведомлений пользователям |
ModuleNotify_EntityTask | Объект сущности задания на отправку емайла | |
ModuleNotify_MapperNotify | Маппер для работы с БД | |
modules.rating | ModuleRating | Модуль управления рейтингами и силой |
modules.sphinx | ModuleSphinx | Модуль для работы с машиной полнотекстового поиска Sphinx |
modules.stream | ModuleStream | Модуль потока событий на сайте |
ModuleStream_EntityEvent | Объект сущности события в активности | |
ModuleStream_MapperStream | Объект маппера для работы с БД | |
modules.subscribe | ModuleSubscribe | Модуль Subscribe - подписки пользователей |
ModuleSubscribe_EntitySubscribe | Объект сущности подписки | |
ModuleSubscribe_MapperSubscribe | Объект маппера для работы с БД | |
modules.talk | ModuleTalk | Модуль разговоров(почта) |
ModuleTalk_EntityTalk | Объект сущности сообщения | |
ModuleTalk_EntityTalkUser | Объект связи пользователя с разовором | |
ModuleTalk_MapperTalk | Объект маппера для работы с БД | |
modules.tools | ModuleTools | Модуль Tools - различные вспомогательные методы |
modules.topic | ModuleTopic | Модуль для работы с топиками |
ModuleTopic_EntityTopic | Объект сущности топика | |
ModuleTopic_EntityTopicPhoto | Объект сущности фото в топике-фотосете | |
ModuleTopic_EntityTopicQuestionVote | Объект сущности голосования в топике-опросе | |
ModuleTopic_EntityTopicRead | Объект сущности факта прочтения топика | |
ModuleTopic_EntityTopicTag | Объект сущности тега топика | |
ModuleTopic_MapperTopic | Объект маппера для работы с БД | |
modules.user | ModuleUser | Модуль для работы с пользователями |
ModuleUser_EntityChangemail | Сущность смены емайла пользователем | |
ModuleUser_EntityField | Сущность пользовательского поля у пользователя | |
ModuleUser_EntityFriend | Сущность дружбу - связи пользователей друг с другом | |
ModuleUser_EntityInvite | Сущность инвайта(приглашения) | |
ModuleUser_EntityNote | Сущность заметки о пользователе | |
ModuleUser_EntityReminder | Сущность восстановления пароля | |
ModuleUser_EntitySession | Сущность сессии | |
ModuleUser_EntityUser | Сущность пользователя | |
ModuleUser_MapperUser | Маппер для работы с БД | |
modules.userfeed | ModuleUserfeed | Модуль пользовательских лент контента (топиков) |
ModuleUserfeed_MapperUserfeed | Маппер для работы с БД | |
modules.vote | ModuleVote | Модуль для работы с голосованиями |
ModuleVote_EntityVote | Сущность голосования | |
ModuleVote_MapperVote | Маппер для работы с БД | |
modules.wall | ModuleWall | Модуль Wall - записи на стене профиля пользователя |
ModuleWall_EntityWall | Сущность записи на стене | |
ModuleWall_MapperWall | Маппер для работы с БД |
Источники
- ↑ 1,0 1,1 1,2 1,3 1,4 Знакомство с LiveStreet CMS // timeweb [2006–2018]. Дата обновления: 11.09.2017. URL: https://timeweb.com/ru/community/articles/znakomstvo-s-livestreet-cms-1 (дата обращения: 20.11.2018).
- ↑ 2,0 2,1 2,2 2,3 Топики LiveStreet CMS // LiveStreet CMS [2012–2018]. Дата обновления: 05.09.2018. URL: https://timeweb.com/ru/community/articles/znakomstvo-s-livestreet-cms-1 (дата обращения: 30.01.2019).
- ↑ Class Reference // LiveStreet CMS API [2018]. Дата обновления: 06.07.2018. URL: http://docs.livestreetcms.com/api/ (дата обращения: 20.11.2018).
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.