X-Git-Url: http://git.pjr.cc/?p=CBFWR.git;a=blobdiff_plain;f=libcbfwr%2Fweb.php;fp=libcbfwr%2Fweb.php;h=8e4967cdcea57ec062370699f7ba4562555fc557;hp=0000000000000000000000000000000000000000;hb=9d42ecae8d0c5139e119af983a5fe65f4b0fe149;hpb=90e37664d8296ebb5f3aae443b44b09f95826e90 diff --git a/libcbfwr/web.php b/libcbfwr/web.php new file mode 100644 index 0000000..8e4967c --- /dev/null +++ b/libcbfwr/web.php @@ -0,0 +1,295 @@ + + + $val) { + $link = $val["link"]; + $name = $val["name"]; + echo ""; + } + + echo "
Menu +Home$name
"; +} + +// just a short one to call the long one +function gcam($m, $s) +{ + global $glconfig; + CBFWAddMessage($m, $s); +} + +function CBFWAddMessage($messagelev, $message) +{ + +} + +function CBFWMessageBuilder() +{ + +} + +function CBFWpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="CBFW") +{ + global $WEB_ROOT_FS, $BASE_URL; + + // TODO: load css + // header + 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 "

CBFW


"; + echo "
"; + CBFWMessageBuilder(); + echo "
"; + + // menu, then body + echo "
"; + CBFWMenuBuilder(); + echo "
"; + // body + $url = "/"; + if(isset($_REQUEST["q"])) { + $url = $_REQUEST["q"]; + } + + if($bodyClass != null) { + $bodyClass->$bodyFunction($url); + } else if( $bodyFunction != null) { + $bodyFunction($url); + } else echo $bodycontent; + echo "
"; + + + // close the big wrap-around table + echo "
"; + + // footer + echo "
Copyright 2011, PJR
"; + +} + +function cbfw_getLastSeen($ip, $data) +{ + $last = "never"; + + if(!$data) return $last; + + + + foreach($data as $key=>$val) { + $last = $val["name"]; + error_log("got $last for $ip"); + } + + if($last == "never") return $last; + + $last = cbfw_tdiffToAgo(time()-$last); + + error_log("last for $ip set to $last"); + + return $last; + +} + +function cbfw_tdiffToAgo($time_in_sec) +{ + $tdiff = $time_in_sec; + $tdiff_min = (int)($tdiff/60); + $tdiff_hour = (int)($tdiff/3600); + $tdiff_days = (int)($tdiff/86400); + + if($tdiff < 60) $last = "Less then a minute"; + if($tdiff >= 60 && $tdiff < 7200) $last = "$tdiff_min minutes ago"; + if($tdiff >= 7200 && $tdiff < 86400) $last = "$tdiff_hour hours ago"; + if($tdiff >= 86400) $last = "$tdiff_days days ago"; + + return $last; +} + +function cbfw_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 cbfw_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 cbfw_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 CBFWConfig(); + touch($_REQUEST["installdir"]."/webconfig"); + $c->loadConfig($_REQUEST["installdir"]."/webconfig"); + header("Location: index.php"); + return; + } + + $underroot = realpath($WEB_ROOT_FS."/../"); + +?> + +

Welcome to CBFW

+Welcome to CBFW, 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