0.00
Рейтинг
2.57
Сила

Владимир

Плагин Must Have Blogs

Бывает так, что администратору сайта нужно, чтобы новые пользователи автоматически присоединялись к заданным блогам. Плагин Must Have Blogs позволяет сделать это. А так же позволяет администратору сайта запретить отключаться от заданных блогов.
Читать дальше →

Редактирование комментариев 1.6

Обновил бесплатный плагин «Редактирование и TinyMCE в комментариях» (старый топик), который насчитывает уже более 1500 загрузок.

Исправлены известные ошибки, связанные со взаимодействием с другими плагинами, исправлена загрузка картинок с помощью редактора TinyMCE, аналогичная функция добавлена в стандартом редакторе lsPanel.

P.S.: Плагин распространяется бесплатно и с открытым исходным кодом. Это возможно, благодаря наличию коммерческих решений: Афиша, Объявления, которые также предлагаются вашему вниманию:

Плагин "Редактирование людей"

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

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

Хак ReVote повторное голосование, изменение своего голоса.

В Tips&Tricks почему-то не пускает. тогда здесь наиболее уместно, пожалуй.
На примере топика, решил составить краткую инструкцию, как добавить пользователям возможность менять свой голос. Вообще, странно, что нет такой возможности по умолчанию
Сразу оговорюсь, должен быть установлен ACEAdminPanel!
Итак, нам потребуется файл /include/ajax/voteTopic.php;
Любое изменение начинаем с сохранения копии исходного файла.
находим код:

} else {
$sMsgTitle=$oEngine->Lang_Get('attention');
$sMsg=$oEngine->Lang_Get('topic_vote_error_already');
}

заменяем его на:
Читать дальше →

Плагин "Внешние ссылки через редирект"

Производит публикацию внешних ссылок через страницу выхода (редирект), делает внешние ссылки в новом окне, добавляет класс на все «чужие» ссылки, что позволяет их обрамлять. Существуют белый, черный и общий списки сайтов с возможностью построения сложных правил (регекспа).

— Открывать ли все ссылки на другие сайты в новом окне
— Добавлять ли ко всем ссылкам на сторонние сайты класс
— Белый список сайтов — позволяет всегда переходить к ним без окна предупреждения
— Черный список сайтов — всегда блокировать переход с предупреждением
— Возможность задавать регекспу в списках (т.е. разрешать сложные правила — поддомены сайта и т.п.)

Плагин доступен в каталоге. Стоимость 10$.



Плагин "Sticky topics" для "прикрепления" записей "сверху" блогов :)

К сожалению, полазив по сайту-комьюнити Livestreet я так и не нашел приемлемого пути, как «прикрепить» нужные топики впереди всех. Поэтому вот это детище. :)

Плагин «Sticky Topics» предназначен для управления «прикрепленными» записями. Прикрепленными считаются записи, находящиеся в начале списка на главной странице сайта или блога, вне зависимости от того, когда они были опубликованы. Управлять такими записями может не только администратор всего сайта, но и администраторы конкретного блога. Обычные пользователи могут управлять прикрепленными записями в своем личном блоге. Параметры этих возможностей настраиваются в конфиг-файле.

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

Livestreet: дао разработчика - 1

Я сейчас работаю над одним проектов, в качестве платформы для которого я выбрал Livestreet. Так как с инфой для программистов у этого движка туго, я буду выкладывать те вещи, который я узнал о движке здесь. Надеюсь, это поможет остальным начинающим программистам на LS.

Я работаю с движком всего несколько дней, поэтому что-то в описании может быть неточно или неполно. Не стесняйтесь поправлять.

Цель этого цикла — дать поверхностный, но глобальный взгляд на движок, чтобы снизить порог вхождений. Плюс собрать все актуальные (0.4.1 и выше) ссылки, относящиеся к разработке в одно место.

Итак.

Для начала стоит пробежаться по существующей документации для разработчика (http://trac.lsdev.ru/livestreet/wiki/DeveloperDoc), чтобы понимать термины.
Откройте в IDE движок, пробежитесь по папкам движка, по плагину page, который идет в комплекте с движком.

В движке Livestreet:
Экшены, содержащие Ивенты (action, events) — это, кто знаком с MVC — контроллеры.
Модули (module) — куски кода, которые осуществляют некий функционал (например, функционирование блогов, топиков, комментов). В процессе своей работы они обращаются к Мапперам (mapper) для того, чтобы пообщаться с базой данных. Все sql-запросы пишутся именно в мапперах. Мапперы в свою очередь используют Сущности (entity), которые переводят массивы, отданные mysql в объекты, с которыми потом работает движок.

Способ модификации кода Livestreet два.

1. Через переопределение существующих функций. Меняется целиком существующая функция в модуле/маппере/сущности, или добавляется своя. Подробно: livestreet.ru/blog/dev_documentation/4499.html

2. Через хуки. При этом вставляется код в указанное место движка.
Хуки можно вставить в места, определенные конструкцией $this->HookRun(...); в движке, а также на начало и конец любого модуля, зарегистрированного в системе (не важно, системный он, или установлен каким-то плагином). Подробно про хуки в моделях: livestreet.ru/blog/dev_documentation/3991.html.

Переопределения эти делаются в плагинах. Подробнее о плагинах и их устройстве: livestreet.ru/blog/dev_documentation/3531.html

Как делать эти самые плагины — подробно поговорим во второй части.

Вторая часть

Использование LiveStreet как фреймворка

LiveStreet — это не просто хабра-подобный движок. И даже не столько движок для
создания сообществ, сколько замечательный фреймворк, который подходит для создания самых разнообразных сайтов.
Получается, что от хостинга требуется только php, т.к. для простого сайта-визитки работать с БД совсем необязательно!
Разумеется сайт из пары страниц можно оставить на простом html, но этим постом я хочу показать, что LS можно использовать для создания сайтов абсолютно любого типа.
В общем, кому стало интересно — прошу под кат.
Читать дальше →

Новые возможности по переопределению/наследованию классов LiveStreet

В LS появилась новая возможность для разработчиков плагинов — наследование классов. Идея была высказана еще avadim'ом здесь.
Эта возможность позволит удобно переопределять различные методы одного класса (модуля, экшена, сущности, маппера) разными плагинами без конфликтов.
Главное отличие от делегирование — не происходит блокировки переопределения класса для других плагинов. Также есть возможность переопределения одного метода разными плагинами, но здесь разработчикам нужно быть очень осторожными и делать так, чтоб свести вероятность конфликта к минимуму.

Как использовать.
Например, нужно переопределить метод получения пути до аватара у сущности пользователя в плагине Test. В плагине необходимо объявить те классы, которые будут наследоваться. Объявление происходит в свойстве $aInherits:
<?php
class PluginTest extends Plugin {
    
    protected $aInherits=array(
       'entity'  =>array('ModuleUser_EntityUser'=>'_ModuleSide_EntityUser')
    );

    public function Activate() {        
        return true;
    }
    
    public function Init() {        
    }
}
?>

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