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
+
Menu |
+Home |
$val) {
+ $link = $val["link"];
+ $name = $val["name"];
+ echo "$name | ";
+ }
+
+ echo "
---|
";
}
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