function tep_get_sub_categories(&$categories, $categories_id)
 {
     $sub_categories_query = tep_db_query("select categories_id from " . TABLE_CATEGORIES . " where parent_id = '" . (int) $categories_id . "'");
     while ($sub_categories = tep_db_fetch_array($sub_categories_query)) {
         if ($sub_categories['categories_id'] == 0) {
             return true;
         }
         $categories[sizeof($categories)] = $sub_categories['categories_id'];
         if ($sub_categories['categories_id'] != $categories_id) {
             tep_get_sub_categories($categories, $sub_categories['categories_id']);
         }
     }
 }
Beispiel #2
0
function ep_create_filelayout($dltype, $attribute_options_array, $languages, $custom_fields)
{
    // depending on the type of the download the user wanted, create a file layout for it.
    $fieldmap = array();
    // default to no mapping to change internal field names to external.
    // build filters
    $sql_filter = '';
    if (!empty($_GET['epcust_category_filter'])) {
        $sub_categories = array();
        $categories_query_addition = 'ptoc.categories_id = ' . (int) $_GET['epcust_category_filter'] . '';
        tep_get_sub_categories($sub_categories, $_GET['epcust_category_filter']);
        foreach ($sub_categories as $ckey => $category) {
            $categories_query_addition .= ' or ptoc.categories_id = ' . (int) $category . '';
        }
        $sql_filter .= ' and (' . $categories_query_addition . ')';
    }
    if ($_GET['epcust_manufacturer_filter'] != '') {
        $sql_filter .= ' and p.manufacturers_id = ' . (int) $_GET['epcust_manufacturer_filter'];
    }
    if ($_GET['epcust_status_filter'] != '') {
        $sql_filter .= ' and p.products_status = ' . (int) $_GET['epcust_status_filter'];
    }
    // /////////////////////////////////////////////////////////////////////
    //
    // Start: Support for other contributions
    //
    // /////////////////////////////////////////////////////////////////////
    $ep_additional_layout_product = '';
    $ep_additional_layout_product_select = '';
    $ep_additional_layout_product_description = '';
    $ep_additional_layout_pricing = '';
    if ($dltype == 'full') {
        foreach ($custom_fields[TABLE_PRODUCTS] as $key => $name) {
            $ep_additional_layout_product .= '$filelayout[\'v_' . $key . '\'] = $iii++;
                                            ';
            $ep_additional_layout_product_select .= 'p.' . $key . ' as v_' . $key . ',';
        }
    }
    if (EP_ADDITIONAL_IMAGES == true) {
        $ep_additional_layout_product .= '$filelayout[\'v_products_image_description\'] = $iii++;
                                       ';
        for ($i = 2; $i <= EP_ADDITIONAL_IMAGES_MAX + 1; $i++) {
            $ep_additional_layout_product .= '$filelayout[\'v_products_image_' . $i . '\'] = $iii++;
                                          $filelayout[\'v_products_image_description_' . $i . '\'] = $iii++;
                                          ';
        }
    }
    if (EP_ADDITIONAL_IMAGES == true) {
        $ep_additional_layout_product_select .= 'p.products_image_description as v_products_image_description,';
    }
    if (EP_MORE_PICS_6_SUPPORT == true) {
        $ep_additional_layout_product .= '$filelayout[\'v_products_subimage1\'] = $iii++;
                                        $filelayout[\'v_products_subimage2\'] = $iii++;
                                        $filelayout[\'v_products_subimage3\'] = $iii++;
                                        $filelayout[\'v_products_subimage4\'] = $iii++;
                                        $filelayout[\'v_products_subimage5\'] = $iii++;
                                        $filelayout[\'v_products_subimage6\'] = $iii++;
                                        ';
    }
    if (EP_MORE_PICS_6_SUPPORT == true) {
        $ep_additional_layout_product_select .= 'p.products_subimage1 as v_products_subimage1, p.products_subimage2 as v_products_subimage2, p.products_subimage3 as v_products_subimage3, p.products_subimage4 as v_products_subimage4, p.products_subimage5 as v_products_subimage5, p.products_subimage6 as v_products_subimage6,';
    }
    if (EP_ULTRPICS_SUPPORT == true) {
        $ep_additional_layout_product .= '$filelayout[\'v_products_image_med\'] = $iii++;
					$filelayout[\'v_products_image_lrg\'] = $iii++;
					$filelayout[\'v_products_image_sm_1\'] = $iii++;
					$filelayout[\'v_products_image_xl_1\'] = $iii++;
					$filelayout[\'v_products_image_sm_2\'] = $iii++;
					$filelayout[\'v_products_image_xl_2\'] = $iii++;
					$filelayout[\'v_products_image_sm_3\'] = $iii++;
					$filelayout[\'v_products_image_xl_3\'] = $iii++;
					$filelayout[\'v_products_image_sm_4\'] = $iii++;
					$filelayout[\'v_products_image_xl_4\'] = $iii++;
					$filelayout[\'v_products_image_sm_5\'] = $iii++;
					$filelayout[\'v_products_image_xl_5\'] = $iii++;
					$filelayout[\'v_products_image_sm_6\'] = $iii++;
					$filelayout[\'v_products_image_xl_6\'] = $iii++;
                                        ';
    }
    if (EP_ULTRPICS_SUPPORT == true) {
        $ep_additional_layout_product_select .= 'p.products_image_med as v_products_image_med, p.products_image_lrg as v_products_image_lrg, p.products_image_sm_1 as v_products_image_sm_1, p.products_image_xl_1 as v_products_image_xl_1, p.products_image_sm_2 as v_products_image_sm_2, p.products_image_xl_2 as v_products_image_xl_2, p.products_image_sm_3 as v_products_image_sm_3, p.products_image_xl_3 as v_products_image_xl_3, p.products_image_sm_4 as v_products_image_sm_4, p.products_image_xl_4 as v_products_image_xl_4, p.products_image_sm_5 as v_products_image_sm_5, p.products_image_xl_5 as v_products_image_xl_5, p.products_image_sm_6 as v_products_image_sm_6,p.products_image_xl_6 as v_products_image_xl_6,';
    }
    if (EP_PDF_UPLOAD_SUPPORT == true) {
        $ep_additional_layout_product .= '$filelayout[\'v_products_pdfupload\'] = $iii++;
					$filelayout[\'v_products_fileupload\'] = $iii++;
					';
    }
    if (EP_PDF_UPLOAD_SUPPORT == true) {
        $ep_additional_layout_product_select .= 'p.products_pdfupload as v_products_pdfupload,p.products_fileupload as v_products_fileupload,';
    }
    if (EP_SPPC_SUPPORT == true) {
        if (!empty($_GET['epcust_specials_price'])) {
            $ep_additional_layout_pricing .= '$filelayout[\'v_customer_price_1\'] = $iii++;
                                        $filelayout[\'v_customer_specials_price_1\'] = $iii++;
                                        $filelayout[\'v_customer_group_id_1\'] = $iii++;
                                        $filelayout[\'v_customer_price_2\'] = $iii++;
                                        $filelayout[\'v_customer_specials_price_2\'] = $iii++;
                                        $filelayout[\'v_customer_group_id_2\'] = $iii++;
                                        $filelayout[\'v_customer_price_3\'] = $iii++;
                                        $filelayout[\'v_customer_specials_price_3\'] = $iii++;
                                        $filelayout[\'v_customer_group_id_3\'] = $iii++;
                                        $filelayout[\'v_customer_price_4\'] = $iii++;
                                        $filelayout[\'v_customer_specials_price_4\'] = $iii++;
                                        $filelayout[\'v_customer_group_id_4\'] = $iii++;
                                        ';
        } else {
            $ep_additional_layout_pricing .= '$filelayout[\'v_customer_price_1\'] = $iii++;
                                        $filelayout[\'v_customer_group_id_1\'] = $iii++;
                                        $filelayout[\'v_customer_price_2\'] = $iii++;
                                        $filelayout[\'v_customer_group_id_2\'] = $iii++;
                                        $filelayout[\'v_customer_price_3\'] = $iii++;
                                        $filelayout[\'v_customer_group_id_3\'] = $iii++;
                                        $filelayout[\'v_customer_price_4\'] = $iii++;
                                        $filelayout[\'v_customer_group_id_4\'] = $iii++;
                                        ';
        }
    }
    if (EP_HTC_SUPPORT == true) {
        $ep_additional_layout_product_description .= '$filelayout[\'v_products_head_title_tag_\'.$lang[\'id\']]    = $iii++;
                                                    $filelayout[\'v_products_head_desc_tag_\'.$lang[\'id\']]     = $iii++;
                                                    $filelayout[\'v_products_head_keywords_tag_\'.$lang[\'id\']] = $iii++;
                                                    ';
    }
    if (EP_MVS_SUPPORT == true) {
        $ep_additional_layout_product_select .= 'p.vendors_id as v_vendor_id,';
    }
    // /////////////////////////////////////////////////////////////////////
    // End: Support for other contributions
    // /////////////////////////////////////////////////////////////////////
    switch ($dltype) {
        case 'full':
            // The file layout is dynamically made depending on the number of languages
            $iii = 0;
            $filelayout = array();
            $filelayout['v_products_model'] = $iii++;
            foreach ($languages as $key => $lang) {
                $filelayout['v_products_name_' . $lang['id']] = $iii++;
                $filelayout['v_products_description_' . $lang['id']] = $iii++;
                $filelayout['v_products_url_' . $lang['id']] = $iii++;
                foreach ($custom_fields[TABLE_PRODUCTS_DESCRIPTION] as $key => $name) {
                    $filelayout['v_' . $key . '_' . $lang['id']] = $iii++;
                }
                if (!empty($ep_additional_layout_product_description)) {
                    eval($ep_additional_layout_product_description);
                }
            }
            $filelayout['v_products_image'] = $iii++;
            if (!empty($ep_additional_layout_product)) {
                eval($ep_additional_layout_product);
            }
            $filelayout['v_products_price'] = $iii++;
            $filelayout['v_products_specials_price'] = $iii++;
            if (EP_MVS_SUPPORT == true) {
                $filelayout['v_vendor'] = $iii++;
            }
            if (!empty($ep_additional_layout_pricing)) {
                eval($ep_additional_layout_pricing);
            }
            $filelayout['v_products_quantity'] = $iii++;
            $filelayout['v_products_weight'] = $iii++;
            $filelayout['v_date_avail'] = $iii++;
            $filelayout['v_date_added'] = $iii++;
            // build the categories name section of the array based on the number of categores the user wants to have
            for ($i = 1; $i < EP_MAX_CATEGORIES + 1; $i++) {
                $filelayout['v_categories_image_' . $i] = $iii++;
                foreach ($languages as $key => $lang) {
                    $filelayout['v_categories_name_' . $i . '_' . $lang['id']] = $iii++;
                }
            }
            $filelayout['v_manufacturers_name'] = $iii++;
            // VJ product attribs begin
            $attribute_options_count = 1;
            foreach ($attribute_options_array as $tkey => $attribute_options_values) {
                $filelayout['v_attribute_options_id_' . $attribute_options_count] = $iii++;
                foreach ($languages as $tkey => $lang) {
                    $filelayout['v_attribute_options_name_' . $attribute_options_count . '_' . $lang['id']] = $iii++;
                }
                $attribute_values_query = "select products_options_values_id  from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_id = '" . (int) $attribute_options_values['products_options_id'] . "' order by products_options_values_id";
                $attribute_values_values = tep_db_query($attribute_values_query);
                $attribute_values_count = 1;
                while ($attribute_values = tep_db_fetch_array($attribute_values_values)) {
                    $filelayout['v_attribute_values_id_' . $attribute_options_count . '_' . $attribute_values_count] = $iii++;
                    foreach ($languages as $tkey => $lang) {
                        $filelayout['v_attribute_values_name_' . $attribute_options_count . '_' . $attribute_values_count . '_' . $lang['id']] = $iii++;
                    }
                    $filelayout['v_attribute_values_price_' . $attribute_options_count . '_' . $attribute_values_count] = $iii++;
                    //// attributes stock add start
                    if (EP_PRODUCTS_ATTRIBUTES_STOCK == true) {
                        $filelayout['v_attribute_values_stock_' . $attribute_options_count . '_' . $attribute_values_count] = $iii++;
                    }
                    //// attributes stock add end
                    $attribute_values_count++;
                }
                $attribute_options_count++;
            }
            // VJ product attribs end
            $filelayout['v_tax_class_title'] = $iii++;
            $filelayout['v_status'] = $iii++;
            $filelayout_sql = "SELECT\n            p.products_id as v_products_id,\n            p.products_model as v_products_model,\n            p.products_image as v_products_image,\n            {$ep_additional_layout_product_select}\n            p.products_price as v_products_price,\n            p.products_weight as v_products_weight,\n            p.products_date_available as v_date_avail,\n            p.products_date_added as v_date_added,\n            p.products_tax_class_id as v_tax_class_id,\n            p.products_quantity as v_products_quantity,\n            p.manufacturers_id as v_manufacturers_id,\n            subc.categories_id as v_categories_id,\n            p.products_status as v_status\n            FROM\n            " . TABLE_PRODUCTS . " as p,\n            " . TABLE_CATEGORIES . " as subc,\n            " . TABLE_PRODUCTS_TO_CATEGORIES . " as ptoc\n            WHERE\n            p.products_id = ptoc.products_id AND\n            ptoc.categories_id = subc.categories_id\n            " . $sql_filter;
            break;
        case 'priceqty':
            $iii = 0;
            $filelayout = array();
            $filelayout['v_products_model'] = $iii++;
            $filelayout['v_products_price'] = $iii++;
            $filelayout['v_products_quantity'] = $iii++;
            if (!empty($ep_additional_layout_pricing)) {
                eval($ep_additional_layout_pricing);
            }
            $filelayout_sql = "SELECT\n            p.products_id as v_products_id,\n            p.products_model as v_products_model,\n            p.products_price as v_products_price,\n            p.products_tax_class_id as v_tax_class_id,\n            p.products_quantity as v_products_quantity\n            FROM\n            " . TABLE_PRODUCTS . " as p\n            ";
            break;
        case 'custom':
            $iii = 0;
            $filelayout = array();
            $filelayout['v_products_model'] = $iii++;
            if (!empty($_GET['epcust_status'])) {
                $filelayout['v_status'] = $iii++;
            }
            foreach ($languages as $key => $lang) {
                if (!empty($_GET['epcust_name'])) {
                    $filelayout['v_products_name_' . $lang['id']] = $iii++;
                }
                if (!empty($_GET['epcust_description'])) {
                    $filelayout['v_products_description_' . $lang['id']] = $iii++;
                }
                if (!empty($_GET['epcust_url'])) {
                    $filelayout['v_products_url_' . $lang['id']] = $iii++;
                }
                foreach ($custom_fields[TABLE_PRODUCTS_DESCRIPTION] as $key => $name) {
                    if (!empty($_GET['epcust_' . $key])) {
                        $filelayout['v_' . $key . '_' . $lang['id']] = $iii++;
                    }
                }
            }
            if (!empty($_GET['epcust_image']) || !empty($_GET['epcust_add_images'])) {
                $filelayout['v_products_image'] = $iii++;
                if (!empty($ep_additional_layout_product)) {
                    eval($ep_additional_layout_product);
                }
            }
            foreach ($custom_fields[TABLE_PRODUCTS] as $key => $name) {
                if (!empty($_GET['epcust_' . $key])) {
                    $filelayout['v_' . $key] = $iii++;
                    $ep_additional_layout_product_select .= 'p.' . $key . ' as v_' . $key . ',';
                }
            }
            if (!empty($_GET['epcust_price'])) {
                $filelayout['v_products_price'] = $iii++;
            }
            if (!empty($_GET['epcust_specials_price'])) {
                $filelayout['v_products_specials_price'] = $iii++;
            }
            if (!empty($_GET['epcust_quantity'])) {
                $filelayout['v_products_quantity'] = $iii++;
            }
            if (!empty($_GET['epcust_weight'])) {
                $filelayout['v_products_weight'] = $iii++;
            }
            if (!empty($_GET['epcust_avail'])) {
                $filelayout['v_date_avail'] = $iii++;
            }
            if (!empty($_GET['epcust_date_added'])) {
                $filelayout['v_date_added'] = $iii++;
            }
            if (!empty($_GET['epcust_category'])) {
                // build the categories name section of the array based on the number
                // of categores the user wants to have
                for ($i = 1; $i <= EP_MAX_CATEGORIES; $i++) {
                    $filelayout['v_categories_image_' . $i] = $iii++;
                    foreach ($languages as $key => $lang) {
                        $filelayout['v_categories_name_' . $i . '_' . $lang['id']] = $iii++;
                    }
                }
            }
            if (!empty($_GET['epcust_manufacturer'])) {
                $filelayout['v_manufacturers_name'] = $iii++;
            }
            if (!empty($_GET['epcust_attributes'])) {
                // VJ product attribs begin
                $attribute_options_count = 1;
                foreach ($attribute_options_array as $tkey => $attribute_options_values) {
                    $filelayout['v_attribute_options_id_' . $attribute_options_count] = $iii++;
                    foreach ($languages as $tkey => $lang) {
                        $filelayout['v_attribute_options_name_' . $attribute_options_count . '_' . $lang['id']] = $iii++;
                    }
                    $attribute_values_query = "select products_options_values_id  from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_id = '" . (int) $attribute_options_values['products_options_id'] . "' order by products_options_values_id";
                    $attribute_values_values = tep_db_query($attribute_values_query);
                    $attribute_values_count = 1;
                    while ($attribute_values = tep_db_fetch_array($attribute_values_values)) {
                        $filelayout['v_attribute_values_id_' . $attribute_options_count . '_' . $attribute_values_count] = $iii++;
                        foreach ($languages as $tkey => $lang) {
                            $filelayout['v_attribute_values_name_' . $attribute_options_count . '_' . $attribute_values_count . '_' . $lang['id']] = $iii++;
                        }
                        $filelayout['v_attribute_values_price_' . $attribute_options_count . '_' . $attribute_values_count] = $iii++;
                        //// attributes stock add start
                        if (EP_PRODUCTS_ATTRIBUTES_STOCK == true) {
                            $filelayout['v_attribute_values_stock_' . $attribute_options_count . '_' . $attribute_values_count] = $iii++;
                        }
                        //// attributes stock add end
                        $attribute_values_count++;
                    }
                    $attribute_options_count++;
                }
                // VJ product attribs end
            }
            if (EP_MVS_SUPPORT == true) {
                if (!empty($_GET['epcust_vendor'])) {
                    $filelayout['v_vendor'] = $iii++;
                }
            }
            if (!empty($_GET['epcust_sppc'])) {
                if (!empty($ep_additional_layout_pricing)) {
                    eval($ep_additional_layout_pricing);
                }
            }
            if (!empty($_GET['epcust_tax_class'])) {
                $filelayout['v_tax_class_title'] = $iii++;
            }
            if (!empty($_GET['epcust_comment'])) {
                $filelayout['v_products_comment'] = $iii++;
            }
            if (!empty($_GET['epcust_cross_sell'])) {
                $filelayout['v_cross_sell'] = $iii++;
            }
            $filelayout_sql = "SELECT\n            p.products_id as v_products_id,\n            p.products_model as v_products_model,\n            p.products_status as v_status,\n            p.products_price as v_products_price,\n            p.products_quantity as v_products_quantity,\n            p.products_weight as v_products_weight,\n            p.products_image as v_products_image,\n            {$ep_additional_layout_product_select}\n            p.manufacturers_id as v_manufacturers_id,\n            p.products_date_available as v_date_avail,\n            p.products_date_added as v_date_added,\n            p.products_tax_class_id as v_tax_class_id,\n            subc.categories_id as v_categories_id\n            FROM\n            " . TABLE_PRODUCTS . " as p,\n            " . TABLE_CATEGORIES . " as subc,\n            " . TABLE_PRODUCTS_TO_CATEGORIES . " as ptoc\n            WHERE\n            p.products_id = ptoc.products_id AND\n            ptoc.categories_id = subc.categories_id\n            " . $sql_filter;
            break;
        case 'category':
            $iii = 0;
            $filelayout = array();
            $filelayout['v_products_model'] = $iii++;
            for ($i = 1; $i < EP_MAX_CATEGORIES + 1; $i++) {
                $filelayout['v_categories_image_' . $i] = $iii++;
                foreach ($languages as $key => $lang) {
                    $filelayout['v_categories_name_' . $i . '_' . $lang['id']] = $iii++;
                }
            }
            $filelayout_sql = "SELECT\n            p.products_id as v_products_id,\n            p.products_model as v_products_model,\n            subc.categories_id as v_categories_id\n            FROM\n            " . TABLE_PRODUCTS . " as p,\n            " . TABLE_CATEGORIES . " as subc,\n            " . TABLE_PRODUCTS_TO_CATEGORIES . " as ptoc            \n            WHERE\n            p.products_id = ptoc.products_id AND\n            ptoc.categories_id = subc.categories_id\n            ";
            break;
        case 'extra_fields':
            // start EP for product extra field ============================= DEVSOFTVN - 10/20/2005
            $iii = 0;
            $filelayout = array('v_products_model' => $iii++, 'v_products_extra_fields_name' => $iii++, 'v_products_extra_fields_id' => $iii++, 'v_products_extra_fields_value' => $iii++);
            $filelayout_sql = "SELECT\n                        p.products_id as v_products_id,\n                        p.products_model as v_products_model,\n                        subc.products_extra_fields_id as v_products_extra_fields_id,\n                        subc.products_extra_fields_value as v_products_extra_fields_value,\n                        ptoc.products_extra_fields_name as v_products_extra_fields_name\n                        FROM\n                        " . TABLE_PRODUCTS . " as p,\n                        " . TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS . " as subc,\n                        " . TABLE_PRODUCTS_EXTRA_FIELDS . " as ptoc\n                        WHERE\n                        p.products_id = subc.products_id AND\n                        ptoc.products_extra_fields_id = subc.products_extra_fields_id\n                        ";
            // end of EP for extra field code ======= DEVSOFTVN================
            break;
        case 'froogle':
            // this is going to be a little interesting because we need
            // a way to map from internal names to external names
            //
            // Before it didn't matter, but with froogle needing particular headers,
            // The file layout is dynamically made depending on the number of languages
            $iii = 0;
            $filelayout = array();
            $filelayout['v_froogle_products_url_1'] = $iii++;
            $filelayout['v_froogle_products_name_' . EP_DEFAULT_LANGUAGE_ID] = $iii++;
            $filelayout['v_froogle_products_description_' . EP_DEFAULT_LANGUAGE_ID] = $iii++;
            $filelayout['v_products_price'] = $iii++;
            $filelayout['v_products_fullpath_image'] = $iii++;
            $filelayout['v_froogle_product_id'] = $iii++;
            $filelayout['v_froogle_quantitylevel'] = $iii++;
            $filelayout['v_category_fullpath'] = $iii++;
            $filelayout['v_froogle_exp_date'] = $iii++;
            $filelayout['v_froogle_currency'] = $iii++;
            $iii = 0;
            $fileheaders = array();
            // EP Support mapping new names to the export headers.
            // use the $fileheaders[''] vars to do that.
            $fileheaders['link'] = $iii++;
            $fileheaders['title'] = $iii++;
            $fileheaders['description'] = $iii++;
            $fileheaders['price'] = $iii++;
            $fileheaders['image_link'] = $iii++;
            $fileheaders['id'] = $iii++;
            $fileheaders['quantity'] = $iii++;
            $fileheaders['product_type'] = $iii++;
            $fileheaders['expiration_date'] = $iii++;
            $fileheaders['currency'] = $iii++;
            $filelayout_sql = "SELECT\n            p.products_id as v_products_id,\n            p.products_model as v_products_model,\n            p.products_image as v_products_image,\n            p.products_price as v_products_price,\n            p.products_weight as v_products_weight,\n            p.products_date_added as v_date_added,\n            p.products_date_available as v_date_avail,\n            p.products_tax_class_id as v_tax_class_id,\n            p.products_quantity as v_products_quantity,\n            p.manufacturers_id as v_manufacturers_id,\n            subc.categories_id as v_categories_id\n            FROM\n            " . TABLE_PRODUCTS . " as p,\n            " . TABLE_CATEGORIES . " as subc,\n            " . TABLE_PRODUCTS_TO_CATEGORIES . " as ptoc\n            WHERE\n            p.products_id = ptoc.products_id AND\n            ptoc.categories_id = subc.categories_id\n            " . $sql_filter;
            break;
            // VJ product attributes begin
        // VJ product attributes begin
        case 'attrib':
            $iii = 0;
            $filelayout = array();
            $filelayout['v_products_model'] = $iii++;
            $attribute_options_count = 1;
            foreach ($attribute_options_array as $tkey1 => $attribute_options_values) {
                $filelayout['v_attribute_options_id_' . $attribute_options_count] = $iii++;
                foreach ($languages as $tkey => $lang) {
                    $filelayout['v_attribute_options_name_' . $attribute_options_count . '_' . $lang['id']] = $iii++;
                }
                $attribute_values_query = "select products_options_values_id  from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_id = '" . (int) $attribute_options_values['products_options_id'] . "' order by products_options_values_id";
                $attribute_values_values = tep_db_query($attribute_values_query);
                $attribute_values_count = 1;
                while ($attribute_values = tep_db_fetch_array($attribute_values_values)) {
                    $filelayout['v_attribute_values_id_' . $attribute_options_count . '_' . $attribute_values_count] = $iii++;
                    foreach ($languages as $tkey2 => $lang) {
                        $filelayout['v_attribute_values_name_' . $attribute_options_count . '_' . $attribute_values_count . '_' . $lang['id']] = $iii++;
                    }
                    $filelayout['v_attribute_values_price_' . $attribute_options_count . '_' . $attribute_values_count] = $iii++;
                    //// attributes stock add start
                    if (EP_PRODUCTS_ATTRIBUTES_STOCK == true) {
                        $header_array['v_attribute_values_stock_' . $attribute_options_count . '_' . $attribute_values_count] = $iii++;
                    }
                    //// attributes stock add end
                    $attribute_values_count++;
                }
                $attribute_options_count++;
            }
            $filelayout_sql = "SELECT\n                            p.products_id as v_products_id,\n                            p.products_model as v_products_model\n                            FROM\n                            " . TABLE_PRODUCTS . " as p\n                            ";
            break;
            // VJ product attributes end
    }
    $filelayout_count = count($filelayout);
    return array($filelayout, $filelayout_count, $filelayout_sql, $fileheaders);
}
Beispiel #3
0
*/
//  $configuration_query = tep_db_query("SELECT configuration_key as cfgKey, configuration_value as cfgValue from " . TABLE_CONFIGURATION);
//  while ($configuration = tep_db_fetch_array($configuration_query)) {
//	  define($configuration['cfgKey'], $configuration['cfgValue']);
//  }
if ((OPEN_FEATURED_LIMIT_PRODUCTS_FEATURES == 'true' || OPEN_FEATURED_LIMIT_CATEGORIES_FEATURES == 'true') && tep_not_null(isset($product_info['products_id']))) {
    // products info page
    $the_products_catagory_query = tep_db_query("select products_id, categories_id from " . TABLE_PRODUCTS_TO_CATEGORIES . " where products_id = '" . $product_info['products_id'] . "'" . " order by products_id,categories_id");
    $the_products_catagory = tep_db_fetch_array($the_products_catagory_query);
    $featured_product_category_id = $the_products_catagory['categories_id'];
}
if ((OPEN_FEATURED_LIMIT_PRODUCTS_FEATURES == 'true' || OPEN_FEATURED_LIMIT_CATEGORIES_FEATURES == 'true') && !empty($current_category_id)) {
    /// We are in category depth
    $categories_query_addition = "p2c.categories_id = '" . (int) $current_category_id . "'";
    $categories = array();
    tep_get_sub_categories($categories, $current_category_id);
    foreach ($categories as $key => $category) {
        $categories_query_addition .= " OR p2c.categories_id = '" . (int) $category . "'";
    }
}
// do product features
if (OPEN_FEATURED_LIMIT_PRODUCTS_FEATURES == 'true' && !empty($current_category_id)) {
    /// We are in category depth
    $featured_products_query_raw = "SELECT distinct p.products_id, p.products_model, pd.products_name, p.products_image, p.products_tax_class_id, pd.products_description, pd.products_short, s.status as specstat, s.specials_new_products_price, p.products_price from(( " . TABLE_PRODUCTS . " p )left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c )left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on p.products_id = pd.products_id and pd.language_id = '" . (int) $languages_id . "' where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and (" . $categories_query_addition . ") and p.products_status = '1' and p.products_featured = '1' and find_in_set('" . $customer_group_id . "', p.products_hide_from_groups) = '0' order by " . FEATURED_PRODUCTS_SORT_ORDER . " " . FEATURED_PRODUCTS_DIRECTION . ' limit ' . MAX_DISPLAY_FEATURED_PRODUCTS;
} else {
    if (OPEN_FEATURED_LIMIT_PRODUCTS_FEATURES == 'true' && tep_not_null(isset($product_info['products_id']))) {
        // products info page
        $featured_products_query_raw = "SELECT distinct p.products_id, p.products_model, pd.products_name, p.products_image, p.products_tax_class_id, pd.products_description, pd.products_short, s.status as specstat, s.specials_new_products_price, p.products_price from(( " . TABLE_PRODUCTS . " p )left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c )left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on p.products_id = pd.products_id and pd.language_id = '" . (int) $languages_id . "' where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and p2c.categories_id = '" . (int) $featured_product_category_id . "' and p.products_status = '1' and p.products_featured = '1' and find_in_set('" . $customer_group_id . "', p.products_hide_from_groups) = '0' order by " . FEATURED_PRODUCTS_SORT_ORDER . " " . FEATURED_PRODUCTS_DIRECTION . ' limit ' . MAX_DISPLAY_FEATURED_PRODUCTS;
    } else {
        // default
        $featured_products_query_raw = "SELECT p.products_id, p.products_model, pd.products_name, pd.products_description, pd.products_short, p.products_image, p.products_tax_class_id, s.status as specstat, s.specials_new_products_price, p.products_price from(( " . TABLE_PRODUCTS . " p )left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id )left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on p.products_id = pd.products_id and pd.language_id = '" . (int) $languages_id . "' where p.products_status = '1' and p.products_featured = '1' and find_in_set('" . $customer_group_id . "', p.products_hide_from_groups) = '0' order by " . FEATURED_PRODUCTS_SORT_ORDER . " " . FEATURED_PRODUCTS_DIRECTION . ' limit ' . MAX_DISPLAY_FEATURED_PRODUCTS;