function init_follow($openid, $token = '', $has_subscribe = false)
 {
     empty($token) && ($token = get_token());
     addWeixinLog($openid . '::_' . $token, 'init_follow_in');
     if (empty($openid) || $openid == -1 || empty($token) || $token == -1) {
         return false;
     }
     $data['token'] = $token;
     $data['openid'] = $openid;
     $datas = $data;
     $uid = M('public_follow')->where($data)->getField('uid');
     addWeixinLog($uid, 'init_follow_check_uid');
     if ($uid) {
         return $uid;
     }
     // 自动注册
     $config = getAddonConfig('UserCenter', $token);
     $user = array('experience' => intval($config['experience']), 'score' => intval($config['score']), 'reg_ip' => get_client_ip(1), 'reg_time' => NOW_TIME, 'last_login_ip' => get_client_ip(1), 'last_login_time' => NOW_TIME, 'status' => 1, 'is_init' => 1, 'is_audit' => 1, 'come_from' => 1);
     $user2 = getWeixinUserInfo($openid);
     $user = array_merge($user, $user2);
     $data['uid'] = $uid = D('Common/User')->add($user);
     if ($has_subscribe !== false) {
         $data['has_subscribe'] = $has_subscribe;
     }
     M('public_follow')->add($data);
     return $uid;
 }
 function _initialize()
 {
     parent::_initialize();
     $openid = get_openid();
     $this->user = getWeixinUserInfo($openid);
     $this->user['uid'] = get_mid();
     $this->assign('user', $this->user);
 }
Example #3
0
 public function info()
 {
     $token = get_token();
     $openid = get_openid();
     $wxUserinfo = getWeixinUserInfo($openid, $token);
     // dump($wxUserinfo);exit;
     $map['token'] = $token;
     $map['openid'] = $openid;
     $info = M('shop_user')->where($map)->find();
     $info['headimgurl'] = $wxUserinfo['headimgurl'];
     $info['sex'] = $wxUserinfo['sex'] ? '女' : '男';
     $info['wxnickname'] = $wxUserinfo['nickname'];
     //微信昵称
     $this->assign('info', $info);
     $this->display('info');
 }
 function liuyan()
 {
     if (IS_POST) {
         $data['openid'] = get_openid();
         $data['token'] = get_token();
         $data['nickname'] = I('name') ? I('name') : '匿名';
         $data['content'] = I('content');
         $data['sex'] = I('sex');
         $data['ctime'] = time();
         //			$data['houseNum'] = I('houseNum');
         $res = M('lyb_message')->add($data);
         if ($res) {
             $jump_url = addons_url('Liuyanban://Liuyanban/index');
             redirect($jump_url);
         } else {
             $this->error('留言失败');
         }
     } else {
         $message = getWeixinUserInfo(get_openid(), get_token());
         $this->assign('userInfo', $message);
         $this->display();
     }
 }
