From 9d42ecae8d0c5139e119af983a5fe65f4b0fe149 Mon Sep 17 00:00:00 2001 From: paulr Date: Tue, 20 Sep 2011 19:48:58 +1000 Subject: [PATCH] web pages and shite --- libcbfwr/fwui.php | 37 ++++++ libcbfwr/lib.php | 3 + libcbfwr/web.php | 295 ++++++++++++++++++++++++++++++++++++++++++++++++ www/.htaccess | 8 ++ www/css/normal.css | 138 ++++++++++++++++++++++ www/index.php | 5 + www/js/base.js | 1 + 7 files changed, 487 insertions(+), 0 deletions(-) create mode 100644 libcbfwr/fwcontrol.php create mode 100644 libcbfwr/fwui.php create mode 100644 libcbfwr/web.php create mode 100644 www/.htaccess create mode 100644 www/css/normal.css create mode 100644 www/js/base.js diff --git a/libcbfwr/fwcontrol.php b/libcbfwr/fwcontrol.php new file mode 100644 index 0000000..e69de29 diff --git a/libcbfwr/fwui.php b/libcbfwr/fwui.php new file mode 100644 index 0000000..a94b4ad --- /dev/null +++ b/libcbfwr/fwui.php @@ -0,0 +1,37 @@ +getConfig(); +} + +function CBFWObjectsPage() +{ + $comms = new Comms(); + + $config = $comms->getConfig(); +} + +function CBFWRulesPage() +{ + $comms = new Comms(); + + $config = $comms->getConfig(); +} + +function findUrl($url_s) +{ + global $URL_HANDLERS; + + foreach($URL_HANDLERS as $key => $val) { + + } +} +?> \ No newline at end of file diff --git a/libcbfwr/lib.php b/libcbfwr/lib.php index eccd5b5..a179924 100644 --- a/libcbfwr/lib.php +++ b/libcbfwr/lib.php @@ -20,6 +20,9 @@ set_include_path(get_include_path().PATH_SEPARATOR.$adpath); */ require_once("libcbfwr/config.php"); require_once("libcbfwr/comms.php"); +require_once("libcbfwr/web.php"); +require_once("libcbfwr/fwui.php"); + function glcas_pluginLoader($path="") { diff --git a/libcbfwr/web.php b/libcbfwr/web.php new file mode 100644 index 0000000..8e4967c --- /dev/null +++ b/libcbfwr/web.php @@ -0,0 +1,295 @@ + + + $val) { + $link = $val["link"]; + $name = $val["name"]; + echo ""; + } + + echo "
Menu +Home$name
"; +} + +// just a short one to call the long one +function gcam($m, $s) +{ + global $glconfig; + CBFWAddMessage($m, $s); +} + +function CBFWAddMessage($messagelev, $message) +{ + +} + +function CBFWMessageBuilder() +{ + +} + +function CBFWpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="CBFW") +{ + global $WEB_ROOT_FS, $BASE_URL; + + // TODO: load css + // header + echo "$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 ""; + //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 ""; + //echo "required $basedir/$file\n"; + } + } + } + } + + + // start body + echo ""; + + // page top + echo "

CBFW


"; + echo "
"; + CBFWMessageBuilder(); + echo "
"; + + // menu, then body + echo "
"; + CBFWMenuBuilder(); + echo "
"; + // body + $url = "/"; + if(isset($_REQUEST["q"])) { + $url = $_REQUEST["q"]; + } + + if($bodyClass != null) { + $bodyClass->$bodyFunction($url); + } else if( $bodyFunction != null) { + $bodyFunction($url); + } else echo $bodycontent; + echo "
"; + + + // close the big wrap-around table + echo "
"; + + // footer + echo "
Copyright 2011, PJR
"; + +} + +function cbfw_getLastSeen($ip, $data) +{ + $last = "never"; + + if(!$data) return $last; + + + + foreach($data as $key=>$val) { + $last = $val["name"]; + error_log("got $last for $ip"); + } + + if($last == "never") return $last; + + $last = cbfw_tdiffToAgo(time()-$last); + + error_log("last for $ip set to $last"); + + return $last; + +} + +function cbfw_tdiffToAgo($time_in_sec) +{ + $tdiff = $time_in_sec; + $tdiff_min = (int)($tdiff/60); + $tdiff_hour = (int)($tdiff/3600); + $tdiff_days = (int)($tdiff/86400); + + if($tdiff < 60) $last = "Less then a minute"; + if($tdiff >= 60 && $tdiff < 7200) $last = "$tdiff_min minutes ago"; + if($tdiff >= 7200 && $tdiff < 86400) $last = "$tdiff_hour hours ago"; + if($tdiff >= 86400) $last = "$tdiff_days days ago"; + + 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; + + $uid = posix_geteuid(); + $gid = posix_getegid(); + $uid_a = posix_getpwuid($uid); + $uid = $uid_a["name"]; + + $gid_a = posix_getgrgid($gid); + $gid = $gid_a["name"]; + error_log("user id is $uid, group id is $gid"); + + if(isset($_REQUEST["installdir"])) { + $c = new CBFWConfig(); + touch($_REQUEST["installdir"]."/webconfig"); + $c->loadConfig($_REQUEST["installdir"]."/webconfig"); + header("Location: index.php"); + return; + } + + $underroot = realpath($WEB_ROOT_FS."/../"); + +?> + +

