InstantCMS 2.16.1

4.15K

Всем привет!

Новый релиз, как всегда, внезапно :) На этот раз основной причиной послужили большое количество репортов безопасности. Казалось бы, с чего вдруг ;-) Но не всё так страшно.

Более года назад мы сделали небольшой лендинг для англоязычной аудитории и демо к нему. Через какое-то время туда «налетели» любители потестировать, чему мы, в общем-то, были рады. Демо раз в пол часа автоматически обнулялось, тестеры — тестили. А потом пошли репорты с сайта huntr.dev. Поначалу я даже не понял что за репорты и с чего вдруг кто-то бесплатно решил делиться информацией. Как оказалось, этот сервис сам мотивирует своих пользователей (деньгами и внутренним рейтингом) искать уязвимости в open source продуктах. Мы, разумеется, не против. На текущий момент обработано порядка 30 репортов, из них подтверждённых (и исправленных) около 25. Неплохой результат. Но сильно повода для паники нет. Итак, что конкретно мы исправили:

  • Исправлена Blind SQL Injection в фильтрах датагридов в админке;
  • Исправлена Blind SQL Injection в автозавершении ввода компонента тегов;
  • Исправлена Blind SSRF при загрузке фото по ссылке, переписан класс cmsUploader;
  • Secure flag для Cookie теперь ставится всегда, если в конфигурации сайта указан протокол HTTPS;
  • Исправлены все известные XSS в админке;
  • Исправлена проблема и её последствия, когда подстановкой в url можно было отправить самому себе личное сообщение;
  • Теперь нельзя изменить пароль на тот же;
  • Идентификатор сессии теперь меняется после авторизации/выхода;
  • Администраторы теперь не могут со стороны сайта менять пароли друг другу (в админке эта возможность оставлена, т.к. её можно закрыть по ip адресу);
  • HTML поля в настройках типов контента (описание, наборы, фильтры) теперь сохраняются через типограф;
  • Для строковых полей, если в нём не запрещены HTML теги, значения обрабатываются типографом;
  • Редактор Redactor пропатчен из-за возможной XSS.

Если вы не хотите обновляться или нет такой возможности, то из самого опасного — замените этот файл по пути /system/controllers/tags/actions/autocomplete.php. Тут была слепая SQL инъекция. А также отключите для полей изображений добавление по ссылке. В остальном 90% XSS которые мы закрыли, касались админки и в целом их опасность сильно преувеличена. Однако мы старались давать обратную связь хантерам и закрывать/исправлять всё обнаруженное, тем самым мотивируя их на новые поиски, возможно, более опасных уязвимостей. В целом, считаю это отличный опыт и неплохой результат за 70$ (цена трёх доменов, которые мы купили). Уверен, хантеры продолжат поиски, а мы продолжим исправлять то, что они находят.

Другие изменения

  • Обновление событий в админке теперь исключает выключенные компоненты;
  • Код инвайта теперь сохраняется в Cookie, что по сути является реферальной системой;
  • SEO поля в записях типов конетнта теперь мультиязычные;
  • Корректная обработка ссылок с хэшами (знак решётки) в пунктах меню;
  • Исправлена проблема с ограниченным количеством записей в некоторых разделах админки после обновления до 2.16.0;
  • Для поля «Изображение» добавлены опции «Включить редактор изображений перед загрузкой», которые позволяют обрезать изображение перед загрузкой;
  • Класс Simple PHP YAML обновлён до актуальной версии;
  • Toastr и jQuery обновлены до актуальных версий;
  • Мелкие правки установщика InstantCMS.

Как установить обновление InstantCMS

Важно! Убедитесь, что сейчас вы используете версию 2.16.0, иначе, обновитесь сначала до неё.

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

  • Отключите кеширование в настройках сайта;
  • Отключите объединение js и css в настройках сайта;
  • Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их;
  • При возникновении «белого экрана» категорически читать здесь;
  • Для тех, у кого свой шаблон у нас есть статья как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению.

Если в вашем шаблоне присутствуют JavaScript файлы со своими правками (взяты из /templates/default/js/ или /templates/modern/js/), замените/смержите их из пакета обновления. Не забывайте о сбросе кэша браузера абстрактным счетчиком.

Механизм установки обновлений подробно описан по этой ссылке в документации.

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

Спасибо, что выбираете InstantCMS.

Добра и Мира ☮

P.S. Мне тут подсказали, что сегодня день программиста оказывается, отличное совпадение. Поздравляю всех причастных!

Поддержите проект

Вы можете стать официальным спонсором или оказать другую поддержку. Вы также здорово поможете, если поставите звезду на GitHub.

+1
Михаил Михаил 1 год назад #

хорошая новость на сон грядущий, спасибо за работу

+1
Fuze Fuze 1 год назад #

К вашему дню рождению как раз) Поздравляем!

0
Михаил Михаил 1 год назад #

Благодарю!

+1
dChirkis dChirkis 1 год назад #

Вау, круто. СПАСИБО

+2
oscar oscar 1 год назад #

Вау супер и Вас с праздником, прям супер событие!!! Спасибо!

+3
My-InstantCMS.Ru My-InstantCMS.Ru 1 год назад #

Спасибо за работу Fuze и спасибо тестерам huntr.dev за бесплатный аудит безопасности 👍

0
pupsik pupsik 1 год назад #

А также отключите для полей изображений добавление по ссылке.

Можно поподробней? Желательно для админки которая на Английском

Как это отключить в tinyMCE?

0
Fuze Fuze 1 год назад #

Изображение

Для редактора tinyMCE делать ничего не надо.

0
pupsik pupsik 1 год назад #

Да что мне это мену. Как мне до него добраться? Нашел. В группах.

Components  -> Groups -> Group logo

0
savenkoffcom savenkoffcom 1 год назад #

Спасибо за обновление. Безопасность важнее всего! А не подскажете, случаем, что с обновлением премиум компонентов iVideo и instantMaps. Из-за отсутствия информации о доступности обновлений не могу даже до 2.16.0 обновиться. Слишком много проблем с хуками и отсутствие поддержки новой темы админки сильно напрягает.

0
savenkoffcom savenkoffcom 1 год назад #

Я готов поработать с компонентами для их совместимости с 2.16.0, однако исходный код закрыт. Мне они оба нужны, сильно проблематично отказываться от функционала.

+1
Fuze Fuze 1 год назад #

И InstantVideo и тем более InstantMaps поддерживают давно новую админку. Для InstantVideo нет поддержки 2.16.0 и шаблона modern. Когда я такое обновление сделаю — не знаю. Все файлы шаблонов открыты.

0
savenkoffcom savenkoffcom 1 год назад #

Для InstantVideo много ошибок формата

  1. Notice: Trying to access array offset on value of type null in /system/controllers/video/hooks/grid_admin_content_items.php on line 0

Их исправить самостоятельно невозможно, будем ждать обновления.

Касательно шаблона админки InstantMaps ещё терпимо, но есть над чем поработать.

А вот с InstantVideo совсем плохо, особенно некоторые раздел «Очередь обработки», где вообще ничего невозможно сделать без смены дизайна.

Изображение

Вообщем InstantVideo очень требует обновления. И я надеюсь, у вас будет время его сделать. Спасибо заранее.

0
Александр Александр 1 год назад #
  1. Если вы не хотите обновляться или нет такой возможности, то из самого опасного — замените этот файл по пути /system/controllers/tags/actions/autocomplete.php. Тут была слепая SQL инъекция.

Это и на 2.14 можно сделать?

Спасибо за вашу работу!

0
Fuze Fuze 1 год назад #

Это и на 2.14 можно сделать?

Да

0
Def Def 1 год назад #

