Релиз LiveStreet 1.0.2

Сообщаем о выпуске промежуточной версии LiveStreet 1.0.2.
Основная причина — закрытие пассивной XSS (спасибо HiMiC ). Также были исправлены другие незначительные моменты по безопасности.
Полный список изменений относительно версии 1.0.1 доступен здесь — github.com/livestreet/livestreet/commit/479e97bea183b8ab863d45b8150fe6549b42f8ce

В новую версию вошли практически все изменения ядра из девел версии на текущий момент, что повысит, в частности, скорость работы сайта. Шаблоны не изменялись, поэтому должна быть полная 100% совместимость с текущими шаблонами и плагинами.

При обновлении с 1.0.1 достаточно перезаписать файлы из нового архива, каталог /templates/skin/ можно не перезаписывать.

Скачать можно здесь — livestreetcms.ru/download/

UPD
Список изменений:
  • фикс бага смены емайла, если у пользователя не было старого
  • если класс модуля не существует, то теперь выбрасывается эксепшен
  • доступ к какум только через http
  • фикс генератора плагинов из консоли
  • в конфиг вынесены настройки допустимого логина пользователя
  • фикс отображения адреса сайта плагина в списке плагинов
  • вынос в конфиг максимального размера текста топика для ссылок и опросов
  • возможность отключить обязательность проверки каптчи
  • фикс удаления комментариев
  • фикс раскрытия путей на сервере — замена функции getRequest на getRequestStr для строковых параметров
  • закрытие прямого доступа к plugin.xml, закрытие некоторых каталогов через htaccess
  • список допустимых протоколов для ссылок в парсере jevix
  • в классе LS методы заменены на статические
  • в сущности топика добавлены новые вспомогательные методы: getUrlEdit, getIsAllowDelete, getIsAllowEdit, getIsAllowAction
  • новая опция в конфиге $config['smarty']['compile_check'] для отключения проверки шаблонов перед компиляцией
  • фикс бага с передачей сессии в каптчу
  • фикс предпросмотра у топика-ссылки и опроса
  • фикс установки уровня php ошибок в Viewer
  • теперь, если файл шаблона плагина не найден, будет попытка его найти в каталоге шаблона плагина /default/, это позволит не дублировать файлы шаблонов для разных скинов
  • фикс утечки памяти при обработке конфига
  • для топика устанавливается canonical url
  • фикс экранирования полей в ORM
  • для ORM связи many-many добавлен новый метод clear() для удаления всех текущих связей
  • возможность в определении ORM связи has-many указывать дополнительный фильтр (4-й параметр)
  • поддержка группировки в условиях ORM запроса
  • фикс XSS в пагинации
  • в определении таблицы в ORM учитывается имя плагина, например, prefix_pluginname_user_invite
  • теперь при запуски из консоли функция func_getIp вернет 127.0.0.1
  • в jevix в обработку тегов TR_TAG_CALLBACK_FULL дополнительно передается содержание между тегов
  • в ls.ajax в хук дополнительно передаются параметры callback и more
  • оптимизация выборки инбоксов
  • фикс бага подписки на комменты к топику из закрытого блога
  • фикс удаления файлов изображения фото-сетов при удалении топика

157 комментариев

avatar
Ура! Спасибо ort
Будем ковырять :)
avatar
ох как, одновременно пачти поднял темку с предыдущим релизом! :)) здорово! спасибо!
avatar
Спасибо дружище Еще радует что с 1.0.1 достаточно перезалить файлы…
avatar
только вот то, что правил «ручками» опять надо будет править))
avatar
нефиг править ручками то что не надо править ручками, а делать плагинами :) хотя вас понимаю не всегда получается это сделать.
avatar
плагинов на все не хватит :)
и как говорится «не множьте сущности без надобности» ©
avatar
А мне кажется, что лучше руками. Так надежнее. Хотя все это предрассудки)
avatar
Максим, огромное спасибо!
Можно еще вопрос, когда все таки состоится релиз мобильной версии?
avatar
И раз уж это промежуточная версия, возможно ли дать информацию, что будет в новой и насколько оно будет отличаться от того, что уже есть. Когда ориентировочно релиз?
avatar
language с русиком и конфиги нужно перезаписывать? или необязательно?
  • Rega
  • +1
