Example #1
0
 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);
 }
Example #2
0
 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';
             }
         }
     }
 }
Example #3
0
 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');
     }
 }