Модификаторы шаблонизатора Smarty

Разработка под LiveStreet CMS
В прошлой публикации мы коснулись общих основ для замечательного шаблонизатора smarty 3-й версии, который используется в текущей версии ливстрита. Цель данной статьи — рассказать что такое модификаторы в смарти и для чего они нужны.

Модификаторы шаблонизатора Smarty →

Проверка целостности таблиц БД и восстановление связей

FAQ
Иногда у пользователей возникают ошибки при публикации топиков: белая страница или не догружается сайт до конца (отсутствует сайдбар и/или футер) или не работает прямой эфир и т.п. Наиболее часто это случается при удалении топика, блога или пользователя (через админку) и когда нарушены внешние ключи между таблицами или когда таблицы вовсе не имеют тип InnoDb, который весьма строго рекомендован для таблиц в ЛС.

В данном топике будет рассмотрено решение такой проблемы.

Проверка целостности таблиц БД и восстановление связей →

Релиз LiveStreet CMS 1.0.3

Безопасность LiveStreet CMS
Обнаружена критическая уязвимость в движке LiveStreet, которая позволяет получить права администратора сайта. Уязвимы абсолютно все сайты под управлением ЛС начиная с 0.4 версии движка.

Релиз LiveStreet CMS 1.0.3 →

Как сделать автообновление активной вкладки в прямом эфире?

FAQ
С помощью указанного ниже кода можно сделать авто обновление комментариев или топиков (активной текущей вкладки) в прямом эфире по времени (через интервалы):

Как сделать автообновление активной вкладки в прямом эфире? →

Предотвращение раскрытия путей на сервере

Безопасность LiveStreet CMS
Небольшая заметка: в ливстрите по-умолчанию указано отображать ошибки php на экран. Это прописано в файле index.php, который лежит в корне сайта на 18 строке:

ini_set('display_errors', 1);


Предотвращение раскрытия путей на сервере →

Пример наследования кода в JS

FAQ
Задача: нужно очистить текст в textarea при загрузке изображения в топик (после нажатия на кнопку «Загрузить» в модальном окне загрузки изображения в топик).

Пример наследования кода в JS →

Плагин «Мастер блоков сайдбара, тулбара и хуков (Blocks Master)»

Мастер блоков сайдбара, тулбара и хуков (Blocks Master)Вышел новый плагин, который позволяет создавать неограниченное количество блоков в сайдбаре, элементов в тулбаре и хуках, установки произвольного текста в каждый блок и его редактирование через веб-интерфейс. Настройки для показа: на определенных страницах сайта, авторизированным или нет пользователям, указание периода по времени и максимального количества показов.

Плагин «Мастер блоков сайдбара, тулбара и хуков (Blocks Master)» →

Как программно добавить домен в список разрешенных для iframe

В одном из топиков затрагивалась тема ручного добавления нужных доменов в список разрешенных для вставки в топики и комментарии тегами iframe, object и embed. Сегодня я вам расскажу как правильно сделать тоже самое только программно при разработке, например, плагина.

Как программно добавить домен в список разрешенных для iframe →

Не работает вставка кода (embed, iframe)

FAQ
Точнее это должно звучать как "как вставить видео в топик" или "не работает в топике". Решением этой, казалось бы, простой проблемы мы сегодня и займемся.

Не работает вставка кода (embed, iframe) →

Раскрытие директории в NetCat CMS

Есть такая CMS как NetCat — «профессиональная система управления сайтами (CMS, Content Management System), которая разрабатывается с 1999 года и является одной из ведущих на российском рынке» — во всяком случае именно так написано на их официальном сайте. Она была установлена на сайте одного из клиентов (хостинговой компании).

Раскрытие директории в NetCat CMS →

Плагин «Вставка текста после тега cut в топиках (Cut place text)»

Новый плагин для ливстрит позволяет вставить простой текст (описание сайта), код виджета социальных сетей (вместе с JS), код Google AdSense, все, кроме php кода и команд smarty, после тега <cut> в полном просмотре каждого топика.

Плагин «Вставка текста после тега cut в топиках (Cut place text)» →

Раскрытие директории в модуле сессий, часть 2

Безопасность LiveStreet CMS
Что ж… модуль сессий в ЛС оказался слегка дырявым всего-навсего в пределах одного метода. Первая часть по раскрытию путей находится здесь, все тесты и описание будут приводится на основе исправленного модуля сессий из предыдущего топика.
В данном топике будет рассмотрено и исправлено 2 способа раскрытия путей на сайте под управлением ливстрит последней доступной версии (1.0.2).

Раскрытие директории в модуле сессий, часть 2 →

Раскрытие директории в модуле сессий

