public function __construct($id = false) { parent::__construct(); $this->add("products"); $this->name = "form_slider"; $this->enctype = "multipart/form-data"; $this->action = URL::current(); $this->products = ProductDB::getAdminShow(); if (!$id) { $this->text("title", "Название:"); $this->textarea("description", "Описание:"); $this->submit("insert_slider", "Сохранить"); } else { $this->add("img"); $this->add("product_id"); $this->hidden("id", $id); $obj = new SliderDB(); $obj->load($id); $this->text("title", "Название:", $obj->title); $img = ProductDB::getCellOnID($obj->product_id, "img"); $view = new View(Config::DIR_TMPL); $this->img = $view->render("img", array("src" => Config::DIR_IMG_PRODUCT . $img), true); $this->textarea("description", "Описание:", $obj->description); $this->submit("update_slider", "Сохранить"); $this->product_id = $obj->product_id; } }
public function go() { $p = 0; $brand = array(); $xml = file_get_contents('http://abumba.ru/index.php?route=feed/opt_yml'); //$xml = file_get_contents('http://test'); $dom = new SimpleXMLElement($xml); $categories = $dom->shop->categories->category; $products = $dom->shop->offers->offer; foreach ($categories as $category) { $category_db = new CategoryDB(); $category_db->number = $category["id"]; $category_db->parent_number = $category["parentId"] ? $category["parentId"] : null; $category_db->title = (string) $category; $category_db->meta_desc = (string) $category; $category_db->meta_key = (string) $category; $category_id = $category_db->save(); foreach ($products as $product) { if ((string) $product->categoryId[0] == (string) $category["id"]) { $images = $product->picture; $product_db = new ProductDB(); $product_db->category_id = (int) $category_id; $product_db->img = (string) $product->picture[0]; $product_db->price = (string) $product->price[0]; $product_db->title = (string) $product->name[0]; $product_db->meta_desc = (string) $product->name[0]; $product_db->meta_key = (string) $product->name[0]; if ($product["available"] === "false") { $product_db->available = 0; } else { $product_db->available = 1; } $brand = (string) $product->vendor[0]; $id = BrandDB::getBrandIDonName($brand); if (!$id) { $brand_db = new BrandDB(); $brand_db->title = $brand; $brand_db->img = null; $product_db->brand_id = $brand_db->save(); } else { $product_db->brand_id = $id; } $product_id = $product_db->save(); $p++; for ($j = 1; $j < count($images); $j++) { $img_db = new ImgDB(); $img_db->product_id = (int) $product_id; $img_db->url = (string) $images[$j]; $img_db->save(); } } } } echo "В базу внесено " . $p . " наименований товаров."; }
public function loadp() { $xml = file_get_contents('http://abumba.ru/index.php?route=feed/opt_yml'); $dom = new SimpleXMLElement($xml); $products = $dom->shop->offers->offer; $count_p = count($products); //print_r($products[113]);die; //$c = 210; for ($i = 210; $i < $count_p; $i++) { $product = $products[$i]; $images = $product->picture; $product_db = new ProductDB(); $brand = (string) $product->vendor[0]; $id = BrandDB::getBrandIDonName($brand); if (!$id) { $brand_db = new BrandDB(); $brand_db->title = $brand; $brand_db->img = null; $product_db->brand_id = $brand_db->save(); } else { $product_db->brand_id = $id; } $img = $this->getName(); $p = (string) $product->picture[0]; exec("wget -O img/product/" . $img . " " . $p); $product_db->img = $img; $product_db->price = (string) $product->price[0]; $product_db->title = (string) $product->name[0]; $product_db->meta_desc = (string) $product->name[0]; $product_db->meta_key = (string) $product->name[0]; if ($product["available"] === "false") { $product_db->available = 0; } else { $product_db->available = 1; } $product_id = $product_db->save(); for ($j = 1; $j < count($images); $j++) { $url = $this->getName(); $u = (string) $images[$j]; exec("wget -O img/fsa-product/" . $url . " " . $u); $img_db = new ImgDB(); $p_id = (int) $product_id; $img_db->product_id = $p_id; $img_db->url = $url; $img_db->save(); } } echo $i; }
public function __construct($id = false) { parent::__construct(); $this->add("categories"); $this->add("brands"); $this->name = "form_product"; $this->enctype = "multipart/form-data"; $this->action = URL::current(); $this->categories = CategoryDB::getAll(); $this->brands = BrandDB::getAll(); if (!$id) { $this->text("title", "Название:", FormProcessor::getSessionData("title")); $this->text("price", "Цена:", FormProcessor::getSessionData("price")); $this->textarea("meta_desc", "Короткое описание<br />(не более 255 символов):", FormProcessor::getSessionData("meta_desc")); $this->textarea("full_text", "Длинное описание<br />(хоть сколько символов):", FormProcessor::getSessionData("full_text")); $this->textarea("meta_key", "Ключевые слова:", FormProcessor::getSessionData("meta_key")); $this->text("alias", "ЧПУ ссылка", FormProcessor::getSessionData("alias")); $this->text("video", "Ссылка на видео", FormProcessor::getSessionData("video")); $this->checkbox("available", "Наличие:", "1"); $this->file("img", "Картинка:"); $this->submit("insert_product", "Сохранить"); } else { $this->add("category_id"); $this->add("brand_id"); $this->add("fotos"); $this->hidden("id", $id); $obj = new ProductDB(); $obj->load($id); $this->text("price", "Цена:", $obj->price); $this->textarea("title", "Название:", $obj->title); $this->textarea("meta_desc", "Короткое описание<br />(не более 255 символов):", $obj->meta_desc); $this->textarea("full_text", "Длинное описание<br />(хоть сколько символов):", $obj->full_text); $this->textarea("meta_key", "Ключевые слова:", $obj->meta_key); $link = URL::get("product", "", array("id" => $id), true, "", false); $alias = SefDB::getAliasOnLink($link); $this->text("alias", "ЧПУ ссылка", $alias); $this->text("video", "Ссылка на видео", $obj->video); $this->checkbox("available", "Наличие:", "1", "", (int) $obj->available); $this->file("img", "Картинка:"); $this->submit("update_product", "Сохранить"); $view = new View(Config::DIR_TMPL); $this->img = $view->render("img", array("src" => $obj->img), true); $this->category_id = $obj->category_id; $this->brand_id = $obj->brand_id; $this->fotos = ImgDB::getImgOnID($id); } }
public function actionBasket() { if ($this->request->action === "add") { $product = ProductDB::getProductForBasket($this->request->id); if ($product) { BasketData::add($product); $data = array(); $data["summ"] = BasketData::getSumm(); $data["product"] = $product; $this->jsonResponse($data); } } else { if ($this->request->action === "del") { echo BasketData::del($this->request->id); } } }
public static function add($id) { $product = ProductDB::getProductForBasket($id); if (!$product) { return; } if (!session_id()) { session_start(); } if (!isset($_SESSION["basket"])) { $_SESSION["basket"] = array(); } if (array_key_exists($product["id"], $_SESSION["basket"])) { $_SESSION["basket"][$product["id"]]["count"]++; $_SESSION["basket"][$product["id"]]["summ"] = self::getSummProduct($product["id"]); } else { $product["count"] = 1; $product["summ"] = $product["price"]; $_SESSION["basket"][$product["id"]] = $product; } $product["img"] = Config::DIR_IMG_PRODUCT . $product["img"]; return $product; }
require '../model/database.php'; require '../model/category.php'; require '../model/category_db.php'; require '../model/product.php'; require '../model/product_db.php'; if (isset($_POST['action'])) { $action = $_POST['action']; } else { if (isset($_GET['action'])) { $action = $_GET['action']; } else { $action = 'list_products'; } } if ($action == 'list_products') { $category_id = $_GET['category_id']; if (empty($category_id)) { $category_id = 1; } $current_category = CategoryDB::getCategory($category_id); $categories = CategoryDB::getCategories(); $products = ProductDB::getProductsByCategory($category_id); include 'product_list.php'; } else { if ($action == 'view_product') { $categories = CategoryDB::getCategories(); $product_id = $_GET['product_id']; $product = ProductDB::getProduct($product_id); include 'product_view.php'; } }
private function postHandling() { $this->categories = CategoryDB::getCategoryOnSection($this->id); $this->products = ProductDB::getThreeRandProductOnSection($this->id); }
<?php require '../model/database.php'; require '../model/category.php'; require '../model/category_db.php'; require '../model/product.php'; require '../model/product_db.php'; // create the CategoryDB and ProductDB objects $categoryDB = new CategoryDB(); $productDB = new ProductDB(); $action = filter_input(INPUT_POST, 'action'); if ($action == NULL) { $action = filter_input(INPUT_GET, 'action'); if ($action == NULL) { $action = 'list_products'; } } if ($action == 'list_products') { $category_id = filter_input(INPUT_GET, 'category_id', FILTER_VALIDATE_INT); if ($category_id == NULL || $category_id == FALSE) { $category_id = 1; } // Get product and category data $current_category = $categoryDB->getCategory($category_id); $categories = $categoryDB->getCategories(); $products = $productDB->getProductsByCategory($category_id); // Display the product list include 'product_list.php'; } else { if ($action == 'delete_product') { // Get the IDs
// Get the IDs $product_id = filter_input(INPUT_POST, 'product_id', FILTER_VALIDATE_INT); $category_id = filter_input(INPUT_POST, 'category_id', FILTER_VALIDATE_INT); // Delete the product ProductDB::deleteProduct($product_id); // Display the Product List page for the current category header("Location: .?category_id={$category_id}"); } else { if ($action == 'show_add_form') { $categories = CategoryDB::getCategories(); include 'product_add.php'; } else { if ($action == 'add_product') { $category_id = filter_input(INPUT_POST, 'category_id', FILTER_VALIDATE_INT); $code = filter_input(INPUT_POST, 'code'); $name = filter_input(INPUT_POST, 'name'); $price = filter_input(INPUT_POST, 'price'); if ($category_id == NULL || $category_id == FALSE || $code == NULL || $name == NULL || $price == NULL || $price == FALSE) { $error = "Invalid product data. Check all fields and try again."; include '../errors/error.php'; } else { $current_category = CategoryDB::getCategory($category_id); $product = new Product($current_category, $code, $name, $price); ProductDB::addProduct($product); // Display the Product List page for the current category header("Location: .?category_id={$category_id}"); } } } } }
public function actionCategory() { $obj = new CategoryDB(); if (!$obj->load($this->request->id)) { $this->notFound(); } $this->title = $obj->title; $this->meta_desc = $obj->meta_desc; $this->meta_key = $obj->meta_key; $section_db = new SectionDB(); $section_db->load($obj->section_id); $head = $this->getHead(array("/css/main.css")); $head->js = array("/js/main.js"); $content = new Categoryproduct(); $url = URL::get("category", "", array("id" => $this->request->id)); $section_url = URL::get("section", "", array("id" => $section_db->id)); $hornav = $this->getHornav(); $hornav->addData($section_db->title, $section_url); $hornav->addData($obj->title); $content->hornav = $hornav; $content->title = $obj->title; $count = ProductDB::getCountProductOnCategory($this->request->id); $offset = $this->getOffset(Config::COUNT_PRODUCTS_ON_PAGE); $products = ProductDB::getProductOnCategory($this->request->id, Config::COUNT_PRODUCTS_ON_PAGE, $offset); $pagination = $this->getPagination($count, Config::COUNT_PRODUCTS_ON_PAGE, $url); $content->products = $products; $content->pagination = $pagination; $this->render($head, $content); }
<?php require '../model/database.php'; require '../model/category.php'; require '../model/category_db.php'; require '../model/product.php'; require '../model/product_db.php'; // create the CategoryDB and ProductDB objects $categoryDB = new CategoryDB(); $productDB = new ProductDB(); $action = filter_input(INPUT_POST, 'action'); if ($action == NULL) { $action = filter_input(INPUT_GET, 'action'); if ($action == NULL) { $action = 'list_products'; } } if ($action == 'list_products') { $category_id = filter_input(INPUT_GET, 'category_id', FILTER_VALIDATE_INT); if ($category_id == NULL || $category_id == FALSE) { $category_id = 1; } // Get product and category data $current_category = $categoryDB->getCategory($category_id); $categories = $categoryDB->getCategories(); $products = $productDB->getProductsByCategory($category_id); include 'product_list.php'; } else { if ($action == 'view_product') { $categories = $categoryDB->getCategories(); $product_id = filter_input(INPUT_GET, 'product_id', FILTER_VALIDATE_INT);
public function actionDelete() { if (!self::isAuthAdmin()) { return null; } switch ($this->request->view) { case "brand": try { $obj_db = new BrandDB(); $obj_db->load($this->request->id); $tmp = $obj_db->img; $link = URL::get($this->request->view, "", array("id" => $this->request->id), true, "", false); $sef_db = new SefDB(); $sef_db->loadOnLink($link); if ($tmp) { File::delete(Config::DIR_IMG_BRAND . $tmp); } if ($obj_db->delete() && $sef_db->delete()) { $this->fp->setSessionMessage($this->request->view, "SUCCESS_POSITION_DELETE"); } else { $this->fp->setSessionMessage($this->request->view, "NOTFOUND_POSITION"); } $this->redirect(URL::get($this->request->view, "admin")); } catch (Exception $e) { $this->setSessionMessage($this->request->view, $this->getError($e)); } break; case "product": try { $obj_db = new ProductDB(); $obj_db->load($this->request->id); $tmp = $obj_db->img; $link = URL::get($this->request->view, "", array("id" => $this->request->id), true, "", false); $sef_db = new SefDB(); $sef_db->loadOnLink($link); if ($tmp) { File::delete(Config::DIR_IMG_PRODUCT . $tmp); } if ($obj_db->delete() && $sef_db->delete()) { $this->fp->setSessionMessage($this->request->view, "SUCCESS_POSITION_DELETE"); } else { $this->fp->setSessionMessage($this->request->view, "NOTFOUND_POSITION"); } $this->redirect(URL::get($this->request->view, "admin")); } catch (Exception $e) { $this->setSessionMessage($this->request->view, $this->getError($e)); } break; case "category": try { $obj_db = new CategoryDB(); $obj_db->load($this->request->id); $link = URL::get($this->request->view, "", array("id" => $this->request->id), true, "", false); $sef_db = new SefDB(); $sef_db->loadOnLink($link); if ($obj_db->delete() && $sef_db->delete()) { $this->fp->setSessionMessage($this->request->view, "SUCCESS_POSITION_DELETE"); } else { $this->fp->setSessionMessage($this->request->view, "NOTFOUND_POSITION"); } $this->redirect(URL::get($this->request->view, "admin")); } catch (Exception $e) { $this->setSessionMessage($this->request->view, $this->getError($e)); } break; case "section": try { $obj_db = new SectionDB(); $obj_db->load($this->request->id); $link = URL::get($this->request->view, "", array("id" => $this->request->id), true, "", false); $sef_db = new SefDB(); $sef_db->loadOnLink($link); if ($obj_db->delete() && $sef_db->delete()) { $this->fp->setSessionMessage($this->request->view, "SUCCESS_POSITION_DELETE"); } else { $this->fp->setSessionMessage($this->request->view, "NOTFOUND_POSITION"); } $this->redirect(URL::get($this->request->view, "admin")); } catch (Exception $e) { $this->setSessionMessage($this->request->view, $this->getError($e)); } break; case "slider": try { $obj_db = new SliderDB(); $obj_db->load($this->request->id); if ($obj_db->delete()) { $this->fp->setSessionMessage($this->request->view, "SUCCESS_POSITION_DELETE"); } else { $this->fp->setSessionMessage($this->request->view, "NOTFOUND_POSITION"); } $this->redirect(URL::get($this->request->view, "admin")); } catch (Exception $e) { $this->setSessionMessage($this->request->view, $this->getError($e)); } break; case "dop_foto": try { $obj_db = new ImgDB(); $obj_db->load($this->request->id); File::delete($obj_db->url); if ($obj_db->delete()) { $this->fp->setSessionMessage("product", "SUCCESS_POSITION_DELETE"); } else { $this->fp->setSessionMessage($this->request->view, "NOTFOUND_POSITION"); } $this->redirect(URL::referer()); } catch (Exception $e) { $this->setSessionMessage($this->request->view, $this->getError($e)); } break; } }