X-Git-Url: http://git.pjr.cc/?p=CBFWR.git;a=blobdiff_plain;f=libcbfwr%2Fconfig.php;h=7bffc1d886e00aa1647397e9269ca2e46d7c2c68;hp=94cf1b31322af10fc4e25a28e5d02ab8202cf233;hb=9a9f233c40bf09834402491bf657fffa446eeada;hpb=a52a53bbe7ad884562d7fb39c87442a38e331dd2 diff --git a/libcbfwr/config.php b/libcbfwr/config.php index 94cf1b3..7bffc1d 100644 --- a/libcbfwr/config.php +++ b/libcbfwr/config.php @@ -31,29 +31,50 @@ class Config { $this->config_file = "../var/"; } else { echo "No directory where i can create a config, bailing\n"; - exit(0); + $this->config["status"] = "nodir"; } } - if($this->config["status"] == "conf") { - - $this->loadConfig($this->config_file); + + + } + } + + function bootHardware() + { + $this->findHardware(); + + $mycomm = new Comms(); + $mycomm->putConfig($this->config, 1); + + } + + function loadConfig() + { + global $AM_DAEMON; + + if($AM_DAEMON) { + if($this->config["status"] == "conf") { + $this->loadConfigFile($this->config_file); + $this->applyConfig(); $this->findHardware(); - print_r($this->config); - $this->applyConfig(); - } else { - // we go into firstrun mode + $mycomm = new Comms(); + $mycomm->putConfig($this->config); + $this->boot_config = $mycomm->getConfig(1); } - - } else { - // config comes from shm... we'll get there - } + $mycomm = new Comms(); + $this->config = $mycomm->getConfig(0); + $this->boot_config = $mycomm->getConfig(1); + + } } function findHardware() { + + // first, network interfaces $dh = opendir("/sys/class/net/"); while(($fname = readdir($dh)) !== false) { @@ -72,6 +93,7 @@ class Config { } fclose($fp); } + if(file_exists("/sys/class/net/$fname/address")) $this->config["hardware"]["netdev"][$fname]["hwaddress"] = file_get_contents("/sys/class/net/$fname/address"); if(file_exists("/sys/class/net/$fname/bonding")) $this->config["hardware"]["netdev"][$fname]["bonding"] = true; if(file_exists("/sys/class/net/$fname/bridge")) $this->config["hardware"]["netdev"][$fname]["bridge"] = true; } @@ -83,6 +105,11 @@ class Config { return $this->config; } + function getBootConfig() + { + return $this->boot_config; + } + function applyConfig() { global $AM_DAEMON; @@ -92,7 +119,7 @@ class Config { return true; } - function loadConfig($file) + function loadConfigFile($file) { global $AM_DAEMON; if(!$AM_DAEMON) return true; @@ -315,7 +342,7 @@ class Config { } - function saveConfig() + function saveConfigFile($file) { global $AM_DAEMON; if(!$AM_DAEMON) return true; @@ -324,6 +351,7 @@ class Config { private $config_file; private $config; + private $boot_config; }; ?> \ No newline at end of file