public function actionUpdate($id) { self::checkAdmin(); $category = new Category(); $products = new Product(); $categoriesList = $category->getCategoriesListAdmin(); $subCategoriesList = $category->getSubCategoriesListAdmin(); $product = Product::getProductById($id); if (isset($_POST['save'])) { $options['title'] = $_POST['name']; $options['code'] = $_POST['code']; $options['price'] = $_POST['price']; $options['category_id'] = $_POST['category_id']; $options['subcategory_id'] = $_POST['subcategory_id']; $options['brand'] = $_POST['brand']; $options['info'] = $_POST['info']; $options['description'] = $_POST['description']; $options['availability'] = $_POST['availability']; $options['sale'] = $_POST['sale']; $options['is_new'] = $_POST['is_new']; $options['is_recommended'] = $_POST['is_recommended']; $options['status'] = $_POST['status']; if ($products->updateProductById($id, $options)) { if (is_uploaded_file($_FILES['image']['tmp_name'])) { move_uploaded_file($_FILES['image']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . '/upload/images/products/' . $id . '.jpg'); } } header('Location: /admin/product'); } require_once ROOT . '/views/admin_product/update.php'; return true; }
/** * Action для страницы "Редактировать товар" */ public function actionUpdate($id) { $categoriesList = Category::getCategoriesListAdmin(); $product = Product::getProductById($id); if (isset($_POST['submit'])) { $options['name'] = $_POST['name']; $options['code'] = $_POST['code']; $options['price'] = $_POST['price']; $options['category_id'] = $_POST['category_id']; $options['brand'] = $_POST['brand']; $options['availability'] = $_POST['availability']; $options['description'] = $_POST['description']; $options['is_new'] = $_POST['is_new']; $options['is_recommended'] = $_POST['is_recommended']; $options['status'] = $_POST['status']; // Сохраняем изменения if (Product::updateProductById($id, $options)) { echo '<pre>'; print_r($_FILES["image"]); echo '</pre>'; // Если запись сохранена // Проверим, загружалось ли через форму изображение if (is_uploaded_file($_FILES["image"]["tmp_name"])) { // Если загружалось, переместим его в нужную папке, дадим новое имя var_dump(move_uploaded_file($_FILES["image"]["tmp_name"], $_SERVER['DOCUMENT_ROOT'] . "/upload/images/products/{$id}.jpg")); } } header("Location: /admin/product"); } require_once ROOT . '/views/admin_product/update.php'; return true; }
/** * @param $id * @return bool * Метод для редактирования товаров */ public function actionUpdate($id) { $categoriesList = Category::getCategoriesListAdmin(); $product = Product::getProductById($id); if (isset($_POST['submit'])) { $fields['name'] = $_POST['name']; $fields['code'] = $_POST['code']; $fields['price'] = $_POST['price']; $fields['category_id'] = $_POST['category_id']; $fields['availability'] = $_POST['availability']; $fields['description'] = $_POST['description']; $fields['is_new'] = $_POST['is_new']; $fields['is_recommended'] = $_POST['is_recommended']; $fields['status'] = $_POST['status']; if (Product::updateProductById($id, $fields)) { //сохранение изменений if (is_uploaded_file($_FILES["image"]["tmp_name"])) { //если изображение сохранено,кидаем его в папку upload move_uploaded_file($_FILES["image"]["tmp_name"], $_SERVER['DOCUMENT_ROOT'] . "/upload/images/products/{$id}.jpg"); } } header("Location: /admin/product"); //возращаемся обратно } $args = array('id' => $id, 'categoriesList' => $categoriesList, 'product' => $product); return self::render('update', $args); }
public function actionUpdate($id) { self::checkAdmin(); // get data for uper list $categoriesList = Category::getCategoriesListAdmin(); $product = Product::getProductById($id); if (isset($_POST['submit'])) { $options['name'] = $_POST['name']; $options['category_id'] = $_POST['category_id']; $options['code'] = $_POST['code']; $options['price'] = $_POST['price']; $options['availability'] = $_POST['availability']; $options['brand'] = $_POST['brand']; $options['description'] = $_POST['description']; $options['is_new'] = $_POST['is_new']; $options['is_recommended'] = $_POST['is_recommended']; $options['status'] = $_POST['status']; if (Product::updateProductById($id, $options)) { if (is_uploaded_file($_FILES['image']['tmp_name'])) { move_uploaded_file($_FILES['image']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . "/upload/images/products/{$id}.jpg"); } } header('Location: /admin/product'); } require_once ROOT . '/views/admin_product/update.php'; return true; }
public function actionUpdate($id) { $categories = Category::getCategoryList(false); if (!$categories) { $categories = array(); } $product = Product::getProductById($id, false); if (!$product) { $product = array(); } if (isset($_POST['submit'])) { $options['name'] = FunctionLibrary::clearStr($_POST['name']); $options['code'] = FunctionLibrary::clearStr($_POST['code']); $options['price'] = FunctionLibrary::clearStr($_POST['price']); $options['brand'] = FunctionLibrary::clearStr($_POST['brand']); $options['category_id'] = FunctionLibrary::clearStr($_POST['category_id']); $options['availability'] = FunctionLibrary::clearStr($_POST['availability']); $options['is_new'] = FunctionLibrary::clearStr($_POST['is_new']); $options['is_recommended'] = FunctionLibrary::clearStr($_POST['is_recommended']); $options['status'] = FunctionLibrary::clearStr($_POST['status']); $options['description'] = FunctionLibrary::clearStr($_POST['description']); $errors = array(); if (!User::checkName($options['name'])) { $errors[] = 'Название товара должно быть больше 1 символа.'; } if (empty($errors)) { if ($id) { $result = Product::updateProductById($id, $options); if (!$result) { $message = 'Произошла ошибка при редактировании.'; } else { if (!empty($_FILES['image']['tmp_name'])) { $tmpName = $_FILES['image']['tmp_name']; if (is_uploaded_file($tmpName)) { /* Следующие две строки для того чтобы иметь возможность поменять картинку no-image в базе (а не то меняется только картинка в папке) */ $imagePath = "/images/home/product{$id}.jpg"; $result = Product::putImageToDataBase($id, $imagePath); if ($result) { $destination = $_SERVER['DOCUMENT_ROOT'] . "/template" . $imagePath; move_uploaded_file($tmpName, $destination); } } } FunctionLibrary::redirectTo('admin/product'); } } } } require_once ROOT . '/views/admin_product/update.php'; return true; }
public function actionUpdate($id) { $categories = Category::getCategoriesList(); if (!$categories) { $categories = array(); } $product = Product::getProductById($id); if (!$product) { $product = array(); } if (isset($_POST['submit'])) { $options['name'] = FunctionLibrary::clearStr($_POST['name']); $options['code'] = FunctionLibrary::clearInt($_POST['code']); $options['price'] = FunctionLibrary::clearFloat($_POST['price']); $options['brand'] = FunctionLibrary::clearStr($_POST['brand']); $options['category_id'] = FunctionLibrary::clearInt($_POST['category_id']); $options['availability'] = FunctionLibrary::clearInt($_POST['availability']); $options['is_new'] = FunctionLibrary::clearInt($_POST['is_new']); $options['is_recommended'] = FunctionLibrary::clearInt($_POST['is_recommended']); $options['status'] = FunctionLibrary::clearInt($_POST['status']); $options['description'] = FunctionLibrary::clearStr($_POST['description']); $errors = array(); if (!User::checkName($options['name'])) { $errors[] = 'Название не может быть пустым.'; } if ($id && empty($errors)) { $result = Product::updateProductById($id, $options); if (!$result) { $message = 'Произошла ошибка при редактировании!'; } else { if (!empty($_FILES['image']['tmp_name'])) { $fileName = $_FILES['image']['tmp_name']; if (is_uploaded_file($fileName)) { /* * Следующие две строки для того чтобы * иметь возможность поменять запись no-image * в базе данных (а иначе поменяется только * картинка в папке на сервере) */ $imagePath = "/images/home/product{$id}.jpg"; $result = Product::putImageToDataBase($id, $imagePath); if ($result) { $destination = ROOT . "/template" . $imagePath; move_uploaded_file($fileName, $destination); } } } FunctionLibrary::redirectTo('/admin/product'); } } } require_once ROOT . '/views/admin-product/update.php'; return true; }
/** * Action для страницы "Редактировать товар" */ public function actionUpdate($id) { // Проверка доступа self::checkAdmin(); // Получаем список категорий для выпадающего списка $categoriesList = Category::getCategoriesListAdmin(); // Получаем данные о конкретном заказе $product = Product::getProductById($id); // Обработка формы if (isset($_POST['submit'])) { // Если форма отправлена // Получаем данные из формы редактирования. При необходимости можно валидировать значения $options['name'] = $_POST['name']; $options['code'] = $_POST['code']; $options['price'] = $_POST['price']; $options['category_id'] = $_POST['category_id']; $options['brand'] = $_POST['brand']; $options['availability'] = $_POST['availability']; $options['description'] = $_POST['description']; $options['is_new'] = $_POST['is_new']; $options['is_recommended'] = $_POST['is_recommended']; $options['status'] = $_POST['status']; // Сохраняем изменения if (Product::updateProductById($id, $options)) { echo '<pre>'; print_r($_FILES["image"]); echo '</pre>'; // Если запись сохранена // Проверим, загружалось ли через форму изображение if (is_uploaded_file($_FILES["image"]["tmp_name"])) { // Если загружалось, переместим его в нужную папке, дадим новое имя var_dump(move_uploaded_file($_FILES["image"]["tmp_name"], $_SERVER['DOCUMENT_ROOT'] . "/upload/images/products/{$id}.jpg")); } } // Перенаправляем пользователя на страницу управлениями товарами header("Location: /admin/product"); } // Подключаем вид require_once ROOT . '/views/admin_product/update.php'; return true; }