Удаление UTF-8 BOM из консоли
5
linux (debian tested)
freebsd (7.2 tested)
найти файлы с BOM
sed почему-то иногда не отрабатывает, поэтому php, find, awk, xargs:
find путь/к/лайвстриту/ -type f \( -name '*.tpl' -o -name '*.php' \) -exec sed -i '1 s/^\xef\xbb\xbf//' {} \;freebsd (7.2 tested)
find ./ -type f \( -name '*.tpl' -o -name '*.php' \) -exec sed -i -e '1 s/^\xef\xbb\xbf//' {} \;найти файлы с BOM
find ./ -type f \( -name '*.tpl' -o -name '*.php' \) -print0 | xargs -0r awk '/^\xEF\xBB\xBF/ {print FILENAME}{nextfile}'sed почему-то иногда не отрабатывает, поэтому php, find, awk, xargs:
php -r "ob_start();
passthru('find ./ -type f \( -name \'*.tpl\' -o -name \'*.php\' \) -print0 | xargs -0r awk \'/^\xEF\xBB\xBF/ {print FILENAME}{nextfile}\'');
foreach(array_filter(explode(\"\n\",ob_get_clean())) as \$f){
echo \"remove BOM from \$f...\n\";
file_put_contents(\$f, substr(file_get_contents(\$f), 3));
};"
- +3
- 22 февраля 2012, 15:29
- 1d10t
- Оставить комментарий
Увеличиваем скорость livestreet. Nginx. GZip и не только.
53
Недавно перешел с шаред хостинга на VPS и столкнулся с проблемой что VPS работает не очень быстро, при том что тариф взял не самый дешевый (1600MHz и 1024Mb). Перекопал кучу сайтов чтобы разобраться как все сделать лучшим образом, думаю многие с этим сталкивались, хочу сэкономить ваше время и подытожить важные моменты по настройке.Для тестирования производительности изначально использовал приложение siege, когда меня там цифры стали более-менее радовать, уже начал использовать для тестов замечательный сайт loadimpact.com (количество бесплатных проверок ограничено, не злоупотребляйте сразу). Привожу картинки как было и как стало (сразу хочу заметить увеличение производительности не только из-за настройки nginx).
1. Debian 5 (64) nginx + apache + php-fcgi + eAccelerator + memcache (Апач по сути только для ISPmanager использовался)

2. Debian 5 (32) nginx + apache + mod_php + APC + memcache

Читать дальше
Sisyphus - защита HTML формы
20
Привет Сообщество!
Вчера днем, многие хабраюзеры могли прочитать о jQuery плагине Sisyphus.
Этот плагин подключается к HTML форме и на лету сохраняет данные в LocalStorage. Если до момента отправки формы рухнет браузер, случайно закроется вкладка или вырубят электричество — данные будут сохранены. При следующем открытии страницы с формой она будет заполнена сохраненными данными.
- Сайт: Sisyphus.js
- Автор: Alexander Kaupanin
Плагин Sisyphus для LiveStreet подключает Sisyphus.js к форме создания топика (всех типов).
Для проектов написанных с использованием js-фрэймворка Mootools, jQuery будет загружен автоматически.
Плагин протестирован в 0.4.2 и 0.5.1 версиях LiveStreet.
Плагин не тестировался с WYSIWYG-редакторами. (есть мнение, что не заработает)
- Скачать с GitHub
- Скачать с репозитария (после модерации)
- +6
- 28 октября 2011, 12:12
- HangGlider
- 13
Плагин Facebook 0.5
31
Привет Сообщество!
Рад представить вашему вниманию, обновленную версию плагина Facebook.
Плагин поддерживает версии LiveStreet 0.4.2 и 0.5.1
Поддерживаются шаблоны написанные с использованием как mootools, так и jquery.
UPD 23.12.2011: С 13 декабря, JavaScript SDK стал поддерживать OAuth 2.0 для авторизации. Это привело к появлению ошибки при попытке авторизоваться и получить список страниц пользователя на втором шаге мастера настройки. Ошибка исправлена в версии 0.5.1. Спасибо Giorgi за сообщение о неработоспособности.
Подробнее
- +10
- 17 октября 2011, 16:02
- HangGlider
- 56
ORM и ActiveRecord в 0.5 и выше
30
Выход версии 0.5 для меня было нечто большим, чем добавление страницы активности и ленты топиков из подписанных блогов. В новой версии реализованы ORM и ActiveRecord. Вместе они дают мощнейший инструментарий для разработчика, избавляя того от кучи однотипного кода, который приходилось писать каждый раз при разработке плагина. Тот-же форум, о котором будет идти речь в статье, после обновления похудел на 2177 строк кода. В этой статье я хочу углубиться в ORM и AR на примере создания плагина для LiveStreet.
Читаем дальше...
Читаем дальше...
Система блоков
80
Если пробежаться глазами по сайтам, созданным с ее помощью несложно заметить, что большинство из них наследует две колонки стандартных шаблонов.
Но ведь LS может похвастаться простой, но от этого не менее функциональной системой блоков. Почему владельцы сайтов не используют ее? Возможно, дело в документации?
Это я сегодня с Вашей помощью и попробую исправить.
Читать дальше
Но ведь LS может похвастаться простой, но от этого не менее функциональной системой блоков. Почему владельцы сайтов не используют ее? Возможно, дело в документации?
Это я сегодня с Вашей помощью и попробую исправить.
Читать дальше
Livestreet Wall
24
Данный плагин реализует функциональность под названием «Стена». Он очень похож на одноименную стену в_контакте и facebook.Каждый пользователь в своем профиле имеет свою собственную стену. Существует коллективная стена, владельцем, которой является сам сайт. А так же фред-лента, которая содержит поток записей со стен друзей пользователя.
Плагин работает с активным применением технологии ajax.
Возможности пользователя:
— Добавление записи на стену
— Добавление изображения на стену
— Удаление своих записей, а так же чужих записей со своей стены
— Комментирование записей
— Удаление свои комментариев; комментариев, размещенных к записи пользователя; а так же удаление комментариев, размещенных к записям стены пользователя
Читать дальше
- +13
- 16 сентября 2011, 02:05
- sebastianprelesniy
- 155
Плагин HolyWars (freepoll) -- социальное голосование
8
Многие, наверно, голосовали за символ олимпиады в Сочи, или были на thebattleofbrands.com?Плагин позволяет создавать социальные голосования. В качестве голосов считаются ссылки на ответ из социальных сетей (Facebook, ВКонтакте, Twitter). Можно голосовать за фотографии, или тексты. Каждый голос — новое сообщение на странице в соц. сети со ссылкой на Ваш сайт.
При создании поста можно выбрать логотип для каждого ответа и фразу, которые будут в сообщении в соц. сети.
В конфиге можно сделать новый вид поста доступным всем пользователям, или только администраторам.
Посмотреть плагин в работе можно на bestls.17gor.ru/
Плагин платный (цена: $10).
Если кому-то интересно — пишите, пожалуйста, в личку.
Плагин Must Have Blogs
23
Бывает так, что администратору сайта нужно, чтобы новые пользователи автоматически присоединялись к заданным блогам. Плагин Must Have Blogs позволяет сделать это. А так же позволяет администратору сайта запретить отключаться от заданных блогов.
Читать дальше
Читать дальше
Обновление шаблонизатора Smarty до версии 3.0.7
19
В SVN версии LS произошло обновление шаблонизатора Smarty, теперь используется последняя 3.0.7 версия, написанная на PHP 5.2.
Обновление в ядре прошло гладко, единственное пришлось внести изменения в стандартный класс Smarty — trac.lsdev.ru/livestreet/changeset/1129, это позволит делигировать шаблоны плагинами.
Теперь самое важное — для работы текущих шаблонов на новой версии шаблонизатора необходимо внести в них некоторые изменения. А именно:
Пример адаптации шаблона «new» — trac.lsdev.ru/livestreet/changeset/1128
Обновление в ядре прошло гладко, единственное пришлось внести изменения в стандартный класс Smarty — trac.lsdev.ru/livestreet/changeset/1129, это позволит делигировать шаблоны плагинами.
Теперь самое важное — для работы текущих шаблонов на новой версии шаблонизатора необходимо внести в них некоторые изменения. А именно:
- везде, где используется
имя файла нужно брать в кавычках, по сути это относится к любым параметрам{include file='file_name.tpl'} - не использовать апострофы `, т.е. было
стало{include file='paging.tpl' aPaging=`$aPaging`}
для математических выражений{include file='paging.tpl' aPaging=$aPaging}
меняем их на скобки{section name=closelist1 loop=`$nesting-$cmtlevel+1`}{section name=closelist1 loop=($nesting-$cmtlevel+1)} - после открывающей фигурной скобки { и перед закрывающей } не должно быть пробельных символов, иначе они не считаются за конструкции Smarty
- в условиях логические операторы необходимо отделять пробелами, было
стало{if $aParams[0]=='favourites'and$aParams[1]!='comments'}{if $aParams[0]=='favourites' and $aParams[1]!='comments'}
Пример адаптации шаблона «new» — trac.lsdev.ru/livestreet/changeset/1128