+1.19
Рейтинг
1.70
Сила

Andrey Superstar

Добавление видео из YouTube

Заметил, что при вставки в пост видео из YouTube (через кнопку «видео») иногда оно не вставляется. Вначале думал, что из-за каких-то своих последних ошибок, но потом заметил закономерность. На YouTube ссылки бывают, грубо-говоря, двух типов:
http://www.youtube.com/watch?v=kOXNOYTLYR8&feature=player_embedded
и
http://www.youtube.com/watch?feature=player_embedded&v=kOXNOYTLYR8
Первый вариант работает, второй — нет. Видео просто не вставляет. Пытался разобраться сам, но опыта не хватает.

Система блоков

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


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

Создание новой страницы

Не раз видел, что у новичков (таких же как и я) возникал впорос как созать новую страницу без стандартного плагина «StaticPage», т.е. вручную.

Создаем страницу: site.ru/price/

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

Разбиение на абзацы в топике-ссылке [Решено]

Как сделать, чтобы в топике-ссылке нормально разбивались абзацы как в обычном топике?
Я так понимаю нужно включить Jevix на странице добавления и редактирования топика-ссылки? Как это сделать?

livestreet.ru/blog/tips_and_tricks/370.html — не помогло

Логины на кириллице

Возникла потребность сделать возможность пользователям обзываться по-русски.
Казалось бы, UTF-8, все дела — но нет: то ли из-за потенциальной возможности сделать каждому по поддомену, то ли еще почему-то, логины можно делать только латиницей.

Мне поддомены не нужны, поэтому вот решение:
В файле /classes/actions/ActionProfile.class.php в функции RegisterEvent дополняем в регэкспах \w сочетанием \p{L}
$this->AddEventPreg('/^[\w\p{L}\-\_]+$/i','/^(whois)?$/i','EventWhois');				
$this->AddEventPreg('/^[\w\p{L}\-\_]+$/i','/^favourites$/i','/^comments$/i','/^(page(\d+))?$/i','EventFavouriteComments');			
$this->AddEventPreg('/^[\w\p{L}\-\_]+$/i','/^favourites$/i','/^(page(\d+))?$/i','EventFavourite');

\w — любой строковый символ, но не юникодовский (и не кириллица)
\p{L} — любая буква юникода, конструкции друг друга отлично дополняют.

Следующий этап: правка функции проверки логина на валидность.
Находится она в файле /engine/includes/function.php и обзывается func_check()
Там тоже регулярные выражения, которые правим аналогично предыдущему файлу.

Во время тестирования регистрации я столкнулся с другим глюком: логин передавался в cp1251, а обрабатывался в юникоде. Конечно, валидатор его не понимал! Для этого лезем в файл /classes/actions/ActionRegistration.class.php и правим там функцию EventIndex(), переписав проверку логина так:
/**
 * Проверка логина
 */
$utf8 = false;
if (!func_check(getRequest('login'),'login',3,30)) {
if (!func_check(iconv('windows-1251', 'utf-8', getRequest('login')),'login',3,30)) {
	$this->Message_AddError($this->Lang_Get('registration_login_error'),$this->Lang_Get('error'));
	$bError=true; // Маленький обходной маневр для поддержки кириллицы в логинах
	} else $_REQUEST['login'] = iconv('windows-1251', 'utf-8', getRequest('login'));
}

В случае, если проверка логина провалилась, мы его проверяем еще раз в UTF. Если проверка удалась, то в _REQUEST меняем login из cp1251 в utf-8, чтоб потом не заморачиваться.

В общем, теперь можно наслаждаться кириллическими именами пользователя. И заводить тему в FAQ'е под названием «Не могу войти»;)

Использование LiveStreet как фреймворка

LiveStreet — это не просто хабра-подобный движок. И даже не столько движок для
создания сообществ, сколько замечательный фреймворк, который подходит для создания самых разнообразных сайтов.
Получается, что от хостинга требуется только php, т.к. для простого сайта-визитки работать с БД совсем необязательно!
Разумеется сайт из пары страниц можно оставить на простом html, но этим постом я хочу показать, что LS можно использовать для создания сайтов абсолютно любого типа.
В общем, кому стало интересно — прошу под кат.
Читать дальше →

Перенос строки в Tiny MCE

В LS есть замечательная фукнция — использовать редактор Tiny MCE, но, к сожелению, не все тонкости учтены.

При включении редактора и написании текста абзацами (тег «p») автоматически добавляется перенос строки после каждого абзаца. На выходе имеем вот такую конструкцию

<p>текст</p> br>
<p>текст</p> br>
<p>текст</p> br>
<p>текст</p> br>

Как быть? Казалось бы все просто…
Читать дальше →

Еще раз про GZip сжатие страниц и кеширование

Почитал я тему Сжатие страниц LiveStreet на лету / Tips & tricks и подумал, что человек уж больно сильно убился на написание сего корявого кода.
Не мне судить над ровностью кода, скорее модераторам модулей.
Так вот о чем я. Поразмыслил тут и отписался в камментах. Но чтоб народу-то донести, т.к. многим более информативнее топик вместо камментов читать, публикую свои мысли здесь.
Читать дальше →

Новые возможности форматирования дат

В версии 0.4 значительно улучшены возможности по работе с датами. Ввиду большого числа писем по этому поводу, опишу здесь основные моменты и правила пользования новыми параметрами форматирования дат:

0. Вступление.

За оформление даты в Smarty-шаблоне отвечает тот же, что и раньше, smarty-тег {date_format}. Тег требует только один обязательный параметр 'date' — собственно дата. Простейший вариант вывода:
{date_format date=$oTopic->getDateAdd()}

в результате получаем самый обычный:
10 декабря 2009, 00:35

Информация для разработчиков: date_format работает теперь не через функцию в function.php, а через специально написанный для движка smarty-плагин.


Дополнительные параметры формата