コード例 #1
0
ファイル: core.php プロジェクト: wangjiang988/ukshop
/**
 * 验证验证码
 *
 * @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;
}
コード例 #2
0
ファイル: theme.php プロジェクト: wangjiang988/ukshop
 /**
  * 话题回复保存
  */
 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');
                 }
             }
         }
     }
 }
コード例 #3
0
ファイル: group.php プロジェクト: wangjiang988/ukshop
 /**
  * 首页 话题列表
  */
 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');
 }
コード例 #4
0
ファイル: store.index.php プロジェクト: wangjiang988/ukshop
            <a href="index.php?act=store&op=store_joinin_detail&member_id=<?php 
        echo $v['member_id'];
        ?>
">查看</a>&nbsp;&nbsp;<a href="index.php?act=store&op=store_edit&store_id=<?php 
        echo $v['store_id'];
        ?>
"><?php 
        echo $lang['nc_edit'];
        ?>
</a>&nbsp;&nbsp;
                <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 
        }
        ?>
&nbsp;&nbsp; <a href="index.php?act=store&op=del&id=<?php 
        echo $v['store_id'];
        ?>
">删除</a>
            </td>
        </tr>
        <?php 
    }
コード例 #5
0
ファイル: cart.model.php プロジェクト: wangjiang988/ukshop
 /**
  * 计算购物车总商品数和总金额
  * @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;
 }
コード例 #6
0
ファイル: pointprod.php プロジェクト: wangjiang988/ukshop
 /**
  * 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');
 }
コード例 #7
0
 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);
 }
コード例 #8
0
ファイル: db.model.php プロジェクト: wangjiang988/ukshop
 /**
  * 数据库备份导入
  *
  * @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;
     }
 }
コード例 #9
0
ファイル: store_snshome.php プロジェクト: wangjiang988/ukshop
 /**
  * 添加转发
  */
 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');
     }
 }
コード例 #10
0
ファイル: control.php プロジェクト: wangjiang988/ukshop
 /**
  * 商家消息数量
  */
 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);
 }
コード例 #11
0
ファイル: store.php プロジェクト: wangjiang988/ukshop
 /**
  * 提醒续费
  */
 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('消息发送失败');
 }
コード例 #12
0
ファイル: show_groupbuy.php プロジェクト: wangjiang988/ukshop
 /**
  * 获取抢购列表
  */
 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');
 }
コード例 #13
0
 /**
  * 验证修改支付密码时的安全校验码
  */
 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' => '校验码错误,请重新获取校验码')));
     }
 }
コード例 #14
0
ファイル: compare.php プロジェクト: wangjiang988/ukshop
 /**
  * 清除对比栏
  */
 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)));
 }
コード例 #15
0
 /**
  * 添加转发
  */
 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');
     }
 }
コード例 #16
0
ファイル: wap_buy.php プロジェクト: wangjiang988/ukshop
 /**
  * 实物商品 购物车、直接购买第一步:选择收获地址和配送方式
  */
 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');
 }
コード例 #17
0
ファイル: control.php プロジェクト: wangjiang988/ukshop
 /**
  * 记录系统日志
  *
  * @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);
 }
コード例 #18
0
 /**
  * 浏览过的商品加入浏览历史数据库
  *
  * @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);
 }
コード例 #19
0
ファイル: member_layout.php プロジェクト: wangjiang988/ukshop
" <?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'];
コード例 #20
0
</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