Commit 9746f3966abf84259f94bcbe3a6f97f99209f9c0

Authored by Neil Blakey-Milner
1 parent e7ac3939

Import PHP_Compat 1.4.1 from PEAR.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3486 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 76 changed files with 5253 additions and 0 deletions
thirdparty/pear/PHP/Compat.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Provides missing functionality in the form of constants and functions
  23 + * for older versions of PHP
  24 + *
  25 + * Optionally, you may simply include the file.
  26 + * e.g. require_once 'PHP/Compat/Function/scandir.php';
  27 + *
  28 + * @category PHP
  29 + * @package PHP_Compat
  30 + * @version $Revision$
  31 + * @author Aidan Lister <aidan@php.net>
  32 + * @static
  33 + */
  34 +class PHP_Compat
  35 +{
  36 + /**
  37 + * Load a function, or array of functions
  38 + *
  39 + * @param string|array $function The function or functions to load
  40 + * @return bool|array TRUE if loaded, FALSE if not
  41 + */
  42 + function loadFunction($function)
  43 + {
  44 + // Recursiveness
  45 + if (is_array($function)) {
  46 + $res = array();
  47 + foreach ($function as $singlefunc) {
  48 + $res[$singlefunc] = PHP_Compat::loadFunction($singlefunc);
  49 + }
  50 +
  51 + return $res;
  52 + }
  53 +
  54 + // Load function
  55 + if (!function_exists($function)) {
  56 + $file = sprintf('PHP/Compat/Function/%s.php', $function);
  57 + if ((@include_once $file) !== false) {
  58 + return true;
  59 + }
  60 + }
  61 +
  62 + return false;
  63 + }
  64 +
  65 +
  66 + /**
  67 + * Load a constant, or array of constants
  68 + *
  69 + * @param string|array $constant The constant or constants to load
  70 + * @return bool|array TRUE if loaded, FALSE if not
  71 + */
  72 + function loadConstant($constant)
  73 + {
  74 + // Recursiveness
  75 + if (is_array($constant)) {
  76 + $res = array();
  77 + foreach ($constant as $singleconst) {
  78 + $res[$singleconst] = PHP_Compat::loadConstant($singleconst);
  79 + }
  80 +
  81 + return $res;
  82 + }
  83 +
  84 + // Load constant
  85 + $file = sprintf('PHP/Compat/Constant/%s.php', $constant);
  86 + if ((@include_once $file) !== false) {
  87 + return true;
  88 + }
  89 +
  90 + return false;
  91 + }
  92 +
  93 +
  94 + /**
  95 + * Load components for a PHP version
  96 + *
  97 + * @param string $version PHP Version to load
  98 + * @return array An associative array of component names loaded
  99 + */
  100 + function loadVersion($version = null)
  101 + {
  102 + // Include list of components
  103 + require 'PHP/Compat/Components.php';
  104 +
  105 + // Include version_compare to work with older versions
  106 + PHP_Compat::loadFunction('version_compare');
  107 +
  108 + // Init
  109 + $phpversion = phpversion();
  110 + $methods = array(
  111 + 'function' => 'loadFunction',
  112 + 'constant' => 'loadConstant');
  113 + $res = array();
  114 +
  115 + // Iterate each component
  116 + foreach ($components as $type => $slice) {
  117 + foreach ($slice as $component => $compversion) {
  118 + if (($version === null &&
  119 + 1 === version_compare($compversion, $phpversion)) || // C > PHP
  120 + (0 === version_compare($compversion, $version) || // C = S
  121 + 1 === version_compare($compversion, $phpversion))) { // C > PHP
  122 +
  123 + $res[$type][$component] =
  124 + call_user_func(array('PHP_Compat', $methods[$type]), $component);
  125 + }
  126 + }
  127 + }
  128 +
  129 + return $res;
  130 + }
  131 +}
  132 +
  133 +?>
0 \ No newline at end of file 134 \ No newline at end of file
thirdparty/pear/PHP/Compat/Components.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +// Functions
  22 +$components['function']['array_change_key_case'] = '4.2.0';
  23 +$components['function']['array_chunk'] = '4.2.0';
  24 +$components['function']['array_combine'] = '5.0.0';
  25 +$components['function']['array_diff_assoc'] = '4.3.0';
  26 +$components['function']['array_diff_key'] = '5.0.2';
  27 +$components['function']['array_diff_ukey'] = '5.0.2';
  28 +$components['function']['array_intersect_assoc'] = '5.0.0';
  29 +$components['function']['array_intersect_key'] = '5.0.2';
  30 +$components['function']['array_intersect_uassoc'] = '5.0.0';
  31 +$components['function']['array_intersect_ukey'] = '5.0.2';
  32 +$components['function']['array_key_exists'] = '4.1.0';
  33 +$components['function']['array_search'] = '4.0.5';
  34 +$components['function']['array_udiff'] = '5.0.0';
  35 +$components['function']['array_udiff_assoc'] = '5.0.0';
  36 +$components['function']['array_udiff_uassoc'] = '5.0.0';
  37 +$components['function']['array_uintersect'] = '5.0.0';
  38 +$components['function']['array_uintersect_assoc'] = '5.0.0';
  39 +$components['function']['array_uintersect_uassoc'] = '5.0.0';
  40 +$components['function']['array_walk_recursive'] = '5.0.0';
  41 +$components['function']['call_user_func_array'] = '4.0.4';
  42 +$components['function']['clone'] = '5.0.0';
  43 +$components['function']['constant'] = '4.0.4';
  44 +$components['function']['convert_uudecode'] = '5.0.0';
  45 +$components['function']['convert_uuencode'] = '5.0.0';
  46 +$components['function']['debug_print_backtrace'] = '5.0.0';
  47 +$components['function']['file_get_contents'] = '4.3.0';
  48 +$components['function']['file_put_contents'] = '5.0.0';
  49 +$components['function']['floatval'] = '4.2.0';
  50 +$components['function']['fprintf'] = '5.0.0';
  51 +$components['function']['fputcsv'] = '5.0.0';
  52 +$components['function']['get_headers'] = '5.0.0';
  53 +$components['function']['get_include_path'] = '4.3.0';
  54 +$components['function']['html_entity_decode'] = '4.3.0';
  55 +$components['function']['htmlspecialchars_decode'] = '5.1.0';
  56 +$components['function']['http_build_query'] = '5.0.0';
  57 +$components['function']['ibase_timefmt'] = '5.0.0';
  58 +$components['function']['image_type_to_mime_type'] = '4.3.0';
  59 +$components['function']['ini_get_all'] = '4.2.0';
  60 +$components['function']['is_a'] = '4.2.0';
  61 +$components['function']['md5_file'] = '4.2.0';
  62 +$components['function']['mhash'] = '4.0.0';
  63 +$components['function']['ob_clean'] = '4.2.0';
  64 +$components['function']['ob_flush'] = '4.2.0';
  65 +$components['function']['ob_get_clean'] = '4.3.0';
  66 +$components['function']['ob_get_flush'] = '4.3.0';
  67 +$components['function']['php_strip_whitespace'] = '5.0.0';
  68 +$components['function']['pg_affected_rows'] = '4.2.0';
  69 +$components['function']['pg_escape_bytea'] = '4.2.0';
  70 +$components['function']['pg_unescape_bytea'] = '4.2.0';
  71 +$components['function']['restore_include_path'] = '4.3.0';
  72 +$components['function']['scandir'] = '5.0.0';
  73 +$components['function']['set_include_path'] = '4.3.0';
  74 +$components['function']['str_ireplace'] = '5.0.0';
  75 +$components['function']['str_rot13'] = '4.2.0';
  76 +$components['function']['str_shuffle'] = '4.3.0';
  77 +$components['function']['str_split'] = '5.0.0';
  78 +$components['function']['str_word_count'] = '4.3.0';
  79 +$components['function']['stripos'] = '5.0.0';
  80 +$components['function']['strpbrk'] = '5.0.0';
  81 +$components['function']['strripos'] = '5.0.0';
  82 +$components['function']['substr_compare'] = '5.0.0';
  83 +$components['function']['var_export'] = '4.2.0';
  84 +$components['function']['version_compare'] = '4.1.0';
  85 +$components['function']['vprintf'] = '4.1.0';
  86 +$components['function']['vsprintf'] = '4.1.0';
  87 +
  88 +// Constants
  89 +$components['constant']['DIRECTORY_SEPARATOR'] = '4.0.6';
  90 +$components['constant']['E_STRICT'] = '5.0.0';
  91 +$components['constant']['FILE'] = '4.3.0';
  92 +$components['constant']['PATH_SEPARATOR'] = '4.2.0';
  93 +$components['constant']['PHP_EOL'] = '5.0.1';
  94 +$components['constant']['STD'] = '4.3.0';
  95 +$components['constant']['T'] = '5.0.0';
  96 +$components['constant']['UPLOAD_ERR'] = '4.3.0';
  97 +?>
0 \ No newline at end of file 98 \ No newline at end of file
thirdparty/pear/PHP/Compat/Constant/DIRECTORY_SEPARATOR.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace constant DIRECTORY_SEPARATOR
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/reserved.constants.standard
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.0.6
  30 + */
  31 +if (!defined('DIRECTORY_SEPARATOR')) {
  32 + define('DIRECTORY_SEPARATOR',
  33 + strtoupper(substr(PHP_OS, 0, 3) == 'WIN') ? '\\' : '/'
  34 + );
  35 +}
  36 +
  37 +?>
0 \ No newline at end of file 38 \ No newline at end of file
thirdparty/pear/PHP/Compat/Constant/E_STRICT.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace constant E_STRICT
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/ref.errorfunc
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + */
  31 +if (!defined('E_STRICT')) {
  32 + define('E_STRICT', 2048);
  33 +}
  34 +
  35 +?>
0 \ No newline at end of file 36 \ No newline at end of file
thirdparty/pear/PHP/Compat/Constant/FILE.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace filesystem constants
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/ref.filesystem
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + */
  31 +if (!defined('FILE_USE_INCLUDE_PATH')) {
  32 + define('FILE_USE_INCLUDE_PATH', 1);
  33 +}
  34 +
  35 +if (!defined('FILE_IGNORE_NEW_LINES')) {
  36 + define('FILE_IGNORE_NEW_LINES', 2);
  37 +}
  38 +
  39 +if (!defined('FILE_SKIP_EMPTY_LINES')) {
  40 + define('FILE_SKIP_EMPTY_LINES', 4);
  41 +}
  42 +
  43 +if (!defined('FILE_APPEND')) {
  44 + define('FILE_APPEND', 8);
  45 +}
  46 +
  47 +if (!defined('FILE_NO_DEFAULT_CONTEXT')) {
  48 + define('FILE_NO_DEFAULT_CONTEXT', 16);
  49 +}
  50 +
  51 +?>
0 \ No newline at end of file 52 \ No newline at end of file
thirdparty/pear/PHP/Compat/Constant/PATH_SEPARATOR.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace constant PATH_SEPARATOR
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/ref.dir
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.3.0
  30 + */
  31 +if (!defined('PATH_SEPARATOR')) {
  32 + define('PATH_SEPARATOR',
  33 + strtoupper(substr(PHP_OS, 0, 3) == 'WIN') ? ';' : ':'
  34 + );
  35 +}
  36 +
  37 +?>
0 \ No newline at end of file 38 \ No newline at end of file
thirdparty/pear/PHP/Compat/Constant/PHP_EOL.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace PHP_EOL constant
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/reserved.constants.core
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5.0.2
  30 + */
  31 +if (!defined('PHP_EOL')) {
  32 + switch (strtoupper(substr(PHP_OS, 0, 3))) {
  33 + // Windows
  34 + case 'WIN':
  35 + define('PHP_EOL', "\r\n");
  36 + break;
  37 +
  38 + // Mac
  39 + case 'DAR':
  40 + define('PHP_EOL', "\r");
  41 + break;
  42 +
  43 + // Unix
  44 + default:
  45 + define('PHP_EOL', "\n");
  46 + }
  47 +}
  48 +
  49 +?>
0 \ No newline at end of file 50 \ No newline at end of file
thirdparty/pear/PHP/Compat/Constant/STD.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace commandline constants
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/features.commandline
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.3.0
  30 + */
  31 +if (!defined('STDIN')) {
  32 + define('STDIN', fopen('php://stdin', 'r'));
  33 +}
  34 +
  35 +if (!defined('STDOUT')) {
  36 + define('STDOUT', fopen('php://stdout', 'w'));
  37 +}
  38 +
  39 +if (!defined('STDERR')) {
  40 + define('STDERR', fopen('php://stderr', 'w'));
  41 +}
  42 +
  43 +?>
0 \ No newline at end of file 44 \ No newline at end of file
thirdparty/pear/PHP/Compat/Constant/T.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace tokenizer constants
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/ref.tokenizer
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + */
  31 +if (!defined('T_ML_COMMENT')) {
  32 + define('T_ML_COMMENT', T_COMMENT);
  33 +}
  34 +if (!defined('T_DOC_COMMENT')) {
  35 + define('T_DOC_COMMENT', T_ML_COMMENT);
  36 +}
  37 +
  38 +if (!defined('T_OLD_FUNCTION')) {
  39 + define('T_OLD_FUNCTION', -1);
  40 +}
  41 +if (!defined('T_ABSTRACT')) {
  42 + define('T_ABSTRACT', -1);
  43 +}
  44 +if (!defined('T_CATCH')) {
  45 + define('T_CATCH', -1);
  46 +}
  47 +if (!defined('T_FINAL')) {
  48 + define('T_FINAL', -1);
  49 +}
  50 +if (!defined('T_INSTANCEOF')) {
  51 + define('T_INSTANCEOF', -1);
  52 +}
  53 +if (!defined('T_PRIVATE')) {
  54 + define('T_PRIVATE', -1);
  55 +}
  56 +if (!defined('T_PROTECTED')) {
  57 + define('T_PROTECTED', -1);
  58 +}
  59 +if (!defined('T_PUBLIC')) {
  60 + define('T_PUBLIC', -1);
  61 +}
  62 +if (!defined('T_THROW')) {
  63 + define('T_THROW', -1);
  64 +}
  65 +if (!defined('T_TRY')) {
  66 + define('T_TRY', -1);
  67 +}
  68 +if (!defined('T_CLONE')) {
  69 + define('T_CLONE', -1);
  70 +}
  71 +
  72 +?>
0 \ No newline at end of file 73 \ No newline at end of file
thirdparty/pear/PHP/Compat/Constant/UPLOAD_ERR.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace upload error constants
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/features.file-upload.errors
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.3.0
  30 + */
  31 +if (!defined('UPLOAD_ERR_OK')) {
  32 + define('UPLOAD_ERR_OK', 0);
  33 +}
  34 +
  35 +if (!defined('UPLOAD_ERR_INI_SIZE')) {
  36 + define('UPLOAD_ERR_INI_SIZE', 1);
  37 +}
  38 +
  39 +if (!defined('UPLOAD_ERR_FORM_SIZE')) {
  40 + define('UPLOAD_ERR_FORM_SIZE', 2);
  41 +}
  42 +
  43 +if (!defined('UPLOAD_ERR_PARTIAL')) {
  44 + define('UPLOAD_ERR_PARTIAL', 3);
  45 +}
  46 +
  47 +if (!defined('UPLOAD_ERR_NO_FILE')) {
  48 + define('UPLOAD_ERR_NO_FILE', 4);
  49 +}
  50 +
  51 +?>
