예제 #1
0
 public function deleteManufacturer($manufacturer_id)
 {
     $this->db->query("DELETE FROM " . $this->db->table("manufacturers") . " WHERE manufacturer_id = '" . (int) $manufacturer_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("manufacturers_to_stores") . " WHERE manufacturer_id = '" . (int) $manufacturer_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("url_aliases") . " WHERE query = 'manufacturer_id=" . (int) $manufacturer_id . "'");
     $lm = new ALayoutManager();
     $lm->deletePageLayout('pages/product/manufacturer', 'manufacturer_id', (int) $manufacturer_id);
     $this->cache->delete('manufacturer');
 }
예제 #2
0
 /**
  * @param int $product_id
  * @return bool
  */
 public function deleteProduct($product_id)
 {
     if (!(int) $product_id) {
         return false;
     }
     $rm = new AResourceManager();
     $this->db->query("DELETE FROM " . $this->db->table("products") . " WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("product_descriptions") . " WHERE product_id = '" . (int) $product_id . "'");
     $resources = $rm->getResourcesList(array('object_name' => 'products', 'object_id' => (int) $product_id));
     foreach ($resources as $r) {
         $rm->unmapResource('products', $product_id, $r['resource_id']);
         //if resource become orphan - delete it
         if (!$rm->isMapped($r['resource_id'])) {
             $rm->deleteResource($r['resource_id']);
         }
     }
     //delete product's downloads
     $this->load->model('catalog/download');
     $downloads = $this->model_catalog_download->getProductDownloadsDetails($product_id, array('subsql_filter' => 'AND d.shared<>1'));
     foreach ($downloads as $d) {
         $this->model_catalog_download->deleteDownload($d['download_id']);
     }
     $this->db->query("DELETE FROM " . $this->db->table("product_options") . " WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("product_option_descriptions") . " WHERE product_id = '" . (int) $product_id . "'");
     $sql = "SELECT product_option_value_id FROM " . $this->db->table("product_option_values") . " WHERE product_id = '" . (int) $product_id . "'";
     $result = $this->db->query($sql);
     foreach ($result->rows as $row) {
         $pd_opt_val_id = $row['product_option_value_id'];
         $resources = $rm->getResourcesList(array('object_name' => 'product_option_value', 'object_id' => (int) $pd_opt_val_id));
         foreach ($resources as $r) {
             $rm->unmapResource('product_option_value', $pd_opt_val_id, $r['resource_id']);
         }
     }
     $this->db->query("DELETE FROM " . $this->db->table("product_option_values") . " WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("product_option_value_descriptions") . " WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("product_discounts") . " WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("products_related") . " WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("products_to_downloads") . " WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("products_to_categories") . " WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("reviews") . " WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("products_to_stores") . " WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("url_aliases") . " WHERE query = 'product_id=" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("product_tags") . " WHERE product_id='" . (int) $product_id . "'");
     $lm = new ALayoutManager();
     $lm->deletePageLayout('pages/product/product', 'product_id', (int) $product_id);
     $this->cache->remove('product');
     return true;
 }
예제 #3
0
 /**
  * @param int $category_id
  */
 public function deleteCategory($category_id)
 {
     $this->db->query("DELETE FROM " . $this->db->table("categories") . " WHERE category_id = '" . (int) $category_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("category_descriptions") . " WHERE category_id = '" . (int) $category_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("categories_to_stores") . " WHERE category_id = '" . (int) $category_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("url_aliases") . " WHERE query = 'category_id=" . (int) $category_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("products_to_categories") . " WHERE category_id = '" . (int) $category_id . "'");
     //delete children categories
     $query = $this->db->query("SELECT category_id FROM " . $this->db->table("categories") . " WHERE parent_id = '" . (int) $category_id . "'");
     $lm = new ALayoutManager();
     foreach ($query->rows as $result) {
         $this->deleteCategory($result['category_id']);
         $lm->deletePageLayout('pages/product/category', 'path', $result['category_id']);
     }
     $lm->deletePageLayout('pages/product/category', 'path', $category_id);
     $this->cache->delete('category');
 }
예제 #4
0
 /**
  * @param int $product_id
  */
 public function deleteProduct($product_id)
 {
     $this->db->query("DELETE FROM " . DB_PREFIX . "products WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . DB_PREFIX . "product_descriptions WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . DB_PREFIX . "product_options WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . DB_PREFIX . "product_option_descriptions WHERE product_id = '" . (int) $product_id . "'");
     $sql = "SELECT product_option_value_id FROM " . DB_PREFIX . "product_option_values WHERE product_id = '" . (int) $product_id . "'";
     $result = $this->db->query($sql);
     $rm = new AResourceManager();
     foreach ($result->rows as $row) {
         $pd_opt_val_id = $row['product_option_value_id'];
         $resources = $rm->getResourcesList(array('object_name' => 'product_option_value', 'object_id' => (int) $pd_opt_val_id));
         foreach ($resources as $r) {
             $rm->unmapResource('product_option_value', $pd_opt_val_id, $r['resource_id']);
         }
     }
     $this->db->query("DELETE FROM " . DB_PREFIX . "product_option_values WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . DB_PREFIX . "product_option_value_descriptions WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . DB_PREFIX . "product_discounts WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . DB_PREFIX . "products_related WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . DB_PREFIX . "products_to_downloads WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . DB_PREFIX . "products_to_categories WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . DB_PREFIX . "reviews WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . DB_PREFIX . "products_to_stores WHERE product_id = '" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . DB_PREFIX . "url_aliases WHERE query = 'product_id=" . (int) $product_id . "'");
     $this->db->query("DELETE FROM " . DB_PREFIX . "product_tags WHERE product_id='" . (int) $product_id . "'");
     $lm = new ALayoutManager();
     $lm->deletePageLayout('pages/product/product', 'product_id', (int) $product_id);
     $this->cache->delete('product');
 }
예제 #5
0
 /**
  * @param int $manufacturer_id
  */
 public function deleteManufacturer($manufacturer_id)
 {
     $this->db->query("DELETE FROM " . $this->db->table("manufacturers") . " WHERE manufacturer_id = '" . (int) $manufacturer_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("manufacturers_to_stores") . " WHERE manufacturer_id = '" . (int) $manufacturer_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("url_aliases") . " WHERE query = 'manufacturer_id=" . (int) $manufacturer_id . "'");
     $lm = new ALayoutManager();
     $lm->deletePageLayout('pages/product/manufacturer', 'manufacturer_id', (int) $manufacturer_id);
     //delete resources
     $rm = new AResourceManager();
     $resources = $rm->getResourcesList(array('object_name' => 'manufacturers', 'object_id' => (int) $manufacturer_id));
     foreach ($resources as $r) {
         $rm->unmapResource('manufacturers', $manufacturer_id, $r['resource_id']);
         //if resource became orphan - delete it
         if (!$rm->isMapped($r['resource_id'])) {
             $rm->deleteResource($r['resource_id']);
         }
     }
     $this->cache->remove('manufacturer');
 }
예제 #6
0
 /**
  * @param int $category_id
  */
 public function deleteCategory($category_id)
 {
     $this->db->query("DELETE FROM " . $this->db->table("categories") . " WHERE category_id = '" . (int) $category_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("category_descriptions") . " WHERE category_id = '" . (int) $category_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("categories_to_stores") . " WHERE category_id = '" . (int) $category_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("url_aliases") . " WHERE query = 'category_id=" . (int) $category_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("products_to_categories") . " WHERE category_id = '" . (int) $category_id . "'");
     //delete resources
     $rm = new AResourceManager();
     $resources = $rm->getResourcesList(array('object_name' => 'categories', 'object_id' => (int) $category_id));
     foreach ($resources as $r) {
         $rm->unmapResource('products', $category_id, $r['resource_id']);
         //if resource became orphan - delete it
         if (!$rm->isMapped($r['resource_id'])) {
             $rm->deleteResource($r['resource_id']);
         }
     }
     //remove layout
     $lm = new ALayoutManager();
     $lm->deletePageLayout('pages/product/category', 'path', $category_id);
     //delete children categories
     $query = $this->db->query("SELECT category_id\n\t\t\t\t\t\t\t\t\tFROM " . $this->db->table("categories") . "\n\t\t\t\t\t\t\t\t\tWHERE parent_id = '" . (int) $category_id . "'");
     foreach ($query->rows as $result) {
         $this->deleteCategory($result['category_id']);
     }
     $this->cache->remove('category');
 }
 /**
  * @param int $content_id
  */
 public function deleteContent($content_id)
 {
     $lm = new ALayoutManager();
     $lm->deletePageLayout('pages/content/content', 'content_id', (int) $content_id);
     $this->db->query("DELETE FROM " . $this->db->table("contents") . " WHERE content_id = '" . (int) $content_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("content_descriptions") . " WHERE content_id = '" . (int) $content_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("contents_to_stores") . " WHERE content_id = '" . (int) $content_id . "'");
     $this->db->query("DELETE FROM " . $this->db->table("url_aliases") . " WHERE `query` = 'content_id=" . (int) $content_id . "'");
     $this->cache->delete('contents');
 }