Проблема с картинками в каталоге
Если добавляешь к имеющимся картинкам товара новые, при сохранении происходит ошибка, белый экран - все. Картинки не добавлены. Если товар с картинками открыть и нажать применить. или сохранить - тоже самое.
В логе ошибок нашел следующую запись: ../mod/catalog/lib/class.CatalogPrototype.php line:8439 msg:Invalid argument supplied for foreach()
Подскажите пожалуйста, в чем проблема?
Кусок кода class.CatalogPrototype.php:
[HIDE="код class.CatalogPrototype.php"]function addAdditionalImgs($prod_id, $copy = false, $del_img = false)
{ global $CONFIG, $db;
$prod_id = (int) $prod_id;
if ($prod_id) {
$img_cnt = true;
if ($CONFIG['catalog_add_img_cnt'] > 0) {
$db->query("SELECT COUNT(*) FROM {$this->table_prefix}_catalog_img WHERE prod_id={$prod_id}");
if ($db->next_record()) {
/* Сколько картинок еще можно закачать */
$img_cnt = $CONFIG['catalog_add_img_cnt'] - intval($db->Record[0]);
}
}
$img_num = 0;
СТРОКА 8439 foreach (glob(RP.$CONFIG['catalog_add_img_path'].$prod_id."-*.*") as $filename) {
$num = (int) substr(strstr($filename, "-"), 1);
if ($num >= $img_num) {
$img_num = ++$num;
}
}
$upload = array();
CatalogPrototype::check_path($CONFIG['catalog_add_img_path']);
CatalogPrototype::check_path($CONFIG['catalog_add_prev_path']);
while ($img_cnt > 0 && (list($key, $val) = each($_FILES['img']['tmp_name']))) {
$ext = CatalogPrototype::getFileExt($_FILES['img']['name'][$key]);
if ($val && $ext && in_array($ext, $this->img_exts)) {
$img_name = "{$prod_id}-{$img_num}.{$ext}";
$upload_img = false;
if ($CONFIG['catalog_max_img_height']>0 || $CONFIG['catalog_max_img_width']>0) {
if (CatalogPrototype::generateImage(
$val,
RP.$CONFIG['catalog_add_img_path'].$img_name,
$CONFIG['catalog_max_img_width'],
$CONFIG['catalog_max_img_height']
)
) {
$upload_img = true;
}
} else {
if (move_uploaded_file($val, RP.$CONFIG['catalog_add_img_path'].$img_name)) {
$upload_img = true;
if ($img_cnt && is_int($img_cnt)) {
$img_cnt--;
}
}
}
$upload_prev = false;
if ($upload_img) {
$img_num++;
if ($_FILES['prev']['tmp_name'][$key]) {
$ext = CatalogPrototype::getFileExt($_FILES['prev']['name'][$key]);
$prev_name = "{$prod_id}-{$img_num}.{$ext}";
if (CatalogPrototype::generateImage(
$_FILES['prev']['tmp_name'][$key],
RP.$CONFIG['catalog_add_prev_path'].$prev_name,
$CONFIG['catalog_max_prev_width'],
$CONFIG['catalog_max_prev_height']
)
) {
$upload_prev = true;
}
} else {
$prev_name = $img_name;
if (CatalogPrototype::generateImage(
RP.$CONFIG['catalog_add_img_path'].$img_name,
RP.$CONFIG['catalog_add_prev_path'].$prev_name,
$CONFIG['catalog_max_prev_width'],
$CONFIG['catalog_max_prev_height']
)
) {
$upload_prev = true;
}
}
$upload[] = "({$prod_id}, '{$img_name}', '".($upload_prev ? $prev_name : '')."')";
}
}
}
if ($copy) {
foreach ($_REQUEST['copy_img'] as $key => $val) {
if (!$del_img || ($del_img && !in_array($key, $del_img)) ) {
$img_num++;
$prev_name = $img_name = '';
if ($val && file_exists(RP.$CONFIG['catalog_add_img_path'].$val)) {
$ext = CatalogPrototype::getFileExt($val);
$img_name = "{$prod_id}-{$img_num}.{$ext}";
if (!$ext ||
!copy(RP.$CONFIG['catalog_add_img_path'].$val, RP.$CONFIG['catalog_add_img_path'].$img_name)
) {
$img_name = '';
}
}
if ($_REQUEST['copy_prev'][$key] && file_exists(RP.$CONFIG['catalog_add_prev_path'].$_REQUEST['copy_prev'][$key])) {
$ext = CatalogPrototype::getFileExt(RP.$CONFIG['catalog_add_prev_path'].$_REQUEST['copy_prev'][$key]);
$prev_name = "{$prod_id}-{$img_num}.{$ext}";
if (!$ext ||
!copy(RP.$CONFIG['catalog_add_prev_path'].$_REQUEST['copy_prev'][$key], RP.$CONFIG['catalog_add_prev_path'].$prev_name)
) {
$prev_name = '';
}
}
if ($prev_name || $img_name) {
$upload[] = "({$prod_id}, '{$img_name}', '{$prev_name}')";
}
}
}
}
if (!empty($upload)) {
$db->query("INSERT INTO {$this->table_prefix}_catalog_img (prod_id, img, preview) VALUES "
.implode(", ", $upload));
}
}
}[/HIDE]