/** * osCommerce Online Merchant * * @copyright (c) 2016 osCommerce; https://www.oscommerce.com * @license MIT; https://www.oscommerce.com/license/mit.txt */ use OSC\OM\Cache; use OSC\OM\FileSystem; use OSC\OM\HTML; use OSC\OM\OSCOM; require 'includes/application_top.php'; $action = isset($_GET['action']) ? $_GET['action'] : ''; if (tep_not_null($action)) { switch ($action) { case 'reset': Cache::clear($_GET['block']); break; case 'resetAll': Cache::clearAll(); break; } OSCOM::redirect(FILENAME_CACHE); } // check if the cache directory exists if (is_dir(Cache::getPath())) { if (!FileSystem::isWritable(Cache::getPath())) { $OSCOM_MessageStack->add(OSCOM::getDef('error_cache_directory_not_writeable'), 'error'); } } else { $OSCOM_MessageStack->add(OSCOM::getDef('error_cache_directory_does_not_exist'), 'error'); }
if (is_file($image_location)) { unlink($image_location); } } } $OSCOM_Db->delete('manufacturers', ['manufacturers_id' => (int) $manufacturers_id]); $OSCOM_Db->delete('manufacturers_info', ['manufacturers_id' => (int) $manufacturers_id]); if (isset($_POST['delete_products']) && $_POST['delete_products'] == 'on') { $Qproducts = $OSCOM_Db->get('products', 'products_id', ['manufacturers_id' => (int) $manufacturers_id]); while ($Qproducts->fetch()) { tep_remove_product($Qproducts->value('products_id')); } } else { $OSCOM_Db->save('products', ['manufacturers_id' => ''], ['manufacturers_id' => (int) $manufacturers_id]); } Cache::clear('manufacturers'); OSCOM::redirect(FILENAME_MANUFACTURERS, 'page=' . $_GET['page']); break; } } require $oscTemplate->getFile('template_top.php'); ?> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo OSCOM::getDef('heading_title'); ?> </td>
function tep_remove_product($product_id) { $OSCOM_Db = Registry::get('Db'); $Qimage = $OSCOM_Db->get('products', 'products_image', ['products_id' => (int) $product_id]); $Qduplicate = $OSCOM_Db->get('products', 'products_id', ['products_image' => $Qimage->value('products_image'), 'products_id' => ['op' => '!=', 'val' => (int) $product_id]], null, 1); if ($Qduplicate->fetch() === false) { if (!empty($Qimage->value('products_image')) && is_file(OSCOM::getConfig('dir_root', 'Shop') . 'images/' . $Qimage->value('products_image'))) { unlink(OSCOM::getConfig('dir_root', 'Shop') . 'images/' . $Qimage->value('products_image')); } } $Qimages = $OSCOM_Db->get('products_images', 'image', ['products_id' => (int) $product_id]); if ($Qimages->fetch() !== false) { do { $Qduplicate = $OSCOM_Db->get('products_images', 'id', ['image' => $Qimages->value('image'), 'products_id' => ['op' => '!=', 'val' => (int) $product_id]], null, 1); if ($Qduplicate->fetch() === false) { if (is_file(OSCOM::getConfig('dir_root', 'Shop') . 'images/' . $Qimages->value('image'))) { unlink(OSCOM::getConfig('dir_root', 'Shop') . 'images/' . $Qimages->value('image')); } } } while ($Qimages->fetch()); $OSCOM_Db->delete('products_images', ['products_id' => (int) $product_id]); } $OSCOM_Db->delete('specials', ['products_id' => (int) $product_id]); $OSCOM_Db->delete('products', ['products_id' => (int) $product_id]); $OSCOM_Db->delete('products_to_categories', ['products_id' => (int) $product_id]); $OSCOM_Db->delete('products_description', ['products_id' => (int) $product_id]); $OSCOM_Db->delete('products_attributes', ['products_id' => (int) $product_id]); $Qdel = $OSCOM_Db->prepare('delete from :table_customers_basket where products_id = :products_id or products_id like :products_id_att'); $Qdel->bindInt(':products_id', (int) $product_id); $Qdel->bindInt(':products_id_att', (int) $product_id . '{%'); $Qdel->execute(); $Qdel = $OSCOM_Db->prepare('delete from :table_customers_basket_attributes where products_id = :products_id or products_id like :products_id_att'); $Qdel->bindInt(':products_id', (int) $product_id); $Qdel->bindInt(':products_id_att', (int) $product_id . '{%'); $Qdel->execute(); $Qreviews = $OSCOM_Db->get('reviews', 'reviews_id', ['products_id' => (int) $product_id]); while ($Qreviews->fetch()) { $OSCOM_Db->delete('reviews_description', ['reviews_id' => $Qreviews->valueInt('reviews_id')]); } $OSCOM_Db->delete('reviews', ['products_id' => (int) $product_id]); Cache::clear('categories'); Cache::clear('products-also_purchased'); }
$Qproduct = $OSCOM_Db->get('products', '*', ['products_id' => (int) $products_id]); $OSCOM_Db->save('products', ['products_quantity' => $Qproduct->valueInt('products_quantity'), 'products_model' => $Qproduct->value('products_model'), 'products_image' => $Qproduct->value('products_image'), 'products_price' => $Qproduct->value('products_price'), 'products_date_added' => 'now()', 'products_date_available' => $Qproduct->hasValue('products_date_available') ? $Qproduct->value('products_date_available') : null, 'products_weight' => $Qproduct->value('products_weight'), 'products_status' => 0, 'products_tax_class_id' => $Qproduct->valueInt('products_tax_class_id'), 'manufacturers_id' => $Qproduct->valueInt('manufacturers_id'), 'products_gtin' => $Qproduct->value('products_gtin')]); $dup_products_id = $OSCOM_Db->lastInsertId(); $Qdesc = $OSCOM_Db->get('products_description', '*', ['products_id' => (int) $products_id]); while ($Qdesc->fetch()) { $OSCOM_Db->save('products_description', ['products_id' => (int) $dup_products_id, 'language_id' => $Qdesc->valueInt('language_id'), 'products_name' => $Qdesc->value('products_name'), 'products_description' => $Qdesc->value('products_description'), 'products_url' => $Qdesc->value('products_url'), 'products_viewed' => 0]); } $Qimages = $OSCOM_Db->get('products_images', '*', ['products_id' => (int) $products_id]); while ($Qimages->fetch()) { $OSCOM_Db->save('products_images', ['products_id' => (int) $dup_products_id, 'image' => $Qimages->value('image'), 'htmlcontent' => $Qimages->value('htmlcontent'), 'sort_order' => $Qimages->valueInt('sort_order')]); } $OSCOM_Db->save('products_to_categories', ['products_id' => (int) $dup_products_id, 'categories_id' => (int) $categories_id]); $products_id = $dup_products_id; } Cache::clear('categories'); Cache::clear('products-also_purchased'); } $OSCOM_Hooks->call('Products', 'ActionCopy'); OSCOM::redirect(FILENAME_CATEGORIES, 'cPath=' . $categories_id . '&pID=' . $products_id); break; } } // check if the catalog image directory exists if (is_dir(OSCOM::getConfig('dir_root', 'Shop') . 'images/')) { if (!FileSystem::isWritable(OSCOM::getConfig('dir_root', 'Shop') . 'images/')) { $OSCOM_MessageStack->add(OSCOM::getDef('error_catalog_image_directory_not_writeable', ['images_path' => OSCOM::getConfig('dir_root', 'Shop') . 'images/']), 'error'); } } else { $OSCOM_MessageStack->add(OSCOM::getDef('error_catalog_image_directory_does_not_exist', ['images_path' => OSCOM::getConfig('dir_root', 'Shop') . 'images/']), 'error'); } $cPath_back = '';