X-Git-Url: http://git.pjr.cc/?a=blobdiff_plain;f=libglcas%2Fweb.php;h=96b787e9f9ac8d5ca98ca26bf964014d36389484;hb=37b5d51a06265cba25c1c92418223837c6d3ad2b;hp=a8d013a66a6608e71b2baabd415cfbd5d7036e9b;hpb=f99212f7d29b648f3698cf31cbcda6bc04cda182;p=glcas.git diff --git a/libglcas/web.php b/libglcas/web.php index a8d013a..96b787e 100644 --- a/libglcas/web.php +++ b/libglcas/web.php @@ -22,6 +22,7 @@ class GLCASWeb { // $call_class = $urlparser->getClass($url); + error_log("urldecode: ".urldecode($url)); $call_class->go($url); } @@ -31,11 +32,20 @@ class GLCASWeb { function GLCASMenuBuilder() { - global $BASE_URL; + global $BASE_URL, $MENU_ITEMS; + + sort($MENU_ITEMS); ?> -Home -">Admin + $val) { + $link = $val["link"]; + $name = $val["name"]; + echo ""; + } + + echo "
Menu +Home $name
"; } function GLCASMessageBuilder() @@ -43,7 +53,7 @@ function GLCASMessageBuilder() echo "Messages not implemented yet"; } -function GLCASpageBuilder($bodyClass, $bodyFunction, $title="GLCAS") +function GLCASpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="GLCAS") { global $WEB_ROOT_FS, $BASE_URL; @@ -74,7 +84,7 @@ function GLCASpageBuilder($bodyClass, $bodyFunction, $title="GLCAS") $mt = preg_match("/.*.js$/", $file); if($mt > 0) { error_log("loading js $file"); - echo ""; + echo ""; //echo "required $basedir/$file\n"; } } @@ -103,7 +113,9 @@ function GLCASpageBuilder($bodyClass, $bodyFunction, $title="GLCAS") if($bodyClass != null) { $bodyClass->$bodyFunction($url); - } else $bodyFunction($url); + } else if( $bodyFunction != null) { + $bodyFunction($url); + } else echo $bodycontent; echo ""; @@ -115,5 +127,100 @@ function GLCASpageBuilder($bodyClass, $bodyFunction, $title="GLCAS") } +function glcas_isRemoteDir($url) +{ + file_get_contents($url); + //error_log("did file_get_contents on $url"); + foreach($http_response_header as $key => $val) { + //error_log("got header of $key for $val"); + if(preg_match("/.*Location:.*/", $val)) { + //error_log("in details apt got location as $val from $url"); + $realloc = preg_replace("/.*: /", "", $val); + $urlwithslash = $url."/"; + //echo "
in comp with
$urlwithslash
$realloc
"; + if(strcasecmp($realloc,$urlwithslash)==0) { + //error_log("I believe $realloc is a directory redir for $url"); + return true; + } else { + //error_log("I dont believe $realloc is a directory redir for $url"); + } + } + } + return false; +} + +function glcas_fileExists($url) +{ + $fp = fopen($url, "r"); + //error_og("did file_get_contents on $url"); + $retval = false; + foreach($http_response_header as $key => $val) { + //error_log("got header of $key for $val"); + if(preg_match("/.*HTTP\/.*200.*/", $val)) { + //echo "is true\n"; + + $retval = true; + } + } + fclose($fp); + return $retval; +} + +function glcas_startInstaller() +{ + global $WEB_ROOT_FS, $BASE_URL; + + $uid = posix_geteuid(); + $gid = posix_getegid(); + $uid_a = posix_getpwuid($uid); + $uid = $uid_a["name"]; + + $gid_a = posix_getgrgid($gid); + $gid = $gid_a["name"]; + error_log("user id is $uid, group id is $gid"); + + if(isset($_REQUEST["installdir"])) { + $c = new GLCASConfig(); + touch($_REQUEST["installdir"]."/webconfig"); + $c->loadConfig($_REQUEST["installdir"]."/webconfig"); + header("Location: index.php"); + return; + } + + $underroot = realpath($WEB_ROOT_FS."/../"); + +?> + +

Welcome to GLCAS

+Welcome to GLCAS, I cant find my configuration file so im assuming you installing me for the first time
+If this is not correct then we have a big problem that needs to be solved, i hope you have a backup of the old +config, cause that will make life easier.

+However, if this is the first time you have run this app, then all is good with the world. All I need right +now is a place where i can store my config. I search the following directories for the location of my +configuration (webconfig)
+
  • /var/run/glcas/ +
  • /var/lib/glcas/ +
  • /var/glcas/ +

    + +As root, you must now create one of these directories and change the ownership of the directory to the web owner. +(chown : the_path_you_choose).
    + +Now, tell me where you want me to create the webconfig file:
    +
    + + + + +
    + + + \ No newline at end of file