Нестандартный механизм сессий и капча
4
С нестандартным механизмом сессий не работает капча, по крайней мере в лс 0.4.2. Для того что бы заработала нужно поправить 3 файла:
Читать дальше
- /classes/actions/ActionRegistration.class.php
- /engine/lib/external/kcaptcha/index.php
- /engine/modules/viewer/Viewer.class.php
Читать дальше
Прикручиваем 3 Smarty к LS
11
В коментариях к одному из топиков, randomtoy попросил меня рассказать по подробней про прикрутку smarty 3 к ЛайвСтриту — рассказываю.
Там в общем-то ничего сложного нет.
1) Файл /engine/modules/viewer/Viewer.class.php
Не заработал метод Viewer -> TemplateExists()
Времени разбираться и делать по человечески не было, заменил внутренности функции на следующий код
Читать дальше
Там в общем-то ничего сложного нет.
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;Читать дальше
История про нагрузку и как я с ней боролся.
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 сек.
Надеюсь кому-то поможет.
Пришлось прикручивать профайлер и смотреть, в чем дело.
Виноват оказался Smarty, который из 1,5 секунд работал 1,2 (шаблон, на проекте, используется стандартный с легкими изменениями).
Копаясь дальше нашел самый сложный шаблон comments_tree.tpl, который выполняет в цикле инклюд шаблона comment.tpl.
Проблема решилась отказом от инклюда и переносом содержимого из comment.tpl в comments_tree.tpl.
full time на топиках с 400+ комментариев не превышает 0,4 сек.
Надеюсь кому-то поможет.
Плагин «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" />Читать дальше
Расширенные мена пользователей.
1
Как-то пришлось мне конвертировать форум на phpbb в livestreet и, в процессе, родился плагин, позволяющий, через конфиг, настраивать разрешенные символы в имени пользователя.
Т.е. прописав в конфига плагина
Free
GitHub
Каталог
Т.е. прописав в конфига плагина
$config['regular']='^[\w\p{L}\-\_ \.\$\@]';имя пользователя сможет содержать: русские и английские буквы, дефис, нижнее подчеркивание, пробел, точку, знак доллара и собачку.Free
GitHub
Каталог
Предложение по улучшению роутера
7
На данный момент, для роутера нет никакой разницы между livestreet.ru/blog/ и livestreet.ru/blog. И это по моему скромному имху не правильно т.к. по двум разным урлам находятся совершенно одинаковые страницы.
Решение я для себя выбрал следующее:
/engine/classes/Router.class.php->GetRequestUri()
после
добавить
В этом случае, все запросы к «директории», которые не заканчиваются на "/", будут перенаправляться с кодом 301 (Moved Permanently) на урл который заканчивается "/".
Ну и да, это очень любят поисковики.
З.Ы. Совершенно за, если кто-то скажет как это сделать лучше :)
UPD. Po6oT В комментариях, подсказал решение гораздо лучше моего.
Решение я для себя выбрал следующее:
/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 В комментариях, подсказал решение гораздо лучше моего.
Выравнивание изображений в TinyMCE
1
LS 0.3.1.
Редактор TinyMCE
При вставке изображения есть только два варианта выравнивания — «слева», «справа».
По логике должно быть минимум три — «нет», «слева», «справа».
Виноватой оказалась отсутствующая кавычка в файле «classes/lib/external/tiny_mce/plugins/lsimage/image.htm», в строке 40.
Было:
Надо:
Редактор 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%;">