+4.81
Рейтинг
15.20
Сила

Роман

Бесплатный плагин для мультиязычности "L10n"


Это продолжение темы "Плагин для мультиязычности".

Описание возможностей плагина:

После релиза первой версии плагина прошло больше 6ти месяцев. За это время частично моими силами, а частично силами веб-студии stfalcon.com был реализован следующий функционал:
  • Cовместимость с LS v0.4.2;
  • Возможность выбора языка интерфейса при регистрации пользователя и его последующая смена в настройках пользователя;
  • При публикации записи указывается её язык;
  • При создании и редактировании блога можно задавать название блога, его описание и url на разных языках;
  • Возможность создавать и просматривать переводы для записей;
  • Отдельные языковые версии сайта для каждого языка (напр. cookorama.net/ru или cookorama.net/uk). При просмотре отдельной языковой версии сайта выводятся записи только на языке этой версии (аналогично в топе, блоке последней активности, облаке тегов и т.д.). Основная версия сайта остается без изменений (публикуются только топики-оригиналы);
  • Чуть не забыл :). Если пользователь зашел на основной сайт (без указания языка в URL), тогда язык пользователя определяется по базе GeoIP Lite (пока для Украины и России, этот момент нужно ещё рефакторить);
  • Плагин совместим с плагином Sitemap v0.2.1. Сайтмапы для разных языковых версий лежат в сабдиректориях (напр. cookorama.net/ru/sitemap.xml и cookorama.net/uk/sitemap.xml)

Но не обошлось без хака роутера (для установки и передачи языка). В принципе получилось сделать это средствами конфига (код остался закомментированым в конфиге), но вылезли проблемы при сжатии css/js и ссылкам на статические ресурсы плагинов.
Читать дальше →

Плагин "Мои Вещи"

Пол дня пробил в чёрный бубен вызывая код миллионов, до дыр прокурил доки LS, но в итоге всё встало на свои места и на выходе получилось то, что ценят все пользователи суверенного Лепрозория — «Мои Вещи».

Плагин, в итоге, оказался довольно компактный и элементарный. Он добавляет пункт в основное меню, оттуда пользователи попадают в /mine/ где видят список всех топиков к которым они или их друзья имеют отношение (оставили там комментарий). Посты сортируются в порядке даты последних комментариев в них. Если активность была больше 4х недель назад, но эти топики в «Мои Вещи» не попадают.

Устанавливать — как обычно. Пожелания по улучшению принимаются.

В процессе разработки нашёл пару мелких багов в ядре — сделаю тикеты. Поскольку документация ядра довольно сырая, хотелось бы чтобы кто-то мог просвятить по теме кеширования. Хочу вывести счётчики «обновлений» в меню, но не хочу постоянно дёргать базу.

Скачать Плагин можно вот тут — 16Kb. Сегодня вечером отправлю на модерацию в каталог.

UPD: 07.Aug.2010 — Апдейт! Новая версия плагина, помимо исправления пары мелких косяков в совместимости с другими плагинами, появилось своё подменю, где есть магический фильтр «показывать только новое» с счётчиком непрочитаных комментариев. Ура! Качать там же или в каталоге!

Автоматическое подключение блога. Плагин для 0.4. Апдейт для 0.31

Привет всем.
Наконец-то дошли руки до старых хаков. Выпустил обновления хака "Автоматическое подключение блога" для 0.4 и фикс для 0.31

Плагин для 0.4

Скачать можно здесь. Установка элементарная — копируете папку autoconnect в папку plugins движка и включаете плагин по адресу /admin/plugins.

Фикс для 0.31

Ссылка на обновленный архив — внимательно сделайте все по инструкции внутри архива, при других внесенных изменениях в экшены топика, ссылки или вопроса — будьте еще внимательнее, и советую воспользоваться SVN DIFF).

Немного о хаке.

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

Плагин "OpenID"

