ILIAS  release_4-4 Revision
All Data Structures Namespaces Files Functions Variables Modules Pages
IPv4.php
Go to the documentation of this file.
1 <?php
2 
8 {
9 
13  protected $ip4;
14 
15  public function validate($aIP, $config, $context) {
16 
17  if (!$this->ip4) $this->_loadRegex();
18 
19  if (preg_match('#^' . $this->ip4 . '$#s', $aIP))
20  {
21  return $aIP;
22  }
23 
24  return false;
25 
26  }
27 
32  protected function _loadRegex() {
33  $oct = '(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])'; // 0-255
34  $this->ip4 = "(?:{$oct}\\.{$oct}\\.{$oct}\\.{$oct})";
35  }
36 
37 }
38 
39 // vim: et sw=4 sts=4
Base class for all validating attribute definitions.
Definition: AttrDef.php:13
_loadRegex()
Lazy load function to prevent regex from being stuffed in cache.
Definition: IPv4.php:32
validate($aIP, $config, $context)
Definition: IPv4.php:15
$ip4
IPv4 regex, protected so that IPv6 can reuse it.
Definition: IPv4.php:13
Validates an IPv4 address.
Definition: IPv4.php:7