InstantCMS 2.17.0

3.04K

Всем привет!

Как всегда, перед новым годом, мы выпускаем очередной релиз. В нём очень много «невидимых» обывателю правок, например рефакторинг кода, исправление небольших архитектурных изъянов (которые не ломают обратную совместимость), документирование кода. Но и нового функционала мы, конечно же, добавили.

Новый компонент Content Security Policy

Компонент реализует добавление HTTP заголовков CSP ко всем ответам InstantCMS. Content Security Policy — это механизм обеспечения безопасности, с помощью которого можно защищаться от атак с внедрением контента, например, межсайтового скриптинга (XSS, cross site scripting). CSP описывает безопасные источники загрузки ресурсов, устанавливает правила использования встроенных стилей, скриптов, а также динамической оценки JavaScript — например, с помощью eval. Загрузка с ресурсов, не входящих в «белый список», блокируется.

Помимо внедрения самого компонента, мы сделали очень много полезных правок: избавились везде от инлайн вызовов JavaScript, например от onclick. В админке все JavaScript вызываются согласно архитектуре. Иными словами, мы добились отсутствия нотисов CSP при максимально включенном режиме. Для script тегов добавлен везде атрибут nonce. По умолчанию CSP HTTP заголовки выключены, мы рекомендуем включать с осторожностью, тестируя в режиме «Только отчёты». Более подробнее описано в документации.

Кастомизация установочного архива InstantCMS

Я уже писал в посте тестирования RC версии, повторюсь кратко. 

Начиная с этого релиза вы можете делать свои сборки. В комплекте установщика теперь есть скрипт для кастомной сборки, InstantCMS можно установить без 16 компонентов, что бывает полезно для некоторых разработок. Но это ещё не всё. Вы можете добавлять любое бесплатное дополнение из нашего каталога в сборку, всё так же, используя скрипт.

Для тех кто не хочет использовать скрипт мы сделали отдельную страницу генерации сборок на этом сайте. Она всегда на основе последней версии InstantCMS. В выбор сторонних дополнений в форме мы добавляем сами, помечая проверенные. Сторонние дополнения для сборок будут пополняться. Некоторые дополнения мы добавим сами, на своё усмотрение. Механизм модерации для включения дополнений в этот список мы добавим чуть позже.

