123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137 |
- <?php
- /**
- * SNS首页
- ***/
- defined('InShopNC') or exit('Access Invalid!');
- class member_snsindexControl extends BaseMemberControl {
- const MAX_RECORDNUM = 20;//允许插入新记录的最大条数(注意在sns中该常量是一样的,注意与member_snshome中的该常量一致)
- public function __construct(){
- parent::__construct();
- Tpl::output('relation','3');//为了跟home页面保持一致所以输出此变量
- Language::read('member_sns');
- //允许插入新记录的最大条数
- Tpl::output('max_recordnum',self::MAX_RECORDNUM);
- }
- /**
- * SNS首页
- */
- public function indexOp(){
- //查询谁来看过我
- $visitor_model = Model('sns_visitor');
- $visitme_list = $visitor_model->getVisitorList(array('v_ownermid'=>"{$_SESSION['member_id']}",'limit'=>9));
- if (!empty($visitme_list)){
- foreach ($visitme_list as $k=>$v){
- $v['adddate_text'] = $this->formatDate($v['v_addtime']);
- $v['addtime_text'] = @date('H:i',$v['v_addtime']);
- $visitme_list[$k] = $v;
- }
- }
- //查询我访问过的人
- $visitother_list = $visitor_model->getVisitorList(array('v_mid'=>"{$_SESSION['member_id']}",'limit'=>9));
- if (!empty($visitother_list)){
- foreach ($visitother_list as $k=>$v){
- $v['adddate_text'] = $this->formatDate($v['v_addtime']);
- $visitother_list[$k] = $v;
- }
- }
- Tpl::output('visitme_list',$visitme_list);
- Tpl::output('visitother_list',$visitother_list);
- //信息输出
- Tpl::output('nchash',substr(md5(SHOP_SITE_URL.$_GET['act'].$_GET['op']),0,8));
- Tpl::showpage('member_snsindex');
- }
- private function formatDate($time){
- $handle_date = @date('Y-m-d',$time);//需要格式化的时间
- $reference_date = @date('Y-m-d',time());//参照时间
- $handle_date_time = strtotime($handle_date);//需要格式化的时间戳
- $reference_date_time = strtotime($reference_date);//参照时间戳
- if ($reference_date_time == $handle_date_time){
- $timetext = @date('H:i',$time);//今天访问的显示具体的时间点
- }elseif (($reference_date_time-$handle_date_time)==60*60*24){
- $timetext = Language::get('sns_yesterday');
- }elseif ($reference_date_time-$handle_date_time==60*60*48){
- $timetext = Language::get('sns_beforeyesterday');
- }else {
- $month_text = Language::get('nc_month');
- $day_text = Language::get('nc_day');
- $timetext = @date("m{$month_text}d{$day_text}",$time);
- }
- return $timetext;
- }
- /**
- * 添加SNS分享心情
- */
- public function addtraceOp(){
- $obj_validate = new Validator();
- $validate_arr[] = array("input"=>$_POST["content"], "require"=>"true","message"=>Language::get('sns_sharemood_content_null'));
- $validate_arr[] = array("input"=>$_POST["content"], "validator"=>'Length',"min"=>0,"max"=>140,"message"=>Language::get('sns_content_beyond'));
- //发帖数超过最大次数出现验证码
- if(intval(cookie('weibonum'))>=self::MAX_RECORDNUM){
- $validate_arr[] = array("input"=>$_POST["captcha"], "require"=>"true","message"=>Language::get('wrong_null'));
- }
- $obj_validate -> validateparam = $validate_arr;
- $error = $obj_validate->validate();
- if ($error != ''){
- showDialog($error,'','error');
- }
- //发帖数超过最大次数出现验证码
- if(intval(cookie('weibonum'))>=self::MAX_RECORDNUM){
- if (!checkSeccode($_POST['nchash'],$_POST['captcha'])){
- showDialog(Language::get('wrong_checkcode'),'','error');
- }
- }
- //查询会员信息
- $member_model = Model('member');
- $member_info = $member_model->getMemberInfo(array('member_id'=>$_SESSION['member_id'],'member_state'=>1));
- if (empty($member_info)){
- showDialog(Language::get('sns_member_error'),'','error');
- }
- $tracelog_model = Model('sns_tracelog');
- $insert_arr = array();
- $insert_arr['trace_originalid'] = '0';
- $insert_arr['trace_originalmemberid'] = '0';
- $insert_arr['trace_memberid'] = $_SESSION['member_id'];
- $insert_arr['trace_membername'] = $_SESSION['member_name'];
- $insert_arr['trace_memberavatar'] = $member_info['member_avatar'];
- $insert_arr['trace_title'] = $_POST['content'];
- $insert_arr['trace_content'] = '';
- $insert_arr['trace_addtime'] = time();
- $insert_arr['trace_state'] = '0';
- $insert_arr['trace_privacy'] = intval($_POST["privacy"])>0?intval($_POST["privacy"]):0;
- $insert_arr['trace_commentcount'] = 0;
- $insert_arr['trace_copycount'] = 0;
- $result = $tracelog_model->tracelogAdd($insert_arr);
- if ($result){
- //建立cookie
- if (cookie('weibonum') != null && intval(cookie('weibonum')) >0){
- setNcCookie('weibonum',intval(cookie('weibonum'))+1,2*3600);//保存2小时
- }else{
- setNcCookie('weibonum',1,2*3600);//保存2小时
- }
- $js = "var obj = $(\"#weiboform\").find(\"[nc_type='formprivacytab']\");$(obj).find('span').removeClass('selected');$(obj).find('ul li:nth-child(1)').find('span').addClass('selected');";
- $js .= "$(\"#content_weibo\").val('');$(\"#privacy\").val('0');$('#friendtrace').lazyshow({url:\"index.php?act=member_snshome&op=tracelist&curpage=1\",'iIntervalId':true});";
- showDialog(Language::get('sns_share_succ'),'','succ',$js);
- }else {
- showDialog(Language::get('sns_share_fail'),'','error');
- }
- }
- /**
- * 添加分享已买到的宝贝
- */
- public function sharegoodsOp(){
- Language::read('member_sharemanage');
- if ($_POST['form_submit'] == 'ok'){
- $obj_validate = new Validator();
- $validate_arr[] = array("input"=>$_POST["choosegoodsid"], "require"=>"true","message"=>Language::get('sns_sharegoods_choose'));
- $validate_arr[] = array("input"=>$_POST["comment"], "validator"=>'Length',"min"=>0,"max"=>140,"message"=>Language::get('sns_content_beyond'));
- //发帖数超过最大次数出现验证码
- if(intval(cookie('weibonum'))>=self::MAX_RECORDNUM){
- $validate_arr[] = array("input"=>$_POST["captcha"], "require"=>"true","message"=>Language::get('wrong_null'));
- }
- $obj_validate -> validateparam = $validate_arr;
- $error = $obj_validate->validate();
- if (intval($_POST["choosegoodsid"]) <= 0){
- $error .= Language::get('sns_sharegoods_goodserror');
- }
- if ($error != ''){
- showDialog($error,'','error');
- }
- //发帖数超过最大次数出现验证码
- if(intval(cookie('weibonum'))>=self::MAX_RECORDNUM){
- if (!checkSeccode($_POST['nchash'],$_POST['captcha'])){
- showDialog(Language::get('wrong_checkcode'),'','error');
- }
- }
- //查询会员信息
- $member_model = Model('member');
- $member_info = $member_model->getMemberInfo(array('member_id'=>$_SESSION['member_id'],'member_state'=>1));
- if (empty($member_info)){
- showDialog(Language::get('sns_member_error'),'','error');
- }
- //查询商品信息
- $goods_model = Model('goods');
- $goods_info = $goods_model->getGoodsOnlineInfoForShare(intval($_POST['choosegoodsid']));
- if (empty($goods_info)){
- showDialog(Language::get('sns_sharegoods_goodserror'),'','error');
- }
- $sharegoods_model = Model('sns_sharegoods');
- //判断该商品是否已经存在分享或者喜欢记录
- $sharegoods_info = $sharegoods_model->getSharegoodsInfo(array('share_memberid'=>"{$_SESSION['member_id']}",'share_goodsid'=>"{$goods_info['goods_id']}"));
- $result = false;
- if (empty($sharegoods_info)){
- //添加分享商品信息
- $insert_arr = array();
- $insert_arr['share_goodsid'] = $goods_info['goods_id'];
- $insert_arr['share_memberid'] = $_SESSION['member_id'];
- $insert_arr['share_membername'] = $_SESSION['member_name'];
- $insert_arr['share_content'] = $_POST['comment']?$_POST['comment']:Language::get('sns_sharegoods_title');
- $insert_arr['share_addtime'] = time();
- $insert_arr['share_privacy'] = intval($_POST["gprivacy"])>0?intval($_POST["gprivacy"]):0;
- $insert_arr['share_commentcount'] = 0;
- $insert_arr['share_isshare'] = 1;
- $result = $sharegoods_model->sharegoodsAdd($insert_arr);
- unset($insert_arr);
- }else {
- //更新分享商品信息
- $update_arr = array();
- $update_arr['share_content'] = $_POST['comment']?$_POST['comment']:Language::get('sns_sharegoods_title');
- $update_arr['share_addtime'] = time();
- $update_arr['share_privacy'] = intval($_POST["gprivacy"])>0?intval($_POST["gprivacy"]):0;
- $update_arr['share_isshare'] = 1;
- $result = $sharegoods_model->editSharegoods($update_arr,array('share_id'=>"{$sharegoods_info['share_id']}"));
- unset($update_arr);
- }
- if ($result){
- //商品缓存数据更新
- //生成缓存的键值
- $hash_key = $goods_info['goods_id'];
- //先查找$hash_key缓存
- if ($_cache = rcache($hash_key,'product')){
- $_cache['sharenum'] = intval($_cache['sharenum'])+1;
- //缓存商品信息
- wcache($hash_key,$_cache,'product');
- }
- //更新SNS商品表信息
- $snsgoods_model = Model('sns_goods');
- $snsgoods_info = $snsgoods_model->getGoodsInfo(array('snsgoods_goodsid'=>"{$goods_info['goods_id']}"));
- if (empty($snsgoods_info)){
- //添加SNS商品
- $insert_arr = array();
- $insert_arr['snsgoods_goodsid'] = $goods_info['goods_id'];
- $insert_arr['snsgoods_goodsname'] = $goods_info['goods_name'];
- $insert_arr['snsgoods_goodsimage'] = $goods_info['goods_image'];
- $insert_arr['snsgoods_goodsprice'] = $goods_info['goods_price'];
- $insert_arr['snsgoods_storeid'] = $goods_info['store_id'];
- $insert_arr['snsgoods_storename'] = $goods_info['store_name'];
- $insert_arr['snsgoods_addtime'] = time();
- $insert_arr['snsgoods_likenum'] = 0;
- $insert_arr['snsgoods_sharenum'] = 1;
- $snsgoods_model->goodsAdd($insert_arr);
- unset($insert_arr);
- }else {
- //更新SNS商品
- $update_arr = array();
- $update_arr['snsgoods_sharenum'] = intval($snsgoods_info['snsgoods_sharenum'])+1;
- $snsgoods_model->editGoods($update_arr,array('snsgoods_goodsid'=>"{$goods_info['goods_id']}"));
- }
- //添加分享动态
- $tracelog_model = Model('sns_tracelog');
- $insert_arr = array();
- $insert_arr['trace_originalid'] = '0';
- $insert_arr['trace_originalmemberid'] = '0';
- $insert_arr['trace_memberid'] = $_SESSION['member_id'];
- $insert_arr['trace_membername'] = $_SESSION['member_name'];
- $insert_arr['trace_memberavatar'] = $member_info['member_avatar'];
- $insert_arr['trace_title'] = $_POST['comment']?$_POST['comment']:Language::get('sns_sharegoods_title');
- $content_str = '';
- $content_str .= "<div class=\"fd-media\">
- <div class=\"goodsimg\"><a target=\"_blank\" href=\"".urlShop('goods', 'index', array('goods_id'=>$goods_info['goods_id']))."\"><img src=\"".thumb($goods_info, 240)."\" onload=\"javascript:DrawImage(this,120,120);\" alt=\"{$goods_info['goods_name']}\"></a></div>
- <div class=\"goodsinfo\">
- <dl>
- <dt><a target=\"_blank\" href=\"".urlShop('goods', 'index', array('goods_id'=>$goods_info['goods_id']))."\">".$goods_info['goods_name']."</a></dt>
- <dd>".Language::get('sns_sharegoods_price').Language::get('nc_colon').Language::get('currency').$goods_info['goods_price']."</dd>
- <dd>".Language::get('sns_sharegoods_freight').Language::get('nc_colon').Language::get('currency').$goods_info['goods_freight']."</dd>
- <dd nctype=\"collectbtn_{$goods_info['goods_id']}\"><a href=\"javascript:void(0);\" onclick=\"javascript:collect_goods(\'{$goods_info['goods_id']}\',\'succ\',\'collectbtn_{$goods_info['goods_id']}\');\">".Language::get('sns_sharegoods_collect')."</a></dd>
- </dl>
- </div>
- </div>";
- $insert_arr['trace_content'] = $content_str;
- $insert_arr['trace_addtime'] = time();
- $insert_arr['trace_state'] = '0';
- $insert_arr['trace_privacy'] = intval($_POST["gprivacy"])>0?intval($_POST["gprivacy"]):0;
- $insert_arr['trace_commentcount'] = 0;
- $insert_arr['trace_copycount'] = 0;
- $result = $tracelog_model->tracelogAdd($insert_arr);
- //建立cookie
- if (cookie('weibonum') != null && intval(cookie('weibonum')) >0){
- setNcCookie('weibonum',intval(cookie('weibonum'))+1,2*3600);//保存2小时
- }else{
- setNcCookie('weibonum',1,2*3600);//保存2小时
- }
- //站外分享功能
- if (C('share_isuse') == 1){
- $model = Model('sns_binding');
- //查询该用户的绑定信息
- $bind_list = $model->getUsableApp($_SESSION['member_id']);
- //分享内容数组
- $params = array();
- $params['title'] = Language::get('sns_sharegoods_title');
- $params['url'] = urlShop('goods' , 'index', array('goods_id'=>$goods_info['goods_id']));
- $params['comment'] = $goods_info['goods_name'].$_POST['comment'];
- $params['images'] = thumb($goods_info, 240);
- //分享之qqweibo
- if (isset($_POST['checkapp_qqweibo']) && !empty($_POST['checkapp_qqweibo']) && $bind_list['qqweibo']['isbind'] == true){
- $model->addQQWeiboPic($bind_list['qqweibo'],$params);
- }
- //分享之sinaweibo
- if (isset($_POST['checkapp_sinaweibo']) && !empty($_POST['checkapp_sinaweibo']) && $bind_list['sinaweibo']['isbind'] == true){
- $model->addSinaWeiboUpload($bind_list['sinaweibo'],$params);
- }
- }
- //输出js
- $js = "DialogManager.close('sharegoods');var countobj=$('[nc_type=\'sharecount_{$goods_info['goods_id']}\']');$(countobj).html(parseInt($(countobj).text())+1);";
- $url = '';
- if ($_GET['irefresh']){
- $js .= "$('#friendtrace').lazyshow({url:\"index.php?act=member_snsindex&op=tracelist&curpage=1\",'iIntervalId':true});";
- }else{
- $url = 'reload';
- }
- showDialog(Language::get('sns_share_succ'),$url,'succ',$js);
- }else {
- showDialog(Language::get('sns_share_fail'),$url,'error');
- }
- } else {
- //查询已购买商品信息
- $order_model = Model('order');
- $condition = array();
- $condition['buyer_id'] = $_SESSION['member_id'];
- $ordergoods_list = $order_model->getOrderGoodsList($condition);
- unset($condition);
- $order_goodsid = array();
- if (!empty($ordergoods_list)){
- foreach ($ordergoods_list as $v){
- $order_goodsid[] = $v['goods_id'];
- }
- }
- // 查询收藏商品
- $favorites_list = Model()->table('favorites')->field('fav_id')->where(array('member_id'=>$_SESSION['member_id'], 'fav_type'=>'goods'))->select();
- $favorites_goodsid = array();
- if(!empty($favorites_list)){
- foreach ($favorites_list as $v){
- $favorites_goodsid[] = $v['fav_id'];
- }
- }
- $goods_id = array_merge($order_goodsid, $favorites_goodsid);
- //查询商品信息
- $goods_model = Model('goods');
- $condition = array();
- $condition['goods_id'] = array('in', $goods_id);
- $goods_list = $goods_model->getGoodsOnlineList($condition,'goods_id,goods_name,goods_image,store_id');
- if(!empty($goods_list)){
- foreach ($goods_list as $k=>$v){
- if(in_array($v['goods_id'], $order_goodsid)){
- $goods_list[$k]['order'] = true;
- }
- if(in_array($v['goods_id'], $favorites_goodsid)){
- $goods_list[$k]['favorites'] = true;
- }
- }
- }
- if (C('share_isuse') == 1){
- $model = Model('sns_binding');
- $app_arr = $model->getUsableApp($_SESSION['member_id']);
- Tpl::output('app_arr',$app_arr);
- }
- //验证码
- Tpl::output('nchash',substr(md5(SHOP_SITE_URL.$_GET['act'].$_GET['op']),0,8));
- Tpl::output('goods_list',$goods_list);
- Tpl::showpage('member_snssharegoods','null_layout');
- }
- }
- /**
- * 分享店铺
- */
- public function sharestoreOp(){
- Language::read('member_sharemanage');
- if ($_POST['form_submit'] == 'ok'){
- $obj_validate = new Validator();
- $validate_arr[] = array("input"=>$_POST["choosestoreid"], "require"=>"true","message"=>Language::get('sns_sharestore_choose'));
- $validate_arr[] = array("input"=>$_POST["comment"], "validator"=>'Length',"min"=>0,"max"=>140,"message"=>Language::get('sns_content_beyond'));
- //发帖数超过最大次数出现验证码
- if(intval(cookie('weibonum'))>=self::MAX_RECORDNUM){
- $validate_arr[] = array("input"=>$_POST["captcha"], "require"=>"true","message"=>Language::get('wrong_null'));
- }
- $obj_validate -> validateparam = $validate_arr;
- $error = $obj_validate->validate();
- if ($error != ''){
- showDialog($error,'','error');
- }
- //发帖数超过最大次数出现验证码
- if(intval(cookie('weibonum'))>=self::MAX_RECORDNUM){
- if (!checkSeccode($_POST['nchash'],$_POST['captcha'])){
- showDialog(Language::get('wrong_checkcode'),'','error');
- }
- }
- //查询会员信息
- $member_model = Model('member');
- $member_info = $member_model->getMemberInfo(array('member_id'=>$_SESSION['member_id'],'member_state'=>1));
- if (empty($member_info)){
- showDialog(Language::get('sns_member_error'),'','error');
- }
- //查询店铺信息
- $store_model = Model('store');
- $store_info = $store_model->getStoreInfoByID($_POST['choosestoreid']);
- if (empty($store_info)){
- showDialog(Language::get('sns_store_error'),'','error');
- }
- $sharestore_model = Model('sns_sharestore');
- //判断该商品是否已经分享过
- $sharestore_info = $sharestore_model->getSharestoreInfo(array('share_memberid'=>"{$_SESSION['member_id']}",'share_storeid'=>"{$store_info['store_id']}"));
- $result = false;
- if (empty($sharestore_info)){
- //添加分享商品信息
- $insert_arr = array();
- $insert_arr['share_storeid'] = $store_info['store_id'];
- $insert_arr['share_storename'] = $store_info['store_name'];
- $insert_arr['share_memberid'] = $_SESSION['member_id'];
- $insert_arr['share_membername'] = $_SESSION['member_name'];
- $insert_arr['share_content'] = $_POST['comment'];
- $insert_arr['share_addtime'] = time();
- $insert_arr['share_privacy'] = intval($_POST["sprivacy"])>0?intval($_POST["sprivacy"]):0;
- $result = $sharestore_model->sharestoreAdd($insert_arr);
- unset($insert_arr);
- }else {
- //更新分享商品信息
- $update_arr = array();
- $update_arr['share_content'] = $_POST['comment'];
- $update_arr['share_addtime'] = time();
- $update_arr['share_privacy'] = intval($_POST["sprivacy"])>0?intval($_POST["sprivacy"]):0;
- $result = $sharestore_model->editSharestore($update_arr,array('share_id'=>"{$sharestore_info['share_id']}"));
- unset($update_arr);
- }
- if ($result){
- //添加分享动态
- $tracelog_model = Model('sns_tracelog');
- $insert_arr = array();
- $insert_arr['trace_originalid'] = '0';
- $insert_arr['trace_originalmemberid'] = '0';
- $insert_arr['trace_memberid'] = $_SESSION['member_id'];
- $insert_arr['trace_membername'] = $_SESSION['member_name'];
- $insert_arr['trace_memberavatar'] = $member_info['member_avatar'];
- $insert_arr['trace_title'] = $_POST['comment']?$_POST['comment']:Language::get('sns_sharestore_title');
- $content_str = '';
- $store_info['store_avatar'] = empty($store_info['store_avatar']) ? UPLOAD_SITE_URL.DS.ATTACH_COMMON.DS.C('default_store_avatar') : UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.$store_info['store_avatar'];
- $store_info['store_url'] = urlShop('show_store', 'index', array('store_id'=>$store_info['store_id']));
- $content_str .= "<div class=\"fd-media\">
- <div class=\"goodsimg\"><a target=\"_blank\" href=\"{$store_info['store_url']}\"><img src=\"{$store_info['store_avatar']}\" onload=\"javascript:DrawImage(this,120,120);\" alt=\"{$store_info['store_name']}\"></a></div>
- <div class=\"goodsinfo\">
- <dl>
- <dt><a target=\"_blank\" href=\"{$store_info['store_url']}\">".$store_info['store_name']."</a></dt>
- <dd nctype=\"storecollectbtn_{$store_info['store_id']}\"><a href=\"javascript:void(0);\" onclick=\"javascript:collect_store(\'{$store_info['store_id']}\',\'succ\',\'storecollectbtn_{$store_info['store_id']}\');\">".Language::get('sns_sharestore_collect')."</a></dd>
- </dl>
- </div>
- </div>";
- $insert_arr['trace_content'] = $content_str;
- $insert_arr['trace_addtime'] = time();
- $insert_arr['trace_state'] = '0';
- $insert_arr['trace_privacy'] = intval($_POST["sprivacy"])>0?intval($_POST["sprivacy"]):0;
- $insert_arr['trace_commentcount'] = 0;
- $insert_arr['trace_copycount'] = 0;
- $result = $tracelog_model->tracelogAdd($insert_arr);
- //建立cookie
- if (cookie('weibonum') != null && intval(cookie('weibonum')) >0){
- setNcCookie('weibonum',intval(cookie('weibonum'))+1,2*3600);//保存2小时
- }else{
- setNcCookie('weibonum',1,2*3600);//保存2小时
- }
- //站外分享功能
- if (C('share_isuse') == 1){
- $model = Model('sns_binding');
- //查询该用户的绑定信息
- $bind_list = $model->getUsableApp($_SESSION['member_id']);
- //分享内容数组
- $params = array();
- $params['title'] = Language::get('sns_sharestore_title');
- $params['url'] = urlShop('show_store' , 'index', array('store_id'=>$store_info['store_id']));
- $params['comment'] = $store_info['store_name'].$_POST['comment'];
- $params['images'] = empty($store_info['store_avatar']) ? UPLOAD_SITE_URL.DS.ATTACH_COMMON.DS.C('default_store_avatar') : UPLOAD_SITE_URL.DS.ATTACH_STORE.DS.$store_info['store_avatar'];
- //分享之qqweibo
- if (isset($_POST['checkapp_qqweibo']) && !empty($_POST['checkapp_qqweibo']) && $bind_list['qqweibo']['isbind'] == true){
- $model->addQQWeiboPic($bind_list['qqweibo'],$params);
- }
- //分享之sinaweibo
- if (isset($_POST['checkapp_sinaweibo']) && !empty($_POST['checkapp_sinaweibo']) && $bind_list['sinaweibo']['isbind'] == true){
- $model->addSinaWeiboUpload($bind_list['sinaweibo'],$params);
- }
- }
- //输出js
- $js = "DialogManager.close('sharestore');";
- $url = '';
- if ($_GET['irefresh']){
- $js.="$('#friendtrace').lazyshow({url:\"index.php?act=member_snsindex&op=tracelist&curpage=1\",'iIntervalId':true});";
- }else{
- $url = 'reload';
- }
- showDialog(Language::get('sns_share_succ'),$url,'succ',$js);
- }else {
- showDialog(Language::get('sns_share_fail'),$url,'error');
- }
- } else {
- //查询收藏店铺信息
- $favorites_model = Model('favorites');
- $condition = array();
- $condition['member_id'] = $_SESSION['member_id'];
- $favorites_list = $favorites_model->getStoreFavoritesList($condition);
- unset($condition);
- $store_list = array();
- if (!empty($favorites_list)){
- $store_id = array();
- foreach ($favorites_list as $v){
- $store_id[] = $v['fav_id'];
- }
- //查询商品信息
- $store_model = Model('store');
- $condition = array();
- $condition['store_id'] = array('in', $store_id);
- $store_list = $store_model->getStoreOnlineList($condition);
- }
- if (C('share_isuse') == 1){
- $model = Model('sns_binding');
- $app_arr = $model->getUsableApp($_SESSION['member_id']);
- Tpl::output('app_arr',$app_arr);
- }
- //验证码
- Tpl::output('nchash',substr(md5(SHOP_SITE_URL.$_GET['act'].$_GET['op']),0,8));
- Tpl::output('store_list',$store_list);
- Tpl::showpage('member_snssharestore','null_layout');
- }
- }
- /**
- * 删除动态
- */
- public function deltraceOp(){
- $id = intval($_GET['id']);
- if ($id <= 0){
- showDialog(Language::get('wrong_argument'),'','error');
- }
- $tracelog_model = Model('sns_tracelog');
- //删除动态
- $condition = array();
- $condition['trace_id'] = "$id";
- $condition['trace_memberid'] = "{$_SESSION['member_id']}";
- $result = $tracelog_model->delTracelog($condition);
- if ($result){
- //修改该动态的转帖信息
- $tracelog_model->tracelogEdit(array('trace_originalstate'=>'1'),array('trace_originalid'=>"$id"));
- //删除对应的评论
- $comment_model = Model('sns_comment');
- $condition = array();
- $condition['comment_originalid'] = "$id";
- $condition['comment_originaltype'] = "0";
- $comment_model->delComment($condition);
- if ($_GET['type'] == 'href'){
- showDialog(Language::get('nc_common_del_succ'),'index.php?act=member_snshome&op=trace&mid='.$_SESSION['member_id'],'succ');
- }else {
- $js = "location.reload();";
- showDialog(Language::get('nc_common_del_succ'),'','succ',$js);
- }
- } else {
- showDialog(Language::get('nc_common_del_fail'),'','error');
- }
- }
- /**
- * SNS动态列表
- */
- public function tracelistOp(){
- //查询关注以及好友列表
- $friend_model = Model('sns_friend');
- $friend_list = $friend_model->listFriend(array('friend_frommid'=>"{$_SESSION['member_id']}"),'*','','simple');
- $mutualfollowid_arr = array();
- $followid_arr = array();
- if (!empty($friend_list)){
- foreach ($friend_list as $k=>$v){
- $followid_arr[] = $v['friend_tomid'];
- if ($v['friend_followstate'] == 2){
- $mutualfollowid_arr[] = $v['friend_tomid'];
- }
- }
- }
- $tracelog_model = Model('sns_tracelog');
- //条件
- $condition = array();
- $condition['allowshow'] = '1';
- $condition['allowshow_memberid'] = "{$_SESSION['member_id']}";
- $condition['allowshow_followerin'] = "";
- if (!empty($followid_arr)){
- $condition['allowshow_followerin'] = implode("','",$followid_arr);
- }
- $condition['allowshow_friendin'] = "";
- if (!empty($mutualfollowid_arr)){
- $condition['allowshow_friendin'] = implode("','",$mutualfollowid_arr);
- }
- $condition['trace_state'] = "0";
- $count = $tracelog_model->countTrace($condition);
- //分页
- $page = new Page();
- $page->setEachNum(30);
- $page->setStyle('admin');
- $page->setTotalNum($count);
- $delaypage = intval($_GET['delaypage'])>0?intval($_GET['delaypage']):1;//本页延时加载的当前页数
- $lazy_arr = lazypage(10,$delaypage,$count,true,$page->getNowPage(),$page->getEachNum(),$page->getLimitStart());
- //动态列表
- $condition['limit'] = $lazy_arr['limitstart'].",".$lazy_arr['delay_eachnum'];
- $tracelist = $tracelog_model->getTracelogList($condition);
- if (!empty($tracelist)){
- foreach ($tracelist as $k=>$v){
- if ($v['trace_title']){
- $v['trace_title'] = str_replace("%siteurl%", SHOP_SITE_URL.DS, $v['trace_title']);
- $v['trace_title_forward'] = '|| @'.$v['trace_membername'].Language::get('nc_colon').preg_replace("/<a(.*?)href=\"(.*?)\"(.*?)>@(.*?)<\/a>([\s|:|:]|$)/is",'@${4}${5}',$v['trace_title']);
- }
- if(!empty($v['trace_content'])){
- //替换内容中的siteurl
- $v['trace_content'] = str_replace("%siteurl%", SHOP_SITE_URL.DS, $v['trace_content']);
- }
- $tracelist[$k] = $v;
- }
- }
- Tpl::output('hasmore',$lazy_arr['hasmore']);
- Tpl::output('tracelist',$tracelist);
- Tpl::output('show_page',$page->show());
- Tpl::output('type','index');
- Tpl::showpage('member_snstracelist','null_layout');
- }
- /**
- * 编辑分享商品的可见权限(主人登录后操作)
- */
- public function editprivacyOp(){
- $id = intval($_GET['id']);
- if ($id <= 0){
- showDialog(Language::get('wrong_argument'),'','error');
- }
- $sharegoods_model = Model("sns_sharegoods");
- $condition = array();
- $condition['share_id'] = "$id";
- $condition['share_memberid'] = "{$_SESSION['member_id']}";
- $privacy = in_array($_GET['privacy'],array(0,1,2))?$_GET['privacy']:0;
- $result = $sharegoods_model->editSharegoods(array('share_privacy'=>"$privacy"),$condition);
- if ($result){
- $privacy_item = $privacy+1;
- $js = "var obj = $(\"#recordone_{$id}\").find(\"[nc_type='privacytab']\"); $(obj).find('span').removeClass('selected');$(obj).find('li:nth-child(".$privacy_item.")').find('span').addClass('selected');";
- showDialog(Language::get('sns_setting_succ'),'','succ',$js);
- }else {
- showDialog(Language::get('sns_setting_fail'),'','error');
- }
- }
- /**
- * 删除分享和喜欢商品
- */
- public function delgoodsOp(){
- $id = intval($_GET['id']);
- if ($id <= 0){
- showDialog(Language::get('wrong_argument'),'','error');
- }
- $sharegoods_model = Model("sns_sharegoods");
- //查询分享和喜欢商品信息
- $condition = array();
- $condition['share_id'] = "$id";
- $condition['share_memberid'] = "{$_SESSION['member_id']}";
- if ($_GET['type'] == 'like'){//删除喜欢
- $condition['share_islike'] = "1";
- }elseif ($_GET['type'] == 'share'){
- $condition['share_isshare'] = "1";
- }
- $sharegoods_info = $sharegoods_model->getSharegoodsInfo($condition);
- if (empty($sharegoods_info)){
- showDialog(Language::get('nc_common_del_fail'),'','error');
- }
- unset($condition);
- $update_arr = array();
- if ($_GET['type'] == 'like'){//删除喜欢
- $update_arr['share_islike'] = "0";
- }elseif ($_GET['type'] == 'share'){
- $update_arr['share_isshare'] = "0";
- }
- $result = $sharegoods_model->editSharegoods($update_arr,array('share_id'=>"{$sharegoods_info['share_id']}"));
- if ($result){
- //更新SNS商品喜欢次数
- if ($_GET['type'] == 'like'){
- $snsgoods_model = Model('sns_goods');
- $snsgoods_info = $snsgoods_model->getGoodsInfo(array('snsgoods_goodsid'=>"{$sharegoods_info['share_goodsid']}"));
- if (!empty($snsgoods_info)){
- $update_arr = array();
- $update_arr['snsgoods_likenum'] = (intval($snsgoods_info['snsgoods_likenum'])-1)>0?(intval($snsgoods_info['snsgoods_likenum'])-1):0;
- $likemember_arr = array();
- if (!empty($snsgoods_info['snsgoods_likemember'])){
- $likemember_arr = explode(',',$snsgoods_info['snsgoods_likemember']);
- unset($likemember_arr[array_search($_SESSION['member_id'],$likemember_arr)]);
- }
- $update_arr['snsgoods_likemember'] = implode(',',$likemember_arr);
- $snsgoods_model->editGoods($update_arr,array('snsgoods_goodsid'=>"{$snsgoods_info['snsgoods_goodsid']}"));
- }
- }
- $js = "location.reload();";
- showDialog(Language::get('nc_common_del_succ'),'','succ',$js);
- }else {
- showDialog(Language::get('nc_common_del_fail'),'','error');
- }
- }
- /**
- * 删除分享店铺
- */
- public function delstoreOp(){
- $id = intval($_GET['id']);
- if ($id <= 0){
- showDialog(Language::get('wrong_argument'),'','error');
- }
- $sharestore_model = Model("sns_sharestore");
- //删除分享店铺信息
- $condition = array();
- $condition['share_id'] = "$id";
- $condition['share_memberid'] = "{$_SESSION['member_id']}";
- $result = $sharestore_model->delSharestore($condition);
- if ($result){
- $js = "location.reload();";
- showDialog(Language::get('nc_common_del_succ'),'','succ',$js);
- }else {
- showDialog(Language::get('nc_common_del_fail'),'','error');
- }
- }
- /**
- * 编辑分享店铺的可见权限(主人登录后操作)
- */
- public function storeprivacyOp(){
- $id = intval($_GET['id']);
- if ($id <= 0){
- showDialog(Language::get('wrong_argument'),'','error');
- }
- $sharestore_model = Model("sns_sharestore");
- $condition = array();
- $condition['share_id'] = "$id";
- $condition['share_memberid'] = "{$_SESSION['member_id']}";
- $privacy = in_array($_GET['privacy'],array(0,1,2))?$_GET['privacy']:0;
- $result = $sharestore_model->editSharestore(array('share_privacy'=>"$privacy"),$condition);
- if ($result){
- $privacy_item = $privacy+1;
- $js = "var obj = $(\"#recordone_{$id}\").find(\"[nc_type='privacytab']\"); $(obj).find('span').removeClass('selected');$(obj).find('li:nth-child(".$privacy_item.")').find('span').addClass('selected');";
- showDialog(Language::get('sns_setting_succ'),'','succ',$js);
- }else {
- showDialog(Language::get('sns_setting_fail'),'','error');
- }
- }
- /**
- * 添加评论(访客登录后操作)
- */
- public function addcommentOp(){
- $originalid = intval($_POST["originalid"]);
- if($originalid <= 0){
- showDialog(Language::get('wrong_argument'),'','error');
- }
- $obj_validate = new Validator();
- $originaltype = intval($_POST['originaltype'])>0?intval($_POST['originaltype']):0;
- $validate_arr[] = array("input"=>$_POST["commentcontent"], "require"=>"true","message"=>Language::get('sns_comment_null'));
- $validate_arr[] = array("input"=>$_POST["commentcontent"], "validator"=>'Length',"min"=>0,"max"=>140,"message"=>Language::get('sns_content_beyond'));
- //评论数超过最大次数出现验证码
- if(intval(cookie('commentnum'))>=self::MAX_RECORDNUM){
- $validate_arr[] = array("input"=>$_POST["captcha"], "require"=>"true","message"=>Language::get('wrong_null'));
- }
- $obj_validate -> validateparam = $validate_arr;
- $error = $obj_validate->validate();
- if ($error != ''){
- showDialog($error,'','error');
- }
- //发帖数超过最大次数出现验证码
- if(intval(cookie('commentnum'))>=self::MAX_RECORDNUM){
- if (!checkSeccode($_POST['nchash'],$_POST['captcha'])){
- showDialog(Language::get('wrong_checkcode'),'','error');
- }
- }
- //查询会员信息
- $member_model = Model('member');
- $member_info = $member_model->getMemberInfo(array('member_id'=>$_SESSION['member_id'],'member_state'=>1));
- if (empty($member_info)){
- showDialog(Language::get('sns_member_error'),'','error');
- }
- $owner_id = 0;
- if ($originaltype == 1){
- //查询分享和喜欢商品信息
- $sharegoods_model = Model('sns_sharegoods');
- $sharegoods_info = $sharegoods_model->getSharegoodsInfo(array('share_id'=>"{$originalid}"));
- if (empty($sharegoods_info)){
- showDialog(Language::get('sns_comment_fail'),'','error');
- }
- $owner_id = $sharegoods_info['share_memberid'];
- }else {
- //查询原帖信息
- $tracelog_model = Model('sns_tracelog');
- $tracelog_info = $tracelog_model->getTracelogRow(array('trace_id'=>"{$originalid}",'trace_state'=>'0'));
- if (empty($tracelog_info)){
- showDialog(Language::get('sns_comment_fail'),'','error');
- }
- $owner_id = $tracelog_info['trace_memberid'];
- }
- $comment_model = Model('sns_comment');
- $insert_arr = array();
- $insert_arr['comment_memberid'] = $_SESSION['member_id'];
- $insert_arr['comment_membername'] = $_SESSION['member_name'];
- $insert_arr['comment_memberavatar'] = $member_info['member_avatar'];
- $insert_arr['comment_originalid'] = $originalid;
- $insert_arr['comment_originaltype'] = $originaltype;
- $insert_arr['comment_content'] = $_POST['commentcontent'];
- $insert_arr['comment_addtime'] = time();
- $insert_arr['comment_ip'] = getIp();
- $insert_arr['comment_state'] = '0';//正常
- $result = $comment_model->commentAdd($insert_arr);
- if ($result){
- if ($originaltype == 1){
- //更新商品的评论数
- $update_arr = array();
- $update_arr['share_commentcount'] = array('sign'=>'increase','value'=>'1');
- $sharegoods_model->editSharegoods($update_arr,array('share_id'=>"{$originalid}"));
- }else {
- //更新动态统计信息
- $update_arr = array();
- $update_arr['trace_commentcount'] = array('sign'=>'increase','value'=>'1');
- if (intval($tracelog_info['trace_originalid'])== 0){
- $update_arr['trace_orgcommentcount'] = array('sign'=>'increase','value'=>'1');
- }
- $tracelog_model->tracelogEdit($update_arr,array('trace_id'=>"$originalid"));
- unset($update_arr);
- //更新所有转帖的原帖评论次数
- if (intval($tracelog_info['trace_originalid'])== 0){
- $tracelog_model->tracelogEdit(array('trace_orgcommentcount'=>$tracelog_info['trace_orgcommentcount']+1),array('trace_originalid'=>"$originalid"));
- }
- }
- //建立cookie
- if (cookie('commentnum') != null && intval(cookie('commentnum')) >0){
- setNcCookie('commentnum',intval(cookie('commentnum'))+1,2*3600);//保存2小时
- }else{
- setNcCookie('commentnum',1,2*3600);//保存2小时
- }
- $js = "$(\"#content_comment{$originalid}\").val('');";
- if ($_POST['showtype'] == 1){
- $js .="$(\"#tracereply_{$originalid}\").load('index.php?act=member_snshome&op=commenttop&mid={$owner_id}&id={$originalid}&type={$originaltype}');";
- }else {
- $js .="$(\"#tracereply_{$originalid}\").load('index.php?act=member_snshome&op=commentlist&mid={$owner_id}&id={$originalid}&type={$originaltype}');";
- }
- showDialog(Language::get('sns_comment_succ'),'','succ',$js);
- }
- }
- /**
- * 删除评论(访客登录后操作)
- */
- public function delcommentOp(){
- $id = intval($_GET['id']);
- if ($id <= 0){
- showDialog(Language::get('wrong_argument'),'','error');
- }
- $comment_model = Model('sns_comment');
- //查询评论信息
- $comment_info = $comment_model->getCommentRow(array('comment_id'=>"$id",'comment_memberid'=>"{$_SESSION['member_id']}"));
- if (empty($comment_info)){
- showDialog(Language::get('sns_comment_recorderror'),'','error');
- }
- //删除评论
- $condition = array();
- $condition['comment_id'] = "$id";
- $result = $comment_model->delComment($condition);
- if ($result){
- if ($comment_info['comment_originaltype'] == 1){
- //更新商品评论数
- $sharegoods_model = Model('sns_sharegoods');
- $update_arr = array();
- $update_arr['share_commentcount'] = array('sign'=>'decrease','value'=>'1');
- $sharegoods_model->editSharegoods($update_arr,array('share_id'=>"{$comment_info['comment_originalid']}"));
- }else {
- //更新动态统计信息
- $tracelog_model = Model('sns_tracelog');
- $update_arr = array();
- $update_arr['trace_commentcount'] = array('sign'=>'decrease','value'=>'1');
- $tracelog_model->tracelogEdit($update_arr,array('trace_id'=>"{$comment_info['comment_originalid']}"));
- }
- $js .="$('.comment-list [nc_type=\"commentrow_{$id}\"]').remove();";
- showDialog(Language::get('nc_common_del_succ'),'','succ',$js);
- }else {
- showDialog(Language::get('nc_common_del_fail'),'','error');
- }
- }
- /**
- * 喜欢商品(访客登录后操作)
- */
- public function editlikeOp(){
- $obj_validate = new Validator();
- $validate_arr[] = array("input"=>$_GET["id"], "require"=>"true","message"=>Language::get('sns_likegoods_choose'));
- $obj_validate -> validateparam = $validate_arr;
- $error = $obj_validate->validate();
- if ($error != ''){
- showDialog($error,'','error');
- }
- //查询会员信息
- $member_model = Model('member');
- $member_info = $member_model->getMemberInfo(array('member_id'=>$_SESSION['member_id'],'member_state'=>1));
- if (empty($member_info)){
- showDialog(Language::get('sns_member_error'),'','error');
- }
- //查询商品信息
- $goods_model = Model('goods');
- $goods_info = $goods_model->getGoodsOnlineInfoForShare(intval($_GET["id"]));
- if (empty($goods_info)){
- showDialog(Language::get('sns_goods_error'),'','error');
- }
- $sharegoods_model = Model('sns_sharegoods');
- //判断该商品是否已经存在分享记录
- $sharegoods_info = $sharegoods_model->getSharegoodsInfo(array('share_memberid'=>"{$_SESSION['member_id']}",'share_goodsid'=>"{$goods_info['goods_id']}"));
- if (!empty($sharegoods_info) && $sharegoods_info['share_islike'] == 1){
- showDialog(Language::get('sns_likegoods_exist'),'','error');
- }
- if (empty($sharegoods_info)){
- //添加分享商品信息
- $insert_arr = array();
- $insert_arr['share_goodsid'] = $goods_info['goods_id'];
- $insert_arr['share_memberid'] = $_SESSION['member_id'];
- $insert_arr['share_membername'] = $_SESSION['member_name'];
- $insert_arr['share_content'] = '';
- $insert_arr['share_likeaddtime'] = time();
- $insert_arr['share_privacy'] = 0;
- $insert_arr['share_commentcount'] = 0;
- $insert_arr['share_islike'] = 1;
- $result = $sharegoods_model->sharegoodsAdd($insert_arr);
- unset($insert_arr);
- }else {
- //更新分享商品信息
- $update_arr = array();
- $update_arr['share_likeaddtime'] = time();
- $update_arr['share_islike'] = 1;
- $result = $sharegoods_model->editSharegoods($update_arr,array('share_id'=>"{$sharegoods_info['share_id']}"));
- unset($update_arr);
- }
- if ($result){
- //商品缓存数据更新
- //生成缓存的键值
- $hash_key = $goods_info['goods_id'];
- //先查找$hash_key缓存
- if ($_cache = rcache($hash_key,'product')){
- $_cache['likenum'] = intval($_cache['likenum'])+1;
- //缓存商品信息
- wcache($hash_key,$_cache,'product');
- }
- //更新SNS商品表信息
- $snsgoods_model = Model('sns_goods');
- $snsgoods_info = $snsgoods_model->getGoodsInfo(array('snsgoods_goodsid'=>"{$goods_info['goods_id']}"));
- if (empty($snsgoods_info)){
- //添加SNS商品
- $insert_arr = array();
- $insert_arr['snsgoods_goodsid'] = $goods_info['goods_id'];
- $insert_arr['snsgoods_goodsname'] = $goods_info['goods_name'];
- $insert_arr['snsgoods_goodsimage'] = $goods_info['goods_image'];
- $insert_arr['snsgoods_goodsprice'] = $goods_info['goods_price'];
- $insert_arr['snsgoods_storeid'] = $goods_info['store_id'];
- $insert_arr['snsgoods_storename'] = $goods_info['store_name'];
- $insert_arr['snsgoods_addtime'] = time();
- $insert_arr['snsgoods_likenum'] = 1;
- $insert_arr['snsgoods_likemember'] = "{$_SESSION['member_id']}";
- $insert_arr['snsgoods_sharenum'] = 0;
- $snsgoods_model->goodsAdd($insert_arr);
- unset($insert_arr);
- }else {
- //更新SNS商品
- $update_arr = array();
- $update_arr['snsgoods_likenum'] = intval($snsgoods_info['snsgoods_likenum'])+1;
- $likemember_arr = array();
- if (!empty($snsgoods_info['snsgoods_likemember'])){
- $likemember_arr = explode(',',$snsgoods_info['snsgoods_likemember']);
- }
- $likemember_arr[] = $_SESSION['member_id'];
- $update_arr['snsgoods_likemember'] = implode(',',$likemember_arr);
- $snsgoods_model->editGoods($update_arr,array('snsgoods_goodsid'=>"{$goods_info['goods_id']}"));
- }
- //添加喜欢动态
- $tracelog_model = Model('sns_tracelog');
- $insert_arr = array();
- $insert_arr['trace_originalid'] = '0';
- $insert_arr['trace_originalmemberid'] = '0';
- $insert_arr['trace_memberid'] = $_SESSION['member_id'];
- $insert_arr['trace_membername'] = $_SESSION['member_name'];
- $insert_arr['trace_memberavatar'] = $member_info['member_avatar'];
- $insert_arr['trace_title'] = Language::get('sns_likegoods_title');
- $content_str = '';
- $content_str .= "<div class=\"fd-media\">
- <div class=\"goodsimg\"><a target=\"_blank\" href=\"".urlShop('goods', 'index', array('goods_id'=>$goods_info['goods_id']))."\"><img src=\"".thumb($goods_info, 240)."\" onload=\"javascript:DrawImage(this,120,120);\" alt=\"{$goods_info['goods_name']}\"></a></div>
- <div class=\"goodsinfo\">
- <dl>
- <dt><a target=\"_blank\" href=\"".urlShop('goods', 'index', array('goods_id'=>$goods_info['goods_id']))."\">".$goods_info['goods_name']."</a></dt>
- <dd>".Language::get('sns_sharegoods_price').Language::get('nc_colon').Language::get('currency').$goods_info['goods_price']."</dd>
- <dd>".Language::get('sns_sharegoods_freight').Language::get('nc_colon').Language::get('currency').$goods_info['goods_freight']."</dd>
- <dd nctype=\"collectbtn_{$goods_info['goods_id']}\"><a href=\"javascript:void(0);\" onclick=\"javascript:collect_goods(\'{$goods_info['goods_id']}\',\'succ\',\'collectbtn_{$goods_info['goods_id']}\');\">".Language::get('sns_sharegoods_collect')."</a> (".$goods_info['goods_collect'].Language::get('sns_collecttip').")</dd>
- </dl>
- </div>
- </div>";
- $insert_arr['trace_content'] = $content_str;
- $insert_arr['trace_addtime'] = time();
- $insert_arr['trace_state'] = '0';
- $insert_arr['trace_privacy'] = 0;
- $insert_arr['trace_commentcount'] = 0;
- $insert_arr['trace_copycount'] = 0;
- $result = $tracelog_model->tracelogAdd($insert_arr);
- $js = "var obj = $(\"#likestat_{$goods_info['goods_id']}\"); $(\"#likestat_{$goods_info['goods_id']}\").find('i').addClass('noaction');$(obj).find('a').addClass('noaction'); var countobj=$('[nc_type=\'likecount_{$goods_info['goods_id']}\']');$(countobj).html(parseInt($(countobj).text())+1);";
- showDialog(Language::get('nc_common_op_succ'),'','succ',$js);
- }else {
- showDialog(Language::get('nc_common_op_fail'),'','error');
- }
- }
- /**
- * 添加转发
- */
- public function addforwardOp(){
- $obj_validate = new Validator();
- $originalid = intval($_POST["originalid"]);
- $validate_arr[] = array("input"=>$originalid, "require"=>"true",'validator'=>'Compare',"operator"=>' > ','to'=>0,"message"=>Language::get('sns_forward_fail'));
- $validate_arr[] = array("input"=>$_POST["forwardcontent"], "validator"=>'Length',"min"=>0,"max"=>140,"message"=>Language::get('sns_content_beyond'));
- //发帖数超过最大次数出现验证码
- if(intval(cookie('forwardnum'))>=self::MAX_RECORDNUM){
- $validate_arr[] = array("input"=>$_POST["captcha"], "require"=>"true","message"=>Language::get('wrong_null'));
- }
- $obj_validate -> validateparam = $validate_arr;
- $error = $obj_validate->validate();
- if ($error != ''){
- showDialog($error,'','error');
- }
- //发帖数超过最大次数出现验证码
- if(intval(cookie('forwardnum'))>=self::MAX_RECORDNUM){
- if (!checkSeccode($_POST['nchash'],$_POST['captcha'])){
- showDialog(Language::get('wrong_checkcode'),'','error');
- }
- }
- //查询会员信息
- $member_model = Model('member');
- $member_info = $member_model->getMemberInfo(array('member_id'=>$_SESSION['member_id'],'member_state'=>1));
- if (empty($member_info)){
- showDialog(Language::get('sns_member_error'),'','error');
- }
- //查询原帖信息
- $tracelog_model = Model('sns_tracelog');
- $tracelog_info = $tracelog_model->getTracelogRow(array('trace_id'=>"{$originalid}",'trace_state'=>"0"));
- if (empty($tracelog_info)){
- showDialog(Language::get('sns_forward_fail'),'','error');
- }
- $insert_arr = array();
- $insert_arr['trace_originalid'] = $tracelog_info['trace_originalid']>0?$tracelog_info['trace_originalid']:$originalid;//如果被转发的帖子为原帖的话,那么为原帖ID;如果被转发的帖子为转帖的话,那么为该转帖的原帖ID(即最初始帖子ID)
- $insert_arr['trace_originalmemberid'] = $tracelog_info['trace_originalid']>0?$tracelog_info['trace_originalmemberid']:$tracelog_info['trace_memberid'];
- $insert_arr['trace_memberid'] = $_SESSION['member_id'];
- $insert_arr['trace_membername'] = $_SESSION['member_name'];
- $insert_arr['trace_memberavatar'] = $member_info['member_avatar'];
- $insert_arr['trace_title'] = $_POST['forwardcontent']?$_POST['forwardcontent']:Language::get('sns_forward');
- if ($tracelog_info['trace_originalid'] > 0 || $tracelog_info['trace_from'] != 1){
- $insert_arr['trace_content'] = addslashes($tracelog_info['trace_content']);
- }else {
- $content_str ="<div class=\"title\"><a href=\"%siteurl%index.php?act=member_snshome&mid={$tracelog_info['trace_memberid']}\" target=\"_blank\" class=\"uname\">{$tracelog_info['trace_membername']}</a>";
- $content_str .= Language::get('nc_colon')."{$tracelog_info['trace_title']}</div>";
- $content_str .=addslashes($tracelog_info['trace_content']);
- $insert_arr['trace_content'] = $content_str;
- }
- $insert_arr['trace_addtime'] = time();
- $insert_arr['trace_state'] = '0';
- if ($tracelog_info['trace_privacy'] >0){
- $insert_arr['trace_privacy'] = 2;//因为动态可见权限跟转帖功能,本身就是矛盾的,为了防止可见度无法控制,所以如果原帖不为所有人可见,那么转帖的动态权限就为仅自己可见,否则为所有人可见
- }else {
- $insert_arr['trace_privacy'] = 0;
- }
- $insert_arr['trace_commentcount'] = 0;
- $insert_arr['trace_copycount'] = 0;
- $insert_arr['trace_orgcommentcount'] = $tracelog_info['trace_orgcommentcount'];
- $insert_arr['trace_orgcopycount'] = $tracelog_info['trace_orgcopycount'];
- $result = $tracelog_model->tracelogAdd($insert_arr);
- if ($result){
- //更新动态转发次数
- $tracelog_model = Model('sns_tracelog');
- $update_arr = array();
- $update_arr['trace_copycount'] = array('sign'=>'increase','value'=>'1');
- $update_arr['trace_orgcopycount'] = array('sign'=>'increase','value'=>'1');
- $condition = array();
- //原始贴和被转帖都增加转帖次数
- if ($tracelog_info['trace_originalid'] > 0){
- $condition['traceid_in'] = "{$tracelog_info['trace_originalid']}','{$originalid}";
- }else {
- $condition['trace_id'] = "$originalid";
- }
- $tracelog_model->tracelogEdit($update_arr,$condition);
- unset($condition);
- //更新所有转帖的原帖转发次数
- $condition = array();
- //原始贴和被转帖都增加转帖次数
- if ($tracelog_info['trace_originalid'] > 0){
- $condition['trace_originalid'] = "{$tracelog_info['trace_originalid']}";
- }else {
- $condition['trace_originalid'] = "$originalid";
- }
- $tracelog_model->tracelogEdit(array('trace_orgcopycount'=>$tracelog_info['trace_orgcopycount']+1),$condition);
- if ($_GET['irefresh']){
- //建立cookie
- if (cookie('forwardnum') != null && intval(cookie('forwardnum')) >0){
- setNcCookie('forwardnum',intval(cookie('forwardnum'))+1,2*3600);//保存2小时
- }else{
- setNcCookie('forwardnum',1,2*3600);//保存2小时
- }
- if ($_GET['type']=='home'){
- $js = "$('#friendtrace').lazyshow({url:\"index.php?act=member_snshome&op=tracelist&mid={$tracelog_info['trace_memberid']}&curpage=1\",'iIntervalId':true});";
- }else if ($_GET['type']=='snshome'){
- $js = "$('#forward_".$originalid."').hide();$('#friendtrace').lazyshow({url:\"index.php?act=member_snshome&op=tracelist&mid={$tracelog_info['trace_memberid']}&curpage=1\",'iIntervalId':true});";
- }else {
- $js = "$('#friendtrace').lazyshow({url:\"index.php?act=member_snsindex&op=tracelist&curpage=1\",'iIntervalId':true});";
- }
- showDialog(Language::get('sns_forward_succ'),'','succ',$js);
- }else {
- showDialog(Language::get('sns_forward_succ'),'','succ');
- }
- }else {
- showDialog(Language::get('sns_forward_fail'),'','error');
- }
- }
- /**
- * 商品收藏页面和商品详细页面分享商品
- */
- public function sharegoods_oneOp(){
- Language::read('member_sharemanage');
- $gid = intval($_GET['gid']);
- if ($gid<=0){
- showDialog(Language::get('wrong_argument'),'','error');
- }
- if ($_GET['dialog']){
- $js = "CUR_DIALOG = ajax_form('sharegoods', '".Language::get('sns_sharegoods_tofriend')."', 'index.php?act=member_snsindex&op=sharegoods_one&gid={$gid}', 480);";
- showDialog('','','js',$js);
- }
- //查询商品信息
- $goods_info = Model('goods')->getGoodsOnlineInfoForShare($gid);
-
- //判断系统是否开启站外分享功能
- if (C('share_isuse') == 1){
- //站外分享接口
- $model = Model('sns_binding');
- $app_arr = $model->getUsableApp($_SESSION['member_id']);
- Tpl::output('app_arr',$app_arr);
- }
- //信息输出
- Tpl::output('nchash',substr(md5(SHOP_SITE_URL.$_GET['act'].$_GET['op']),0,8));
- Tpl::output('goods_info',$goods_info);
- Tpl::showpage('member_snssharegoods_one','null_layout');
- }
- /**
- * 店铺收藏页面分享店铺
- */
- public function sharestore_oneOp(){
- Language::read('member_sharemanage');
- $sid = intval($_GET['sid']);
- if ($sid<=0){
- showDialog(Language::get('wrong_argument'),'','error');
- }
- if ($_GET['dialog']){
- $js = "ajax_form('sharestore', '".Language::get('sns_sharestore')."', 'index.php?act=member_snsindex&op=sharestore_one&sid={$sid}', 480);";
- showDialog('','','js',$js);
- }
- //查询店铺信息
- $store_model = Model('store');
- $store_info = $store_model->getStoreInfoByID($sid);
- if (empty($store_info) || $store_info['store_state'] == 0){
- showDialog(Language::get('sns_sharestore_storeerror'),'','error');
- }
- $store_info['store_url'] = urlShop('show_store', 'index', array('store_id'=>$store_info['store_id']));
- //判断系统是否开启站外分享功能
- if (C('share_isuse') == 1){
- //站外分享接口
- $model = Model('sns_binding');
- $app_arr = $model->getUsableApp($_SESSION['member_id']);
- Tpl::output('app_arr',$app_arr);
- }
- //信息输出
- Tpl::output('nchash',substr(md5(SHOP_SITE_URL.$_GET['act'].$_GET['op']),0,8));
- Tpl::output('store_info',$store_info);
- Tpl::showpage('member_snssharestore_one','null_layout');
- }
- }
|