running configuration and deltas and shit
[CBFWR.git] / libcbfwr / web.php
index e9c319c..66e7cdf 100644 (file)
@@ -7,6 +7,8 @@ $MENU_ITEMS["30_Rules"]["link"] = "$BASE_URL/rules";
 $MENU_ITEMS["30_Rules"]["name"] = "Rules"; 
 $MENU_ITEMS["10_Interfaces"]["link"] = "$BASE_URL/interfaces"; 
 $MENU_ITEMS["10_Interfaces"]["name"] = "Interfaces"; 
+$MENU_ITEMS["05_Admin"]["link"] = "$BASE_URL/admin"; 
+$MENU_ITEMS["05_Admin"]["name"] = "Admin"; 
 
 // if i believed in name spacing in php, i'd use it.
 error_log("cbfwweb loaded");
@@ -27,7 +29,10 @@ class CBFWWeb {
                $conf->loadConfig();
                $rconfig = $conf->getConfig();
                
-               if($rconfig["status"] != "conf") cbfw_startinstaller();
+               if($rconfig["status"] != "conf") {
+                       cbfw_startinstaller();
+                       return 0;
+               }
                
                
                if(isset($_REQUEST["q"])) {
@@ -36,12 +41,13 @@ class CBFWWeb {
                        // ok, now we try and find the basics
                        $url_s = explode("/", $url);
                        
+                       $bodyFunction = null;
                        switch($url_s[0]) {
                                case "zones":
-                                       $bodyFunction = "CBFWZonesPage";
+                                       CBFWZonesPage($url_s);
                                        break;
                                case "interfaces":
-                                       $bodyFunction = "CBFWInterfacesPage";
+                                       CBFWInterfacesPage($url_s);
                                        break;
                                case "objects":
                                        $bodyFunction = "CBFWObjectsPage";
@@ -49,16 +55,25 @@ class CBFWWeb {
                                case "rules":
                                        $bodyFunction = "CBFWRulesPage";
                                        break;
+                               case "admin":
+                                       $bodyFunction = "CBFWAdminPage";
+                                       break;
                                default:
                                        $bodyFunction = findUrl($url_s);
                        }
                } else {
                        $bodyFunction = "CBFBuildHomePage";
                }
-               CBFWpageBuilder(null, $bodyFunction);
+               if($bodyFunction != null) CBFWpageBuilder(null, $bodyFunction);
        }       
 }
 
+
+function CBFWAdminPage($urls)
+{
+       echo "im an admin page";
+}
+
 function CBFBuildHomePage($urls)
 {
        echo "Must remember this, gotta rules could apply to multiple zones not just one<br>";
@@ -109,7 +124,7 @@ function CBFWMessageBuilder()
 
 }
 
-function CBFWpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="CBFW")
+function CBFWpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="CBFW", $bodyfunctiondata=null)
 {
        global $WEB_ROOT_FS, $BASE_URL;
        
@@ -168,9 +183,9 @@ function CBFWpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="C
        }
        
        if($bodyClass != null) {
-               $bodyClass->$bodyFunction($url);
+               $bodyClass->$bodyFunction($bodyfunctiondata);
        } else if( $bodyFunction != null) {
-               $bodyFunction($url);
+               $bodyFunction($bodyfunctiondata);
        } else echo $bodycontent;
        echo "</td></tr></table>";