Остальные изменения

  • Исправлен баг с набором «Участие в группах» компонента «Группы»;
  • Исправлен баг с опцией сортировки полей-списков;
  • Управление MIME-типами в админке. Все проблемы с ними решены;
  • Исправлен баг со сменой языка при ремапе;
  • В компонент подписок добавлены опции «Показывать кнопку подписки в списке», «Показывать кнопку подписки в фильтре» и управление позицией показа кнопки;
  • Убрана опция «Добавлять номера страниц в тег title при пагинации», вместо неё можно использовать выражение {page} в паттернах;
  • Mobile Detect 3.74.3;
  • ScssPhp 1.13.0;
  • TinyMCE 7.6.0 + исправлены баги;
  • Редактор Ace обновлён до версии 1.36.5;
  • jQuery UI, CroppeJS, jquery.inputmask, VueJS актуальных версий;
  • Минимальная версия для InstantCMS теперь PHP: 7.2.0;
  • Вместо cmsUser::goLogin() используйте теперь $this->redirectToLogin() в контроллерах;
  • Исправлена XSS в exif параметрах;
  • Для механизма кэширования добавлены методы pause() и resume(), таким образом в своих дополнениях вы можете это использовать, если будет необходимо;
  • Для ячеек гридов добавлено свойство class_handler, где вы можете назначить функцию обработчик значения для CSS класса;
  • Переработан класс cmsUploader;
  • В обёртки виджетов теперь передаются полные данные виджета, в своих виджетах вы можете переопределять метод createPositionData();
  • Исправлена проблема, когда в админке невозможно было удалить категории;
  • Вкладки профилей с опцией «показывать только владельцу профиля», показываются суперадминам тоже;
  • Добавлена возможность динамически менять атрибуты тега <html> лайоута шаблона;
  • Автоматический механизм Last-Modified — IF_MODIFIED_SINCE, достаточно установить заголовок Last-Modified;
  • Исправлена работа поля «Категории контента»;
  • Автоспойлер для больших описаний фотографий в фотоальбомах;
  • Добавлен опциональный показ кол-ва записей в категориях ТК;
  • В опцию «Тип вывода» в связях добавлен пункт «Список в поле»;
  • Добавлена поддержка отрицательных масок для конкретного виджета;
  • Новый класс cmsResponse для работы с HTTP ответом, функция header теперь не вызывается нигде в коде напрямую, для установки хедеров используйте в контроллерах $this->cms_core->response->setHeader('name', 'value');
  • Класс cmsRequest дополнен для работы с HTTP заголовками запроса, с массивом $_SERVER и методом HTTP запроса;
  • Опции полей свойств, опции валидации для свойств, фильтры для свойств в админке, поддержка разных файлов email писем об успешной модерации для типов контента;
  • События от пользователей, помеченных как удалённые, теперь не выводятся в ленте активности;
  • Исправлена ошибка в быстром подборе масок;
  • Добавлены хуки: content_category_before_delete, users_profile_before_update_notices;
  • Добавлен трейт fieldsParseable для единой обработки полей в ТК, профилях и группах;
  • Исправлена фильтрация по скрытым родителям записей ТК;
  • Добавлена мультиязычность для кнопки виджета «All news by the author»;
  • Исправлено отсутствие языковой константы в уведомлении об оценке материала;
  • Тег video теперь может быть пустым в типографе;
  • Исправлены некоторые проблемы при работе на Windows-системах;
  • Добавлено отображение имени файла в email-письме при отправке формы конструктора форм;
  • В трейте formItem теперь можно использовать свойства submit_title, use_default_tool_buttons, json_callback. Трейт имеет режим копирования записи;
  • Исправлена работа некоторых WYSIWYG-редакторов в комментариях и на стенах в Firefox;
  • В поле «список изображений» добавлен CSS для блока загрузки DnD;
  • Опция placeholder для редактора Tiny;
  • Для забытых разделов админки добавлен csrf_token;
  • Почти вся админка приведена к единому набору иконок;
  • Экспериментальная поддержка прав доступа для разделов админки (управление не реализовано, только через БД);
  • Единый CSS класс icms-click-select для инпутов, которые должны по клику выделять свой текст;
  • Токены через random_bytes;
  • Метод $request->getContent() для получения php://input;
  • Вкладка формы с полем ошибки HTML валидации теперь становится автоматически активной;
  • В манифестах установочных пакетов добавлена возможность указывать минимальную версию PHP и зависимость от модулей PHP, включая номера версий;
  • Добавлен метод getMetaHandled в cmsTemplate. Он отдаёт текущие мета параметры;
  • Добавлены опции CSS классов для полей в записи и в списке;
  • Поддержка виртуальных полей в группах, профилях и виджетах;
  • Исправлено отсутствие расширения файла во вложениях из конструктора форм;
  • Исправлена работа уведомления в модальном окне конструктора форм;
  • Магия с cms_users/model_content и т.п. вынесена в трейт и доступна теперь в том числе и в виджетах;
  • Полное наследование в SCSS для дочерних шаблонов, включая внутренний импорт. Zau4man упомянул об этом в своём блоге;
  • CSS класс для ссылок icms-action-confirm, наличие которого вместе с атрибутом data-confirm делает переход по ссылке с автоматическим подтверждением;
  • Добавлены описания для тегов;
  • Аватарка в админке в меню ограничена в размерах;
  • Для поля связей «Родитель» добавлена опция вывода только в глубиномере;
  • В разделе виджеты и страницы админки добавлен показ подсказки на фантомном виджете с названием страницы, к которой он привязан;
  • Добавлен механизм смены автора записи ТК;
  • Увеличено кол-во символов для полей SEO;
  • Добавлен hookAfterUpdate для полей свойств;
  • Исправлена ошибка с валидацией параметров подписок для гостей;
  • Добавлен шаблон вывода виджета списка записей для ТК фотоальбомы;
  • В админке в списке комментариев добавлена фильтрация по ТК и вывод имени комментируемой записи;
  • Исправлено формирования SEO паттернов компонентов при включенной мультиязычности;
  • Для TinyMCE добавлены опции «Блочный элемент» (вместо Перевод каретки) и «Поведение новой строки»;
  • Для комментариев добавлена опция «Скрывать комментарии удалённых пользователей»;
  • Добавлена поддержка мультиязычности для связки Запись ТК -> Группа;
  • Убран вызов mysqli->ping() как устаревший и неработающий с php8.2;
  • PHPMailer 6.9.3;
  • Корректная версия SQL сервера в разделе «Информация о системе»;
  • Поддержка переменной окружения ICMS_CONFIG_DIR для пути к директории конфигураций;
  • Всё, что лежит в system/config/ теперь можно выносить за корневую директорию;
  • Поддержка массового удаления пользователей в админке;
  • При удалении виджетов теперь вызывается методы полей $field>delete();
  • Классы google_authenticator и idna_convert теперь совместимы с php8.3+;
  • Новый класс cmsAutoloader и механизмы автозагрузки;
  • Поддержка английского языка для каталога дополнений в админке;
  • В компоненте «Авторизация и Регистрация» а также в поле «Защита от спама» добавлена опция выбора конкретной капчи;
  • Опция «Показывать капчу после неудачной авторизации» переименована в «Показывать капчу при авторизации», т.е. при включении её, капча будет всегда;
  • Переписан механизм установки пакетов дополнений, добавлен класс cmsInstaller для работы с ними;
  • Исправлен баг с utf8_general_ci;
  • Добавлены фильтры по пользователям для массовой рассылки сообщений;
  • Очень много задокументированного кода;
  • Много рефакторинга и исправление мелких ошибок.

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

