Зависает окно отправки сообщения

InstantCMS 2.X
#16 10 февраля 2025 в 20:39

не помогло

#17 11 февраля 2025 в 02:38

/system/controllers/imini/hooks/process_render_messages_message.php

rshabalin

А вы удалите этот хук. Произведите обновление событий(если надо), поменяйте редактор в сообщениях и посмотрите… Теоретически должно работать. Мини какой то там ваш, в коментах и в сообщениях другой.

Это если автор не ответит. Стоит попробовать.

#18 11 февраля 2025 в 06:29

А вы удалите этот хук.

pupsik

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

#19 11 февраля 2025 в 07:03
А вы удалите этот хук. pupsik Можно же его просто отключить в админке, удалять нет необходимости.
Loadырь

Хук я отключал но это не помогло. 

#20 11 февраля 2025 в 08:03

Хук я отключал но это не помогло.

rshabalin

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

Notice: Trying to access array offset on value of type bool in /home/r/rshabalin/мой сайт.ru/public_html/system/controllers/imini/hooks/process_render_messages_message.php on line 22

#21 11 февраля 2025 в 08:18

Notice: Array to string conversion in /home/r/rshabalin/rybalka-kirov.ru/public_html/system/core/model.php on line 748
{«error»:false,«date»:«11.02.2025»,«message»:"\r\n\r\n    \nNotice: Trying to access array offset on value of type bool in \/home\/r\/rshabalin\/rybalka-kirov.ru\/public_html\/templates\/modern\/controllers\/messages\/message.tpl.php on line 8\n    \r\n    \r\n        \r\n        <h6 class=\«text-secondary text-center my-3\»>1 января 1970<\/h6>\r\n        \r\n    \r\n    <div id=\«message-\nNotice: Trying to access array offset on value of type bool in \/home\/r\/rshabalin\/rybalka-kirov.ru\/public_html\/templates\/modern\/controllers\/messages\/message.tpl.php on line 28\n\» class=\«text-left mt-3 mb-2 message row no-gutters \nNotice: Trying to access array offset on value of type bool in \/home\/r\/rshabalin\/rybalka-kirov.ru\/public_html\/templates\/modern\/controllers\/messages\/message.tpl.php on line 28\n\nNotice: Trying to access array offset on value of type null in \/home\/r\/rshabalin\/rybalka-kirov.ru\/public_html\/templates\/modern\/controllers\/messages\/message.tpl.php on line 28\n\»>\r\n       

Вот что вышло 

#22 11 февраля 2025 в 08:50

Отключите режим отладки в настройках сайта и будет вам счастье )))

#23 11 февраля 2025 в 09:08
Отключите режим отладки в настройках сайта и будет вам счастье )))
Loadырь

Отключил режим отладки, сообщения стали отправляться сразу но вот так 

Изображение

Еще и дату пишет 1 января 1970 

Добавлено спустя 1 минуту

{
    «error»: false,
    «date»: «11.02.2025»,
    «message»: "\r\n\r\n        \r\n    \r\n        \r\n        <h6 class=\«text-secondary text-center my-3\»>1 января 1970<\/h6>\r\n        \r\n    \r\n    <div id=\«message-\» class=\«text-left mt-3 mb-2 message row no-gutters \»>\r\n        <div class=\«col-auto\»>\r\n            <div class=\«user_avatar icms-user-avatar mx-2 mr-3\» data-id=\"\">\r\n                                    <span class=\«icms-profile-avatar__default avatar__mini\» style=\«background-color: rgba(90, 90, 90, .9); color: white;\»><svg fill=\«currentColor\» viewBox=\«0 0 28 21\»><text x=\«50%\» y=\«50%\» dominant-baseline=\«central\» text-anchor=\«middle\»><\/text><\/svg><\/span>                            <\/div>\r\n        <\/div>\r\n        <div class=\«col flex-grow-1 \»>\r\n            <div class=\«content py-2 px-3 rounded mr-2 bg-success_light\» data-id=\"\">\r\n                <div class=\«title d-flex justify-content-between\»>\r\n                    <b class=\«author\»>\r\n                                            <\/b>\r\n                    <small class=\«date\»>\r\n                        <svg class=\«icms-svg-icon w-16\» fill=\«currentColor\»><use href=\"\/templates\/blogger\/images\/icons\/solid.svg#clock\"><\/use><\/svg>                        <time datetime=\«2025-02-11T09:07:26+03:00\»>11.02.2025<\/time> <span class=\«time\»>09:07<\/span>                    <\/small>\r\n                <\/div>\r\n                <div class=\«message_text text-break\»>\r\n                                    <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n<script>\r\n    icms.messages.setMsgLastDate('1 January 1970');\r\n<\/script>\r\n"
}

#24 11 февраля 2025 в 11:39

Что-то не могу повторить ошибку со своим редактором. Судя по скрину у вас стоит редактор маркитап и с ним возврашается «пустое» сообщение. Вероятно, проблема в каком-то другом стороннем компоненте, а не в iMini.

#25 11 февраля 2025 в 16:18

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

Loadырь

Ну вообщем да. Мне проще копию на Desktop кинуть, потом просто назад перетащить. А об отключении я даже и не подумал. Привычка.

Еще и дату пишет 1 января 1970 

Попробуйте поставить Тайни в сообщениях. Так же проверьте.  

Методом исключения.

P.S. Чтож вы сразу не сказали что у вас шаблон блоггер стоит? Это все объясняет... 

#26 11 февраля 2025 в 16:25

а не в iMini

Loadырь

проблема в imini. При отключении хука messages_after_send сообщения начинают отправляться корректно.

Проблема скорее всего в кусочке

  1. if (!is_array($message_ids)){
  2. $message_ids = [$message_ids];
  3. }

который принудительно приводит полученные id к массиву и отправляет дальше. Но там необязательно будет массив. Может быть и просто id

github.com/instantsoft/icms2/blob/master/system/controllers/messages/model.php#L150

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

Видимо, надо этот кусочек и дальнейший foreach заменить на что-то типа

  1. $ids = is_array($message_ids) ? $message_ids : [$message_ids];
  2. foreach ($ids as $message_id){

чтобы не менять исходный $message_ids

Но тут надо Лодырю решить.

Пока хук отключили, так как в переписке редактор imini не используется.

#27 12 февраля 2025 в 06:30

Проблема скорее всего в кусочке

Zau4man

Интересно. У меня этот код выглядит так

  1. public function run($message_ids) {
  2.  
  3. $_message_ids = $message_ids;
  4.  
  5. if (!is_array($message_ids)) {
  6. $_message_ids = [$message_ids];
  7. }
  8.  

Поэтому и не смог повторить ошибку.

Добавлено спустя 5 минут

Понял, у меня на сайте не последняя версия была выложена ))).  rshabalin, обновите компонент 

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