public function sell() { if (!isset($_SESSION['userId'])) { header('Location: /php_project/application/public/'); exit; } $order_id = $this->input->get(0); $product_id = $this->input->get(1); $productDb = new \Models\Product(); $orderDb = new \Models\Order(); $order = $orderDb->get('order_id = ' . $order_id)[0]; $product = $productDb->get('product_id=' . $product_id)[0]; if (!is_numeric($product_id) || !is_numeric($order_id) || !$product || !$order) { header('Location: /php_project/application/public/'); exit; } $orderDb->update('order', array('order_id' => $order_id, 'status' => 'deleted')); if ($this->user == null) { $this->getUser(); } $price = $product['price']; if ($product['promotion_id'] != null) { $promoDb = new \Models\Promotion(); $discount = $promoDb->get('promotion_id = ' . $product['promotion_id'])[0]['discount']; if ($discount > 0) { $price = $price - $price * $discount / 100; } } $this->userDb->update('user', array('user_id' => $_SESSION['userId'], 'cash' => $this->user['cash'] + $price)); $sellProduct['product_id'] = $product_id; $sellProduct['quantity'] = $product['quantity'] + 1; $productDb->update('product', $sellProduct); header('Location: /php_project/application/public/user/profile'); }
public function promo() { if (!isset($_SESSION['userId']) && $_SESSION['editor'] != true && $_SESSION['admin'] != true) { header('Location: /php_project/application/public/'); exit; } $promoDb = new \Models\Promotion(); $product_id = $this->input->get(0); $productDb = new \Models\Product(); $product = $productDb->get('product_id=' . $product_id)[0]; if (isset($_POST['name'])) { $updateProduct = array(); $promoName = $_POST['name']; $promotion = $promoDb->get('promotion_name = "' . $promoName . '"')[0]; if ($product['promotion_id'] == null) { $updateProduct['promotion_id'] = $promotion['promotion_id']; $updateProduct['product_id'] = $product['product_id']; $productDb->update('product', $updateProduct); header('Location: /php_project/application/public/editor/index'); exit; } else { $oldPromo = $promoDb->get('promotion_id = ' . $product['promotion_id'])[0]; if ($oldPromo['discount'] >= $promotion['discount']) { header('Location: /php_project/application/public/editor/index'); exit; } else { $updateProduct['promotion_id'] = $promotion['promotion_id']; $updateProduct['product_id'] = $product['product_id']; $productDb->update('product', $updateProduct); header('Location: /php_project/application/public/editor/index'); exit; } } } if (!is_numeric($product_id) || !$product) { header('Location: /php_project/application/public/'); exit; } $promos = $promoDb->find(); $this->view->appendToLayout('body', 'addPromoProduct'); $this->view->display('layouts.default', $promos); }
public function remove() { if (!isset($_SESSION['userId']) && $_SESSION['admin'] != true) { header('Location: /php_project/application/public/'); exit; } $productDb = new \Models\Product(); $product_id = $this->input->get(0); $product = $productDb->get('product_id=' . $product_id)[0]; if (!is_numeric($product_id) || !$product) { header('Location: /php_project/application/public/'); exit; } $updateProduct = array(); $updateProduct['product_id'] = $product_id; $updateProduct['deleted'] = true; $productDb->update('product', $updateProduct); header('Location: /php_project/application/public/editor/index'); exit; }
$log_filename = sprintf("/log/%s_%s.log", (string) date('d.m.y_H-i-s'), $offset . '_' . ($limit ? $limit : 'end')); $log->pushHandler(new StreamHandler(__DIR__ . $log_filename)); break; } } while (($data = fgetcsv($handle, 9000, ';')) !== FALSE) { $data = array_map(function ($str) { return iconv("Windows-1251", "UTF-8", $str); }, $data); $i++; if ($offset > 0 && $offset >= $i) { continue; } $product = new \Classes\Opencart\Product($data, DOWNLOAD_IMAGES, $margin); $db = new \Models\Product(); if ($db->get($product->product_id)) { if ($updated = $db->put($product, DELETE_ABSENT, DELETE_IMAGES)) { if (defined('LOG') && LOG == true) { $log->addInfo(json_encode(array('#' => $i - 1) + $updated)); } } } else { if ($created = $db->post($product, IMPORT_ABSENT)) { if (defined('LOG') && LOG == true) { $log->addInfo(json_encode(array('#' => $i - 1) + $created)); } } } if ($limit > 0 && $limit + $offset == $i) { break; }