avatar
в русике кроме изменений временных поясов изменений нет?
avatar
пользуйтесь редакторами которые умеют сравнивать файлы, оч удобно, например phpStorm
avatar
спасибо за коммент
искал в нотепаде сравнение, не нашел
ща нагуглил вроде эту функцию )
avatar
language, кстати, тоже можно перенести в скины и не париться. ))
avatar
Спасибо огромное! Сайт стал быстрее работать!
avatar
прям сейчас буду обновлять, что будет в процессе обновления, обязательно напишу здесь…
avatar
да было бы знать какой задел на будущее ожидать :)
avatar
Отложу до завтра — спасибо!
avatar
Обновил, пока вроде бы никаких проблем, все работает. По скорости загрузки сайта, ну как то разницу не почувствовал, может она настолько мала с предыдущей версии, поэтому не чувствуется. При обновлении папку с шаблонами из архива удалил, все остальное просто перетащил мышкой на фтп сервер, и заменил существующие файлы, произвел /install как обычно, готово!
avatar
а это обязательно? install запускать?
avatar
да…
avatar
а зачем инсталл?
При обновлении с 1.0.1 достаточно перезаписать файлы из нового архива
avatar
не знаю, но я его произвел, во избежании проблем…
avatar
install был бы смысл запускать если бы были изменения в бд, а у нас их нету.
avatar
Было бы здорово, если следующее обновление было бы таким же простым с перетаскиванием файлов, экономит время, меньше возни… Спасибо Максиму!
avatar
не долго мучались))
avatar
Ага, ну там некоторые файлы поправил ручками, их мало на самом деле, по крайней мере на моем сайте…
avatar
Почистил кеш сайта, кажется новая версия действительно стала быстрей работать, чем предыдущая… )))
avatar
при чистке кеша когда мемкеш не стоит всегда прирост скорости ) не в этом ли дело?
если мемкеш у Вас стоит — то гуд
если нет — отключайте кеш
avatar
мекеш не стоит, хостинг обычный. Так а где и зачем кеш отключать, если мемкеш не стоит?
avatar
чтобы быстрее работал.
если у вас меньше 3k — 5k хостов, то смысла в файловой кеше нет.
avatar
скажем так, если мемкеш не стоит, то сайт у него не только быстрее работать не будет, а совсем наоборот
avatar
вопрос
Так а где и зачем кеш отключать, если мемкеш не стоит?
ответ
чтобы быстрее работал.
avatar
кеширование в конфиге ЛС отключается

у меня тормоза появлялись по мере накопления файлов в кеше
как почистишь — летает
отключил его нафиг чтоб папку не чистить )
avatar
Здравствуйте! Скажите, а изменения, которые описаны здесь: livestreet.ru/blog/dev_livestreet/13700.html внесены в новую версию движка?

Это я к тому, что в списке изменений на гитхабе их нет, а в коментах к тому топику PSnet писал, что есть…
  • dsg
  • 0
avatar
Максим переделал по-другому. Но эти изменения есть в этом релизе. Можете ниже почитать изменения.
avatar
Макс всегда делает по-своему
avatar
Если кому интересно — список изменений в версии 1.0.2
avatar
3. Закрыт один из путей для получения списка плагинов на сайте
При просмотре кода шаблона, путей к плагинам теперь не видно?
avatar
видно и будет видно. вам как веб разработчику должно быть понятно.
ЖС — клиентский язык. он должен иметь доступ к путям
avatar
PSNet , спасибо. По человечески написал :)
avatar
пожалуйста)
avatar
спасибо за ссыль
обновлений много, надо будет обновиться
avatar
2. Закрыт небольшой недочет, который почему-то назвали пассивным XSS

