X-Git-Url: http://git.pjr.cc/?p=gwvp.git;a=blobdiff_plain;f=gwvplib%2Fgwvpweb.php;h=f01e53751651bba4091252be213b342c36d6e23f;hp=f4761614eb63f815a3d7b5d18c20d45e8682685c;hb=942b821d861aba1da43ef6c999141853e9f8b3a8;hpb=4c20cd2f33699e549a06995d9c5ab1374cceeaee diff --git a/gwvplib/gwvpweb.php b/gwvplib/gwvpweb.php index f476161..f01e537 100644 --- a/gwvplib/gwvpweb.php +++ b/gwvplib/gwvpweb.php @@ -3,6 +3,9 @@ // this function is the initial insertion point for the web calls, here we need to determine where we go global $CALL_ME_FUNCTIONS; +// the home_page_provders bit is an array +global $HOME_PAGE_PROVIDERS; + $MENU_ITEMS["00home"]["text"] = "Home"; $MENU_ITEMS["00home"]["link"] = "$BASE_URL"; @@ -20,7 +23,8 @@ function gwvp_goWebBegin() // next, we go thru the CALL_ME_FUNCTIONS - the purpose of call_me_functions is to determine if a function should be called based on // the functions return (i.e. if function returns false, its not it, otherwise it returns a function name we have to call) - // this is important for our plugin structure later on + // this is important for our plugin structure later on - the key on the array serves an an ordering method + ksort($CALL_ME_FUNCTIONS); foreach($CALL_ME_FUNCTIONS as $key => $val) { error_log("checking callmefunction $key as $val"); $callme = $val(); @@ -34,6 +38,12 @@ function gwvp_goWebBegin() gwvp_goMainPage(); } +function gwvp_SendMessage($messagetype, $message) +{ + $_SESSION["messagetype"] = $messagetype; + $_SESSION["message"] = $message; +} + function gwvp_goMainPage($bodyFunction = null) { // the main page will look pretty simple, a title, a menu then a body @@ -79,9 +89,21 @@ function gwvp_goMainPage($bodyFunction = null) echo "

Git over Web Via PHP

"; - echo "
"; + echo ""; + + if(isset($_SESSION["message"])) { + echo ""; + } + + echo ""; + echo ""; + + echo ""; echo "
"; + gwvp_MessageBuilder(); + echo "
"; gwvp_MenuBuilder(); - echo "
"; + gwvp_LoginBuilder(); + echo "
"; if($bodyFunction == null) { @@ -90,7 +112,7 @@ function gwvp_goMainPage($bodyFunction = null) if(function_exists($bodyFunction)) { $bodyFunction(); } else { - error_log("Got called with non-existant body function"); + error_log("Got called with non-existant body function, $bodyFunction"); gwvp_BodyBuilder(); } } @@ -102,27 +124,96 @@ function gwvp_goMainPage($bodyFunction = null) } + +// builds the message builder if its needed +function gwvp_MessageBuilder() +{ + $message = ""; + $messagetype = "info"; + if(isset($_SESSION["message"])) $message = $_SESSION["message"]; + if(isset($_SESSION["messagetype"])) $messagetype = $_SESSION["messagetype"]; + + if($message != "") { + switch($messagetype) { + case "info": + echo "
$message
"; + break; + case "error": + echo "
$message
"; + break; + } + unset($_SESSION["message"]); + if(isset($_SESSION["messagetype"])) unset($_SESSION["messagetype"]); + } +} + // builds the menu structure function gwvp_MenuBuilder() { - global $MENU_ITEMS; + global $MENU_ITEMS, $BASE_URL; ksort($MENU_ITEMS); - echo ""; + echo "
Menu
"; foreach($MENU_ITEMS as $key => $val) { $link = $val["link"]; $text = $val["text"]; - echo ""; + + // TODO: redo this bit with stristr to find urls - special case for home + $menucolor = ""; + if(isset($_REQUEST["q"])) { + $extlink = str_replace("$BASE_URL/", "", $link); + error_log("trying to do replace of $BASE_URL in $link, got $extlink for ".$_REQUEST["q"]); + if(stristr($_REQUEST["q"], $extlink)!==false) { + $menucolor = " bgcolor=\"#ffdddd\""; + + } + } else { + // special case for home + if($link == $BASE_URL) $menucolor = " bgcolor=\"#ffdddd\""; + } + + + + + if(isset($val["userlevel"])) { + if(gwvp_CheckAuthLevel($val["userlevel"])) { + echo "$text"; + } + + } else { + echo "$text"; + } } echo "
Menu$text
"; } +function gwvp_LoginBuilder() +{ + global $WEB_ROOT_FS, $BASE_URL; + + $login = gwvp_IsLoggedIn(); + if($login === false) { + gwvp_SingleLineLoginForm(); + } else { + echo "Hello, ".gwvp_GetFullName($login)." logout"; + } +} + // builds the body structure function gwvp_BodyBuilder() { - echo "I AM THE MAIN BODY, FEAR ME!!!!"; + global $HOME_PAGE_PROVIDERS; + + echo "I AM THE MAIN BODY, FEAR ME!!!! - have no idea whats going to go here"; + if(isset($HOME_PAGE_PROVIDERS)) { + ksort($HOME_PAGE_PROVIDERS); + foreach($HOME_PAGE_PROVIDERS as $provider) { + error_log("Loading home_page_provider, $provider"); + $provider(); + } + } } // builds the tail structure @@ -131,4 +222,18 @@ function gwvp_TailBuilder() echo "Copyright 2011, PJR - licensed under GPL"; } +function gwvp_fourZeroThree() +{ + error_log("403 called"); + header("HTTP/1.0 403 Permission Denied"); +} + +function gwvp_fourZeroFour() +{ + error_log("404 called"); + header("HTTP/1.0 404 No Such Thing"); +} + + + ?> \ No newline at end of file