+60.64
450 читателей, 105 топиков

тюнинг капчи (reCAPTCHA)

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

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

ajax-обновление кол-ва новых сообщений LS 0.3

Описание: У пользователя открыта любая страничка livestreet, на которой отображается сколько непрочитанных сообщений находится в почтовом ящике. Данный tip автомтически обновляет этот блок каждые 5 секунд. После 60 запросов, если страница не была обновлена скрипт останавливается (после 5 минут). Это сделано для того чтобы если пользователь забыл закрыть браузер на ночь, неделю, не было лишних запросов. После загрузки страницы скрипт опять запускается.
Читать дальше →

Создание URL блога для людей

Опубликую идею которую в идеале стоило бы допинать полностью, но я надеюсь, что она будет услышана Ort-ом и реализована в виде родной возможности. А суть очень проста — избавить пользователей от написания URL при создании общего блога.
Читать дальше →

Удаление UTF-8 BOM из консоли

linux (debian tested)
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));
};"

Фикс диалоговых окон для ie7

Всем доброго времени суток.
В ie7 окно логина закрыто оверлеем, так же и окно загрузки изображений. Фикс этой проблемы:
идем в jquery.jqmodal.js, после строки 81. h.w.css('z-index', z); добавить строку
if (!h.w.is('.mutex')) h.w.addClass('mutex').appendTo('body');
класс mutex используется как семафор.

Делаем "Фотоблоки"


Вводное:
Наверное многие знакомы с возможностью на таких ресурсах как LAM (Lookatme) создавать внутри поста фотоблоки куда помещаются некоторое количество фотографий (чтобы не делать чересчур длинной скатерти). Да, в ЛС уже существует подобная штуковина — Фотосеты, но как отдельный вид поста она не имеет смысла. Сегодня я расскажу вам как сделать эти самые «Фотоблоки».

Нам понадобятся:
1. LiveStreet версии 0.5-0.5.1
2. Шаблон на jQuery
3. Fotoramajs от Артема Поликарпова
4. Прямые руки

Присутпим:
1. Качаем архив с Fotoramajs отсюда fotoramajs.com/

2. Внутри вы обнаружите 2 файла: собственно сама библотека fotorama.js и файл стилей для настройки внешнего вида fotorama.css

3. Подключаем библиотеку (предварительно поместив её в папку js вашего шаблона) в header.tpl вашего шаблона, очень просто
<script type="text/javascript" src="{cfg name='path.static.skin'}/js/fotorama.js"></script>
и учитываем что у вас также уже должна быть подключена библотека jQuery.

Подключаем css файл
<link href="{cfg name='path.static.skin'}/css/fotorama.css" rel="stylesheet">

4. Теперь идем в настройки jevix.php (папка config) и разрешаем тег div
// вызов метода с параметрами
			array(
				array('cut','a', 'img', 'i', 'b', 'u', 's', 'video', 'em',  'strong', 'nobr', 'code', 'object', 'param', 'embed', 'ls', 'iframe','blockquote','div', 'p','h3','div'),
			),			


array(
				'div',
				array('class')
			),


5. Вуаля, все что нам теперь остается, зайти в редактор, создать новый пост, кликнуть на просмотр html кода (это если у вас tinyMCE), найти нужные вам фотографии (для незнающих тег img) и обьединить в следующий div

<div class="fotorama">
  <img src="1.jpg> <img src="2.jpg"> <img src="3.jpg">
</div>


PS: На все вопросы готов ответить в комментариях, хотя надеюсь они не возникнут :)

Авто анонс

Задумался о добавлении возможности создания анонса. Полез в код… Оказывается, в ливстрит есть все, что нужно для создания анонса! Максу респект!

Но просто добавить новое поле в форму добавления топика мне показалось мало. Точнее я передумал. =)))

Вместо ручного добавления анонса решил сделать авто обрезание текста топика. Варианта три:

1) Отрезать определенное количество символов и тупо ставить троеточие.
2) То же самое, но до первого пробела. В этом случае целостность слов сохраняется.
3) То же самое, но до первого знака окончания строки. :)

Первый тупой и простой никому давно не интересен, поэтому расскажу, как сделать второй и третий.

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

Костыли для корпоративных блогов

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

Предпосылки: очень нужно и неважно, что не будет всего сразу :)

Идея в том, чтобы реализовать корпоративные блоги через шаблоны. Если сравнивать отличия обычного коллективного блога от корпоративного, то можно прийти к выводу, что очень многое решается так: «это убрать» и «это добавить».

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

Оптимизация страниц в ЛС

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

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