Пассивная XSS — это когда вам удалось просто выполнить скрипт на сайте
не сохраняя его.

Активная XSS — это когда вам удалось сохранить где нибудь в страничке скрипт
и при каждом обновлении странички скрипт выполняеться.
К примеру вставка скрипта в дневники, в доски объявлений в форум, в гостевые книги
и т.д.
avatar
avatar
неточности
avatar
Это уже транковая версия, достаточно пересохранить топик
avatar
Т.е. теперь в такой вариации конфига нет смысла? (у меня просто уже 1.0.2 стоит, а конфиг такой пока оставил)
avatar
там два разных варианта решения одной и той же задачи: в 102-й и мой.
avatar
мда
придеться вспоминать что я правил в своем шаблоне
а правил много
ужос: ))
avatar
каталог /templates/skin/ можно не перезаписывать.
avatar
При обновлении с 1.0.1 достаточно перезаписать файлы из нового архива, каталог /templates/skin/ можно не перезаписывать.
хмь, точно
avatar
советую на будущее документировать все изменения в системе, очень удобно
avatar
Максим, отличная новость, скажи а в новой версии решена эта проблема?
avatar
Доброго времени суток всем. Вопрос прост: перезаписал папки classes, config, engine, include и папки page+profilier в папке плагинов — всё ли правильно сделал или что-то нужно до\переписать?? пока всё нормально, очистил кеш на всяк случай, сайт субъективно стал чуть быстрее) шаблон и тема стояли стандартные, Starter Kit от vOFFkи
avatar
А зачем вы config перезаливали? у вас же там данные по бд свои
avatar
config.local.php должен был остаться прежним т.к по умолчанию он имеет расширение .dist
github.com/livestreet/livestreet/blob/master/config/config.local.php.dist
Поэтому у человека все работает как работало :)
avatar
ага и библиотеки (js,css) дополнительные которые он возможно подключал в этом конфиге
avatar
ну зате видимо, что в документации сказано что мол «перезалейте всё, кроме и т.д. и т.п.» имхо любая инструкция пишется из расчета на то, что её читает хомячок, в этом и смысл инструкций.
avatar
Спасибо большое, перезалил файлы, добавил старые изменения в новый конфиг. Все работает!
avatar
Обновился, перезалив файлы.
сложно сказать насколько быстрее работает.
главное, не медленее ))
avatar
балин взял удалил папку с конфигом… теперь все заново устанавливать
avatar
backup?
avatar
у меня гавно хостинг без бэкапа. Завтра в тикет написать надо, чтоб файлы восстановить
avatar
все… Поковырялся и все восстановил… Спасибо за скрипт!!!
avatar
Сделайте пожалуйста при проверке Ajax полей, отправку роутинга или наименования формы
а то единственный способ проверить принадлежность это $_SERVER['HTTP_REFERER']
avatar
принадлежность к чему?
avatar
принадлежность POST запроса к форме или к типу данных или к URI на котором выводится форма. Те на данный момент нельзя настроить валидацию одних и тех же полей, но в разных формах или при разных условиях
avatar
Ну так у вас же у самого руки из правильного места растут — создайте issue и решайте проблему.
avatar
обратная совместимость отвалится
да и времени пока нет
avatar
в форме можно передавать дополнительное поле, которое будет тем самым условием
avatar
при запросе аякса на валидацию, не передаются же все поля формы, а только одно

ls.user.validateRegistrationField(
          $(e.target).attr('name'),
          $(e.target).val(),
          $('#register-{$ProfileName}-form'),
          aParams
        );


