OSDN Git Service

git-svn-id: https://svn.sourceforge.jp/svnroot/nucleus-jp/plugin@807 1ca29b6e-896d...
[nucleus-jp/nucleus-plugins.git] / trunk / NP_UpdatePingServer / updatepingserver / compat / version_compare.php
diff --git a/trunk/NP_UpdatePingServer/updatepingserver/compat/version_compare.php b/trunk/NP_UpdatePingServer/updatepingserver/compat/version_compare.php
deleted file mode 100644 (file)
index bf7d619..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-<?php
-// +----------------------------------------------------------------------+
-// | PHP Version 4                                                        |
-// +----------------------------------------------------------------------+
-// | Copyright (c) 1997-2004 The PHP Group                                |
-// +----------------------------------------------------------------------+
-// | This source file is subject to version 3.0 of the PHP license,       |
-// | that is bundled with this package in the file LICENSE, and is        |
-// | available at through the world-wide-web at                           |
-// | http://www.php.net/license/3_0.txt.                                  |
-// | If you did not receive a copy of the PHP license and are unable to   |
-// | obtain it through the world-wide-web, please send a note to          |
-// | license@php.net so we can mail you a copy immediately.               |
-// +----------------------------------------------------------------------+
-// | Authors: Philippe Jausions <Philippe.Jausions@11abacus.com>          |
-// |          Aidan Lister <aidan@php.net>                                |
-// +----------------------------------------------------------------------+
-//
-// $Id: version_compare.php,v 1.1 2007-03-31 03:40:36 shizuki Exp $
-
-
-/**
- * Replace version_compare()
- *
- * @category    PHP
- * @package     PHP_Compat
- * @link        http://php.net/function.version_compare
- * @author      Philippe Jausions <Philippe.Jausions@11abacus.com>
- * @author      Aidan Lister <aidan@php.net>
- * @version     $Revision: 1.1 $
- * @since       PHP 4.1.0
- * @require     PHP 4.0.0 (user_error)
- */
-if (!function_exists('version_compare')) {
-    function version_compare($version1, $version2, $operator = '<')
-    {
-        // Check input
-        if (!is_scalar($version1)) {
-            user_error('version_compare() expects parameter 1 to be string, ' .
-                gettype($version1) . ' given', E_USER_WARNING);
-            return;
-        }
-
-        if (!is_scalar($version2)) {
-            user_error('version_compare() expects parameter 2 to be string, ' .
-                gettype($version2) . ' given', E_USER_WARNING);
-            return;
-        }
-
-        if (!is_scalar($operator)) {
-            user_error('version_compare() expects parameter 3 to be string, ' .
-                gettype($operator) . ' given', E_USER_WARNING);
-            return;
-        }
-
-        // Standardise versions
-        $v1 = explode('.',
-            str_replace('..', '.',
-                preg_replace('/([^0-9\.]+)/', '.$1.',
-                    str_replace(array('-', '_', '+'), '.',
-                        trim($version1)))));
-
-        $v2 = explode('.',
-            str_replace('..', '.',
-                preg_replace('/([^0-9\.]+)/', '.$1.',
-                    str_replace(array('-', '_', '+'), '.',
-                        trim($version2)))));
-
-        // Replace empty entries at the start of the array
-        while (empty($v1[0]) && array_shift($v1)) {}
-        while (empty($v2[0]) && array_shift($v2)) {}
-
-        // Release state order
-        // '#' stands for any number
-        $versions = array(
-            'dev'   => 0,
-            'alpha' => 1,
-            'a'     => 1,
-            'beta'  => 2,
-            'b'     => 2,
-            'RC'    => 3,
-            '#'     => 4,
-            'p'     => 5,
-            'pl'    => 5);
-
-        // Loop through each segment in the version string
-        $compare = 0;
-        for ($i = 0, $x = min(count($v1), count($v2)); $i < $x; $i++) {
-            if ($v1[$i] == $v2[$i]) {
-                continue;
-            }
-            $i1 = $v1[$i];
-            $i2 = $v2[$i];
-            if (is_numeric($i1) && is_numeric($i2)) {
-                $compare = ($i1 < $i2) ? -1 : 1;
-                break;
-            }
-            // We use the position of '#' in the versions list
-            // for numbers... (so take care of # in original string)
-            if ($i1 == '#') {
-                $i1 = '';
-            } elseif (is_numeric($i1)) {
-                $i1 = '#';
-            }
-            if ($i2 == '#') {
-                $i2 = '';
-            } elseif (is_numeric($i2)) {
-                $i2 = '#';
-            }
-            if (isset($versions[$i1]) && isset($versions[$i2])) {
-                $compare = ($versions[$i1] < $versions[$i2]) ? -1 : 1;
-            } elseif (isset($versions[$i1])) {
-                $compare = 1;
-            } elseif (isset($versions[$i2])) {
-                $compare = -1;
-            } else {
-                $compare = 0;
-            }
-
-            break;
-        }
-
-        // If previous loop didn't find anything, compare the "extra" segments
-        if ($compare == 0) {
-            if (count($v2) > count($v1)) {
-                if (isset($versions[$v2[$i]])) {
-                    $compare = ($versions[$v2[$i]] < 4) ? 1 : -1;
-                } else {
-                    $compare = -1;
-                }
-            } elseif (count($v2) < count($v1)) {
-                if (isset($versions[$v1[$i]])) {
-                    $compare = ($versions[$v1[$i]] < 4) ? -1 : 1;
-                } else {
-                    $compare = 1;
-                }
-            }
-        }
-
-        // Compare the versions
-        if (func_num_args() > 2) {
-            switch ($operator) {
-                case '>':
-                case 'gt':
-                    return (bool) ($compare > 0);
-                    break;
-                case '>=':
-                case 'ge':
-                    return (bool) ($compare >= 0);
-                    break;
-                case '<=':
-                case 'le':
-                    return (bool) ($compare <= 0);
-                    break;
-                case '==':
-                case '=':
-                case 'eq':
-                    return (bool) ($compare == 0);
-                    break;
-                case '<>':
-                case '!=':
-                case 'ne':
-                    return (bool) ($compare != 0);
-                    break;
-                case '':
-                case '<':
-                case 'lt':
-                    return (bool) ($compare < 0);
-                    break;
-                default:
-                    return;
-            }
-        }
-
-        return $compare;
-    }
-}
-
-?>
\ No newline at end of file