ShowVotes 0.3


Плагин «ShowVotes» обновился, теперь с поддержкой LS 1.0.3.

Плагин показывает список проголосовавших за топик. Список этот выглядит примерно так:
showvotes screenshot

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

«admin» — только администраторы
«author» — только автор топика и администраторы
«user» — все авторизовавшиеся пользователи и администраторы
«all» или любое другое значение — все пользователи сайта, включая гостей

UPD: вышла версия 0.4. Изменения:
  • Теперь можно задать ограничение в конфиге на показ трёх видов голосовавших: положительно, отрицательно и воздержавшихся. Если количество голосовавших больше, то вместо очередного ника голосовавшего ставится многоточие. Пока на модерации, можно скачать на гитхабе: github.com/snevolin/showvotes
  • Исправлена обработка видимости (значение 'can_see' в конфиге).

Смайлики. Теперь и для Livestreet

Алоха, товарищи!

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

Станет веселее. Обещаю


Кого заинтересовало, прошу под кат

Плагин Siderating - показ рейтинга людей, топиков и форумчан как на 4pda

Всех приветствую! Итак, ваш сайт уже популярен и люди яростно сливают всем карму пишут топики и общаются на форуме. Но теперь пользователи хотят не просто повышать себе рейтинг (если хотели этого раньше), но и видеть рейтинг других. А если и не хотят, то видеть его им всего равно будет полезно: писать станут больше и по теме. Именно поэтому небольшой блок рейтинга всегда пригодится.
Рейтинг бывает разный

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

Плагин AutoOpenID - версия 2.0.0


Мы обновили плагин, вернее полностью его переписали.
Теперь он поддерживает только авторизацию по протоколам OAuth 1 и 2 версий и требует версию PHP не ниже 5.3. От морально устаревшего протокола OpenID решили отказаться.

На данный момент реализованы сервисы — Facebook, Google, ВКонтакте, Twitter, Yandex, Mail.Ru, Одноклассники. По дополнительный запросам мы можем добавить и другие сервисы, которые поддерживают OAuth.

При обновлении со старой версии плагина ветки 1.* есть возможность переноса аккаунтов, но не всех, а только Facebook, ВКонтакте и Одноклассники. Остальные связи при обновлении будут утеряны и пользователям необходимо будет пройти процедуры привязки повторно. Здесь нужно понимать, что если у пользователя не было пароля и емайла, то при потери связи с аккаунтом из сервисов, он уже не сможет авторизоваться под этим пользователем.

ДЕМО — autoopenid.demo.livestreetcms.com/

Механизм обновления плагинов

В новой версии мы внедрили функционал миграций (обновлений) для плагинов. Функционал позволит разработчикам удобно выполнять обновления своих плагинов, в особенности, если эти обновления затрагивают изменения базы данных.

Как это работает
Пользователь заливает новую версию плагина в каталог /plugins/. Система сравнивает текущую версию плагина с версией этого плагина в БД. И если версия в БД старее, то в админке появляется кнопка «Применить обновление», которая автоматически запустит необходимые скрипты для обновления.


Скрипты (классы) для обновления у плагина находятся в каталоге /update/, который в свою очередь содержит каталоги с номерами версий. Для каждой версии можно создать несколько скриптов с произвольным названием, главное, что нужно помнить — названия файлов должно быть уникальным в рамках всего плагина для всех его версий.
Файл с обновлением представляет собой класс наследник от базового класса ModulePluginManager_EntityUpdate и название класса является производным от имени файла — Plugin[plugin_name]_Update_[file_name]. Например, для файла /update/1.0/CreateTable.php класс будет таким:
<?php

class PluginArticle_Update_CreateTable extends ModulePluginManager_EntityUpdate {
	/**
	 * Выполняется при обновлении версии
	 */
	public function up() {
		if (!$this->isTableExists('prefix_article')) {
			/**
			 * При активации выполняем SQL дамп
			 */
			$this->exportSQL(Plugin::GetPath(__CLASS__).'/dump.sql');
		}
	}

	/**
	 * Выполняется при откате версии
	 */
	public function down() {
		$this->exportSQLQuery('DROP TABLE prefix_article;');
	}
}

Как видно из примера, класс содержит два метода up и down. Первый выполняется при обновлении до версии, второй при откате версии. В этих методах может быть не только работа с БД, но и другая необходимая для обновления логика.

При удалении плагина из админки выполняется автоматический откат всех изменений всех версий (метод down).
Данный поход позволит «разгрузить» у плагинов методы Activate и Deactivate от лишней логики и дать удобный механизм обновления версий. Для корректной работы данного механизма, необходимо версии плагинов именовать используя вот этот стандарт — ru2.php.net/manual/ru/function.version-compare.php, он позволит правильно сортировать версии.

Плагин "Источник новости"

Данный простой плагин позволяет указывать источник новости при создании топика. Сделан он в связи с тем, что некоторые владельцы сайтов часто держат на ls новостные сайты, где указание источника необходимо. Теперь для источника есть отдельное поле.

Скоро:
  • плюшки в виде нескольких источников и ограничению по рейтингу
  • еще несколько полезных и бесплатных плагинов

Видимость постов только друзьям пользователя (опционально)

Здравствуйте.
Интересует следующий функционал для LiveStreet: дополнительная галка «Только для друзей» на странице создания топика в персональном блоге, чтобы опубликованный пост был виден только друзьям автора топика.
Требования:
— Возможность при редактировании менять состояние («только для друзей» / «публичный»)
— Поддержка LiveStreet 1.0.3 и выше
— Совместимость как минимум с шаблоном Synio
— Доп. иконка в виде замкА справа от названия топика (по аналогии с топиком-ссылкой, пример yadi.sk/i/srwHagkVbNKRf)
— Невидимость поста «Для друзей» в активности остальных пользователей (кроме друзей)
— Возможно, какие-то ещё дополнения после реализации вышенаписанных требований (за отдельную плату, конечно же).
Срок реализации: 1-3 недели.

Похожий функционал был реализован в плагине у пользователя Netlanc, однако он внезапно исчез и перестал отвечать на сообщения.

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

Спасибо за внимание.