тут нельзя больше добавлять полей
avatar
js можно написать свой
если есть вопросы — лучше создать отдельный топик
avatar
если джс свой написать то и обработчик тож надо будет писать. Так как тот что есть не примет доп параметры.
avatar
обновился с 0.5.1 до 1.0.2
конверт получился с ошибками, таблицы некоторые не создались.
borts.ru.preview.ihc.ru/blog/skoda/40.html#cut
SQL Error: Table 'p154243_borts.prefix_subscribe' doesn't exist at /home/p154243/www/borts.ru/classes/modules/subscribe/mapper/Subscribe.mapper.class.php line 122
при смене скина на simple
p154243_borts.prefix_user_note' doesn't exist
что делать? хорошо что начал перенос на тестовом сайте
avatar
решил проблему загрузкой sql файлов из install поверх старой базы
комментарий был удален
комментарий был удален
avatar
Что за папка tests?
  • panc
  • 0
avatar
это папка с автоматическими тестами
Вам для работы она не нужна
avatar
А как лучше исключить перезаписывание определенного файла при обновлении, того же /templates/skin/?
avatar
pazl.name обновил движок, все ок
но почему шрифт больше стал в шаблоне SOCIAL?
skin не трогал
avatar
все ок разобрался, конфиг
avatar
Сайт перенес… прироста к быстродействию не заметил.
avatar
да ему неоткуда быть
avatar
В новую версию вошли практически все изменения ядра из девел версии на текущий момент, что повысит, в частности, скорость работы сайта.
avatar
вы сами то изменения видели?
avatar
Пока не смотрел.
avatar
я видел. если-что.
avatar
возможно не стоит так говорить, если не читали топики, где есть отчеты?..
avatar
вот интересно это из за чего именно? просто строчку кода или ссылку на комит
avatar
вы вводите в заблуждение других, кто сам не может разобраться, т.е. обычных пользователей.
avatar
Ок скажу по другому. Прироста не заметил
avatar
там были пояснения когда его можно получить.
avatar
Там — это где?

замена с getRequest на getRequestStr — прироста не дает
Правка в регулярках на исправление XSS — прироста не дает

Правка [\w] — [a-z] — прироста не дает

За то что сделали в ORM group — большое спасибо

А вот то что функции в LS переделали на статику, не есть гуд.

То что фотки файлов удаляются, при удалении нод тож гуд

Но это все не дает прирост скорости. Так чтож дает то прирост скорости?
avatar
тролите?.. продолжайте.
у меня скоро сложится стабильное впечатление о вас.
avatar
да кто тролит то?
avatar
если речь идет о $config['smarty']['compile_check'] = true;
так она давно уже была. Может поэтому и не обнаружил прироста.
Правда я сам выставлял эту опцию (не помню как она была по дефолту)
avatar
мы говорим о разнице между 1.0.1 и 1.0.2.
в 1.0.1 её не было. во вторых есть оптимизация конфига и уменьшение утечок памяти
avatar
То что фотки файлов удаляются, при удалении нод тож гуд
С этого места поподробней плз. При удалении топика удаляются все изображения загруженные в топик? А если они в других топиках использовались (переводы например)?
avatar
а что он имел ввиду «нод тож гуд»?
avatar
да привычка после Drupal, сори
avatar
Прирост быстродействия чётко заметен на стресс тестах. процентов в 10 у нас.
avatar
А как обновить с версии 1.0?
  • bucu
  • 0
avatar
вот бы в следующую версию сделали возможность в конфиге включать ajax всего сайта.
avatar
Возможность «устанавливать всееее игры» :)
avatar
Кишки, мясо матюки и голые сиськи!
avatar
этого не будет без полного переделывания шаблонов и, частично, движка.
avatar
Если используете php-fpm + APC, после обновления обязательно перезапустите php-fpm
avatar
связано с тем что изменения конснулись некоторых классов в CSSTidy-1.3
avatar
Когда админку дефолтную сделаете? Нечего не имею против админки aVadim'а, но все же… Версия 1.x, а админки все еще нету.
avatar
несмотря на то, что я уверен — админку делают, все же самого интересует вопрос: почему разработчики никак это не комментируют? Ну я понимаю, сроки точные говорить не нужно, т.к. соблюсти их — та еще проблема. Но хотя бы перечень возможностей, уже проделанную работу… все это можно было бы и озвучить из уважения к людям, которые эту админку так ждут.

