/** * 验证验证码 * * @param string $nchash 哈希数 * @param string $value 待验证值 * @return boolean */ function uk86_checkSeccode($nchash, $value) { list($checkvalue, $checktime, $checkidhash) = explode("\t", uk86_decrypt(uk86_cookie('seccode' . $nchash), MD5_KEY)); $return = $checkvalue == strtoupper($value) && $checkidhash == $nchash; if (!$return) { uk86_setNcCookie('seccode' . $nchash, '', -3600); } return $return; }
/** * 话题回复保存 */ public function save_replyOp() { // Reply function does close,throw error. if (!intval(C('circle_istalk'))) { showDialog(L('circle_has_been_closed_reply')); } // checked cookie of SEC if (uk86_cookie(circle_intervaltime)) { showDialog(L('circle_operation_too_frequent')); } // 会员信息 $this->memberInfo(); // 不是圈子成员不能发帖 if (!in_array($this->identity, array(1, 2, 3))) { showDialog(L('circle_no_join_ban_reply')); } // 话题信息 $this->themeInfo(); if (uk86_chksubmit()) { /** * 验证 */ $obj_validate = new Uk86Validate(); $obj_validate->validateparam = array(array("input" => $_POST["replycontent"], "require" => "true", "message" => L('circle_reply_not_null'))); $error = $obj_validate->uk86_validate(); if ($error != '') { showDialog($error); } else { $model = Model(); $insert = array(); $insert['theme_id'] = $this->t_id; $insert['circle_id'] = $this->c_id; $insert['member_id'] = $_SESSION['member_id']; $insert['member_name'] = $_SESSION['member_name']; $insert['reply_content'] = circleCenterCensor($_POST['replycontent']); $insert['reply_addtime'] = time(); $insert['is_closed'] = 0; // 回复楼层验证 if ($_POST['answer_id'] != '') { $reply_info = Model()->table('circle_threply')->where(array('theme_id' => $this->t_id, 'reply_id' => intval($_POST['answer_id'])))->find(); if (!empty($reply_info)) { $insert['reply_replyid'] = $reply_info['reply_id']; $insert['reply_replyname'] = $reply_info['member_name']; } } $reply_id = $model->table('circle_threply')->insert($insert); if ($reply_id) { if ($_GET['type'] == 'adv') { // 插入话题商品 if (!empty($_POST['goods'])) { $goods_insert = array(); foreach ($_POST['goods'] as $key => $val) { $p = array(); $p['theme_id'] = $this->t_id; $p['reply_id'] = $reply_id; $p['circle_id'] = $this->c_id; $p['goods_id'] = $val['id']; $p['goods_name'] = $val['name']; $p['goods_price'] = $val['price']; $p['goods_image'] = $val['image']; $p['store_id'] = $val['storeid']; $p['thg_type'] = $val['type']; $p['thg_url'] = $val['type'] == 1 ? $val['uri'] : ''; $goods_insert[] = $p; } $rs = $model->table('circle_thg')->insertAll($goods_insert); } // 更新话题附件 $model->table('circle_affix')->where(array('affix_type' => 2, 'member_id' => $_SESSION['member_id'], 'reply_id' => 0))->update(array('theme_id' => $this->t_id, 'reply_id' => $reply_id, 'circle_id' => $this->c_id)); } // 话题被回复数增加 最后发言人发言时间 $update = array(); $update['theme_id'] = $this->t_id; $update['theme_commentcount'] = array('exp', 'theme_commentcount+1'); $update['lastspeak_id'] = $_SESSION['member_id']; $update['lastspeak_name'] = $_SESSION['member_name']; $update['lastspeak_time'] = time(); $model->table('circle_theme')->update($update); // 成员回复数增加 最后回复时间 $model->table('circle_member')->where(array('member_id' => $_SESSION['member_id'], 'circle_id' => $this->c_id))->update(array('cm_comcount' => array('exp', 'cm_comcount+1'), 'cm_lastspeaktime' => time())); // set cookie of SEC if (intval(C('circle_intervaltime')) > 0) { uk86_setNcCookie('circle_intervaltime', true, intval(C('circle_intervaltime'))); } if ($this->theme_info['member_id'] != $_SESSION['member_id']) { // Experience for replyer $param = array(); $param['member_id'] = $_SESSION['member_id']; $param['member_name'] = $_SESSION['member_name']; $param['circle_id'] = $this->c_id; $param['theme_id'] = $this->t_id; $param['type'] = 'reply'; $param['itemid'] = $this->t_id . ',' . $reply_id; Model('circle_exp')->saveExp($param); // Experience for releaser $param = array(); $param['member_id'] = $this->theme_info['member_id']; $param['member_name'] = $this->theme_info['member_name']; $param['theme_id'] = $this->t_id; $param['circle_id'] = $this->c_id; $param['type'] = 'replied'; $param['itemid'] = $this->t_id; Model('circle_exp')->saveExp($param); } if ($_GET['type'] == 'quick') { showDialog(L('nc_common_op_succ'), '', 'succ', '$(\'li[nctype="li' . $this->t_id . '"]\').find(\'.quick-reply-2\').removeClass(\'t\').html(\'\').end().find(\'.quick-reply-list-2\').remove().end().end().find(\'a[nctype="reply"]\').click().click();'); } else { showDialog(L('nc_common_op_succ'), 'index.php?act=theme&op=theme_detail&c_id=' . $this->c_id . '&t_id=' . $this->t_id, 'succ'); } } } } }
/** * 首页 话题列表 */ public function indexOp() { // 圈子信息 $this->circleInfo(); // 圈主和管理信息 $this->manageList(); // 会员信息 $this->memberInfo(); // sidebar相关 $this->sidebar(); $model = Model(); // 话题列表 $where = array(); $where['circle_id'] = $this->c_id; $thc_id = intval($_GET['thc_id']); if ($thc_id > 0) { $where['thclass_id'] = $thc_id; Tpl::output('thc_id', $thc_id); } if (intval($_GET['cream']) == 1) { $where['is_digest'] = 1; } $theme_list = $model->table('circle_theme')->where($where)->order('is_stick desc,lastspeak_time desc')->page(20)->select(); $theme_list = uk86_array_under_reset($theme_list, 'theme_id'); Tpl::output('show_page', $model->showpage('2')); Tpl::output('theme_list', $theme_list); // 附件列表 if (!empty($theme_list)) { $themeid_array = array_keys($theme_list); $affix_list = $model->table('circle_affix')->where(array('affix_type' => 1, 'theme_id' => array('in', $themeid_array)))->select(); $affix_list = uk86_array_under_reset($affix_list, 'theme_id', 2); Tpl::output('affix_list', $affix_list); } // 今日话题数 // 当天时间戳 $year = date("Y"); $month = date("m"); $day = date("d"); $dayBegin = mktime(0, 0, 0, $month, $day, $year); $todaythcount = $model->table('circle_theme')->where(array('theme_addtime' => array('egt', $dayBegin), 'circle_id' => $this->c_id))->count(); Tpl::output('todaythcount', $todaythcount); //展示形式,默认以图文展示 list/preview if ($_GET['type'] != '') { $display_mode = $_GET['type'] == 'list' ? 'list' : 'preview'; uk86_setNcCookie('circleDisplayMode', $display_mode, 30 * 24 * 60 * 60); } else { $display_mode = uk86_cookie('circleDisplayMode') ? uk86_cookie('circleDisplayMode') : 'preview'; } Tpl::output('display_mode', $display_mode); // 话题分类 $where = array(); $where['circle_id'] = $this->c_id; $where['thclass_status'] = 1; $thclass_list = $model->table('circle_thclass')->where($where)->order('thclass_sort asc')->select(); $thclass_list = uk86_array_under_reset($thclass_list, 'thclass_id'); Tpl::output('thclass_list', $thclass_list); // Read Permission $readperm = $this->readPermissions($this->cm_info); Tpl::output('readperm', $readperm); Tpl::output('m_readperm', $this->m_readperm); $this->circleSEO($this->circle_info['circle_name']); // breadcrumb navigation $this->breadcrumd(); Tpl::showpage('group'); }
<a href="index.php?act=store&op=store_joinin_detail&member_id=<?php echo $v['member_id']; ?> ">查看</a> <a href="index.php?act=store&op=store_edit&store_id=<?php echo $v['store_id']; ?> "><?php echo $lang['nc_edit']; ?> </a> <a href="index.php?act=store&op=store_bind_class&store_id=<?php echo $v['store_id']; ?> ">经营类目</a> <?php if (uk86_getStoreStateClassName($v) != 'open' && uk86_cookie('remindRenewal' . $v['store_id']) == null) { ?> <a href="<?php echo uk86_urlAdmin('store', 'remind_renewal', array('store_id' => $v['store_id'])); ?> ">提醒续费</a><?php } ?> <a href="index.php?act=store&op=del&id=<?php echo $v['store_id']; ?> ">删除</a> </td> </tr> <?php }
/** * 计算购物车总商品数和总金额 * @param string $type 购物车信息保存类型 db,cookie * @param array $condition 只有登录后操作购物车表时才会用到该参数 */ public function getCartNum($type, $condition = array()) { if ($type == 'db') { $cart_all_price = 0; $cart_goods = $this->listCart('db', $condition); $this->cart_goods_num = count($cart_goods); if (!empty($cart_goods) && is_array($cart_goods)) { foreach ($cart_goods as $val) { $cart_all_price += $val['goods_price'] * $val['goods_num']; } } $this->cart_all_price = uk86_ncPriceFormat($cart_all_price); } elseif ($type == 'cookie') { $cart_str = get_magic_quotes_gpc() ? stripslashes(uk86_cookie('cart')) : uk86_cookie('cart'); $cart_str = base64_decode(uk86_decrypt($cart_str)); $cart_array = @unserialize($cart_str); $cart_array = !is_array($cart_array) ? array() : $cart_array; /*$cartGood=Array(); foreach($cart_array as $key=>$val){ if($val['goods_id']!=null){ array_push($cartGood,$val); } }*/ $this->cart_goods_num = count($cart_array); $cart_all_price = 0; foreach ($cart_array as $v) { $cart_all_price += floatval($v['goods_price']) * intval($v['goods_num']); } $this->cart_all_price = $cart_all_price; } @uk86_setNcCookie('cart_goods_num', $this->cart_goods_num, 2 * 3600); return $this->cart_goods_num; }
/** * U币礼品详细 */ public function pinfoOp() { $pid = intval($_GET['id']); if (!$pid) { showDialog(L('pointprod_parameter_error'), uk86_urlShop('pointshop', 'index'), 'error'); } $model_pointprod = Model('pointprod'); //查询兑换礼品详细 $prodinfo = $model_pointprod->getOnlinePointProdInfo(array('pgoods_id' => $pid)); if (empty($prodinfo)) { showDialog(L('pointprod_record_error'), uk86_urlShop('pointprod', 'plist'), 'error'); } Tpl::output('prodinfo', $prodinfo); //更新礼品浏览次数 $tm_tm_visite_pgoods = uk86_cookie('tm_visite_pgoods'); $tm_tm_visite_pgoods = $tm_tm_visite_pgoods ? explode(',', $tm_tm_visite_pgoods) : array(); if (!in_array($pid, $tm_tm_visite_pgoods)) { //如果已经浏览过该商品则不重复累计浏览次数 $result = $model_pointprod->editPointProdViewnum($pid); if ($result['state'] == true) { //累加成功则cookie中增加该商品ID $tm_tm_visite_pgoods[] = $pid; uk86_setNcCookie('tm_visite_pgoods', implode(',', $tm_tm_visite_pgoods)); } } //查询兑换信息 $model_pointorder = Model('pointorder'); $pointorderstate_arr = $model_pointorder->getPointOrderStateBySign(); $where = array(); $where['point_orderstate'] = array('neq', $pointorderstate_arr['canceled'][0]); $where['point_goodsid'] = $pid; $orderprod_list = $model_pointorder->getPointOrderAndGoodsList($where, '*', 0, 4, 'points_ordergoods.point_recid desc'); if ($orderprod_list) { $buyerid_arr = array(); foreach ($orderprod_list as $k => $v) { $buyerid_arr[] = $v['point_buyerid']; } $memberlist_tmp = Model('member')->getMemberList(array('member_id' => array('in', $buyerid_arr)), 'member_id,member_avatar'); $memberlist = array(); if ($memberlist_tmp) { foreach ($memberlist_tmp as $v) { $memberlist[$v['member_id']] = $v; } } foreach ($orderprod_list as $k => $v) { $v['member_avatar'] = ($t = $memberlist[$v['point_buyerid']]['member_avatar']) ? UPLOAD_SITE_URL . DS . ATTACH_AVATAR . DS . $t : UPLOAD_SITE_URL . DS . ATTACH_COMMON . DS . C('default_user_portrait'); $orderprod_list[$k] = $v; } } Tpl::output('orderprod_list', $orderprod_list); //热门U币兑换商品 $recommend_pointsprod = $model_pointprod->getRecommendPointProd(5); Tpl::output('recommend_pointsprod', $recommend_pointsprod); $seo_param = array(); $seo_param['name'] = $prodinfo['pgoods_name']; $seo_param['key'] = $prodinfo['pgoods_keywords']; $seo_param['description'] = $prodinfo['pgoods_description']; Model('seo')->type('point_content')->param($seo_param)->show(); //分类导航 $nav_link = array(0 => array('title' => L('homepage'), 'link' => SHOP_SITE_URL), 1 => array('title' => 'U币中心', 'link' => uk86_urlShop('pointshop', 'index')), 2 => array('title' => '兑换礼品详情')); Tpl::output('nav_link_list', $nav_link); Tpl::showpage('pointprod_info'); }
private function arealist() { $parent_area_id = uk86_cookie('city_id'); if (!($area_list = F('area_' . $parent_area_id, null, 'cache/city'))) { $model_live_area = Model('live_area'); $area_list = $model_live_area->getList(array('parent_area_id' => $parent_area_id)); if (!empty($area_list)) { foreach ($area_list as $key => $val) { $area_list[$key][] = $model_live_area->getList(array('parent_area_id' => $val['live_area_id'])); } } F('area_' . $parent_area_id, $area_list, 'cache/city'); } Tpl::output('area_list', $area_list); }
/** * 数据库备份导入 * * @param string $path 目录 * @param int $step 步骤,也是第几个文件 * @return array $rs_row 返回数组形式的查询结果 */ public function import($path, $step = 1) { $dir = BASE_ROOT_PATH . DS . 'sql_back' . DS . $path; $file_list = array(); uk86_readFileList($dir, $file_list); /** * 过滤文件 */ if (!empty($file_list) && is_array($file_list)) { foreach ($file_list as $key => $file_name) { if (strtolower(substr($file_name, -4)) == '.sql') { $tmp_list[] = $file_name; } } $file_list = $tmp_list; } foreach ($file_list as $k => $v) { $varr = explode('_', $v); $file_list[$k] = $varr['0'] . '_' . $varr['1'] . '_' . $varr['2'] . '_' . $varr['3'] . '_' . ($k + 1) . '_' . $varr['5']; } $file_name = $file_list[$step - 1]; //此处使用is_file来判断该sql文件是否存在,不使用file_exists if (is_file($file_name)) { $handle = @fopen($file_name, "r"); $tmp_sql = ''; if ($handle) { while (!feof($handle)) { $buffer = fgets($handle); if (trim($buffer) != '') { $tmp_sql .= $buffer; if (substr(rtrim($buffer), -1) == ';') { if (preg_match('/^(CREATE|ALTER|DROP)\\s+(VIEW|TABLE|DATABASE|SCHEMA)\\s+/i', ltrim($tmp_sql))) { //标准的SQL语句,将被执行 } else { if (preg_match('/^(INSERT)\\s+(INTO)\\s+/i', ltrim($tmp_sql)) && substr(rtrim($buffer), -2) == ');') { //标准的SQL语句,将被执行 } else { if (preg_match('/^(SET)\\s+SQL_MODE=/i', ltrim($tmp_sql))) { //SET SQL_MODE 设置,将被执行 } else { //不能组成标准的SQL语句,继续向下一行取内容,直到组成合法的SQL为止 continue; } } } if (!empty($tmp_sql)) { /** * 销毁当前用户Session信息 */ if (strpos($tmp_sql, uk86_cookie('sess_id')) !== false) { unset($tmp_sql); continue; } Db::query($tmp_sql, 'slave'); unset($tmp_sql); } } } } @fclose($handle); } /** * 判断是否还有下个文件 */ if (empty($file_list[$step])) { return 'succ'; } else { return 'continue'; } } else { return false; } }
/** * 添加转发 */ public function addforwardOp() { // 验证用户是否登录 $this->checkLoginStatus(); $obj_validate = new Uk86Validate(); $stid = intval($_POST["stid"]); $validate_arr[] = array("input" => $_POST["forwardcontent"], "validator" => 'Length', "min" => 0, "max" => 140, "message" => Uk86Language::uk86_get('sns_content_beyond')); //发帖数超过最大次数出现验证码 if (intval(uk86_cookie('forwardnum')) >= self::MAX_RECORDNUM) { $validate_arr[] = array("input" => $_POST["captcha"], "require" => "true", "message" => Uk86Language::uk86_get('wrong_null')); } $obj_validate->validateparam = $validate_arr; $error = $obj_validate->uk86_validate(); if ($error != '') { showDialog($error, '', 'error'); } //发帖数超过最大次数出现验证码 if (intval(uk86_cookie('forwardnum')) >= self::MAX_RECORDNUM) { if (!uk86_checkSeccode($_POST['nchash'], $_POST['captcha'])) { showDialog(Uk86Language::uk86_get('wrong_checkcode'), '', 'error'); } } //查询会员信息 $model = Model(); $member_info = $model->table('member')->where(array('member_state' => 1))->find($_SESSION['member_id']); if (empty($member_info)) { showDialog(Uk86Language::uk86_get('sns_member_error'), '', 'error'); } //查询原帖信息 $model_stracelog = Model('store_sns_tracelog'); $stracelog_info = $model_stracelog->getStoreSnsTracelogInfo(array('strace_id' => $stid)); if (empty($stracelog_info)) { showDialog(Uk86Language::uk86_get('sns_forward_fail'), '', 'error'); } if ($stracelog_info['strace_content'] == '') { $data = json_decode($stracelog_info['strace_goodsdata'], true); if (CHARSET == 'GBK') { foreach ((array) $data as $k => $v) { $data[$k] = Uk86Language::uk86_getUTF8($v); } } $stracelog_info['strace_content'] = $model_stracelog->spellingStyle($stracelog_info['strace_type'], $data); } $insert_arr = array(); $insert_arr['trace_originalid'] = 0; $insert_arr['trace_originalmemberid'] = 0; $insert_arr['trace_originalstate'] = 0; $insert_arr['trace_memberid'] = $member_info['member_id']; $insert_arr['trace_membername'] = $member_info['member_name']; $insert_arr['trace_memberavatar'] = $member_info['member_avatar']; $insert_arr['trace_title'] = $_POST['forwardcontent'] ? $_POST['forwardcontent'] : Uk86Language::uk86_get('sns_forward'); $insert_arr['trace_content'] = "<dl class=\"fd-wrap\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<dt>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3><a href=\"index.php?act=store_snshome&sid=" . $stracelog_info['strace_storeid'] . "\" target=\"_blank\">" . $stracelog_info['strace_storename'] . "</a>" . Uk86Language::uk86_get('nc_colon') . "\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t" . $stracelog_info['strace_title'] . "</h3>\n\t\t\t\t\t\t\t\t\t\t \t\t\t</dt>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<dd>" . $stracelog_info['strace_content'] . "</dd>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<dl>"; $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; $insert_arr['trace_orgcommentcount'] = 0; $insert_arr['trace_orgcopycount'] = 0; $insert_arr['trace_from'] = 2; $result = $model->table('sns_tracelog')->insert($insert_arr); if ($result) { //更新动态转发次数 $where = array('strace_id' => $stid); $update = array('strace_spread' => array('exp', 'strace_spread+1')); Model('store_sns_tracelog')->editStoreSnsTracelog($update, $where); showDialog(Uk86Language::uk86_get('sns_forward_succ'), '', 'succ'); } else { showDialog(Uk86Language::uk86_get('sns_forward_fail'), '', 'error'); } }
/** * 商家消息数量 */ private function checkStoreMsg() { //判断cookie是否存在 $cookie_name = 'storemsgnewnum' . $_SESSION['seller_id']; if (uk86_cookie($cookie_name) != null && intval(uk86_cookie($cookie_name)) >= 0) { $countnum = intval(uk86_cookie($cookie_name)); } else { $where = array(); $where['store_id'] = $_SESSION['store_id']; $where['sm_readids'] = array('notlike', '%,' . $_SESSION['seller_id'] . ',%'); if ($_SESSION['seller_smt_limits'] !== false) { $where['smt_code'] = array('in', $_SESSION['seller_smt_limits']); } $countnum = Model('store_msg')->getStoreMsgCount($where); uk86_setNcCookie($cookie_name, intval($countnum), 2 * 3600); //保存2小时 } Tpl::output('store_msg_num', $countnum); }
/** * 提醒续费 */ public function remind_renewalOp() { $store_id = intval($_GET['store_id']); $store_info = Model('store')->getStoreInfoByID($store_id); if (!empty($store_info) && $store_info['store_end_time'] < TIMESTAMP + 864000 && uk86_cookie('remindRenewal' . $store_id) == null) { // 发送商家消息 $param = array(); $param['code'] = 'store_expire'; $param['store_id'] = intval($_GET['store_id']); $param['param'] = array(); Uk86QueueClient::push('sendStoreMsg', $param); uk86_setNcCookie('remindRenewal' . $store_id, 1, 86400 * 10); // 十天 uk86_showMessage('消息发送成功'); } uk86_showMessage('消息发送失败'); }
/** * 获取抢购列表 */ private function _show_vr_groupbuy_list($function_name) { $model_groupbuy = Model('groupbuy'); $condition = array('is_vr' => 1); $order = ''; // 分类筛选条件 if (($vr_class_id = (int) $_GET['vr_class']) > 0) { $condition['vr_class_id'] = $vr_class_id; if (($vr_s_class_id = (int) $_GET['vr_s_class']) > 0) { $condition['vr_s_class_id'] = $vr_s_class_id; } } // 区域筛选条件 if (($vr_city_id = (int) uk86_cookie('city_id')) > 0) { $condition['vr_city_id'] = $vr_city_id; Tpl::output('vr_city_id', $vr_city_id); if (($vr_area_id = intval($_GET['vr_area'])) > 0) { $condition['vr_area_id'] = $vr_area_id; Tpl::output('vr_area_id', $vr_area_id); if (($vr_mall_id = (int) $_GET['vr_mall']) > 0) { $condition['vr_mall_id'] = $vr_mall_id; Tpl::output('vr_mall_id', $vr_mall_id); } } } // 价格区间筛选条件 if (($price_id = intval($_GET['groupbuy_price'])) > 0 && isset($this->groupbuy_price[$price_id])) { $p = $this->groupbuy_price[$price_id]; $condition['groupbuy_price'] = array('between', array($p['range_start'], $p['range_end'])); } // 排序 $groupbuy_order_key = trim($_GET['groupbuy_order_key']); $groupbuy_order = $_GET['groupbuy_order'] == '2' ? 'desc' : 'asc'; if (!empty($groupbuy_order_key)) { switch ($groupbuy_order_key) { case '1': $order = 'groupbuy_price ' . $groupbuy_order; break; case '2': $order = 'groupbuy_rebate ' . $groupbuy_order; break; case '3': $order = 'buyer_count ' . $groupbuy_order; break; } } $groupbuy_list = $model_groupbuy->{$function_name}($condition, 20, $order); Tpl::output('groupbuy_list', $groupbuy_list); Tpl::output('show_page', $model_groupbuy->showpage(5)); Tpl::output('html_title', Uk86Language::uk86_get('text_groupbuy_list')); Model('seo')->type('group')->show(); uk86_loadfunc('search'); Tpl::output('groupbuyMenuIsVr', 1); Tpl::showpage('groupbuy_vr_list'); }
/** * 验证修改支付密码时的安全校验码 */ public function sendCodeByPaypwdOp() { $code = trim($_GET['code']); $verify_code = uk86_cookie('pay_code_' . $_SESSION['member_id']); if (empty($verify_code)) { exit(json_encode(array('state' => false, 'msg' => '操作超时或校验码已被使用,请重新获取校验码'))); } if ($code == $verify_code) { uk86_setNcCookie('pay_code_' . $_SESSION['member_id'], ''); exit(json_encode(array('state' => true, 'msg' => '校验码验证成功,可进行下一步操作', 'url' => 'index.php?act=wap_member_change&op=changePaypwdIndex'))); } else { exit(json_encode(array('state' => false, 'msg' => '校验码错误,请重新获取校验码'))); } }
/** * 清除对比栏 */ public function delcompareOp() { if (trim($_GET['gid']) == 'all') { $gid_arr = array(); } else { $gids = uk86_cookie('comparegoods'); $gid_arr = $gids ? explode(',', $gids) : array(); $gid = intval($_GET['gid']); if ($gid > 0 && $gid_arr) { unset($gid_arr[array_search($gid, $gid_arr)]); } } $gid_str = $gid_arr ? implode(',', $gid_arr) : ''; //更新cookie数据 if ($gid_str) { uk86_setNcCookie('comparegoods', $gid_str); } else { uk86_setNcCookie('comparegoods', '', -3600); } exit(json_encode(array('done' => true, 'gid_str' => $gid_str))); }
/** * 添加转发 */ public function addforwardOp() { $obj_validate = new Uk86Validate(); $originalid = intval($_POST["originalid"]); $validate_arr[] = array("input" => $originalid, "require" => "true", 'validator' => 'Compare', "operator" => ' > ', 'to' => 0, "message" => Uk86Language::uk86_get('sns_forward_fail')); $validate_arr[] = array("input" => $_POST["forwardcontent"], "validator" => 'Length', "min" => 0, "max" => 140, "message" => Uk86Language::uk86_get('sns_content_beyond')); //发帖数超过最大次数出现验证码 if (intval(uk86_cookie('forwardnum')) >= self::MAX_RECORDNUM) { $validate_arr[] = array("input" => $_POST["captcha"], "require" => "true", "message" => Uk86Language::uk86_get('wrong_null')); } $obj_validate->validateparam = $validate_arr; $error = $obj_validate->uk86_validate(); if ($error != '') { showDialog($error, '', 'error'); } //发帖数超过最大次数出现验证码 if (intval(uk86_cookie('forwardnum')) >= self::MAX_RECORDNUM) { if (!uk86_checkSeccode($_POST['nchash'], $_POST['captcha'])) { showDialog(Uk86Language::uk86_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(Uk86Language::uk86_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(Uk86Language::uk86_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'] : Uk86Language::uk86_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 .= Uk86Language::uk86_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 (uk86_cookie('forwardnum') != null && intval(uk86_cookie('forwardnum')) > 0) { uk86_setNcCookie('forwardnum', intval(uk86_cookie('forwardnum')) + 1, 2 * 3600); //保存2小时 } else { uk86_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(Uk86Language::uk86_get('sns_forward_succ'), '', 'succ', $js); } else { showDialog(Uk86Language::uk86_get('sns_forward_succ'), '', 'succ'); } } else { showDialog(Uk86Language::uk86_get('sns_forward_fail'), '', 'error'); } }
/** * 实物商品 购物车、直接购买第一步:选择收获地址和配送方式 */ public function buy_step1Op() { header('Content-type:text/html; charset=utf-8'); $buy_post = uk86_cookie('buy_post'); if (!empty($_GET['addr_id']) && intval($_GET['addr_id']) > 0) { $_POST = unserialize(uk86_cookie('buy_post')); if (empty($_POST['cart_id'])) { $this->wap_showDialog('数据有变更,请重新下单', 'error', 'index.php?act=wap_index'); } } elseif (empty($buy_post) && empty($_POST['cart_id'])) { $this->wap_showDialog('数据有变更,请重新下单', 'error', 'index.php?act=wap_index'); } if ($_POST['step1_url'] != '') { $refrun_url = $_POST['step1_url']; uk86_setNcCookie('step1_refrun_url', $_POST['step1_url']); } else { $refrun_url = uk86_cookie('step1_refrun_url'); } Tpl::output('refrun_url', $refrun_url); //虚拟商品购买分流 if ($_POST['store_mention'] == 1) { $this->_buy_branch($_POST); } //门店自提标示 Tpl::output('store_mention', $_POST['store_mention']); //得到购买数据 $logic_buy = uk86_Logic('buy'); $result = $logic_buy->buyStep1($_POST['cart_id'], $_POST['ifcart'], $_SESSION['member_id'], $_SESSION['store_id']); if (!$result['state']) { $this->wap_showDialog($result['msg'], 'error', 'index.php?act=wap_index'); } else { $result = $result['data']; } //商品金额计算(分别对每个商品/优惠套装小计、每个店铺小计) Tpl::output('store_cart_list', $result['store_cart_list']); Tpl::output('store_goods_total', $result['store_goods_total']); //取得店铺优惠 - 满即送(赠品列表,店铺满送规则列表) Tpl::output('store_premiums_list', $result['store_premiums_list']); Tpl::output('store_mansong_rule_list', $result['store_mansong_rule_list']); //返回店铺可用的代金券 Tpl::output('store_voucher_list', $result['store_voucher_list']); //返回需要计算运费的店铺ID数组 和 不需要计算运费(满免运费活动的)店铺ID及描述 Tpl::output('need_calc_sid_list', $result['need_calc_sid_list']); Tpl::output('cancel_calc_sid_list', $result['cancel_calc_sid_list']); //将商品ID、数量、运费模板、运费序列化,加密,输出到模板,选择地区AJAX计算运费时作为参数使用 Tpl::output('freight_hash', $result['freight_list']); //输出用户收货地址 if (!empty($_GET['addr_id']) && intval($_GET['addr_id']) > 0) { $address_info = Model('address')->field('*')->where(array('address_id' => $_GET['addr_id']))->find(); Tpl::output('address_info', $address_info); } else { Tpl::output('address_info', $result['address_info']); } //输出有货到付款时,在线支付和货到付款及每种支付下商品数量和详细列表 Tpl::output('pay_goods_list', $result['pay_goods_list']); Tpl::output('ifshow_offpay', $result['ifshow_offpay']); Tpl::output('deny_edit_payment', $result['deny_edit_payment']); //不提供增值税发票时抛出true(模板使用) Tpl::output('vat_deny', $result['vat_deny']); //增值税发票哈希值(php验证使用) Tpl::output('vat_hash', $result['vat_hash']); //输出默认使用的发票信息 Tpl::output('inv_info', $result['inv_info']); //显示预存款、支付密码、充值卡 Tpl::output('available_pd_amount', $result['available_predeposit']); Tpl::output('member_paypwd', $result['member_paypwd']); Tpl::output('available_rcb_amount', $result['available_rc_balance']); //删除购物车无效商品 $logic_buy->delCart($_POST['ifcart'], $_SESSION['member_id'], $_POST['invalid_cart']); //标识购买流程执行步骤 Tpl::output('buy_step', 'step2'); Tpl::output('ifcart', $_POST['ifcart']); //店铺信息 $store_list = Model('store')->getStoreMemberIDList(array_keys($result['store_cart_list'])); Tpl::output('store_list', $store_list); if (intval($_POST['store_mention']) == 2) { $n = strpos($_POST['cart_id'][0], '|'); $goods_id = substr($_POST['cart_id'][0], 0, $n); $goods_mentioning = Model('goods')->where(array('goods_id' => $goods_id))->field('store_mentioning, store_id')->find(); //Tpl::output('mentioning', $goods_mentioning['store_mentioning']); //输出店铺信息 $store_info = Model('store')->where(array('store_id' => intval($goods_mentioning['store_id'])))->field('live_store_name, live_store_address, live_store_tel, live_store_bus')->find(); Tpl::output('store_info', $store_info); } //post数据存入cookie //$_COOKIE['buy_post'] = $_POST; uk86_setNcCookie('buy_post', serialize($_POST)); Tpl::showpage('buy_step1'); }
/** * 记录系统日志 * * @param $lang 日志语言包 * @param $state 1成功0失败null不出现成功失败提示 * @param $admin_name * @param $admin_id */ protected final function log($lang = '', $state = 1, $admin_name = '', $admin_id = 0) { if (!C('sys_log') || !is_string($lang)) { return; } if ($admin_name == '') { $admin = unserialize(uk86_decrypt(uk86_cookie('sys_key'), MD5_KEY)); $admin_name = $admin['name']; $admin_id = $admin['id']; } $data = array(); if (is_null($state)) { $state = null; } else { // $state = $state ? L('nc_succ') : L('nc_fail'); $state = $state ? '' : L('nc_fail'); } $data['content'] = $lang . $state; $data['admin_name'] = $admin_name; $data['createtime'] = TIMESTAMP; $data['admin_id'] = $admin_id; $data['ip'] = uk86_getIp(); $data['url'] = $_REQUEST['act'] . '&' . $_REQUEST['op']; return Model('admin_log')->insert($data); }
/** * 浏览过的商品加入浏览历史数据库 * * @param mixed $goods_id 商品ID或者商品ID数组 * @return array */ public function addViewedGoodsToCookie($goods_id) { if (!$goods_id) { return array('state' => false, 'msg' => '参数错误'); } //浏览时间 $browsetime = time(); //构造cookie的一项值,每项cookie的值为商品ID-访问时间 if (is_array($goods_id)) { $goods_idarr = $goods_id; foreach ($goods_id as $v) { $cookievalue[] = $v . '-' . $browsetime; } } else { $cookievalue[] = $goods_id . '-' . $browsetime; $goods_idarr[] = $goods_id; } unset($goods_id); if (uk86_cookie('viewed_goods')) { //如果cookie已经存在 $string_viewed_goods = uk86_decrypt(uk86_cookie('viewed_goods'), MD5_KEY); if (get_magic_quotes_gpc()) { $string_viewed_goods = stripslashes($string_viewed_goods); // 去除斜杠 } $vg_ca = @unserialize($string_viewed_goods); if (!empty($vg_ca) && is_array($vg_ca)) { foreach ($vg_ca as $vk => $vv) { $vv_arr = explode('-', $vv); if (in_array($vv_arr[0], $goods_idarr)) { //如果该商品的浏览记录已经存在,则删除它 unset($vg_ca[$vk]); } } } else { $vg_ca = array(); } //将新浏览历史加入cookie末尾 array_push($vg_ca, implode(',', $cookievalue)); //cookie中最多存储50条浏览信息 if (count($vg_ca) > 50) { $vg_ca = array_slice($vg_ca, -50, 50); } } else { $vg_ca = $cookievalue; } $vg_ca = uk86_encrypt(serialize($vg_ca), MD5_KEY); uk86_setNcCookie('viewed_goods', $vg_ca); }
" <?php if (uk86_cookie('Mmenu_' . $key) == 1) { echo 'class="shrink"'; } ?> > <h3><?php echo $value['name']; ?> </h3> </a> <?php if (!empty($value['child'])) { ?> <ul <?php if (uk86_cookie('Mmenu_' . $key) == 1) { echo 'style="display:none"'; } ?> > <?php foreach ($value['child'] as $key => $val) { ?> <li <?php if ($key == $output['menu_highlight']) { ?> class="selected"<?php } ?> ><a href="<?php echo $val['url'];
</a></li> <?php } ?> <?php } ?> </ul> <?php } ?> </dl> <!-- 区域过滤列表 --> <?php if (uk86_cookie('city_id') != 0) { ?> <dl> <dt>区域:</dt> <dd <?php if (empty($_GET['area_id'])) { echo 'class="selected"'; } ?> ><a href="index.php?act=show_live_groupbuy&op=live_groupbuy_list&class_id=<?php echo $_GET['class_id']; ?> &s_class_id=<?php echo $_GET['s_class_id']; ?> &dis=<?php