Esempio n. 1
0
  osCmax e-Commerce
  http://www.osCmax.com

  Copyright 2000 - 2011 osCmax

  Released under the GNU General Public License
*/
require 'includes/application_top.php';
// LINE ADDED: Categories Description 1.5
require 'includes/functions/categories_description.php';
require DIR_WS_CLASSES . 'currencies.php';
$currencies = new currencies();
// BOF QPBPP for SPPC
// include the admin version of price formatter for the price breaks contribution
require DIR_WS_CLASSES . 'PriceFormatterAdmin.php';
$pf = new PriceFormatter();
// EOF QPBPP for SPPC
$action = isset($_GET['action']) ? $_GET['action'] : '';
// BOF: Extra Product Fields
function get_exclude_list($value_id)
{
    $exclude_list = array();
    $query = tep_db_query('select value_id1 from ' . TABLE_EPF_EXCLUDE . ' where value_id2 = ' . (int) $value_id);
    while ($check = tep_db_fetch_array($query)) {
        $exclude_list[] = $check['value_id1'];
    }
    $query = tep_db_query('select value_id2 from ' . TABLE_EPF_EXCLUDE . ' where value_id1 = ' . (int) $value_id);
    while ($check = tep_db_fetch_array($query)) {
        $exclude_list[] = $check['value_id2'];
    }
    return $exclude_list;
Esempio n. 2
0
 function get_products()
 {
     global $languages_id, $pfs;
     // PriceFormatterStore added;
     // BOF Separate Pricing Per Customer
     // global variable (session) $sppc_customer_group_id -> class variable cg_id
     global $sppc_customer_group_id;
     if (!tep_session_is_registered('sppc_customer_group_id')) {
         $this->cg_id = '0';
     } else {
         $this->cg_id = $sppc_customer_group_id;
     }
     // EOF Separate Pricing Per Customer
     if (!is_array($this->contents)) {
         return false;
     }
     // BOF QPBPP for SPPC
     $discount_category_quantity = array();
     foreach ($this->contents as $products_id => $contents_array) {
         if (tep_not_null($contents_array['discount_categories_id'])) {
             if (!isset($discount_category_quantity[$contents_array['discount_categories_id']])) {
                 $discount_category_quantity[$contents_array['discount_categories_id']] = $contents_array['qty'];
             } else {
                 $discount_category_quantity[$contents_array['discount_categories_id']] += $contents_array['qty'];
             }
         }
     }
     // end foreach
     $pf = new PriceFormatter();
     // EOF QPBPP for SPPC
     $products_array = array();
     reset($this->contents);
     while (list($products_id, ) = each($this->contents)) {
         // BOF QPBPP for SPPC
         $pf->loadProduct($products_id, $languages_id);
         // does query if necessary and adds to
         // PriceFormatterStore or gets info from it next
         if ($products = $pfs->getPriceFormatterData($products_id)) {
             if (tep_not_null($this->contents[$products_id]['discount_categories_id'])) {
                 $nof_items_in_cart_same_cat = $discount_category_quantity[$this->contents[$products_id]['discount_categories_id']];
                 $nof_other_items_in_cart_same_cat = $nof_items_in_cart_same_cat - $this->contents[$products_id]['qty'];
             } else {
                 $nof_other_items_in_cart_same_cat = 0;
             }
             $products_price = $pf->computePrice($this->contents[$products_id]['qty'], $nof_other_items_in_cart_same_cat);
             // EOF QPBPP for SPPC
             // BOF Attribute Product Codes
             $attribute_code_array = array();
             $attribute_code_query_raw = '';
             if (isset($this->contents[$products_id]['attributes']) && is_array($this->contents[$products_id]['attributes'])) {
                 foreach ($this->contents[$products_id]['attributes'] as $option => $value) {
                     if ($attribute_code_query_raw != '') {
                         $attribute_code_query_raw .= ' or ';
                     }
                     $attribute_code_query_raw .= "(options_id = '" . (int) $option . "' and options_values_id = '" . (int) $value . "')";
                 }
                 $attribute_code_query = tep_db_query("select code_suffix from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int) $products_id . "' and (" . $attribute_code_query_raw . ") order by suffix_sort_order ASC");
                 while ($attribute_code = tep_db_fetch_array($attribute_code_query)) {
                     if (tep_not_null($attribute_code['code_suffix'])) {
                         $attribute_code_array[] = $attribute_code['code_suffix'];
                     }
                 }
                 //  $separator = '-';
                 $products_code = $products['products_model'] . CODE_SUFFIX_SEPERATOR . implode(CODE_SUFFIX_SEPERATOR, $attribute_code_array);
             } else {
                 $products_code = $products['products_model'];
             }
             // EOF Attribute Product Codes
             // BOF indvship 4.5
             $products_shipping_query = tep_db_query("select products_ship_price, products_ship_price_two, products_ship_zip, products_ship_methods_id from " . TABLE_PRODUCTS_SHIPPING . " where products_id = '" . $products['products_id'] . "'");
             $products_shipping = tep_db_fetch_array($products_shipping_query);
             // EOF indvship 4.5
             //        $products_array[] = array('id' => $products_id,
             $products_array[] = array('id' => tep_get_uprid($products_id, isset($this->contents[$products_id]['attributes']) ? $this->contents[$products_id]['attributes'] : ''), 'name' => isset($products['products_name']) ? $products['products_name'] : '', 'model' => isset($products['products_model']) ? $products['products_model'] : '', 'code' => $products_code, 'image' => isset($products['products_image']) ? $products['products_image'] : '', 'discount_categories_id' => $this->contents[$products_id]['discount_categories_id'], 'price' => $products_price, 'quantity' => $this->contents[$products_id]['qty'], 'weight' => isset($products['products_weight']) ? $products['products_weight'] : '', 'length' => isset($products['products_length']) ? $products['products_length'] : '', 'width' => isset($products['products_width']) ? $products['products_width'] : '', 'height' => isset($products['products_height']) ? $products['products_height'] : '', 'ready_to_ship' => isset($products['products_ready_to_ship']) ? $products['products_ready_to_ship'] : '', 'final_price' => $products_price + $this->attributes_price($products_id), 'tax_class_id' => isset($products['products_tax_class_id']) ? $products['products_tax_class_id'] : '', 'products_ship_price' => $products_shipping['products_ship_price'], 'products_ship_price_two' => $products_shipping['products_ship_price_two'], 'products_ship_zip' => $products_shipping['products_ship_zip'], 'attributes' => isset($this->contents[$products_id]['attributes']) ? $this->contents[$products_id]['attributes'] : '');
         }
     }
     return $products_array;
 }