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']) ? '' : ''; 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.=''; } $str .= ''; } 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 '' . $str . ''; } /** * 调用指定的广告位的广告 * * @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[] = ""; 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[] = " "; break; case 2: // CODE $ads[] = $row['ad_code']; break; case 3: // TEXT $ads[] = "" .htmlspecialchars($row['ad_code']). ''; 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; } ?>