Подскажите, пожалуйста, как уйти от ошибки Invalid argument supplied for foreach()

Главные вкладки

Аватар пользователя Антон Ш Антон Ш 8 июля 2012 в 19:55

Проблема в следующем:
При создании нового товара в ubercart или же при попытке его обновить возникает ошибка:

warning: Invalid argument supplied for foreach() in /var/www/vhosts/hosting.ru/httpdocs/sate.ru/sites/all/modules/ubercart_marketplace/mp_file/mp_file.module on line 210.

Выдержка из mp_file.module:

207 // Collect file features/downloads that are to be deleted, FIX ME, the code below is overkill...
208 $delete_all_files = TRUE;
209 $pfid_array = array();
210 foreach ($field as $key => $value) {
211 if (drupal_substr($key, 0, drupal_strlen('mp_file_pfid_')) == 'mp_file_pfid_') {
212 $pfid = drupal_substr($key, drupal_strlen('mp_file_pfid_'));
213 $pfid_array[$pfid] = variable_get('mp_file_replace_feature_on_upload', FALSE) ? TRUE : $value;
...

В отчета также выводятся вот такие вот сообщения:
содержимое 07/08/2012 - 21:24 product: обновлён материал...
nodewords 07/08/2012 - 21:24 Пользователь admin изменил мета-тег для 5 (Ранее это сообщение не выводилось)

Подскажите, пожалуйста, как исправить эту ошибку!

ВложениеРазмер
Двоичные данные mp_file.module13.94 КБ

Комментарии

Аватар пользователя sg85 sg85 9 июля 2012 в 2:46

такая ошибка возникает, если в цикл, предназначенный, для работы с массивами, попадает совершенно другой тип переменной, по приведенному куску кода, непонятно, что за переменная $fields, так что смотрите, что туда попадает, доступ к приложенному файлу закрыт.

nodewords - на вскидку: вроде и должен так работать, однако обычно при корректных настройках ни у кого, кроме админа, подобная надпись не высвечивается, а коли совсем мешает надпись - снесите или хакните этот модуль(могу ошибаться)

з.ы. далее дискуссию вести не смогу - уезжаю туда, где нету интернета(ага, такие места на территории РФ еще остались, сам в шоке)

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