Спасибо большое за обновление! на 2.13 подойдет или надо обязательно обновить на 2.14 и далее уже загружать файл?

0
Fuze Fuze 1 год назад #

Просто замените файл, сделав бэкап старого и проверьте автозавершение тегов. Дольше спрашиваете.

0
CEH9I CEH9I 1 год назад #

После обновления перестали сохранятся чекбоксы в настройках доступа полей и вообще в админке и ругается на ошибку

Изображение

+2
CEH9I CEH9I 1 год назад #

В общем ошибка 503 была из-за отключенного ТК. А чекбоксы следствие кривого обновления ранее, был старый файл system/fields/listgroups.php, после замены на свежий все появилось. Проблему помог решить Zau4man, за что ему огромное спасибо. 

0
Yuran Yuran 1 год назад #

Попробовал на локальном обновиться с 2.16.0 через админку, выдало такое:

  1. Fatal error: Uncaught Exception: system/core/configs.php in C:\OSPanel\domains\instant\system\config\autoload.php:53 Stack trace: #0 [internal function]:
  2. autoLoadCoreClass() #1 C:\OSPanel\domains\instant\system\core\config.php(5): spl_autoload_call() #2
  3. C:\OSPanel\domains\instant\system\config\autoload.php(56): include_once('C:\\OSPanel\\doma...') #3 [internal function]: autoLoadCoreClass() #4
  4. C:\OSPanel\domains\instant\bootstrap.php(31): spl_autoload_call() #5 C:\OSPanel\domains\instant\index.php(28): require_once('C:\\OSPanel\\doma...') #6 {main}
  5. thrown in C:\OSPanel\domains\instant\system\config\autoload.php on line 53
  6.  

Ребята, кто нибудь подскажите что это за ошибки… и откуда configs.php...

+1
Fuze Fuze 1 год назад #

configs.php появился ещё в 2.16.0. Почему у вас так, я не могу знать. Вероятно вы решили что файл configs.php лишний и удалили его.

0
Yuran Yuran 1 год назад #

Странно… вроде не удалял… наверное обновил до 2.16.0 криво. Сейчас поставлю чистую 2.16.0 и снова попробую проделать все.

0
Yuran Yuran 1 год назад #

Прошу прощения, обновлял с какой то левой версией с github, а не с чистой 2.16.0 — сейчас все четко обновилось.

0
F_a_R_i_D F_a_R_i_D 1 год назад #

Благодарю за обновление

После обновления нигде не работает кнопка Сохранить

+1
Fuze Fuze 1 год назад #

Не знаю о чём речь, но после обновления везде работает кнопка сохранить.

0
F_a_R_i_D F_a_R_i_D 1 год назад #
0
F_a_R_i_D F_a_R_i_D 1 год назад #

В админке не могу сохранить изменения. Кнопка Сохранить не работает. Не реагирует.

+1
Zau4man Zau4man 1 год назад #

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

Поэтому кнопка не нажимается, ожидая заполнения обязательных полей 

0
F_a_R_i_D F_a_R_i_D 1 год назад #

Благодарю. Так и есть. Вспомнил, что такая проблема была у меня. Я удалил папку EN, при обновлении папка опять загрузилась в директорию languages, а строки EN в настройках остались пустыми, поэтому не сохранялся.

0
Abobo Abobo 1 год назад #

Супер, спасибо. А исправлено жуткого подвисания страниц на сайтах с большими базами? Если, к примеру 100k записей, то вся пагинация, да и главная  пролистывается с задержкой до 4-6 сек. Я уже год ищу, консультируюсь и не могу решить эту проблему. То что у меня что-то неправильно настроено, ответ хороший. Но у меня мощный дорогой сервер и не самые глупые специалисты. И все как один заявляю мол это особенность движка. Неплохая такая особенность :)  Записи заливались на чистую систему без всяких дополнений и если при 10k записей все в летает, то при 100k записей все лагает… Размер базы не превышает 200MB.  А так спасибо большое за Ваши труды.