Дальнейшие планы

Помимо всего прочего, в ближайшее время в комплекте InstantCMS появится Биллинг. Бесплатно. Открыто. r2 передал биллинг мне и было решено интегрировать его в комплект InstantCMS. От этого выиграют все, даже те, кто его покупал, поскольку будет поддержка уже в контексте полной сборки InstantCMS. И да, кому он не нужен, всегда смогут собрать дистрибутив без него, см. выше про сборки. r2 передавал всем поздравления с новым годом вот таким подарком. Надеюсь этот жест будет понят правильно.

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

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

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

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

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

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

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

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

Отключите сторонние компоненты капчи и показ капчи при авторизации, так как для работы в 2.17.0 нужны незначительно доработки со стороны их авторов. Например для smCaptcha требуется сделать примерно так.

system/controllers/groups/actions/group_closed.php
system/libs/phpmailer/language/phpmailer.lang-am.php
system/libs/phpmailer/language/phpmailer.lang-ch.php
system/libs/phpmailer/language/phpmailer.lang-rs.php
system/libs/phpmailer/class.phpmailer.php
system/libs/phpmailer/class.pop3.php
system/libs/phpmailer/class.smtp.php
system/libs/scssphp/scss.inc.php
templates/default/controllers/groups/group_closed.tpl.php
templates/modern/controllers/groups/group_closed.tpl.php

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

С наступающим новым годом! Спасибо за сообщения об ошибках. Спасибо, что выбираете InstantCMS.

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

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

+3
dChirkis dChirkis 1 месяц назад #

Ура товарищи.
Спасибо разработчиику

+2
DeeMon DeeMon 1 месяц назад #

Планы интересные. Биллингом от r2 пользуюсь.

+2
Бичукин Андрей Бичукин Андрей 1 месяц назад #

Просто замечательно!
Спасибо огромное за ваш труд.
Владимиру за Биллинг большая благодарность. Было бы неплохо ещё и с конструктором сайтов вопрос как-то решить. До сих пор купил и пользуюсь, а сайты эти уже обновить не могу, т.к. выше 2.16 конструктор уже не работает.
С Новым Годом всех!)

0
fincheck fincheck 1 месяц назад #

По этому моменту наверно складчиной мотивировать нужно. Так как на одном энтузиазме да ещё и в одно лицо будет это не скоро. А вот то, что будет уверен. Возможно не в данном исполнении, но всё же.

Не сочтите за наглость и ни в коем случае за понты, но моё сугубо пользовательское мнение и я где-то на форуме уже озвучивал данное, что Биллинг(коммерция — для бесплатной cms ой как важно) и Конструктор сайтов, а за одно и Инстайлер) раз такая масть пошла)) должны быть в «коробке». А теперь уж с кастомизацией тем более, нужно кому пожалуйста ставьте. Это же привлечёт больше новых пользователей, которые в коде не в зуб ногой. Тем более сейчас с относительно стандартизированным шаблонам благодаря bootstrap, вроде как это должно облегчить дальнейшее обновление данных компонентов

+2
DeeMon DeeMon 1 месяц назад #

Инстайлер вроде работает на последних версиях, я пока проблем не замечал.

+1
Abobo Abobo 1 месяц назад #

Спасибо большое, отличная новость! Поддержка биллинга тоже порадовала.

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

Отличная новость, долгожданный релиз.

Проделан огромный объем работы. Система стала ещё лучше.

Спасибо Fuze и всем, кто тестировал релиз-кандидат.

+2
Artem Artem 1 месяц назад #

Спасибо Вам и удачи в развитии сайтов на InstantCMS всем нам! С Наступающими!

+1
Happy Happy 1 месяц назад #

Вау, спасибо парни!!! С биллингом это вы круто решили.

0
Голдман Сакс Голдман Сакс 1 месяц назад #

Спасибо! Шикарное обновление.

Надо бы проверить на совместимость с InstantMaps. Или тоже в коробку? :)

+1
Fuze Fuze 1 месяц назад #

Или тоже в коробку? :)

Я так и подумал, что сказку про золотую рыбку не все читали ;-) Ограничимся Биллингом.

0
pupsik pupsik 1 месяц назад #

А что это за биллинг? Магазин какой то?

+3
Fuze Fuze 1 месяц назад #

Синенькое в тексте — это ссылки :)

instantcms.ru/addons/billing2.html

0
pupsik pupsik 1 месяц назад #

Нет, это добро не надо(мне лично). Поддержки Американских сервисов не видно. Ну и ладно с ним.

0
pupsik pupsik 1 месяц назад #

Дак я еще не читал текс полностью. Бакапы делаю еще :) Не спеша… Извините за тупой вопрос.

+1
Голдман Сакс Голдман Сакс 1 месяц назад #

Да при чем тут рыбка? InstantMaps давно куплен. И не один. Поэтому о подарках речи нет.

