Exemplo n.º 1
0
 public function __construct()
 {
     $this->error = new ErrorCase();
     //-------读取配置文件
     $incFileContents = file_get_contents(APP_ROOT_PATH . "public/qqv2_inc.php");
     $this->inc = json_decode($incFileContents);
     if (empty($this->inc)) {
         $this->error->showError("20001");
     }
     if (!es_session::is_set('QC_userData')) {
         self::$data = array();
     } else {
         self::$data = es_session::get('QC_userData');
     }
 }
Exemplo n.º 2
0
     //微信v3版跳转
     //print_r($data['is_wap_url']); echo "<br>";echo $data['wap_notify_url'];exit;
     if ($data['wap_notify_url'] && $data['is_wap_url'] == 1) {
         Header("location:" . $data['wap_notify_url']);
         exit;
     }
     //在支付界面时,清空购买车,但如果清空了,用户点:返回 后,再去购买时,会购买空商品,这个需要注意处理一下
     $session_cart_data = es_session::get("cart_data");
     unset($session_cart_data);
     es_session::set("cart_data", $session_cart_data);
     es_session::set("cart_data", array());
     es_session::delete("cart_data");
 }
 if ($class == 'index') {
     //已经执行过定位时,首页不再做定位操作
     if (es_session::is_set('m_latitude')) {
         $GLOBALS['tmpl']->assign('has_location', 1);
     } else {
         $GLOBALS['tmpl']->assign('has_location', 0);
     }
 }
 //echo $tmpl_dir; exit;
 //print_r($request_param);exit;
 $GLOBALS['tmpl']->assign('request', $request_param);
 $GLOBALS['tmpl']->assign('is_ajax', intval($request_param['is_ajax']));
 $GLOBALS['tmpl']->assign('data', $data);
 $GLOBALS['tmpl']->assign('APP_ROOT', APP_ROOT);
 $GLOBALS['tmpl']->assign("PC_URL", get_domain() . str_replace('/wap', "", APP_ROOT));
 if (es_session::get('user_info')) {
     $GLOBALS['tmpl']->assign('is_login', 1);
     //用户已登陆
Exemplo n.º 3
0
 /**
  * 发起一个腾讯API请求
  * @param $command 接口名称 如:t/add
  * @param $params 接口参数  array('content'=>'test');
  * @param $method 请求方式 POST|GET
  * @param $multi 图片信息
  * @return string
  */
 public static function api($command, $params = array(), $method = 'GET', $multi = false)
 {
     if (es_session::is_set("t_access_token")) {
         //OAuth 2.0 方式
         //鉴权参数
         $params['access_token'] = es_session::get("t_access_token");
         $params['oauth_consumer_key'] = OAuth::$client_id;
         $params['openid'] = es_session::get("t_openid");
         $params['oauth_version'] = '2.a';
         $params['clientip'] = Common::getClientIp();
         $params['scope'] = 'all';
         $params['appfrom'] = 'php-sdk2.0beta';
         $params['seqid'] = time();
         $params['serverip'] = $_SERVER['SERVER_ADDR'];
         $url = self::$apiUrlHttps . trim($command, '/');
     } elseif (es_session::is_set("t_openid") && es_session::is_set("t_openkey")) {
         //openid & openkey方式
         $params['appid'] = OAuth::$client_id;
         $params['openid'] = es_session::get("t_openid");
         $params['openkey'] = es_session::get("t_openkey");
         $params['clientip'] = Common::getClientIp();
         $params['reqtime'] = time();
         $params['wbversion'] = '1';
         $params['pf'] = 'php-sdk2.0beta';
         $url = self::$apiUrlHttp . trim($command, '/');
         //生成签名
         $urls = @parse_url($url);
         $sig = SnsSign::makeSig($method, $urls['path'], $params, OAuth::$client_secret . '&');
         $params['sig'] = $sig;
     }
     //请求接口
     $r = Http::request($url, $params, $method, $multi);
     /*
     $http = new Http2();
     $r = $http->request($url, $method, $params, $multi);
     */
     $r = preg_replace('/[^\\x20-\\xff]*/', "", $r);
     //清除不可见字符
     $r = iconv("utf-8", "utf-8//ignore", $r);
     //UTF-8转码
     //调试信息
     if (self::$debug) {
         echo '<pre>';
         echo '接口:' . $url;
         echo '<br>请求参数:<br>';
         print_r($params);
         echo '返回结果:' . $r;
         echo '</pre>';
     }
     return $r;
 }
Exemplo n.º 4
0
function LOGIN_DES_KEY()
{
    if (!es_session::is_set("DES_KEY")) {
        require_once APP_ROOT_PATH . "system/utils/es_string.php";
        es_session::set("DES_KEY", es_string::rand_string(50));
    }
    return es_session::get("DES_KEY");
}
Exemplo n.º 5
0
 public function callback()
 {
     OAuth::init($this->api['config']['app_key'], $this->api['config']['app_secret']);
     Tencent::$debug = $debug;
     $callback = SITE_DOMAIN . APP_ROOT . "/api_callback.php?c=Tencent";
     if (es_session::is_set('t_access_token') || es_session::is_set('t_openid') && es_session::is_set('t_openkey')) {
         //用户已授权
         //echo '<pre><h3>已授权</h3>用户信息:<br>';
         //获取用户信息
         $r = Tencent::api('user/info');
         $json_data = json_decode($r, true);
         //print_r($json_data);
         // echo '</pre>';
     } else {
         if ($_GET['code']) {
             //已获得code
             $code = $_GET['code'];
             $openid = $_GET['openid'];
             $openkey = $_GET['openkey'];
             //获取授权token
             $url = OAuth::getAccessToken($code, $callback);
             $r = Http::request($url);
             parse_str($r, $out);
             //存储授权数据
             if ($out['access_token']) {
                 es_session::set('t_access_token', $out['access_token']);
                 es_session::set('refresh_token', $out['refresh_token']);
                 es_session::set('expires_in', $out['expires_in']);
                 es_session::set('t_code', $code);
                 es_session::set('t_openid', $openid);
                 es_session::set('t_openkey', $openkey);
                 //验证授权
                 $r = OAuth::checkOAuthValid();
                 if ($r) {
                     app_redirect($callback);
                     //刷新页面
                 } else {
                     exit('<h3>授权失败,请重试</h3>');
                 }
             } else {
                 exit($r);
             }
         } else {
             //获取授权code
             if ($_GET['openid'] && $_GET['openkey']) {
                 //应用频道
                 s_session::set('t_openid', $_GET['openid']);
                 es_session::set('t_openkey', $_GET['openkey']);
                 //验证授权
                 $r = OAuth::checkOAuthValid();
                 if ($r) {
                     app_redirect($callback);
                     //刷新页面
                 } else {
                     exit('<h3>授权失败,请重试</h3>');
                 }
             } else {
                 $url = OAuth::getAuthorizeURL($callback);
                 app_redirect($url);
             }
         }
     }
     if ($json_data['msg'] != "ok") {
         echo '<pre><h3>出错了</h3><pre>';
         die;
     }
     $is_bind = intval($_REQUEST['is_bind']);
     $tencent_id = $json_data['data']['openid'];
     $msg['field'] = 'tencent_id';
     $msg['id'] = $tencent_id;
     $msg['name'] = $json_data['data']['name'];
     es_session::set("api_user_info", $msg);
     $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where tencent_id = '" . $tencent_id . "' and tencent_id <> ''");
     if ($user_data) {
         $user_current_group = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user_group where id = " . intval($user_data['group_id']));
         $user_group = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user_group where score <=" . intval($user_data['score']) . " order by score desc");
         if ($user_current_group['score'] < $user_group['score']) {
             $user_data['group_id'] = intval($user_group['id']);
         }
         //$GLOBALS['db']->query("update ".DB_PREFIX."user set tencent_app_key ='".$last_key['oauth_token']."',tencent_app_secret = '".$last_key['oauth_token_secret']."', login_ip = '".get_client_ip()."',login_time= ".TIME_UTC.",group_id=".intval($user_data['group_id'])." where id =".$user_data['id']);
         //$GLOBALS['db']->query("update ".DB_PREFIX."deal_cart set user_id = ".intval($user_data['id'])." where session_id = '".es_session::id()."'");
         es_session::delete("api_user_info");
         if ($is_bind) {
             if (intval($user_data['id']) != intval($GLOBALS['user_info']['id'])) {
                 showErr("该帐号已经被别的会员绑定过,请直接用帐号登录", 0, url("shop", "uc_center#setweibo"));
             } else {
                 es_session::set("user_info", $user_data);
                 app_redirect(url("shop", "uc_center#setweibo"));
             }
         } else {
             es_session::set("user_info", $user_data);
             app_recirect_preview();
         }
     } elseif ($is_bind == 1 && $GLOBALS['user_info']) {
         //当有用户身份且要求绑定时
         $GLOBALS['db']->query("update " . DB_PREFIX . "user set tencent_id= '" . $tencent_id . "' where id =" . $GLOBALS['user_info']['id']);
         app_redirect(url("index", "uc_center#setweibo"));
     } else {
         $this->create_user();
         //app_redirect(url("index","user#api_login"));
         app_recirect_preview();
     }
 }