<?php
-$MENU_ITEMS["Zones"]["link"] = "$BASE_URL/zones";
-$MENU_ITEMS["Zones"]["name"] = "Zones";
-$MENU_ITEMS["Interfaces"]["link"] = "$BASE_URL/interfaces";
-$MENU_ITEMS["Interfaces"]["name"] = "Interfaces";
-$MENU_ITEMS["Objects"]["link"] = "$BASE_URL/objects";
-$MENU_ITEMS["Objects"]["name"] = "Objects";
-$MENU_ITEMS["Rules"]["link"] = "$BASE_URL/rules";
-$MENU_ITEMS["Rules"]["name"] = "Rules";
+$MENU_ITEMS["15_Zones"]["link"] = "$BASE_URL/zones";
+$MENU_ITEMS["15_Zones"]["name"] = "Zones";
+$MENU_ITEMS["20_Objects"]["link"] = "$BASE_URL/objects";
+$MENU_ITEMS["20_Objects"]["name"] = "Objects";
+$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");
{
$url = "/";
$bodycontent = null;
+
+ $conf = new Config();
+ $conf->loadConfig();
+ $rconfig = $conf->getConfig();
+
+ if($rconfig["status"] != "conf") {
+ cbfw_startinstaller();
+ return 0;
+ }
+
+
if(isset($_REQUEST["q"])) {
$url = $_REQUEST["q"];
// ok, now we try and find the basics
$url_s = explode("/", $url);
+ $bodyFunction = null;
switch($url_s[0]) {
case "zones":
- $bodycontent = CBFWZonesPage($url_s);
+ CBFWZonesPage($url_s);
break;
case "interfaces":
- $bodycontent = CBFWInterfacesPage($url_s);
+ CBFWInterfacesPage($url_s);
break;
case "objects":
- $bodycontent = CBFWObjectsPage($url_s);
+ $bodyFunction = "CBFWObjectsPage";
break;
case "rules":
- $bodycontent = CBFWRulesPage($url_s);
+ $bodyFunction = "CBFWRulesPage";
+ break;
+ case "admin":
+ $bodyFunction = "CBFWAdminPage";
break;
default:
- $bodycontent = findUrl($url_s);
+ $bodyFunction = findUrl($url_s);
}
+ } else {
+ $bodyFunction = "CBFBuildHomePage";
}
- CBFWpageBuilder(null, null, $bodycontent);
+ 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>";
+ echo "i.e.: add rule reject from object/host/hostname to address6/2003::123 in zones Zone/zonename/rulenum Zone/zonename/rulenum";
+ $conf = new Config();
+ $conf->loadConfig();
+
+ echo "<pre>";
+ print_r($conf->getConfig());
+ echo "\n\n\n";
+ print_r($conf->getBootConfig());
+ echo "</pre>";
+
+}
+
function CBFWMenuBuilder()
{
global $BASE_URL, $MENU_ITEMS;
}
-function CBFWpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="CBFW")
+function CBFWpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="CBFW", $bodyfunctiondata=null)
{
global $WEB_ROOT_FS, $BASE_URL;
}
if($bodyClass != null) {
- $bodyClass->$bodyFunction($url);
+ $bodyClass->$bodyFunction($bodyfunctiondata);
} else if( $bodyFunction != null) {
- $bodyFunction($url);
+ $bodyFunction($bodyfunctiondata);
} else echo $bodycontent;
echo "</td></tr></table>";
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 "<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 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;