Речь о выживаемости сайта, на котором установлен InstantMaps.

То же касается и InstantVideo. 😉

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

Поэтому о подарках речи нет.

Есть. Контекст совершенно другой. Мне чужие компоненты на баланс поддержки — сомнительное удовольствие. Ни и каком InstantMaps, конструкторах тем речи быть не может. Во всяком случае я их поддерживать не планирую.

0
Голдман Сакс Голдман Сакс 1 месяц назад #

Почему чужие? Это официальные компоненты.

Тем не менее, спасибо за труд! С Наступающим!

0
fincheck fincheck 1 месяц назад #

Спасибо, отличные новости. 

0
Happy Happy 1 месяц назад #

В одной из тем на форуме мне ответили что бы в профиле выводились поля через виджет вывода полей, нужны виртуальные поля которые будут в релизе. То есть этот виджет теперь работает в профилях? 

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

Не очень понял про какой вы виджет, но полагаю, что да. Поддержка виртуальных полей в профиле теперь полноценная.

0
fincheck fincheck 1 месяц назад #

А что за виртуальные поля, в документации есть про это или где почитать?

+1
Fuze Fuze 1 месяц назад #

Это поля, которые не создают ячеек в базе данных. Например поле навигации. В классе поля для таких полей есть свойство:

  1. public $is_virtual = true;

docs.instantcms.ru/dev/forms/field-file

+4
Ruden Ruden 1 месяц назад #

Спасибо большое Fuze, я считаю что Вы один из самых крутых разработчиков, кого я вообще встречал! Хотелось бы что бы R2 когда нибудь вернулся к Вам в команду! С наступающим Новым Годом Вас и R2 и всю Вашу команду ! 

+2
Pro AV Pro AV 1 месяц назад #

Отлично, биллинг в коробке это Маст-хэв.

0
pupsik pupsik 1 месяц назад #

Хорошая новость, Спасибо. Надо морально подготовится, бакапы сделать и в путь к обновлению.

Я смотрю в этом обновлении никаких файлов удалять не надо?

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

Я смотрю в этом обновлении никаких файлов удалять не надо?

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

0
pupsik pupsik 1 месяц назад #

Да, но и лишнего нам не надо :). Спасибо.

+2
kalikimaka kalikimaka 1 месяц назад #

Спасибо

пожертвование отправил

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

Спасибо!

+1
Endroid Endroid 1 месяц назад #

Спасибо за ваш труд и всего сообщества! Много интересного и важного!

Билинг и Складчины — это очень прям СУПЕР! и уверен придаст развитие движку

+1
Нил™ Нил™ 1 месяц назад #

Круто! Я устал читать список изменений. Не представляю, сколько времени и сил требуется, чтобы во всем этом наборе функционала разобраться и тем более, чтобы всё это сделать. r2 тоже привет, тксзть.

0
pupsik pupsik 1 месяц назад #

Для тех кто не хочет использовать скрипт мы сделали отдельную страницу генерации сборок

Вот это, очень дельная весч. Очень.

0
pupsik pupsik 1 месяц назад #

Количество тем в категории не выводит. Шаблон скопировал с модерн для проверки, опцию в категориях включил.

0
pupsik pupsik 1 месяц назад #

Работает. Пардон 

Очень много файлов изменено в Модерн. Сложно найти что изменено, если свой шаблон. Ладно там 5-10 файлов а тут, почти весь шаблон надо смотреть.

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

WinMerge в помощь

Изображение
0
pupsik pupsik 1 месяц назад #

А как пересчитать счетчик количества тем в категории. Показывает сколько, но не правильно. Наверно читает удаленные темы.

0
F_a_R_i_D F_a_R_i_D 1 месяц назад #

Благодарю за обновление! Очень много работы проделано.

У кого шаблон Blogger, как прошло обновление? У меня пока нету возможности обновиться)

С наступающим заранее поздравляю всех!

+1
rshabalin rshabalin 1 месяц назад #

Постараюсь вечерком обновить !

+1
rshabalin rshabalin 1 месяц назад #

Два сайта на blogger обновил ( Не упали ) визуализация вроде в норме 

+1
RSN RSN 1 месяц назад #

Спасибо за развитие системы. Донат отправил. Обновление очень крутое). Отдельное спасибо за решение по Биллингу. 

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

Спасибо!

0
Anonimus45 Anonimus45 1 месяц назад #

А биллинг уже есть в этой версий? или только ждать

+1
Fuze Fuze 1 месяц назад #

Перечитайте текст новости. Там всё написано однозначно.

+1
iton iton 1 месяц назад #

Спасибо за обновление! 👍

+1
Александр Александр 1 месяц назад #

С наступающим всех, по моему instantcms как хорошее вино с годами становиться только лучше благодаря Fuze и другим не равнодушным людям.

Биллинг изумителен в своей простоте и нужности, совсем чуть чуть добавить недостающих функций и будет чудо, надеюсь теперь с открытым исходным кодом?! он наконец получит второе дыхание!

+1
Антон Антон 1 месяц назад #

Супер! Вордпресс отдыхает! Всех с наступающими!

0
482 482 1 месяц назад #

Как-то странно получилось. В описании релиза написано, что Минимальная версия для InstantCMS теперь PHP: 7.2.0, а я обновил один сайт с уверенностью, что там тоже PHP: 7.2.0, но когда решил перепроверить, оказалось PHP: 7.0.33, litespeed
Сайт вроде работает без проблем, по крайней мере серьёзных проблем не обнаружил. Единственное что заметил, стили заданные через Инстайлер не исполняются, когда он не запущен. При запуске Инстайлера всё исполняется.

+2
Fuze Fuze 1 месяц назад #

Когда я повышал версию, была нужна одна правка, потом от неё отказался, при этом уже везде указал 7.2.0. В целом должно работать, но отталкиваться мы будем от 7.2.0 версии, повышая постепенно, чтобы все успели без потерь обновиться. Всё же в новых версиях PHP завезли много удобств и упрощений.

+1
Happy Happy 1 месяц назад #

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

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

github.com/instantsoft/icms2/blob/master/templates/modern/scss/controllers/messages/_messages.scss

Исправил. Можете забрать и перекомпилировать.

0
RSN RSN 1 месяц назад #

Пробую обновится...

У одного старого виджета слайдера вот такой нотис:

Изображение

php 7.4

Не подскажете, как исправить?

0
RSN RSN 1 месяц назад #

ЗЫ: так понимаю, какая то кнопка на этом месте хочет появится, но не появляется, по инструменту разработчика видно ссылку на этом месте...

Изображение

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

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

Что за виджет, что за настройки? Что в 10й строке указанного вами файла с нотисом? Архив обновления до 2.17.0 когда скачен был?

0
RSN RSN 1 месяц назад #

Что за виджет, что за настройки? 

Виджет не системный, слайдер контента, у которого есть кнопка «Обновить» в шапке виджета, а рядом после обновления, пытается появится ещё одна кнопка (см. фото выше).

В настройках выбрано так:

Изображение

Что в 10й строке указанного вами файла с нотисом?

Файл системный \templates\modern\widgets\wrapper.tpl.php, в указанной строке:

  1. <a class="btn btn-outline-info btn-sm" href="<?php html((strpos($link['value'], 'http') === 0) ? $link['value'] : href_to($link['value'])); ?>">
  2. <?php html($link['id']); ?>
  3. </a>

Архив обновления до 2.17.0 когда скачен был?

Сегодня скачал… в часов 10 мск....

ЗЫ: сравнил файлы  \templates\modern\widgets\wrapper.tpl.php от 2.16.3 и от 2.17 различий нет...

Однако на 2.16.3 этого нотиса не было, никакие настройки не менял… нотис появился после обновления...

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

Вкладку общие сделайте скрин пожалуйста

0
RSN RSN 1 месяц назад #
Изображение
0
Fuze Fuze 1 месяц назад #

Полагаю в самом коде виджета «Ссылки в заголовке виджета» заполняются. И вероятно они неверные. А нотиса не было, т.к. режим отладки был отключен. Но на всякий случай в файле /system/libs/strings.helper.php замените эти две функции:

  1. function string_parse_list($string_list) {
  2.  
  3. $list = [];
  4.  
  5. if (!$string_list) { return $list; }
  6.  
  7. $is_logged = cmsUser::isLogged();
  8.  
  9. $rows = explode("\n", $string_list);
  10.  
  11. foreach ($rows as $row) {
  12.  
  13. if (preg_match('/^{(.*)}/', $row, $matches)) {
  14. if (!$is_logged) { continue; }
  15. $row = $matches[1];
  16. }
  17.  
  18. $parts = array_map('trim', explode('|', $row, 2));
  19.  
  20. $list[] = isset($parts[1])
  21. ? ['id' => $parts[0], 'value' => $parts[1]]
  22. : ['value' => $parts[0]];
  23. }
  24.  
  25. return $list;
  26. }
  27.  
  28. function string_explode_list($string_list, $index_as_value = false) {
  29.  
  30. $items = [];
  31.  
  32. $rows = explode("\n", $string_list);
  33.  
  34. foreach ($rows as $count => $row) {
  35.  
  36. $parts = array_map('trim', explode('|', $row, 2));
  37.  
  38. if (isset($parts[1])) {
  39. $index = $parts[0];
  40. $value = $parts[1];
  41. } else {
  42. $index = $index_as_value ? $parts[0] : (string)($count + 1);
  43. $value = $parts[0];
  44. }
  45.  
  46. $items[$index] = $value;
  47. }
  48.  
  49. return $items;
  50. }
0
RSN RSN 1 месяц назад #

Но на всякий случай в файле /system/libs/strings.helper.php замените эти две функции

Заменил, но нотис не пропал...

