hostgroup scanning works.
[glcas.git] / libglcas / web.php
index 0d812d9..6f93f80 100644 (file)
@@ -32,11 +32,20 @@ class GLCASWeb {
 
 function GLCASMenuBuilder()
 {
-       global $BASE_URL;
+       global $BASE_URL, $MENU_ITEMS;
+       
+       ksort($MENU_ITEMS);
        ?>
-<a href="<?php echo $BASE_URL ?>">Home</a>
-<a href="<?php echo $BASE_URL."/admin/"?>">Admin</a>
+       <table border="1"><tr><th>Menu</th><td>
+<a href="<?php echo $BASE_URL ?>">Home</a></td>
        <?php
+       foreach($MENU_ITEMS as $key => $val) {
+               $link = $val["link"];
+               $name = $val["name"];
+               echo "<td><a href=$link>$name</a></td>";
+       }
+       
+       echo "</table>";
 }
 
 function GLCASMessageBuilder()
@@ -118,6 +127,45 @@ function GLCASpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="
        
 }
 
+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 "<br>in comp with<br>$urlwithslash<br>$realloc<br>";
+                       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;
@@ -131,6 +179,16 @@ function glcas_startInstaller()
        $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."/../");
+       
 ?>
 <html>
 <h1>Welcome to GLCAS</h1>
@@ -142,7 +200,7 @@ now is a place where i can store my config. I search the following directories f
 configuration (webconfig)<br>
 <li> /var/run/glcas/
 <li> /var/lib/glcas/
-<li> <?php echo $WEB_ROOT_FS?>/var/glcas/
+<li> <?php echo $underroot?>/var/glcas/
 <br><br>
 
 As root, you must now create one of these directories and change the ownership of the directory to the web owner.
@@ -153,7 +211,7 @@ Now, tell me where you want me to create the webconfig file:<br>
 <select name="installdir">
 <option value="/var/run/glcas">/var/run/glcas</option>
 <option value="/var/lib/glcas">/var/lib/glcas</option>
-<option value="<?php echo $WEB_ROOT_FS?>/var/glcas/"><?php echo $WEB_ROOT_FS?>/var/glcas/</option>
+<option value="<?php echo $underroot?>/var/glcas/"><?php echo $underroot?>/var/glcas/</option>
 </select>
 <input type="submit" name="Go" value="Go">