Нестандартный механизм сессий и капча

4
С нестандартным механизмом сессий не работает капча, по крайней мере в лс 0.4.2. Для того что бы заработала нужно поправить 3 файла:
  • /classes/actions/ActionRegistration.class.php
  • /engine/lib/external/kcaptcha/index.php
  • /engine/modules/viewer/Viewer.class.php




Читать дальше
  • +7
  • 17 августа 2011, 00:50
  • Lurk

Прикручиваем 3 Smarty к LS

11
В коментариях к одному из топиков, randomtoy попросил меня рассказать по подробней про прикрутку smarty 3 к ЛайвСтриту — рассказываю.

Там в общем-то ничего сложного нет.
1) Файл /engine/modules/viewer/Viewer.class.php
Не заработал метод Viewer -> TemplateExists()
Времени разбираться и делать по человечески не было, заменил внутренности функции на следующий код
if (file_exists($sTemplate)) return true;

foreach ($this->oSmarty->template_dir as $dir) {
   if (file_exists($dir . '/' . $sTemplate)) return true;
}
return false;



Читать дальше
  • +12
  • 22 февраля 2011, 16:05
  • Lurk

История про нагрузку и как я с ней боролся.

90
Случилось так, что на одном из проектов full time стал переваливать за 1,5 сек и при этом сжирался весь проц. При этом все остальные показали были в норме: база — 0,002 сек, кеш — 0,01 сек.

Пришлось прикручивать профайлер и смотреть, в чем дело.

Виноват оказался Smarty, который из 1,5 секунд работал 1,2 (шаблон, на проекте, используется стандартный с легкими изменениями).

Копаясь дальше нашел самый сложный шаблон comments_tree.tpl, который выполняет в цикле инклюд шаблона comment.tpl.

Проблема решилась отказом от инклюда и переносом содержимого из comment.tpl в comments_tree.tpl.

full time на топиках с 400+ комментариев не превышает 0,4 сек.

Надеюсь кому-то поможет.
  • +26
  • 09 февраля 2011, 00:25
  • Lurk

Плагин «Preview Pictures» и TinyMCE

4
Есть шикарный плагин «Preview Pictures», но он не работает с TinyMCE.

Решается проблема просто.
Для начала открываем файлик
engine/lib/external/tinymce_3.2.7/plugins/lseditor/image.htm
затем находим там строчку
<legend>{#lseditor.image_upload}</legend>
и после нее вставляем
<input type="hidden" name="type_add" value="preview" id="type_add_preview" />



Читать дальше
  • +2
  • 27 января 2011, 15:56
  • Lurk

Расширенные мена пользователей.

1
Как-то пришлось мне конвертировать форум на phpbb в livestreet и, в процессе, родился плагин, позволяющий, через конфиг, настраивать разрешенные символы в имени пользователя.

Т.е. прописав в конфига плагина
$config['regular']='^[\w\p{L}\-\_ \.\$\@]';
имя пользователя сможет содержать: русские и английские буквы, дефис, нижнее подчеркивание, пробел, точку, знак доллара и собачку.

Free
GitHub
Каталог
  • +1
  • 30 декабря 2010, 04:47
  • Lurk

Предложение по улучшению роутера

7
На данный момент, для роутера нет никакой разницы между livestreet.ru/blog/ и livestreet.ru/blog. И это по моему скромному имху не правильно т.к. по двум разным урлам находятся совершенно одинаковые страницы.

Решение я для себя выбрал следующее:
/engine/classes/Router.class.php->GetRequestUri()
после
$sReq=preg_replace("/\/+/",'/',$_SERVER['REQUEST_URI']);

добавить
if(empty($_GET) && !strpos($sReq, '.') && substr($sReq, strlen($sReq) - 1 ,1) != '/'){
            header('Location: ' . $sReq . '/',TRUE,301);
            die;
}

В этом случае, все запросы к «директории», которые не заканчиваются на "/", будут перенаправляться с кодом 301 (Moved Permanently) на урл который заканчивается "/".

Ну и да, это очень любят поисковики.

З.Ы. Совершенно за, если кто-то скажет как это сделать лучше :)

UPD. Po6oT В комментариях, подсказал решение гораздо лучше моего.
  • +1
  • 12 октября 2010, 06:51
  • Lurk

Выравнивание изображений в TinyMCE

1
LS 0.3.1.
Редактор TinyMCE

При вставке изображения есть только два варианта выравнивания — «слева», «справа».
По логике должно быть минимум три — «нет», «слева», «справа».
Виноватой оказалась отсутствующая кавычка в файле «classes/lib/external/tiny_mce/plugins/lsimage/image.htm», в строке 40.

Было:
<select name="align" id="align"  style="width: 100%;>

Надо:
<select name="align" id="align"  style="width: 100%;">
  • +2
  • 22 июня 2009, 17:07
  • Lurk