/** * ShopEx licence * * @copyright Copyright (c) 2005-2010 ShopEx Technologies Inc. (http://www.shopex.cn) * @license http://ecos.shopex.cn/ ShopEx License */ function theme_widget_articles(&$setting, &$smarty) { $setting['order'] or $setting['order'] = 'desc'; $setting['order_type'] or $setting['order_type'] = 'pubtime'; $func = array('asc' => 'ksort', 'desc' => 'krsort'); $mdl_memberLv = app::get('b2c')->model('member_lv'); $default_member_lv = $mdl_memberLv->dump(array('default_lv' => '1'), 'member_lv_id'); $member_level = $default_member_lv['member_lv_id']; //默认等级 $obj_members = app::get('b2c')->model('members'); $memberTmp = $obj_members->get_current_member(); $member_type = '1'; if (isset($memberTmp['member_lv'])) { $member_level = $memberTmp['member_lv']; $member_type = $memberTmp['member_type']; } //$member_type = '2'; $oAN = kernel::single("content_article_node"); $oMAI = app::get('content')->model('article_indexs'); $objrequest = kernel::single("base_component_request"); $article_id = $objrequest->get_param(0); if (isset($setting['upto_articleid']) && $setting['upto_articleid'] == "1" && $article_id > 0) { //获取父节点id $nodeinfo = $oMAI->getList("node_id", array("article_id" => $article_id)); $iNodeId = $nodeinfo[0]['node_id']; } if (!$iNodeId) { $iNodeId = $setting['node_id']; } $lv = $setting['lv']; $limit = $setting['limit']; $tmp = $oAN->get_node($iNodeId, false, $member_type); article_foost($lv, $iNodeId, $limit, $setting['showallart'], $oAN, $oMAI, $tmp['child'], $setting, $member_type); //error_log(var_export($tmp,true),3,DATA_DIR.'/pansen.dd.txt'); $html = array(); article_showst($smarty, $tmp['child'], $setting, $html, 0, $limit); if (!$setting['shownode']) { $func[$setting['order']]($html); } $html = implode(' ', $html); $filter = array(); $filter['ifpub'] = 'true'; $filter['pubtime|than'] = time(); $arr = $oMAI->getList('pubtime', $filter, 0, 1, ' pubtime ASC'); if ($arr) { //设置缓存过期时间 reset($arr); $arr = current($arr); cachemgr::set_expiration($arr['pubtime']); } $tmp['__html'] = $html; $tmp['__shownode'] = $setting['shownode']; $tmp['__stripparenturl'] = $setting['stripparenturl']; if ($tmp['homepage'] == 'true') { $tmp['node_url'] = app::get('site')->router()->gen_url(array('app' => 'content', 'ctl' => 'site_article', 'act' => 'nodeindex', 'arg0' => $setting['node_id'])); } else { $tmp['node_url'] = app::get('site')->router()->gen_url(array('app' => 'content', 'ctl' => 'site_article', 'act' => 'lists', 'arg0' => $setting['node_id'])); } return $tmp; }
public function set_page_data($gid, $object) { $enable = app::get('site')->model('modules')->getList('enable', array('app' => 'groupactivity')); foreach ($enable as $v) { $able = $v['enable']; } $object->pagedata['enable'] = $able; $object->pagedata['purchase'] = $arr = kernel::single("groupactivity_purchase")->_get_dump_data($gid); if ($arr) { if ($arr['act_open'] == 'false' || $arr['max_buy'] <= $arr['buy'] && $arr['max_buy'] != 0) { $object->pagedata['purchase'] = null; } $object->pagedata['group_url'] = app::get('site')->router()->gen_url(array('app' => 'groupactivity', 'ctl' => 'site_cart', 'act' => 'index', 'arg0' => $arr['act_id'])); cachemgr::set_expiration($arr['end_time']); } #$this->_response->set_header('Cache-Control', 'no-store'); }
function index() { $get = $this->_request->get_params(); $pid = intval($get[0]); #活动类型 $stype_id = $get[1]; $this->pagedata['imageDefault'] = app::get('image')->getConf('image.set'); $GLOBALS['runtime']['path'] = $this->runtime_path($stype_id, $pid); $special_goods = $this->mdl_special_goods->getRow('*', array('product_id' => $pid)); $goodsdata = $this->special_pro->getdetailParams($special_goods); //没有默认货品图片则显示商品所有图片,否则显示关联货品图片 if (empty($goodsdata['images'])) { $goodsImages = $this->_get_goods_image($goodsdata['goods']['goods_id']); $productBasic['images'] = $goodsImages; //商品图片 $productBasic['image_default_id'] = $goodsdata['goods']['image_default_id']; //商品图片 } else { $productBasic['images'] = $goodsdata['images']; $productBasic['image_default_id'] = $goodsdata['images'][0]['image_id']; //商品图片 } $this->pagedata['page_product_basic'] = $productBasic; $this->pagedata['goodsdata'] = $goodsdata; $this->pagedata['stypeid'] = $stype_id; $this->pagedata['member_id'] = $this->userObject->get_member_id() ? $this->userObject->get_member_id() : 0; $this->pagedata['nowtime'] = time(); //社会化分享 $goodsshare = kernel::single('b2c_goods_share')->get_share($productBasic); $this->pagedata['goods_share'] = $goodsshare; //是否开启商品推荐 $setting['recommend'] = app::get('b2c')->getConf('goods.recommend'); $this->pagedata['setting'] = $setting; //已发布未开始页面缓存 if ($this->pagedata['nowtime'] >= $goodsdata['release_time'] && $this->pagedata['nowtime'] < $goodsdata['begin_time']) { //活动开始的时候缓存过期 cachemgr::set_expiration($goodsdata['begin_time']); } elseif ($this->pagedata['nowtime'] >= $goodsdata['begin_time'] && $this->pagedata['nowtime'] < $goodsdata['end_time']) { //活动结束的时候缓存过期 cachemgr::set_expiration($goodsdata['end_time']); } $this->page('site/product/index.html'); }
/** * ShopEx licence * * @copyright Copyright (c) 2005-2010 ShopEx Technologies Inc. (http://www.shopex.cn) * @license http://ecos.shopex.cn/ ShopEx License */ function theme_widget_index_news(&$setting,&$smarty){ $setting['order'] or $setting['order'] = 'desc'; $setting['order_type'] or $setting['order_type'] = 'pubtime'; $func = array('asc'=>'ksort','desc'=>'krsort'); $oAN = kernel::single("content_article_node"); $oMAI = app::get('content')->model('article_indexs'); $iNodeId = $setting['node_id']; $lv = $setting['lv']; $limit = $setting['limit']; $tmp = $oAN->get_node($iNodeId, true); article_new_foo($lv, $iNodeId, $limit, $setting['showallart'], $oAN, $oMAI, $tmp['child'], $setting); $html = array(); article_new_show($smarty, $tmp['child'], $setting, $html, 0, $limit); if( !$setting['shownode'] ) { $func[$setting['order']]($html); } $html = implode(' ',$html); $filter = array(); $filter['ifpub'] = 'true'; $filter['pubtime|than'] = time(); $arr = $oMAI->getList( 'pubtime',$filter,0,1,' pubtime ASC' ); if( $arr ) { //设置缓存过期时间 reset( $arr ); $arr = current($arr); cachemgr::set_expiration($arr['pubtime']); } $tmp['__html'] = $html; $tmp['__shownode'] = $setting['shownode']; $tmp['__stripparenturl'] = $setting['stripparenturl']; if( $tmp['homepage']=='true' ) $tmp['node_url'] = app::get('site')->router()->gen_url( array('app'=>'content', 'ctl'=>'site_article', 'act'=>'i', 'arg0'=>$setting['node_id']) ); else $tmp['node_url'] = app::get('site')->router()->gen_url( array('app'=>'content', 'ctl'=>'site_article', 'act'=>'l', 'arg0'=>$setting['node_id']) ); return $tmp; }
/** * 展示特定类型的文章列表 * @access public */ public function lists() { $this->begin($this->gen_url(array('app' => 'welcome', 'ctl' => 'index'))); $info_list_id = $this->_request->get_param(0); if (empty($info_list_id)) { $this->end(false, app::get('cps')->_('访问出错')); } $filter = array('i_type' => $info_list_id); //每页条数 $pageLimit = $this->app->getConf('gallery.display.listnum'); $pageLimit = $pageLimit ? $pageLimit : 10; //当前页 $page = (int) $this->_request->get_param(1); $page or $page = 1; $filter['ifpub'] = 'true'; $filter['pubtime|sthan'] = time(); $infoObj = $this->app->model('info'); //总数 $count = $infoObj->count($filter); $arr_infos = $infoObj->getInfoList('*', $filter, $pageLimit * ($page - 1), $pageLimit, 'pubtime DESC'); //标识用于生成url $token = md5("page{$page}"); $this->pagedata['pager'] = array('current' => $page, 'total' => ceil($count / $pageLimit), 'link' => $this->gen_url(array('app' => 'cps', 'ctl' => 'site_info', 'act' => 'lists', 'arg0' => $info_list_id, 'arg2' => $token)), 'token' => $token); $filter = array(); $filter['ifpub'] = 'true'; $filter['pubtime|than'] = time(); $arr = $infoObj->getInfoList('pubtime', $filter, 0, 1, ' pubtime ASC'); if ($arr) { //设置缓存过期时间 reset($arr); $arr = current($arr); cachemgr::set_expiration($arr['pubtime']); } $this->pagedata['info_type'] = $info_list_id; $this->pagedata['infos'] = $arr_infos; $this->set_tmpl('cps_common'); $this->page('site/notice/list.html'); }
function index() { #$this->_response->set_header('Cache-Control','no-store'); $params = $this->_request->get_params(true); $id = $params[0]; if (!$id) { $this->begin(); $this->end(false, '活动不存在!'); } $o = $this->app->model('purchase'); $arr = $o->getList('*', array('act_id' => $id)); $arr = $arr[0]; if (!$arr) { $this->begin(); $this->end(false, '该活动不存在!'); } if (!$o->validate($arr)) { $this->begin(); $this->end(false, '该活动没有开启!'); } //缓存过期时间 start $cache_time = time() > $arr['start_time'] ? time() < $arr['end_time'] ? $arr['end_time'] : false : $arr['start_time']; if ($cache_time) { cachemgr::set_expiration($cache_time); } //end $o->update_state($arr); $arr['buy'] = $arr['buy'] + $arr['start_value']; $this->pagedata['purchase'] = $arr; $productsModel = app::get('b2c')->model('products'); $itemProduct = $productsModel->getList('*', array('product_id' => $arr['pid'])); $arr['gid'] = $itemProduct[0]['goods_id']; $this->init_goods_html($arr['gid']); $this->pagedata['goods']['product_id'] = $arr['pid']; $this->pagedata['goods']['goods_id'] = $arr['gid']; $imageDefault = app::get('image')->getConf('image.set'); $this->pagedata['goods']['pic_width'] = $imageDefault['M']['width']; $this->pagedata['goods']['pic_height'] = $imageDefault['M']['height']; $this->pagedata['goods']['margin_right'] = $imageDefault['M']['width'] + 8; if ((int) $this->pagedata['goods']['price']) { $this->pagedata['sales'] = round($arr['price'] / $this->pagedata['goods']['price'], 2) * 10; } else { $this->pagedata['sales'] = 0; } $this->pagedata['check_url'] = $this->gen_url(array('app' => 'groupactivity', 'ctl' => 'site_cart', 'act' => 'get_group_info', 'arg0' => $arr['act_id'])); $this->pagedata['jump_to_cart_url'] = $this->gen_url(array('app' => 'groupactivity', 'ctl' => 'site_cart', 'act' => 'checkout')); //系统当前时间 $this->pagedata['request_time_now'] = $this->gen_url(array('app' => 'groupactivity', 'ctl' => 'site_cart', 'act' => 'request_time_now')); $aPath = array(array('link' => 'true', 'title' => '团购:' . $arr['name'])); $GLOBALS['runtime']['path'] = $aPath; $this->pagedata['body_page_list'] = $this->_get_servicelist_by('b2c_products_index_body'); /**** begin 商品评论 ****/ $objGoods = app::get('b2c')->model('goods'); $objComment = kernel::single('b2c_message_disask'); $aComment = $objComment->good_all_disask($arr['gid']); /**** begin 相关商品 ****/ $oImage = app::get('image')->model('image'); $imageDefault = app::get('image')->getConf('image.set'); $aLinkId['goods_id'] = array(); foreach ($objGoods->getLinkList($arr['gid']) as $rows) { if ($rows['goods_1'] == $arr['gid']) { $aLinkId['goods_id'][] = $rows['goods_2']; } else { $aLinkId['goods_id'][] = $rows['goods_1']; } } if (count($aLinkId['goods_id']) > 0) { $aLinkId['marketable'] = 'true'; $this->pagedata['goods']['link'] = $objGoods->getList('*', $aLinkId, 0, 500); $this->pagedata['goods']['link_count'] = count($aLinkId['goods_id']); } $oGoodsLv = app::get('b2c')->model('goods_lv_price'); $oMlv = app::get('b2c')->model('member_lv'); $mlv = $oMlv->db_dump($this->site_member_lv_id, 'dis_count'); $objProduct = app::get('b2c')->model('products'); $siteMember = kernel::single('b2c_frontpage')->get_current_member(); $site_member_lv_id = $siteMember['member_lv']; if (is_array($this->pagedata['goods']['link'])) { foreach ($this->pagedata['goods']['link'] as $key => &$val) { if ($val['udfimg'] == 'true') { if (!$oImage->getList("image_id", array('image_id' => $val['thumbnail_pic']))) { $val['thumbnail_pic'] = $imageDefault['S']['default_image']; } } else { if (!$oImage->getList("image_id", array('image_id' => $val['image_default_id']))) { $val['image_default_id'] = $imageDefault['S']['default_image']; } } $temp = $objProduct->getList('product_id, spec_info, price, freez, store, marketable, goods_id', array('goods_id' => $val['goods_id'], 'marketable' => 'true')); if ($site_member_lv_id) { $tmpGoods = array(); foreach ($oGoodsLv->getList('product_id,price', array('goods_id' => $val['goods_id'], 'level_id' => $site_member_lv_id)) as $k => $v) { $tmpGoods[$v['product_id']] = $v['price']; } foreach ($temp as &$tv) { $tv['price'] = isset($tmpGoods[$tv['product_id']]) ? $tmpGoods[$tv['product_id']] : $mlv['dis_count'] * $tv['price']; } $val['price'] = $tv['price']; } $promotion_price = kernel::single('b2c_goods_promotion_price')->process($val); if (!empty($promotion_price['price'])) { $val['price'] = $promotion_price['price']; $val['show_button'] = $promotion_price['show_button']; $val['timebuy_over'] = $promotion_price['timebuy_over']; } $this->pagedata['goods']['link'][$key]['spec_desc_info'] = $temp; $this->pagedata['goods']['link'][$key]['product_id'] = $temp[0]['product_id']; } } /**** end 相关商品 ****/ // 评分类型 $comment_goods_type = app::get('b2c')->model('comment_goods_type'); if (!$comment_goods_type->getList('*')) { $sdf['type_id'] = 1; $sdf['name'] = app::get('b2c')->_('综合评分'); $addon['is_total_point'] = 'on'; $sdf['addon'] = serialize($addon); $comment_goods_type->insert($sdf); } $this->pagedata['comment_goods_type'] = $comment_goods_type->getList('*'); $this->pagedata['point_status'] = app::get('b2c')->getConf('goods.point.status') ? app::get('b2c')->getConf('goods.point.status') : 'on'; $this->pagedata['base_setting'] = $objComment->get_basic_setting(); $gask_type = unserialize(app::get('b2c')->getConf('gask_type')); if ($gask_type) { foreach ($gask_type as $key_ => $val_) { $gask_type[$key_]['total'] = $objComment->get_ask_total($arr['gid'], $val_['type_id'], 'ask'); } $this->pagedata['gask_type'] = $gask_type; } $objPoint = app::get('b2c')->model('comment_goods_point'); $this->pagedata['goods_point'] = $objPoint->get_single_point($arr['gid']); $this->pagedata['total_point_nums'] = $objPoint->get_point_nums($arr['gid']); $this->pagedata['_all_point'] = $objPoint->get_goods_point($arr['gid']); $this->pagedata['comment'] = $aComment; /**** end 商品评论 ****/ $setting['buytarget'] = app::get('b2c')->getConf('site.buy.target'); $this->pagedata['setting'] = $setting; if (!$siteMember['member_id']) { $this->pagedata['login'] = '******'; } $this->pagedata['discuss_status'] = kernel::single('b2c_message_disask')->toValidate('discuss', $arr['gid'], $siteMember, $discuss_message); $this->pagedata['discuss_message'] = $discuss_message; $this->pagedata['ask_status'] = kernel::single('b2c_message_disask')->toValidate('ask', $arr['gid'], $siteMember, $ask_message); $this->pagedata['ask_message'] = $ask_message; $sellLogList = $objProduct->getGoodsSellLogList($arr['gid'], 0, app::get('b2c')->getConf('selllog.display.listnum')); $sellLogSetting['display'] = array('switch' => $this->app->getConf('selllog.display.switch'), 'limit' => $this->app->getConf('selllog.display.limit'), 'listnum' => $this->app->getConf('selllog.display.listnum')); $this->pagedata['goods']['setting']['score'] = app::get('b2c')->getConf('site.get_policy.method'); $this->pagedata['money_format'] = json_encode($ret); $this->pagedata['sellLog'] = $sellLogSetting; $this->pagedata['sellLogList'] = $sellLogList; $this->pagedata['goodsbndisplay'] = app::get('b2c')->getConf('goodsbn.display.switch'); $this->pagedata['askshow'] = app::get('b2c')->getConf('comment.verifyCode.ask'); $this->pagedata['goodsBnShow'] = app::get('b2c')->getConf('goodsbn.display.switch'); $this->pagedata['discussshow'] = app::get('b2c')->getConf('comment.verifyCode.discuss'); $this->pagedata['showStorage'] = app::get('b2c')->getConf('site.show_storage'); $this->pagedata['specimagewidth'] = app::get('b2c')->getConf('spec.image.width'); $this->pagedata['specimageheight'] = app::get('b2c')->getConf('spec.image.height'); $this->pagedata['goodsRecommend'] = app::get('b2c')->getConf('goods.recommend'); $this->pagedata['goodsproplink'] = 1; $this->pagedata['request_url'] = $this->gen_url(array('app' => 'b2c', 'ctl' => 'site_product', 'act' => 'get_goods_spec')); $this->set_tmpl('groupactivity'); $this->page('site/index.html'); }
public function l() { $nav_url = $_SERVER['HTTP_REFERER'] ? $_SERVER['HTTP_REFERER'] : $this->gen_url(array('app' => 'wap', 'ctl' => 'default', 'act' => 'index')); $this->begin($nav_url); $art_list_id = $this->_request->get_param(0); if (empty($art_list_id)) { $this->end(false, app::get('content')->_('访问出错')); } $oCAN = kernel::single('content_article_node'); $aPath = $oCAN->get_node_path($art_list_id, true); $info = $oCAN->get_node($art_list_id, true); if ($info['ifpub'] != 'true') { $this->end(false, app::get('content')->_('未发布!错误访问!')); } $GLOBALS['runtime']['path'] = $aPath; //title keywords description $this->get_seo_info($info, $aPath); $filter = array('node_id' => $art_list_id); //每页条数 $pageLimit = $this->app->getConf('gallery.display.listnum'); $pageLimit = $pageLimit ? $pageLimit : 10; //当前页 $page = (int) $this->_request->get_param(1); $page or $page = 1; $filter['ifpub'] = 'true'; $filter['platform'] = 'wap'; $filter['pubtime|sthan'] = time(); $indexsObj = $this->app->model('article_indexs'); $bodysObj = $this->app->model('article_bodys'); //总数 $count = $indexsObj->count($filter); $arr_articles = $indexsObj->getList('*', $filter, $pageLimit * ($page - 1), $pageLimit, 'pubtime DESC'); $article_ids = array(); foreach ((array) $arr_articles as $key => $art) { $article_ids[] = $art['article_id']; $tmp_arr_articles[$art['article_id']] = $art; } if ($article_ids) { $sql = "SELECT a.* , b.storage, b.s_url FROM `sdb_content_article_bodys` a LEFT JOIN `sdb_image_image` b ON a.image_id = b.image_id WHERE a.article_id IN (" . join(',', $article_ids) . ") order by a.article_id desc"; $arr_article_bodys = kernel::database()->select($sql); } //print_r($arr_article_bodys); $arr_articles = $arr_image_ids = array(); foreach ((array) $arr_article_bodys as $key => $art) { $art['s_url'] = '/' . $art['s_url']; $arr_articles[] = array_merge($tmp_arr_articles[$art['article_id']], $art); $arr_image_ids[] = $art['image_id']; } //标识用于生成url $token = md5("page{$page}"); $this->pagedata['pager'] = array('current' => $page, 'total' => ceil($count / $pageLimit), 'link' => $this->gen_url(array('app' => 'content', 'ctl' => 'wap_article', 'act' => 'l', 'arg0' => $art_list_id, 'arg2' => $token)), 'token' => $token); $filter = array(); $filter['ifpub'] = 'true'; $filter['pubtime|than'] = time(); $arr = $indexsObj->getList('pubtime', $filter, 0, 1, ' pubtime ASC'); if ($arr) { //设置缓存过期时间 reset($arr); $arr = current($arr); cachemgr::set_expiration($arr['pubtime']); } $this->pagedata['cat'] = $aNode[0]; $this->pagedata['hasimage'] = $info['hasimage']; $this->pagedata['articles'] = $arr_articles; $this->set_tmpl('articlelist'); $this->set_tmpl_file($info['list_tmpl_path']); if ($info['hasimage'] == 'true') { $view = 'wap/article/list_image.html'; } else { $view = 'wap/article/list.html'; } if (is_null($this->weixin_share_page)) { $this->weixin_share_page = array(); } if (in_array('article-list', $this->weixin_share_page)) { $this->pagedata['from_weixin'] = $this->from_weixin; $this->pagedata['weixin']['appid'] = $this->weixin_a_appid; $this->pagedata['weixin']['imgUrl'] = base_storager::image_path(app::get('weixin')->getConf('weixin_basic_setting.weixin_logo')); $this->pagedata['weixin']['linelink'] = app::get('wap')->router()->gen_url(array('app' => 'content', 'ctl' => 'wap_article', 'act' => 'l', 'arg0' => $art_list_id, 'full' => 1)); $this->pagedata['weixin']['shareTitle'] = $this->pagedata['title']; $this->pagedata['weixin']['descContent'] = $this->pagedata['description']; } $this->page($view); }
public function _set_cache_time($cache_time) { cachemgr::set_expiration($cache_time); }