Проблема в следующем:
При создании нового товара в 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.module | 13.94 КБ |
Комментарии
такая ошибка возникает, если в цикл, предназначенный, для работы с массивами, попадает совершенно другой тип переменной, по приведенному куску кода, непонятно, что за переменная $fields, так что смотрите, что туда попадает, доступ к приложенному файлу закрыт.
nodewords - на вскидку: вроде и должен так работать, однако обычно при корректных настройках ни у кого, кроме админа, подобная надпись не высвечивается, а коли совсем мешает надпись - снесите или хакните этот модуль(могу ошибаться)
з.ы. далее дискуссию вести не смогу - уезжаю туда, где нету интернета(ага, такие места на территории РФ еще остались, сам в шоке)
з.з.ы. Вы модуль хакнули, или всплыл очередной баг в модулях под убер?