Fuze, спасибо, думал получится, как то по быстрому решить вопрос… а тут...))

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

ЗЫ: эти функции, что вы указали, оставить? или вернуть, как раньше было?

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

эти функции, что вы указали, оставить?

Оставляйте.

Заменил, но нотис не пропал...

скорее всего он и был, просто отладка его показала.

php код виджета увидеть бы, станет яснее.

+1
RSN RSN 1 месяц назад #

php код виджета увидеть бы, станет яснее

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

Слайдер работает, а по нотису, позже попробую с разработчиком решить или на форуме...

+1
RSN RSN 1 месяц назад #

Обновился. Может быть ещё, что вылезет, но в целом, обновление прошло без проблем, особенно учитывая размер обновления. Ещё раз спасибо.

+1
Region67 Region67 1 месяц назад #

В компоненте «лента активности» не сохраняются чек боксы регистрации событий в ленте. Лента не выводится(

+1
Fuze Fuze 1 месяц назад #

Откройте файл /system/fields/list.php и начиная с 260 строки замените аналогичный код на:

  1. if (is_array($value)) {
  2. foreach ($value as $k => $v) {
  3. if (!is_array($v) && preg_match('/^([0-9]+)$/i', strval($v))) {
  4. $value[$k] = (int) $v;
  5. }
  6. }
  7. }

Должно получиться как то так:

Изображение

0
pupsik pupsik 1 месяц назад #

Поставил изменение. Чецкбоксы сохраняются но, если отключить все, то в ленте все равно есть активность. Так и должно быть?

+1
Fuze Fuze 1 месяц назад #

если отключить все, то в ленте все равно есть активность. Так и должно быть?

Да, старая активность должна остаться. Включается регистрация в ленте.

0
pupsik pupsik 1 месяц назад #

Может баг. В альбоме, когда загрузил картинку и нажал кнопку удалить, ничего не происходит. До пупликации.

Изображение

0
Zau4man Zau4man 1 месяц назад #

Попробуйте повторить ошибку на официальном демо сайте demo.instantcms.ru

Возможно, проблема в мердже файлов

0
pupsik pupsik 1 месяц назад #

Пробовал проверить на демо. Там при нажатии «загрузить изображения» кидает в «Создать альбом».

0
Zau4man Zau4man 1 месяц назад #

Ну так создайте альбом. 

Я вот создал, загрузил фото, и без проблем его удалил.

Ошибку не подтверждаю.

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

0
pupsik pupsik 1 месяц назад #

Может я рано обновился и уже поправлено. Перезалью controllers photos. Может криво встало.

Не прокатило. js в модерне тоже опновил. Ну и ладно. Не велика потеря...

0
ALASTAR ALASTAR 1 месяц назад #

Я с нуля ставил через час после выхода релиза и таких проблем не заметил

0
pupsik pupsik 1 месяц назад #

Я же написал, что уже перезалил и не помогло. Значит проблема у меня. Найду, отпишусь.

Проблема решилась. В файле не хватало пару строк в МОЕМ шаблоне. Было ли так всегда, наверно. Я только вчера эту кнопку впервые нажал. 

templates/TEMPLATE/controllers/photos/widget.tpl.php

0
ALASTAR ALASTAR 1 месяц назад #

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

Abobo Abobo 1 месяц назад #
Комментарий удален
0
bogosverch bogosverch 1 месяц назад #

Всех приветствую! Всегда радуюсь, когда вижу, что вышло обновление для инстанта) Супер!) Попробую оставить пару идей: можно сделать отдельную рубрику, где будут выкладываться сайты сделанные на инстанте. И да, раз теперь инстант поддерживает создание сборок, может будут официальные сборки под задачи? Н-р, сборка для софтового сайта, киносайта, комьюнити наподобие vc.ru, сайт с промокодами...?

0
UXSET UXSET 1 месяц назад #

После обновления в админке «Компоненты» «Управление событиями» не функционирует, включаю отключаю компоненты, там ничего не происходит

0
Zau4man Zau4man 1 месяц назад #

На чистой 2.17.0 проблемы не наблюдается. Обновлялись с 2.16.3? Или с более старой версии?

Попробуйте по ftp удалить папку templates/admincore и залить ее с чистого архива. 

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

Изображение
0
UXSET UXSET 1 месяц назад #

Все по инструкции сделал, удалил, капчу отключил. кэширование отключил. Все как написано.

0
Ranel Ranel 30 дней назад #

Проверил после обновления, действительно есть описанный выше момент.

На чистой версии не пробовал, но на демо-сайте (demo.instantcms.ru) тоже самое (по крайней мере на момент написания этого комментария): при включении/выключении компонентов и последующем переходе в раздел управления событиями не предлагается автоматически перенастроить актуальные события. И их статус не меняется

Обновлялся с 2.16.3, всё как обычно, никаких проблем или ошибок
Файлы из списка удалял. Как и при каждом обновлении ранее

Перезалить templates/admincore (admincoreui?) тоже не помогло