+2
Loadырь Loadырь 1 год назад #

Вот тут prefitchi.ru/hotels 170к записей легко справляются с вашей «особенностью» движка. При этом второй из самых дешовых хостинг на бегете и без поддержки их специалистов.

0
Fuze Fuze 1 год назад #

Размер базы не превышает 200MB.

На этом сайте вся база 1Гб. 300К личных сообщений, 300К постов на форуме, 75К комментариев. Я к тому, что размер базы в вашем случае мизерный. Более того, любой специалист, кто мало мальски соображает, учитывая что у вас мощный и дорогой сервер, затюнит MySQL и/или добавит недостающие индексы. Да эту базу можно вообще всю в память выкинуть, я не могу знать что у вас тормозит и почему. По кол-ву записей в ТК: у меня есть проект с 520К записей и всё работает быстро. Описанное вами точно не «особенность движка».

0
Loadырь Loadырь 1 год назад #

Хотя всё таки предположу, что если поставить некоторые сторонние дополнения авторы, которых их забросили и которые в списках к каждой записи генерируют по три запроса к базе данных, которые дублируются в каждой записи их этого списка, то да, база устанет их обрабатывать.

Выглядит это как-то так

Изображение

из них 117 генерирует одно поле в 39 записях списка.

0
Alex Burr Alex Burr 1 год назад #

Подскажите! Проблема после обновления. Не загружаются файлыИзображение

0
Alex Burr Alex Burr 11 месяцев назад #

Проблема так и не решилась?

0
Fuze Fuze 11 месяцев назад #

Начиная с этой версии тип файла определяется по его сигнатуре. Также убедитесь, что в файле system/config/mimetypes.php есть нужные тип и расширение.

0
boom boom 8 месяцев назад #

docx перестал грузиться

0
DeusSpa DeusSpa 1 год назад #

Хорошее обновление,

Раз песня зашла про типограф и обработку полей типографом.

Есть ли возможность при установке галки «Обрабатывать типографом» вывести поле или значения, список… какие значения обрабатывать?

То есть отображаем, что сейчас разрешено например: <iframe </iframe>  и  дописываем чего нет — для специфичных проектов. Элементарно нет по умолчанию вставки видео с инстаграма например.

Получается надо нырять в файл и проставлять (прописывать разрешения (расширения там)).

+2
Zau4man Zau4man 1 год назад #

Про улучшение работы типографа разговоры ведутся давно github.com/instantsoft/icms2/issues/923

Видимо, надо делать свой компонент. Но пока по коду непонятно, как и свои теги отловить, и типографу не помешать.

Без типографа текст автоматически становится небезопасным, и оставлять поле без типографа можно только в том случае, когда в него пишут только доверенные лица.

0
F_a_R_i_D F_a_R_i_D 1 год назад #

Здравствуйте.

Текст вопроса:


Имеется фрагмент кода:

  1. $url = 'https://img.milli.az/2023/09/19/1144203.png';
  2. $uploader = $this->cms_uploader;
  3. $result = $uploader->enableRemoteUpload()->upload($url);
  4. dump(array('url' => $url, 'result' => $result));

На 2.16.0 все работает. На 2.16.1 имеем вот такой результат:

  1. (
  2. [url] => https://img.milli.az/2023/09/19/1144203.png
  3. [result] => Array
  4. (
  5. [error] => Файл имеет неподходящий формат. Допустимые типы файлов:
  6. [success] =>
  7. [name] => 1144203september.png
  8. )
  9.  
  10. )


Откуда растут ноги?

+1
Fuze Fuze 1 год назад #
  1. $this->cms_uploader->setAllowedMime(['image/png']);
0
F_a_R_i_D F_a_R_i_D 1 год назад #

Благодарю за ответ.