0 \ No newline at end of file 52 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_change_key_case.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Stephan Schmidt <schst@php.net> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +if (!defined('CASE_LOWER')) {
  23 + define('CASE_LOWER', 0);
  24 +}
  25 +
  26 +if (!defined('CASE_UPPER')) {
  27 + define('CASE_UPPER', 1);
  28 +}
  29 +
  30 +
  31 +/**
  32 + * Replace array_change_key_case()
  33 + *
  34 + * @category PHP
  35 + * @package PHP_Compat
  36 + * @link http://php.net/function.array_change_key_case
  37 + * @author Stephan Schmidt <schst@php.net>
  38 + * @author Aidan Lister <aidan@php.net>
  39 + * @version $Revision$
  40 + * @since PHP 4.2.0
  41 + * @require PHP 4.0.0 (user_error)
  42 + */
  43 +if (!function_exists('array_change_key_case')) {
  44 + function array_change_key_case($input, $case = CASE_LOWER)
  45 + {
  46 + if (!is_array($input)) {
  47 + user_error('array_change_key_case(): The argument should be an array',
  48 + E_USER_WARNING);
  49 + return false;
  50 + }
  51 +
  52 + $output = array ();
  53 + $keys = array_keys($input);
  54 + $casefunc = ($case == CASE_LOWER) ? 'strtolower' : 'strtoupper';
  55 +
  56 + foreach ($keys as $key) {
  57 + $output[$casefunc($key)] = $input[$key];
  58 + }
  59 +
  60 + return $output;
  61 + }
  62 +}
  63 +?>
0 \ No newline at end of file 64 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_chunk.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_combine()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_chunk
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @author Thiemo Mättig (http://maettig.com)
  29 + * @version $Revision$
  30 + * @since PHP 4.2.0
  31 + * @require PHP 4.0.0 (user_error)
  32 + */
  33 +if (!function_exists('array_chunk')) {
  34 + function array_chunk($input, $size, $preserve_keys = false)
  35 + {
  36 + if (!is_array($input)) {
  37 + user_error('array_chunk() expects parameter 1 to be array, ' .
  38 + gettype($input) . ' given', E_USER_WARNING);
  39 + return;
  40 + }
  41 +
  42 + if (!is_numeric($size)) {
  43 + user_error('array_chunk() expects parameter 2 to be long, ' .
  44 + gettype($size) . ' given', E_USER_WARNING);
  45 + return;
  46 + }
  47 +
  48 + $size = (int)$size;
  49 + if ($size <= 0) {
  50 + user_error('array_chunk() Size parameter expected to be greater than 0',
  51 + E_USER_WARNING);
  52 + return;
  53 + }
  54 +
  55 + $chunks = array();
  56 + $i = 0;
  57 +
  58 + if ($preserve_keys !== false) {
  59 + foreach ($input as $key => $value) {
  60 + $chunks[(int)($i++ / $size)][$key] = $value;
  61 + }
  62 + } else {
  63 + foreach ($input as $value) {
  64 + $chunks[(int)($i++ / $size)][] = $value;
  65 + }
  66 + }
  67 +
  68 + return $chunks;
  69 + }
  70 +}
  71 +
  72 +?>
0 \ No newline at end of file 73 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_combine.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_combine()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_combine
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('array_combine')) {
  33 + function array_combine($keys, $values)
  34 + {
  35 + if (!is_array($keys)) {
  36 + user_error('array_combine() expects parameter 1 to be array, ' .
  37 + gettype($keys) . ' given', E_USER_WARNING);
  38 + return;
  39 + }
  40 +
  41 + if (!is_array($values)) {
  42 + user_error('array_combine() expects parameter 2 to be array, ' .
  43 + gettype($values) . ' given', E_USER_WARNING);
  44 + return;
  45 + }
  46 +
  47 + $key_count = count($keys);
  48 + $value_count = count($values);
  49 + if ($key_count !== $value_count) {
  50 + user_error('array_combine() Both parameters should have equal number of elements', E_USER_WARNING);
  51 + return false;
  52 + }
  53 +
  54 + if ($key_count === 0 || $value_count === 0) {
  55 + user_error('array_combine() Both parameters should have number of elements at least 0', E_USER_WARNING);
  56 + return false;
  57 + }
  58 +
  59 + $keys = array_values($keys);
  60 + $values = array_values($values);
  61 +
  62 + $combined = array();
  63 + for ($i = 0; $i < $key_count; $i++) {
  64 + $combined[$keys[$i]] = $values[$i];
  65 + }
  66 +
  67 + return $combined;
  68 + }
  69 +}
  70 +
  71 +?>
0 \ No newline at end of file 72 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_diff_assoc.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_diff_assoc()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_diff_assoc
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.3.0
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('array_diff_assoc')) {
  33 + function array_diff_assoc()
  34 + {
  35 + // Check we have enough arguments
  36 + $args = func_get_args();
  37 + $count = count($args);
  38 + if (count($args) < 2) {
  39 + user_error('Wrong parameter count for array_diff_assoc()', E_USER_WARNING);
  40 + return;
  41 + }
  42 +
  43 + // Check arrays
  44 + for ($i = 0; $i < $count; $i++) {
  45 + if (!is_array($args[$i])) {
  46 + user_error('array_diff_assoc() Argument #' .
  47 + ($i + 1) . ' is not an array', E_USER_WARNING);
  48 + return;
  49 + }
  50 + }
  51 +
  52 + // Get the comparison array
  53 + $array_comp = array_shift($args);
  54 + --$count;
  55 +
  56 + // Traverse values of the first array
  57 + foreach ($array_comp as $key => $value) {
  58 + // Loop through the other arrays
  59 + for ($i = 0; $i < $count; $i++) {
  60 + // Loop through this arrays key/value pairs and compare
  61 + foreach ($args[$i] as $comp_key => $comp_value) {
  62 + if ((string)$key === (string)$comp_key &&
  63 + (string)$value === (string)$comp_value)
  64 + {
  65 +
  66 + unset($array_comp[$key]);
  67 + }
  68 + }
  69 + }
  70 + }
  71 +
  72 + return $array_comp;
  73 + }
  74 +}
  75 +?>
0 \ No newline at end of file 76 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_diff_key.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_diff_key()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_diff_key
  27 + * @author Tom Buskens <ortega@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5.0.2
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('array_diff_key')) {
  33 + function array_diff_key()
  34 + {
  35 + $args = func_get_args();
  36 + if (count($args) < 2) {
  37 + user_error('Wrong parameter count for array_diff_key()', E_USER_WARNING);
  38 + return;
  39 + }
  40 +
  41 + // Check arrays
  42 + $array_count = count($args);
  43 + for ($i = 0; $i !== $array_count; $i++) {
  44 + if (!is_array($args[$i])) {
  45 + user_error('array_diff_key() Argument #' .
  46 + ($i + 1) . ' is not an array', E_USER_WARNING);
  47 + return;
  48 + }
  49 + }
  50 +
  51 + $result = $args[0];
  52 + foreach ($args[0] as $key1 => $value1) {
  53 + for ($i = 1; $i !== $array_count; $i++) {
  54 + foreach ($args[$i] as $key2 => $value2) {
  55 + if ((string) $key1 === (string) $key2) {
  56 + unset($result[$key2]);
  57 + break 2;
  58 + }
  59 + }
  60 + }
  61 + }
  62 + return $result;
  63 + }
  64 +}
  65 +
  66 +?>
0 \ No newline at end of file 67 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_diff_uassoc.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_diff_uassoc()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_diff_uassoc
  27 + * @version $Revision$
  28 + * @since PHP 5.0.0
  29 + * @require PHP 4.0.6 (is_callable)
  30 + */
  31 +if (!function_exists('array_diff_uassoc')) {
  32 + function array_diff_uassoc()
  33 + {
  34 + // Sanity check
  35 + $args = func_get_args();
  36 + if (count($args) < 3) {
  37 + user_error('Wrong parameter count for array_diff_uassoc()', E_USER_WARNING);
  38 + return;
  39 + }
  40 +
  41 + // Get compare function
  42 + $compare_func = array_pop($args);
  43 + if (!is_callable($compare_func)) {
  44 + if (is_array($compare_func)) {
  45 + $compare_func = $compare_func[0] . '::' . $compare_func[1];
  46 + }
  47 + user_error('array_diff_uassoc() Not a valid callback ' .
  48 + $compare_func, E_USER_WARNING);
  49 + return;
  50 + }
  51 +
  52 + // Check arrays
  53 + $array_count = count($args);
  54 + for ($i = 0; $i !== $array_count; $i++) {
  55 + if (!is_array($args[$i])) {
  56 + user_error('array_diff_uassoc() Argument #' .
  57 + ($i + 1) . ' is not an array', E_USER_WARNING);
  58 + return;
  59 + }
  60 + }
  61 +
  62 + // Compare entries
  63 + $result = array();
  64 + foreach ($args[0] as $k => $v) {
  65 + for ($i = 1; $i < $array_count; $i++) {
  66 + foreach ($args[$i] as $kk => $vv) {
  67 + if ($v == $vv) {
  68 + $compare = call_user_func_array($compare_func, array($k, $kk));
  69 + if ($compare == 0) {
  70 + continue 3;
  71 + }
  72 + }
  73 + }
  74 + }
  75 +
  76 + $result[$k] = $v;
  77 + }
  78 +
  79 + return $result;
  80 + }
  81 +}
  82 +
  83 +?>
0 \ No newline at end of file 84 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_diff_ukey.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_diff_ukey()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_diff_ukey
  27 + * @author Tom Buskens <ortega@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5.0.2
  30 + * @require PHP 4.0.6 (is_callable)
  31 + */
  32 +if (!function_exists('array_diff_ukey')) {
  33 + function array_diff_ukey()
  34 + {
  35 + $args = func_get_args();
  36 + if (count($args) < 3) {
  37 + user_error('Wrong parameter count for array_diff_ukey()', E_USER_WARNING);
  38 + return;
  39 + }
  40 +
  41 + // Get compare function
  42 + $compare_func = array_pop($args);
  43 + if (!is_callable($compare_func)) {
  44 + if (is_array($compare_func)) {
  45 + $compare_func = $compare_func[0].'::'.$compare_func[1];
  46 + }
  47 + user_error('array_diff_ukey() Not a valid callback ' .
  48 + $compare_func, E_USER_WARNING);
  49 + return;
  50 + }
  51 +
  52 + // Check arrays
  53 + $array_count = count($args);
  54 + for ($i = 0; $i !== $array_count; $i++) {
  55 + if (!is_array($args[$i])) {
  56 + user_error('array_diff_ukey() Argument #' .
  57 + ($i + 1) . ' is not an array', E_USER_WARNING);
  58 + return;
  59 + }
  60 + }
  61 +
  62 + // Compare entries
  63 + $result = $args[0];
  64 + foreach ($args[0] as $key1 => $value1) {
  65 + for ($i = 1; $i !== $array_count; $i++) {
  66 + foreach ($args[$i] as $key2 => $value2) {
  67 + if (!(call_user_func($compare_func, (string) $key1, (string) $key2))) {
  68 + unset($result[$key1]);
  69 + break 2;
  70 + }
  71 + }
  72 + }
  73 + }
  74 +
  75 + return $result;
  76 + }
  77 +}
  78 +
  79 +?>
0 \ No newline at end of file 80 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_intersect_assoc.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_intersect_assoc()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_intersect_assoc
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.3.0
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('array_intersect_assoc')) {
  33 + function array_intersect_assoc()
  34 + {
  35 + // Sanity check
  36 + $args = func_get_args();
  37 + if (count($args) < 2) {
  38 + user_error('wrong parameter count for array_intersect_assoc()', E_USER_WARNING);
  39 + return;
  40 + }
  41 +
  42 + // Check arrays
  43 + $array_count = count($args);
  44 + for ($i = 0; $i !== $array_count; $i++) {
  45 + if (!is_array($args[$i])) {
  46 + user_error('array_intersect_assoc() Argument #' .
  47 + ($i + 1) . ' is not an array', E_USER_WARNING);
  48 + return;
  49 + }
  50 + }
  51 +
  52 + // Compare entries
  53 + $intersect = array();
  54 + foreach ($args[0] as $key => $value) {
  55 + $intersect[$key] = $value;
  56 +
  57 + for ($i = 1; $i < $array_count; $i++) {
  58 + if (!isset($args[$i][$key]) || $args[$i][$key] != $value) {
  59 + unset($intersect[$key]);
  60 + break;
  61 + }
  62 + }
  63 + }
  64 +
  65 + return $intersect;
  66 + }
  67 +}
  68 +
  69 +?>
0 \ No newline at end of file 70 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_intersect_key.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_intersect_key()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_intersect_key
  27 + * @author Tom Buskens <ortega@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5.0.2
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('array_intersect_key')) {
  33 + function array_intersect_key()
  34 + {
  35 + $args = func_get_args();
  36 + if (count($args) < 2) {
  37 + user_error('Wrong parameter count for array_intersect_key()', E_USER_WARNING);
  38 + return;
  39 + }
  40 +
  41 + // Check arrays
  42 + $array_count = count($args);
  43 + for ($i = 0; $i !== $array_count; $i++) {
  44 + if (!is_array($args[$i])) {
  45 + user_error('array_intersect_key() Argument #' .
  46 + ($i + 1) . ' is not an array', E_USER_WARNING);
  47 + return;
  48 + }
  49 + }
  50 +
  51 + // Compare entries
  52 + $result = array();
  53 + foreach ($args[0] as $key1 => $value1) {
  54 + for ($i = 1; $i !== $array_count; $i++) {
  55 + foreach ($args[$i] as $key2 => $value2) {
  56 + if ((string) $key1 === (string) $key2) {
  57 + $result[$key1] = $value1;
  58 + }
  59 + }
  60 + }
  61 + }
  62 +
  63 + return $result;
  64 + }
  65 +}
  66 +
  67 +?>
