# 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
    00015     final class PrimitiveInet extends BasePrimitive
    00016     {
    00017         public function import($scope)
    00018         {
    00019             if (!BasePrimitive::import($scope))
    00020                 return null;
    00021
    00022             if (
    00023                 is_string($scope[$this->name])
    00024                 && (($length = strlen($scope[$this->name])) < 16)
    00025                 && (substr_count($scope[$this->name], '.', null, $length) == 3)
    00026                 && (ip2long($scope[$this->name]) !== false)
    00027             ) {
    00028                 $this->value = $scope[$this->name];
    00029
    00030                 return true;
    00031             }
    00032
    00033             return false;
    00034         }
    00035     }
    00036 ?>