PrimitiveInet.class.php

Go to the documentation of this file.
00001 <?php
00002 /****************************************************************************
00003  *   Copyright (C) 2007 by Konstantin V. Arkhipov                           *
00004  *                                                                          *
00005  *   This program is free software; you can redistribute it and/or modify   *
00006  *   it under the terms of the GNU Lesser General Public License as         *
00007  *   published by the Free Software Foundation; either version 3 of the     *
00008  *   License, or (at your option) any later version.                        *
00009  *                                                                          *
00010  ****************************************************************************/
00011 /* $Id: PrimitiveInet.class.php 4687 2007-12-09 18:57:18Z voxus $ */
00012 
00016     final class PrimitiveInet extends BasePrimitive
00017     {
00018         public function import($scope)
00019         {
00020             if (!BasePrimitive::import($scope))
00021                 return null;
00022             
00023             if (
00024                 is_string($scope[$this->name])
00025                 && (($length = strlen($scope[$this->name])) < 16)
00026                 && (substr_count($scope[$this->name], '.', null, $length) == 3)
00027                 && long2ip(ip2long($scope[$this->name]))
00028             ) {
00029                 $this->value = $scope[$this->name];
00030                 
00031                 return true;
00032             }
00033             
00034             return false;
00035         }
00036     }
00037 ?>

Generated on Sun Dec 9 21:56:23 2007 for onPHP by  doxygen 1.5.4