public function steamAction()
 {
     $model = new ProfileModel();
     incFile('modules/page/system/inc/OpenId.inc.php');
     $openid = new LightOpenID(SITE_URL . 'profile/steam');
     if (!$openid->mode) {
         $openid->identity = 'http://steamcommunity.com/openid/?l=english';
         redirect($openid->authUrl());
     } elseif ($openid->mode == 'cancel') {
         $errorMessage = 'User has canceled authentication!';
     } else {
         if ($openid->validate()) {
             $id = $openid->identity;
             $ptn = "/^http:\\/\\/steamcommunity\\.com\\/openid\\/id\\/(7[0-9]{15,25}+)\$/";
             preg_match($ptn, $id, $matches);
             $url = 'http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=' . STEAM_API_KEY . '&steamids=' . $matches[1];
             $json_object = file_get_contents($url);
             $json_decoded = json_decode($json_object);
             if ($json_decoded) {
                 $userData = $json_decoded->response->players[0];
                 if ($matches[1] == $userData->steamid && $userData->steamid) {
                     $model->setSteamID(Request::getParam('user')->id, $userData->steamid);
                     redirect(url(Request::getParam('user')->id));
                 } else {
                     $errorMessage = 'Попробуйте еще раз';
                 }
             } else {
                 $errorMessage = 'Попробуйте еще раз';
             }
             unset($json_object, $json_decoded);
         } else {
             $errorMessage = 'User is not logged in.';
         }
     }
     echo $errorMessage;
 }