Вход Регистрация
Файл: core/functions/search_function.php
Строк: 147
<?php
#####################################
# ShopCMS: Скрипт интернет-магазина
# Copyright (c) by ADGroup
# http://shopcms.ru
#####################################


        
function schIsAllowProductsSearch$categoryID )
        {
                
$q db_query("select allow_products_search from ".CATEGORIES_TABLE.
                        
" where categoryID=".(int)$categoryID);
                if ( 
$row db_fetch_row($q) ) return $row["allow_products_search"];
                return 
false;
        }


        function 
schUnSetOptionsToSearch$categoryID )
        {
                
$q db_query"select optionID from ".CATEGORY_PRODUCT_OPTIONS_TABLE.
                        
" where categoryID=".(int)$categoryID);
                
$data = array();
                while( 
$row db_fetch_row($q) ) $data[] = $row["optionID"];

                foreach( 
$data as $val )
                {
                        
db_query" delete from ".CATEGORY_PRODUCT_OPTION_VARIANTS.
                                
" where categoryID=".(int)$categoryID." AND optionID=".(int)$val);

                        
db_query" delete from ".CATEGORY_PRODUCT_OPTIONS_TABLE.
                                
" where categoryID=".(int)$categoryID." AND optionID=".(int)$val);
                }
        }

        function 
schSetOptionToSearch$categoryID$optionID$set_arbitrarily )
        {
                
db_query"insert into ".CATEGORY_PRODUCT_OPTIONS_TABLE.
                                
" ( categoryID, optionID, set_arbitrarily ) ".
                                
" values( ".(int)$categoryID.", ".(int)$optionID.", ".(int)$set_arbitrarily." ) " );
        }

        function 
schOptionIsSetToSearch$categoryID$optionID ) {

                
$res = array();

                
$SQL 'select set_arbitrarily FROM '.CATEGORY_PRODUCT_OPTIONS_TABLE.' WHERE categoryID='.(int)$categoryID.' AND optionID='.(int)$optionID;
                
$q db_query($SQL);
                if ( 
$row db_fetch_row($q) ){

                        
$res['isSet'] = 1;
                        
$res['set_arbitrarily'] = $row['set_arbitrarily'];
                }else{
                        
$res['isSet'] = 0;
                }
                return 
$res;
        }

        function 
schUnSetVariantsToSearch$categoryID$optionID ){

                
$SQL "DELETE FROM ".CATEGORY_PRODUCT_OPTION_VARIANTS." WHERE categoryID=".(int)$categoryID." AND optionID=".(int)$optionID;
                
db_query($SQL);
        }


        function 
schSetVariantToSearch$categoryID$optionID$variantID )
        {
                
db_query"insert into ".CATEGORY_PRODUCT_OPTION_VARIANTS.
                                
" ( optionID, categoryID, variantID )  ".
                                
" values( ".(int)$optionID.", ".(int)$categoryID.", ".(int)$variantID." ) " );
        }


        function 
schVariantIsSetToSearch$categoryID$optionID$variantID ){

                
$SQL "select COUNT(*) FROM ".CATEGORY_PRODUCT_OPTION_VARIANTS." WHERE categoryID=".(int)$categoryID." AND optionID=".(int)$optionID." AND variantID=".(int)$variantID;
                
$q db_query($SQL);
                
$row db_fetch_row($q);
                return ( 
$row[0] != );
        }


        function &
schGetVariantsForSearch($categoryID$optionID$variants null){

                if(
is_null($variants)){

                        
$variants optGetOptionValues$optionID);
                }
                
$r_VariantID2Variant = array();
                
$r_VariantID = array();
                
$TC count($variants);
                
$tTC 0;
                for (
$j=0;$j<$TC;$j++){

                        
$r_VariantID[$variants[$j]['variantID']] = &$variants[$j];
                        
$tTC++;
                        if(
count($r_VariantID)>299||($j+1)==$TC){

                                
$SQL 'select s.variantID, t.variantID FROM ?#CATEGORY_PRODUCT_OPTION_VARIANTS as s left join ?#PRODUCTS_OPTIONS_VALUES_VARIANTS_TABLE as t on(s.variantID=t.variantID) WHERE s.categoryID=? AND s.optionID=? AND s.variantID IN(?@) order by t.sort_order
                                '
;
                                
$Result db_phquery($SQL, (int)$categoryID, (int)$optionIDarray_keys($r_VariantID));
                                while (
$Row db_fetch_assoc($Result)){

                                        
$r_VariantID2Variant[$Row['variantID']] = &$r_VariantID[$Row['variantID']];
                                }
                                
$tTC 0;
                                
$r_VariantID = array();
                        }
                }

                return 
$r_VariantID2Variant;
        }


        function &
schOptionsAreSetToSearch$categoryID, &$options ){

                
$TC count($options);
                
$r_OptionID2Option = array();
                
$r_OptionID = array();
                
$r_OptionRes = array();

                for (
$j=0;$j<$TC;$j++){

                        
$r_OptionID2Option[$options[$j]['optionID']] = &$options[$j];
                        
$r_OptionID[] = $options[$j]['optionID'];
                        if(
count($r_OptionID)>299||($j+1)==$TC){

                                
$SQL 'select optionID,set_arbitrarily FROM ?#CATEGORY_PRODUCT_OPTIONS_TABLE
                                        WHERE categoryID=? AND optionID IN(?@)'
;
                                
$Result db_phquery($SQL, (int)$categoryID$r_OptionID);
                                while (
$Row db_fetch_assoc($Result)){

                                        
$r_OptionRes[$Row['optionID']] = $Row['set_arbitrarily'];
                                }

                                
$r_OptionID = array();
                        }
                }

                return 
$r_OptionRes;
        }

?>
Онлайн: 0
Реклама