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; } } }
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; } }