![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 16.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Posiadam pewien kod do mojej mini aplikacji. Staram sie poprawic jego jakosc. Jak mozna zastapic drabinke if'ow? Jakies porady co do reszty kodu? Bardzo bym prosil o rady, bedzie to dla mnie bardzo pomocne. Kod <?php class ProductsController extends Controller { /* * Add new product */ public function addAction() { $loadView = $this->loadView('Products'); if (isset($_POST['submit'])) { $loadModel = $this->loadModel('Products'); //form validation $requiredFields=array('partNumber', 'description', 'stockQTY', 'costPrice', 'sellingPrice', 'vatRate'); //required fields in form if (!$loadModel->checkEmptyFields($requiredFields)) $loadView->setMsg('Fill all required fields.'); else { $allowedType = array("jpg" => "image/jpg", "jpeg" => "image/jpeg", "png" => "image/png"); // allowed types of image upload $uploadModel = $this->loadModel('Upload', $_FILES['image']); if (!$uploadModel->checkIsUploaded()) $loadView->setMsg('Something wrong with uploading file.'); elseif (!$uploadModel->checkType($allowedType)) $loadView->setMsg('File type is wrong. Only JPG, JPEG, PNG'); elseif (!$uploadModel->uploadFile()) $loadView->setMsg('File cant be uploaded. Contact Administrator.'); elseif (!$loadModel->isNumeric($_POST['stockQTY']) || !$loadModel->isNumeric($_POST['costPrice']) || !$loadModel->isNumeric($_POST['sellingPrice']) || !$loadModel->isNumeric($_POST['vatRate'])) $loadView->setMsg('Prices, stock qty should be numbers!'); else { //adding new product $image = $uploadModel->newFileName; $values = array( 'part_number' => $_POST['partNumber'], 'description' => htmlspecialchars($_POST['description']), 'image' => $image, 'stock_quantity' => $_POST['stockQTY'], 'cost_price' => $_POST['costPrice'], 'selling_price' => $_POST['sellingPrice'], 'vat_rate' => $_POST['vatRate'] ); $loadModel->insertProduct($values); //flash message, show message after redirect $loadView->setFlashMsg('Product added successfully!', 'success'); $this->redirect('index.php?controller=Products&action=list'); } } } $loadView->addView(); //show template } /* * Edit product */ public function editAction() { $loadView = $this->loadView('Products'); $loadModel = $this->loadModel('Products'); //get product id and details $getProductId = $loadModel->getRoute('id'); $getProduct = $loadModel->getProduct($getProductId); //check if product exists if (empty($getProduct['product_id'])) { $loadView->setMsg("Wrong ID, product doesn't exist."); $loadView->error = 1; } else { $loadView->setVar('product', $getProduct); if (isset($_POST['submit'])) { //form validation $requiredFields=array('partNumber', 'description', 'stockQTY', 'costPrice', 'sellingPrice', 'vatRate'); //required fields in form if (!$loadModel->checkEmptyFields($requiredFields)) $loadView->setMsg('Fill all required fields.'); else { if (!$loadModel->isNumeric($_POST['stockQTY']) || !$loadModel->isNumeric($_POST['costPrice']) || !$loadModel->isNumeric($_POST['sellingPrice']) || !$loadModel->isNumeric($_POST['vatRate'])) $loadView->setMsg('Prices, stock qty should be numbers!'); else { //check if image was uploaded if (is_uploaded_file($_FILES['image']['tmp_name'])) { $allowedType = array("jpg" => "image/jpg", "jpeg" => "image/jpeg", "png" => "image/png"); $uploadModel = $this->loadModel('Upload', $_FILES['image']); if (!$uploadModel->checkType($allowedType)) { $loadView->setMsg('File type is wrong. Only JPG, JPEG, PNG'); $upload_error=1; } elseif (!$uploadModel->uploadFile()) { $loadView->setMsg('File cant be uploaded. Contact Administrator.'); $upload_error=1; } else { //updating image $image = $uploadModel->newFileName; $values=array( 'product_id' => $getProduct['product_id'], 'image' => $image ); $loadModel->deleteImage($getProduct['image']); $loadModel->updateImage($values); } } //updating product details $values = array( 'product_id' => $getProduct['product_id'], 'part_number' => $_POST['partNumber'], 'description' => htmlspecialchars($_POST['description']), 'stock_quantity' => $_POST['stockQTY'], 'cost_price' => $_POST['costPrice'], 'selling_price' => $_POST['sellingPrice'], 'vat_rate' => $_POST['vatRate'] ); $loadModel->editProduct($values); if (empty($upload_error)) { // redirect if everything is ok $loadView->setFlashMsg('Product updated successfully!', 'success'); $this->redirect('index.php?controller=Products&action=list'); } else { //update product details to form, if upload error only $getProduct = $loadModel->getProduct($getProductId); $loadView->setVar('product', $getProduct); } } } } } $loadView->editView(); //show template } /* * Delete product */ public function deleteAction() { $loadView = $this->loadView('Products'); $loadModel = $this->loadModel('Products'); //get product id and details $getProductId = $loadModel->getRoute('id'); $getProduct = $loadModel->getProduct($getProductId); //check if product exist if (empty($getProduct['product_id'])) { $loadView->setFlashMsg("Product doesn't exist. Wrong ID!"); } else { //deleting image and product $loadModel->deleteImage($getProduct['image']); $loadModel->deleteProduct($getProduct['product_id']); //flash message, show message after redirect $loadView->setFlashMsg("Deleted successfully.", 'success'); } //redirect to product list $this->redirect('index.php?controller=Products&action=list'); } /* * Product list */ public function listAction() { $loadView = $this->loadView('Products'); $loadModel = $this->loadModel('Products'); //get all products $getAllProducts = $loadModel->getAllProducts(); $loadView->setVar('products', $getAllProducts); $loadView->listView(); //show template } } |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 22:07 |