Welcome to CBFW

+Welcome to CBFW, I cant find my configuration file so im assuming you installing me for the first time
+If this is not correct then we have a big problem that needs to be solved, i hope you have a backup of the old +config, cause that will make life easier.

+However, if this is the first time you have run this app, then all is good with the world. All I need right +now is a place where i can store my config. I search the following directories for the location of my +configuration (webconfig)
+
  • /var/run/glcas/ +
  • /var/lib/glcas/ +
  • /var/glcas/ +

    + +As root, you must now create one of these directories and change the ownership of the directory to the web owner. +(chown : the_path_you_choose).
    + +Now, tell me where you want me to create the webconfig file:
    +
    + + + + +
    + + + \ No newline at end of file diff --git a/www/.htaccess b/www/.htaccess new file mode 100644 index 0000000..ba70480 --- /dev/null +++ b/www/.htaccess @@ -0,0 +1,8 @@ +RewriteEngine on +RewriteBase /src/eclipse-workspace/CBFWR/www/ +RewriteRule ^index\.php.* - [L,B] +RewriteRule ^soap\.php.* - [L,B] +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,B] + diff --git a/www/css/normal.css b/www/css/normal.css new file mode 100644 index 0000000..bf63908 --- /dev/null +++ b/www/css/normal.css @@ -0,0 +1,138 @@ +head { + color: #333333; +} +body { + color: #333333; +} +table { border-width: 0px; + empty-cells: hide; +} +table.formsection, table.sortable, table.ui_table, table.loginform { + border-collapse: collapse; + border: 1px solid #FFFFFF; + width: 100%; +} +img, a img { border:0; } +tr.row0 {background-color:#e8e8ea;} +tr.row1 {background-color:#f8f8fa;} +table.formsection thead, table.sortable thead, table.ui_table thead, table.loginform thead { +background-color:#427ad1; +border:0px; +color:#ffffff; +border: 2px solid #b3b6b0; +} +table.formsection tbody, table.sortable tbody, table.ui_table tbody, table.loginform tbody { +background-color:#EFEFEF; +} +tr.maintitle { + color: #ffffff; + background-color: #427ad1; +} +td.maintitle { + color: #ffffff; + background-color: #427ad1; +} +tr.maintitle a, tr.maintitle a:visited { + color: #ffffff; +} +td.maintitle a, td.maintitle a:visited { + color: #ffffff; +} +tr.maintitle a:hover { + color: #EFEFEF; +} +td.maintitle a:hover { + color: #EFEFEF; +} +a:link { color: #333399; + text-decoration: none; +} +a:hover, a:visited:hover { color: #6666EE; + text-decoration: none; +} +a:visited { color: #333399; + text-decoration: none; +} +body, p, td, br, center { font-size: 10pt; + font-family: sans-serif; +} +title { color: #333333; + font-family: sans-serif; +} +h1 { color: #333333; + font-size: 150%; + font-family: sans-serif; +} +h2 { color: #333333; + font-size: 130%; + font-family: sans-serif; +} +h3 { color: #333333; + font-size: 125%; + font-family: sans-serif; +} +h4 { color: #333333; + font-size: 120%; + font-family: sans-serif; +} +th { font-size: small; } +pre { font-size: 8pt; } +#main { border-style: solid; + border:1px solid #FFFFFF; + margin:0; + padding:0; +} +tr.mainsel { background-color: #ddffbb; } +tr.mainhigh { background-color: #ffffbb; } +tr.mainhighsel { background-color: #bbffcc; } +.itemhidden { display: none; } +.itemshown { display:block; } +.barchart { padding: 1px; + border: 1px solid #b3b6b0; + position:relative; +} +.ui_post_header{ font-size: 120%; + text-align: center; + padding: 4px; +} +hr { border: 0; + width: 90%; + height: 1px; + color: #D9D9D9; + background-color: #D9D9D9; +} +table.wrapper { + background-color:#D9D9D9; + border:0; + padding:0; + margin:0; + border-collapse:collapse; +} +div.wrapper { + border:1px solid #D9D9D9; + background-color:#F5F5F5; + padding:0; + margin:0; +} +.shrinkwrapper { + background-color:#D9D9D9; + border:0; + padding:0; + margin:0; + border-collapse:collapse; +} +.tabSelected { + background-color:#D9D9D9; +} +.tabUnselected { + background-color:#dadaf8; +} + +input[type=text] { + width: 200px; + +} + +input.storage { + width: 400px; +} \ No newline at end of file diff --git a/www/index.php b/www/index.php index 33f5ab2..f933c82 100644 --- a/www/index.php +++ b/www/index.php @@ -15,4 +15,9 @@ if(file_exists("../libcbfwr")) { // include the based library require_once("libcbfwr/lib.php"); +error_log("create cbfwweb"); +$webResponder = new CBFWWeb(); +error_log("go"); +$webResponder->go(); + ?> \ No newline at end of file diff --git a/www/js/base.js b/www/js/base.js new file mode 100644 index 0000000..58fd4b1 --- /dev/null +++ b/www/js/base.js @@ -0,0 +1 @@ +// none \ No newline at end of file -- 1.7.0.4