2022-11-14 17:31:15 +00:00
< ? php
if ( ! defined ( 'IN_ECS' ))
{
die ( 'Hacking attempt' );
}
/**
* 获得查询次数以及查询时间
*
* @ access public
* @ return string
*/
function insert_query_info ()
{
if ( $GLOBALS [ 'db' ] -> queryTime == '' )
{
$query_time = 0 ;
}
else
{
if ( PHP_VERSION >= '5.0.0' )
{
$query_time = number_format ( microtime ( true ) - $GLOBALS [ 'db' ] -> queryTime , 6 );
}
else
{
list ( $now_usec , $now_sec ) = explode ( ' ' , microtime ());
list ( $start_usec , $start_sec ) = explode ( ' ' , $GLOBALS [ 'db' ] -> queryTime );
$query_time = number_format (( $now_sec - $start_sec ) + ( $now_usec - $start_usec ), 6 );
}
}
/* 内存占用情况 */
if ( $GLOBALS [ '_LANG' ][ 'memory_info' ] && function_exists ( 'memory_get_usage' ))
{
$memory_usage = sprintf ( $GLOBALS [ '_LANG' ][ 'memory_info' ], memory_get_usage () / 1048576 );
}
else
{
$memory_usage = '' ;
}
/* 是否启用了 gzip */
$gzip_enabled = gzip_enabled () ? $GLOBALS [ '_LANG' ][ 'gzip_enabled' ] : $GLOBALS [ '_LANG' ][ 'gzip_disabled' ];
$online_count = $GLOBALS [ 'db' ] -> getOne ( " SELECT COUNT(*) FROM " . $GLOBALS [ 'ecs' ] -> table ( 'sessions' ));
/* 加入触发cron代码 */
$cron_method = empty ( $GLOBALS [ '_CFG' ][ 'cron_method' ]) ? '<img src="api/cron.php?t=' . gmtime () . '" alt="" style="width:0px;height:0px;" />' : '' ;
return sprintf ( $GLOBALS [ '_LANG' ][ 'query_info' ], $GLOBALS [ 'db' ] -> queryCount , $query_time , $online_count ) . $gzip_enabled . $memory_usage . $cron_method ;
}
/**
* 调用浏览历史
*
* @ access public
* @ return string
*/
function insert_history ()
{
$str = '' ;
if ( ! empty ( $_COOKIE [ 'ECS' ][ 'history' ]))
{
$where = db_create_in ( $_COOKIE [ 'ECS' ][ 'history' ], 'goods_id' );
$sql = 'SELECT goods_id, goods_name, goods_thumb, shop_price FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'goods' ) .
" WHERE $where AND is_on_sale = 1 AND is_alone_sale = 1 AND is_delete = 0 " ;
$query = $GLOBALS [ 'db' ] -> query ( $sql );
$res = array ();
while ( $row = $GLOBALS [ 'db' ] -> fetch_array ( $query ))
{
$goods [ 'goods_id' ] = $row [ 'goods_id' ];
$goods [ 'goods_name' ] = $row [ 'goods_name' ];
$goods [ 'short_name' ] = $GLOBALS [ '_CFG' ][ 'goods_name_length' ] > 0 ? sub_str ( $row [ 'goods_name' ], $GLOBALS [ '_CFG' ][ 'goods_name_length' ]) : $row [ 'goods_name' ];
$goods [ 'goods_thumb' ] = get_image_path ( $row [ 'goods_id' ], $row [ 'goods_thumb' ], true );
$goods [ 'shop_price' ] = price_format ( $row [ 'shop_price' ]);
$goods [ 'url' ] = build_uri ( 'goods' , array ( 'gid' => $row [ 'goods_id' ]), $row [ 'goods_name' ]);
$str .= '<ul class="clearfix"><li class="goodsimg"><a href="' . $goods [ 'url' ] . '" target="_blank"><img src="' . $goods [ 'goods_thumb' ] . '" alt="' . $goods [ 'goods_name' ] . '" class="B_blue" /></a></li><li class="htext"><a href="' . $goods [ 'url' ] . '" target="_blank" title="' . $goods [ 'goods_name' ] . '">' . $goods [ 'short_name' ] . '</a><br />' . $GLOBALS [ '_LANG' ][ 'shop_price' ] . '<font class="f1">' . $goods [ 'shop_price' ] . '</font><br /></li></ul>' ;
}
$str .= '<ul id="clear_history"><a onclick="clear_history()">' . $GLOBALS [ '_LANG' ][ 'clear_history' ] . '</a></ul>' ;
}
return $str ;
}
/**
* 调用购物车信息
*
* @ access public
* @ return string
*/
function insert_cart_info ()
{
$sql = 'SELECT SUM(goods_number) AS number, SUM(goods_price * goods_number) AS amount' .
' FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'cart' ) .
" WHERE session_id = ' " . SESS_ID . " ' AND rec_type = ' " . CART_GENERAL_GOODS . " ' " ;
$row = $GLOBALS [ 'db' ] -> GetRow ( $sql );
if ( $row )
{
$number = intval ( $row [ 'number' ]);
$amount = floatval ( $row [ 'amount' ]);
}
else
{
$number = 0 ;
$amount = 0 ;
}
$str = sprintf ( $GLOBALS [ '_LANG' ][ 'cart_info' ], $number , price_format ( $amount , false ));
return '<a href="flow.php" title="' . $GLOBALS [ '_LANG' ][ 'view_cart' ] . '">' . $str . '</a>' ;
}
/**
* 调用指定的广告位的广告
*
* @ access public
* @ param integer $id 广告位ID
* @ param integer $num 广告数量
* @ return string
*/
function insert_ads ( $arr )
{
static $static_res = NULL ;
$time = gmtime ();
if ( ! empty ( $arr [ 'num' ]) && $arr [ 'num' ] != 1 )
{
$sql = 'SELECT a.ad_id, a.position_id, a.media_type, a.ad_link, a.ad_code, a.ad_name, p.ad_width, ' .
'p.ad_height, p.position_style, RAND() AS rnd ' .
'FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'ad' ) . ' AS a ' .
'LEFT JOIN ' . $GLOBALS [ 'ecs' ] -> table ( 'ad_position' ) . ' AS p ON a.position_id = p.position_id ' .
" WHERE enabled = 1 AND start_time <= ' " . $time . " ' AND end_time >= ' " . $time . " ' " .
" AND a.position_id = ' " . $arr [ 'id' ] . " ' " .
'ORDER BY rnd LIMIT ' . $arr [ 'num' ];
$res = $GLOBALS [ 'db' ] -> GetAll ( $sql );
}
else
{
if ( $static_res [ $arr [ 'id' ]] === NULL )
{
$sql = 'SELECT a.ad_id, a.position_id, a.media_type, a.ad_link, a.ad_code, a.ad_name, p.ad_width, ' .
'p.ad_height, p.position_style, RAND() AS rnd ' .
'FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'ad' ) . ' AS a ' .
'LEFT JOIN ' . $GLOBALS [ 'ecs' ] -> table ( 'ad_position' ) . ' AS p ON a.position_id = p.position_id ' .
" WHERE enabled = 1 AND a.position_id = ' " . $arr [ 'id' ] .
" ' AND start_time <= ' " . $time . " ' AND end_time >= ' " . $time . " ' " .
'ORDER BY rnd LIMIT 1' ;
$static_res [ $arr [ 'id' ]] = $GLOBALS [ 'db' ] -> GetAll ( $sql );
}
$res = $static_res [ $arr [ 'id' ]];
}
$ads = array ();
$position_style = '' ;
foreach ( $res AS $row )
{
if ( $row [ 'position_id' ] != $arr [ 'id' ])
{
continue ;
}
$position_style = $row [ 'position_style' ];
switch ( $row [ 'media_type' ])
{
case 0 : // 图片广告
$src = ( strpos ( $row [ 'ad_code' ], 'http://' ) === false && strpos ( $row [ 'ad_code' ], 'https://' ) === false ) ?
DATA_DIR . " /afficheimg/ $row[ad_code] " : $row [ 'ad_code' ];
$ads [] = " <a href='affiche.php?ad_id= $row[ad_id] &uri= " . urlencode ( $row [ " ad_link " ]) . " '
target = '_blank' >< img src = '$src' width = '" .$row[' ad_width ']. "' height = '$row[ad_height]'
border = '0' /></ a > " ;
break ;
case 1 : // Flash
$src = ( strpos ( $row [ 'ad_code' ], 'http://' ) === false && strpos ( $row [ 'ad_code' ], 'https://' ) === false ) ?
DATA_DIR . " /afficheimg/ $row[ad_code] " : $row [ 'ad_code' ];
$ads [] = " <object classid= \" clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 \" " .
" codebase= \" http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0 \" " .
" width=' $row[ad_width] ' height=' $row[ad_height] '>
< param name = 'movie' value = '$src' >
< param name = 'quality' value = 'high' >
< embed src = '$src' quality = 'high'
pluginspage = 'http://www.macromedia.com/go/getflashplayer'
type = 'application/x-shockwave-flash' width = '$row[ad_width]'
height = '$row[ad_height]' ></ embed >
</ object > " ;
break ;
case 2 : // CODE
$ads [] = $row [ 'ad_code' ];
break ;
case 3 : // TEXT
$ads [] = " <a href='affiche.php?ad_id= $row[ad_id] &uri= " . urlencode ( $row [ " ad_link " ]) . " '
target = '_blank' > " .htmlspecialchars( $row['ad_code'] ). '</a>';
break ;
}
}
$position_style = 'str:' . $position_style ;
$need_cache = $GLOBALS [ 'smarty' ] -> caching ;
$GLOBALS [ 'smarty' ] -> caching = false ;
$GLOBALS [ 'smarty' ] -> assign ( 'ads' , $ads );
$val = $GLOBALS [ 'smarty' ] -> fetch ( $position_style );
$GLOBALS [ 'smarty' ] -> caching = $need_cache ;
return $val ;
}
/**
* 调用会员信息
*
* @ access public
* @ return string
*/
function insert_member_info ()
{
$need_cache = $GLOBALS [ 'smarty' ] -> caching ;
$GLOBALS [ 'smarty' ] -> caching = false ;
if ( $_SESSION [ 'user_id' ] > 0 )
{
$GLOBALS [ 'smarty' ] -> assign ( 'user_info' , get_user_info ());
}
else
{
if ( ! empty ( $_COOKIE [ 'ECS' ][ 'username' ]))
{
$GLOBALS [ 'smarty' ] -> assign ( 'ecs_username' , stripslashes ( $_COOKIE [ 'ECS' ][ 'username' ]));
}
$captcha = intval ( $GLOBALS [ '_CFG' ][ 'captcha' ]);
if (( $captcha & CAPTCHA_LOGIN ) && ( ! ( $captcha & CAPTCHA_LOGIN_FAIL ) || (( $captcha & CAPTCHA_LOGIN_FAIL ) && $_SESSION [ 'login_fail' ] > 2 )) && gd_version () > 0 )
{
$GLOBALS [ 'smarty' ] -> assign ( 'enabled_captcha' , 1 );
$GLOBALS [ 'smarty' ] -> assign ( 'rand' , mt_rand ());
}
}
$output = $GLOBALS [ 'smarty' ] -> fetch ( 'library/member_info.lbi' );
$GLOBALS [ 'smarty' ] -> caching = $need_cache ;
return $output ;
}
/**
* 调用商品购买记录
*
* @ access public
* @ return string
*/
function insert_bought_notes ( $arr )
{
$need_cache = $GLOBALS [ 'smarty' ] -> caching ;
$need_compile = $GLOBALS [ 'smarty' ] -> force_compile ;
$GLOBALS [ 'smarty' ] -> caching = false ;
$GLOBALS [ 'smarty' ] -> force_compile = true ;
/* 商品购买记录 */
$sql = 'SELECT u.user_name, og.goods_number, oi.add_time, IF(oi.order_status IN (2, 3, 4), 0, 1) AS order_status ' .
'FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'order_info' ) . ' AS oi LEFT JOIN ' . $GLOBALS [ 'ecs' ] -> table ( 'users' ) . ' AS u ON oi.user_id = u.user_id, ' . $GLOBALS [ 'ecs' ] -> table ( 'order_goods' ) . ' AS og ' .
'WHERE oi.order_id = og.order_id AND ' . time () . ' - oi.add_time < 2592000 AND og.goods_id = ' . $arr [ 'id' ] . ' ORDER BY oi.add_time DESC LIMIT 5' ;
$bought_notes = $GLOBALS [ 'db' ] -> getAll ( $sql );
foreach ( $bought_notes as $key => $val )
{
$bought_notes [ $key ][ 'add_time' ] = local_date ( " Y-m-d G:i:s " , $val [ 'add_time' ]);
}
$sql = 'SELECT count(*) ' .
'FROM ' . $GLOBALS [ 'ecs' ] -> table ( 'order_info' ) . ' AS oi LEFT JOIN ' . $GLOBALS [ 'ecs' ] -> table ( 'users' ) . ' AS u ON oi.user_id = u.user_id, ' . $GLOBALS [ 'ecs' ] -> table ( 'order_goods' ) . ' AS og ' .
'WHERE oi.order_id = og.order_id AND ' . time () . ' - oi.add_time < 2592000 AND og.goods_id = ' . $arr [ 'id' ];
$count = $GLOBALS [ 'db' ] -> getOne ( $sql );
/* 商品购买记录分页样式 */
$pager = array ();
$pager [ 'page' ] = $page = 1 ;
$pager [ 'size' ] = $size = 5 ;
$pager [ 'record_count' ] = $count ;
$pager [ 'page_count' ] = $page_count = ( $count > 0 ) ? intval ( ceil ( $count / $size )) : 1 ;;
$pager [ 'page_first' ] = " javascript:gotoBuyPage(1, $arr[id] ) " ;
$pager [ 'page_prev' ] = $page > 1 ? " javascript:gotoBuyPage( " . ( $page - 1 ) . " , $arr[id] ) " : 'javascript:;' ;
$pager [ 'page_next' ] = $page < $page_count ? 'javascript:gotoBuyPage(' . ( $page + 1 ) . " , $arr[id] ) " : 'javascript:;' ;
$pager [ 'page_last' ] = $page < $page_count ? 'javascript:gotoBuyPage(' . $page_count . " , $arr[id] ) " : 'javascript:;' ;
$GLOBALS [ 'smarty' ] -> assign ( 'notes' , $bought_notes );
$GLOBALS [ 'smarty' ] -> assign ( 'pager' , $pager );
$val = $GLOBALS [ 'smarty' ] -> fetch ( 'library/bought_notes.lbi' );
$GLOBALS [ 'smarty' ] -> caching = $need_cache ;
$GLOBALS [ 'smarty' ] -> force_compile = $need_compile ;
return $val ;
}
/**
* 调用在线调查信息
*
* @ access public
* @ return string
*/
function insert_vote ()
{
$vote = get_vote ();
if ( ! empty ( $vote ))
{
$GLOBALS [ 'smarty' ] -> assign ( 'vote_id' , $vote [ 'id' ]);
$GLOBALS [ 'smarty' ] -> assign ( 'vote' , $vote [ 'content' ]);
}
$val = $GLOBALS [ 'smarty' ] -> fetch ( 'library/vote.lbi' );
return $val ;
}
2022-11-14 15:49:28 +00:00
?>