function add_product()
{
    $name = trim($_POST['name']);
    $price = round(floatval(preg_replace("#,#", ".", $_POST['price'])), 2);
    $keywords = trim($_POST['keywords']);
    $description = trim($_POST['description']);
    $goods_brandid = (int) $_POST['category'];
    $anons = trim($_POST['anons']);
    $content = trim($_POST['content']);
    $new = (int) $_POST['new'];
    $hits = (int) $_POST['hits'];
    $sale = (int) $_POST['sale'];
    $visible = (int) $_POST['visible'];
    $date = date("Y-m-d");
    if (empty($name)) {
        $_SESSION['add_product']['res'] = "<div class='error'>У товара должно быть название</div>";
        $_SESSION['add_product']['price'] = $price;
        $_SESSION['add_product']['keywords'] = $keywords;
        $_SESSION['add_product']['description'] = $description;
        $_SESSION['add_product']['anons'] = $anons;
        $_SESSION['add_product']['content'] = $content;
        return false;
    } else {
        $name = clear_admin($name);
        $keywords = clear_admin($keywords);
        $description = clear_admin($description);
        $anons = clear_admin($anons);
        $content = clear_admin($content);
        $query = "INSERT INTO goods (name, keywords, description, goods_brandid, anons, content, hits, new, sale, price, date, visible)\n                    VALUES ('{$name}', '{$keywords}', '{$description}', {$goods_brandid}, '{$anons}', '{$content}', '{$hits}', '{$new}', '{$sale}', {$price}, '{$date}', '{$visible}')";
        $res = mysql_query($query) or die(mysql_error());
        if (mysql_affected_rows() > 0) {
            $id = mysql_insert_id();
            // ID сохраненного товара
            $types = array("image/gif", "image/png", "image/jpeg", "image/pjpeg", "image/x-png");
            // массив допустимых расширений
            /* базовая картинка */
            if ($_FILES['baseimg']['name']) {
                $baseimgExt = strtolower(preg_replace("#.+\\.([a-z]+)\$#i", "\$1", $_FILES['baseimg']['name']));
                // расширение картинки
                $baseimgName = "{$id}.{$baseimgExt}";
                // новое имя картинки
                $baseimgTmpName = $_FILES['baseimg']['tmp_name'];
                // временное имя файла
                $baseimgSize = $_FILES['baseimg']['size'];
                // вес файла
                $baseimgType = $_FILES['baseimg']['type'];
                // тип файла
                $baseimgError = $_FILES['baseimg']['error'];
                // 0 - OK, иначе - ошибка
                $error = "";
                if (!in_array($baseimgType, $types)) {
                    $error .= "Допустимые расширения - .gif, .jpg, .png <br />";
                }
                if ($baseimgSize > SIZE) {
                    $error .= "Максимальный вес файла - 1 Мб";
                }
                if ($baseimgError) {
                    $error .= "Ошибка при загрузке файла. Возможно, файл слишком большой";
                }
                if (!empty($error)) {
                    $_SESSION['answer'] = "<div class='error'>Ошибка при загрузке картинки товара! <br /> {$error}</div>";
                }
                // если нет ошибок
                if (empty($error)) {
                    if (@move_uploaded_file($baseimgTmpName, "../userfiles/product_img/tmp/{$baseimgName}")) {
                        resize("../userfiles/product_img/tmp/{$baseimgName}", "../userfiles/product_img/baseimg/{$baseimgName}", 120, 185, $baseimgExt);
                        @unlink("../userfiles/product_img/tmp/{$baseimgName}");
                        mysql_query("UPDATE goods SET img = '{$baseimgName}' WHERE goods_id = {$id}");
                    } else {
                        $_SESSION['answer'] .= "<div class='error'>Не удалось переместить загруженную картинку. Проверьте права на папки в каталоге /userfiles/product_img/</div>";
                    }
                }
            }
            /* базовая картинка */
            /////////////////////////
            /* картинки галереи */
            if ($_FILES['galleryimg']['name'][0]) {
                for ($i = 0; $i < count($_FILES['galleryimg']['name']); $i++) {
                    $error = "";
                    if ($_FILES['galleryimg']['name'][$i]) {
                        // если есть файл
                        $galleryimgExt = strtolower(preg_replace("#.+\\.([a-z]+)\$#i", "\$1", $_FILES['galleryimg']['name'][$i]));
                        // расширение картинки
                        $galleryimgName = "{$id}_{$i}.{$galleryimgExt}";
                        // новое имя картинки
                        $galleryimgTmpName = $_FILES['galleryimg']['tmp_name'][$i];
                        // временное имя файла
                        $galleryimgSize = $_FILES['galleryimg']['size'][$i];
                        // вес файла
                        $galleryimgType = $_FILES['galleryimg']['type'][$i];
                        // тип файла
                        $galleryimgError = $_FILES['galleryimg']['error'][$i];
                        // 0 - OK, иначе - ошибка
                        if (!in_array($galleryimgType, $types)) {
                            $error .= "Допустимые расширения - .gif, .jpg, .png <br />";
                            $_SESSION['answer'] .= "<div class='error'>Ошибка при загрузке картинки {$_FILES['galleryimg']['name'][$i]} <br /> {$error}</div>";
                            continue;
                        }
                        if ($galleryimgSize > SIZE) {
                            $error .= "Максимальный вес файла - 1 Мб";
                            $_SESSION['answer'] .= "<div class='error'>Ошибка при загрузке картинки {$_FILES['galleryimg']['name'][$i]} <br /> {$error}</div>";
                            continue;
                        }
                        if ($galleryimgError) {
                            $error .= "Ошибка при загрузке файла. Возможно, файл слишком большой";
                            $_SESSION['answer'] .= "<div class='error'>Ошибка при загрузке картинки {$_FILES['galleryimg']['name'][$i]} <br /> {$error}</div>";
                            continue;
                        }
                        // если нет ошибок
                        if (empty($error)) {
                            if (@move_uploaded_file($galleryimgTmpName, "../userfiles/product_img/photos/{$galleryimgName}")) {
                                resize("../userfiles/product_img/photos/{$galleryimgName}", "../userfiles/product_img/thumbs/{$galleryimgName}", 45, 45, $galleryimgExt);
                                if (!isset($galleryfiles)) {
                                    $galleryfiles = $galleryimgName;
                                } else {
                                    $galleryfiles .= "|{$galleryimgName}";
                                }
                            } else {
                                $_SESSION['answer'] .= "<div class='error'>Не удалось переместить загруженную картинку. Проверьте права на папки в каталоге /userfiles/product_img/</div>";
                            }
                        }
                    }
                }
                if (isset($galleryfiles)) {
                    mysql_query("UPDATE goods SET img_slide = '{$galleryfiles}' WHERE goods_id = {$id}");
                }
            }
            /* картинки галереи */
            $_SESSION['answer'] .= "<div class='success'>Товар добавлен</div>";
            return true;
        } else {
            $_SESSION['add_product']['res'] = "<div class='error'>Ошибка при добавлении товара</div>";
            return false;
        }
    }
}
Beispiel #2
0
function edit_product($id)
{
    $name = trim($_POST['name']);
    $price = round(floatval(preg_replace("#,#", ".", $_POST['price'])), 2);
    $keywords = trim($_POST['keywords']);
    $description = trim($_POST['description']);
    $goods_brandid = (int) $_POST['category'];
    $anons = trim($_POST['anons']);
    $content = trim($_POST['content']);
    $new = (int) $_POST['new'];
    $leader = (int) $_POST['leader'];
    $sale = (int) $_POST['sale'];
    $visible = (int) $_POST['visible'];
    if (empty($price)) {
        $_SESSION['edit_product']['res'] = "<div class='error'>У товара должна быть цена!</div>";
        return false;
    }
    if (empty($name)) {
        $_SESSION['edit_product']['res'] = "<div class='error'>У товара должно быть название</div>";
        return false;
    } else {
        $name = clear_admin($name);
        $keywords = clear_admin($keywords);
        $description = clear_admin($description);
        $anons = clear_admin($anons);
        $content = clear_admin($content);
        $query = "UPDATE goods SET\n                    name = '{$name}',                    \n                    goods_brandid = {$goods_brandid},\n                    anons = '{$anons}',\n                    content = '{$content}',\n                    leader = '{$leader}',\n                    new = '{$new}',\n                    sale = '{$sale}',\n                    price = {$price},\n                    visible = '{$visible}'\n                        WHERE goods_id = {$id}";
        $res = mysql_query($query) or die(mysql_error());
        /* базовая картинка */
        $types = array("image/gif", "image/png", "image/jpeg", "image/pjpeg", "image/x-png");
        // массив допустимых расширений
        if ($_FILES['baseimg']['name']) {
            $baseimgExt = strtolower(preg_replace("#.+\\.([a-z]+)\$#i", "\$1", $_FILES['baseimg']['name']));
            // расширение картинки
            $baseimgName = "{$id}.{$baseimgExt}";
            // новое имя картинки
            $baseimgTmpName = $_FILES['baseimg']['tmp_name'];
            // временное имя файла
            $baseimgSize = $_FILES['baseimg']['size'];
            // вес файла
            $baseimgType = $_FILES['baseimg']['type'];
            // тип файла
            $baseimgError = $_FILES['baseimg']['error'];
            // 0 - OK, иначе - ошибка
            $error = "";
            if (!in_array($baseimgType, $types)) {
                $error .= "Допустимые расширения - .gif, .jpg, .png <br />";
            }
            if ($baseimgSize > SIZE) {
                $error .= "Максимальный вес файла - 1 Мб";
            }
            if ($baseimgError) {
                $error .= "Ошибка при загрузке файла. Возможно, файл слишком большой";
            }
            if (!empty($error)) {
                $_SESSION['answer'] = "<div class='error'>Ошибка при загрузке картинки товара! <br /> {$error}</div>";
            }
            // если нет ошибок
            if (empty($error)) {
                if (@move_uploaded_file($baseimgTmpName, "../userfiles/product_img/tmp/{$baseimgName}")) {
                    resize("../userfiles/product_img/tmp/{$baseimgName}", "../userfiles/product_img/baseimg/{$baseimgName}", 120, 185, $baseimgExt);
                    @unlink("../userfiles/product_img/tmp/{$baseimgName}");
                    mysql_query("UPDATE goods SET img = '{$baseimgName}' WHERE goods_id = {$id}");
                } else {
                    $_SESSION['answer'] .= "<div class='error'>Не удалось переместить загруженную картинку. Проверьте права на папки в каталоге /userfiles/product_img/</div>";
                }
            }
        }
        /* базовая картинка */
        $_SESSION['answer'] .= "<div class='success'>Товар обновлен</div>";
        return true;
    }
}