Example #5
0
 function fabu()
 {
     //	$param['token']=$map['token']=get_token();
     //	$param['openid']=get_openid();
     $user = getWeixinUserInfo(get_openid(), get_token());
     //var_dump($user);
     $this->assign('user', $user);
     if (IS_POST) {
         $data['title'] = I('title');
         $data['content'] = I('content');
         $data['contact'] = I('contact');
         $data['cTime'] = time();
         $data['token'] = get_token();
         $data['openid'] = get_openid();
         $res = M('Jianzhi')->add($data);
         if ($res) {
             $jump_url = addons_url('Jianzhi://Jianzhi/index');
             redirect($jump_url);
         } else {
             $this->error('发布失败');
         }
     }
     $this->display();
 }
 public function payok()
 {
     $data['token'] = get_token();
     $data['openid'] = get_openid();
     $data['money'] = I('price');
     $data['ctime'] = time();
     $data['email'] = I('email');
     $data['content'] = I('content');
     $data['is_anonymous'] = intval(I('is_anonymous'));
     $wexinUserInfo = getWeixinUserInfo(get_openid(), get_token());
     $data['nickname'] = $wexinUserInfo['nickname'] ? $wexinUserInfo['nickname'] : '匿名';
     $res = M('donations_list')->add($data);
     if ($res) {
         // 给管理员发送通知
         $config = getAddonConfig('Donations');
         foreach ($config['admins'] as $k => $v) {
             $kf_data['touser'] = getOpenidByUid($v);
             $kf_data['msgtype'] = 'text';
             $kf_data['text']['content'] = '用户' . $data['nickname'] . '捐赠了' . $data['money'] . '元并附言:' . $data['content'];
             sendCustomMessage($kf_data);
         }
         echo json_encode($data);
     }
 }
 public function edit()
 {
     $is_admin_edit = false;
     if (!empty($_REQUEST['id'])) {
         $map['id'] = intval($_REQUEST['id']);
         $is_admin_edit = true;
         $msg = '编辑';
         $html = 'edit';
     } else {
         $msg = '绑定';
         $openid = $map['openid'] = get_openid();
         $html = 'moblieForm';
     }
     $token = $map['token'] = get_token();
     $model = $this->getModel('follow');
     if (IS_POST) {
         $is_admin_edit && ($_POST['status'] = 2);
         $Model = D(parse_name(get_table_name($model['id']), 1));
         // 获取模型的字段信息
         $Model = $this->checkAttr($Model, $model['id']);
         if ($Model->create() && $Model->where($map)->save()) {
             //lastsql();exit;
             $url = '';
             $bind_backurl = cookie('__forward__');
             $config = getAddonConfig('UserCenter');
             $jumpurl = $config['jumpurl'];
             if (!empty($bind_backurl)) {
                 $url = $bind_backurl;
                 cookie('__forward__', NULL);
             } elseif (!empty($jumpurl)) {
                 $url = $jumpurl;
             } elseif (!$is_admin_edit) {
                 $url = addons_url('WeiSite://WeiSite/index', $map);
             }
             $this->success($msg . '成功!', $url);
         } else {
             //lastsql();
             //dump($map);exit;
             $this->error($Model->getError());
         }
     } else {
         $fields = get_model_attribute($model['id']);
         if (!$is_admin_edit) {
             $fieldArr = array('nickname', 'sex', 'mobile');
             //headimgurl
             foreach ($fields[1] as $k => $vo) {
                 if (!in_array($vo['name'], $fieldArr)) {
                     unset($fields[1][$k]);
                 }
             }
         }
         // 获取数据
         $data = M(get_table_name($model['id']))->where($map)->find();
         $token = get_token();
         if (isset($data['token']) && $token != $data['token'] && defined('ADDON_PUBLIC_PATH')) {
             $this->error('非法访问!');
         }
         // 自动从微信接口获取用户信息
         empty($openid) || ($info = getWeixinUserInfo($openid, $token));
         if (is_array($info)) {
             if (empty($data['headimgurl']) && !empty($info['headimgurl'])) {
                 // 把微信头像转到WeiPHP的通用图片ID保存 TODO
                 $data['headimgurl'] = $info['headimgurl'];
             }
             $data = array_merge($info, $data);
         }
         $this->assign('fields', $fields);
         $this->assign('data', $data);
         $this->meta_title = $msg . '用户消息';
         $this->assign('post_url', U('edit'));
         $this->display($html);
     }
 }
 function bind_info()
 {
     $model = $this->getModel('user');
     if (IS_POST) {
         $map['id'] = $this->mid;
         $url = Cookie('__forward__');
         if ($url) {
             Cookie('__forward__', null);
         } else {
             $url = U('userCenter');
         }
         $save['nickname'] = I('nickname');
         $save['sex'] = I('sex');
         $save['email'] = I('email');
         $save['status'] = 2;
         $res = D('Common/User')->updateInfo($this->mid, $save);
         if ($res) {
             $this->success('保存成功!', $url);
         } else {
             $this->error($Model->getError());
         }
     } else {
         $fields = get_model_attribute($model['id']);
         // dump($fields);
         $fieldArr = array('nickname', 'sex', 'email');
         // headimgurl
         foreach ($fields as $k => $vo) {
             if (!in_array($vo['name'], $fieldArr)) {
                 unset($fields[$k]);
             }
         }
         // 获取数据
         $data = M(get_table_name($model['id']))->find($this->mid);
         // 自动从微信接口获取用户信息
         empty($openid) || ($info = getWeixinUserInfo($openid, $token));
         if (is_array($info)) {
             if (empty($data['headimgurl']) && !empty($info['headimgurl'])) {
                 // 把微信头像转到WeiPHP的通用图片ID保存 TODO
                 $data['headimgurl'] = $info['headimgurl'];
             }
             $data = array_merge($info, $data);
         }
         $this->assign('fields', $fields);
         $this->assign('data', $data);
         $this->assign('meta_title', '填写资料');
         $this->display();
     }
 }
 public function add()
 {
     $id = I('id', 0);
     $openId = get_openid();
     $token = get_token();
     $userInfo = getWeixinUserInfo($openId, $token);
     $this->assign('userInfo', $userInfo);
     $forms = M('forms')->find($this->forms_id);
     $forms['cover'] = !empty($forms['cover']) ? get_cover_url($forms['cover']) : ADDON_PUBLIC_PATH . '/background.png';
     $this->assign('forms', $forms);
     if (!empty($id)) {
         $act = 'save';
         $data = M(get_table_name($this->model['id']))->find($id);
         $data || $this->error('数据不存在!');
         // dump($data);
         $value = unserialize(htmlspecialchars_decode($data['value']));
         // dump($value);
         unset($data['value']);
         $data = array_merge($data, $value);
         $this->assign('data', $data);
         // dump($data);
     } else {
         $act = 'add';
         if ($this->mid != 0 && $this->mid != '-1') {
             $map['uid'] = $this->mid;
             $map['forms_id'] = $this->forms_id;
             $data = M(get_table_name($this->model['id']))->where($map)->find();
             if ($data && $forms['jump_url']) {
                 redirect($forms['jump_url']);
             }
         }
     }
     // dump ( $forms );
     $map['forms_id'] = $this->forms_id;
     $map['token'] = get_token();
     $fields[1] = M('forms_attribute')->where($map)->order('sort asc, id asc')->select();
     if (IS_POST) {
         foreach ($fields[1] as $vo) {
             $error_tip = !empty($vo['error_info']) ? $vo['error_info'] : '请正确输入' . $vo['title'] . '的值';
             $value = $_POST[$vo['name']];
             if ($vo['is_must'] && empty($value) || !empty($vo['validate_rule']) && !M()->regex($value, $vo['validate_rule'])) {
                 $this->error($error_tip);
                 exit;
             }
             $post[$vo['name']] = $vo['type'] == 'datetime' ? strtotime($_POST[$vo['name']]) : $_POST[$vo['name']];
             unset($_POST[$vo['name']]);
         }
         $_POST['value'] = serialize($post);
         $act == 'add' && ($_POST['uid'] = $this->mid);
         // dump($_POST);exit;
         $Model = D(parse_name(get_table_name($this->model['id']), 1));
         // 获取模型的字段信息
         $Model = $this->checkAttr($Model, $this->model['id'], $fields[1]);
         if ($Model->create() && ($res = $Model->{$act}())) {
             // 增加积分
             add_credit('forms');
             $param['forms_id'] = $this->forms_id;
             $param['id'] = $act == 'add' ? $res : $id;
             $param['model'] = $this->model['id'];
             $url = empty($forms['jump_url']) ? U('edit', $param) : $forms['jump_url'];
             $tip = !empty($forms['finish_tip']) ? $forms['finish_tip'] : '提交成功,谢谢参与';
             $this->success($tip, $url, 5);
         } else {
             $this->error($Model->getError());
         }
         exit;
     }
     $fields[1][] = array('is_show' => 4, 'name' => 'forms_id', 'value' => $this->forms_id);
     $this->assign('fields', $fields);
     $this->meta_title = '新增' . $this->model['title'];
     $this->display('add');
 }
