ShopCMS - загрузка фото A,B,C

Категория: Программим

Продолжаю свою работу с ShopCMS. На этот раз исправляем работу с фото. По умолчанию нужно для каждого типа фото указывать свое изображение.
Фотография A - маленькая превью
Фотография B - среднего размера
Фотография C - большая.
И это реально неудобно, три раза добавлять одно и тоже изображение. Нашел на одном форуме готовую модификацию. Но чтобы скачать ее, там мало зарегистрироваться. Еще надо пообщаться, накопить балов. В общем маразм, таких админов надо сразу отправлять в ад. Пусть там набивают посты.
У меня на такую ерунду времени нет, поэтому быстро написал свою модификацию.




В папке /core/functions есть файл picture_functions.php. В нем есть функция AddNewPictures. Именно она выполняет загрузку фото. Далее код измененной функции.

Code:
function AddNewPictures($productID, $filename, $thumbnail, $enlarged, $default_picture){
    if (isset($_FILES[$filename]) && $_FILES[$filename]["name"] && $_FILES[$filename]["size"] > 0){
        $_FILES[$filename]["name"] = convert_cyr($_FILES[$filename]["name"]);
        if($_FILES[$thumbnail]["name"]) $_FILES[$thumbnail]["name"] = convert_cyr($_FILES[$thumbnail]["name"]);
        if($_FILES[$enlarged]["name"]) $_FILES[$enlarged]["name"] = convert_cyr($_FILES[$enlarged]["name"]);

        $new_filename = Rendernames($filename,"data/small/");
        $new_thumbnail = Rendernames($thumbnail,"data/medium/");
        $new_enlarged = Rendernames($enlarged,"data/big/");
          
        if ($new_filename != ""){
            if(!$new_thumbnail)
                if (copy('data/small/'.$new_filename,'data/medium/'.$new_filename)) $new_thumbnail = $new_filename;
            if(!$new_enlarged)
                if (copy('data/small/'.$new_filename,'data/big/'.$new_filename)) $new_enlarged = $new_filename;
            db_query("insert into ".PRODUCT_PICTURES."(productID, filename, thumbnail, enlarged)".
                  "  values( ".(int)$productID.", '".xEscSQL($new_filename)."', '".xEscSQL($new_thumbnail).
                  "', '".xEscSQL($new_enlarged)."' ) ");

            if (CONF_PHOTO_RESIZE){
                  if ($new_filename != "") Renderimage($new_filename, CONF_PHOTO_WIDTH1,"data/small/");
                  if ($new_thumbnail != "") Renderimage($new_thumbnail, CONF_PHOTO_WIDTH2,"data/medium/");
                  if ($new_enlarged != "") Renderimage($new_enlarged, CONF_PHOTO_WIDTH3,"data/big/");
            }

            if (CONF_PUT_WATERMARK){
                  if ($new_filename != "") Renderwatermark($new_filename,"data/small/");
                  if ($new_thumbnail != "") Renderwatermark($new_thumbnail,"data/medium/");
                  if ($new_enlarged != "") Renderwatermark($new_enlarged,"data/big/");
            }

            if ($default_picture == -1){
                $default_pictureID = db_insert_id();
                db_query("update ".PRODUCTS_TABLE." set default_picture = ".$default_pictureID." where productID=".(int)$productID);
            }
        }
    }
}


Просто замените ее и будет вам счастье.



Комментарии

Нет комментариев


Имя (Псевдоним):

Секретный код:
сменить цифры
Секретный код Повторите код: