public function login(AIS2Connection $connection) { $login = $this->username; $krbpwd = $this->krbpwd; // Username a password si nebudeme pamatat dlhsie ako treba $this->username = null; $this->krbpwd = null; $data = $connection->get(self::LOGIN); if (preg_match('@\\<title\\>IIKS \\- Prihlásenie\\</title\\>@', $data)) { assert($login !== null && $krbpwd !== null); $data = $connection->post(self::COSIGN_LOGIN, array('ref' => self::LOGIN, 'login' => $login, 'krbpwd' => $krbpwd)); if (!preg_match('@\\<base href\\="https://ais2\\.uniba\\.sk/ais/portal/pages/portal_layout\\.jsp"\\>@', $data)) { if (preg_match('@Pri pokuse o prihlásenie sa vyskytol problém:@', $data)) { if ($reason = match($data, '@\\<div style\\="color:#FF0000;"\\>\\<b\\>([^<]*)\\<\\/b\\>@')) { throw new Exception('Nepodarilo sa prihlásiť, dôvod: <b>' . $reason . '</b>'); } } if ($reason = match($data, '@\\<title\\>IIKS - Chyba pri prihlasovaní:([^<]*)\\<\\/title\\>@')) { throw new Exception('Nepodarilo sa prihlásiť, dôvod: <b>' . $reason . '</b>'); } throw new Exception('Nepodarilo sa prihlásiť, dôvod neznámy.'); } $this->loggedIn = true; return true; } $this->loggedIn = true; // naozaj? return true; }
public function login(AIS2Connection $connection) { assert($this->cookie !== null); if ($this->loggedIn) { return false; } $connection->addCookie('cosign-filter-ais2.uniba.sk', $this->cookie, 0, '/', 'ais2.uniba.sk'); $data = $connection->get(self::LOGIN); if (preg_match('@\\<title\\>IIKS \\- Prihlásenie\\</title\\>@', $data)) { return false; } $this->loggedIn = true; return true; }