• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • Examples
  • File List

E:/E/GEAMP/www/openbiz/openbiz/others/Zend/Validate/Ip.php

00001 <?php
00025 require_once 'Zend/Validate/Abstract.php';
00026 
00033 class Zend_Validate_Ip extends Zend_Validate_Abstract
00034 {
00035     const INVALID        = 'ipInvalid';
00036     const NOT_IP_ADDRESS = 'notIpAddress';
00037 
00041     protected $_messageTemplates = array(
00042         self::INVALID        => "Invalid type given, value should be a string",
00043         self::NOT_IP_ADDRESS => "'%value%' does not appear to be a valid IP address"
00044     );
00045 
00054     public function isValid($value)
00055     {
00056         if (!is_string($value)) {
00057             $this->_error(self::INVALID);
00058             return false;
00059         }
00060 
00061         $this->_setValue($value);
00062 
00063         if ((ip2long($value) === false) || (long2ip(ip2long($value)) !== $value)) {
00064             if (!function_exists('inet_pton')) {
00065                 $this->_error(self::NOT_IP_ADDRESS);
00066                 return false;
00067             } else if ((@inet_pton($value) === false) ||(inet_ntop(@inet_pton($value)) !== $value)) {
00068                 $this->_error(self::NOT_IP_ADDRESS);
00069                 return false;
00070             }
00071         }
00072 
00073         return true;
00074     }
00075 
00076 }

Generated on Thu Apr 19 2012 17:01:18 for openbiz by  doxygen 1.7.2