0 \ No newline at end of file 68 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_intersect_uassoc.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_intersect_assoc()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_intersect_uassoc
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + * @require PHP 4.0.6 (is_callable)
  31 + */
  32 +if (!function_exists('array_intersect_uassoc')) {
  33 + function array_intersect_uassoc()
  34 + {
  35 + // Sanity check
  36 + $args = func_get_args();
  37 + if (count($args) < 3) {
  38 + user_error('Wrong parameter count for array_intersect_ukey()', E_USER_WARNING);
  39 + return;
  40 + }
  41 +
  42 + // Get compare function
  43 + $compare_func = array_pop($args);
  44 + if (!is_callable($compare_func)) {
  45 + if (is_array($compare_func)) {
  46 + $compare_func = $compare_func[0] . '::' . $compare_func[1];
  47 + }
  48 + user_error('array_intersect_uassoc() Not a valid callback ' .
  49 + $compare_func, E_USER_WARNING);
  50 + return;
  51 + }
  52 +
  53 + // Check arrays
  54 + $array_count = count($args);
  55 + for ($i = 0; $i !== $array_count; $i++) {
  56 + if (!is_array($args[$i])) {
  57 + user_error('array_intersect_uassoc() Argument #' .
  58 + ($i + 1) . ' is not an array', E_USER_WARNING);
  59 + return;
  60 + }
  61 + }
  62 +
  63 + // Compare entries
  64 + $result = array();
  65 + foreach ($args[0] as $k => $v) {
  66 + for ($i = 0; $i < $array_count; $i++) {
  67 + $match = false;
  68 + foreach ($args[$i] as $kk => $vv) {
  69 + $compare = call_user_func_array($compare_func, array($k, $kk));
  70 + if ($compare === 0 && $v == $vv) {
  71 + $match = true;
  72 + continue 2;
  73 + }
  74 + }
  75 +
  76 + if ($match === false) {
  77 + continue 2;
  78 + }
  79 + }
  80 +
  81 + if ($match === true) {
  82 + $result[$k] = $v;
  83 + }
  84 + }
  85 +
  86 + return $result;
  87 + }
  88 +}
  89 +
  90 +?>
0 \ No newline at end of file 91 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_intersect_ukey.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_intersect_ukey()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_intersect_ukey
  27 + * @author Tom Buskens <ortega@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5.0.2
  30 + * @require PHP 4.0.6 (is_callable)
  31 + */
  32 +if (!function_exists('array_intersect_ukey')) {
  33 + function array_intersect_ukey()
  34 + {
  35 + $args = func_get_args();
  36 + if (count($args) < 3) {
  37 + user_error('Wrong parameter count for array_intersect_ukey()', E_USER_WARNING);
  38 + return;
  39 + }
  40 +
  41 + // Get compare function
  42 + $compare_func = array_pop($args);
  43 + if (!is_callable($compare_func)) {
  44 + if (is_array($compare_func)) {
  45 + $compare_func = $compare_func[0].'::'.$compare_func[1];
  46 + }
  47 + user_error('array_diff_ukey() Not a valid callback ' .
  48 + $compare_func, E_USER_WARNING);
  49 + return;
  50 + }
  51 +
  52 + // Check arrays
  53 + $array_count = count($args);
  54 + for ($i = 0; $i !== $array_count; $i++) {
  55 + if (!is_array($args[$i])) {
  56 + user_error('array_intersect_ukey() Argument #' .
  57 + ($i + 1) . ' is not an array', E_USER_WARNING);
  58 + return;
  59 + }
  60 + }
  61 +
  62 + // Compare entries
  63 + $result = array();
  64 + foreach ($args[0] as $key1 => $value1) {
  65 + for ($i = 1; $i !== $array_count; $i++) {
  66 + foreach ($args[$i] as $key2 => $value2) {
  67 + if (!(call_user_func($compare_func, (string) $key1, (string) $key2))) {
  68 + $result[$key1] = $value1;
  69 + break 2;
  70 + }
  71 + }
  72 + }
  73 + }
  74 +
  75 + return $result;
  76 + }
  77 +}
  78 +
  79 +?>
0 \ No newline at end of file 80 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_key_exists.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_key_exists()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_key_exists
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.1.0
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('array_key_exists')) {
  33 + function array_key_exists($key, $search)
  34 + {
  35 + if (!is_scalar($key)) {
  36 + user_error('array_key_exists() The first argument should be either a string or an integer',
  37 + E_USER_WARNING);
  38 + return false;
  39 + }
  40 +
  41 + if (is_object($search)) {
  42 + $search = get_object_vars($search);
  43 + }
  44 +
  45 + if (!is_array($search)) {
  46 + user_error('array_key_exists() The second argument should be either an array or an object',
  47 + E_USER_WARNING);
  48 + return false;
  49 + }
  50 +
  51 + return in_array($key, array_keys($search));
  52 + }
  53 +}
  54 +
  55 +?>
0 \ No newline at end of file 56 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_search.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_search()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_search
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @author Thiemo Mättig (http://maettig.com/)
  29 + * @version $Revision$
  30 + * @since PHP 4.0.5
  31 + * @require PHP 4.0.0 (user_error)
  32 + */
  33 +if (!function_exists('array_search')) {
  34 + function array_search($needle, $haystack, $strict = false)
  35 + {
  36 + if (!is_array($haystack)) {
  37 + user_error('array_search() Wrong datatype for second argument', E_USER_WARNING);
  38 + return false;
  39 + }
  40 +
  41 + foreach ($haystack as $key => $value) {
  42 + if ($strict ? $value === $needle : $value == $needle) {
  43 + return $key;
  44 + }
  45 + }
  46 +
  47 + return false;
  48 + }
  49 +}
  50 +
  51 +?>
0 \ No newline at end of file 52 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_udiff.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Stephan Schmidt <schst@php.net> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace array_udiff()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.array_udiff
  28 + * @author Stephan Schmidt <schst@php.net>
  29 + * @author Aidan Lister <aidan@php.net>
  30 + * @version $Revision$
  31 + * @since PHP 5
  32 + * @require PHP 4.0.6 (is_callable)
  33 + */
  34 +if (!function_exists('array_udiff')) {
  35 + function array_udiff()
  36 + {
  37 + $args = func_get_args();
  38 +
  39 + if (count($args) < 3) {
  40 + user_error('Wrong parameter count for array_udiff()', E_USER_WARNING);
  41 + return;
  42 + }
  43 +
  44 + // Get compare function
  45 + $compare_func = array_pop($args);
  46 + if (!is_callable($compare_func)) {
  47 + if (is_array($compare_func)) {
  48 + $compare_func = $compare_func[0] . '::' . $compare_func[1];
  49 + }
  50 + user_error('array_udiff() Not a valid callback ' .
  51 + $compare_func, E_USER_WARNING);
  52 + return;
  53 + }
  54 +
  55 + // Check arrays
  56 + $cnt = count($args);
  57 + for ($i = 0; $i < $cnt; $i++) {
  58 + if (!is_array($args[$i])) {
  59 + user_error('array_udiff() Argument #' .
  60 + ($i + 1). ' is not an array', E_USER_WARNING);
  61 + return;
  62 + }
  63 + }
  64 +
  65 + $diff = array ();
  66 + // Traverse values of the first array
  67 + foreach ($args[0] as $key => $value) {
  68 + // Check all arrays
  69 + for ($i = 1; $i < $cnt; $i++) {
  70 + foreach ($args[$i] as $cmp_value) {
  71 + $result = call_user_func($compare_func, $value, $cmp_value);
  72 + if ($result === 0) {
  73 + continue 3;
  74 + }
  75 + }
  76 + }
  77 + $diff[$key] = $value;
  78 + }
  79 + return $diff;
  80 + }
  81 +}
  82 +
  83 +?>
0 \ No newline at end of file 84 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_udiff_assoc.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Stephan Schmidt <schst@php.net> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace array_udiff_assoc()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @author Stephan Schmidt <schst@php.net>
  28 + * @author Aidan Lister <aidan@php.net>
  29 + * @version $Revision$
  30 + * @link http://php.net/function.array-udiff-assoc
  31 + * @since PHP 5
  32 + * @require PHP 4.0.6 (is_callable)
  33 + */
  34 +if (!function_exists('array_udiff_assoc')) {
  35 + function array_udiff_assoc()
  36 + {
  37 + $args = func_get_args();
  38 + if (count($args) < 3) {
  39 + user_error('Wrong parameter count for array_udiff_assoc()', E_USER_WARNING);
  40 + return;
  41 + }
  42 +
  43 + // Get compare function
  44 + $compare_func = array_pop($args);
  45 + if (!is_callable($compare_func)) {
  46 + if (is_array($compare_func)) {
  47 + $compare_func = $compare_func[0] . '::' . $compare_func[1];
  48 + }
  49 + user_error('array_udiff_assoc() Not a valid callback ' .
  50 + $compare_func, E_USER_WARNING);
  51 + return;
  52 + }
  53 +
  54 + // Check arrays
  55 + $count = count($args);
  56 + for ($i = 0; $i < $count; $i++) {
  57 + if (!is_array($args[$i])) {
  58 + user_error('array_udiff_assoc() Argument #' .
  59 + ($i + 1) . ' is not an array', E_USER_WARNING);
  60 + return;
  61 + }
  62 + }
  63 +
  64 + $diff = array ();
  65 + // Traverse values of the first array
  66 + foreach ($args[0] as $key => $value) {
  67 + // Check all arrays
  68 + for ($i = 1; $i < $count; $i++) {
  69 + if (!array_key_exists($key, $args[$i])) {
  70 + continue;
  71 + }
  72 + $result = call_user_func($compare_func, $value, $args[$i][$key]);
  73 + if ($result === 0) {
  74 + continue 2;
  75 + }
  76 + }
  77 +
  78 + $diff[$key] = $value;
  79 + }
  80 +
  81 + return $diff;
  82 + }
  83 +}
  84 +
  85 +?>
0 \ No newline at end of file 86 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_udiff_uassoc.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_udiff_uassoc()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_udiff_uassoc
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + * @require PHP 4.0.6 (is_callable)
  31 + */
  32 +if (!function_exists('array_udiff_uassoc')) {
  33 + function array_udiff_uassoc()
  34 + {
  35 + $args = func_get_args();
  36 + if (count($args) < 3) {
  37 + user_error('Wrong parameter count for array_udiff_uassoc()', E_USER_WARNING);
  38 + return;
  39 + }
  40 +
  41 + // Get compare function
  42 + $compare_func = array_pop($args);
  43 + if (!is_callable($compare_func)) {
  44 + if (is_array($compare_func)) {
  45 + $compare_func = $compare_func[0] . '::' . $compare_func[1];
  46 + }
  47 + user_error('array_udiff_uassoc() Not a valid callback ' . $compare_func, E_USER_WARNING);
  48 + return;
  49 + }
  50 +
  51 + // Check arrays
  52 + $count = count($args);
  53 + for ($i = 0; $i < $count; $i++) {
  54 + if (!is_array($args[$i])) {
  55 + user_error('array_udiff_uassoc() Argument #' .
  56 + ($i + 1) . ' is not an array', E_USER_WARNING);
  57 + return;
  58 + }
  59 + }
  60 +
  61 + // Traverse values of the first array
  62 + $diff = array ();
  63 + foreach ($args[0] as $key => $value) {
  64 + // Check all arrays
  65 + for ($i = 1; $i < $count; $i++) {
  66 + if (!array_key_exists($key, $args[$i])) {
  67 + continue;
  68 + }
  69 + $result = call_user_func($compare_func, $value, $args[$i][$key]);
  70 + if ($result === 0) {
  71 + continue 2;
  72 + }
  73 + }
  74 +
  75 + $diff[$key] = $value;
  76 + }
  77 +
  78 + return $diff;
  79 + }
  80 +}
  81 +
  82 +?>
0 \ No newline at end of file 83 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_uintersect.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Tom Buskens <ortega@php.net> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace array_uintersect()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.array_uintersect
  28 + * @author Tom Buskens <ortega@php.net>
  29 + * @author Aidan Lister <aidan@php.net>
  30 + * @version $Revision$
  31 + * @since PHP 5
  32 + * @require PHP 4.0.6 (is_callable)
  33 + */
  34 +if (!function_exists('array_uintersect')) {
  35 + function array_uintersect()
  36 + {
  37 + $args = func_get_args();
  38 + if (count($args) < 3) {
  39 + user_error('wrong parameter count for array_uintersect()',
  40 + E_USER_WARNING);
  41 + return;
  42 + }
  43 +
  44 + // Get compare function
  45 + $user_func = array_pop($args);
  46 + if (!is_callable($user_func)) {
  47 + if (is_array($user_func)) {
  48 + $user_func = $user_func[0] . '::' . $user_func[1];
  49 + }
  50 + user_error('array_uintersect() Not a valid callback ' .
  51 + $user_func, E_USER_WARNING);
  52 + return;
  53 + }
  54 +
  55 + // Check arrays
  56 + $array_count = count($args);
  57 + for ($i = 0; $i < $array_count; $i++) {
  58 + if (!is_array($args[$i])) {
  59 + user_error('array_uintersect() Argument #' .
  60 + ($i + 1) . ' is not an array', E_USER_WARNING);
  61 + return;
  62 + }
  63 + }
  64 +
  65 + // Compare entries
  66 + $output = array();
  67 + foreach ($args[0] as $key => $item) {
  68 + for ($i = 1; $i !== $array_count; $i++) {
  69 + $array = $args[$i];
  70 + foreach($array as $key0 => $item0) {
  71 + if (!call_user_func($user_func, $item, $item0)) {
  72 + $output[$key] = $item;
  73 + }
  74 + }
  75 + }
  76 + }
  77 +
  78 + return $output;
  79 + }
  80 +}
  81 +
  82 +?>
0 \ No newline at end of file 83 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_uintersect_assoc.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Tom Buskens <ortega@php.net> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace array_uintersect_assoc()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.array_uintersect_assoc
  28 + * @author Tom Buskens <ortega@php.net>
  29 + * @author Aidan Lister <aidan@php.net>
  30 + * @version $Revision$
  31 + * @since PHP 5
  32 + * @require PHP 4.0.6 (is_callable)
  33 + */
  34 +if (!function_exists('array_uintersect_assoc')) {
  35 + function array_uintersect_assoc()
  36 + {
  37 + $args = func_get_args();
  38 + if (count($args) < 3) {
  39 + user_error('wrong parameter count for array_uintersect_assoc()', E_USER_WARNING);
  40 + return;
  41 + }
  42 +
  43 + // Get compare function
  44 + $user_func = array_pop($args);
  45 + if (!is_callable($user_func)) {
  46 + if (is_array($user_func)) {
  47 + $user_func = $user_func[0] . '::' . $user_func[1];
  48 + }
  49 + user_error('array_uintersect_assoc() Not a valid callback ' .
  50 + $user_func, E_USER_WARNING);
  51 + return;
  52 + }
  53 +
  54 + // Check arrays
  55 + $array_count = count($args);
  56 + for ($i = 0; $i < $array_count; $i++) {
  57 + if (!is_array($args[$i])) {
  58 + user_error('array_uintersect_assoc() Argument #' .
  59 + ($i + 1) . ' is not an array', E_USER_WARNING);
  60 + return;
  61 + }
  62 + }
  63 +
  64 + // Compare entries
  65 + $output = array();
  66 + foreach ($args[0] as $key => $item) {
  67 + for ($i = 1; $i !== $array_count; $i++) {
  68 + if (array_key_exists($key, $args[$i])) {
  69 + $compare = call_user_func($user_func, $item, $args[$i][$key]);
  70 + if ($compare === 0) {
  71 + $output[$key] = $item;
  72 + }
  73 + }
  74 + }
  75 + }
  76 +
  77 + return $output;
  78 + }
  79 +}
  80 +
  81 +?>
0 \ No newline at end of file 82 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_uintersect_uassoc.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace array_uintersect_uassoc()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.array_uintersect_uassoc
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + * @require PHP 4.0.6 (is_callable)
  31 + */
  32 +if (!function_exists('array_uintersect_uassoc')) {
  33 + function array_uintersect_uassoc()
  34 + {
  35 + $args = func_get_args();
  36 + if (count($args) < 4) {
  37 + user_error('Wrong parameter count for array_uintersect_uassoc()',
  38 + E_USER_WARNING);
  39 + return;
  40 + }
  41 +
  42 + // Get key_compare_func
  43 + $key_compare_func = array_pop($args);
  44 + if (!is_callable($key_compare_func)) {
  45 + if (is_array($key_compare_func)) {
  46 + $key_compare_func = $key_compare_func[0] . '::' . $key_compare_func[1];
  47 + }
  48 + user_error('array_uintersect_uassoc() Not a valid callback ' .
  49 + $key_compare_func, E_USER_WARNING);
  50 + return;
  51 + }
  52 +
  53 + // Get data_compare_func
  54 + $data_compare_func = array_pop($args);
  55 + if (!is_callable($data_compare_func)) {
  56 + if (is_array($data_compare_func)) {
  57 + $data_compare_func = $data_compare_func[0] . '::' . $data_compare_func[1];
  58 + }
  59 + user_error('array_uintersect_uassoc() Not a valid callback '
  60 + . $data_compare_func, E_USER_WARNING);
  61 + return;
  62 + }
  63 +
  64 + // Check arrays
  65 + $count = count($args);
  66 + for ($i = 0; $i !== $count; $i++) {
  67 + if (!is_array($args[$i])) {
  68 + user_error('array_uintersect_uassoc() Argument #' .
  69 + ($i + 1) . ' is not an array', E_USER_WARNING);
  70 + return;
  71 + }
  72 + }
  73 +
  74 + // Traverse values of the first array
  75 + $intersect = array ();
  76 + foreach ($args[0] as $key => $value) {
  77 + // Check against each array
  78 + for ($i = 1; $i < $count; $i++) {
  79 + // Traverse each element in current array
  80 + foreach ($args[$i] as $ckey => $cvalue) {
  81 + // Compare key and value
  82 + if (call_user_func($key_compare_func, $key, $ckey) === 0 &&
  83 + call_user_func($data_compare_func, $value, $cvalue) === 0)
  84 + {
  85 +
  86 + $intersect[$key] = $value;
  87 + continue;
  88 + }
  89 + }
  90 + }
  91 + }
  92 +
  93 + return $intersect;
  94 + }
  95 +}
  96 +
  97 +?>
0 \ No newline at end of file 98 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/array_walk_recursive.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Tom Buskens <ortega@php.net> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace array_walk_recursive()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.array_walk_recursive
  28 + * @author Tom Buskens <ortega@php.net>
  29 + * @author Aidan Lister <aidan@php.net>
  30 + * @version $Revision$
  31 + * @since PHP 5
  32 + * @require PHP 4.0.6 (is_callable)
  33 + */
  34 +if (!function_exists('array_walk_recursive')) {
  35 + function array_walk_recursive(&$input, $funcname)
  36 + {
  37 + if (!is_callable($funcname)) {
  38 + if (is_array($funcname)) {
  39 + $funcname = $funcname[0] . '::' . $funcname[1];
  40 + }
  41 + user_error('array_walk_recursive() Not a valid callback ' . $user_func,
  42 + E_USER_WARNING);
  43 + return;
  44 + }
  45 +
  46 + if (!is_array($input)) {
  47 + user_error('array_walk_recursive() The argument should be an array',
  48 + E_USER_WARNING);
  49 + return;
  50 + }
  51 +
  52 + $args = func_get_args();
  53 +
  54 + foreach ($input as $key => $item) {
  55 + if (is_array($item)) {
  56 + array_walk_recursive($item, $funcname, $args);
  57 + $input[$key] = $item;
  58 + } else {
  59 + $args[0] = &$item;
  60 + $args[1] = &$key;
  61 + call_user_func_array($funcname, $args);
  62 + $input[$key] = $item;
  63 + }
  64 + }
  65 + }
  66 +}
  67 +
  68 +?>
0 \ No newline at end of file 69 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/call_user_func_array.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace call_user_func_array()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.call_user_func_array
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.0.4
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('call_user_func_array')) {
  33 + function call_user_func_array($function, $param_arr)
  34 + {
  35 + $param_arr = array_values((array) $param_arr);
  36 +
  37 + // Sanity check
  38 + if (!is_callable($function)) {
  39 + if (is_array($function) && count($function) > 2) {
  40 + $function = $function[0] . '::' . $function[1];
  41 + }
  42 + $error = sprintf('call_user_func_array() First argument is expected ' .
  43 + 'to be a valid callback, \'%s\' was given', $function);
  44 + user_error($error, E_USER_WARNING);
  45 + return;
  46 + }
  47 +
  48 + // Build argument string
  49 + $arg_string = '';
  50 + $comma = '';
  51 + for ($i = 0, $x = count($param_arr); $i < $x; $i++) {
  52 + $arg_string .= $comma . "\$param_arr[$i]";
  53 + $comma = ', ';
  54 + }
  55 +
  56 + // Determine method of calling function
  57 + if (is_array($function)) {
  58 + $object =& $function[0];
  59 + $method = $function[1];
  60 +
  61 + // Static vs method call
  62 + if (is_string($function[0])) {
  63 + eval("\$retval = $object::\$method($arg_string);");
  64 + } else {
  65 + eval("\$retval = \$object->\$method($arg_string);");
  66 + }
  67 + } else {
  68 + eval("\$retval = \$function($arg_string);");
  69 + }
  70 +
  71 + return $retval;
  72 + }
  73 +}
  74 +
  75 +?>
0 \ No newline at end of file 76 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/clone.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace clone()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/language.oop5.cloning
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5.0.0
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (version_compare(phpversion(), '5.0') === -1) {
  33 + // Needs to be wrapped in eval as clone is a keyword in PHP5
  34 + eval('
  35 + function clone($object)
  36 + {
  37 + // Sanity check
  38 + if (!is_object($object)) {
  39 + user_error(\'clone() __clone method called on non-object\', E_USER_WARNING);
  40 + return;
  41 + }
  42 +
  43 + // Use serialize/unserialize trick to deep copy the object
  44 + $object = unserialize(serialize($object));
  45 +
  46 + // If there is a __clone method call it on the "new" class
  47 + if (method_exists($object, \'__clone\')) {
  48 + $object->__clone();
  49 + }
  50 +
  51 + return $object;
  52 + }
  53 + ');
  54 +}
  55 +
  56 +?>
0 \ No newline at end of file 57 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/constant.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace constant()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.constant
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.0.4
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('constant')) {
  33 + function constant($constant)
  34 + {
  35 + if (!defined($constant)) {
  36 + $error = sprintf('constant() Couldn\'t find constant %s', $constant);
  37 + user_error($error, E_USER_WARNING);
  38 + return false;
  39 + }
  40 +
  41 + eval("\$value=$constant;");
  42 +
  43 + return $value;
  44 + }
  45 +}
  46 +
  47 +?>
0 \ No newline at end of file 48 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/convert_uudecode.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Michael Wallner <mike@php.net> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace convert_uudecode()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.convert_uudecode
  28 + * @author Michael Wallner <mike@php.net>
  29 + * @author Aidan Lister <aidan@php.net>
  30 + * @version $Revision$
  31 + * @since PHP 5
  32 + * @require PHP 4.0.0 (user_error)
  33 + */
  34 +if (!function_exists('convert_uudecode')) {
  35 + function convert_uudecode($string)
  36 + {
  37 + // Sanity check
  38 + if (!is_scalar($string)) {
  39 + user_error('convert_uuencode() expects parameter 1 to be string, ' .
  40 + gettype($string) . ' given', E_USER_WARNING);
  41 + return false;
  42 + }
  43 +
  44 + if (strlen($string) < 8) {
  45 + user_error('convert_uuencode() The given parameter is not a valid uuencoded string', E_USER_WARNING);
  46 + return false;
  47 + }
  48 +
  49 + $decoded = '';
  50 + foreach (explode("\n", $string) as $line) {
  51 +
  52 + $c = count($bytes = unpack('c*', substr(trim($line), 1)));
  53 +
  54 + while ($c % 4) {
  55 + $bytes[++$c] = 0;
  56 + }
  57 +
  58 + foreach (array_chunk($bytes, 4) as $b) {
  59 + $b0 = $b[0] == 0x60 ? 0 : $b[0] - 0x20;
  60 + $b1 = $b[1] == 0x60 ? 0 : $b[1] - 0x20;
  61 + $b2 = $b[2] == 0x60 ? 0 : $b[2] - 0x20;
  62 + $b3 = $b[3] == 0x60 ? 0 : $b[3] - 0x20;
  63 +
  64 + $b0 <<= 2;
  65 + $b0 |= ($b1 >> 4) & 0x03;
  66 + $b1 <<= 4;
  67 + $b1 |= ($b2 >> 2) & 0x0F;
  68 + $b2 <<= 6;
  69 + $b2 |= $b3 & 0x3F;
  70 +
  71 + $decoded .= pack('c*', $b0, $b1, $b2);
  72 + }
  73 + }
  74 +
  75 + return rtrim($decoded, "\0");
  76 + }
  77 +}
  78 +
  79 +?>
0 \ No newline at end of file 80 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/convert_uuencode.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Michael Wallner <mike@php.net> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace convert_uuencode()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.convert_uuencode
  28 + * @author Michael Wallner <mike@php.net>
  29 + * @author Aidan Lister <aidan@php.net>
  30 + * @version $Revision$
  31 + * @since PHP 5
  32 + * @require PHP 4.0.0 (user_error)
  33 + */
  34 +if (!function_exists('convert_uuencode')) {
  35 + function convert_uuencode($string)
  36 + {
  37 + // Sanity check
  38 + if (!is_scalar($string)) {
  39 + user_error('convert_uuencode() expects parameter 1 to be string, ' .
  40 + gettype($string) . ' given', E_USER_WARNING);
  41 + return false;
  42 + }
  43 +
  44 + $u = 0;
  45 + $encoded = '';
  46 +
  47 + while ($c = count($bytes = unpack('c*', substr($string, $u, 45)))) {
  48 + $u += 45;
  49 + $encoded .= pack('c', $c + 0x20);
  50 +
  51 + while ($c % 3) {
  52 + $bytes[++$c] = 0;
  53 + }
  54 +
  55 + foreach (array_chunk($bytes, 3) as $b) {
  56 + $b0 = ($b[0] & 0xFC) >> 2;
  57 + $b1 = (($b[0] & 0x03) << 4) + (($b[1] & 0xF0) >> 4);
  58 + $b2 = (($b[1] & 0x0F) << 2) + (($b[2] & 0xC0) >> 6);
  59 + $b3 = $b[2] & 0x3F;
  60 +
  61 + $b0 = $b0 ? $b0 + 0x20 : 0x60;
  62 + $b1 = $b1 ? $b1 + 0x20 : 0x60;
  63 + $b2 = $b2 ? $b2 + 0x20 : 0x60;
  64 + $b3 = $b3 ? $b3 + 0x20 : 0x60;
  65 +
  66 + $encoded .= pack('c*', $b0, $b1, $b2, $b3);
  67 + }
  68 +
  69 + $encoded .= "\n";
  70 + }
  71 +
  72 + // Add termination characters
  73 + $encoded .= "\x60\n";
  74 +
  75 + return $encoded;
  76 + }
  77 +}
  78 +
  79 +?>
0 \ No newline at end of file 80 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/debug_print_backtrace.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Laurent Laville <pear@laurent-laville.org> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace debug_print_backtrace()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.debug_print_backtrace
  28 + * @author Laurent Laville <pear@laurent-laville.org>
  29 + * @author Aidan Lister <aidan@php.net>
  30 + * @version $Revision$
  31 + * @since PHP 5
  32 + * @require PHP 4.0.0
  33 + */
  34 +if (!function_exists('debug_print_backtrace')) {
  35 + function debug_print_backtrace()
  36 + {
  37 + // Get backtrace
  38 + $backtrace = debug_backtrace();
  39 +
  40 + // Unset call to debug_print_backtrace
  41 + array_shift($backtrace);
  42 +
  43 + // Iterate backtrace
  44 + $calls = array();
  45 + foreach ($backtrace as $i => $call) {
  46 + $location = $call['file'] . ':' . $call['line'];
  47 + $function = (isset($call['class'])) ?
  48 + $call['class'] . '.' . $call['function'] :
  49 + $call['function'];
  50 +
  51 + $params = '';
  52 + if (isset($call['args'])) {
  53 + $params = implode(', ', $call['args']);
  54 + }
  55 +
  56 + $calls[] = sprintf('#%d %s(%s) called at [%s]',
  57 + $i,
  58 + $function,
  59 + $params,
  60 + $location);
  61 + }
  62 +
  63 + echo implode("\n", $calls);
  64 + }
  65 +}
  66 +
  67 +?>
0 \ No newline at end of file 68 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/file_get_contents.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace file_get_contents()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.file_get_contents
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @internal resource_context is not supported
  30 + * @since PHP 5
  31 + * @require PHP 4.0.0 (user_error)
  32 + */
  33 +if (!function_exists('file_get_contents')) {
  34 + function file_get_contents($filename, $incpath = false, $resource_context = null)
  35 + {
  36 + if (false === $fh = fopen($filename, 'rb', $incpath)) {
  37 + user_error('file_get_contents() failed to open stream: No such file or directory',
  38 + E_USER_WARNING);
  39 + return false;
  40 + }
  41 +
  42 + clearstatcache();
  43 + if ($fsize = @filesize($filename)) {
  44 + $data = fread($fh, $fsize);
  45 + } else {
  46 + $data = '';
  47 + while (!feof($fh)) {
  48 + $data .= fread($fh, 8192);
  49 + }
  50 + }
  51 +
  52 + fclose($fh);
  53 + return $data;
  54 + }
  55 +}
  56 +
  57 +?>
0 \ No newline at end of file 58 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/file_put_contents.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +if (!defined('FILE_USE_INCLUDE_PATH')) {
  22 + define('FILE_USE_INCLUDE_PATH', 1);
  23 +}
  24 +
  25 +if (!defined('FILE_APPEND')) {
  26 + define('FILE_APPEND', 8);
  27 +}
  28 +
  29 +
  30 +/**
  31 + * Replace file_put_contents()
  32 + *
  33 + * @category PHP
  34 + * @package PHP_Compat
  35 + * @link http://php.net/function.file_put_contents
  36 + * @author Aidan Lister <aidan@php.net>
  37 + * @version $Revision$
  38 + * @internal resource_context is not supported
  39 + * @since PHP 5
  40 + * @require PHP 4.0.0 (user_error)
  41 + */
  42 +if (!function_exists('file_put_contents')) {
  43 + function file_put_contents($filename, $content, $flags = null, $resource_context = null)
  44 + {
  45 + // If $content is an array, convert it to a string
  46 + if (is_array($content)) {
  47 + $content = implode('', $content);
  48 + }
  49 +
  50 + // If we don't have a string, throw an error
  51 + if (!is_scalar($content)) {
  52 + user_error('file_put_contents() The 2nd parameter should be either a string or an array',
  53 + E_USER_WARNING);
  54 + return false;
  55 + }
  56 +
  57 + // Get the length of data to write
  58 + $length = strlen($content);
  59 +
  60 + // Check what mode we are using
  61 + $mode = ($flags & FILE_APPEND) ?
  62 + 'a' :
  63 + 'w';
  64 +
  65 + // Check if we're using the include path
  66 + $use_inc_path = ($flags & FILE_USE_INCLUDE_PATH) ?
  67 + true :
  68 + false;
  69 +
  70 + // Open the file for writing
  71 + if (($fh = @fopen($filename, $mode, $use_inc_path)) === false) {
  72 + user_error('file_put_contents() failed to open stream: Permission denied',
  73 + E_USER_WARNING);
  74 + return false;
  75 + }
  76 +
  77 + // Write to the file
  78 + $bytes = 0;
  79 + if (($bytes = @fwrite($fh, $content)) === false) {
  80 + $errormsg = sprintf('file_put_contents() Failed to write %d bytes to %s',
  81 + $length,
  82 + $filename);
  83 + user_error($errormsg, E_USER_WARNING);
  84 + return false;
  85 + }
  86 +
  87 + // Close the handle
  88 + @fclose($fh);
  89 +
  90 + // Check all the data was written
  91 + if ($bytes != $length) {
  92 + $errormsg = sprintf('file_put_contents() Only %d of %d bytes written, possibly out of free disk space.',
  93 + $bytes,
  94 + $length);
  95 + user_error($errormsg, E_USER_WARNING);
  96 + return false;
  97 + }
  98 +
  99 + // Return length
  100 + return $bytes;
  101 + }
  102 +}
  103 +
  104 +?>
0 \ No newline at end of file 105 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/floatval.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace floatval()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.floatval
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.2.0
  30 + * @require PHP 4.0.0 (user_error) (Type Casting)
  31 + */
  32 +if (!function_exists('floatval')) {
  33 + function floatval($var)
  34 + {
  35 + return (float) $var;
  36 + }
  37 +}
  38 +
  39 +?>
0 \ No newline at end of file 40 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/fprintf.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace fprintf()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.fprintf
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('fprintf')) {
  33 + function fprintf() {
  34 + $args = func_get_args();
  35 +
  36 + if (count($args) < 2) {
  37 + user_error('Wrong parameter count for fprintf()', E_USER_WARNING);
  38 + return;
  39 + }
  40 +
  41 + $resource_handle = array_shift($args);
  42 + $format = array_shift($args);
  43 +
  44 + if (!is_resource($resource_handle)) {
  45 + user_error('fprintf() supplied argument is not a valid stream resource',
  46 + E_USER_WARNING);
  47 + return false;
  48 + }
  49 +
  50 + return fwrite($resource_handle, vsprintf($format, $args));
  51 + }
  52 +}
  53 +
  54 +?>
0 \ No newline at end of file 55 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/fputcsv.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace fprintf()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.fprintf
  27 + * @author Twebb <twebb@boisecenter.com>
  28 + * @author Aidan Lister <aidan@php.net>
  29 + * @version $Revision$
  30 + * @since PHP 5
  31 + * @require PHP 4.0.0 (user_error)
  32 + */
  33 +if (!function_exists('fputcsv')) {
  34 + function fputcsv($handle, $fields, $delimiter = ',', $enclosure = '"')
  35 + {
  36 + // Sanity Check
  37 + if (!is_resource($extension)) {
  38 + user_error('fputcsv() expects parameter 1 to be resource, ' .
  39 + gettype($extension) . ' given', E_USER_WARNING);
  40 + return false;
  41 + }
  42 +
  43 +
  44 + $str = '';
  45 + foreach ($fields as $cell) {
  46 + $cell = str_replace($enclosure, $enclosure.$enclosure, $cell);
  47 +
  48 + if (strchr($cell, $delimiter) !== false ||
  49 + strchr($cell, $enclosure) !== false ||
  50 + strchr($cell, "\n") !== false) {
  51 +
  52 + $str .= $enclosure . $cell . $enclosure . $delimiter;
  53 + } else {
  54 + $str .= $cell . $delimiter;
  55 + }
  56 + }
  57 +
  58 + fputs($handle, substr($str, 0, -1) . "\n");
  59 +
  60 + return strlen($str);
  61 + }
  62 +}
  63 +
  64 +?>
0 \ No newline at end of file 65 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/get_headers.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace get_headers()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.get_headers
  27 + * @author Aeontech <aeontech@gmail.com>
  28 + * @author Cpurruc <cpurruc@fh-landshut.de>
  29 + * @author Aidan Lister <aidan@php.net>
  30 + * @version $Revision$
  31 + * @since PHP 5.0.0
  32 + * @require PHP 4.0.0 (user_error)
  33 + */
  34 +if (!function_exists('get_headers')) {
  35 + function get_headers($url, $format = 0)
  36 + {
  37 + // Init
  38 + $urlinfo = parse_url($url);
  39 + $port = isset($urlinfo['port']) ? $urlinfo['port'] : 80;
  40 +
  41 + // Connect
  42 + $fp = fsockopen($urlinfo['host'], $port, $errno, $errstr, 30);
  43 + if ($fp === false) {
  44 + return false;
  45 + }
  46 +
  47 + // Send request
  48 + $head = 'HEAD ' . $urlinfo['path'] .
  49 + (isset($urlinfo['query']) ? '?' . $urlinfo['query'] : '') .
  50 + ' HTTP/1.0' . "\r\n" .
  51 + 'Host: ' . $urlinfo['host'] . "\r\n\r\n";
  52 + fputs($fp, $head);
  53 +
  54 + // Read
  55 + while (!feof($fp)) {
  56 + if ($header = trim(fgets($fp, 1024))) {
  57 + list($key) = explode(':', $header);
  58 +
  59 + if ($format === 1) {
  60 + // First element is the HTTP header type, such as HTTP 200 OK
  61 + // It doesn't have a separate name, so check for it
  62 + if ($key == $header) {
  63 + $headers[] = $header;
  64 + } else {
  65 + $headers[$key] = substr($header, strlen($key)+2);
  66 + }
  67 + } else {
  68 + $headers[] = $header;
  69 + }
  70 + }
  71 + }
  72 +
  73 + return $headers;
  74 + }
  75 +}
  76 +
  77 +?>
0 \ No newline at end of file 78 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/get_include_path.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Stephan Schmidt <schst@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace get_include_path()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.get_include_path
  27 + * @author Stephan Schmidt <schst@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.3.0
  30 + * @require PHP 4.0.0
  31 + */
  32 +if (!function_exists('get_include_path')) {
  33 + function get_include_path()
  34 + {
  35 + return ini_get('include_path');
  36 + }
  37 +}
  38 +
  39 +?>
0 \ No newline at end of file 40 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/html_entity_decode.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: David Irvine <dave@codexweb.co.za> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +if (!defined('ENT_NOQUOTES')) {
  23 + define('ENT_NOQUOTES', 0);
  24 +}
  25 +
  26 +if (!defined('ENT_COMPAT')) {
  27 + define('ENT_COMPAT', 2);
  28 +}
  29 +
  30 +if (!defined('ENT_QUOTES')) {
  31 + define('ENT_QUOTES', 3);
  32 +}
  33 +
  34 +
  35 +/**
  36 + * Replace html_entity_decode()
  37 + *
  38 + * @category PHP
  39 + * @package PHP_Compat
  40 + * @link http://php.net/function.html_entity_decode
  41 + * @author David Irvine <dave@codexweb.co.za>
  42 + * @author Aidan Lister <aidan@php.net>
  43 + * @version $Revision$
  44 + * @since PHP 4.3.0
  45 + * @internal Setting the charset will not do anything
  46 + * @require PHP 4.0.0 (user_error)
  47 + */
  48 +if (!function_exists('html_entity_decode')) {
  49 + function html_entity_decode($string, $quote_style = ENT_COMPAT, $charset = null)
  50 + {
  51 + if (!is_int($quote_style)) {
  52 + user_error('html_entity_decode() expects parameter 2 to be long, ' .
  53 + gettype($quote_style) . ' given', E_USER_WARNING);
  54 + return;
  55 + }
  56 +
  57 + $trans_tbl = get_html_translation_table(HTML_ENTITIES);
  58 + $trans_tbl = array_flip($trans_tbl);
  59 +
  60 + // Add single quote to translation table;
  61 + $trans_tbl['&#039;'] = '\'';
  62 +
  63 + // Not translating double quotes
  64 + if ($quote_style & ENT_NOQUOTES) {
  65 + // Remove double quote from translation table
  66 + unset($trans_tbl['&quot;']);
  67 + }
  68 +
  69 + return strtr($string, $trans_tbl);
  70 + }
  71 +}
  72 +?>
0 \ No newline at end of file 73 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/htmlspecialchars_decode.php 0 → 100644
  1 +<?PHP
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Stephan Schmidt <schst@php.net> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace function htmlspecialchars_decode()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.htmlspecialchars_decode
  28 + * @author Aidan Lister <aidan@php.net>
  29 + * @version $Revision$
  30 + * @since PHP 5.1.0
  31 + * @require PHP 4.0.0 (user_error)
  32 + */
  33 +if (!function_exists('htmlspecialchars_decode')) {
  34 + function htmlspecialchars_decode($string, $quote_style = null)
  35 + {
  36 + // Sanity check
  37 + if (!is_scalar($string)) {
  38 + user_error('htmlspecialchars_decode() expects parameter 1 to be string, ' .
  39 + gettype($string) . ' given', E_USER_WARNING);
  40 + return;
  41 + }
  42 +
  43 + if (!is_int($quote_style) && $quote_style !== null) {
  44 + user_error('htmlspecialchars_decode() expects parameter 2 to be integer, ' .
  45 + gettype($quote_style) . ' given', E_USER_WARNING);
  46 + return;
  47 + }
  48 +
  49 + // Init
  50 + $from = array('&amp;', '&lt;', '&gt;');
  51 + $to = array('&', '<', '>');
  52 +
  53 + // The function does not behave as documented
  54 + // This matches the actual behaviour of the function
  55 + if ($quote_style & ENT_COMPAT || $quote_style & ENT_QUOTES) {
  56 + $from[] = '&quot;';
  57 + $to[] = '"';
  58 +
  59 + $from[] = '&#039;';
  60 + $to[] = "'";
  61 + }
  62 +
  63 + return str_replace($from, $to, $string);
  64 + }
  65 +}
  66 +
  67 +?>
0 \ No newline at end of file 68 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/http_build_query.php 0 → 100644
  1 +<?PHP
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Stephan Schmidt <schst@php.net> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace function http_build_query()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.http-build-query
  28 + * @author Stephan Schmidt <schst@php.net>
  29 + * @author Aidan Lister <aidan@php.net>
  30 + * @version $Revision$
  31 + * @since PHP 5
  32 + * @require PHP 4.0.0 (user_error)
  33 + */
  34 +if (!function_exists('http_build_query')) {
  35 + function http_build_query($formdata, $numeric_prefix = null)
  36 + {
  37 + // If $formdata is an object, convert it to an array
  38 + if (is_object($formdata)) {
  39 + $formdata = get_object_vars($formdata);
  40 + }
  41 +
  42 + // Check we have an array to work with
  43 + if (!is_array($formdata)) {
  44 + user_error('http_build_query() Parameter 1 expected to be Array or Object. Incorrect value given.',
  45 + E_USER_WARNING);
  46 + return false;
  47 + }
  48 +
  49 + // If the array is empty, return null
  50 + if (empty($formdata)) {
  51 + return;
  52 + }
  53 +
  54 + // Argument seperator
  55 + $separator = ini_get('arg_separator.output');
  56 +
  57 + // Start building the query
  58 + $tmp = array ();
  59 + foreach ($formdata as $key => $val) {
  60 + if (is_integer($key) && $numeric_prefix != null) {
  61 + $key = $numeric_prefix . $key;
  62 + }
  63 +
  64 + if (is_scalar($val)) {
  65 + array_push($tmp, urlencode($key).'='.urlencode($val));
  66 + continue;
  67 + }
  68 +
  69 + // If the value is an array, recursively parse it
  70 + if (is_array($val)) {
  71 + array_push($tmp, __http_build_query($val, urlencode($key)));
  72 + continue;
  73 + }
  74 + }
  75 +
  76 + return implode($separator, $tmp);
  77 + }
  78 +
  79 + // Helper function
  80 + function __http_build_query ($array, $name)
  81 + {
  82 + $tmp = array ();
  83 + foreach ($array as $key => $value) {
  84 + if (is_array($value)) {
  85 + array_push($tmp, __http_build_query($value, sprintf('%s[%s]', $name, $key)));
  86 + } elseif (is_scalar($value)) {
  87 + array_push($tmp, sprintf('%s[%s]=%s', $name, urlencode($key), urlencode($value)));
  88 + } elseif (is_object($value)) {
  89 + array_push($tmp, __http_build_query(get_object_vars($value), sprintf('%s[%s]', $name, $key)));
  90 + }
  91 + }
  92 +
  93 + // Argument seperator
  94 + $separator = ini_get('arg_separator.output');
  95 +
  96 + return implode($separator, $tmp);
  97 + }
  98 +}
  99 +
  100 +?>
0 \ No newline at end of file 101 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/ibase_timefmt.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace function ibase_timefmt()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.ibase_timefmt
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5.0.0
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('ibase_timefmt')) {
  33 + function ibase_timefmt($format, $columntype = IBASE_TIMESTAMP)
  34 + {
  35 + switch ($columntype) {
  36 + case IBASE_TIMESTAMP:
  37 + ini_set('ibase.dateformat', $format);
  38 + break;
  39 +
  40 + case IBASE_DATE:
  41 + ini_set('ibase.dateformat', $format);
  42 + break;
  43 +
  44 + case IBASE_TIME:
  45 + ini_set('ibase.timeformat', $format);
  46 + break;
  47 +
  48 + default:
  49 + return false;
  50 + }
  51 +
  52 + return true;
  53 + }
  54 +}
  55 +
  56 +?>
