0) { $loginRequest = [ 'user_id' => $unpacked['user'], 'token' => 'SESS:' . $cookie, 'ip' => $_SERVER['REMOTE_ADDR'], ]; $loginSignature = hash_hmac('sha256', implode('#', $loginRequest), $secret); $login = curl_init(self::ENDPOINT); curl_setopt_array($login, [ CURLOPT_AUTOREFERER => false, CURLOPT_FAILONERROR => false, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HEADER => false, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($loginRequest), CURLOPT_RETURNTRANSFER => true, CURLOPT_TCP_FASTOPEN => true, CURLOPT_CONNECTTIMEOUT => 2, CURLOPT_MAXREDIRS => 2, CURLOPT_PROTOCOLS => CURLPROTO_HTTPS, CURLOPT_TIMEOUT => 5, CURLOPT_USERAGENT => 'AJAX Chat', CURLOPT_HTTPHEADER => [ 'Content-Type: application/json', 'X-SharpChat-Signature: ' . $loginSignature, ], ]); $userInfo = json_decode(curl_exec($login)); curl_close($login); } } if(empty($userInfo->success)) { $userInfo = new stdClass; $userInfo->success = false; $userInfo->user_id = 0; $userInfo->username = 'Anonymous'; $userInfo->colour_raw = 0x40000000; $userInfo->rank = 0; $userInfo->hierarchy = 0; $userInfo->is_silenced = '1970-01-01T00:00:00+00:00'; $userInfo->perms = 0; } return $userInfo; } }