31 октября, 20241 yr Спамит ошибкой:TypeError: iterator_to_array(): Argument #1 ($iterator) must be of type Traversable|array, int given (0)#0 /applications/core/modules/front/members/profile.php(375): iterator_to_array(0)#1 /system/Dispatcher/Controller.php(139): IPS\core\modules\front\members\profile->manage()#2 /applications/core/modules/front/members/profile.php(130): IPS\Dispatcher\Controller->execute()#3 /system/Dispatcher/Dispatcher.php(169): IPS\core\modules\front\members\profile->execute()#4 /index.php(16): IPS\Dispatcher->run()#5 {main}Обратная трассировка#0 /init.php(827): IPS\Log::log('TypeError: iter...', 'uncaught_except...')#1 [internal function]: IPS\IPS::exceptionHandler(Object(TypeError))#2 {main}Помогите пожалуйста.
31 октября, 20241 yr Author 6 минут назад, Respected said:Что там за код на этой строке?Если ты про 375 строку в Profile.php:/* Get followers */ $followers = iterator_to_array( $this->member->followers( ( Member::loggedIn()->isAdmin() OR Member::loggedIn()->member_id === $this->member->member_id ) ? \IPS\Content::FOLLOW_PUBLIC + \IPS\Content::FOLLOW_ANONYMOUS : \IPS\Content::FOLLOW_PUBLIC, array( 'immediate', 'daily', 'weekly', 'none' ), NULL, array( 0, 12 ) ) );
31 октября, 20241 yr Когда и где возникает ошибка... есть ли у вас какие-либо изменения в шаблоне? Какая у вас версия PHP... Я использую 8.3, и у меня нет такой проблемы
31 октября, 20241 yr Author 2 минуты назад, Silence said:Когда и где возникает ошибка... есть ли у вас какие-либо изменения в шаблоне? Какая у вас версия PHP... Я использую 8.3, и у меня нет такой проблемыВ том то и дело, не могу понять когда возникает ошибка. Ошибка вызывается гостем, URL страницы, на которой возникла ошибка Недоступно. Я копаю в сторону страницы с подписчиками, есть предположение, но не факт.Изменений в шаблоне никаких, все из коробки.PHP 8.3Я в приватном режиме, как гость, зашел на страницу подписчиков пользователя - ошибка не появилась.Я зашел как гость на страницу подписчиков темы, ошибка не появилась.Я зашел как гость на страницу подписчиков тега, ошибка не появилась.НашелЕсли пользователь запретил на себя подписываться, то если зайти в его профиль, ты получаешь ошибку.Да, именно так
31 октября, 20241 yr 10 минут назад, ryancoolround said:Ошибка вызывается гостем, URL страницы, на которой возникла ошибка Недоступноизвини но я не понял...как ошибка выходит у гостя...дайте ссылку на url
31 октября, 20241 yr Author 1 минуту назад, Silence said:извини но я не понял...как ошибка выходит у гостя...дайте ссылку на urlПросто если войти на страницу пользователя, который запретил на себя подписываться, уже не важно, Гость ты или админ, возникает ошибка. Пример таких профилей:https://ip-gamers.net/profile/483-vast/https://ip-gamers.net/profile/44-drlex/
31 октября, 20241 yr Эта ошибка, я думаю, возникает после обновления.... попробуйте разблокировать пользователя, а затем снова заблокировать или отписаться от него.
31 октября, 20241 yr Author Так же, если в админке, зайти в раздел Статистика>Пользователи>Подписка>Подписчики мы получаем:TypeError: IPS\Patterns\ActiveRecord::constructFromData(): Argument #1 ($data) must be of type array, null given, called in /static/templates/core_admin_stats.php on line 1029 and defined in /var/www/fastuser/data/www/ip-gamers.net/system/Patterns/ActiveRecord.php:242Stack trace:#0 /static/templates/core_admin_stats.php(1029): IPS\Patterns\ActiveRecord::constructFromData(NULL)#1 /system/Theme/SandboxedTemplate.php(68): IPS\Theme\class_core_admin_stats->topFollow(Object(IPS\Db\Select), '\n\n\n\t\n\t<ul class...', Array, 35, 'follow_rel_id', 'followers')#2 /applications/core/modules/admin/stats/follow.php(120): IPS\Theme\SandboxedTemplate->__call('topFollow', Array)#3 /system/Dispatcher/Controller.php(139): IPS\core\modules\admin\stats\follow->manage()#4 /applications/core/modules/admin/stats/follow.php(59): IPS\Dispatcher\Controller->execute()#5 /system/Dispatcher/Dispatcher.php(169): IPS\core\modules\admin\stats\follow->execute()#6 /admin/index.php(15): IPS\Dispatcher->run()#7 {main}Может это связано…
31 октября, 20241 yr Author Заменил это:/* Get followers */ $followers = iterator_to_array( $this->member->followers( ( Member::loggedIn()->isAdmin() OR Member::loggedIn()->member_id === $this->member->member_id ) ? \IPS\Content::FOLLOW_PUBLIC + \IPS\Content::FOLLOW_ANONYMOUS : \IPS\Content::FOLLOW_PUBLIC, array( 'immediate', 'daily', 'weekly', 'none' ), NULL, array( 0, 12 ) ) );На это:/* Get followers */ $followersResult = $this->member->followers( (Member::loggedIn()->isAdmin() OR Member::loggedIn()->member_id === $this->member->member_id) ? \IPS\Content::FOLLOW_PUBLIC + \IPS\Content::FOLLOW_ANONYMOUS : \IPS\Content::FOLLOW_PUBLIC, array('immediate', 'daily', 'weekly', 'none'), NULL, array(0, 12) ); if (is_iterable($followersResult)) { $followers = iterator_to_array($followersResult); } else { $followers = []; }Смог зайти в профили, на которые запрещено подписываться.
31 октября, 20241 yr 12 минут назад, ryancoolround said:Смог зайти в профили, на которые запрещено подписываться.MSQL :UPDATE core_members SET temp_ban = NULL;Он удалит всех забаненных пользователей
31 октября, 20241 yr Author 1 минуту назад, Silence said:MSQL :Он удалит всех забаненных пользователейИзвини, я возможно не понял, а причем тут забаненные пользователи?
31 октября, 20241 yr Author 2 минуты назад, Silence said:Вот я и узнал.... какие пользователи создают проблему...?ignore users?Ошибка возникнет на страницах профилей пользователей, которые сделали так:
31 октября, 20241 yr ACP > Пользователи > Выберите пользователя > Изменить предпочтения > Разрешить подписываться на профиль? > Включать … и все работает...Это ошибка IC5... я попробовал на локальном сервере и, как и вы, та же проблема
31 октября, 20241 yr Author 1 минуту назад, Silence said:ACP > Пользователи > Выберите пользователя > Изменить предпочтения > Разрешить подписываться на профиль? > Включать … и все работает...Об этом костыле я подумал сразу, в начале темы, но в том то и дело, этот костыль простите за выражение, шлет куда подальше пользователя, который запретил на себя подписываться.
31 октября, 20241 yr 4 минуты назад, ryancoolround said:Об этом костыле я подумал сразу, в начале темы, но в том то и дело, этот костыль простите за выражение, шлет куда подальше пользователя, который запретил на себя подписываться.попробую найти команду для этого
31 октября, 20241 yr В \IPS\Member есть функция followersCount(), можно ее для проверки задействовать вместо создания переменной и проверкой на iterable. Не проверял.
31 октября, 20241 yr 2 часа назад, ryancoolround said:Ошибка возникнет на страницах профилей пользователей, которые сделали так:Удали из шаблона этот пункт) в сл версиях может пофиксят
31 октября, 20241 yr 6 минут назад, aLEX49566 said:Удали из шаблона этот пункт) в сл версиях может пофиксятЯ только что обновился до бета-версии 3, но проблема все еще существует...
1 ноября, 20241 yr 18 часов назад, ryancoolround said:Об этом костыле я подумал сразу, в начале темы, но в том то и дело, этот костыль простите за выражение, шлет куда подальше пользователя, который запретил на себя подписываться.У меня лично с телефона (айфона), не получается к тебе зайти, через браузер сафари именно
1 ноября, 20241 yr Author 2 часа назад, aLEX49566 said:У меня лично с телефона (айфона), не получается к тебе зайти, через браузер сафари именноЗа последнюю неделю ты второй, кто это говорит. Safari не пропускает на мой сайт, это было и до обновления. И я без понятия в чем дело.
1 ноября, 20241 yr Только что, ryancoolround said:За последнюю неделю ты второй, кто это говорит. Safari не пропускает на мой сайт, это было и до обновления. И я без понятия в чем дело.До обновления я заходил спокойно)
1 ноября, 20241 yr Author 5 минут назад, aLEX49566 said:До обновления я заходил спокойно)Я сейчас достал свой седьмой iPhone из шкафа, зашел, проблем никаких.Перейдите в раздел «Настройки» > «Приложения» > Safari > «Дополнительно».Включение JavaScript.Это включено?
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.