А что делать если я заранее не знаю тип файла? Я ошибаюсь или в файле system/core/uploadfile.php строки


        // Пускаем любые, если не указано
        if ($this->allowed_mime === null) {
            return true;
        }


должны работать, но не работают?

0
Loadырь Loadырь 1 год назад #

А что делать если я заранее не знаю тип файла? 

Здесь вы указываете какие типы файлов пользователю разрешено будет загружать, а не те какие он хочет загружать.

+2
RSN RSN 1 год назад #

Донат отправлен. Fuze, спасибо за то что не забываете развивать систему.

Как оказалось, этот сервис сам мотивирует своих пользователей (деньгами и внутренним рейтингом) искать уязвимости в open source продуктах. Мы, разумеется, не против.

Хорошая новость, мы тоже «за»)) Обновление прошло без проблем.

0
Fuze Fuze 1 год назад #

Спасибо!

0
AtlantisWeb AtlantisWeb 1 год назад #

Tinymce загрузка файлов не работает в опере(Версия:95.0.4635.84 Версия Chromium:109.0.5414.120), в консоли выдает ошибку:

  1. Uncaught SyntaxError: Unexpected end of JSON input
  2. at JSON.parse (<anonymous>)
  3. at HTMLIFrameElement.<anonymous> (plugin.min.js:1:1156)
  4. at HTMLIFrameElement.dispatch (jquery.js?1679324112:3:12444)
  5. at r.handle (jquery.js?1679324112:3:9173)
  6.  

В гуглхроме, таже ошибка в консоли, но при этом появляется окно загрузки файла и сам файл загружается.

0
Fuze Fuze 1 год назад #

Без каких-либо подробностей, скриншотов (например ответа от url загрузки файла в консоли браузер) и другой вспомогательной информации мне сложно что-то сказать.

+1
AtlantisWeb AtlantisWeb 1 год назад #

Установил инстант 2.16.1, в найстройках редактора по умолчанию(Tinymce) включил плагин «icmsinsertfile» выставил нужные расширения файлов для требуемых групп.

Браузер опера, винда 10х64

в демоновости, выбираем создать ссылку и кликаем по иконке загрузки файла Изображение
после выбора нужного файла он не загружается и в консоли выдает ошибку 
  1. VM235:1 Uncaught SyntaxError: Unexpected token ':', ":root [hre"... is not valid JSON
  2. at JSON.parse (<anonymous>)
  3. at HTMLIFrameElement.<anonymous> (plugin.min.js:1:1156)
  4. at HTMLIFrameElement.dispatch (jquery.js?1696331247:2:40035)
  5. at v.handle (jquery.js?1696331247:2:38006)

Браузер хром, винда 10х64

в демоновости, выбираем создать ссылку и кликаем по иконке загрузки файла

Изображение

далее видим, в консоли браузера ошибку

  1. Uncaught SyntaxError: Unexpected end of JSON input
  2. at JSON.parse (<anonymous>)
  3. at HTMLIFrameElement.<anonymous> (plugin.min.js:1:1156)
  4. at HTMLIFrameElement.dispatch (jquery.js?1696331247:2:40035)
  5. at v.handle (jquery.js?1696331247:2:38006)

и окно ошибки редактора «Upload error»

Изображение

при этом файл можно выбрать, он загрузится и ссылка на него работает.

+2
Fuze Fuze 1 год назад #

Теперь понятно. Исправим. Плагин был сделан наспех, в нём есть и другие ошибки.

0
Region67 Region67 1 год назад #

Столкнулся с такой проблемой:

Создаю поле местоположение  страна — country, вывожу его с фильтре.

В списке контента выбираю фильтрацию по другим полям, поле страна не трогаю, но оно автоматически попадает в фильтрацию со значением =0 (в урл country =0)

0
Region67 Region67 1 год назад #

Заметил,  что данная проблема стала наблюдаться с версии 2.16.0

0
Fuze Fuze 1 год назад #

Откройте файл /system/fields/city.php и строку

  1. ['0' => '']