Безопасность LiveStreet CMS
В LiveStreet CMS последней версии (1.0.2) обнаружена уязвимость, которая раскрывает пути на сервере, связанная с модулем сессий. Ошибка связана с отсутствием проверки типа значения для установки нового id сессии при подмене User Agent.

Раскрытие директории в модуле сессий →

Не работает регистрация на сайте

FAQ
Весьма часто веб-мастера, что создают сайты на LiveStreet CMS, не следуют указанию: нельзя делать правки в главном конфиге системы (config.php). Если нужно изменить значение параметра, то его следует скопировать в файл config.local.php и там уже менять. Сделано это для того, чтобы при обновлении движка можно было перезаписывать главный конфиг из нового дистрибутива т.к. в нем могут находится новые важные параметры.

Не работает регистрация на сайте →

Раскрытие директории в плагине «Sitemap»

Безопасность LiveStreet CMS
В текущей версии плагина (0.4.0) Sitemap для LiveStreet CMS возможно раскрытие директории через вызов файла из директории /plugins/sitemap/tests/behat/features/bootstrap/FeatureContext.php, что приведет к ошибке php.

Раскрытие директории в плагине «Sitemap» →

Как вывести в блок сайдбара последние 10 топиков с блога

FAQ
Суть вопроса сводится к тому, чтобы вывести последние 10 топиков с блога, имея его id и без написания какого либо кода в классах — все в шаблоне.

Да, можно написать такой код, но он противоречит идеологии модели MVC. Но все же, если вам очень нужно, то тогда добро пожаловать под кат.

Как вывести в блок сайдбара последние 10 топиков с блога →

Дружелюбные к СЕО изображения

FAQ
Часто можно заметить что некоторые веб-мастера брезгую этим простым правилом, либо не понимают его суть. Цель данного краткого опуса — напомнить, что…

Дружелюбные к СЕО изображения →

LiveStreet как SEO friendly CMS

LiveStreet CMS
Часто и до тошноты можно встречать споры о том, хорош ли ЛС в плане SEO или нет. Многие почему-то скептически предубежденно относятся к движку, говоря что он не дружелюбен к поисковым системам. На самом деле это не так и сейчас мы пройдемся по небольшому списку того, что в ЛС есть и по современным меркам является стандартом де-факто.

Внутри интересный обзор на тему

Плагин «Поиск по топикам, комментариям, людям, блогам и тегам (Simple Search and Auto Completer)», значительное обновление

поиск в LiveStreet CMS по топикам, комментариям, людям, пользователям, блогам и тегамВышло обновление известного плагина для поиска по LiveStreet CMS. « по топикам, комментариям, людям, блогам и тегам (Simple Search and Auto Completer)» — именно так теперь называется плагин «, комментариям и людям (Simple Search and Auto Completer)»

НОВОЕ


  1. исправлена небольшая визуальная неточность в блоке поиска по людям для шаблона девелопер
  2. в конфиге добавлена возможность задавать список типов блогов чтобы производить поиск по топикам, которые созданы другими плагинами и имеют свой тип блога (например, блоги с подразделами от aceblogextender, плагин Компании от gran'а)
  3. добавлены пользовательские словари, которые находятся в папке dictionaries плагина: stopwords.txt нужен для исключения ненужных слов из поиска, wordforms.txt нужен для дополнения поискового запроса синонимами. Формат этих словарей полностью совместим с форматом Сфинкса
  4. добавлена опция показа ссылок поиска в других ПС по сайту если ничего не найдено средствами встроенного поиска (ссылки на Гугл, Яндекс и Бинг)
  5. добавлен OpenSearch — открытая технология, которая позволяет добавлять как поисковый плагин для браузера.
  6. добавлен новый поиск по описаниям блогов
  7. теперь если пользователь авторизирован, поиск дополнительно проводится в закрытых блогах, к которым у пользователя есть доступ (раньше поиск в закрытых блогах не проводился)
  8. добавлена возможность поиска внутри блога. В форме поиска можно выбрать блог, в котором нужно искать топики. Также на страницах блогов добавлена форма поиска по этому блогу.
  9. добавлен расширенный поиск по тегам с возможностью выбора части тега, например, середины
  10. возможность поиска по тегу в блоге
  11. интегрирован плагин «Tags like full», который позволяет подбирать теги набирая даже их часть (не обязательно начало тега) в автокомплитере
  12. добавлена возможность поиска по избранному пользователя для топиков, комментариев и топиков за тегом

Плагин «Поиск по топикам, комментариям, людям, блогам и тегам (Simple Search and Auto Completer)», значительное обновление →

Плагин «Изменение размера шрифта текста у топиков (Font size changer)»

Описание


Плагин вставляет до и после текста каждого топика кнопки увеличения и уменьшения размера шрифта текста.

В конфиге можно задать шаг изменение размера шрифта текста.

Плагин «Изменение размера шрифта текста у топиков (Font size changer)» →