Example #10
0
 function show()
 {
     $param['token'] = $map['token'] = get_token();
     $param['openid'] = $map['openid'] = get_openid();
     if (IS_POST) {
         //如果是发布表白
         //var_dump(I("post."));die;
         if (I('post.type') == "say") {
             $nickname = I('nickname');
             if (!empty($nickname)) {
                 $data['nickname'] = $nickname;
             } else {
                 $data['nickname'] = '匿名';
             }
             $lover = I('lover');
             if (!empty($lover)) {
                 $data['lover'] = $lover;
             } else {
                 $data['lover'] = '我喜欢的人';
             }
             $data['content'] = I('content') == '' ? '我们在一起吧' : I('content');
             $data['phone'] = I('phone');
             $data['cTime'] = time();
             $data['token'] = get_token();
             $data['openid'] = get_openid();
             //var_dump($data);die;
             $rel = M('love')->add($data);
             if ($rel) {
                 $jump_url = addons_url('Love://Love/show');
                 redirect($jump_url);
             } else {
                 $this->error('表白失败');
             }
         }
         //如果是搜索表白
         $keyword = I('post.keyword');
         $where['lover'] = array('like', '%' . $keyword . '%');
         $where['content'] = array('like', '%' . $keyword . '%');
         $where['phone'] = array('eq', $keyword);
         $where['_logic'] = 'or';
         $map['_complex'] = $where;
     }
     $user = getWeixinUserInfo(get_openid(), get_token());
     $this->assign('user', $user);
     $model = $this->getModel('love');
     $count = M('love')->where($map)->count();
     //显示表白总数
     if (!empty($count)) {
         $sum_arr = array();
         (int) ($number = $count);
         for ($i = strlen($number), $j = 0; $i > 0; $i--) {
             $sum_arr[] = substr($number, $j, 1);
             $j++;
         }
         $this->assign('sum_arr', $sum_arr);
     }
     $this->assign('count', $count);
     $page = new \Think\Page($count, 6);
     $show = $page->show();
     $data = M('love')->where(array('token' => get_token()))->order('id desc')->limit($page->firstRow . ',' . $page->listRows)->select();
     //var_dump($data);
     //统计评论总数
     foreach ($data as $k => $v) {
         $id = $v['id'];
         $comment = M('love_comment')->field('id')->where('loveId=' . $id)->select();
         $data[$k]["cnum"] = count($comment);
     }
     $list_data['list_data'] = $data;
     // 分页
     $next_page = addons_url('Love://Love/showLove');
     $jump_url = addons_url('Love://Love/showComment', $param);
     $openid = get_openid();
     $this->assign('openid', $openid);
     $this->assign('page', $show);
     $this->assign('jump_url', $jump_url);
     $this->assign($list_data);
     $this->display();
 }
