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

Wave

LiveStreet = поддержка многоязычного контента. Попытка 2.

Об этом уже писал livestreet.ru/blog/3819.html. Прочел livestreet.ru/blog/2109.html, livestreet.ru/blog/2347.html. Переключение интерфейса работает на славу. Но фильтр контента очень уж нужна. Поэтому начал сам потихоньку.
Читать дальше →

Переделка модуля под версию 0.4

Доброго времени суток. Есть модуль под версию 0.3. Я переделал под 0.4 всё работает кроме одного: он не хочет аплоадить фотки в директорию.

Вопрос:

Что надо поменять в:
$sDirSave=DIR_UPLOADS_PHOTOS.'/'.func_generator(1).'/'.func_generator(1).'/'.func_generator(1).'/'.func_generator(1).'/'.func_generator(1);


если раньше в config.php писалось:
define('DIR_UPLOADS_PHOTOS',DIR_UPLOADS.'/photos');


а теперь:
$config['path']['uploads']['photos']  ='___path.uploads.root___/photos';


?

Нюансы переработки модуля в соответствующий плагин для 0.4 на примере модуля Круг друзей


Собрался с силами и попробовал превратить модуль в плагин :)
Решил начать с самого простого — модуля Круг друзей.
Получившийся плагин iFace для 0.4 можно скачать здесь (как и модуль распространяется бесплатно при условии сохранения копирайтов).
Расскажу с какими нюансами столкнулся.
Читать дальше →

Руководство по созданию плагина для v.0.4 на примере "Лента друзей"

Предисловие

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

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

Пошаговая схема:

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

Миграция пользователей с другой CMS

Здравствуйте!
Уважаемые пользователи, подскажите есть ли скрипт или программа позволяющая автоматизировать процесс переноса пользователей, например, из prefix_users базы одного сайта в prefix_user базы другого сайта. Т.е. в скрипте указываем базу № 1, указываем какие поля из какой таблицы переносить в какую таблицу и какие поля базы № 2.
30 минут гуглопоиска не помогли.
Хотел перенести юзеров с php-nuke на livestreet

Использование плагинов в v.0.4

Безболезненное расширение функционала — достаточно проблематичный вопрос (под «безболезненностью» я понимаю весь спектр удобства для пользователей движка).

Я думаю, вы еще не забыли, что для добавления новых возможностей в версиях до 0.3.1 включительно используются Хаки и Модули. При этом установка любого стороннего творения дело достаточно хитрое и небезопасное, часто требующее ориентирования в архитектуре и особенностях движка. Для преодоления этих проблем в ядро v.0.4 была введена система плагинов:


К чему мы стремились создавая систему плагинов?

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


Для тех, кого заинтересовали подробности

«LiveStreet и 500 000 топиков», часть 1: «Что сделать с тем что имеем»

Садист?
Садист!
Да, черт возьми, я садист! (сенсация? попахивает!) :-D


Вы уже наверно читали мой предыдущий пост, где я тестил LS на 200 000 новостей…

В этот раз я нашпиговал самизнаетечто полумиллоном реальных новостей (500 000)… и решил все это тестануть :)

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

Убираем константы из шаблонов

После прочтения вот этого поста: Убираем дублирование при добавлении роутинга, понял что эта проблема волнует не только меня. Хочу поделиться своими соображениями на этот счет.

Linch правильно заметил, что при добавлении нового роута приходиться дублировать информацию. Но, на самом деле здесь происходит более «серьезное» дублирование, чем копипаст из config/config.route.php в Viewer.class.php — мы дублируем функционал по составлению пути — один раз это делает программист, разрабатывая модуль, второй раз это делает верстальщик, когда делает шаблон. Большее неудобство не в том, как мы доставим константу во Viewer, а именно в том факте, что верстальщику этими константами нужно пользоваться.

Если нам вдруг понадобиться изменить принцип роутинга, то придется перелапачивать весь шаблон, исправляя ошибки адресов. Имхо, если Router, решает какой Action должен отработать, пусть сам нам скажет, как к этому Action нужно обратиться. Тогда необходимость в константах во Viewer`e вообще отпадет сама собой.

Как этого добиться? Под катом 20 строчек кода.

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

Хак: рассылка инвайтов

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

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

Минимизация mootools-1.2.js

Я думаю, многие сталкивались с нудовлетворительной скоростью загрузки страниц на движке livestreet. Вот один из вариантов уменьшить объем загружаемой информации.

В комплекте с движком идет библиотека mootools весом около 150 Кб, которая загружается на каждой странице. Я решил, что это непозволительная роскошь и занялся оптимизацией. Прежде всего, воспользовался YUI Compressor, что позволило ужать файл до ~95 Кб. Но и этого мне показалось мало. Скачав 7zip и упаковав файл в архив .gz получил 27 Кб, что примерно в 6 раз меньше первоначального размера. Конечно, дополнительное время тратится на распаковку, однако ускорение заметно даже визуально.

Файлы можно взять с моего портала:
— .gz: blog.betportal.org/classes/lib/external/MooTools_1.2/mootools-1.2.js.gz
— mini: blog.betportal.org/classes/lib/external/MooTools_1.2/mootools-1.2.js

Для корректной работы gzip, возможно, понадобятся танцы с бубном вроде описанных здесь. У меня заработало просто так, правда пришлось изменить ссылку подключаемого скрипта на gz-файл.