0 \ No newline at end of file 57 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/image_type_to_mime_type.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +if (!defined('IMAGETYPE_GIF')) {
  22 + define('IMAGETYPE_GIF', 1);
  23 +}
  24 +
  25 +if (!defined('IMAGETYPE_JPEG')) {
  26 + define('IMAGETYPE_JPEG', 2);
  27 +}
  28 +
  29 +if (!defined('IMAGETYPE_PNG')) {
  30 + define('IMAGETYPE_PNG', 3);
  31 +}
  32 +
  33 +if (!defined('IMAGETYPE_SWF')) {
  34 + define('IMAGETYPE_SWF', 4);
  35 +}
  36 +
  37 +if (!defined('IMAGETYPE_PSD')) {
  38 + define('IMAGETYPE_PSD', 5);
  39 +}
  40 +
  41 +if (!defined('IMAGETYPE_BMP')) {
  42 + define('IMAGETYPE_BMP', 6);
  43 +}
  44 +
  45 +if (!defined('IMAGETYPE_TIFF_II')) {
  46 + define('IMAGETYPE_TIFF_II', 7);
  47 +}
  48 +
  49 +if (!defined('IMAGETYPE_TIFF_MM')) {
  50 + define('IMAGETYPE_TIFF_MM', 8);
  51 +}
  52 +
  53 +if (!defined('IMAGETYPE_JPC')) {
  54 + define('IMAGETYPE_JPC', 9);
  55 +}
  56 +
  57 +if (!defined('IMAGETYPE_JP2')) {
  58 + define('IMAGETYPE_JP2', 10);
  59 +}
  60 +
  61 +if (!defined('IMAGETYPE_JPX')) {
  62 + define('IMAGETYPE_JPX', 11);
  63 +}
  64 +
  65 +if (!defined('IMAGETYPE_JB2')) {
  66 + define('IMAGETYPE_JB2', 12);
  67 +}
  68 +
  69 +if (!defined('IMAGETYPE_SWC')) {
  70 + define('IMAGETYPE_SWC', 13);
  71 +}
  72 +
  73 +if (!defined('IMAGETYPE_IFF')) {
  74 + define('IMAGETYPE_IFF', 14);
  75 +}
  76 +
  77 +if (!defined('IMAGETYPE_WBMP')) {
  78 + define('IMAGETYPE_WBMP', 15);
  79 +}
  80 +
  81 +if (!defined('IMAGETYPE_XBM')) {
  82 + define('IMAGETYPE_XBM', 16);
  83 +}
  84 +
  85 +
  86 +/**
  87 + * Replace image_type_to_mime_type()
  88 + *
  89 + * @category PHP
  90 + * @package PHP_Compat
  91 + * @link http://php.net/function.image_type_to_mime_type
  92 + * @author Aidan Lister <aidan@php.net>
  93 + * @version $Revision$
  94 + * @since PHP 4.3.0
  95 + * @require PHP 4.0.0 (user_error)
  96 + */
  97 +if (!function_exists('image_type_to_mime_type')) {
  98 + function image_type_to_mime_type($imagetype)
  99 + {
  100 + switch ($imagetype):
  101 + case IMAGETYPE_GIF:
  102 + return 'image/gif';
  103 + break;
  104 + case IMAGETYPE_JPEG:
  105 + return 'image/jpeg';
  106 + break;
  107 + case IMAGETYPE_PNG:
  108 + return 'image/png';
  109 + break;
  110 + case IMAGETYPE_SWF:
  111 + case IMAGETYPE_SWC:
  112 + return 'application/x-shockwave-flash';
  113 + break;
  114 + case IMAGETYPE_PSD:
  115 + return 'image/psd';
  116 + break;
  117 + case IMAGETYPE_BMP:
  118 + return 'image/bmp';
  119 + break;
  120 + case IMAGETYPE_TIFF_MM:
  121 + case IMAGETYPE_TIFF_II:
  122 + return 'image/tiff';
  123 + break;
  124 + case IMAGETYPE_JP2:
  125 + return 'image/jp2';
  126 + break;
  127 + case IMAGETYPE_IFF:
  128 + return 'image/iff';
  129 + break;
  130 + case IMAGETYPE_WBMP:
  131 + return 'image/vnd.wap.wbmp';
  132 + break;
  133 + case IMAGETYPE_XBM:
  134 + return 'image/xbm';
  135 + break;
  136 + case IMAGETYPE_JPX:
  137 + case IMAGETYPE_JB2:
  138 + case IMAGETYPE_JPC:
  139 + default:
  140 + return 'application/octet-stream';
  141 + break;
  142 +
  143 + endswitch;
  144 + }
  145 +}
  146 +
  147 +?>
