You have to log in with your AEGEE intranet account.
Too many authentication failures from your IP. Come back in one hour." . EXPLANATION . "
"; } ?>
" . $msg . ""; } function httpsRedirect() { if( headers_sent() ) { echo "ssl_redirect: Headers already sent."; return; } if( !isHttps() ) { if(!isset($_SERVER['REQUEST_URI']) OR !isset($_SERVER['HTTP_HOST'])) { echo " Your browser doesn't support HTTP 1.1 requests.\n"; echo " Please use https:// instead of http://\n"; return; } header("Location: https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); exit; } } function isHttps() { $headerHttps = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "off"; $headerHttpHttps = isset($_SERVER['HTTP_HTTPS']) && $_SERVER['HTTP_HTTPS'] != "off"; return $headerHttps || $headerHttpHttps; } function getRemoteAddress() { if( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ) { return $_SERVER["HTTP_X_FORWARDED_FOR"]; }elseif( isset($_SERVER["REMOTE_ADDR"]) ) { return $_SERVER["REMOTE_ADDR"]; }else { return NULL; } } function mayLogin(IDB $db, $username) { $queryBuilder = new QueryBuilder($db, "logins"); $queryBuilder->addField(new DBMethodCount("id"), "count"); $matchRemoteAddress = new DBWhereEquals("remoteaddress", getRemoteAddress()); if( $username == null ) { $queryBuilder->addWhere($matchRemoteAddress); }else { $queryBuilder->addWhere(new DBWhereOr(new DBWhereEquals("username", $_POST['username'])), $matchRemoteAddress); } $queryBuilder->addWhere(new DBWhereGreaterEquals("date", date("Y-m-d H:i:s", strtotime("-1 hour")))); $queryBuilder->addWhere(new DBWhereNotEquals("result", "success")); $queryBuilder->addOrderDesc("date"); if( $db->select($queryBuilder->toQuery()) == 1 ) { $row = $db->fetchAssoc(); return $row['count'] < 3; }else { return false; } } function registerLogin(IDB $db, $username, $result) { $data = array(); $data['username'] = $username; $data['remoteaddress'] = getRemoteAddress(); $data['date'] = date("Y-m-d H:i:s"); $data['result'] = $result; $db->insert("logins", $data); } function mayGetPromotionCode(IDB $db, $username) { $queryBuilder = new QueryBuilder($db, MYSQL_TABLE_CODES); $queryBuilder->addField(new DBMethodCount("id"), "count"); $queryBuilder->addWhere(new DBWhereEquals("username", $username)); if( defined("QUOTA_DAYS") ) { $queryBuilder->addWhere(new DBWhereGreaterEquals("handedout", date("Y-m-d H:i:s", strtotime("-" . QUOTA_DAYS ." days")))); } if( $db->select($queryBuilder->toQuery()) == 1 ) { $row = $db->fetchAssoc(); return $row['count'] < QUOTA_AMOUNT; }else { return false; } } function getPromotionCode(IDB $db, $username) { $queryBuilder = new QueryBuilder($db, MYSQL_TABLE_CODES); $queryBuilder->addWhere(new DBWhereIsNull("username")); $queryBuilder->addWhere(new DBWhereIsNull("handedout")); $queryBuilder->addOrderAsc("id"); $queryBuilder->setLimit(1); if( $db->select($queryBuilder->toQuery()) == 1 ) { $row = $db->fetchAssoc(); $update = array(); $update['username'] = $username; $update['handedout'] = date("Y-m-d H:i:s"); if( $db->update(MYSQL_TABLE_CODES, $row['id'], $update) ) { return $row['code']; } } return null; } function getAvailableCodeCount(IDB $db) { return getCodeCount($db, false); } function getUsedCodeCount(IDB $db) { return getCodeCount($db, true); } function getCodeCount(IDB $db, $used) { $queryBuilder = new QueryBuilder($db, MYSQL_TABLE_CODES); $queryBuilder->addField(new DBMethodCount("id"), "count"); if( $used ) { $queryBuilder->addWhere(new DBWhereIsNotNull("username")); }else { $queryBuilder->addWhere(new DBWhereIsNull("username")); } if( $db->select($queryBuilder->toquery()) == 1 ) { $row = $db->fetchAssoc(); return $row['count']; }else { return "Unknown"; } } httpsRedirect(); require_once dirname(__FILE__) . "/config.php"; require_once dirname(__FILE__) . "/include/db/MySQL.php"; require_once dirname(__FILE__) . "/include/db/QueryBuilder.php"; require_once dirname(__FILE__) . "/include/auth/AuthIntranet.php"; require_once dirname(__FILE__) . "/include/Mail.php"; $db = new MySQL(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DB); ?>
You have to log in with your AEGEE intranet account.
Too many authentication failures from your IP. Come back in one hour." . EXPLANATION . "
"; } ?>