getvarparams( "CatalogItemName" ); if ( $item_id && ( $top_tpl->isvar( "CatalogItemName" ) || $top_tpl->isvar( "CatalogItemNotes" ) ) && !( $params['notshowifItemName'] && $good_id ) ) { $Rs = qexec( $Conn, "select item_name, parent_item_id, item_notes, meta, title, keywords, meta_def, meta_dop from ssp_GoodsTree where item_id= {$item_id}" ); $row = @qfetchrow( @$Rs ); @qfree( @$Rs ); if ( $row ) { $top_tpl->setvar( "CatalogItemName", $params['outbefore'] ); if ( $row['meta_dop'] ) { ( $row ); } $top_tpl->concatvar( "CatalogItemName", $row['item_name'], $row['meta_def'] ); $Rs_p = qexec( $Conn, "select item_name from ssp_GoodsTree where item_id= {$row['parent_item_id']}" ); if ( $row_p = @qfetchrow( @$Rs_p ) ) { $parent_item_name = $row_p['item_name']; } @qfree( @$Rs_p ); if ( $row['meta_def'] ) { $gPageMeta .= $parent_item_name." "; $gPageMeta .= $row['item_name']; } $top_tpl->concatvar( "CatalogItemName", $params['outafter'] ); $params = $top_tpl->getvarparams( "CatalogItemNotes" ); $top_tpl->setvar( "CatalogItemNotes", $params['outbefore'] ); $top_tpl->concatvar( "CatalogItemNotes", $row['item_notes'], $row['meta_def'] ); $top_tpl->concatvar( "CatalogItemNotes", $params['outafter'] ); } } $params = $top_tpl->getvarparams( "ItemName" ); if ( $good_id && $top_tpl->isvar( "ItemName" ) ) { $Rs = qexec( $Conn, "select G.g_name, T.meta_def from ssp_Goods G left join ssp_GoodsTree T on G.item_id=T.item_id where G.good_id= {$good_id}" ); $row = @qfetchrow( @$Rs ); @qfree( @$Rs ); if ( $row ) { $top_tpl->setvar( "ItemName", $params['outbefore'] ); $top_tpl->concatvar( "ItemName", $row['g_name'], $row['meta_def'] ); $top_tpl->concatvar( "ItemName", $params['outafter'] ); } } switch ( $act ) { case 1 : $PageContent = $this->showgoodslist( ); break; case 2 : $PageContent = $this->showgood( ); break; case 3 : $PageContent = $this->order( ); break; case 103 : $PageContent = $this->getorderxml( ); break; case 4 : $PageContent = $this->checkoutform( ); break; case 5 : $PageContent = $this->search( ); break; case 6 : $PageContent = $this->printgoodslist( ); break; case 7 : $PageContent = $this->mailgoodslist( ); break; case 8 : $PageContent = $this->checkoutformanygoods( ); break; case 9 : $PageContent = $this->showscart( ); break; case 10 : $PageContent = $this->getpropertyvalue( ); break; case 11 : $PageContent = $this->zakazlistview( ); break; case 12 : $PageContent = $this->zakazview( ); break; default : $PageContent = $this->showcatalog( ); } $engine =& $engine; if ( $engine->isvar( bask ) ) { $engine->setvar( bask, $GLOBALS[Bask] ); } $engine->setvar( PageContent, $PageContent ); } function showgoodvars( $row, $e, $method = "full" ) { global $Conn; $id = $row['good_id']; $testAuth = 0; if ( $debmode ) { echo "goods testing start"; $time_start = getmicrotime( ); } if ( ( "Auth" ) ) { $userInfo = ( ); if ( $userInfo['guest_id'] == 0 ) { $testAuth = 1; } } if ( $e->isvar( "Registration" ) && 0 < $row[g_registr] && $testAuth == 1 ) { return ""; } $row[meta_def] = 0 + $row[meta_def]; $set = ( ); $usedSpr = $set['spr_usedSpr']; if ( 0 < sizeof( $usedSpr ) ) { reset( $usedSpr ); foreach ( $usedSpr as $spr_id ) { $aSpr = ( $spr_id, $row["sprv_{$spr_id}"] ); foreach ( $aSpr as $Spr ) { $Name = "Spr".$Spr[spr_id]."Name"; if ( $e->isvar( $Name ) ) { $e->setvar( $Name, $Spr[data_name] ); } $Name = "Spr".$Spr[spr_id]."Description"; if ( $e->isvar( $Name ) ) { $e->setvar( $Name, $Spr[data_description] ); } $Name = "Spr".$Spr[spr_id]."PageURL"; if ( $e->isvar( $Name ) ) { $e->setvar( $Name, "Page{$Spr['data_pgid']}.html" ); } } } } if ( $goods_cache[effects] ) { $effects = $goods_cache[effects]; } else { $modProp = new moduleproperties( $Conn, "Goods" ); $effects = $modProp->geteffects( ); $goods_cache[effects] = $effects; } $goodsImages = new dbimage( ); if ( $debmode ) { $time_end = getmicrotime( ); $time = $time_end - $time_start; echo "

p1: {$time} sec

"; } if ( $method == "full" && $e->isvar( "RelatedGoodsList" ) ) { $options = $e->getvarparams( "RelatedGoodsList" ); if ( !$options['template_file'] ) { $options['template_file'] = "relatedGoodsList.htm"; } $options['parent_good_id'] = $row['good_id']; $parent_good_id = $row['good_id']; $Rs = qexec( $Conn, $sql = "select good_id from ssp_Goods where parent_good_id = {$parent_good_id} and g_public > 0 limit 1" ); if ( $r = @qfetchrow( @$Rs ) ) { $options['showAll'] = 1; $e->setvar( "RelatedGoodsList", $this->showgoodslist( $options ) ); } } if ( $e->isvar( fullview_Link ) ) { if ( $set['new_win'] == 2 ) { $e->setvar( fullview_Link, "javascript:openwin = window.open('View_nw_Good{$row[good_id]}.html','','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,height=400,width=400');location.host;openwin.focus();" ); } else { $e->setvar( fullview_Link, "ViewGood{$row[good_id]}.html" ); } } if ( $e->isvar( fullview_Link_win ) ) { $e->setvar( fullview_Link_win, "javascript:openwin = window.open('View_nw_Good{$row['good_id']}.html','','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,height=400,width=400');location.host;openwin.focus();" ); } $e->setvar( Number, $row[Number] ); if ( $debmode ) { $time_end = getmicrotime( ); $time = $time_end - $time_start; echo "

p2: {$time} sec

"; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if ( $e->isvar( Image ) ) { $Images = new dbimage( ); $border = ""; if ( $set['border'] ) { $border .= "this.style.border = '".$set['border']." solid ".$set['border_color']."';"; } $maxwidth = $e->getvarparameter( Image, maxwidth ); $maxheight = $e->getvarparameter( Image, maxheight ); if ( !$maxwidth ) { $maxwidth = $set["img_size_{$method}_w"]; } if ( !$maxheight ) { $maxheight = $set["img_size_{$method}_h"]; } $img_tagData = $e->getvarcondition( Image ); $a_img_tags = $Images->getimagetagswh( $Conn, Goods, $row[good_id], $img_tagData, $maxwidth, $maxheight, 1 ); $showFull = $e->cutvarparameter( Image, "showfull" ); if ( 0 < sizeof( $a_img_tags ) ) { $imgtag = $a_img_tags[0]; eregi( "src=['\"]*([^'\"]+)['\"]*", $imgtag, $regs ); $openjs = $regs[1]; $openjs = eregi_replace( "[\\?\\&]+width=[0-9]+", "", $openjs ); $openjs = eregi_replace( "[\\?\\&]+height=[0-9]+", "", $openjs ); $title = $row[g_name]; $title = str_replace( "<", " <", $title ); $title = urlencode( strip_tags( $title ) ); $img_title = str_replace( "'", "", str_replace( "\"", "", $title ) ); $maxwidthf = $set['img_size_full_w']; $maxheightf = $set['img_size_full_h']; $x = $imgtag[img_x]; $y = $imgtag[img_y]; $nx = $x; $ny = $y; if ( $maxwidthf && $maxwidthf < $x ) { $nx = $maxwidthf; $ny = $nx * $y / $x; $x = $nx; $y = $ny; } if ( $maxheightf && $maxheightf < $y ) { $ny = $maxheightf; $nx = $ny * $x / $y; $x = $nx; $y = $ny; } $xi0 = ( integer ); $yi0 = ( integer ); $x_full = $imgtag[img_x]; $y_full = $imgtag[img_y]; $imgtag = $imgtag[img_tag]; $Listener = ""; if ( $e->isvar( ImageListener ) ) { $Listener = "Book"; } $imageMethod = "{$method}"; $imageMode = $e->getvarparameter( "Image", "mode" ); if ( strtolower( $imageMode ) == "image" ) { $imageMethod = "full"; } else if ( strtolower( $imageMode ) == "nwgood" ) { $set['new_win'] = 2; $set['open_mode'] = 0; } else if ( strtolower( $imageMode ) == "good" ) { $set['new_win'] = 0; $set['open_mode'] = 0; } switch ( $imageMethod ) { case "full" : $imgtag = str_replace( "setvar( Image, $imgtag ); } } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $e->setvar( Name, $row[g_name], $row[meta_def] ); if ( $debmode ) { $time_end = getmicrotime( ); $time = $time_end - $time_start; echo "

p3: {$time} sec

"; } if ( $e->isvar( "ImageList" ) ) { $Images = new dbimage( ); $img_params = $e->getvarparams( "ImageList" ); if ( !$img_params[template_file] ) { $img_params[template_file] = "goodsImageList.htm"; } $e_images = new swengine_class( $img_params ); $maxwidth = $e->getvarparameter( Image, maxwidth ); $maxheight = $e->getvarparameter( Image, maxheight ); if ( !$maxwidth ) { $maxwidth = $set["img_size_{$method}_w"]; } if ( !$maxheight ) { $maxheight = $set["img_size_{$method}_h"]; } $img_tagData = $e_images->getvarcondition( Image ); $border = ""; if ( $set['border'] ) { $border .= "this.style.border = '".$set['border']." solid ".$set['border_color']."';"; } $a_img_tags = $Images->getimagetagswh( $Conn, Goods, $row[good_id], $img_tagData, $maxwidth, $maxheight ); $showFull = $e_images->cutvarparameter( "Image", "showfull" ); if ( 0 < sizeof( $a_img_tags ) ) { $title = $row[g_name]; $title = str_replace( "<", " <", $title ); $title = urlencode( strip_tags( $title ) ); if ( $set['open_mode'] == 2 || $method == "full" ) { $a_img_i = $Images->getimagesinfo( $Conn, "Goods", $row[good_id] ); $xi = array( ); $yi = array( ); $i = 0; $maxwidthf = $set['img_size_full_w']; $maxheightf = $set['img_size_full_h']; if ( @sizeof( @$a_img_i ) ) { foreach ( $a_img_i as $img ) { $x = $img[width]; $y = $img[height]; $nx = $x; $ny = $y; if ( $maxwidthf && $maxwidthf < $x ) { $nx = $maxwidthf; $ny = $nx * $y / $x; $x = $nx; $y = $ny; } if ( $maxheightf && $maxheightf < $y ) { $ny = $maxheightf; $nx = $ny * $x / $y; $x = $nx; $y = $ny; } $xi[$i] = ( integer ); $yi[$i] = ( integer ); $xx = $xi[$i]; $yy = $yi[$i]; $a_img_tags[$i][img_tag] = str_replace( "setvar( "Image", $a_img_tags[$i][img_tag] ); $e->concatvar( "ImageList", $e_i->getcontent( ) ); ++$i; } } } else { foreach ( $a_img_tags as $img_tags ) { if ( $set['new_win'] == 2 ) { $img_tags[img_tag] = str_replace( "setvar( "Image", $img_tags['img_tag'] ); $e->concatvar( "ImageList", $e_i->getcontent( ) ); } } } } if ( $debmode ) { $time_end = getmicrotime( ); $time = $time_end - $time_start; echo "

p4: {$time} sec

"; } if ( $e->isvar( ImageListener ) ) { $ImageListener = ""; $maxwidth = $e->getvarparameter( Image, maxwidth ); $maxheight = $e->getvarparameter( Image, maxheight ); if ( !$maxwidth ) { $maxwidth = $set["img_size_{$method}_w"]; } if ( !$maxheight ) { $maxheight = $set["img_size_{$method}_h"]; } $a_img_i = $Images->getimagetagswh( $Conn, Goods, $row[good_id], "", $maxwidth, $maxheight ); $xi = array( ); $yi = array( ); $i = 0; if ( @sizeof( @$a_img_i ) ) { foreach ( $a_img_i as $img ) { $x = $img[img_x]; $y = $img[img_y]; $nx = $x; $ny = $y; if ( $maxwidth && $maxwidth < $x ) { $nx = $maxwidth; $ny = $nx * $y / $x; $x = $nx; $y = $ny; } if ( $maxheight && $maxheight < $y ) { $ny = $maxheight; $nx = $ny * $x / $y; $x = $nx; $y = $ny; } $xi[$i] = ( integer ); $yi[$i] = ( integer ); ++$i; } } if ( @sizeof( @$a_img_i ) ) { $showMode = $e->cutvarparameter( "ImageListener", "mode" ); $cols = 0 + $e->cutvarparameter( "ImageListener", "cols" ); if ( !$cols ) { $cols = 3; } $maxwidth = $e->cutvarparameter( "ImageListener", "maxwidth" ); if ( !$maxwidth ) { $maxwidth = 100; } $maxheight = $e->cutvarparameter( "ImageListener", "maxheight" ); if ( !$maxheight ) { $maxheight = 100; } $paddingtop = $e->cutvarparameter( "ImageListener", "paddingtop" ); if ( !$paddingtop ) { $paddingtop = 3; } $paddingleft = $e->cutvarparameter( "ImageListener", "paddingleft" ); if ( !$paddingleft ) { $paddingleft = 3; } if ( $showMode == "smallimages" ) { $ImageListener .= ""; $i = 1; foreach ( $a_img_i as $img ) { $x = $img[img_x]; $y = $img[img_y]; $nx = $x; $ny = $y; if ( $maxwidth && $maxwidth < $x ) { $nx = $maxwidth; $ny = $nx * $y / $x; $x = $nx; $y = $ny; } if ( $maxheight && $maxheight < $y ) { $ny = $maxheight; $nx = $ny * $x / $y; $x = $nx; $y = $ny; } $x = round( $x ); $y = round( $y ); $img[width] = $xi[$i - 1]; $img[height] = $yi[$i - 1]; if ( $i == 1 || !( ( $i - 1 ) % $cols ) ) { $ImageListener .= ""; } $ImageListener .= ""; } ++$i; } if ( substr( $ImageListener, -5 ) != "" ) { $ImageListener .= ""; } $ImageListener .= "
"; if ( !( $i % $cols ) ) { $ImageListener .= "
"; } else { $i = 1; foreach ( $a_img_i as $img ) { $img[width] = $xi[$i - 1]; $img[height] = $yi[$i - 1]; $ImageListener .= "{$i} - "; ++$i; } $ImageListener = substr( $ImageListener, 0, -3 ); } $e->setvar( ImageListener, $ImageListener ); } } if ( $debmode ) { $time_end = getmicrotime( ); $time = $time_end - $time_start; echo "

p5: {$time} sec

"; } if ( $e->isvar( "Price" ) && 0 < $row['g_cost'] ) { $params = $e->explodeparams( $e->getvarcondition( "Price" ) ); $price_format = $params[format] ? $params['format'] : "%0.2f"; $e->setvar( "Price", sprintf( $price_format, $row['g_cost'] ) ); } $discount_pc = 0; if ( $userInfo ) { $discount_pc = 0 + $userInfo['PersonalDiscount']; } if ( $debmode ) { $time_end = getmicrotime( ); $time = $time_end - $time_start; echo "

p6: {$time} sec

"; } if ( 0 == $discount_pc ) { $discount_pc = @getdiscountvalue( @$row['g_cost'] * @$row['v_val'] / @$set['valute_val'], "Goods", @$set ); } if ( $debmode ) { $time_end = getmicrotime( ); $time = $time_end - $time_start; echo "

p7: {$time} sec

"; } $discount_sum = 0 + $row['g_cost'] * $discount_pc * 0.01; if ( $e->isvar( "Discount_from_price" ) ) { $params = $e->explodeparams( $e->getvarcondition( "Discount_from_price" ) ); $price_format = $params[format] ? $params['format'] : "%0.2f"; $e->setvar( "Discount_from_price", sprintf( $price_format, $discount_sum ) ); } if ( $e->isvar( "Discount_from_price_JS" ) ) { $params = $e->explodeparams( $e->getvarcondition( "Discount_from_price_JS" ) ); $price_format = $params[format] ? $params['format'] : "%0.2f"; $e->setvar( "Discount_from_price_JS", sprintf( $price_format, $discount_sum ) ); } if ( $debmode ) { $time_end = getmicrotime( ); $time = $time_end - $time_start; echo "

p8: {$time} sec

"; } if ( $e->isvar( "jsQuantityPrices" ) && 0 < $set[discount_quantity] ) { $Rs = qexec( $Conn, "select g_quantity, g_cost from ssp_GoodsPrices where good_id = {$row['good_id']} order by g_quantity" ); $Str = "var QuantityPrices{$row['good_id']} = new Array();\r"; $Str .= " QuantityPrices{$row[good_id]}[0] = new Array(1, ".$row['g_cost'].");\r"; $i = 1; for ( ; $r = @qfetchrow( @$Rs ); ++$i ) { $Str .= " QuantityPrices{$row[good_id]}[{$i}] = new Array({$r['g_quantity']}, {$r['g_cost']});\r"; } $e->setvar( "jsQuantityPrices", $Str ); } $prices_rows = 0; if ( $e->isvar( "QuantityPrices" ) && 0 < $set[discount_quantity] ) { $Rs = qexec( $Conn, "select g_quantity, g_cost, v_nick from ssp_GoodsPrices P left join ssp_Valute V on P.p_valute_id = V.valute_id where good_id = {$row['good_id']} order by g_quantity" ); $prices_rows = @qnum_rows( @$Rs ); } if ( $e->isvar( "QuantityPrices" ) && 0 < $set[discount_quantity] && $prices_rows ) { $params = $e->getvarparams( "QuantityPrices" ); if ( !$params[template_file] ) { $params[template_file] = "goodsQuantityPrices.htm"; } $qpe_base = new swengine_class( $params ); $params = $qpe_base->getvarparams( "List" ); if ( !$params[template_file] ) { $params[template_file] = "goodsQuantityPricesItem.htm"; } $qpe_list = new swengine_class( $params ); $Content = ""; $Number = 1; $qpe = $qpe_list; $qpe->setvar( "Number", $Number ); $p = $qpe->explodeparams( $qpe->getvarcondition( "Quantity" ) ); $format = $p['format'] ? $p['format'] : "%d"; $qpe->setvar( "Quantity", 1 ); $p = $qpe->explodeparams( $qpe->getvarcondition( "Price" ) ); $format = $p['format'] ? $p['format'] : "%0.2f"; $qpe->setvar( "Price", sprintf( $format, $row['g_cost'] ) ); $qpe->setvar( "Valute", $row[v_nick] ); $Content .= $qpe->getcontent( ); $i = 0; $Number = 2; for ( ; $r = @qfetchrow( @$Rs ); ++$i, ++$Number ) { $qpe = $qpe_list; $qpe->setvar( "Number", $Number ); $p = $qpe->explodeparams( $qpe->getvarcondition( "Quantity" ) ); $format = $p['format'] ? $p['format'] : "%d"; $qpe->setvar( "Quantity", $r[g_quantity] ); $p = $qpe->explodeparams( $qpe->getvarcondition( "Price" ) ); $format = $p['format'] ? $p['format'] : "%0.2f"; $qpe->setvar( "Price", sprintf( $format, $r[g_cost] ) ); $qpe->setvar( "Valute", $r[v_nick] ); $Content .= $qpe->getcontent( ); } $qpe_base->setvar( "List", $Content ); $e->setvar( "QuantityPrices", $qpe_base->getcontent( ) ); } if ( $debmode ) { $time_end = getmicrotime( ); $time = $time_end - $time_start; echo "

p9: {$time} sec

"; } if ( $e->isvar( "Price_with_disc" ) && 0 < $row['g_cost'] ) { $params = $e->explodeparams( $e->getvarcondition( "Price_with_disc" ) ); $price_format = $params[format] ? $params['format'] : "%0.2f"; $e->setvar( "Price_with_disc", sprintf( $price_format, $row['g_cost'] - $discount_sum ) ); } if ( $e->isvar( "Cost" ) ) { if ( 0 < $row['g_cost'] ) { $e->setvar( "Cost", 1 ); } else { $e->setvar( "Cost", 0 ); } } $e->setvar( "GoodPrice", sprintf( "%0.2f", $row['g_cost'] ) ); $e->setvar( "Unit", $row['g_edizm'] ); $e->setvar( "Package", sprintf( "%0.2f", $row['g_normaup'] ) ); $e->setvar( "GoodId", $row['good_id'] ); if ( $e->isvar( "ShortText" ) && $row['g_description'] ) { if ( preg_match( "/(\\<|\\<)shorttext(\\>|\\>)(.*)(\\<|\\<)\\/shorttext(\\>|\\>)/imsU", $row['g_description'], $rgdesc ) ) { $tmpe = new swengine_class( array( template => $rgdesc[3] ) ); $e->setvar( "ShortText", $tmpe->getcontent( ), 0 ); } else { $maxlength = 0 + $e->cutvarparameter( "ShortText", "maxlength" ); if ( $maxlength ) { $g_description = str_sethtmllength( $row['g_description'], $maxlength ); $e->setvar( "ShortText", $g_description, 0 ); } else { $tmpe = new swengine_class( array( template => $row['g_description'] ) ); $e->setvar( "ShortText", $tmpe->getcontent( ), 0 ); } } } if ( $e->isvar( "Description" ) && $row['g_description'] ) { $maxlength = 0 + $e->cutvarparameter( "Description", "maxlength" ); if ( preg_match( "/(\\<|\\<)shorttext(\\>|\\>)(.*)(\\<|\\<)\\/shorttext(\\>|\\>)/imsU", $row['g_description'], $rgdesc ) ) { $row['g_description'] = preg_replace( "/(\\<|\\<)shorttext(\\>|\\>)(.*)(\\<|\\<)\\/shorttext(\\>|\\>)/imsU", "", $row['g_description'] ); } if ( $maxlength ) { $g_description = str_sethtmllength( $row['g_description'], $maxlength ); $e->setvar( "Description", $g_description, 0 ); } else { $tmpe = new swengine_class( array( template => $row['g_description'] ) ); $e->setvar( "Description", $tmpe->getcontent( ), 0 ); } } $e->setvar( "Article", $row['g_article'], 1 ); if ( $e->isvar( "isSel" ) ) { if ( 0 < $goods_set ) { $isDel = " checked"; } else { reset( $GLOBALS['HTTP_COOKIE_VARS'] ); $value = each( $GLOBALS['HTTP_COOKIE_VARS'] )[1]; $namm = each( $GLOBALS['HTTP_COOKIE_VARS'] )[0]; while ( each( $GLOBALS['HTTP_COOKIE_VARS'] ) ) { $$namm = $value; } $str = "chk".$row['good_id']; if ( $$str ) { $isDel = $$str; if ( $isDel == "true" ) { $isDel = " checked"; } else { $isDel = ""; } } } $e->setvar( "isSel", $isDel ); } if ( $e->isvar( "zakaz" ) ) { if ( $debmode ) { echo "Registration of good: {$row['g_registr']}

"; echo "testAuth: {$testAuth}

"; } if ( ( !$set[show_trade] || $userInfo[guest_id] ) && 0 < $row['g_cost'] && ( !$row['g_registr'] || !$testAuth ) ) { $e->setvar( "zakaz", 1 ); } else { $e->setvar( "zakaz", 0 ); } } if ( $e->isvar( "Valute" ) && 0 < $row['g_cost'] ) { $e->setvar( "Valute", $row[v_nick] ); } $e->setvar( "Sklad", $row['g_sklad'] ); $e->setvar( "HotSale", $row['g_hotsale'] ); if ( $debmode ) { $time_end = getmicrotime( ); $time = $time_end - $time_start; echo "

p10: {$time} sec

"; } $Rs_prop = qexec( $Conn, $sql = "select prop_id, prop_var from ssp_GoodsProperties" ); while ( $row_p = @qfetchrow( @$Rs_prop ) ) { $PropertyValue_var = "PropertyValue_".$row_p[prop_var]; if ( $e->isvar( $PropertyValue_var ) ) { $PropertyValue = ( array( property_id => $row_p[prop_id], good_id => $row[good_id] ) ); $e->setvar( $PropertyValue_var, $PropertyValue ); } } @qfree( @$Rs_prop ); if ( $debmode ) { $time_end = getmicrotime( ); $time = $time_end - $time_start; echo "

goods testing has loaded: {$time} sec

"; } return $e->getcontent( ); } function getcatalogselect( $options = array( ) ) { global $Conn; $strRet = ""; } function search( $options = array( ) ) { global $Conn; global $keyword; global $item_id; global $g_name; global $g_article; global $g_low_cost; global $g_top_cost; global $modelNumber; global $first_num; $Rs = qexec( $Conn, "select item_id from ssp_Templates where item_name= 'goodsSearchResults_scart.htm' and serv=1" ); if ( qnum_rows( $Rs ) ) { $options[template_file] = "goodsSearchResults_scart.htm"; } else { @qfree( @$Rs ); $Rs = qexec( $Conn, "select item_id from ssp_Templates where item_name= 'goodsSearchResults_zak.htm' and serv=1" ); if ( qnum_rows( $Rs ) ) { $options[template_file] = "goodsSearchResults_zak.htm"; } else { $options[template_file] = "goodsSearchResults.htm"; } } @qfree( @$Rs ); $set = ( ); $set[rows] = $set[goods_num]; $def_options = $set; $where = "where G.g_public"; $ACond = array( ); dbstr( array( keyword, g_name ) ); addwhere( &$where, "CONCAT( g_name, '#', g_description, '#', g_article) like '%!%'", nameconvertforlike( $keyword ), &$ACond, "Ключ поиска:", "'{$keyword}'" ); addwhere( &$where, "CONCAT( g_name, '#', g_description) like '%!%'", nameconvertforlike( $g_name ) ); addwhere( &$where, " g_article like '%!%'", nameconvertforlike( $g_article ) ); $g_low_cost = 0 + $g_low_cost; addwhere( &$where, "G.g_cost*V.v_val>= !", $g_low_cost ); $g_top_cost = 0 + $g_top_cost; addwhere( &$where, "G.g_cost*V.v_val<= !", $g_top_cost ); $modelNumber = 0 + $modelNumber; if ( $modelNumber && 0 < $modelNumber && $modelNumber < 5 ) { addwhere( &$where, "g_in!", $modelNumber ); } $GoodsTree_Join = ""; $item_id = 0 + $item_id; if ( $item_id ) { $Rs = qexec( $Conn, "select item_name from ssp_GoodsTree where item_id= {$item_id}" ); $r = @qfetchrow( @$Rs ); $ACond[] = array( "Позиция в каталоге:", "'{$r['item_name']}'" ); $GoodsTree_Join = "inner join ssp_GoodsTreeCache T on {$item_id} in (T.parent_item_id, T.item_id) and T.item_id= G.item_id"; } $additional_fields = $set['spr_fields']; $usedSpr = $set['spr_usedSpr']; $spr_join = ""; $sprList = "var sprList = [];\r"; if ( $usedSpr ) { reset( $usedSpr ); foreach ( $usedSpr as $spr_id ) { $aSpr = ( $spr_id, 0 + $"sprv_{$spr_id}" ); $Sprlist = ""; $doJoin = 0; $i = 0; $i9 = sizeof( $aSpr ); for ( ; $i < $i9; ++$i ) { if ( $Sprlist ) { $Sprlist .= ", "; } $Sprlist .= "\"spr".$aSpr[$i][spr_id]."\""; if ( $pspr_id = ${ "sprv_".$aSpr[$i][spr_id] } ) { $doJoin = 1; } } $join = ""; if ( $doJoin ) { $i = sizeof( $aSpr ) - 1; $pspr_id = $aSpr[$i]['spr_id']; $vspr_id = 0 + ${ "sprv_".$pspr_id }; if ( $vspr_id ) { addwhere( &$where, "G.sprv_{$pspr_id} = !", $vspr_id ); } else { $join .= "inner join ssp_SprData D{$pspr_id} on D{$pspr_id}.spr_id = {$pspr_id} and D{$pspr_id}.data_id = G.sprv_{$pspr_id}"; $ppspr_id = 0 + $pspr_id; } --$i; for ( ; $join != "" && 0 <= $i; --$i ) { $pspr_id = $aSpr[$i]['spr_id']; $vspr_id = 0 + ${ "sprv_".$pspr_id }; if ( $vspr_id ) { $join .= "inner join ssp_SprData D{$pspr_id} on D{$pspr_id}.spr_id = {$pspr_id} and D{$pspr_id}.data_id = D{$ppspr_id}.parent_data_id and D{$pspr_id}.data_id = {$vspr_id}"; break; } else { $join .= "inner join ssp_SprData D{$pspr_id} on D{$pspr_id}.spr_id = {$pspr_id} and D{$pspr_id}.data_id = D{$ppspr_id}.parent_data_id"; $ppspr_id = 0 + $pspr_id; } } } $sprList .= "sprList[{$iList}] = [{$Sprlist}];\r"; ++$iList; $spr_join .= $join; } } $sort = ""; if ( $set[goods_sort] == 1 ) { $sort = "desc"; } if ( $set[goods_sort] == 2 ) { $sort = "asc"; } $sp_sort = ""; if ( $item_id && $set["order_id{$item_id}"] ) { $sp_sort = " G.".$set["order_id{$item_id}"]." ".$set["asc{$item_id}"].", "; } $Rs = qexec( $Conn, "select DISTINCT G.good_id, G.g_name, G.g_article, G.g_description, G.g_cost, G.g_registr, G.g_sklad, G.g_hotcost, G.g_hotnewgoods, G.g_hotsale, G.g_edizm, G.g_normaup, GT.meta_def, V.v_val as v_val, V.valute_id, V.v_nick {$additional_fields} from ssp_Goods G {$GoodsTree_Join} {$spr_join} left join ssp_GoodsTree GT on G.item_id=GT.item_id and GT.item_show > 0 left join ssp_Valute V on G.valute_id=V.valute_id {$where} order by {$sp_sort}G.good_order, G.good_id ".$sort ); $HTDbGet = 2; $set = ( ); $set[rows] = $set[goods_num]; $rows = 0 + $HTTP_COOKIE_VARS['goods_rows']; if ( 0 < $rows && $rows < 1000 ) { $set['rows'] = $rows; } $def_options = $set; $top_tpl = new swengine_class( $options ); $params = $top_tpl->getvarparams( "List" ); $Images = new dbimage( ); $Content = ""; $i9 = 10000; $ListParams = ( $top_tpl ); $cols = $ListParams[cols]; if ( $top_tpl->isvar( ListManager ) ) { $i9 = $ListParams[rows]; ( $Rs, $top_tpl ); } $e = new swengine_class( $params ); $paramsP = $e->explodeparams( $e->getvarcondition( Price ) ); $price_format = $paramsP[format]; $Number = 1 + $first_num; $i = 0; for ( ; $i < $i9 && ( $row = @qfetchrow( @$Rs ) ); ++$i, ++$Number ) { if ( !$i || !( $i % $cols ) ) { $Content .= ""; } $Content .= ""; $row[Number] = $Number; $e = new swengine_class( $params ); $Content .= ( $row, $e, "arch" ); $Content .= ""; if ( !( ( $i + 1 ) % $cols ) ) { $Content .= ""; } } $top_tpl->setvar( "List", $Content ); $top_tpl->setvar( "g_low_cost", $g_low_cost ? $g_low_cost : "" ); $top_tpl->setvar( "g_top_cost", $g_top_cost ? $g_top_cost : "" ); $top_tpl->setvar( "keyword", str_replace( "\"", """, $keyword ) ); $top_tpl->setvar( "g_name", str_replace( "\"", """, $g_name ) ); return $top_tpl->getcontent( ); } function showhotlist( $options = array( ) ) { return ( $options, "g_hotlist", "hot_num", "hot_cols", "goodsHotList.htm" ); } function showbestcostlist( $options = array( ) ) { return ( $options, "g_hotcost", "hotcost_num", "hotcost_cols", "goodsBestCostList.htm" ); } function shownewgoodslist( $options = array( ) ) { return ( $options, "g_hotnewgoods", "hotnewgoods_num", "hotnewgoods_cols", "goodsNewList.htm" ); } function showhotsalelist( $options = array( ) ) { return ( $options, "g_hotsale", "hotsale_num", "hotsale_cols", "goodsHotSaleList.htm" ); } function showhotlists( $options, $hotFieldName, $hotRowsName, $hotColsName, $defaultTemplate ) { global $Conn; $set = ( ); $set[rows] = $set[$hotRowsName]; $set[cols] = $set[$hotColsName]; $def_options = $set; if ( !$options[template_file] && !$options[template_id] ) { $options[template_file] = $defaultTemplate; } if ( $options[item_id] ) { $item_id = 0 + $options[item_id]; } else { $item_id = 0 + $item_id; } $additional_fields = $set['spr_fields']; $Catalog = ( $Conn, "ssp_GoodsTree" ); $strItems = $Catalog->getfromitemasstringlist( $item_id ); $sql = "select G.good_id, G.g_name, G.g_article, G.g_cost, G.g_description, G.g_registr, G.g_sklad, G.g_hotcost, G.g_hotnewgoods, G.g_hotsale, G.g_edizm, G.g_normaup, V.v_nick, V.v_val {$additional_fields} from ssp_Goods G left join ssp_Valute V on G.valute_id = V.valute_id where {$hotFieldName} and g_public".( $item_id ? " and item_id in ({$strItems})" : "" )." order by {$hotFieldName}_order, good_id desc"; if ( $debmode ) { echo "showHotLists : sql = {$sql}

"; $time_start = getmicrotime( ); } $Rs = qexec( $Conn, $sql ); if ( $debmode ) { $time_end = getmicrotime( ); $time = $time_end - $time_start; echo "

sql completed: {$time} sec

"; } $HTDbGet = 2; $cols = $options[cols]; if ( !$cols ) { $cols = $set[cols]; } $rows = $options[rows]; if ( !$rows ) { $rows = $set[rows]; } $i9 = $rows * $cols; $i9 = 0 < $i9 ? $i9 : 5; $Content = ""; $sec = explode( " ", microtime( ) )[1]; $usec = explode( " ", microtime( ) )[0]; $tm = ( double ) + ( double ) * 100000; srand( $tm ); $max_i = @qnum_rows( @$Rs ) - $i9; if ( $max_i < 0 ) { $max_i = 0; } $i = rand( 0, $max_i ); $i9 += $i; $i_cols = 0; for ( ; $i < $i9 && ( $row = @qfetchrow( @$Rs, @$i ) ); ++$i, ++$i_cols ) { if ( !$i_cols ) { $Content .= ""; } $Content .= ""; $row[Number] = $i + 1; $e = new swengine_class( $options ); $Content .= ( $row, $e, "an" ); $Content .= ""; if ( !( ( $i_cols + 1 ) % $cols ) ) { $Content .= ""; $i_cols = -1; } } @qfree( @$Rs ); return $Content; } function checkoutform( $options = array( ) ) { $Conn = $Conn; $set = ( ); if ( ( "Auth" ) ) { $userInfo = ( ); $guest_id = $userInfo[guest_id]; } if ( !$options[template_file] ) { $options[template_id] = $set[template_zak]; if ( !$options[template_id] ) { $options[template_file] = "zak_mailform.htm"; $options[template_id] = $options[template_file]; } } $e = new swengine_class( $options ); if ( $run && $HTTP_POST_VARS || $guest_id && !$set[form_zak] ) { if ( !$mailto ) { $mailto = $set[mailto]; } if ( !$subject ) { $subject = $subject; } if ( !$subject ) { $subject = "Заказ"; } $subject = $subject; $pgerr = $pgerr; if ( !$pgerr ) { $pgerr = "scart_err"; } $pgok = $pgok; if ( !$pgok ) { $pgok = "scart_ok"; } $mail_e = new swengine_class( array( "scart_mail.htm" ) ); $params = $mail_e->getvarparams( "List" ); $e = new swengine_class( $params ); $Content = ""; $params = $e->getvarparams( "Price" ); $price_format = $params['format'] ? $params['format'] : "%0.2f"; $GQStyle = str_replace( "\"", "'", $e->getvarcondition( GoodQuantity_Input ) ); if ( $orderData ) { $set = ( ); $valute_val = 0 < $set[valute_val] ? $set[valute_val] : 1; $v_nick = $set[v_nick] ? $set[v_nick] : "руб."; $orderData = explode( ",", $GLOBALS[orderData] ); $i = 0; $Summa = 0; $Zakaz = array( ); foreach ( $orderData as $Position ) { if ( !$Position ) { } else { $a_pos = explode( ":", $Position ); $good_id = 0 + $a_pos[0]; if ( !$good_id ) { } else { $Zakaz[] = $good_id; ++$i; $posQuantity = 0 + $a_pos[1]; $Zakaz[] = $posQuantity; $additional_fields = $set['spr_fields']; $Rs = qexec( $Conn, "select T.item_name, G.g_edizm, G.g_normaup, G.g_name as g_name, G.g_article as g_article, G.g_cost as g_cost, G.g_description as g_description, G.valute_id, G.good_id, G.g_sklad, G.g_hotcost, G.g_hotnewgoods, G.g_hotsale, G.g_registr, V.v_val as v_val, V.valute_id {$additional_fields} from ssp_Valute V, ssp_Goods G join ssp_GoodsTree T on T.item_id = G.item_id where G.good_id= {$good_id} and G.valute_id=V.valute_id" ); $row = qfetchrow( $Rs ); if ( !$row ) { } else { $row[Number] = $i; $engine = new swengine_class( $params ); $engine->setvar( Quantity, $posQuantity ); $Content .= ( $row, $engine, "arch" ); $g_cost = $row[g_cost] * $row[v_val] / $valute_val; $g_name = $row[g_name]; $g_article = $row[g_article]; $Zakaz[] = $g_cost; $Summa += $posQuantity * $g_cost; } } } } @qfree( @$Rs ); $mail_e->setvar( "List", $Content ); $discount_pc = 0; if ( $userInfo ) { $discount_pc = 0 + $userInfo['PersonalDiscount']; } if ( 0 == $discount_pc ) { $discount_pc = getdiscountvalue( $Summa, "Goods", $set ); } $discount_sum = 0 + $Summa * $discount_pc * 0.01; $sum_with_discount = $Summa - $discount_sum; $mail_e->setvar( "Discount_from_sum", number_format( $discount_sum, 2, ",", " " ).$v_nick ); $mail_e->setvar( "Summa_with_disc", number_format( $sum_with_discount, 2, ",", " " ).$v_nick ); $mail_e->setvar( "Summa", number_format( $Summa, 2, ",", " " ).$v_nick ); } $options[run] = 1; $savedb = 1; $replayid = 0; $mail_text = ""; if ( !$guest_id || $set[form_zak] ) { $mail_zak = ( $options, "mail_text" ); $form_id = 0 + $mail_zak['form_id']; $mail_text = $mail_zak['mail_text']; } else if ( $guest_id ) { $client_mail = 0; $set = ( ); if ( $set['send_zak_email'] ) { $g_email = $userInfo[g_email]; $login = $userInfo[login]; $sender_email = trim( addslashes( $g_email ) ); if ( !preg_match( "/^[\\w\\d]+\\@[\\w\\d]+\\.[\\w\\d]+/", $sender_email ) ) { $sender_email = trim( addslashes( $login ) ); } if ( preg_match( "/^[\\w\\d]+\\@[\\w\\d]+\\.[\\w\\d]+/", $sender_email ) ) { $client_mail = new swengine_class( array( "scartMailClient.htm" ) ); $params = $client_mail->getvarparams( "List" ); $e = new swengine_class( $params ); $Content = ""; $params = $e->getvarparams( "Price" ); $price_format = $params['format'] ? $params['format'] : "%0.2f"; $GQStyle = str_replace( "\"", "'", $e->getvarcondition( GoodQuantity_Input ) ); if ( $orderData ) { $valute_val = 0 < $set[valute_val] ? $set[valute_val] : 1; $v_nick = $set[v_nick] ? $set[v_nick] : "руб."; $orderData = explode( ",", $GLOBALS[orderData] ); $i = 0; $Summa = 0; $Zakaz = array( ); foreach ( $orderData as $Position ) { $engine = $e; if ( !$Position ) { } else { $a_pos = explode( ":", $Position ); $good_id = 0 + $a_pos[0]; if ( !$good_id ) { } else { $Zakaz[] = $good_id; ++$i; $posQuantity = 0 + $a_pos[1]; $Zakaz[] = $posQuantity; $additional_fields = $set['spr_fields']; $Rs = qexec( $Conn, "select T.item_name, G.g_name as g_name, G.g_article as g_article, G.g_cost as g_cost, G.g_description as g_description, G.valute_id, G.good_id, G.g_sklad, G.g_hotcost, G.g_hotnewgoods, G.g_hotsale, G.g_registr, V.v_val as v_val, V.valute_id {$additional_fields} from ssp_Valute V, ssp_Goods G join ssp_GoodsTree T on T.item_id = G.item_id where G.good_id= {$good_id} and G.valute_id=V.valute_id" ); $row = qfetchrow( $Rs ); $g_cost = $row[g_cost] * $row[v_val] / $valute_val; $g_name = $row[g_name]; $g_article = $row[g_article]; $Zakaz[] = $g_cost; $Summa += $posQuantity * $g_cost; $posSumma = number_format( $posQuantity * $g_cost, 2, ",", " " ); $engine->setvar( Number, $i ); $engine->setvar( Name, $row[g_name] ); $engine->setvar( Article, $row[g_article] ); $engine->setvar( Quantity, $posQuantity ); $engine->setvar( ItemName, $row[item_name] ); if ( $e->isvar( Price ) && 0 < $row[g_cost] ) { $engine->setvar( Price, sprintf( $price_format, $row[g_cost] ) ); } $engine->setvar( GoodPrice, sprintf( "%0.2f", $row[g_cost] ) ); $engine->setvar( GoodId, $good_id ); $engine->setvar( Description, $row[g_description] ); $engine->insertvars( ); $Content .= $engine->getcontent( ); } } } @qfree( @$Rs ); $client_mail->setvar( "List", $Content ); $discount_pc = 0; if ( $userInfo ) { $discount_pc = 0 + $userInfo['PersonalDiscount']; } if ( 0 == $discount_pc ) { $discount_pc = getdiscountvalue( $Summa, "Goods", $set ); } $discount_sum = 0 + $Summa * $discount_pc * 0.01; $sum_with_discount = $Summa - $discount_sum; $client_mail->setvar( "Discount_from_sum", number_format( $discount_sum, 2, ",", " " ).$v_nick ); $client_mail->setvar( "Summa_with_disc", number_format( $sum_with_discount, 2, ",", " " ).$v_nick ); $client_mail->setvar( "Summa", number_format( $Summa, 2, ",", " " ).$v_nick ); } } } if ( $client_mail ) { $form_id = 0 + $userInfo['form_id']; $Rs = qexec( $Conn, "select fieldname, fieldvalue from ssp_FormResutlsData where form_id= {$form_id}" ); while ( $row = qfetchrow( $Rs ) ) { $client_mail->setvar( "RF_{$row['fieldname']}", $row['fieldvalue'] ); } } } if ( $guest_id ) { $form_id = 0 + $userInfo['form_id']; $Rs = qexec( $Conn, "select fieldname, fieldvalue from ssp_FormResutlsData where form_id= {$form_id}" ); while ( $row = qfetchrow( $Rs ) ) { $mail_e->setvar( "RF_{$row['fieldname']}", $row['fieldvalue'] ); } } setcookie( "orderData", "" ); $pgname = $options[template_id]; qrexec( $Conn, "insert into ssp_Zakaz (".( $guest_id ? " guest_id," : "" )." zakaz_exec,".( $form_id ? " form_id," : "" )." pgname, zakaz_sum, discount_sum, time_of_data) values (".( $guest_id ? " {$guest_id}," : "" )." 0,".( $form_id ? " {$form_id}," : "" )." '{$pgname}', {$Summa}, {$discount_sum}, NOW())" ); $zakaz_id = qgetlast( $Conn, "Zakaz" ); $zakaz_num = date( "d" ).date( "m" )."/".$zakaz_id; qrexec( $Conn, "update ssp_Zakaz set zakaz_num= '{$zakaz_num}' where zakaz_id= {$zakaz_id}" ); $headers = "Content-type: text/html; charset=windows-1251"; $mail_e->setvar( "ZakNumber", $zakaz_num ); $mail_text .= $mail_e->getcontent( ); $mail = @mail( @$mailto, @$subject, @$mail_text, @$headers ); if ( $mail && $client_mail ) { $headers = "Content-type: text/html; charset=windows-1251"; $client_mail->setvar( "FormData", $mail_text ); $client_mail->setvar( "ZakNumber", $zakaz_num ); $mail_txt = $client_mail->getcontent( ); $ReplayTo = ""; if ( $set[mailto] ) { $ReplayTo = "From: {$set['mailto']}\r"; } $headers .= $ReplayTo; @mail( @$sender_email, @getenv( "HTTP_HOST" ), @$mail_txt, @$headers ); } while ( 0 < sizeof( $Zakaz ) ) { $good_id = array_shift( $Zakaz ); $Quant = array_shift( $Zakaz ); $cost = array_shift( $Zakaz ); qrexec( $Conn, "insert into ssp_ZakazGoods ( zakaz_id, good_id, good_quant, g_price) values ( {$zakaz_id}, {$good_id}, {$Quant}, {$cost})" ); } $e_ok = new swengine_class( array( template_id => $pgok ) ); if ( $e_ok->isvar( ZakazNum ) ) { $e_ok->setvar( ZakazNum, $zakaz_num ); } return $e_ok->getcontent( ).""; $e_err = new swengine_class( array( template_id => $pgerr ) ); return $e_err->getcontent( ); } else { if ( !$guest_id || $set[form_zak] ) { if ( eregi( "(]+)", $e->content, $regs ) ) { if ( eregi( "(action=['\"]*[^'\"]*['\"]*)", $regs[2], $regs2 ) ) { $e->content = str_replace( $regs2[1], "", $e->content ); } $e->content = str_replace( $regs[1], "

content ); } return $e->getcontent( ); } } } function zakazview( $options = array( ) ) { global $Conn; $set = ( ); if ( ( "Auth" ) ) { $userInfo = ( ); $guest_id = $userInfo[guest_id]; if ( !$guest_id ) { return ( ); } } else { return ""; } $set[rows] = 100; $def_options = $set; $cat_item_id = $item_id; if ( !$options[template_file] && !$options[template_id] ) { $options[template_file] = "usersOrder.htm"; } $top_tpl = new swengine_class( $options ); $row = 0; $zakaz_num = 0 + $zakaz_num; $zakaz_id = 0 + $zakaz_id; if ( $zakaz_num || $zakaz_id ) { $Rs = qexec( $Conn, $sql = "select zakaz_id, zakaz_num, zakaz_exec, zakaz_sum, discount_sum, time_of_data from ssp_Zakaz where guest_id = {$guest_id}".( $zakaz_id ? " and zakaz_id = '{$zakaz_id}'" : "" ).( $zakaz_num ? " and zakaz_num = '{$zakaz_num}'" : "" ) ); $row = @qfetchrow( @$Rs ); } if ( $row ) { $top_tpl->setvar( "OrderID", $row[zakaz_id] ); $top_tpl->setvar( "OrderNumber", $row[zakaz_num] ); $top_tpl->setvar( "OrderFulfillment", $row[zakaz_exec] ); $top_tpl->setvar( "OrderFulfillmentString", $row[zakaz_exec] ? "Выполнен" : "На обработке" ); $top_tpl->setvar( "Summa", $row[zakaz_sum] ); $top_tpl->setvar( "Discount", $row[discount_sum] ); $DateCnv = new dbdatecnv_class( $top_tpl->getvarparameter( Date, style ) ); $top_tpl->setvar( "Date", $DateCnv->convert( $row[time_of_data] ) ); } else { $top_tpl = new swengine_class( array( "template_file" => "usersOrderNotFound.htm" ) ); return $top_tpl->getcontent( ); } $params = $top_tpl->getvarparams( "List" ); $additional_fields = $set['spr_fields']; $Rs = qexec( $Conn, $sql = "select zakaz_id, good_id, good_quant, g_price from ssp_ZakazGoods where zakaz_id = '{$zakaz_id}' order by good_id" ); $ListParams = ( $top_tpl ); $cols = $ListParams[cols]; if ( $top_tpl->isvar( ListManager ) ) { $i9 = $ListParams[rows]; ( $Rs, $top_tpl ); } $Number = 1 + $first_num; $Content = ""; $i9 = 10000; $price_params = $e->explodeparams( $e->getvarcondition( "OrderGoodPrice" ) ); $price_format = $price_params[format] ? $price_params[format] : "%0.2f"; $i = 0; for ( ; $i < $i9 && ( $row = @qfetchrow( @$Rs ) ); ++$i, ++$Number, $e = new swengine_class( $params ) ) { if ( !$i || !( $i % $cols ) ) { $Content .= ""; } $Content .= ""; $e = new swengine_class( $params ); $e->setvar( "OrderGoodQuantity", $row[good_quant] ); $e->setvar( "OrderGoodPrice", sprintf( $price_format, $row[g_price] ) ); $e->setvar( "OrderGoodSumma", $row[g_price] * $row[good_quant] ); $Rs1 = qexec( $Conn, "select G.g_edizm, G.g_normaup, G.g_name as g_name, G.g_article as g_article, G.g_cost as g_cost, G.g_description as g_description, G.valute_id, G.good_id, G.g_sklad, G.g_hotcost, G.g_hotnewgoods, G.g_hotsale, G.g_registr, V.v_val as v_val, V.valute_id {$additional_fields} from ssp_Goods G, ssp_Valute V where G.good_id= {$row['good_id']} and G.valute_id=V.valute_id" ); $row = qfetchrow( $Rs1 ); $row[Number] = $Number; $Content .= ( $row, $e, "arch" ); $Content .= ""; if ( !( ( $i + 1 ) % $cols ) ) { $Content .= ""; } } $top_tpl->setvar( "List", $Content ); return $top_tpl->getcontent( ); } function zakazlistview( $options = array( ) ) { global $Conn; $set = ( ); if ( ( "Auth" ) ) { $userInfo = ( ); $guest_id = 0 + $userInfo[guest_id]; if ( !$guest_id ) { return ( ); } } else { return ""; } $set[rows] = 0 + $set[zakaz_num]; if ( $set[rows] < 1 ) { $set[rows] = 10; } $def_options = $set; $cat_item_id = $item_id; if ( !$options[template_file] && !$options[template_id] ) { $options[template_file] = "usersOrderList.htm"; } $top_tpl = new swengine_class( $options ); $params = $top_tpl->getvarparams( "List" ); $additional_fields = $set['spr_fields']; $Rs = qexec( $Conn, $sql = "select zakaz_id, zakaz_num, zakaz_exec, zakaz_sum, discount_sum, time_of_data from ssp_Zakaz where guest_id = {$guest_id} order by zakaz_id desc" ); $ListParams = ( $top_tpl ); $cols = $ListParams[cols]; if ( $top_tpl->isvar( ListManager ) ) { $i9 = $ListParams[rows]; ( $Rs, $top_tpl ); } $Number = 1 + $first_num; $e = new swengine_class( $params ); $Content = ""; $i9 = 10000; $i = 0; for ( ; $i < $i9 && ( $row = @qfetchrow( @$Rs ) ); ++$i, ++$Number, $e = new swengine_class( $params ) ) { if ( !$i || !( $i % $cols ) ) { $Content .= ""; } $Content .= ""; $e->setvar( "OrderID", $row[zakaz_id] ); $e->setvar( "OrderNumber", $row[zakaz_num] ); $e->setvar( "OrderFulfillment", $row[zakaz_exec] ); $e->setvar( "OrderFulfillmentString", $row[zakaz_exec] ? "Выполнен" : "На обработке" ); $e->setvar( "Summa", $row[zakaz_sum] ); $e->setvar( "Discount", $row[discount_sum] ); $DateCnv = new dbdatecnv_class( $e->getvarparameter( Date, style ) ); $e->setvar( "Date", $DateCnv->convert( $row[time_of_data] ) ); $e->insertvars( ); $Content .= $e->getcontent( ); $Content .= ""; if ( !( ( $i + 1 ) % $cols ) ) { $Content .= ""; } } $top_tpl->setvar( "List", $Content ); return $top_tpl->getcontent( ); } function order( $options = array( ) ) { global $Conn; $set = ( ); if ( $set['reg_before_buy'] && ( "Auth" ) ) { $userInfo = ( ); $guest_id = $userInfo[guest_id]; if ( !$guest_id || $reg_before_buy == "new" ) { if ( $reg_before_buy == "new" ) { return ( ); } else { if ( !isset( $reg_before_buy ) ) { $options['template_file'] = "reg_before_buy.htm"; $e = new swengine_class( $options ); return $e->getcontent( ); } else { if ( ( array( "autologin" => true ), true ) ) { $userInfo = ( true ); $guest_id = $userInfo[guest_id]; if ( !$guest_id ) { return ( ); } } else { return ( ); } } } } } else { if ( ( "Auth" ) ) { $userInfo = ( ); $guest_id = $userInfo[guest_id]; } } if ( !$options[template_file] && !$options[template_id] ) { $options[template_file] = "scart.htm"; } $top_e = new swengine_class( $options ); $js_opener = preg_match( "//ims", $top_e->content ) ? "opener." : ""; $params = $top_e->getvarparams( "List" ); $e = new swengine_class( $params ); $Content = ""; $GQStyle = str_replace( "\"", "'", $e->getvarcondition( GoodQuantity_Input ) ); $orderData = explode( ",", $GLOBALS[orderData] ); $i = 0; $Summa = 0; $Script = "", 0, 1 ); } $row['Number'] = $i; $Content .= ( $row, $engine, "arch" ); } } } @qfree( @$Rs ); } else { $options[template_file] = "scart_empty.htm"; $top_e = new swengine_class( $options ); return $top_e->getcontent( ); } $top_e->setvar( "List", $Content ); $Summa = sprintf( $price_format, $Summa ); $top_e->setvar( "Summa", "{$Summa} {$v_nick}{$Script} document.all.summa.innerHTML={$js_opener}roundSum(tsum);" ); $discount_pc = 0; if ( $userInfo ) { $discount_pc = 0 + $userInfo['PersonalDiscount']; } if ( 0 == $discount_pc ) { $discount_pc = 0 + $set['discount_pc']; } if ( $set[discount_s4] && $set[discount_s4] <= $Summa ) { $discount_sm = 0 + $set[discount_pc4]; } else if ( $set[discount_s3] && $set[discount_s3] <= $Summa ) { $discount_sm = 0 + $set[discount_pc3]; } else if ( $set[discount_s2] && $set[discount_s2] <= $Summa ) { $discount_sm = 0 + $set[discount_pc2]; } else if ( $set[discount_s1] && $set[discount_s1] <= $Summa ) { $discount_sm = 0 + $set[discount_pc1]; } $discount_sum = 0 + $Summa * ( $discount_pc + $discount_sm ) * 0.01; if ( $top_e->isvar( "Discount_from_sum" ) ) { $params = $top_e->explodeparams( $top_e->getvarcondition( "Discount_from_sum" ) ); $price_format = $params[format] ? $params['format'] : "%0.2f"; $top_e->setvar( "Discount_from_sum", "".sprintf( $price_format, $discount_sum )."".$v_nick."{$Script}var disc_tab = [0, {$discount_pc}, {$set['discount_s4']}, {$set['discount_pc4']}, {$set['discount_s3']}, {$set['discount_pc3']}, {$set['discount_s2']}, {$set['discount_pc2']}, {$set['discount_s1']}, {$set[discount_pc1]}];var pc = disc_tab[1];for(var i=2; i< disc_tab.length-1; ){ if(disc_tab[i] >0 && tsum >= disc_tab[i]) { pc+= disc_tab[i+1]; break; } i+=2;}var tdiscount = pc* 0.01;document.all.discount.innerHTML={$js_opener}roundSum(tsum* tdiscount);" ); } if ( $top_e->isvar( "Summa_with_disc" ) ) { $params = $top_e->explodeparams( $top_e->getvarcondition( "Summa_with_disc" ) ); $price_format = $params[format] ? $params['format'] : "%0.2f"; $top_e->setvar( "Summa_with_disc", "".sprintf( $price_format, $Summa - $discount_sum )."".$v_nick ); } return $top_e->getcontent( ); } function getorderxml( ) { global $Conn; $set = ( ); if ( ( "Auth" ) ) { $userInfo = ( ); } $orderData = explode( ",", $GLOBALS[orderData] ); $i = 0; $Summa = 0; $Response = xmldoc( "" ); $SCart = $Response->root( $Response ); $valute_val = 0 < $set[valute_val] ? $set[valute_val] : 1; $v_nick = $set[v_nick] ? $set[v_nick] : "руб."; $SCart->set_attribute( "valute_koef", ( $valute_val ) ); $SCart->set_attribute( "valute_name", ( $v_nick ) ); if ( $orderData ) { $ErrorMessage = false; foreach ( $orderData as $Position ) { if ( !$Position ) { } else { $a_pos = explode( ":", $Position ); $good_id = 0 + $a_pos[0]; if ( !$good_id ) { } else { ++$i; $SCartItem = $SCart->new_child( "SCartItem" ); $posQuantity = 0 + $a_pos[1]; $additional_fields = $set['spr_fields']; $Rs = qexec( $Conn, "select G.g_name as g_name, G.g_article as g_article, G.g_cost as g_cost, G.g_description as g_description, G.valute_id, G.good_id, G.g_sklad, G.g_hotcost, G.g_hotnewgoods, G.g_hotsale, G.g_registr, V.v_val as v_val, V.valute_id {$additional_fields} from ssp_Goods G , ssp_Valute V where G.good_id= {$good_id} and G.valute_id=V.valute_id" ); $row = qfetchrow( $Rs ); @qfree( @$Rs ); $g_cost = $row['g_cost'] * $row['v_val'] / $valute_val; $g_name = $row['g_name']; $Summa += $posQuantity * $g_cost; $SCartItem->set_attribute( "Number", $i ); $SCartItem->set_attribute( "Name", ( $row['g_name'] ) ); $SCartItem->set_attribute( "Quantity", $posQuantity ); $SCartItem->set_attribute( "Article", ( $row['g_article'] ) ); $Rs_prop = qexec( $Conn, $sql = "select prop_id, prop_var from ssp_GoodsProperties" ); while ( $row_p = @qfetchrow( @$Rs_prop ) ) { $PropertyValue_var = "PropertyValue_".$row_p[prop_var]; $PropertyValue = ( array( property_id => $row_p[prop_id], good_id => $good_id ) ); $SCartItem->set_attribute( $PropertyValue_var, ( $PropertyValue ) ); } @qfree( @$Rs_prop ); if ( 0 < $row['g_cost'] ) { $SCartItem->set_attribute( "Price0", sprintf( "%d", $g_cost ) ); $SCartItem->set_attribute( "Price", sprintf( "%0.2f", $g_cost ) ); } $SCartItem->set_attribute( "GoodPrice", sprintf( "%0.2f", $g_cost ) ); $SCartItem->set_attribute( "GoodId", $good_id ); $SCartItem->set_attribute( "ItemTotal", sprintf( "%0.2f", $posQuantity * $g_cost ) ); $SCartItem->set_attribute( "ItemTotal0", sprintf( "%d", $posQuantity * $g_cost ) ); } } } } $SCart->set_attribute( "Summa", sprintf( "%0.2f", $Summa ) ); $SCart->set_attribute( "Summa0", sprintf( "%d", $Summa ) ); $discount_pc = 0; if ( $userInfo ) { $discount_pc = 0 + $userInfo['PersonalDiscount']; } if ( 0 == $discount_pc ) { $discount_pc = @getdiscountvalue( @$Summa, "Goods", @$set ); } $discount_sum = 0 + $Summa * $discount_pc * 0.01; $SCart->set_attribute( "DiscountOfSum", sprintf( "%0.2f", $discount_sum ) ); $SCart->set_attribute( "Total", sprintf( "%0.2f", $Summa - $discount_sum ) ); $SCart->set_attribute( "Total0", sprintf( "%d", $Summa - $discount_sum ) ); $Response = $Response->dumpmem( ); if ( ob_get_length( ) < 1 && !headers_sent( ) ) { header( "Content-type: text/xml" ); echo $Response; exit( ); } } function showfullgoods( $options = array( ) ) { return ( $options ); } function showgood( $options = array( ) ) { global $Conn; global $mode; if ( $options[good_id] ) { $good_id = 0 + $options[good_id]; if ( !$good_id ) { $good_id = $good_id; } } else { $good_id = 0 + $good_id; } $set = ( ); $additional_fields = $set['spr_fields']; $Rs = qexec( $Conn, "select G.g_edizm, G.g_normaup, G.good_id, G.item_id, G.g_name, G.g_description, G.g_public, G.g_article, G.g_cost, G.g_sklad, G.g_hotcost, G.g_hotnewgoods, G.g_hotsale, G.g_registr, T.access, T.meta_def, V.v_nick, V.v_val {$additional_fields} from ssp_Goods G, ssp_GoodsTree T, ssp_Valute V where G.g_public".( $good_id ? " and G.good_id= {$good_id}" : "" )." and T.item_id= G.item_id and V.valute_id= G.valute_id order by G.good_id desc" ); $Content = ""; $HTDbGet = 2; $row = @qfetchrow( @$Rs ); @qfree( @$Rs ); $item_id = 0 + $row[item_id]; if ( $item_id && !$options[template_file] && !$options[template_id] ) { $Catalog = ( $Conn, "select item_id, parent_item_id, item_name from ssp_GoodsTree" ); $Item = $Catalog->$item_id; $i = 0; for ( ; $Item && $i < 255; ++$i, $Item = $Catalog->$parent_item_id ) { if ( $set["gftpl_cat{$Item->item_id}"] ) { $options[template_file] = $set["gftpl_cat{$Item->item_id}"]; } else { $parent_item_id = $Item->item_id == $Item->parent_item_id ? 0 : $Item->parent_item_id; } } } if ( !$options[template_file] && !$options[template_id] ) { $Rs = qexec( $Conn, "select item_id from ssp_Templates where item_name= 'goods_scart.htm' and serv=1" ); if ( qnum_rows( $Rs ) ) { if ( $mode == "nw" ) { $options[template_file] = "goodfull_scart_nw.htm"; } else { $options[template_file] = "goodfull_scart.htm"; } } else { @qfree( @$Rs ); $Rs = qexec( $Conn, "select item_id from ssp_Templates where item_name= 'goods_zak.htm' and serv=1" ); if ( qnum_rows( $Rs ) ) { if ( $mode == "nw" ) { $options[template_file] = "goodfull_zak_nw.htm"; } else { $options[template_file] = "goodfull_zak.htm"; } } else if ( $mode == "nw" ) { $options[template_file] = "goodfull_nw.htm"; } else { $options[template_file] = "goodfull.htm"; } } @qfree( @$Rs ); } $e = new swengine_class( $options ); $additional_fields = $set['spr_fields']; $Rs = qexec( $Conn, "select G.g_edizm, G.g_normaup, G.good_id, G.item_id, G.g_name, G.g_description, G.g_public, G.g_article, G.g_cost, G.g_sklad, G.g_hotcost, G.g_hotnewgoods, G.g_hotsale, G.g_registr, G.title, G.meta, G.keywords, T.access, T.meta_def, V.v_nick, V.v_val, G.parent_good_id {$additional_fields} from ssp_Goods G, ssp_GoodsTree T, ssp_Valute V where G.g_public".( $good_id ? " and G.good_id= {$good_id}" : "" )." and T.item_id= G.item_id and V.valute_id= G.valute_id order by G.good_id desc" ); $Content = ""; $HTDbGet = 2; $row = @qfetchrow( @$Rs ); @qfree( @$Rs ); if ( $row && 1 < $row['access'] && ( "Auth" ) ) { if ( $access_error = ( array( "item_id" => $row['item_id'], "access" => $row['access'], "ct_name" => "GoodsTree" ) ) ) { switch ( $access_error ) { case 401 : $error_template_name = "auth_Required.htm"; break; default : $error_template_name = "auth_Forbidden.htm"; } $e_err = new swengine_class( array( template_id => $error_template_name ) ); return $e_err->getcontent( ); } } if ( $row ) { if ( $mod == "Goods" && $good_id == $row[good_id] ) { $gPageTitle = $row[title]; $gPageMeta = $row[meta]; $gPageKeywords = $row[keywords]; } $Content = ( $row, $e, "full" ); } return $Content; } function showarticlesrelatedlist( $options = array( ) ) { global $Conn; global $first_num; $article_id = 0 + $article_id; if ( !$options[template_file] && !$options[template_id] ) { $options[template_file] = "rel_goods.htm"; } $Rs = qexec( $Conn, "select G.good_id, G.g_name, G.g_description, G.g_cost, G.g_registr, G.g_edizm, G.g_normaup, V.v_nick, V.v_val from ssp_Goods G, ssp_ArticlesGoods AG, ssp_Valute V where AG.article_id= {$article_id} and G.good_id= AG.good_id and G.valute_id=V.valute_id order by G.good_order, G.good_id asc" ); $HTDbGet = 2; $top_tpl = new swengine_class( $options ); if ( $top_tpl->isvar( CatalogTree ) ) { if ( $options[showOnlyTop] ) { $item_id = 0; } else if ( $options[item_id] ) { $item_id = $options[item_id]; } else { $item_id = $item_id; } $item_id = 0 + $item_id; ( $top_tpl, $item_id, "ssp_GoodsTree", "ssp_Goods", "good_id", "g_public", "GoodsTree", "Goods" ); } $params = $top_tpl->getvarparams( "List" ); $Images = new dbimage( ); $Content = ""; $i9 = 10000; $ListParams = ( $top_tpl ); $cols = $ListParams[cols]; $i9 = $ListParams[rows]; if ( $top_tpl->isvar( ListManager ) ) { ( $Rs, $top_tpl ); } $Number = 1 + $first_num; $i = 0; for ( ; $i < $i9 && ( $row = @qfetchrow( @$Rs ) ); ++$i, ++$Number, $HTDbGet = 2 ) { if ( !$i || !( $i % $cols ) ) { $Content .= ""; } $Content .= ""; $row[Number] = $Number; $e = new swengine_class( $params ); $Content .= ( $row, $e, "an" ); $Content .= ""; if ( !( ( $i + 1 ) % $cols ) ) { $Content .= ""; } } $top_tpl->setvar( "List", $Content ); return $top_tpl->getcontent( ); } function shownewsrelatedlist( $options = array( ) ) { global $Conn; global $first_num; $news_id = 0 + $news_id; if ( !$options[template_file] && !$options[template_id] ) { $options[template_file] = "rel_goods.htm"; } $Rs = qexec( $Conn, "select G.good_id, G.g_name, G.g_description, G.g_cost, G.g_registr, G.g_edizm, G.g_normaup, V.v_nick, V.v_val from ssp_Goods G, ssp_NewsGoods AG, ssp_Valute V where AG.news_id= {$news_id} and G.good_id= AG.good_id and G.valute_id=V.valute_id order by G.good_order, G.good_id asc" ); $HTDbGet = 2; $top_tpl = new swengine_class( $options ); if ( $top_tpl->isvar( CatalogTree ) ) { if ( $options[showOnlyTop] ) { $item_id = 0; } else if ( $options[item_id] ) { $item_id = $options[item_id]; } else { $item_id = $item_id; } $item_id = 0 + $item_id; ( $top_tpl, $item_id, "ssp_GoodsTree", "ssp_Goods", "good_id", "g_public", "GoodsTree", "Goods" ); } $params = $top_tpl->getvarparams( "List" ); $Images = new dbimage( ); $Content = ""; $i9 = 10000; $ListParams = ( $top_tpl ); $cols = $ListParams[cols]; $i9 = $ListParams[rows]; if ( $top_tpl->isvar( ListManager ) ) { ( $Rs, $top_tpl ); } $Number = 1 + $first_num; $i = 0; for ( ; $i < $i9 && ( $row = @qfetchrow( @$Rs ) ); ++$i, ++$Number, $HTDbGet = 2 ) { if ( !$i || !( $i % $cols ) ) { $Content .= ""; } $Content .= ""; $row[Number] = $Number; $e = new swengine_class( $params ); $Content .= ( $row, $e, "an" ); $Content .= ""; if ( !( ( $i + 1 ) % $cols ) ) { $Content .= ""; } } $top_tpl->setvar( "List", $Content ); return $top_tpl->getcontent( ); } function showgoodslist( $options = array( ) ) { global $Conn; global $first_num; if ( $options[item_id] ) { $item_id = 0 + $options[item_id]; } else { $item_id = 0 + $item_id; } $parent_good_id = 0; if ( $options[parent_good_id] ) { $parent_good_id = 0 + $options[parent_good_id]; } if ( $parent_good_id ) { $item_id = 0; } $Rs = qexec( $Conn, "select access, item_show_mode from ssp_GoodsTree where item_id= {$item_id}" ); $row = @qfetchrow( @$Rs ); @qfree( @$Rs ); if ( $row && 1 < $row['access'] && ( "Auth" ) ) { if ( $access_error = ( array( "item_id" => $item_id, "access" => $row['access'], "ct_name" => "GoodsTree" ) ) ) { switch ( $access_error ) { case 401 : $error_template_name = "auth_Required.htm"; break; default : $error_template_name = "auth_Forbidden.htm"; } $e_err = new swengine_class( array( template_id => $error_template_name ) ); return $e_err->getcontent( ); } } $set = ( ); $cat_item_id = $item_id; $Catalog = 0; if ( $item_id && !$options[template_file] && !$options[template_id] ) { $Catalog = ( $Conn, "select item_id, parent_item_id, item_name, item_show from ssp_GoodsTree" ); $Item = $Catalog->$item_id; $i = 0; for ( ; $Item && $i < 255; ++$i, $Item = $Catalog->$parent_item_id ) { if ( $set["listtpl_cat{$Item->item_id}"] ) { $options[template_file] = $set["listtpl_cat{$Item->item_id}"]; } else { $parent_item_id = $Item->item_id == $Item->parent_item_id ? 0 : $Item->parent_item_id; } } } if ( !$options[template_file] && !$options[template_id] ) { $Rs = qexec( $Conn, "select item_id from ssp_Templates where item_name= 'goods_scart.htm' and serv=1" ); if ( qnum_rows( $Rs ) ) { $options[template_file] = "goods_scart.htm"; } else { @qfree( @$Rs ); $Rs = qexec( $Conn, "select item_id from ssp_Templates where item_name= 'goods_zak.htm' and serv=1" ); if ( qnum_rows( $Rs ) ) { $options[template_file] = "goods_zak.htm"; } else { $options[template_file] = "goods.htm"; } } @qfree( @$Rs ); } $sort = ""; if ( $set[goods_sort] == 1 ) { $sort = "desc"; } if ( $set[goods_sort] == 2 ) { $sort = "asc"; } $HTDbGet = 2; $top_tpl = new swengine_class( $options ); $engine =& $engine; if ( $top_tpl->isvar( CatalogTree ) ) { if ( $options[showOnlyTop] ) { $item_id = 0; } else if ( $options[item_id] ) { $item_id = $options[item_id]; } else { $item_id = $item_id; } $item_id = 0 + $item_id; ( $top_tpl, $item_id, "ssp_GoodsTree", "ssp_Goods", "good_id", "g_public", "GoodsTree", "Goods", "CatalogTreeOut", 1 ); } $params = $top_tpl->getvarparams( "List" ); $additional_fields = $set['spr_fields']; $sp_sort = ""; if ( $item_id && $set["order_id{$item_id}"] ) { $sp_sort = " G.".$set["order_id{$item_id}"]." ".$set["asc{$item_id}"].", "; } $parent_item_ids = 0; if ( $item_id && 0 < $row['item_show_mode'] ) { if ( !$Catalog ) { $Catalog = ( $Conn, "select item_id, parent_item_id, item_show from ssp_GoodsTree" ); } $subTree = $Catalog->getsubtree( $item_id ); $parent_item_ids = "{$item_id}"; foreach ( $subTree as $item ) { if ( 0 < $item->item_show ) { $parent_item_ids .= ",{$item->item_id}"; } } $item_id = 0; $options[showAll] = 1; } $Rs = qexec( $Conn, $sql = "select G.good_id, G.g_name, G.g_article, G.g_description, G.g_cost, G.g_registr, G.g_sklad, G.g_hotcost, G.g_hotnewgoods, G.g_hotsale, G.g_edizm, G.g_normaup, T.meta_def, V.v_nick, V.v_val {$additional_fields} from ssp_Goods G left join ssp_GoodsTree T on T.item_id = G.item_id left join ssp_Valute V on G.valute_id = V.valute_id where".( $item_id || !$options[showAll] ? " G.item_id= {$item_id} and " : "" ).( $parent_item_ids ? " G.item_id in ({$parent_item_ids}) and " : "" ).( $parent_good_id ? " G.parent_good_id = {$parent_good_id} and" : "" )." g_public > 0 order by {$sp_sort}good_order, good_id ".$sort ); $Images = new dbimage( ); $Content = ""; $i9 = 10000; $set = ( ); $set[rows] = $set[goods_num]; $rows = 0 + $HTTP_COOKIE_VARS['goods_rows']; if ( 0 < $rows && $rows < 1000 ) { $set['rows'] = $rows; } $def_options = $set; $ListParams = ( $top_tpl ); $cols = $ListParams[cols]; if ( $top_tpl->isvar( ListManager ) ) { $i9 = $ListParams[rows]; ( $Rs, $top_tpl ); } $Number = 1 + $first_num; $HTDbGet = 2; $i = 0; for ( ; $i < $i9 && ( $row = @qfetchrow( @$Rs ) ); ++$i, ++$Number, $HTDbGet = 2 ) { if ( !$i || !( $i % $cols ) ) { $Content .= ""; } $Content .= ""; $row[Number] = $Number; $e = new swengine_class( $params ); $Content .= ( $row, $e, "arch" ); $Content .= ""; if ( !( ( $i + 1 ) % $cols ) ) { $Content .= ""; } if ( $goods_set == 2 ) { $str = "chk".$row['good_id']; setcookie( $str, "true" ); } } $top_tpl->setvar( "List", $Content ); if ( !$i && $top_tpl->isvar( "Notes" ) ) { $Rs1 = qexec( $Conn, "select item_notes from ssp_GoodsTree where item_id= {$item_id}" ); if ( $row1 = @qfetchrow( @$Rs1 ) ) { $top_tpl->setvar( "Notes", $row['item_notes'], 1 ); } @qfree( @$Rs1 ); } if ( $top_tpl->isvar( "first_num" ) ) { $top_tpl->setvar( "first_num", $first_num ); } if ( $top_tpl->isvar( "goods_set" ) ) { $top_tpl->setvar( "goods_set", $GLOBALS['goods_set'] ); } if ( $top_tpl->isvar( "item_id" ) ) { $top_tpl->setvar( "item_id", $item_id ); } $e_make_price = new swengine_class( array( "make_price" ) ); if ( $e_make_price->isvar( "item_id" ) ) { $e_make_price->setvar( "item_id", $item_id ); } if ( $e_make_price->isvar( "goods_set" ) ) { $e_make_price->setvar( "goods_set", $GLOBALS['goods_set'] ); } if ( $e_make_price->isvar( "first_num" ) ) { $e_make_price->setvar( "first_num", $first_num ); } $make_price = $e_make_price->getcontent( ); if ( 0 < $i && $top_tpl->isvar( "make_price" ) ) { $top_tpl->setvar( "make_price", $make_price ); } return $top_tpl->getcontent( ); } function showcatalog( $options = array( ) ) { if ( !$options[template_file] && !$options[template_id] ) { $options[template_file] = "goodsCatalog.htm"; } $e = $e = new swengine_class( $options ); if ( $options[showOnlyTop] ) { $item_id = 0; } else if ( $options[item_id] ) { $item_id = 0 + $options[item_id]; } else if ( $mod == "Goods" ) { $item_id = 0 + $item_id; } ( ); ( $e, $item_id, "ssp_GoodsTree", "ssp_Goods", "good_id", "g_public", "GoodsTree", "Goods", "CatalogTreeOut", 1, 0 + $options[start_item] ); ( ); return $e->getcontent( ); } function showtoplevelcatalog( $options = array( ) ) { global $Conn; if ( !$options[template_file] && !$options[template_id] ) { $options[template_file] = "goodsTopCatalog.htm"; } $Rs = qexec( $Conn, "select T.item_id, T.parent_item_id, T.item_name, COUNT( A.item_id) counter from ssp_GoodsTree T left join ssp_GoodsTreeCache TC on TC.parent_item_id= T.item_id inner join ssp_Goods A on TC.item_id= A.item_id where ifNull( T.parent_item_id, 0) in ( 0, T.item_id) group by T.item_id, T.parent_item_id, T.item_name" ); $HTDbGet = 2; $top_tpl = new swengine_class( $options ); $params = $top_tpl->getvarparams( "List" ); $e = new swengine_class( $params ); $Content = ""; while ( $row = @qfetchrow( @$Rs ) ) { $engine = $e; if ( $e->isvar( URL ) ) { $engine->setvar( URL, "Goods{$row['item_id']}.html" ); } if ( $e->isvar( Name ) ) { $engine->setvar( Name, $row[item_name], 1 ); } if ( $e->isvar( Counter ) ) { $engine->setvar( Counter, $row[counter] ); } $engine->insertvars( ); $Content .= $engine->getcontent( ); } @qfree( @$Rs ); $top_tpl->setvar( "List", $Content ); return $top_tpl->getcontent( ); } function searchform( $options = array( ) ) { global $Conn; global $keyword; global $item_id; global $g_name; global $g_article; global $g_low_cost; global $g_top_cost; global $modelNumber; if ( !$options[template_file] && !$options[template_id] ) { $options[template_file] = "searchform.htm"; } $top_tpl = new swengine_class( $options ); $HTDbGet = 2; if ( $top_tpl->isvar( "GoodsCatalog" ) ) { $Catalog = ( $Conn, "ssp_GoodsTree" ); $items = $Catalog->getasselectarray( ); $Content = ""; while ( 0 < sizeof( $items ) ) { $sel = ""; $it = array_shift( $items ); if ( $it == $item_id ) { $sel = " selected"; } $Content .= "