public function ais2Relogin(AIS2ServerConnection $serverConnection) { $connection = $serverConnection->getHttpConnection(); $urlMap = $serverConnection->getUrlMap(); $data = $connection->get(new NullTrace(), $urlMap->getLoginUrl()); if (!preg_match(self::LOGGED_IN_PATTERN, $data)) { throw new LoginException("Relogin failed. Cosign cookie expired."); } return true; }
/** * Returns user's full name as reported by ais. * * @returns string */ public function getFullUserName(Trace $trace) { $userNameParser = new AIS2UserNameParser(); $simpleConn = $this->connection->getSimpleConnection(); $urlMap = $this->connection->getUrlMap(); $html = $simpleConn->request($trace->addChild('requesting AIS2 main page'), $urlMap->getStartPageUrl()); $html = $this->convertEncoding($html); $username = $userNameParser->parseUserNameFromMainPage($html); $trace->tlogVariable('username', $username); return $username; }
public function isLoggedIn(AIS2ServerConnection $serverConnection) { $connection = $serverConnection->getHttpConnection(); $urlMap = $serverConnection->getUrlMap(); $data = $connection->get(new NullTrace(), $urlMap->getStartPageUrl()); if (preg_match(self::NOT_LOGGED_PATTERN, $data)) { return false; } if (preg_match(self::LOGGED_IN_PATTERN, $data)) { return true; } throw new LoginException("Unexpected response."); }
public function login(AIS2ServerConnection $serverConnection) { $connection = $serverConnection->getHttpConnection(); $urlMap = $serverConnection->getUrlMap(); $login = $this->username; $password = $this->password; $this->username = null; $this->password = null; $data = $connection->post(new NullTrace(), $urlMap->getLoginUrl(), array("login" => $login, "password" => $password)); if (!preg_match(self::LOGGED_IN_PATTERN, $data)) { if ($reason = Strutil::match(self::LOGIN_ERROR_PATTERN, $data)) { $reason = iconv("WINDOWS-1250", "UTF-8", $reason); throw new LoginException('Login failed, reason: <b>' . $reason . '</b>'); } throw new LoginException("Login failed, unknown reason."); } return true; }