/**
  * Show the special page
  *
  * @param $params Mixed: parameter(s) passed to the page or null
  */
 public function execute($params)
 {
     $out = $this->getOutput();
     $request = $this->getRequest();
     $code = $request->getVal('code');
     // Set the page title, robot policies, etc.
     $this->setHeaders();
     if (empty($_GET['code'])) {
         $out->setPageTitle($this->msg('complete_user_error')->plain());
         return false;
     }
     $qq_sdk = new QqSdk();
     // $token = $qq_sdk->get_access_token($code,Confidential::$qq_app_id,Confidential::$qq_app_secret);
     // print_r($token);die;
     $open_id = $qq_sdk->get_open_id($code);
     if (array_key_exists('openid', $open_id)) {
         $user_info = $qq_sdk->get_user_info($code, $open_id['openid'], Confidential::$qq_app_id);
         if ($user_info['gender'] == '男') {
             $gender = 'male';
         } elseif ($user_info['gender'] == '女') {
             $gender = 'female';
         } else {
             $gender = null;
         }
         $output = "<span>您当前使用的第三方账号登录,建议您绑定官方账号更有利于您的账户安全!</span>";
         $output .= "<form><label for='qqloginname'>用户名</label><input type='text' id='qqloginusername' class='form-control' value='" . $user_info['nickname'] . "' name='qqloginname'>\r\n\t\t\t\t<label for='qqloginemail'>邮箱</label><input type='email' class='form-control' id='qqloginemail' placeholder=\"请输入邮箱\" name='qqloginemail'>\r\n\t\t\t\t<label for='qqloginpass'>密码</label><input type='password' id='qqloginpassword' class='form-control' placeholder=\"请输入密码\" name='qqloginpass'>  \r\n\t\t\t\t<input id='qqOpenId' type='hidden' value='" . $open_id['openid'] . "' >\r\n\t\t\t\t<input id='userGender' type='hidden' value='" . $gender . "' >\r\n\t\t\t\t<input id='userAvatar' type='hidden' value='" . $user_info['figureurl_qq_1'] . "' >\r\n\t\t\t\t<div class='mw-ui-button  mw-ui-block mw-ui-constructive' id='qqConfirm'>提交</div></form>";
     } else {
         $out->setPageTitle($this->msg('complete_user_error')->plain());
         return false;
     }
     $out->addHTML($output);
 }
 /**
  * Show the special page
  *
  * @param $params Mixed: parameter(s) passed to the page or null
  */
 public function execute($params)
 {
     $request = $this->getRequest();
     $code = $request->getVal('code');
     $qq_sdk = new QqSdk();
     $token = $qq_sdk->get_access_token($code, Confidential::$qq_app_id, Confidential::$qq_app_secret);
     $open_id = $qq_sdk->get_open_id($token['access_token']);
     $checkRes = $qq_sdk->checkOauth($open_id['openid'], 'qq');
     if ($checkRes == null) {
         header('Location: http://huiji.wiki/wiki/special:completeuserinfo?code=' . $token['access_token']);
         exit;
     } else {
         // success login redirect to index
         $user = User::newFromId($checkRes);
         $user->setCookies(null, null, true);
         header('Location: http://huiji.wiki/wiki/%E9%A6%96%E9%A1%B5?loggingIn=1');
         exit;
     }
 }