Esempio n. 1
0
/**
 * 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');
}
Esempio n. 2
0
                    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>
Esempio n. 3
0
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');
}
Esempio n. 4
0
                    $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 = '';