Example #11
0
/**
 * 根据用户OpenId获取用户昵称
 *
 * @param integer $openid
 *        	用户ID
 * @return string 用户昵称
 */
function get_nicknameByOpenid($openId)
{
    $token = get_token();
    $userInfo = getWeixinUserInfo($openId, $token);
    return $userInfo['nickname'];
}
Example #12
0
 function exchange_online()
 {
     if (!isWeixinBrowser()) {
         $this->error("很遗憾,该页面仅支持微信客户端!");
     }
     $agent = $_SERVER["HTTP_USER_AGENT"];
     $version = (int) substr($agent, strpos($agent, "icroMessenger") + strlen("icroMessenger") + 1, 1);
     if ($version < 6) {
         //微信版本判断
         $this->error("您的微信版本低于6.0,不支持微信卡券功能!");
     }
     //获取个人中奖信息
     $target_id = I('id');
     $openId = get_openid();
     $token = get_token();
     $userInfo = getWeixinUserInfo($openId, $token);
     $this->assign('userInfo', $userInfo);
     $map['id'] = $target_id;
     $Scartch = M('Scratch')->field('use_tips')->where($map)->find();
     $this->assign('Scratch', $Scartch);
     unset($map);
     $map['openid'] = $openId;
     $map['token'] = $token;
     $map['target_id'] = $target_id;
     $map['prize_id'] = array('gt', 0);
     $my_prizes = M('sn_code')->where($map)->order('prize_id')->select();
     unset($map);
     $map['addon'] = 'Scratch';
     $map['target_id'] = $target_id;
     $prizes = M('prize')->where($map)->order('sort asc')->select();
     $my_prizes_sortbyid = array();
     foreach ($prizes as $value) {
         $my_prizes_sortbyid[$value['id']] = $value;
     }
     //dump($my_prizes_sortbyid);exit();
     vendor('jssdk');
     $jssdk = new \JSSDK();
     $signPackage = $jssdk->GetSignPackage();
     //dump($signPackage);exit();
     $this->assign('signPackage', $signPackage);
     foreach ($my_prizes as $value) {
         //card_id
         $value['card_id'] = $my_prizes_sortbyid[$value['prize_id']]['card_id'];
         $cardExtPackage = $jssdk->getCardExtPackage($value['card_id']);
         $value['cardExtPackage'] = $cardExtPackage;
         $my_prizes_sortbyid[$value['prize_id']]['prizes'][] = $value;
     }
     //dump($my_prizes_sortbyid);exit();
     $this->assign('my_prizes', $my_prizes_sortbyid);
     //获取对应图片资源
     $model_id = 175;
     unset($map);
     $map['target_id'] = $target_id;
     $map['token'] = $token;
     $img_res = M(get_table_name($model_id))->where($map)->find();
     $this->assign('img_res', $img_res);
     $this->display();
 }