Думаю, это отсекло бы тучу комментов.
avatar
У меня немного другой вопрос — а что это изменит?
avatar
Думаю, это отсекло бы тучу комментов.
с вопросами «где админка? когда будет админка? почему нет админки???!»

Надоело ведь уже)
avatar
есть альтернативные: платная и бесплатная
avatar
в БД на английском языке города и страны исправили?
avatar
Перезаписал вроде, как то все быстро произошло, распаковал архив прямо с ISPmanager, как узнать версию движка, обновился он или нет?
avatar
Почему то у меня не нажимаются некоторые кнопки, как то войти, выйти и тд.
avatar
Удалите скомпилированные шаблоны и js и css файлы
и перезапустите Apache навсякий случай
avatar
такой вопрос, когда будет релиз, и что нового, по мимо того что есть сейчас, будет в релизе?
avatar
Только что обновился. Все хорошо, кроме плагина ДАО. Написал автору, он ответил, что нужно подождать чуть-чуточку и выйдет новыц апдейт плагина, который решит проблему.
avatar
а что с ДАО, я не заметил проблему? С каким плагином?
avatar
4в1, 3.0.2. Внутри афиши не палит блок похожие записи
avatar
ааа ясно, нет такого, то что есть вроде работает все.
avatar
Есть проблема у кошелька с плагином Extended registration, но это не связано с обновлением версии движка, Владимир обещал подправить в следующей версии.
avatar
ort , Почему АДМИН НЕ МОЖЕТ отредактировать комментарии?
avatar
Этого никто не знает) Очевидно, функция эта настолько труднореализуема, а может просто не нужна) В любом случае, есть целых два плагина от netlanc и kerby, которые помогут исправить сей недочет.
avatar
например на шаблоне Simple не корректно работают.от netlanc точно а второй не пробовал в работе И Вообще у админа эти инструменты должны быть в коробке. зачем искать плагины
avatar
а второй не пробовал в работе
Попробуйте :) Но обратите внимание на этот недочет в шаблоне simple.

Вообще у админа эти инструменты должны быть в коробке. зачем искать плагины
Это уже совсем другой вопрос.
avatar
Но обратите внимание на этот недочет в шаблоне simple.

это критично?
avatar
Да, из за этого недочета ссылка на редактирование коммента будет появляться дважды. Поэтому один лишний вызов этого хука надо убрать.
avatar
Проблема с фотосетом решена?
Проблема заключалась в том, что если задать новые размеры в конфиге, то все старые фотосеты полетят.
avatar
временное решение здесь
avatar
Да про временно знаю. Нам нем и сижу.
avatar
С ДАО пока рак, не обновляйтесь, а то будет как у меня )
avatar
Немного конфузная ситуация в этом топике написано:

При обновлении с 1.0.1 достаточно перезаписать файлы из нового архива, каталог /templates/skin/ можно не перезаписывать.

В ридми написано:

ОБНОВЛЕНИЕ С ВЕРСИИ 1.0
0. ОБЯЗАТЕЛЬНО СДЕЛАЙТЕ РЕЗЕРВНЫЕ КОПИИ ВАШЕГО САЙТА И БАЗЫ ДАННЫХ
1. Удалите старые файлы кроме /config/config.local.php и каталога /uploads/ со всеми файлами, скопируйте новые файлы движка в нужный каталог сайта
2.1 Зайти по адресу ваш_сайт_на_ls/install/ и на шаге создания базы данных поставить галку «Конвертировать базу 1.0 в 1.0.2»
2.2 Либо руками выполнить SQL патч /install/convert_1.0_to_1.0.2.sql в phpMyAdmin или через консоль MySQL, предварительно сменив префикс таблиц в БД на ваш