Заменить на

  1. ['' => '']
0
Region67 Region67 1 год назад #

Отредактировал строки, автоматически страну в фильтр не добавляет. Но теперь, если выбрать только страну, то добавляет регион со значением = 0 и записи соответственно не находит 

0
Fuze Fuze 1 год назад #

Здесь также замените '0' на ''

0
Region67 Region67 1 год назад #

Спасибо огромное!!!👍

0
MixanM MixanM 1 год назад #

Есть досадный баг — если установить чистый InstantCMS, и сразу накатить обновление — то потом не не импортирует схему(*.yaml)  в виджетах  и выдает ошибку: «неверный формат файла» 

+1
Nikolay Nikolay 1 год назад #

Этот вопрос не давно обсуждали на форуме, есть решение от Zau4man.

0
MixanM MixanM 1 год назад #

Спасибо

0
ALASTAR ALASTAR 1 год назад #

Скажите после установки какие должны быть права на папки и файлы? Меня интересует права 777 на папки и файлы 666, где они должны быть установлены

0
ALASTAR ALASTAR 1 год назад #

Там на время установки.  А после?

+1
Fuze Fuze 1 год назад #

Прочитайте внимательно. Ответ на ваш вопрос в инструкции по установке по ссылке выше.

На время установки движка так же должна быть доступна для записи (права 777) директория /system/config/

Это единственное предложении во всей инструкции про права на время установки.

0
ALASTAR ALASTAR 1 год назад #

С этим понятно.  А после установки cache и upload должны стоять 777? И ещё на счёт этого файла theme_modern.yml если 666 на него не установлен то изменения в теме не возможно произвести 

0
Scythian Scythian 1 год назад #

На время установки права на файлы и папки, должны быть 777. Потом меняете папки на 755, файлы на 644. Папки — кэш и загрузки оставляете 777, только в них файлы Хтаццес поменяйте на 644.

Def Def 1 год назад #
Комментарий удален
Def Def 1 год назад #
Комментарий удален
0
Quzar Quzar 1 год назад #

Здравствуйте!

Инфо не нашел.

На 2.16.1, чистая, при включенной отладке и создании поля такая ошибка, но поле создается.

Notice: Undefined index: title in /system/traits/controllers/actions/formFieldItem.php on line 224

Warning: Cannot modify header information — headers already sent by (output started at /system/traits/controllers/actions/formFieldItem.php:224) in /system/core/controller.php on line 1091

Подскажите, где что поправить

0
Scythian Scythian 1 год назад #

Наверное, лучше вопрос на форме задайте, откройте новую тему.

0
maxisoft maxisoft 1 год назад #

Поправить не получиться это нужно разработчикам сделать проверку на наличие индекса в массиве в скрипте. Это не ошибка если что, а просто предупреждение что происходит обращение к элементу массива которого нет.

0
Quzar Quzar 1 год назад #

Благодарю за ответ!

сделать проверку на наличие индекса в массиве в скрипте

То есть самостоятельно сделать эту проверку не выйдет?

0
maxisoft maxisoft 1 год назад #

можно и самому исправить.

0
Quzar Quzar 1 год назад #

ок, как это исправить?

+1
Fuze Fuze 1 год назад #

Замените в этом файле

  1. cmsUser::addSessionMessage(sprintf(LANG_CP_FIELD_CREATED, $field['title']), 'success');

на

  1. cmsUser::addSessionMessage(sprintf(LANG_CP_FIELD_CREATED, $_field['title']), 'success');
0
Quzar Quzar 1 год назад #

Благодарю!

0
decoy decoy 1 год назад #

Пытаюсь запустить задачи системной очереди через планировщик

Изображение

