. */ header("Content-type: text/plain"); require_once("../config.php"); require_once("util.php"); function echoln($str) { echo("$str\n"); } class Upload { private $subnet; private $macs; function __construct() { $this->subnet = intvaldef(getQuery("sn"), NULL); $this->macs = getQuery("macs"); } private function parseAndValidate() { if ($this->subnet == NULL) { echoln("Missing or bad sn param"); return false; } if ($this->macs == NULL) { echoln("Missing macs param"); return false; } if (($this->subnet < 0) || ($this->subnet > 4294967295)) { echoln("subnet ($this->subnet) is not valid"); return false; } $mcs = explode('|', $this->macs); foreach($mcs as $mac) { if (preg_match("/^(([\dABCDEF]){2}:){5}([\dABCDEF]){2}$/i", $mac) == 1) continue; echoln("mac $mac is not in the right format"); return false; } return true; } private function writeMacs() { file_put_contents(OUTPUT_SERVER_DIRECTORY."/$this->subnet.macs", $this->macs); } public function run() { $this->parseAndValidate(); $this->writeMacs(); } } $upload = new Upload(); $upload->run();