Кто уже поставил подскажите как правильнее, а то у меня только 1 попытка будет))
У меня версия 1.01
avatar
Упс, не долистал ниже вопрос отпал)
avatar
Спасибо — обновился!)
avatar
Парни, Вы извините, но это как-то несерьезно. Читаю топик: изменения касаются, якобы, главным образом безопасности. Безопасность — это гуд, значит, делаю вывод, достаточно просто обновить ядро и все.

Тут PSNet дает ссылку на список изменений, который запостил у себя. Уже странно, что такого списка нет тут. Иду, смотрю список. И там, кроме прочего, вижу:
В сущностях топика появились методы getUrlEdit(), getIsAllowDelete(), getIsAllowEdit() и т.п. которые заменяют аналогичные громоздкие конструкции в шаблонах…

Много правок в ORM

Теперь при адаптации шаблонов плагинов под другие шаблоны не нужно копировать всю папку шаблона в новую...

Т.е. так навскидку я вижу изменения, которые могут быть очень важны для сторонних разработчиков.

Думаю, может, я просто не заметил в этом топике чего-то важного? Ага, вот оно: Полный список изменений относительно версии 1.0.1 доступен здесь — и идет ссылка на гит, где «Showing 62 changed files with 662 additions and 390 deletions».

Ребята, Вы так прикалываетесь, да? Или Вы на полном серьезе считаете, что разработчики должны изучать гитовские диффы, чтобы узнавать о рефакторнинге, о новых методах классов, об изменении алгоритмов рендеринга шаблонов и проч.?
avatar
добавил список изменений
avatar
в ls.ajax в хук дополнительно передаются параметры callback и more
Вот кстати фиг… в транке есть, а в релизе — нет.

фикс удаления файлов изображения фото-сетов при удалении топика
… и добавился параметр методу DeleteTopicAdditionalData — обнаружено случайно, спасибо onthefly — у него PHP 5.4 «ругнулся»… А это значит, что плагины для 1.0.1, наследующие этот метод, «ломают» функционал удаления изображений не учитывая этот нюанс.

Вообще, было бы не плохо выпускать ченжлоги для пользователей и разработчиков отдельно, как это, например, делает Битрикс. Они отдельно указывают что поменялось с точки зрения пользователи и что — с точки зрения разработчика. Я понимаю, что это геморройно, но… Рискуем нарваться на нехорошие несовместимостию
avatar
и добавился параметр методу DeleteTopicAdditionalData
А я вот подумал, посмотрел… зачем он вообще, этот дополнительный параметр? Какая религия запрещает прямо в DeleteTopicAdditionalData делать
$aPhotos=$this->getPhotosByTopicId($iTopicId);
avatar
Вот кстати фиг… в транке есть, а в релизе — нет.
упустил момент, поправил

и добавился параметр методу DeleteTopicAdditionalData — обнаружено случайно
еще ведь хотел включить в релиз исключительно фиксы xss…
avatar
Как говорится «хотел, как лучше...» :)
avatar
напишите плиз апдейт в топике какие файло надо перезалить
avatar
c 1.01 на 1.02 все, кроме templates
avatar
вся информация есть в топике
переходим по ссылке и нажимаем «Show Diff Stats»
avatar
мне видимо пригрезилось в комментах, что «недоложили» в релиз что-то
avatar
а где точнее
avatar
Да нормального чейнжлога нет.
Еще желательно конечно около каждого описания перечислять комиты
Но это уже на откуп автору
avatar
MySql Time улучшился в 3 раза, а PHP full time на 15 % на локалке
avatar
Может стоит добавить новость на livestreetcms.com?
avatar
Мне кажется, тот сайт вообще спит.
avatar
Большое спасибо, проблем нет ни каких, перезаписал все файлы, оставил только старые папки плагинов и шаблонов. Install не запускал как писали выше, все работает! переходил с версии 1.0.1
  • Naga
  • 0
avatar
Идеальное обновление! Спасибо!
Перезалил всё, кроме инсталл. Никаких ошибок, ничего плохого не замечено!
avatar
Вносятся ли все эти изменения в LS фреймворк?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.