Notice: Undefined offset: 6258 in /home/d/decoy/sr52.info/public_html/system/core/queue.php on line 122 Notice: Trying to access array offset on value of type null in /home/d/decoy/sr52.info/public_html/system/core/queue.php on line 180 Warning: Cannot modify header information — headers already sent by (output started at /home/d/decoy/sr52.info/public_html/system/core/queue.php:122) in /home/d/decoy/sr52.info/public_html/system/core/controller.php on line 1091

или такое

Изображение

0
AtlantisWeb AtlantisWeb 11 месяцев назад #

Не знаю с какой версии пошло но заметил на этой.

Раньше(например на 2,14,1) «session_id()» была един как для авторизованного пользователя так и для гостя. И привязавшись к нему можно было например гостю сделать добавление товаров в корзину и после авторизации подгружать их же т.к. сессия была едина, а сейчас при авторизации и разлогивании «session_id()» принудительно обновляется каждый раз и данная фишка уже не прокатит. 

В сессиях нашел «csrf_token» он вроде как не реагирует на действия авторизации и думаю править свой код под него вместо «session_id()». Планируется ли в последующих релизах что то делать с параметром сессии «csrf_token» и лучше переписать код под куки вместо сессий?

+1
Loadырь Loadырь 11 месяцев назад #

Это точно случилось на 2.16.0/1 и связано с безопасностью сайта.

csrf_token предназначен для проверки «гуляющих» на сайте данных. Его для сбора товаров в корзине однозначно нельзя использовать. Разве что проверять, что корзина принадлежит вашему сайту. Поэтому для таких случаев лучше использовать свою куку или свои данные в сессии, если есть ограничения по времени работы с корзиной.

0
Kuper Kuper 10 месяцев назад #

Warning: Use of undefined constant LANG_PARSER_IMAGE_ALLOW_IMAGE_CROPPER — assumed 'LANG_PARSER_IMAGE_ALLOW_IMAGE_CROPPER' (this will throw an Error in a future version of PHP) in .ru/public_html/system/fields/image.php on line 59

Warning: Use of undefined constant LANG_PARSER_IMAGE_IMAGE_CROPPER_ROUNDED — assumed 'LANG_PARSER_IMAGE_IMAGE_CROPPER_ROUNDED' (this will throw an Error in a future version of PHP) in ru/public_html/system/fields/image.php on line 62

Warning: Use of undefined constant LANG_PARSER_IMAGE_IMAGE_CROPPER_RATIO — assumed 'LANG_PARSER_IMAGE_IMAGE_CROPPER_RATIO' (this will throw an Error in a future version of PHP) in .ru/public_html/system/fields/image.php on line 66

Warning: Use of undefined constant LANG_PARSER_IMAGE_IMAGE_CROPPER_RATIO_HINT — assumed 'LANG_PARSER_IMAGE_IMAGE_CROPPER_RATIO_HINT' (this will throw an Error in a future version of PHP) in ru/public_html/system/fields/image.php on line 67

+1
Zau4man Zau4man 10 месяцев назад #

Обновление прошло некрорректно. Константы объявлены в файле /system/languages/ru/language.php github.com/instantsoft/icms2/blob/1d9205baa9e944c5a614b57263f53c071ddea1ab/system/languages/ru/language.php#L209

который загружается при любом обращении к сайту

Судя по ошибке, у вас файл не обновлен.

0
Kuper Kuper 10 месяцев назад #

Вопрос или предложение, не знаю, 

Странная система приватности на сайте

Нельзя настроить доступ для контента только для зареганых

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

Настройки доступа для добавления есть, а для просмотра нет 

Настройки прав групп тож самое, Просмотр чужих приватных записей есть, а запретить просмотр группе вообще нельзя

Запрет просмотра списка так а толку в ленте жмакнул и перешел

Настройки группы для не зареганых вообще нет

В альбомах всем, друзьям или по ссылке, но для каждой отдельной картинки, а почему не для альбома? а допустим зареган/нет или конкретному юзеру?

Группы, так же или все или только группа

То есть по факту если хочешь закрыть какие то разделы сайта то это не получится

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.