protected function parse() { /* $exp_ip = "(%1\$s)\\.(%1\$s)\\.(%1\$s)\\.(%1\$s)"; $exp_0_199 = "(?:1?\d?\d)"; $exp_200_255 = "(?:2(?:5[0-5]|[0-4]\d))"; $exp_0_255 = sprintf("(?:%s|%s)", $exp_0_199, $exp_200_255); $re = new regex(h\string::format($exp_ip, $exp_0_255)); */ $re = new regex(RE_INET4); if (!$re->match($this->literal)) { throw new exception(sprintf(self::ERR_BAD_IP, $this->literal)); } $refs = $re->get_pieces_by_match(0); $this->words[0] = $this->literal->slice($refs[4][0], $refs[4][1])->as_integer(); $this->words[1] = $this->literal->slice($refs[3][0], $refs[3][1])->as_integer(); $this->words[2] = $this->literal->slice($refs[2][0], $refs[2][1])->as_integer(); $this->words[3] = $this->literal->slice($refs[1][0], $refs[1][1])->as_integer(); $this->raw = $this->words[0] + ($this->words[1] << 8) + ($this->words[2] << 16) + ($this->words[3] << 24); }
function set_check_request() { $arReturn = array(); foreach ($this->data as $data) { if (isset($data['validate']) && isset($data['validate']['regex']) && isset($data['validate']['errormsg']) && isset($data['object']['attrib']['name']) && count($this->request) > 0) { // set vars $regex = $data['validate']['regex']; $name = $data['object']['attrib']['name']; $request = '$this->request' . $this->string_to_index($name); if (eval("return isset({$request});") && isset($regex) && $regex != '') { $matches = regex::match($regex, eval("return {$request};")); if (!$matches) { $this->check_request[$name] = $data['validate']['errormsg']; } } elseif (eval("return !isset({$request});") && isset($data['required']) && $data['required'] == true) { $this->check_request[$name] = 'null'; } } } }
function filter_request($arg) { if (is_string($arg)) { $str = ''; $arg = stripslashes($arg); if (is_array($this->request_filter)) { foreach ($this->request_filter as $reg) { $arg = regex::replace($reg['pattern'], $reg['replace'], $arg); } $str = $arg; } else { debug::add('no filter set - use set_request_filter()', 'NOTICE'); $str = $arg; } debug::add($arg . ' return ' . $str); return $str; } else { debug::add($arg . ' is not type string', 'ERROR'); } }