Здравствуйте @z3r0
Спасибо за ваше обращение.
Уточните, пожалуйста, в какой версии вы сталкиваетесь с проблемой и предоставьте шаги для её воспроизведения.
Да во многих, достаточно открыть последнюю версию cs-cart там эта ошибка присутствует.
И суде по функции проблема когда $usergroup_ids не задан.
Когда встречу у клиентов, у кого не исправил эту часть кода напишу в каком месте формируется ошибка.
Что касается работы функции fn_get_reward_points - она всегда возвращает массив. В этой функции есть 3 return :
return array(); возвращает пустой массив.
return db_get_row( функция db_get_row всегда возвращает массив.
return db_get_hash_array( функция db_get_hash_array всегда возвращает массив.
Упомянутая ошибка Undefined index: object_id говорит о том, что элемента object_id в этом массиве нет. Но такая ситуация не может произойти в чистой установке, для неё нет предпосылок, поскольку, если нужной записи не найдётся в БД при выборке, будет возвращён пустой массив и проверку в коде такой результат не пройдёт: if (!empty($__reward_points)) {
А если найдётся, то не может быть такой ситуации чтобы у этой записи не было object_id, это означает только то, что в БД уже лежат какие-то битые данные.
В любом случае, данный вопрос требует более детального рассмотрения. Если снова столкнётесь с данной проблемой, рекомендую обратиться в Help Desk для её исследования.
Простите поправлюсь, массив с 1 записью и многомерный массив, где нужен foreach чтобы перебрать все варианты из db_get_hash_array так как при db_get_hash_array object_id находится на уровень глубже и не доступен.
То есть многомерный массив проходит проверку на наличие, все хорошо, но object_id нет так как нужен foreach
И тут в зависимости от использования fn_get_reward_points нужно либо править функцию и выдавать db_get_array либо часть кода написанную выше.
Просто есть категория у которой вот такие настройки, при обновлении консольно она возникает, так же при переходе в режиме покупателя из админки, возможно это случается когда у админа самого в корзине товары из этой категории есть. Но тут без тестов ясна проблема, что нужен просто одинаковый ответ по глубине.
Проблема исправлена, исправление войдет в следующий релиз CS-Cart и Multi-Vendor.
Для исправления проблемы собственными силами можно использовать патч: