rabin 7 years ago
parent
commit
1d45e27314
1 changed files with 34 additions and 3 deletions
  1. 34 3
      tm/lib/Controller/EventsController.class.php

+ 34 - 3
tm/lib/Controller/EventsController.class.php

@@ -515,22 +515,53 @@ class EventsController extends Controller {
 			if ($tokenid) {
 				Cookie::set ( 'tokenid', $tokenid, 60 * 60 * 24 * 20 ,'.'.$_SERVER['HTTP_HOST']);
 			}
+			if (isset($_COOKIE['tokenid'])) {
+				$tokenid = $_COOKIE['tokenid'];
+			}
 			if ($tokenid) {
+				# 先检查有没有过期吧
+				$config = Config::getInstance()->get('passport');
+				$param['authorizedCode'] = 'fulishe';
+		        $param['tokenId'] = $tokenid;
+
+		        $data = $this->httpPost($config['url'], $param);
+
+		        $data = json_decode($data, true);
+
+		        if (isset($data['data']) && isset($data['data']['tokenId']) && $data['data']['tokenId']) {
+		        } else {
+		        	# 已过期
+		        	$this->setOutput('applogin', 1);
+					$this->applogin = 1;
+
+		        	return $passport_url;
+		        }
+
 				# app中已登陆
 				$passport_url .= '&tokenid=' . $tokenid;
-			} elseif (isset($_COOKIE['tokenid'])) {
-				# app中已登陆
-				$passport_url .= '&tokenid=' . $_COOKIE['tokenid'];
 			} else {
 				# app中未登陆
 				$this->setOutput('applogin', 1);
 				$this->applogin = 1;
 			}
+			# 
 		}
 		
 		return $passport_url;
 	}
 
+	private function httpPost($url, $param) {
+        $curl = curl_init();
+        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
+        curl_setopt($curl, CURLOPT_TIMEOUT, 500);
+        curl_setopt($curl, CURLOPT_URL, $url);
+        curl_setopt($curl, CURLOPT_POST, 1);
+        curl_setopt($curl, CURLOPT_POSTFIELDS, $param);
+        $res = curl_exec($curl);
+        curl_close($curl);
+        return $res;
+    }
+
 	public function convertUrlQuery($url) {
 		$arr = parse_url ( $url );
 		$query = $arr ['query'];