0 \ No newline at end of file 148 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/ini_get_all.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace ini_get_all()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.ini_get_all
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.2.0
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('ini_get_all')) {
  33 + function ini_get_all($extension = null)
  34 + {
  35 + // Sanity check
  36 + if (!is_scalar($extension)) {
  37 + user_error('ini_get_all() expects parameter 1 to be string, ' .
  38 + gettype($extension) . ' given', E_USER_WARNING);
  39 + return false;
  40 + }
  41 +
  42 + // Get the location of php.ini
  43 + ob_start();
  44 + phpinfo(INFO_GENERAL);
  45 + $info = ob_get_contents();
  46 + ob_clean();
  47 + $info = explode("\n", $info);
  48 + $line = array_values(preg_grep('#php.ini#', $info));
  49 + list (, $value) = explode('<td class="v">', $line[0]);
  50 + $inifile = trim(strip_tags($value));
  51 +
  52 + // Parse
  53 + if ($extension !== null) {
  54 + $ini_all = parse_ini_file($inifile, true);
  55 +
  56 + // Lowercase extension keys
  57 + foreach ($ini_all as $key => $value) {
  58 + $ini_arr[strtolower($key)] = $value;
  59 + }
  60 +
  61 + $ini = $ini_arr[$extension];
  62 + } else {
  63 + $ini = parse_ini_file($inifile);
  64 + }
  65 +
  66 + // Order
  67 + $ini_lc = array_map('strtolower', array_keys($ini));
  68 + array_multisort($ini_lc, SORT_ASC, SORT_STRING, $ini);
  69 +
  70 + // Format
  71 + $info = array();
  72 + foreach ($ini as $key => $value) {
  73 + $info[$key] = array(
  74 + 'global_value' => $value,
  75 + 'local_value' => ini_get($key),
  76 + // No way to know this
  77 + 'access' => -1
  78 + );
  79 + }
  80 +
  81 + return $info;
  82 + }
  83 +}
  84 +
  85 +?>
0 \ No newline at end of file 86 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/is_a.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace function is_a()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.is_a
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.2.0
  30 + * @require PHP 4.0.0 (user_error) (is_subclass_of)
  31 + */
  32 +if (!function_exists('is_a')) {
  33 + function is_a($object, $class)
  34 + {
  35 + if (!is_object($object)) {
  36 + return false;
  37 + }
  38 +
  39 + if (get_class($object) == strtolower($class)) {
  40 + return true;
  41 + } else {
  42 + return is_subclass_of($object, $class);
  43 + }
  44 + }
  45 +}
  46 +
  47 +?>
0 \ No newline at end of file 48 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/md5_file.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace md5_file()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/md5_file
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.2.0
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('md5_file')) {
  33 + function md5_file($filename, $raw_output = false)
  34 + {
  35 + // Sanity check
  36 + if (!is_scalar($filename)) {
  37 + user_error('md5_file() expects parameter 1 to be string, ' .
  38 + gettype($filename) . ' given', E_USER_WARNING);
  39 + return;
  40 + }
  41 +
  42 + if (!is_scalar($raw_output)) {
  43 + user_error('md5_file() expects parameter 2 to be bool, ' .
  44 + gettype($raw_output) . ' given', E_USER_WARNING);
  45 + return;
  46 + }
  47 +
  48 + if (!file_exists($filename)) {
  49 + user_error('md5_file() Unable to open file', E_USER_WARNING);
  50 + return false;
  51 + }
  52 +
  53 + // Read the file
  54 + if (false === $fh = fopen($filename, 'rb')) {
  55 + user_error('md5_file() failed to open stream: No such file or directory',
  56 + E_USER_WARNING);
  57 + return false;
  58 + }
  59 +
  60 + clearstatcache();
  61 + if ($fsize = @filesize($filename)) {
  62 + $data = fread($fh, $fsize);
  63 + } else {
  64 + $data = '';
  65 + while (!feof($fh)) {
  66 + $data .= fread($fh, 8192);
  67 + }
  68 + }
  69 +
  70 + fclose($fh);
  71 +
  72 + // Return
  73 + if ($raw_output === true) {
  74 + $data = pack('H*', $data);
  75 + }
  76 +
  77 + return $data;
  78 + }
  79 +}
  80 +
  81 +?>
0 \ No newline at end of file 82 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/mhash.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +if (!defined('MHASH_CRC32')) {
  22 + define('MHASH_CRC32', 0);
  23 +}
  24 +
  25 +if (!defined('MHASH_MD5')) {
  26 + define('MHASH_MD5', 1);
  27 +}
  28 +
  29 +if (!defined('MHASH_SHA1')) {
  30 + define('MHASH_SHA1', 2);
  31 +}
  32 +
  33 +if (!defined('MHASH_HAVAL256')) {
  34 + define('MHASH_HAVAL256', 3);
  35 +}
  36 +
  37 +if (!defined('MHASH_RIPEMD160')) {
  38 + define('MHASH_RIPEMD160', 5);
  39 +}
  40 +
  41 +if (!defined('MHASH_TIGER')) {
  42 + define('MHASH_TIGER', 7);
  43 +}
  44 +
  45 +if (!defined('MHASH_GOST')) {
  46 + define('MHASH_GOST', 8);
  47 +}
  48 +
  49 +if (!defined('MHASH_CRC32B')) {
  50 + define('MHASH_CRC32B', 9);
  51 +}
  52 +
  53 +if (!defined('MHASH_HAVAL192')) {
  54 + define('MHASH_HAVAL192', 11);
  55 +}
  56 +
  57 +if (!defined('MHASH_HAVAL160')) {
  58 + define('MHASH_HAVAL160', 12);
  59 +}
  60 +
  61 +if (!defined('MHASH_HAVAL128')) {
  62 + define('MHASH_HAVAL128', 13);
  63 +}
  64 +
  65 +if (!defined('MHASH_TIGER128')) {
  66 + define('MHASH_TIGER128', 14);
  67 +}
  68 +
  69 +if (!defined('MHASH_TIGER160')) {
  70 + define('MHASH_TIGER160', 15);
  71 +}
  72 +
  73 +if (!defined('MHASH_MD4')) {
  74 + define('MHASH_MD4', 16);
  75 +}
  76 +
  77 +if (!defined('MHASH_SHA256')) {
  78 + define('MHASH_SHA256', 17);
  79 +}
  80 +
  81 +if (!defined('MHASH_ADLER32')) {
  82 + define('MHASH_ADLER32', 18);
  83 +}
  84 +
  85 +
  86 +/**
  87 + * Replace mhash()
  88 + *
  89 + * @category PHP
  90 + * @package PHP_Compat
  91 + * @link http://php.net/function.mhash
  92 + * @author Aidan Lister <aidan@php.net>
  93 + * @version $Revision$
  94 + * @since PHP 4.1.0
  95 + * @require PHP 4.0.0 (user_error)
  96 + */
  97 +if (!function_exists('mhash')) {
  98 + function mhash($hashtype, $data, $key = '')
  99 + {
  100 + switch ($hashtype) {
  101 + case MHASH_MD5:
  102 + $key = str_pad((strlen($key) > 64 ? pack("H*", md5($key)) : $key), 64, chr(0x00));
  103 + $k_opad = $key ^ (str_pad('', 64, chr(0x5c)));
  104 + $k_ipad = $key ^ (str_pad('', 64, chr(0x36)));
  105 + return pack("H*", md5($k_opad . pack("H*", md5($k_ipad . $data))));
  106 +
  107 + default:
  108 + return false;
  109 +
  110 + break;
  111 + }
  112 + }
  113 +}
  114 +
  115 +?>