+2
Zau4man Zau4man 30 дней назад #

Теперь понятно, о чем вы.

Изображение

Судя по коду, проверка на включенность/отключенность компонента убрана из проверки.

Изображение

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

0
Ranel Ranel 30 дней назад #

Спасибо!

0
pupsik pupsik 1 месяц назад #

Может ли кто протестить приходят ли уведомления о коментарии на пост? В настройках профиля в ПМ включено.

Я проверял у себя, писал коментарий от «Гостя» не приходит… От юзера тоже не приходят. 

0
fincheck fincheck 30 дней назад #

А модерация включена? И не совсем понятно коментарий то публикуется или нет?

0
pupsik pupsik 30 дней назад #

Да, комментируется без проблем. Модерация отключена. Не в ПМ не на емаил, ничего не приходит. Лайки приходят. до обновления точно работало. Хотелось бы знать не баг ли это, перед тем как я все распотрошу :)

0
fincheck fincheck 30 дней назад #

На демо инстанта проверяли? 

0
pupsik pupsik 30 дней назад #

Нет не проверял, надо еще один аккаунт регистрировать. Думал люди кто обновился откликнутся. Зря думал.

Да и как там проверить, надо 2-а аккаунта, а регистрация отключина. Сам себе коментарий оставил, ничего не произошло.

+2
fincheck fincheck 30 дней назад #

Изображение

0
Fuze Fuze 30 дней назад #

Если вы об этом

Изображение

То такие уведомления отсылаются тем, кто подписался на новые комментарии

Изображение

0
pupsik pupsik 30 дней назад #

Да, об этом. Но если топик мой, зачем мне подписыватса на него? Зачем тогда меню в профиле уведомлять? Немного не понятна логика. Если я не хочу видеть я в профиле их отключу, а если хочу то автоматом подписан на свой же топик.

Это при каждом созданным мной топиком надо кнопочку нажимать? Не логичней ли её тогда ОТключать?

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

Изображение

0
Fuze Fuze 30 дней назад #

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

Зачем тогда меню в профиле уведомлять?

Вы можете быть подписаны не только на свои записи.

0
pupsik pupsik 30 дней назад #

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

Вроде это:

instantcms.ru/forum/informirovat-avtora-o-novyh-kommentarijah-v-2-4-0.html
Надо в заметки записать. Раньше не делал, все автоматом клепал. А зря. Спасибо.

+1
pupsik pupsik 30 дней назад #

У вас там в Английском языке не так сформулирован текст оповещения. Шиворот на вывотот. Я в гитхубе отпишусь. А там уж смотрите сами.

0
Fuze Fuze 30 дней назад #

У вас там в Английском языке не так сформулирован текст оповещения. Шиворот на вывотот.

С английским да, много где могут быть ошибки. Надо в идеале с носителем языка пройтись.

0
pupsik pupsik 30 дней назад #

Просто  "%s", "%s" выводятса поочередно. Тоесть местами их не поменяешь а под них надо настраиватса самому. 

Даже a href="%s">%s</a> нельзя свой поставить. Потому что каждая лишняя %s будет включена как «использованная».

0
pupsik pupsik 30 дней назад #

Еще момент, когда человек подписан на свой топик, то ему должно проходить два уведомления? Один: что у топика новый коментарий и второй: Кто оставил коментарий? Так и должно? Зачем два раза?

Изображение

+1
pupsik pupsik 29 дней назад #

Тут все ясно. Появляетса второе если ты делал логауд и логин. Можно игнорировать. Но баг с Гостем так и есть.

0
pupsik pupsik 30 дней назад #

Еще один момент. Если вы подписаны на топик и гостям разрешено писать коментарии, то в уведомлениях не пишет имя гостя(что в поле коментария) или «Гость», вообще имя не пишет. Юзера, пишет, а гостя, нет.

define('LANG_COMMENTS_NEW_NOTIFY', '<a href="%s">%s</a> adds a new comment on the "%s" page');

0
No Name No Name 30 дней назад #

Привет, а где настраивается доступ или полностью отключается — Добавлен механизм смены автора записи ТК;  ?, как убрать кнопку — «Передать» в записи типа контента ?

0
pupsik pupsik 29 дней назад #
  1. .change_owner {
  2. display:none;
  3. }

Как в админке не знаю, не смотрел.

0
482 482 29 дней назад #

я в админке этого не нашел. 

0
Fuze Fuze 29 дней назад #

Менять владельца могут те, кому разрешено редактирование.

0
No Name No Name 29 дней назад #

Полностью отключить этот функционал как то можно? Хорошо бы в настройки доступа это внести, спасибо 

0
Zau4man Zau4man 29 дней назад #

Надеюсь, что появится опция или настройки прав доступа

Если нет, это будет мой первый компонент после выхода 2.17.1

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

0
F_a_R_i_D F_a_R_i_D 27 дней назад #

С мобильного, демо.

Изображение