В разделе «Модули» появился первый официальный плагин для LiveStreet 0.4.1 от команды разработчиков LiveStreet.
Плагин «OpenID» позволяет пользователям авторизоваться и зарегистрироваться на сайте используя OpenID или ВКонтакте.

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

Внимание! Данные плагин работает только на версии 0.4.1.

UPD Обновление плагина — livestreet.ru/blog/addons/5458.html

Постинг в Facebook

Попробовал добавить кнопку для постинга в Facebook как в Twitter (ранее на livestreet был пост), но к сожалению ничего не вышло. Может кто-нибудь подскажет в чем ошибка?
Вот собственно сам код:
<a href="http://www.facebook.com/sharer.php?u={$oTopic->getTitle()|escape:'html'}: {$oTopic->getUrl()}" title="Отправить в Facebook" target="_blank">Facebook</a>

Безболезненная интеграция uppod

Почти с самого мая 2009 (0.3) мы медленно и нехотя изменяем функционал милого локального сайтика mycrap.ru

Сейчас я расскажу о самом простом способе вставки видео в посты, которого здесь не находил. Изначально была сделана своя форма загрузки для видео на базе стандартного /include/ajax/uploadImg.php, которая загружала файл и выдавала в окно поста код uppod-плеера строчек в 5, при этом пользователи могли хулиганить изменяя размер плеера и подсовывая свои листы стилей.

Проще всего (не правильнее, а именно проще всего) поправить системный файл /classes/modules/sys_text/Text.class.php.


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

Добавляем поддержку xcache в 0.3.1

Сохраняем framework.zend.com/svn/framework/standard/trunk/library/Zend/Cache/Backend/Xcache.php в каталог classes/lib/external/DklabCache/Zend/Cache/Backend

Редактируем classes/modules/sys_cache/Cache.class.php, или, можно просто создать папку Cache в каталоге classes/modules и скопировать туда Cache.class.php из sys_cache. Так как сначала идет проверка наличия класса в папке Cache, а потом уже в sys_cache — это сработает.

После
define('SYS_CACHE_TYPE_MEMORY','memory');
добавляем
define('SYS_CACHE_TYPE_XCACHE','xcache');


Перед
} else {
			throw new Exception($this->Lang_Get('system_error_cache_type').": ".$this->sCacheType." (file, memory)");
		}
добавляем дополнительну проверку
} elseif ($this->sCacheType==SYS_CACHE_TYPE_XCACHE) {
			require_once('Zend/Cache/Backend/Xcache.php');
			$oCahe = new Zend_Cache_Backend_Xcache(array());
			$this->oBackendCache = new Dklab_Cache_Backend_TagEmuWrapper(new Dklab_Cache_Backend_Profiler($oCahe,array($this,'CalcStats')));
		

В config/config.php прописываем
define('SYS_CACHE_TYPE','xcache')


Теперь кроме memory и file, LS поддерживает и xcache.

Хак: Автозаполнение для поиска

Давненько я не писал… и так к делу.
Автозаполнение/подсказки (autocomplete) для поиска современная и весьма полезная вещь. Тут просматривая ЛС обнаружил, что данная функция здесь отсутствует.

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

Модуль для сбора статистики производительности сайта. Бесплатный! :)

Ну и кто там говорил, что бесплатных модулей больше не будет? Нате!

Думаю, всем известна плашка со статистикой сайта, которая вылезает внизу каждой страницы, если залогиниться админом. Было даже несколько доработок, как ее сделать покрасивее. Это гуд, конечно, но ведь эти цифирьки мы видим только тогда, когда сами бродим по сайту. А что происходит с ним, когда нас там нет? Так подумал я, и сделал модулечек, который эти самые цифирьки аккуратно складывает в специально приспособленный файлик, а потом админ может загрузить все эти цифры в табличку и посмотреть, так сказать, динамику их изменения. Или полюбоваться на их стабильность.

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