X-Git-Url: http://git.pjr.cc/?p=CBFWR.git;a=blobdiff_plain;f=libcbfwr%2Fweb.php;h=6baae23c14632b4884a1e170f439aec3ec9589f2;hp=eba5ce0bd1321f9b217a51371fe749903bfc7e7e;hb=60673f4f00bab805471fcbb85c8816aebb3a9582;hpb=9a9f233c40bf09834402491bf657fffa446eeada diff --git a/libcbfwr/web.php b/libcbfwr/web.php index eba5ce0..6baae23 100644 --- a/libcbfwr/web.php +++ b/libcbfwr/web.php @@ -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"); @@ -24,10 +26,18 @@ class CBFWWeb { $bodycontent = null; $conf = new Config(); - $conf->loadConfig(); + $comms = new Comms(); + $conf->loadConfig($comms->getConfig(0)); $rconfig = $conf->getConfig(); - if($rconfig["status"] != "conf") cbfw_startinstaller(); + if($rconfig["status"] != "conf") { + if($rconfig["status"] == "nodir") { + cbfw_startnodir(); + return 0; + } + cbfw_startinstaller(); + return 0; + } if(isset($_REQUEST["q"])) { @@ -36,12 +46,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,27 +60,40 @@ 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
"; 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(); + + $comms = new Comms(); echo "
";
-	print_r($conf->getConfig());
+	print_r($comms->getConfig(0));
+	echo "\n\n\n";
+	print_r($comms->getConfig(1));
+	echo "\n\n\n";
+	print_r($comms->getConfig(2));
 	echo "\n\n\n";
-	print_r($conf->getBootConfig());
+	print_r($comms->getConfig(3));
 	echo "
"; } @@ -106,10 +130,10 @@ function CBFWAddMessage($messagelev, $message) function CBFWMessageBuilder() { - + echo "message"; } -function CBFWpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="CBFW") +function CBFWpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="CBFW", $bodyfunctiondata=null) { global $WEB_ROOT_FS, $BASE_URL; @@ -153,9 +177,11 @@ function CBFWpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="C // page top echo "

CBFW


"; - echo "
"; + echo "
"; CBFWMessageBuilder(); - echo "
"; + echo ""; + CBFWConfigStatus(); + echo "
"; // menu, then body echo "
"; @@ -168,9 +194,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 "
"; @@ -206,6 +232,34 @@ function cbfw_getLastSeen($ip, $data) } +function CBFWConfigStatus() +{ + $comms = new Comms(); + + $conf0 = $comms->getConfig(0); + $conf1 = $comms->getConfig(2); + $conf2 = $comms->getConfig(3); + + if($conf1["status"] == "nochange") { + $saved = "Current"; + $running = "Current"; + } else { + $saved = "Old"; + $running = "Current"; + } + if($conf2["status"] == "nochange") { + $client = "Current"; + } else { + $ch = $conf2["status"]; + $client = "$ch Changes"; + } + + + echo "Saved Config: $saved
"; + echo "Running Config: $running
"; + echo "Client Config: $client
"; +} + function cbfw_tdiffToAgo($time_in_sec) { $tdiff = $time_in_sec; @@ -221,45 +275,6 @@ function cbfw_tdiffToAgo($time_in_sec) 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 "
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 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; @@ -316,5 +331,15 @@ Now, tell me where you want me to create the webconfig file:
+ +

Cant Run

+There is no config and no directory where i can store one. Login to the server and either create /var/run/cbfwr or /var + + \ No newline at end of file