0
pupsik pupsik 27 дней назад #

Только что проверил с мобильного. Нормально

.Изображение

0
rshabalin rshabalin 26 дней назад #

😁

0
Fuze Fuze 27 дней назад #

У меня нормально показывается

Изображение

0
F_a_R_i_D F_a_R_i_D 26 дней назад #

Теперь проверил, всё ок.

0
rshabalin rshabalin 26 дней назад #

В настройках ленты активности не отмечаются галочки при выборе. Хотя уведомление приходит что настройки сохранены. 

0
F_a_R_i_D F_a_R_i_D 26 дней назад #

Изображение

Как реализовать такую кнопку? 

0
rshabalin rshabalin 26 дней назад #

Создать в меню и вставить с помощью виджета. 

0
F_a_R_i_D F_a_R_i_D 26 дней назад #

Это я понимаю. Я про стили, какие классы добавлять?

+1
pupsik pupsik 26 дней назад #

Ну чтож вы так. Обыкновенная bootstrap кнопка с иконкой plus-circle

  1. <?php html_svg_icon('solid', 'plus-circle', '14'); ?>

Изображение

+1
Fuze Fuze 26 дней назад #

Это вопрос скорее форума, а не комментариев релиза.

  1. Создать меню в админке
  2. Разместить виджет меню на нужной позиции, выбрав созданное меню
  3. Либо вручную создать пункт, но тогда вам нужно заботиться о правах доступа, дублируя из из ТК
  4. Либо в шаблонах сделать как-то так:

Изображение

0
F_a_R_i_D F_a_R_i_D 22 дня назад #

Это я знаю. Какой класс добавить, чтобы выводилась как кнопка?)

0
Fuze Fuze 22 дня назад #

Написать CSS стиль.

+1
pupsik pupsik 22 дня назад #

btn btn-outline-primary

+1
Fuze Fuze 22 дня назад #

Не годится для пункта меню, будет плохо. Посмотрите стили на этом сайте, и сделайте так же.

+1
pupsik pupsik 22 дня назад #

Я думал в модерне bootstrap стоит. У меня вот так. А там уж на вкус и цвет. Может у него и не меню совсем :)

  1. <a class="btn btn-lg btn-primary-white" href="/posts/add"><i class="rotate fa-solid fa-pencil"></i> Create</a>

Лутше вот так наверно. С примерами и понятней.

getbootstrap.com/docs/4.0/components/buttons/

0
F_a_R_i_D F_a_R_i_D 21 день назад #

Благодарю)

+1
skewes skewes 26 дней назад #

Спасибо большое за оновление и такие крутые штуки в ЦМС !!!

Обязательно поддержу проект, но немного позже)))

Fuze — благодарочка))) Спасибо, что делаете Инстант лучше и всем ребятам, кто принимает участие и неравнодушен, отдельное спасибо!!!

Kuper Kuper 26 дней назад #
Комментарий удален
0
belov29 belov29 26 дней назад #
Здравствуйте! У меня не работает номера страниц в тег title при пагинации.
0
Fuze Fuze 26 дней назад #

Изображение

0
belov29 belov29 25 дней назад #
А как в компонент уже работающий запихать?
0
Happy Happy 25 дней назад #

фух, обновился без единой проблемы

0
pupsik pupsik 25 дней назад #

Баг в админке с поиском. Такой не значительный баг, но все же. При поиске иконки поиск работает пока не дойдет до "-". После, ничего нет. Проверял на демо

Изображение

+1
Fuze Fuze 25 дней назад #

Особенности работы сторонней библиотеки поиска. Замените в файле /templates/modern/controllers/admin/settings_theme_icon_list.tpl.php строку:

  1. <input type="search" class="form-control search" placeholder="<?php echo LANG_FIND; ?>">

На строку

  1. <input type="search" class="form-control fuzzy-search" placeholder="<?php echo LANG_FIND; ?>">
0
pupsik pupsik 25 дней назад #

Вот, теперь все в порядке. Спасибо! 

0
Евгений Евгений 9 дней назад #

Сделал сайт на Instant cms. Отличный движок, мне нравится. Очень рад, что движок обновляется, развивается.

0
Happy Happy 3 дня назад #

В разделе виджеты и страницы админки добавлен показ подсказки на фантомном виджете с названием страницы, к которой он привязан;

Где это смотреть эти подсказки?

+2
pupsik pupsik 2 дня назад #

Изображение

Я думаю это про это. При наведении мышкой, показывает где именно этот виджет расположен… Очень удобно кстати. Не надо бегать по всем вкладкам и искать его показ.

0
Happy Happy 1 день назад #

Понял, я искал типа глазика)

0
Happy Happy 1 день назад #

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

Изображение

0
Zau4man Zau4man 1 день назад #

В котором из них пишете, чтобы отправилось?))

0
Happy Happy 1 день назад #

в первом, во втором курсор не ставится )))

0
pupsik pupsik 23 часа назад #

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

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