. */ function echoln($t, $debugmsg=false, $layout=false) { global $setup; if( DEBUG ) { echo $t; if( !$layout ) echo "\n"; }else { echo rtrim(ltrim($t), "\n\r\0\x0B"); } } function debug($msg) { global $setup; if( DEBUG ) { echo "\n
"); echoln(" Certificate error?"); echoln("
"); } layout("account-bottom", $ldap); layout("page-top", $ldap); echoln(" Home > "); #echoln("Office > "); echoln("Statutory"); } } function page_footer($nohtml=false) { global $ldap; if( !$nohtml ) { layout("page-bottom", $ldap); layout("bottom", $ldap); } $ldap->__destruct(); } function layout($part, $ldap=null) { $parts=array(); $parts[]="login"; $parts[]="top"; $parts[]="menu-top"; $parts[]="menu-bottom"; $parts[]="account-top"; $parts[]="account-anonymous"; $parts[]="account-loggedin"; $parts[]="account-bottom"; $parts[]="page-top"; $parts[]="page-bottom"; $parts[]="bottom"; $parts[]="all"; if( in_array($part, $parts) ) { if( $part=="top" ) header("Content-Type: text/html; charset=UTF-8"); if( $fd=@fopen($FULL_PATH."layout/".$_SESSION['layout']."/".$part.".html", "r") ) { $search=array(); $replace=array(); $search[]="%PHP_SELF%"; $replace[]=$_SERVER['PHP_SELF']; $search[]="%USERNAME%"; $replace[]=(isset($_SESSION['sess_name'])?$_SESSION['sess_name']:""); $search[]="%RAWENCODEUSERNAME%"; $replace[]=(isset($_SESSION['sess_name'])?rawurlencode($_SESSION['sess_name']):""); $search[]="%LAYOUTDIR%"; $replace[]="./layout/".$_SESSION['layout']."/"; $search[]="%QUERY_STRING%"; $replace[]=preg_replace("/logout/", "", $_SERVER['QUERY_STRING']); if( $ldap==null ) { $search[] = "%AUTH_SYSTEM_NAME%"; $replace[] = "aegee.org"; $search[] = "%AUTH_REGISTRATION_URL%"; $replace[] = "http://www.aegee.org/"; }else { $search[] = "%AUTH_SYSTEM_NAME%"; $replace[] = $ldap->getSystemName(); $search[] = "%AUTH_REGISTRATION_URL%"; $replace[] = $ldap->getRegistrationUrl(); } while( !feof($fd) ) { echoln( str_replace($search, $replace, fgets($fd, 4096)), false, true ); } fclose ($fd); } }else { // Not valid } } function layout_img($img) { $imgs=array(); $imgs[]="previous.gif"; $imgs[]="next.gif"; $imgs[]="list.gif"; if( in_array($img, $imgs) ) { return "./layout/".$_SESSION['layout']."/image/".$img; }else { // Not valid return ""; } } function layout_menu($item) { layout("menu-top"); echoln("\t\t\t\t\t\t\t\t\t\t".$item); layout("menu-bottom"); } /* admin_header($empty=false) * Show the page header * @param: empty: when true, do not output anything if login is ok (useful for downloads or images) * @return: - */ function admin_header($nomenu=false, $nohtml=false) { global $ldap, $LDAPTRANS, $setup; ssl_redirect(); // always switch to https // Check login $ldap = new AegeeOrg_Account("ldap://karl.aegee.RWTH-Aachen.DE", "o=AEGEE, c=FR"); if( isset($_GET['logout']) AND $_SESSION['sess_uid']!=0 ) { //Do logout dolog("login", "'".$_SESSION['sess_name']."' logged out", "info"); $layout=$_SESSION['layout']; $_SESSION=array(); $_SESSION['layout']=$layout; } if( isset($_SESSION['privstatementagree']) && $_SESSION['privstatementagree']=="ask" ) { if( $_SERVER['REQUEST_METHOD']=="POST" AND isset($_POST['agreeprivstatement']) ) { admin_setaccess($_SESSION['privstatementagree_access']); $_SESSION['privstatementagree'] = NULL; $_SESSION['privstatementagree_access'] = NULL; dolog("login", "'".$_SESSION['sess_name']."' agreed to privacy statement", "info"); $query = "UPDATE `users` SET `privstatementagree`='yes' WHERE `uid`=".addslashes($_SESSION['sess_uid']); doquery($query); } } if( !isset($_SESSION['sess_uid']) OR $_SESSION['sess_uid']<1 ) { // Check login if( isset($_POST['username']) && isset($_POST['password']) && $ldap->Auth($_POST['username'], $_POST['password']) ) { // user/password ok, now check if user has admin access $query="SELECT `uid`, `user`, `access`, `privstatementagree` FROM `users` WHERE `user`='".addslashes($_POST['username'])."'"; if( @mysql_num_rows( $res=doquery($query) )==1 ) { // admin access granted $row = mysql_fetch_array($res); $_SESSION['sess_uid'] = $row['uid']; $_SESSION['sess_name'] = $row['user']; admin_setaccess($row['access']); dolog("login", "'".$_SESSION['sess_name']."' logged in from ".$_SERVER["REMOTE_ADDR"]." (".$_SERVER["REMOTE_HOST"].")", "info"); }else { // No access to admin page layout("login"); exit(); } }else { // Wrong user/password layout("login"); exit(); } } // User logged in if( !$nohtml ) { echoln(""); echoln(""); echoln(" "); echoln(" "); echoln("| "); echoln(" | "); echoln(" | "); echoln(" | "); echoln(" | "); echoln(" | "); echoln(" |
| "); echoln(" | ");
echoln("User: ".$_SESSION['sess_name']." [Logout]");
if( isset($_REQUEST['show']) ) {
echoln(" Help"); }else { echoln(" Help"); } if( in_array($_SESSION['sess_access'], array("view", "edit", "jc", "localorg", "chair", "admin")) ) { // View functions echoln(" View functions:"); echoln("
Administrator functions:"); echoln("
"); echoln(" Created by Wim van Ravesteijn | ");
echoln(" "); echoln(" | "); echoln(" | "); } } } /* admin_footer($empty=false) * Show the page footer * @param: empty: when true, do not output anything if login is ok (useful for downloads or images) * @return: - */ function admin_footer($nomenu=false, $nohtml=false) { global $ldap; if( !$nohtml ) { if( !$nomenu ) { echoln(" | "); echoln(""); echoln(" |
| "); echoln(" | "); echoln(" | "); echoln(" | "); echoln(" | "); echoln(" | "); echoln(" |