0 \ No newline at end of file 116 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/ob_clean.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace ob_clean()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.ob_clean
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @author Thiemo Mättig (http://maettig.com/)
  29 + * @version $Revision$
  30 + * @since PHP 4.2.0
  31 + * @require PHP 4.0.0 (user_error)
  32 + */
  33 +if (!function_exists('ob_clean')) {
  34 + function ob_clean()
  35 + {
  36 + if (@ob_end_clean()) {
  37 + return ob_start();
  38 + }
  39 +
  40 + user_error("ob_clean() failed to delete buffer. No buffer to delete.", E_USER_NOTICE);
  41 +
  42 + return false;
  43 + }
  44 +}
  45 +
  46 +?>
0 \ No newline at end of file 47 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/ob_flush.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace ob_flush()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.ob_flush
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @author Thiemo Mättig (http://maettig.com/)
  29 + * @version $Revision$
  30 + * @since PHP 4.2.0
  31 + * @require PHP 4.0.0 (user_error)
  32 + */
  33 +if (!function_exists('ob_flush')) {
  34 + function ob_flush()
  35 + {
  36 + if (@ob_end_flush()) {
  37 + return ob_start();
  38 + }
  39 +
  40 + user_error("ob_flush() Failed to flush buffer. No buffer to flush.", E_USER_NOTICE);
  41 +
  42 + return false;
  43 + }
  44 +}
  45 +
  46 +?>
0 \ No newline at end of file 47 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/ob_get_clean.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace ob_get_clean()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.ob_get_clean
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @author Thiemo Mättig (http://maettig.com/)
  29 + * @version $Revision$
  30 + * @since PHP 4.3.0
  31 + * @require PHP 4.0.0 (user_error)
  32 + */
  33 +if (!function_exists('ob_get_clean')) {
  34 + function ob_get_clean()
  35 + {
  36 + $contents = ob_get_contents();
  37 +
  38 + if ($contents !== false) {
  39 + ob_end_clean();
  40 + }
  41 +
  42 + return $contents;
  43 + }
  44 +}
  45 +
  46 +?>
0 \ No newline at end of file 47 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/ob_get_flush.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace ob_get_flush()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.ob_get_flush
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @author Thiemo Mättig (http://maettig.com/)
  29 + * @version $Revision$
  30 + * @since PHP 4.3.0
  31 + * @require PHP 4.0.0 (user_error)
  32 + */
  33 +if (!function_exists('ob_get_flush')) {
  34 + function ob_get_flush()
  35 + {
  36 + $contents = ob_get_contents();
  37 +
  38 + if ($contents !== false) {
  39 + ob_end_flush();
  40 + }
  41 +
  42 + return $contents;
  43 + }
  44 +}
  45 +
  46 +?>
0 \ No newline at end of file 47 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/pg_affected_rows.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Ian Eure <ieure@php.net> |
  16 +// | Mocha (http://us4.php.net/pg_escape_bytea) |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace pg_affected_rows()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.pg_affectd_rows
  28 + * @author Ian Eure <ieure@php.net>
  29 + * @version $Revision@
  30 + * @since PHP 4.2.0
  31 + * @require PHP 4.0.0
  32 + */
  33 +if (!function_exists('pg_affected_rows')) {
  34 + function pg_affected_rows($resource)
  35 + {
  36 + return pg_cmdtuples($resource);
  37 + }
  38 +}
  39 +
  40 +?>
0 \ No newline at end of file 41 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/pg_escape_bytea.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Ian Eure <ieure@php.net> |
  16 +// | Mocha (http://us4.php.net/pg_escape_bytea) |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace pg_escape_bytea()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.pg_escape_bytea
  28 + * @author Ian Eure <ieure@php.net>
  29 + * @version $Revision@
  30 + * @since PHP 4.2.0
  31 + * @require PHP 4.0.0
  32 + */
  33 +if (!function_exists('pg_escape_bytea')) {
  34 + function pg_escape_bytea($data)
  35 + {
  36 + return str_replace(
  37 + array(chr(92), chr(0), chr(39)),
  38 + array('\\\134', '\\\000', '\\\047'),
  39 + $data);
  40 + }
  41 +}
  42 +
  43 +?>
0 \ No newline at end of file 44 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/pg_unescape_bytea.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Ian Eure <ieure@php.net> |
  16 +// | Tobias <php@tobias.olsson.be> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace pg_unescape_bytea()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.pg_unescape_bytea
  28 + * @author Ian Eure <ieure@php.net>
  29 + * @version $Revision@
  30 + * @since PHP 4.2.0
  31 + * @require PHP 4.0.0
  32 + */
  33 +if (!function_exists('pg_unescape_bytea')) {
  34 + function pg_unescape_bytea(&$data)
  35 + {
  36 + return str_replace(
  37 + array('$', '"'),
  38 + array('\\$', '\\"'),
  39 + $data);
  40 + }
  41 +}
  42 +?>
0 \ No newline at end of file 43 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/php_strip_whitespace.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace php_strip_whitespace()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.php_strip_whitespace
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + * @require PHP 4.0.0 (user_error) + Tokenizer extension
  31 + */
  32 +if (!function_exists('php_strip_whitespace')) {
  33 + function php_strip_whitespace($file)
  34 + {
  35 + // Sanity check
  36 + if (!is_scalar($file)) {
  37 + user_error('php_strip_whitespace() expects parameter 1 to be string, ' .
  38 + gettype($file) . ' given', E_USER_WARNING);
  39 + return;
  40 + }
  41 +
  42 + // Load file / tokens
  43 + $source = implode('', file($file));
  44 + $tokens = token_get_all($source);
  45 +
  46 + // Init
  47 + $source = '';
  48 + $was_ws = false;
  49 +
  50 + // Process
  51 + foreach ($tokens as $token) {
  52 + if (is_string($token)) {
  53 + // Single character tokens
  54 + $source .= $token;
  55 + } else {
  56 + list($id, $text) = $token;
  57 +
  58 + switch ($id) {
  59 + // Skip all comments
  60 + case T_COMMENT:
  61 + case T_ML_COMMENT:
  62 + case T_DOC_COMMENT:
  63 + break;
  64 +
  65 + // Remove whitespace
  66 + case T_WHITESPACE:
  67 + // We don't want more than one whitespace in a row replaced
  68 + if ($was_ws !== true) {
  69 + $source .= ' ';
  70 + }
  71 + $was_ws = true;
  72 + break;
  73 +
  74 + default:
  75 + $was_ws = false;
  76 + $source .= $text;
  77 + break;
  78 + }
  79 + }
  80 + }
  81 +
  82 + return $source;
  83 + }
  84 +}
  85 +
  86 +?>
0 \ No newline at end of file 87 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/restore_include_path.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Stephan Schmidt <schst@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace restore_include_path()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.restore_include_path
  27 + * @author Stephan Schmidt <schst@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.3.0
  30 + */
  31 +if (!function_exists('restore_include_path')) {
  32 + function restore_include_path()
  33 + {
  34 + return ini_restore('include_path');
  35 + }
  36 +}
  37 +?>
0 \ No newline at end of file 38 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/scandir.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace scandir()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.scandir
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('scandir')) {
  33 + function scandir($directory, $sorting_order = 0)
  34 + {
  35 + if (!is_string($directory)) {
  36 + user_error('scandir() expects parameter 1 to be string, ' .
  37 + gettype($directory) . ' given', E_USER_WARNING);
  38 + return;
  39 + }
  40 +
  41 + if (!is_int($sorting_order) && !is_bool($sorting_order)) {
  42 + user_error('scandir() expects parameter 2 to be long, ' .
  43 + gettype($sorting_order) . ' given', E_USER_WARNING);
  44 + return;
  45 + }
  46 +
  47 + if (!is_dir($directory) || (false === $fh = @opendir($directory))) {
  48 + user_error('scandir() failed to open dir: Invalid argument', E_USER_WARNING);
  49 + return false;
  50 + }
  51 +
  52 + $files = array ();
  53 + while (false !== ($filename = readdir($fh))) {
  54 + $files[] = $filename;
  55 + }
  56 +
  57 + closedir($fh);
  58 +
  59 + if ($sorting_order == 1) {
  60 + rsort($files);
  61 + } else {
  62 + sort($files);
  63 + }
  64 +
  65 + return $files;
  66 + }
  67 +}
  68 +
  69 +?>
0 \ No newline at end of file 70 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/set_include_path.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Stephan Schmidt <schst@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace set_include_path()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.set_include_path
  27 + * @author Stephan Schmidt <schst@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.3.0
  30 + */
  31 +if (!function_exists('set_include_path')) {
  32 + function set_include_path($new_include_path)
  33 + {
  34 + return ini_set('include_path', $new_include_path);
  35 + }
  36 +}
  37 +?>
0 \ No newline at end of file 38 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/str_ireplace.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace str_ireplace()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.str_ireplace
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + * @require PHP 4.0.0 (user_error)
  31 + * @note count not by returned by reference, to enable
  32 + * change '$count = null' to '&$count'
  33 + */
  34 +if (!function_exists('str_ireplace')) {
  35 + function str_ireplace($search, $replace, $subject, $count = null)
  36 + {
  37 + // Sanity check
  38 + if (is_string($search) && is_array($replace)) {
  39 + user_error('Array to string conversion', E_USER_NOTICE);
  40 + $replace = (string) $replace;
  41 + }
  42 +
  43 + // If search isn't an array, make it one
  44 + if (!is_array($search)) {
  45 + $search = array ($search);
  46 + }
  47 + $search = array_values($search);
  48 +
  49 + // If replace isn't an array, make it one, and pad it to the length of search
  50 + if (!is_array($replace)) {
  51 + $replace_string = $replace;
  52 +
  53 + $replace = array ();
  54 + for ($i = 0, $c = count($search); $i < $c; $i++) {
  55 + $replace[$i] = $replace_string;
  56 + }
  57 + }
  58 + $replace = array_values($replace);
  59 +
  60 + // Check the replace array is padded to the correct length
  61 + $length_replace = count($replace);
  62 + $length_search = count($search);
  63 + if ($length_replace < $length_search) {
  64 + for ($i = $length_replace; $i < $length_search; $i++) {
  65 + $replace[$i] = '';
  66 + }
  67 + }
  68 +
  69 + // If subject is not an array, make it one
  70 + $was_array = false;
  71 + if (!is_array($subject)) {
  72 + $was_array = true;
  73 + $subject = array ($subject);
  74 + }
  75 +
  76 + // Loop through each subject
  77 + $count = 0;
  78 + foreach ($subject as $subject_key => $subject_value) {
  79 + // Loop through each search
  80 + foreach ($search as $search_key => $search_value) {
  81 + // Split the array into segments, in between each part is our search
  82 + $segments = explode(strtolower($search_value), strtolower($subject_value));
  83 +
  84 + // The number of replacements done is the number of segments minus the first
  85 + $count += count($segments) - 1;
  86 + $pos = 0;
  87 +
  88 + // Loop through each segment
  89 + foreach ($segments as $segment_key => $segment_value) {
  90 + // Replace the lowercase segments with the upper case versions
  91 + $segments[$segment_key] = substr($subject_value, $pos, strlen($segment_value));
  92 + // Increase the position relative to the initial string
  93 + $pos += strlen($segment_value) + strlen($search_value);
  94 + }
  95 +
  96 + // Put our original string back together
  97 + $subject_value = implode($replace[$search_key], $segments);
  98 + }
  99 +
  100 + $result[$subject_key] = $subject_value;
  101 + }
  102 +
  103 + // Check if subject was initially a string and return it as a string
  104 + if ($was_array === true) {
  105 + return $result[0];
  106 + }
  107 +
  108 + // Otherwise, just return the array
  109 + return $result;
  110 + }
  111 +}
  112 +
  113 +?>
0 \ No newline at end of file 114 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/str_rot13.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Alan Morey <alan@caint.com> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace str_rot13()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.str_rot13
  28 + * @author Alan Morey <alan@caint.com>
  29 + * @author Aidan Lister <aidan@php.net>
  30 + * @version $Revision$
  31 + * @since PHP 4.0.0
  32 + */
  33 +if (!function_exists('str_rot13')) {
  34 + function str_rot13($str)
  35 + {
  36 + $from = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  37 + $to = 'nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM';
  38 +
  39 + return strtr($str, $from, $to);
  40 + }
  41 +}
  42 +
  43 +?>
0 \ No newline at end of file 44 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/str_shuffle.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace str_shuffle()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.str_shuffle
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.3.0
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('str_shuffle')) {
  33 + function str_shuffle($str)
  34 + {
  35 + $newstr = '';
  36 + $strlen = strlen($str);
  37 + $str = (string) $str;
  38 +
  39 + // Seed
  40 + list($usec, $sec) = explode(' ', microtime());
  41 + $seed = (float) $sec + ((float) $usec * 100000);
  42 + mt_srand($seed);
  43 +
  44 + // Shuffle
  45 + for ($i = 0; $strlen > $i; $i++) {
  46 + $newstr .= $str[mt_rand(0, $strlen - 1)];
  47 + }
  48 +
  49 + return $newstr;
  50 + }
  51 +}
  52 +
  53 +?>
0 \ No newline at end of file 54 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/str_split.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace str_split()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.str_split
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('str_split')) {
  33 + function str_split($string, $split_length = 1)
  34 + {
  35 + if (!is_scalar($split_length)) {
  36 + user_error('str_split() expects parameter 2 to be long, ' .
  37 + gettype($split_length) . ' given', E_USER_WARNING);
  38 + return false;
  39 + }
  40 +
  41 + $split_length = (int) $split_length;
  42 + if ($split_length < 1) {
  43 + user_error('str_split() The length of each segment must be greater than zero', E_USER_WARNING);
  44 + return false;
  45 + }
  46 +
  47 + // Select split method
  48 + if ($split_length < 65536) {
  49 + // Faster, but only works for less than 2^16
  50 + preg_match_all('/.{1,' . $split_length . '}/s', $string, $matches);
  51 + return $matches[0];
  52 + } else {
  53 + // Required due to preg limitations
  54 + $arr = array();
  55 + $idx = 0;
  56 + $pos = 0;
  57 + $len = strlen($string);
  58 +
  59 + while ($len > 0) {
  60 + $blk = ($len < $split_length) ? $len : $split_length;
  61 + $arr[$idx++] = substr($string, $pos, $blk);
  62 + $pos += $blk;
  63 + $len -= $blk;
  64 + }
  65 +
  66 + return $arr;
  67 + }
  68 + }
  69 +}
  70 +
  71 +?>
0 \ No newline at end of file 72 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/str_word_count.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace str_word_count()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.str_word_count
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.3.0
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('str_word_count')) {
  33 + function str_word_count($string, $format = null)
  34 + {
  35 + if ($format !== 1 && $format !== 2 && $format !== null) {
  36 + user_error('str_word_count() The specified format parameter, "' . $format . '" is invalid',
  37 + E_USER_WARNING);
  38 + return false;
  39 + }
  40 +
  41 + $word_string = preg_replace('/[0-9]+/', '', $string);
  42 + $word_array = preg_split('/[^A-Za-z0-9_\']+/', $word_string, -1, PREG_SPLIT_NO_EMPTY);
  43 +
  44 + switch ($format) {
  45 + case null:
  46 + $result = count($word_array);
  47 + break;
  48 +
  49 + case 1:
  50 + $result = $word_array;
  51 + break;
  52 +
  53 + case 2:
  54 + $lastmatch = 0;
  55 + $word_assoc = array();
  56 + foreach ($word_array as $word) {
  57 + $word_assoc[$lastmatch = strpos($string, $word, $lastmatch)] = $word;
  58 + $lastmatch += strlen($word);
  59 + }
  60 + $result = $word_assoc;
  61 + break;
  62 + }
  63 +
  64 + return $result;
  65 + }
  66 +}
  67 +
  68 +?>
0 \ No newline at end of file 69 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/stripos.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace stripos()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.stripos
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('stripos')) {
  33 + function stripos($haystack, $needle, $offset = null)
  34 + {
  35 + if (!is_scalar($haystack)) {
  36 + user_error('stripos() expects parameter 1 to be string, ' .
  37 + gettype($haystack) . ' given', E_USER_WARNING);
  38 + return false;
  39 + }
  40 +
  41 + if (!is_scalar($needle)) {
  42 + user_error('stripos() needle is not a string or an integer.', E_USER_WARNING);
  43 + return false;
  44 + }
  45 +
  46 + if (!is_int($offset) && !is_bool($offset) && !is_null($offset)) {
  47 + user_error('stripos() expects parameter 3 to be long, ' .
  48 + gettype($offset) . ' given', E_USER_WARNING);
  49 + return false;
  50 + }
  51 +
  52 + // Manipulate the string if there is an offset
  53 + $fix = 0;
  54 + if (!is_null($offset)) {
  55 + if ($offset > 0) {
  56 + $haystack = substr($haystack, $offset, strlen($haystack) - $offset);
  57 + $fix = $offset;
  58 + }
  59 + }
  60 +
  61 + $segments = explode(strtolower($needle), strtolower($haystack), 2);
  62 +
  63 + // Check there was a match
  64 + if (count($segments) === 1) {
  65 + return false;
  66 + }
  67 +
  68 + $position = strlen($segments[0]) + $fix;
  69 + return $position;
  70 + }
  71 +}
  72 +
  73 +?>
0 \ No newline at end of file 74 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/strpbrk.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Stephan Schmidt <schst@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace strpbrk()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.strpbrk
  27 + * @author Stephan Schmidt <schst@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 5
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('strpbrk')) {
  33 + function strpbrk($haystack, $char_list)
  34 + {
  35 + if (!is_scalar($haystack)) {
  36 + user_error('strpbrk() expects parameter 1 to be string, ' .
  37 + gettype($haystack) . ' given', E_USER_WARNING);
  38 + return false;
  39 + }
  40 +
  41 + if (!is_scalar($char_list)) {
  42 + user_error('strpbrk() expects parameter 2 to be scalar, ' .
  43 + gettype($needle) . ' given', E_USER_WARNING);
  44 + return false;
  45 + }
  46 +
  47 + $haystack = (string) $haystack;
  48 + $char_list = (string) $char_list;
  49 +
  50 + $len = strlen($haystack);
  51 + for ($i = 0; $i < $len; $i++) {
  52 + $char = substr($haystack, $i, 1);
  53 + if (strpos($char_list, $char) === false) {
  54 + continue;
  55 + }
  56 + return substr($haystack, $i);
  57 + }
  58 +
  59 + return false;
  60 + }
  61 +}
  62 +
  63 +?>
