Posted 31 октября, 2024Oct 31 Спамит ошибкой: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 октября, 2024Oct 31 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 октября, 2024Oct 31 Когда и где возникает ошибка... есть ли у вас какие-либо изменения в шаблоне? Какая у вас версия PHP... Я использую 8.3, и у меня нет такой проблемы
31 октября, 2024Oct 31 Author 2 минуты назад, Silence said:Когда и где возникает ошибка... есть ли у вас какие-либо изменения в шаблоне? Какая у вас версия PHP... Я использую 8.3, и у меня нет такой проблемыВ том то и дело, не могу понять когда возникает ошибка. Ошибка вызывается гостем, URL страницы, на которой возникла ошибка Недоступно. Я копаю в сторону страницы с подписчиками, есть предположение, но не факт.Изменений в шаблоне никаких, все из коробки.PHP 8.3Я в приватном режиме, как гость, зашел на страницу подписчиков пользователя - ошибка не появилась.Я зашел как гость на страницу подписчиков темы, ошибка не появилась.Я зашел как гость на страницу подписчиков тега, ошибка не появилась.НашелЕсли пользователь запретил на себя подписываться, то если зайти в его профиль, ты получаешь ошибку.Да, именно так
31 октября, 2024Oct 31 10 минут назад, ryancoolround said:Ошибка вызывается гостем, URL страницы, на которой возникла ошибка Недоступноизвини но я не понял...как ошибка выходит у гостя...дайте ссылку на url
31 октября, 2024Oct 31 Author 1 минуту назад, Silence said:извини но я не понял...как ошибка выходит у гостя...дайте ссылку на urlПросто если войти на страницу пользователя, который запретил на себя подписываться, уже не важно, Гость ты или админ, возникает ошибка. Пример таких профилей:https://ip-gamers.net/profile/483-vast/https://ip-gamers.net/profile/44-drlex/
31 октября, 2024Oct 31 Эта ошибка, я думаю, возникает после обновления.... попробуйте разблокировать пользователя, а затем снова заблокировать или отписаться от него.
31 октября, 2024Oct 31 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 октября, 2024Oct 31 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 октября, 2024Oct 31 12 минут назад, ryancoolround said:Смог зайти в профили, на которые запрещено подписываться.MSQL :UPDATE core_members SET temp_ban = NULL;Он удалит всех забаненных пользователей
31 октября, 2024Oct 31 Author 1 минуту назад, Silence said:MSQL :Он удалит всех забаненных пользователейИзвини, я возможно не понял, а причем тут забаненные пользователи?
31 октября, 2024Oct 31 Author 2 минуты назад, Silence said:Вот я и узнал.... какие пользователи создают проблему...?ignore users?Ошибка возникнет на страницах профилей пользователей, которые сделали так:
31 октября, 2024Oct 31 ACP > Пользователи > Выберите пользователя > Изменить предпочтения > Разрешить подписываться на профиль? > Включать … и все работает...Это ошибка IC5... я попробовал на локальном сервере и, как и вы, та же проблема
31 октября, 2024Oct 31 Author 1 минуту назад, Silence said:ACP > Пользователи > Выберите пользователя > Изменить предпочтения > Разрешить подписываться на профиль? > Включать … и все работает...Об этом костыле я подумал сразу, в начале темы, но в том то и дело, этот костыль простите за выражение, шлет куда подальше пользователя, который запретил на себя подписываться.
31 октября, 2024Oct 31 4 минуты назад, ryancoolround said:Об этом костыле я подумал сразу, в начале темы, но в том то и дело, этот костыль простите за выражение, шлет куда подальше пользователя, который запретил на себя подписываться.попробую найти команду для этого
31 октября, 2024Oct 31 В \IPS\Member есть функция followersCount(), можно ее для проверки задействовать вместо создания переменной и проверкой на iterable. Не проверял.
31 октября, 2024Oct 31 2 часа назад, ryancoolround said:Ошибка возникнет на страницах профилей пользователей, которые сделали так:Удали из шаблона этот пункт) в сл версиях может пофиксят
31 октября, 2024Oct 31 6 минут назад, aLEX49566 said:Удали из шаблона этот пункт) в сл версиях может пофиксятЯ только что обновился до бета-версии 3, но проблема все еще существует...
1 ноября, 2024Nov 1 18 часов назад, ryancoolround said:Об этом костыле я подумал сразу, в начале темы, но в том то и дело, этот костыль простите за выражение, шлет куда подальше пользователя, который запретил на себя подписываться.У меня лично с телефона (айфона), не получается к тебе зайти, через браузер сафари именно
1 ноября, 2024Nov 1 Author 2 часа назад, aLEX49566 said:У меня лично с телефона (айфона), не получается к тебе зайти, через браузер сафари именноЗа последнюю неделю ты второй, кто это говорит. Safari не пропускает на мой сайт, это было и до обновления. И я без понятия в чем дело.
1 ноября, 2024Nov 1 Только что, ryancoolround said:За последнюю неделю ты второй, кто это говорит. Safari не пропускает на мой сайт, это было и до обновления. И я без понятия в чем дело.До обновления я заходил спокойно)
1 ноября, 2024Nov 1 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.