completed an install of centos.. yay
[glcas.git] / libglcas / web.php
index 6c3723b..3327d3d 100644 (file)
@@ -22,6 +22,7 @@ class GLCASWeb {
                
                // 
                $call_class = $urlparser->getClass($url);
+               error_log("urldecode: ".urldecode($url));
                $call_class->go($url);
        }
        
@@ -29,21 +30,72 @@ class GLCASWeb {
        
 }
 
-function GLCASpageBuilder($bodyClass, $bodyFunction, $title="GLCAS")
+function GLCASMenuBuilder()
 {
-       global $WEB_ROOT_FS;
+       global $BASE_URL;
+       ?>
+<a href="<?php echo $BASE_URL ?>">Home</a>
+<a href="<?php echo $BASE_URL."/admin/"?>">Admin</a>
+       <?php
+}
+
+function GLCASMessageBuilder()
+{
+       echo "<i>Messages not implemented yet</i>";
+}
+
+function GLCASpageBuilder($bodyClass, $bodyFunction, $bodycontent, $title="GLCAS")
+{
+       global $WEB_ROOT_FS, $BASE_URL;
        
        // TODO: load css
-       // TODO: load js
        // header
-       echo "<html><title>$title</title><body>";
+       echo "<html><head><title>$title</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 "<link rel=\"stylesheet\" type=\"text/css\" href=\"$BASE_URL/css/$file\">";
+                                       //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 "<script type=\"text/javascript\" src=\"$BASE_URL/css/$file\"></script>";
+                                       //echo "required $basedir/$file\n";
+                               }
+                       }
+               }               
+       }
+       
+       
+       // start body
+       echo "</head><body>";
        
        // page top
        echo "<h1>GLCAS</h1><br>";
-       echo "<table><tr><td>messages go here<td></tr><tr><td>";
+       echo "<table><tr><td>";
+       GLCASMessageBuilder();
+       echo "<td></tr><tr><td>";
        
        // menu, then body
-       echo "<table><tr><td>Menu goes here</td></tr><tr><td>";
+       echo "<table><tr><td>";
+       GLCASMenuBuilder();
+       echo "</td></tr><tr><td>";
        // body
        $url = "/";
        if(isset($_REQUEST["q"])) {
@@ -52,7 +104,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 "</td></tr></table>";