0 \ No newline at end of file 64 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/strripos.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// | Stephan Schmidt <schst@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace strripos()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.strripos
  28 + * @author Aidan Lister <aidan@php.net>
  29 + * @version $Revision$
  30 + * @since PHP 5
  31 + * @require PHP 4.0.0 (user_error)
  32 + */
  33 +if (!function_exists('strripos')) {
  34 + function strripos($haystack, $needle, $offset = null)
  35 + {
  36 + // Sanity check
  37 + if (!is_scalar($haystack)) {
  38 + user_error('strripos() expects parameter 1 to be scalar, ' .
  39 + gettype($haystack) . ' given', E_USER_WARNING);
  40 + return false;
  41 + }
  42 +
  43 + if (!is_scalar($needle)) {
  44 + user_error('strripos() expects parameter 2 to be scalar, ' .
  45 + gettype($needle) . ' given', E_USER_WARNING);
  46 + return false;
  47 + }
  48 +
  49 + if (!is_int($offset) && !is_bool($offset) && !is_null($offset)) {
  50 + user_error('strripos() expects parameter 3 to be long, ' .
  51 + gettype($offset) . ' given', E_USER_WARNING);
  52 + return false;
  53 + }
  54 +
  55 + // Initialise variables
  56 + $needle = strtolower($needle);
  57 + $haystack = strtolower($haystack);
  58 + $needle_fc = $needle{0};
  59 + $needle_len = strlen($needle);
  60 + $haystack_len = strlen($haystack);
  61 + $offset = (int) $offset;
  62 + $leftlimit = ($offset >= 0) ? $offset : 0;
  63 + $p = ($offset >= 0) ?
  64 + $haystack_len :
  65 + $haystack_len + $offset + 1;
  66 +
  67 + // Reverse iterate haystack
  68 + while (--$p > $leftlimit) {
  69 + if ($needle_fc === $haystack{$p} &&
  70 + substr($haystack, $p, $needle_len) === $needle) {
  71 + return $p;
  72 + }
  73 + }
  74 +
  75 + return false;
  76 + }
  77 +}
  78 +
  79 +?>
0 \ No newline at end of file 80 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/substr_compare.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Tom Buskens <ortega@php.net> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace substr_compare()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.substr_compare
  28 + * @author Tom Buskens <ortega@php.net>
  29 + * @author Aidan Lister <aidan@php.net>
  30 + * @version $Revision$
  31 + * @since PHP 5
  32 + * @require PHP 4.0.0 (user_error)
  33 + */
  34 +if (!function_exists('substr_compare')) {
  35 + function substr_compare($main_str, $str, $offset, $length = null, $case_insensitive = false)
  36 + {
  37 + if (!is_string($main_str)) {
  38 + user_error('substr_compare() expects parameter 1 to be string, ' .
  39 + gettype($main_str) . ' given', E_USER_WARNING);
  40 + return;
  41 + }
  42 +
  43 + if (!is_string($str)) {
  44 + user_error('substr_compare() expects parameter 2 to be string, ' .
  45 + gettype($str) . ' given', E_USER_WARNING);
  46 + return;
  47 + }
  48 +
  49 + if (!is_int($offset)) {
  50 + user_error('substr_compare() expects parameter 3 to be long, ' .
  51 + gettype($offset) . ' given', E_USER_WARNING);
  52 + return;
  53 + }
  54 +
  55 + if (is_null($length)) {
  56 + $length = strlen($main_str) - $offset;
  57 + } elseif ($offset >= strlen($main_str)) {
  58 + user_error('substr_compare() The start position cannot exceed initial string length',
  59 + E_USER_WARNING);
  60 + return false;
  61 + }
  62 +
  63 + $main_str = substr($main_str, $offset, $length);
  64 + $str = substr($str, 0, strlen($main_str));
  65 +
  66 + if ($case_insensitive === false) {
  67 + return strcmp($main_str, $str);
  68 + } else {
  69 + return strcasecmp($main_str, $str);
  70 + }
  71 + }
  72 +}
  73 +
  74 +?>
0 \ No newline at end of file 75 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/var_export.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace var_export()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.var_export
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.2.0
  30 + * @require PHP 4.0.0 (user_error)
  31 + */
  32 +if (!function_exists('var_export')) {
  33 + function var_export($array, $return = false)
  34 + {
  35 + // Common output variables
  36 + $indent = ' ';
  37 + $doublearrow = ' => ';
  38 + $lineend = ",\n";
  39 + $stringdelim = '\'';
  40 + $newline = "\n";
  41 + $find = array(null, '\\', '\'');
  42 + $replace = array('NULL', '\\\\', '\\\'');
  43 +
  44 + // Check the export isn't a simple string / int
  45 + if (is_string($array)) {
  46 + $out = $stringdelim . $array . $stringdelim;
  47 + } elseif (is_int($array)) {
  48 + $out = (string)$array;
  49 + } else {
  50 + // Begin the array export
  51 + // Start the string
  52 + $out = "array (\n";
  53 +
  54 + // Loop through each value in array
  55 + foreach ($array as $key => $value) {
  56 + // If the key is a string, delimit it
  57 + if (is_string($key)) {
  58 + $key = str_replace($find, $replace, $key);
  59 + $key = $stringdelim . $key . $stringdelim;
  60 + }
  61 +
  62 + // Delimit value
  63 + if (is_array($value)) {
  64 + // We have an array, so do some recursion
  65 + // Do some basic recursion while increasing the indent
  66 + $recur_array = explode($newline, var_export($value, true));
  67 + $temp_array = array();
  68 + foreach ($recur_array as $recur_line) {
  69 + $temp_array[] = $indent . $recur_line;
  70 + }
  71 + $recur_array = implode($newline, $temp_array);
  72 + $value = $newline . $recur_array;
  73 + } elseif (is_null($value)) {
  74 + $value = 'NULL';
  75 + } else {
  76 + $value = str_replace($find, $replace, $value);
  77 + $value = $stringdelim . $value . $stringdelim;
  78 + }
  79 +
  80 + // Piece together the line
  81 + $out .= $indent . $key . $doublearrow . $value . $lineend;
  82 + }
  83 +
  84 + // End our string
  85 + $out .= ")";
  86 + }
  87 +
  88 +
  89 + // Decide method of output
  90 + if ($return === true) {
  91 + return $out;
  92 + } else {
  93 + echo $out;
  94 + return;
  95 + }
  96 + }
  97 +}
  98 +
  99 +?>
0 \ No newline at end of file 100 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/version_compare.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Philippe Jausions <Philippe.Jausions@11abacus.com> |
  16 +// | Aidan Lister <aidan@php.net> |
  17 +// +----------------------------------------------------------------------+
  18 +//
  19 +// $Id$
  20 +
  21 +
  22 +/**
  23 + * Replace version_compare()
  24 + *
  25 + * @category PHP
  26 + * @package PHP_Compat
  27 + * @link http://php.net/function.version_compare
  28 + * @author Philippe Jausions <Philippe.Jausions@11abacus.com>
  29 + * @author Aidan Lister <aidan@php.net>
  30 + * @version $Revision$
  31 + * @since PHP 4.1.0
  32 + * @require PHP 4.0.0 (user_error)
  33 + */
  34 +if (!function_exists('version_compare')) {
  35 + function version_compare($version1, $version2, $operator = '<')
  36 + {
  37 + // Check input
  38 + if (!is_scalar($version1)) {
  39 + user_error('version_compare() expects parameter 1 to be string, ' .
  40 + gettype($version1) . ' given', E_USER_WARNING);
  41 + return;
  42 + }
  43 +
  44 + if (!is_scalar($version2)) {
  45 + user_error('version_compare() expects parameter 2 to be string, ' .
  46 + gettype($version2) . ' given', E_USER_WARNING);
  47 + return;
  48 + }
  49 +
  50 + if (!is_scalar($operator)) {
  51 + user_error('version_compare() expects parameter 3 to be string, ' .
  52 + gettype($operator) . ' given', E_USER_WARNING);
  53 + return;
  54 + }
  55 +
  56 + // Standardise versions
  57 + $v1 = explode('.',
  58 + str_replace('..', '.',
  59 + preg_replace('/([^0-9\.]+)/', '.$1.',
  60 + str_replace(array('-', '_', '+'), '.',
  61 + trim($version1)))));
  62 +
  63 + $v2 = explode('.',
  64 + str_replace('..', '.',
  65 + preg_replace('/([^0-9\.]+)/', '.$1.',
  66 + str_replace(array('-', '_', '+'), '.',
  67 + trim($version2)))));
  68 +
  69 + // Replace empty entries at the start of the array
  70 + while (empty($v1[0]) && array_shift($v1)) {}
  71 + while (empty($v2[0]) && array_shift($v2)) {}
  72 +
  73 + // Release state order
  74 + // '#' stands for any number
  75 + $versions = array(
  76 + 'dev' => 0,
  77 + 'alpha' => 1,
  78 + 'a' => 1,
  79 + 'beta' => 2,
  80 + 'b' => 2,
  81 + 'RC' => 3,
  82 + '#' => 4,
  83 + 'p' => 5,
  84 + 'pl' => 5);
  85 +
  86 + // Loop through each segment in the version string
  87 + $compare = 0;
  88 + for ($i = 0, $x = min(count($v1), count($v2)); $i < $x; $i++) {
  89 + if ($v1[$i] == $v2[$i]) {
  90 + continue;
  91 + }
  92 + $i1 = $v1[$i];
  93 + $i2 = $v2[$i];
  94 + if (is_numeric($i1) && is_numeric($i2)) {
  95 + $compare = ($i1 < $i2) ? -1 : 1;
  96 + break;
  97 + }
  98 + // We use the position of '#' in the versions list
  99 + // for numbers... (so take care of # in original string)
  100 + if ($i1 == '#') {
  101 + $i1 = '';
  102 + } elseif (is_numeric($i1)) {
  103 + $i1 = '#';
  104 + }
  105 + if ($i2 == '#') {
  106 + $i2 = '';
  107 + } elseif (is_numeric($i2])) {
  108 + $i2 = '#';
  109 + }
  110 + if (isset($versions[$i1]) && isset($versions[$i2])) {
  111 + $compare = ($versions[$i1] < $versions[$i2]) ? -1 : 1;
  112 + } elseif (isset($versions[$i1])) {
  113 + $compare = 1;
  114 + } elseif (isset($versions[$i2])) {
  115 + $compare = -1;
  116 + } else {
  117 + $compare = 0;
  118 + }
  119 +
  120 + break;
  121 + }
  122 +
  123 + // If previous loop didn't find anything, compare the "extra" segments
  124 + if ($compare == 0) {
  125 + if (count($v2) > count($v1)) {
  126 + if (isset($versions[$v2[$i]])) {
  127 + $compare = ($versions[$v2[$i]] < 4) ? 1 : -1;
  128 + } else {
  129 + $compare = -1;
  130 + }
  131 + } elseif (count($v2) < count($v1)) {
  132 + if (isset($versions[$v1[$i]])) {
  133 + $compare = ($versions[$v1[$i]] < 4) ? -1 : 1;
  134 + } else {
  135 + $compare = 1;
  136 + }
  137 + }
  138 + }
  139 +
  140 + // Compare the versions
  141 + if (func_num_args() > 2) {
  142 + switch ($operator) {
  143 + case '>':
  144 + case 'gt':
  145 + return (bool) ($compare > 0);
  146 + break;
  147 + case '>=':
  148 + case 'ge':
  149 + return (bool) ($compare >= 0);
  150 + break;
  151 + case '<=':
  152 + case 'le':
  153 + return (bool) ($compare <= 0);
  154 + break;
  155 + case '==':
  156 + case '=':
  157 + case 'eq':
  158 + return (bool) ($compare == 0);
  159 + break;
  160 + case '<>':
  161 + case '!=':
  162 + case 'ne':
  163 + return (bool) ($compare != 0);
  164 + break;
  165 + case '':
  166 + case '<':
  167 + case 'lt':
  168 + return (bool) ($compare < 0);
  169 + break;
  170 + default:
  171 + return;
  172 + }
  173 + }
  174 +
  175 + return $compare;
  176 + }
  177 +}
  178 +
  179 +?>
0 \ No newline at end of file 180 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/vprintf.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace vprintf()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.vprintf
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.1.0
  30 + * @require PHP 4.0.4 (call_user_func_array)
  31 + */
  32 +if (!function_exists('vprintf')) {
  33 + function vprintf ($format, $args)
  34 + {
  35 + if (count($args) < 2) {
  36 + user_error('vprintf() Too few arguments', E_USER_WARNING);
  37 + return;
  38 + }
  39 +
  40 + array_unshift($args, $format);
  41 + return call_user_func_array('printf', $args);
  42 + }
  43 +}
  44 +
  45 +?>
0 \ No newline at end of file 46 \ No newline at end of file
thirdparty/pear/PHP/Compat/Function/vsprintf.php 0 → 100644
  1 +<?php
  2 +// +----------------------------------------------------------------------+
  3 +// | PHP Version 4 |
  4 +// +----------------------------------------------------------------------+
  5 +// | Copyright (c) 1997-2004 The PHP Group |
  6 +// +----------------------------------------------------------------------+
  7 +// | This source file is subject to version 3.0 of the PHP license, |
  8 +// | that is bundled with this package in the file LICENSE, and is |
  9 +// | available at through the world-wide-web at |
  10 +// | http://www.php.net/license/3_0.txt. |
  11 +// | If you did not receive a copy of the PHP license and are unable to |
  12 +// | obtain it through the world-wide-web, please send a note to |
  13 +// | license@php.net so we can mail you a copy immediately. |
  14 +// +----------------------------------------------------------------------+
  15 +// | Authors: Aidan Lister <aidan@php.net> |
  16 +// +----------------------------------------------------------------------+
  17 +//
  18 +// $Id$
  19 +
  20 +
  21 +/**
  22 + * Replace vsprintf()
  23 + *
  24 + * @category PHP
  25 + * @package PHP_Compat
  26 + * @link http://php.net/function.vsprintf
  27 + * @author Aidan Lister <aidan@php.net>
  28 + * @version $Revision$
  29 + * @since PHP 4.1.0
  30 + * @require PHP 4.0.4 (call_user_func_array)
  31 + */
  32 +if (!function_exists('vsprintf')) {
  33 + function vsprintf ($format, $args)
  34 + {
  35 + if (count($args) < 2) {
  36 + user_error('vsprintf() Too few arguments', E_USER_WARNING);
  37 + return;
  38 + }
  39 +
  40 + array_unshift($args, $format);
  41 + return call_user_func_array('sprintf', $args);
  42 + }
  43 +}
  44 +
  45 +?>
0 \ No newline at end of file 46 \ No newline at end of file