X-Git-Url: http://git.pjr.cc/?a=blobdiff_plain;f=libglcas%2Fweb.php;h=5dd6f91b6f26f5dd0b1056372c11ed284d0b89c0;hb=486854e1f39db5dd0fe2f317d2a586dd6ac39124;hp=6c3723b1926d4af7df41165ca1a53ac8a909e050;hpb=17d5412ef5bdde749ce57dbdd627243eb0d701a8;p=glcas.git diff --git a/libglcas/web.php b/libglcas/web.php index 6c3723b..5dd6f91 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); } @@ -29,21 +30,81 @@ class GLCASWeb { } -function GLCASpageBuilder($bodyClass, $bodyFunction, $title="GLCAS") +function GLCASMenuBuilder() { - global $WEB_ROOT_FS; + global $BASE_URL, $MENU_ITEMS; + + sort($MENU_ITEMS); + ?> + + $val) { + $link = $val["link"]; + $name = $val["name"]; + echo ""; + } + + echo "
Menu +Home$name
"; +} + +function GLCASMessageBuilder() +{ + echo "Messages not implemented yet"; +} + +function GLCASpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="GLCAS") +{ + global $WEB_ROOT_FS, $BASE_URL; // TODO: load css - // TODO: load js // header - echo "$title"; + echo "$title"; + + // load css + if(file_exists("$WEB_ROOT_FS/css")) { + $dh = opendir("$WEB_ROOT_FS/css"); + if($dh) { + while(($file = readdir($dh))!==false) { + $mt = preg_match("/.*.css$/", $file); + if($mt > 0) { + error_log("loading css $file"); + echo ""; + //echo "required $basedir/$file\n"; + } + } + } + } + + // load js + if(file_exists("$WEB_ROOT_FS/js")) { + $dh = opendir("$WEB_ROOT_FS/js"); + if($dh) { + while(($file = readdir($dh))!==false) { + $mt = preg_match("/.*.js$/", $file); + if($mt > 0) { + error_log("loading js $file"); + echo ""; + //echo "required $basedir/$file\n"; + } + } + } + } + + + // start body + echo ""; // page top echo "

GLCAS


"; - echo "
messages go here
"; + echo "
"; + GLCASMessageBuilder(); + echo "
"; // menu, then body - echo "
Menu goes here
"; + echo "
"; + GLCASMenuBuilder(); + echo "
"; // body $url = "/"; if(isset($_REQUEST["q"])) { @@ -52,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 "
"; @@ -64,5 +127,90 @@ 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"); + +?> + +

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