Бесплатный плагин «LSGallery»

29
При поддержке проекта paintstrike.ru мы разработали бесплатный плагин для пользовательских галерей. Его можно скачать на GitHub или в официальном каталоге модулей.

В чем преимущество нашей Галереи?

Во первых она бесплатна и открыта :). Во вторых она грамотно спроектирована, быстро работает, красиво выглядит и удобна в использовании. Посудите сами:




Читать дальше

Full Cache. Простое Frontend кеширование без Nginx

21
Цель. Снизить нагрузку при большом потоке незарегистрированных пользователей.
Причины нагрузки.
1) Даже при включении бэкенд кеша любого вида(memcache, file, xcache) движок все же ест память, так как структуру данных он выстраивает в любом случае. При большом количестве плагинов растет количество классов и экземпляров этих классов, которые загружаются в память. В данном случае использование бэкенд кеша увеличивает скорость работы за счет кеширования результатов запросов в базу данных. Но размер потребляемой памяти остается тот же. Например, у меня страница топика ела 19 Мб, а список — 30мБ. При этом частично помогает, например, использование ссылок на объекты с помощью & при переборе, а не их копий. Но все же это крошки.
2) Даже при полном кеше БД все же выполняются несколько запросов, таких как получение данных о сессии или update таблицы просмотров. Под нагрузкой и при использовании InnoDb базы «update запрос» может очень сильно тормозить.
Ресурсы и методы
Собственно смысл прост. Он состоит в том, чтобы один раз генерировать страницу, а потом отдавать ее сразу.
Проверять на существование и отдавать кеш надо будет перед запуском движка, что разгрузит потребляемую память.


Читать дальше

Помечаем куски шаблонов в скомпилированой странице for 0.5.1

25
Навеяно топиком, хотя сам использую для верстки практически с момента выхода 05 версии, както не подумал что это может быть полезно и другим ;) исправляюсь )


Читать дальше

Система блоков - расставляем точки...

47
Была потребность разобраться с системой блоков. Очень много чего перечитал с сайта. Например, Система блоков. Ниже будет краткое изложение полученных знаний. Попытаюсь рассказать про систему блоков простым языком, чтобы и новички поняли.

Самое главное, что я выяснил:
1. Блоки можно создавать самостоятельно.
2. Блоки можно размещать в произвольном месте страницы (нужно заранее указать эти места)
3. Блоки могут отображаться в зависимости от Action'ов и Event'ов
4. Блоки могут отображаться в зависимости от адреса страницы. Адрес страницы можно задать с помощью регулярных выражений.
Итак, основные моменты.

Читать дальше

Плагин «Last publications», версия 1.0.4

4

В конфиге задается количество топиков и комментов для отображения. По умолчанию — 5. Можно выключить отображение комментов или топиков.



Полностью переписал скрипт табов (раньше там было упакованное чудовище в 30 кб, теперь 3 Кб крутой мой велосипед). Теперь если нет плагина preview (он нужен для тображения превьюшек топиков), то изображение для топика берется из блога в котором он был опубликован.



Читать дальше
  • +3
  • 04 февраля 2012, 20:01
  • PSNet

Как создать свой вид топика, используя систему плагинов

49
3 года назад было написано Руководство: Как создать свой вид топика на LiveStreet. В то время ещё не было системы плагинов, и всё делалось «топорно», что в последствии затрудняло обновление движка, т.к. приходилось свои куски кода вставлять опять. С появлением системы плагинов LiveStreet стал более гибким и легко обновляемым. Передо мной встала задача создать новый вид топика, и я решил сделать это плагином. Но в процессе выяснилось, что то ли я чего-то не знаю, толи этого нет.

Напишу, что и как я делал, заодно задам вопросы, может быть на них решение уже есть. Надеюсь, совместно у нас получится сделать каркас нового типа топика в форме плагина.

Читать дальше

Помогите опознать блок

1
На одном сайте наткнулся на такой блок:



Вроде блок не из стандартной поставки. Все перерыл, ничего похожего не нашел, быть может кто подскажет как он называется?

А еще лучше кинет ссылку, а то изобретать велосипед не хочется…

ORM и ActiveRecord в 0.5 и выше

30
Выход версии 0.5 для меня было нечто большим, чем добавление страницы активности и ленты топиков из подписанных блогов. В новой версии реализованы ORM и ActiveRecord. Вместе они дают мощнейший инструментарий для разработчика, избавляя того от кучи однотипного кода, который приходилось писать каждый раз при разработке плагина. Тот-же форум, о котором будет идти речь в статье, после обновления похудел на 2177 строк кода. В этой статье я хочу углубиться в ORM и AR на примере создания плагина для LiveStreet.


Читаем дальше...

Список файлов шаблонов 0.5 версии - Часть 1

68
Многие в поте и ярости перебирают tpl-файлы в поиске нужного кода. Ниже представлен полный список файлов шаблонов для 0.5 версии LiveStreet CMS на основе шаблона new-jquery, со скриншотами.

Читать дальше
  • +16
  • 13 сентября 2011, 19:23
  • bamboo

Исправления для модуля "DokuWiki integration" + обновление DokuWiki

6
Исправляем досадный баг с совпадающими именами и id-шниками сессий у DokuWiki и LiveStreet. Выглядело это так что сайт переставал отвечать на запросы пока не очистим куки или пока не разорвем сессию. (кстати тут и вина PHP есть т.к. ее поведение при возникновении этой ситуации не очень забавное, надо бы багрепорт оформить)
Обновляем DokuWiki до последней стабильной версии.

Нам понадобятся:
0. LiveStreet 0.4.2
1. Плагин DokuWiki integration
2. Свежая и стабильная сборка DokuWiki (на данный момент это Release 2011-05-25 «Rincewind»)

Последовательность:
1. Устанавливаете плагин «DokuWiki integration».
2. Переименовываете папку wiki в wiki_old
3. Создаем папку wiki и копируем в нее свежую DokuWiki
4. В папке wiki удаляем папки conf и data
5. Копируем в папку wiki папки conf и data из папки wiki_old
6. В папку wiki/inc/auth/ копируем файл livestreet.class.php из папки wiki_old/inc/auth/
7. В папку wiki/lib/tpl/ копируем папку livestreet из папки wiki_old/lib/tpl/
8. В файл wiki/doku.php в самом начале после "<?php" добавляем
if ($_SERVER['REQUEST_METHOD'] == 'GET' && !$_SERVER['HTTP_REFERER'])
{
        $_SERVER['HTTP_REFERER'] = 'http://' . $_SERVER['HTTP_HOST'] .'/wiki/';
}

9. Правим файл wiki/inc/load.php


Читать дальше
  • +1
  • 02 августа 2011, 11:47
  • xRay