Initial Commit of AgileBill Open Source
This commit is contained in:
71
includes/pear/Compat/Function/array_combine.php
Normal file
71
includes/pear/Compat/Function/array_combine.php
Normal file
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_combine.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_combine()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_combine
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('array_combine')) {
|
||||
function array_combine($keys, $values)
|
||||
{
|
||||
if (!is_array($keys)) {
|
||||
user_error('array_combine() expects parameter 1 to be array, ' .
|
||||
gettype($keys) . ' given', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!is_array($values)) {
|
||||
user_error('array_combine() expects parameter 2 to be array, ' .
|
||||
gettype($values) . ' given', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
$key_count = count($keys);
|
||||
$value_count = count($values);
|
||||
if ($key_count !== $value_count) {
|
||||
user_error('array_combine() Both parameters should have equal number of elements', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($key_count === 0 || $value_count === 0) {
|
||||
user_error('array_combine() Both parameters should have number of elements at least 0', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
$keys = array_values($keys);
|
||||
$values = array_values($values);
|
||||
|
||||
$combined = array();
|
||||
for ($i = 0; $i < $key_count; $i++) {
|
||||
$combined[$keys[$i]] = $values[$i];
|
||||
}
|
||||
|
||||
return $combined;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
75
includes/pear/Compat/Function/array_diff_assoc.php
Normal file
75
includes/pear/Compat/Function/array_diff_assoc.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_diff_assoc.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_diff_assoc()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_diff_assoc
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 4.3.0
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('array_diff_assoc')) {
|
||||
function array_diff_assoc()
|
||||
{
|
||||
// Check we have enough arguments
|
||||
$args = func_get_args();
|
||||
$count = count($args);
|
||||
if (count($args) < 2) {
|
||||
user_error('Wrong parameter count for array_diff_assoc()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_diff_assoc() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Get the comparison array
|
||||
$array_comp = array_shift($args);
|
||||
--$count;
|
||||
|
||||
// Traverse values of the first array
|
||||
foreach ($array_comp as $key => $value) {
|
||||
// Loop through the other arrays
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
// Loop through this arrays key/value pairs and compare
|
||||
foreach ($args[$i] as $comp_key => $comp_value) {
|
||||
if ((string)$key === (string)$comp_key &&
|
||||
(string)$value === (string)$comp_value)
|
||||
{
|
||||
|
||||
unset($array_comp[$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $array_comp;
|
||||
}
|
||||
}
|
||||
?>
|
66
includes/pear/Compat/Function/array_diff_key.php
Normal file
66
includes/pear/Compat/Function/array_diff_key.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_diff_key.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_diff_key()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_diff_key
|
||||
* @author Tom Buskens <ortega@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5.0.2
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('array_diff_key')) {
|
||||
function array_diff_key()
|
||||
{
|
||||
$args = func_get_args();
|
||||
if (count($args) < 2) {
|
||||
user_error('Wrong parameter count for array_diff_key()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$array_count = count($args);
|
||||
for ($i = 0; $i !== $array_count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_diff_key() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$result = $args[0];
|
||||
foreach ($args[0] as $key1 => $value1) {
|
||||
for ($i = 1; $i !== $array_count; $i++) {
|
||||
foreach ($args[$i] as $key2 => $value2) {
|
||||
if ((string) $key1 === (string) $key2) {
|
||||
unset($result[$key2]);
|
||||
break 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
83
includes/pear/Compat/Function/array_diff_uassoc.php
Normal file
83
includes/pear/Compat/Function/array_diff_uassoc.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_diff_uassoc.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_diff_uassoc()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_diff_uassoc
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5.0.0
|
||||
* @require PHP 4.0.6 (is_callable)
|
||||
*/
|
||||
if (!function_exists('array_diff_uassoc')) {
|
||||
function array_diff_uassoc()
|
||||
{
|
||||
// Sanity check
|
||||
$args = func_get_args();
|
||||
if (count($args) < 3) {
|
||||
user_error('Wrong parameter count for array_diff_uassoc()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get compare function
|
||||
$compare_func = array_pop($args);
|
||||
if (!is_callable($compare_func)) {
|
||||
if (is_array($compare_func)) {
|
||||
$compare_func = $compare_func[0] . '::' . $compare_func[1];
|
||||
}
|
||||
user_error('array_diff_uassoc() Not a valid callback ' .
|
||||
$compare_func, E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$array_count = count($args);
|
||||
for ($i = 0; $i !== $array_count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_diff_uassoc() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Compare entries
|
||||
$result = array();
|
||||
foreach ($args[0] as $k => $v) {
|
||||
for ($i = 1; $i < $array_count; $i++) {
|
||||
foreach ($args[$i] as $kk => $vv) {
|
||||
if ($v == $vv) {
|
||||
$compare = call_user_func_array($compare_func, array($k, $kk));
|
||||
if ($compare == 0) {
|
||||
continue 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$result[$k] = $v;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
79
includes/pear/Compat/Function/array_diff_ukey.php
Normal file
79
includes/pear/Compat/Function/array_diff_ukey.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_diff_ukey.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_diff_ukey()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_diff_ukey
|
||||
* @author Tom Buskens <ortega@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5.0.2
|
||||
* @require PHP 4.0.6 (is_callable)
|
||||
*/
|
||||
if (!function_exists('array_diff_ukey')) {
|
||||
function array_diff_ukey()
|
||||
{
|
||||
$args = func_get_args();
|
||||
if (count($args) < 3) {
|
||||
user_error('Wrong parameter count for array_diff_ukey()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get compare function
|
||||
$compare_func = array_pop($args);
|
||||
if (!is_callable($compare_func)) {
|
||||
if (is_array($compare_func)) {
|
||||
$compare_func = $compare_func[0].'::'.$compare_func[1];
|
||||
}
|
||||
user_error('array_diff_ukey() Not a valid callback ' .
|
||||
$compare_func, E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$array_count = count($args);
|
||||
for ($i = 0; $i !== $array_count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_diff_ukey() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Compare entries
|
||||
$result = $args[0];
|
||||
foreach ($args[0] as $key1 => $value1) {
|
||||
for ($i = 1; $i !== $array_count; $i++) {
|
||||
foreach ($args[$i] as $key2 => $value2) {
|
||||
if (!(call_user_func($compare_func, (string) $key1, (string) $key2))) {
|
||||
unset($result[$key1]);
|
||||
break 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
69
includes/pear/Compat/Function/array_intersect_assoc.php
Normal file
69
includes/pear/Compat/Function/array_intersect_assoc.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_intersect_assoc.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_intersect_assoc()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_intersect_assoc
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 4.3.0
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('array_intersect_assoc')) {
|
||||
function array_intersect_assoc()
|
||||
{
|
||||
// Sanity check
|
||||
$args = func_get_args();
|
||||
if (count($args) < 2) {
|
||||
user_error('wrong parameter count for array_intersect_assoc()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$array_count = count($args);
|
||||
for ($i = 0; $i !== $array_count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_intersect_assoc() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Compare entries
|
||||
$intersect = array();
|
||||
foreach ($args[0] as $key => $value) {
|
||||
$intersect[$key] = $value;
|
||||
|
||||
for ($i = 1; $i < $array_count; $i++) {
|
||||
if (!isset($args[$i][$key]) || $args[$i][$key] != $value) {
|
||||
unset($intersect[$key]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $intersect;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
67
includes/pear/Compat/Function/array_intersect_key.php
Normal file
67
includes/pear/Compat/Function/array_intersect_key.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_intersect_key.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_intersect_key()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_intersect_key
|
||||
* @author Tom Buskens <ortega@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5.0.2
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('array_intersect_key')) {
|
||||
function array_intersect_key()
|
||||
{
|
||||
$args = func_get_args();
|
||||
if (count($args) < 2) {
|
||||
user_error('Wrong parameter count for array_intersect_key()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$array_count = count($args);
|
||||
for ($i = 0; $i !== $array_count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_intersect_key() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Compare entries
|
||||
$result = array();
|
||||
foreach ($args[0] as $key1 => $value1) {
|
||||
for ($i = 1; $i !== $array_count; $i++) {
|
||||
foreach ($args[$i] as $key2 => $value2) {
|
||||
if ((string) $key1 === (string) $key2) {
|
||||
$result[$key1] = $value1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
90
includes/pear/Compat/Function/array_intersect_uassoc.php
Normal file
90
includes/pear/Compat/Function/array_intersect_uassoc.php
Normal file
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_intersect_uassoc.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_intersect_assoc()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_intersect_uassoc
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.6 (is_callable)
|
||||
*/
|
||||
if (!function_exists('array_intersect_uassoc')) {
|
||||
function array_intersect_uassoc()
|
||||
{
|
||||
// Sanity check
|
||||
$args = func_get_args();
|
||||
if (count($args) < 3) {
|
||||
user_error('Wrong parameter count for array_intersect_ukey()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get compare function
|
||||
$compare_func = array_pop($args);
|
||||
if (!is_callable($compare_func)) {
|
||||
if (is_array($compare_func)) {
|
||||
$compare_func = $compare_func[0] . '::' . $compare_func[1];
|
||||
}
|
||||
user_error('array_intersect_uassoc() Not a valid callback ' .
|
||||
$compare_func, E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$array_count = count($args);
|
||||
for ($i = 0; $i !== $array_count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_intersect_uassoc() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Compare entries
|
||||
$result = array();
|
||||
foreach ($args[0] as $k => $v) {
|
||||
for ($i = 0; $i < $array_count; $i++) {
|
||||
$match = false;
|
||||
foreach ($args[$i] as $kk => $vv) {
|
||||
$compare = call_user_func_array($compare_func, array($k, $kk));
|
||||
if ($compare === 0 && $v == $vv) {
|
||||
$match = true;
|
||||
continue 2;
|
||||
}
|
||||
}
|
||||
|
||||
if ($match === false) {
|
||||
continue 2;
|
||||
}
|
||||
}
|
||||
|
||||
if ($match === true) {
|
||||
$result[$k] = $v;
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
79
includes/pear/Compat/Function/array_intersect_ukey.php
Normal file
79
includes/pear/Compat/Function/array_intersect_ukey.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_intersect_ukey.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_intersect_ukey()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_intersect_ukey
|
||||
* @author Tom Buskens <ortega@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5.0.2
|
||||
* @require PHP 4.0.6 (is_callable)
|
||||
*/
|
||||
if (!function_exists('array_intersect_ukey')) {
|
||||
function array_intersect_ukey()
|
||||
{
|
||||
$args = func_get_args();
|
||||
if (count($args) < 3) {
|
||||
user_error('Wrong parameter count for array_intersect_ukey()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get compare function
|
||||
$compare_func = array_pop($args);
|
||||
if (!is_callable($compare_func)) {
|
||||
if (is_array($compare_func)) {
|
||||
$compare_func = $compare_func[0].'::'.$compare_func[1];
|
||||
}
|
||||
user_error('array_diff_ukey() Not a valid callback ' .
|
||||
$compare_func, E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$array_count = count($args);
|
||||
for ($i = 0; $i !== $array_count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_intersect_ukey() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Compare entries
|
||||
$result = array();
|
||||
foreach ($args[0] as $key1 => $value1) {
|
||||
for ($i = 1; $i !== $array_count; $i++) {
|
||||
foreach ($args[$i] as $key2 => $value2) {
|
||||
if (!(call_user_func($compare_func, (string) $key1, (string) $key2))) {
|
||||
$result[$key1] = $value1;
|
||||
break 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
83
includes/pear/Compat/Function/array_udiff.php
Normal file
83
includes/pear/Compat/Function/array_udiff.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Stephan Schmidt <schst@php.net> |
|
||||
// | Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_udiff.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_udiff()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_udiff
|
||||
* @author Stephan Schmidt <schst@php.net>
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.6 (is_callable)
|
||||
*/
|
||||
if (!function_exists('array_udiff')) {
|
||||
function array_udiff()
|
||||
{
|
||||
$args = func_get_args();
|
||||
|
||||
if (count($args) < 3) {
|
||||
user_error('Wrong parameter count for array_udiff()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get compare function
|
||||
$compare_func = array_pop($args);
|
||||
if (!is_callable($compare_func)) {
|
||||
if (is_array($compare_func)) {
|
||||
$compare_func = $compare_func[0] . '::' . $compare_func[1];
|
||||
}
|
||||
user_error('array_udiff() Not a valid callback ' .
|
||||
$compare_func, E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$cnt = count($args);
|
||||
for ($i = 0; $i < $cnt; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_udiff() Argument #' .
|
||||
($i + 1). ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$diff = array ();
|
||||
// Traverse values of the first array
|
||||
foreach ($args[0] as $key => $value) {
|
||||
// Check all arrays
|
||||
for ($i = 1; $i < $cnt; $i++) {
|
||||
foreach ($args[$i] as $cmp_value) {
|
||||
$result = call_user_func($compare_func, $value, $cmp_value);
|
||||
if ($result === 0) {
|
||||
continue 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
$diff[$key] = $value;
|
||||
}
|
||||
return $diff;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
85
includes/pear/Compat/Function/array_udiff_assoc.php
Normal file
85
includes/pear/Compat/Function/array_udiff_assoc.php
Normal file
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Stephan Schmidt <schst@php.net> |
|
||||
// | Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_udiff_assoc.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_udiff_assoc()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @author Stephan Schmidt <schst@php.net>
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @link http://php.net/function.array-udiff-assoc
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.6 (is_callable)
|
||||
*/
|
||||
if (!function_exists('array_udiff_assoc')) {
|
||||
function array_udiff_assoc()
|
||||
{
|
||||
$args = func_get_args();
|
||||
if (count($args) < 3) {
|
||||
user_error('Wrong parameter count for array_udiff_assoc()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get compare function
|
||||
$compare_func = array_pop($args);
|
||||
if (!is_callable($compare_func)) {
|
||||
if (is_array($compare_func)) {
|
||||
$compare_func = $compare_func[0] . '::' . $compare_func[1];
|
||||
}
|
||||
user_error('array_udiff_assoc() Not a valid callback ' .
|
||||
$compare_func, E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$count = count($args);
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_udiff_assoc() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$diff = array ();
|
||||
// Traverse values of the first array
|
||||
foreach ($args[0] as $key => $value) {
|
||||
// Check all arrays
|
||||
for ($i = 1; $i < $count; $i++) {
|
||||
if (!array_key_exists($key, $args[$i])) {
|
||||
continue;
|
||||
}
|
||||
$result = call_user_func($compare_func, $value, $args[$i][$key]);
|
||||
if ($result === 0) {
|
||||
continue 2;
|
||||
}
|
||||
}
|
||||
|
||||
$diff[$key] = $value;
|
||||
}
|
||||
|
||||
return $diff;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
82
includes/pear/Compat/Function/array_udiff_uassoc.php
Normal file
82
includes/pear/Compat/Function/array_udiff_uassoc.php
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_udiff_uassoc.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_udiff_uassoc()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_udiff_uassoc
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.6 (is_callable)
|
||||
*/
|
||||
if (!function_exists('array_udiff_uassoc')) {
|
||||
function array_udiff_uassoc()
|
||||
{
|
||||
$args = func_get_args();
|
||||
if (count($args) < 3) {
|
||||
user_error('Wrong parameter count for array_udiff_uassoc()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get compare function
|
||||
$compare_func = array_pop($args);
|
||||
if (!is_callable($compare_func)) {
|
||||
if (is_array($compare_func)) {
|
||||
$compare_func = $compare_func[0] . '::' . $compare_func[1];
|
||||
}
|
||||
user_error('array_udiff_uassoc() Not a valid callback ' . $compare_func, E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$count = count($args);
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_udiff_uassoc() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Traverse values of the first array
|
||||
$diff = array ();
|
||||
foreach ($args[0] as $key => $value) {
|
||||
// Check all arrays
|
||||
for ($i = 1; $i < $count; $i++) {
|
||||
if (!array_key_exists($key, $args[$i])) {
|
||||
continue;
|
||||
}
|
||||
$result = call_user_func($compare_func, $value, $args[$i][$key]);
|
||||
if ($result === 0) {
|
||||
continue 2;
|
||||
}
|
||||
}
|
||||
|
||||
$diff[$key] = $value;
|
||||
}
|
||||
|
||||
return $diff;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
82
includes/pear/Compat/Function/array_uintersect.php
Normal file
82
includes/pear/Compat/Function/array_uintersect.php
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Tom Buskens <ortega@php.net> |
|
||||
// | Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_uintersect.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_uintersect()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_uintersect
|
||||
* @author Tom Buskens <ortega@php.net>
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.6 (is_callable)
|
||||
*/
|
||||
if (!function_exists('array_uintersect')) {
|
||||
function array_uintersect()
|
||||
{
|
||||
$args = func_get_args();
|
||||
if (count($args) < 3) {
|
||||
user_error('wrong parameter count for array_uintersect()',
|
||||
E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get compare function
|
||||
$user_func = array_pop($args);
|
||||
if (!is_callable($user_func)) {
|
||||
if (is_array($user_func)) {
|
||||
$user_func = $user_func[0] . '::' . $user_func[1];
|
||||
}
|
||||
user_error('array_uintersect() Not a valid callback ' .
|
||||
$user_func, E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$array_count = count($args);
|
||||
for ($i = 0; $i < $array_count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_uintersect() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Compare entries
|
||||
$output = array();
|
||||
foreach ($args[0] as $key => $item) {
|
||||
for ($i = 1; $i !== $array_count; $i++) {
|
||||
$array = $args[$i];
|
||||
foreach($array as $key0 => $item0) {
|
||||
if (!call_user_func($user_func, $item, $item0)) {
|
||||
$output[$key] = $item;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
81
includes/pear/Compat/Function/array_uintersect_assoc.php
Normal file
81
includes/pear/Compat/Function/array_uintersect_assoc.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Tom Buskens <ortega@php.net> |
|
||||
// | Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_uintersect_assoc.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_uintersect_assoc()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_uintersect_assoc
|
||||
* @author Tom Buskens <ortega@php.net>
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.6 (is_callable)
|
||||
*/
|
||||
if (!function_exists('array_uintersect_assoc')) {
|
||||
function array_uintersect_assoc()
|
||||
{
|
||||
$args = func_get_args();
|
||||
if (count($args) < 3) {
|
||||
user_error('wrong parameter count for array_uintersect_assoc()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get compare function
|
||||
$user_func = array_pop($args);
|
||||
if (!is_callable($user_func)) {
|
||||
if (is_array($user_func)) {
|
||||
$user_func = $user_func[0] . '::' . $user_func[1];
|
||||
}
|
||||
user_error('array_uintersect_assoc() Not a valid callback ' .
|
||||
$user_func, E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$array_count = count($args);
|
||||
for ($i = 0; $i < $array_count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_uintersect_assoc() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Compare entries
|
||||
$output = array();
|
||||
foreach ($args[0] as $key => $item) {
|
||||
for ($i = 1; $i !== $array_count; $i++) {
|
||||
if (array_key_exists($key, $args[$i])) {
|
||||
$compare = call_user_func($user_func, $item, $args[$i][$key]);
|
||||
if ($compare === 0) {
|
||||
$output[$key] = $item;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
97
includes/pear/Compat/Function/array_uintersect_uassoc.php
Normal file
97
includes/pear/Compat/Function/array_uintersect_uassoc.php
Normal file
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_uintersect_uassoc.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_uintersect_uassoc()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_uintersect_uassoc
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.6 (is_callable)
|
||||
*/
|
||||
if (!function_exists('array_uintersect_uassoc')) {
|
||||
function array_uintersect_uassoc()
|
||||
{
|
||||
$args = func_get_args();
|
||||
if (count($args) < 4) {
|
||||
user_error('Wrong parameter count for array_uintersect_uassoc()',
|
||||
E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get key_compare_func
|
||||
$key_compare_func = array_pop($args);
|
||||
if (!is_callable($key_compare_func)) {
|
||||
if (is_array($key_compare_func)) {
|
||||
$key_compare_func = $key_compare_func[0] . '::' . $key_compare_func[1];
|
||||
}
|
||||
user_error('array_uintersect_uassoc() Not a valid callback ' .
|
||||
$key_compare_func, E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get data_compare_func
|
||||
$data_compare_func = array_pop($args);
|
||||
if (!is_callable($data_compare_func)) {
|
||||
if (is_array($data_compare_func)) {
|
||||
$data_compare_func = $data_compare_func[0] . '::' . $data_compare_func[1];
|
||||
}
|
||||
user_error('array_uintersect_uassoc() Not a valid callback '
|
||||
. $data_compare_func, E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check arrays
|
||||
$count = count($args);
|
||||
for ($i = 0; $i !== $count; $i++) {
|
||||
if (!is_array($args[$i])) {
|
||||
user_error('array_uintersect_uassoc() Argument #' .
|
||||
($i + 1) . ' is not an array', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Traverse values of the first array
|
||||
$intersect = array ();
|
||||
foreach ($args[0] as $key => $value) {
|
||||
// Check against each array
|
||||
for ($i = 1; $i < $count; $i++) {
|
||||
// Traverse each element in current array
|
||||
foreach ($args[$i] as $ckey => $cvalue) {
|
||||
// Compare key and value
|
||||
if (call_user_func($key_compare_func, $key, $ckey) === 0 &&
|
||||
call_user_func($data_compare_func, $value, $cvalue) === 0)
|
||||
{
|
||||
|
||||
$intersect[$key] = $value;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $intersect;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
68
includes/pear/Compat/Function/array_walk_recursive.php
Normal file
68
includes/pear/Compat/Function/array_walk_recursive.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Tom Buskens <ortega@php.net> |
|
||||
// | Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: array_walk_recursive.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace array_walk_recursive()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.array_walk_recursive
|
||||
* @author Tom Buskens <ortega@php.net>
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.6 (is_callable)
|
||||
*/
|
||||
if (!function_exists('array_walk_recursive')) {
|
||||
function array_walk_recursive(&$input, $funcname)
|
||||
{
|
||||
if (!is_callable($funcname)) {
|
||||
if (is_array($funcname)) {
|
||||
$funcname = $funcname[0] . '::' . $funcname[1];
|
||||
}
|
||||
user_error('array_walk_recursive() Not a valid callback ' . $user_func,
|
||||
E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!is_array($input)) {
|
||||
user_error('array_walk_recursive() The argument should be an array',
|
||||
E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
$args = func_get_args();
|
||||
|
||||
foreach ($input as $key => $item) {
|
||||
if (is_array($item)) {
|
||||
array_walk_recursive($item, $funcname, $args);
|
||||
$input[$key] = $item;
|
||||
} else {
|
||||
$args[0] = &$item;
|
||||
$args[1] = &$key;
|
||||
call_user_func_array($funcname, $args);
|
||||
$input[$key] = $item;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
56
includes/pear/Compat/Function/clone.php
Normal file
56
includes/pear/Compat/Function/clone.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: clone.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace clone()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/language.oop5.cloning
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5.0.0
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (version_compare(phpversion(), '5.0') === -1) {
|
||||
// Needs to be wrapped in eval as clone is a keyword in PHP5
|
||||
eval('
|
||||
function clone($object)
|
||||
{
|
||||
// Sanity check
|
||||
if (!is_object($object)) {
|
||||
user_error(\'clone() __clone method called on non-object\', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Use serialize/unserialize trick to deep copy the object
|
||||
$object = unserialize(serialize($object));
|
||||
|
||||
// If there is a __clone method call it on the "new" class
|
||||
if (method_exists($object, \'__clone\')) {
|
||||
$object->__clone();
|
||||
}
|
||||
|
||||
return $object;
|
||||
}
|
||||
');
|
||||
}
|
||||
|
||||
?>
|
79
includes/pear/Compat/Function/convert_uudecode.php
Normal file
79
includes/pear/Compat/Function/convert_uudecode.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Michael Wallner <mike@php.net> |
|
||||
// | Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: convert_uudecode.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace convert_uudecode()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.convert_uudecode
|
||||
* @author Michael Wallner <mike@php.net>
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('convert_uudecode')) {
|
||||
function convert_uudecode($string)
|
||||
{
|
||||
// Sanity check
|
||||
if (!is_scalar($string)) {
|
||||
user_error('convert_uuencode() expects parameter 1 to be string, ' .
|
||||
gettype($string) . ' given', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (strlen($string) < 8) {
|
||||
user_error('convert_uuencode() The given parameter is not a valid uuencoded string', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
$decoded = '';
|
||||
foreach (explode("\n", $string) as $line) {
|
||||
|
||||
$c = count($bytes = unpack('c*', substr(trim($line), 1)));
|
||||
|
||||
while ($c % 4) {
|
||||
$bytes[++$c] = 0;
|
||||
}
|
||||
|
||||
foreach (array_chunk($bytes, 4) as $b) {
|
||||
$b0 = $b[0] == 0x60 ? 0 : $b[0] - 0x20;
|
||||
$b1 = $b[1] == 0x60 ? 0 : $b[1] - 0x20;
|
||||
$b2 = $b[2] == 0x60 ? 0 : $b[2] - 0x20;
|
||||
$b3 = $b[3] == 0x60 ? 0 : $b[3] - 0x20;
|
||||
|
||||
$b0 <<= 2;
|
||||
$b0 |= ($b1 >> 4) & 0x03;
|
||||
$b1 <<= 4;
|
||||
$b1 |= ($b2 >> 2) & 0x0F;
|
||||
$b2 <<= 6;
|
||||
$b2 |= $b3 & 0x3F;
|
||||
|
||||
$decoded .= pack('c*', $b0, $b1, $b2);
|
||||
}
|
||||
}
|
||||
|
||||
return rtrim($decoded, "\0");
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
79
includes/pear/Compat/Function/convert_uuencode.php
Normal file
79
includes/pear/Compat/Function/convert_uuencode.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Michael Wallner <mike@php.net> |
|
||||
// | Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: convert_uuencode.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace convert_uuencode()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.convert_uuencode
|
||||
* @author Michael Wallner <mike@php.net>
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('convert_uuencode')) {
|
||||
function convert_uuencode($string)
|
||||
{
|
||||
// Sanity check
|
||||
if (!is_scalar($string)) {
|
||||
user_error('convert_uuencode() expects parameter 1 to be string, ' .
|
||||
gettype($string) . ' given', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
$u = 0;
|
||||
$encoded = '';
|
||||
|
||||
while ($c = count($bytes = unpack('c*', substr($string, $u, 45)))) {
|
||||
$u += 45;
|
||||
$encoded .= pack('c', $c + 0x20);
|
||||
|
||||
while ($c % 3) {
|
||||
$bytes[++$c] = 0;
|
||||
}
|
||||
|
||||
foreach (array_chunk($bytes, 3) as $b) {
|
||||
$b0 = ($b[0] & 0xFC) >> 2;
|
||||
$b1 = (($b[0] & 0x03) << 4) + (($b[1] & 0xF0) >> 4);
|
||||
$b2 = (($b[1] & 0x0F) << 2) + (($b[2] & 0xC0) >> 6);
|
||||
$b3 = $b[2] & 0x3F;
|
||||
|
||||
$b0 = $b0 ? $b0 + 0x20 : 0x60;
|
||||
$b1 = $b1 ? $b1 + 0x20 : 0x60;
|
||||
$b2 = $b2 ? $b2 + 0x20 : 0x60;
|
||||
$b3 = $b3 ? $b3 + 0x20 : 0x60;
|
||||
|
||||
$encoded .= pack('c*', $b0, $b1, $b2, $b3);
|
||||
}
|
||||
|
||||
$encoded .= "\n";
|
||||
}
|
||||
|
||||
// Add termination characters
|
||||
$encoded .= "\x60\n";
|
||||
|
||||
return $encoded;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
67
includes/pear/Compat/Function/debug_print_backtrace.php
Normal file
67
includes/pear/Compat/Function/debug_print_backtrace.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Laurent Laville <pear@laurent-laville.org> |
|
||||
// | Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: debug_print_backtrace.php,v 1.1 2005/07/23 05:56:02 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace debug_print_backtrace()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.debug_print_backtrace
|
||||
* @author Laurent Laville <pear@laurent-laville.org>
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0
|
||||
*/
|
||||
if (!function_exists('debug_print_backtrace2')) {
|
||||
function debug_print_backtrace2()
|
||||
{
|
||||
// Get backtrace
|
||||
$backtrace = debug_backtrace();
|
||||
|
||||
// Unset call to debug_print_backtrace
|
||||
array_shift($backtrace);
|
||||
|
||||
// Iterate backtrace
|
||||
$calls = array();
|
||||
foreach ($backtrace as $i => $call) {
|
||||
$location = $call['file'] . ':' . $call['line'];
|
||||
$function = (isset($call['class'])) ?
|
||||
$call['class'] . '.' . $call['function'] :
|
||||
$call['function'];
|
||||
|
||||
$params = '';
|
||||
if (isset($call['args'])) {
|
||||
$params = implode(', ', $call['args']);
|
||||
}
|
||||
|
||||
$calls[] = sprintf('#%d %s(%s) called at [%s]',
|
||||
$i,
|
||||
$function,
|
||||
$params,
|
||||
$location);
|
||||
}
|
||||
|
||||
echo implode("\n", $calls);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
57
includes/pear/Compat/Function/file_get_contents.php
Normal file
57
includes/pear/Compat/Function/file_get_contents.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: file_get_contents.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace file_get_contents()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.file_get_contents
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @internal resource_context is not supported
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('file_get_contents')) {
|
||||
function file_get_contents($filename, $incpath = false, $resource_context = null)
|
||||
{
|
||||
if (false === $fh = fopen($filename, 'rb', $incpath)) {
|
||||
user_error('file_get_contents() failed to open stream: No such file or directory',
|
||||
E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
clearstatcache();
|
||||
if ($fsize = @filesize($filename)) {
|
||||
$data = fread($fh, $fsize);
|
||||
} else {
|
||||
$data = '';
|
||||
while (!feof($fh)) {
|
||||
$data .= fread($fh, 8192);
|
||||
}
|
||||
}
|
||||
|
||||
fclose($fh);
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
104
includes/pear/Compat/Function/file_put_contents.php
Normal file
104
includes/pear/Compat/Function/file_put_contents.php
Normal file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: file_put_contents.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
if (!defined('FILE_USE_INCLUDE_PATH')) {
|
||||
define('FILE_USE_INCLUDE_PATH', 1);
|
||||
}
|
||||
|
||||
if (!defined('FILE_APPEND')) {
|
||||
define('FILE_APPEND', 8);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Replace file_put_contents()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.file_put_contents
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @internal resource_context is not supported
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('file_put_contents')) {
|
||||
function file_put_contents($filename, $content, $flags = null, $resource_context = null)
|
||||
{
|
||||
// If $content is an array, convert it to a string
|
||||
if (is_array($content)) {
|
||||
$content = implode('', $content);
|
||||
}
|
||||
|
||||
// If we don't have a string, throw an error
|
||||
if (!is_scalar($content)) {
|
||||
user_error('file_put_contents() The 2nd parameter should be either a string or an array',
|
||||
E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Get the length of date to write
|
||||
$length = strlen($content);
|
||||
|
||||
// Check what mode we are using
|
||||
$mode = ($flags & FILE_APPEND) ?
|
||||
$mode = 'a' :
|
||||
$mode = 'w';
|
||||
|
||||
// Check if we're using the include path
|
||||
$use_inc_path = ($flags & FILE_USE_INCLUDE_PATH) ?
|
||||
true :
|
||||
false;
|
||||
|
||||
// Open the file for writing
|
||||
if (($fh = @fopen($filename, $mode, $use_inc_path)) === false) {
|
||||
user_error('file_put_contents() failed to open stream: Permission denied',
|
||||
E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Write to the file
|
||||
$bytes = 0;
|
||||
if (($bytes = @fwrite($fh, $content)) === false) {
|
||||
$errormsg = sprintf('file_put_contents() Failed to write %d bytes to %s',
|
||||
$length,
|
||||
$filename);
|
||||
user_error($errormsg, E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Close the handle
|
||||
@fclose($fh);
|
||||
|
||||
// Check all the data was written
|
||||
if ($bytes != $length) {
|
||||
$errormsg = sprintf('file_put_contents() Only %d of %d bytes written, possibly out of free disk space.',
|
||||
$bytes,
|
||||
$length);
|
||||
user_error($errormsg, E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Return length
|
||||
return $bytes;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
54
includes/pear/Compat/Function/fprintf.php
Normal file
54
includes/pear/Compat/Function/fprintf.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: fprintf.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace fprintf()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.fprintf
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('fprintf')) {
|
||||
function fprintf() {
|
||||
$args = func_get_args();
|
||||
|
||||
if (count($args) < 2) {
|
||||
user_error('Wrong parameter count for fprintf()', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
$resource_handle = array_shift($args);
|
||||
$format = array_shift($args);
|
||||
|
||||
if (!is_resource($resource_handle)) {
|
||||
user_error('fprintf() supplied argument is not a valid stream resource',
|
||||
E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
return fwrite($resource_handle, vsprintf($format, $args));
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
77
includes/pear/Compat/Function/get_headers.php
Normal file
77
includes/pear/Compat/Function/get_headers.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: get_headers.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace get_headers()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.get_headers
|
||||
* @author Aeontech <aeontech@gmail.com>
|
||||
* @author Cpurruc <cpurruc@fh-landshut.de>
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5.0.0
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('get_headers')) {
|
||||
function get_headers($url, $format = 0)
|
||||
{
|
||||
// Init
|
||||
$urlinfo = parse_url($url);
|
||||
$port = isset($urlinfo['port']) ? $urlinfo['port'] : 80;
|
||||
|
||||
// Connect
|
||||
$fp = fsockopen($urlinfo['host'], $port, $errno, $errstr, 30);
|
||||
if ($fp === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Send request
|
||||
$head = 'HEAD ' . $urlinfo['path'] .
|
||||
(isset($urlinfo['query']) ? '?' . $urlinfo['query'] : '') .
|
||||
' HTTP/1.0' . "\r\n" .
|
||||
'Host: ' . $urlinfo['host'] . "\r\n\r\n";
|
||||
fputs($fp, $head);
|
||||
|
||||
// Read
|
||||
while (!feof($fp)) {
|
||||
if ($header = trim(fgets($fp, 1024))) {
|
||||
list($key) = explode(':', $header);
|
||||
|
||||
if ($format === 1) {
|
||||
// First element is the HTTP header type, such as HTTP 200 OK
|
||||
// It doesn't have a separate name, so check for it
|
||||
if ($key == $header) {
|
||||
$headers[] = $header;
|
||||
} else {
|
||||
$headers[$key] = substr($header, strlen($key)+2);
|
||||
}
|
||||
} else {
|
||||
$headers[] = $header;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $headers;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
39
includes/pear/Compat/Function/get_include_path.php
Normal file
39
includes/pear/Compat/Function/get_include_path.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Stephan Schmidt <schst@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: get_include_path.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace get_include_path()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.get_include_path
|
||||
* @author Stephan Schmidt <schst@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 4.3.0
|
||||
* @require PHP 4.0.0
|
||||
*/
|
||||
if (!function_exists('get_include_path')) {
|
||||
function get_include_path()
|
||||
{
|
||||
return ini_get('include_path');
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
72
includes/pear/Compat/Function/html_entity_decode.php
Normal file
72
includes/pear/Compat/Function/html_entity_decode.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: David Irvine <dave@codexweb.co.za> |
|
||||
// | Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: html_entity_decode.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
if (!defined('ENT_NOQUOTES')) {
|
||||
define('ENT_NOQUOTES', 0);
|
||||
}
|
||||
|
||||
if (!defined('ENT_COMPAT')) {
|
||||
define('ENT_COMPAT', 2);
|
||||
}
|
||||
|
||||
if (!defined('ENT_QUOTES')) {
|
||||
define('ENT_QUOTES', 3);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Replace html_entity_decode()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.html_entity_decode
|
||||
* @author David Irvine <dave@codexweb.co.za>
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 4.3.0
|
||||
* @internal Setting the charset will not do anything
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('html_entity_decode')) {
|
||||
function html_entity_decode($string, $quote_style = ENT_COMPAT, $charset = null)
|
||||
{
|
||||
if (!is_int($quote_style)) {
|
||||
user_error('html_entity_decode() expects parameter 2 to be long, ' .
|
||||
gettype($quote_style) . ' given', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
|
||||
$trans_tbl = array_flip($trans_tbl);
|
||||
|
||||
// Add single quote to translation table;
|
||||
$trans_tbl['''] = '\'';
|
||||
|
||||
// Not translating double quotes
|
||||
if ($quote_style & ENT_NOQUOTES) {
|
||||
// Remove double quote from translation table
|
||||
unset($trans_tbl['"']);
|
||||
}
|
||||
|
||||
return strtr($string, $trans_tbl);
|
||||
}
|
||||
}
|
||||
?>
|
99
includes/pear/Compat/Function/http_build_query.php
Normal file
99
includes/pear/Compat/Function/http_build_query.php
Normal file
@@ -0,0 +1,99 @@
|
||||
<?PHP
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Stephan Schmidt <schst@php.net> |
|
||||
// | Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: http_build_query.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace function http_build_query()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.http-build-query
|
||||
* @author Stephan Schmidt <schst@php.net>
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('http_build_query')) {
|
||||
function http_build_query($formdata, $numeric_prefix = null)
|
||||
{
|
||||
// If $formdata is an object, convert it to an array
|
||||
if (is_object($formdata)) {
|
||||
$formdata = get_object_vars($formdata);
|
||||
}
|
||||
|
||||
// Check we have an array to work with
|
||||
if (!is_array($formdata)) {
|
||||
user_error('http_build_query() Parameter 1 expected to be Array or Object. Incorrect value given.',
|
||||
E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
// If the array is empty, return null
|
||||
if (empty($formdata)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Argument seperator
|
||||
$separator = ini_get('arg_separator.output');
|
||||
|
||||
// Start building the query
|
||||
$tmp = array ();
|
||||
foreach ($formdata as $key => $val) {
|
||||
if (is_integer($key) && $numeric_prefix != null) {
|
||||
$key = $numeric_prefix . $key;
|
||||
}
|
||||
|
||||
if (is_scalar($val)) {
|
||||
array_push($tmp, urlencode($key).'='.urlencode($val));
|
||||
continue;
|
||||
}
|
||||
|
||||
// If the value is an array, recursively parse it
|
||||
if (is_array($val)) {
|
||||
array_push($tmp, __http_build_query($val, urlencode($key)));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
return implode($separator, $tmp);
|
||||
}
|
||||
|
||||
// Helper function
|
||||
function __http_build_query ($array, $name)
|
||||
{
|
||||
$tmp = array ();
|
||||
foreach ($array as $key => $value) {
|
||||
if (is_array($value)) {
|
||||
array_push($tmp, __http_build_query($value, sprintf('%s[%s]', $name, $key)));
|
||||
} elseif (is_scalar($value)) {
|
||||
array_push($tmp, sprintf('%s[%s]=%s', $name, urlencode($key), urlencode($value)));
|
||||
} elseif (is_object($value)) {
|
||||
array_push($tmp, __http_build_query(get_object_vars($value), sprintf('%s[%s]', $name, $key)));
|
||||
}
|
||||
}
|
||||
|
||||
// Argument seperator
|
||||
$separator = ini_get('arg_separator.output');
|
||||
|
||||
return implode($separator, $tmp);
|
||||
}
|
||||
}
|
||||
?>
|
147
includes/pear/Compat/Function/image_type_to_mime_type.php
Normal file
147
includes/pear/Compat/Function/image_type_to_mime_type.php
Normal file
@@ -0,0 +1,147 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: image_type_to_mime_type.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
if (!defined('IMAGETYPE_GIF')) {
|
||||
define('IMAGETYPE_GIF', 1);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_JPEG')) {
|
||||
define('IMAGETYPE_JPEG', 2);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_PNG')) {
|
||||
define('IMAGETYPE_PNG', 3);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_SWF')) {
|
||||
define('IMAGETYPE_SWF', 4);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_PSD')) {
|
||||
define('IMAGETYPE_PSD', 5);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_BMP')) {
|
||||
define('IMAGETYPE_BMP', 6);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_TIFF_II')) {
|
||||
define('IMAGETYPE_TIFF_II', 7);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_TIFF_MM')) {
|
||||
define('IMAGETYPE_TIFF_MM', 8);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_JPC')) {
|
||||
define('IMAGETYPE_JPC', 9);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_JP2')) {
|
||||
define('IMAGETYPE_JP2', 10);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_JPX')) {
|
||||
define('IMAGETYPE_JPX', 11);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_JB2')) {
|
||||
define('IMAGETYPE_JB2', 12);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_SWC')) {
|
||||
define('IMAGETYPE_SWC', 13);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_IFF')) {
|
||||
define('IMAGETYPE_IFF', 14);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_WBMP')) {
|
||||
define('IMAGETYPE_WBMP', 15);
|
||||
}
|
||||
|
||||
if (!defined('IMAGETYPE_XBM')) {
|
||||
define('IMAGETYPE_XBM', 16);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Replace image_type_to_mime_type()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.image_type_to_mime_type
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 4.3.0
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('image_type_to_mime_type')) {
|
||||
function image_type_to_mime_type($imagetype)
|
||||
{
|
||||
switch ($imagetype):
|
||||
case IMAGETYPE_GIF:
|
||||
return 'image/gif';
|
||||
break;
|
||||
case IMAGETYPE_JPEG:
|
||||
return 'image/jpeg';
|
||||
break;
|
||||
case IMAGETYPE_PNG:
|
||||
return 'image/png';
|
||||
break;
|
||||
case IMAGETYPE_SWF:
|
||||
case IMAGETYPE_SWC:
|
||||
return 'application/x-shockwave-flash';
|
||||
break;
|
||||
case IMAGETYPE_PSD:
|
||||
return 'image/psd';
|
||||
break;
|
||||
case IMAGETYPE_BMP:
|
||||
return 'image/bmp';
|
||||
break;
|
||||
case IMAGETYPE_TIFF_MM:
|
||||
case IMAGETYPE_TIFF_II:
|
||||
return 'image/tiff';
|
||||
break;
|
||||
case IMAGETYPE_JP2:
|
||||
return 'image/jp2';
|
||||
break;
|
||||
case IMAGETYPE_IFF:
|
||||
return 'image/iff';
|
||||
break;
|
||||
case IMAGETYPE_WBMP:
|
||||
return 'image/vnd.wap.wbmp';
|
||||
break;
|
||||
case IMAGETYPE_XBM:
|
||||
return 'image/xbm';
|
||||
break;
|
||||
case IMAGETYPE_JPX:
|
||||
case IMAGETYPE_JB2:
|
||||
case IMAGETYPE_JPC:
|
||||
default:
|
||||
return 'application/octet-stream';
|
||||
break;
|
||||
|
||||
endswitch;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
46
includes/pear/Compat/Function/ob_get_clean.php
Normal file
46
includes/pear/Compat/Function/ob_get_clean.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: ob_get_clean.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace ob_get_clean()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.ob_get_clean
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @author Thiemo M<>ttig (http://maettig.com/)
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 4.3.0
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('ob_get_clean')) {
|
||||
function ob_get_clean()
|
||||
{
|
||||
$contents = ob_get_contents();
|
||||
|
||||
if ($contents !== false) {
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
return $contents;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
46
includes/pear/Compat/Function/ob_get_flush.php
Normal file
46
includes/pear/Compat/Function/ob_get_flush.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: ob_get_flush.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace ob_get_flush()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.ob_get_flush
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @author Thiemo M<>ttig (http://maettig.com/)
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 4.3.0
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('ob_get_flush')) {
|
||||
function ob_get_flush()
|
||||
{
|
||||
$contents = ob_get_contents();
|
||||
|
||||
if ($contents !== false) {
|
||||
ob_end_flush();
|
||||
}
|
||||
|
||||
return $contents;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
86
includes/pear/Compat/Function/php_strip_whitespace.php
Normal file
86
includes/pear/Compat/Function/php_strip_whitespace.php
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: php_strip_whitespace.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace php_strip_whitespace()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.php_strip_whitespace
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error) + Tokenizer extension
|
||||
*/
|
||||
if (!function_exists('php_strip_whitespace')) {
|
||||
function php_strip_whitespace($file)
|
||||
{
|
||||
// Sanity check
|
||||
if (!is_scalar($file)) {
|
||||
user_error('php_strip_whitespace() expects parameter 1 to be string, ' .
|
||||
gettype($file) . ' given', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
// Load file / tokens
|
||||
$source = implode('', file($file));
|
||||
$tokens = token_get_all($source);
|
||||
|
||||
// Init
|
||||
$source = '';
|
||||
$was_ws = false;
|
||||
|
||||
// Process
|
||||
foreach ($tokens as $token) {
|
||||
if (is_string($token)) {
|
||||
// Single character tokens
|
||||
$source .= $token;
|
||||
} else {
|
||||
list($id, $text) = $token;
|
||||
|
||||
switch ($id) {
|
||||
// Skip all comments
|
||||
case T_COMMENT:
|
||||
case T_ML_COMMENT:
|
||||
case T_DOC_COMMENT:
|
||||
break;
|
||||
|
||||
// Remove whitespace
|
||||
case T_WHITESPACE:
|
||||
// We don't want more than one whitespace in a row replaced
|
||||
if ($was_ws !== true) {
|
||||
$source .= ' ';
|
||||
}
|
||||
$was_ws = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
$was_ws = false;
|
||||
$source .= $text;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $source;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
37
includes/pear/Compat/Function/restore_include_path.php
Normal file
37
includes/pear/Compat/Function/restore_include_path.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Stephan Schmidt <schst@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: restore_include_path.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace restore_include_path()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.restore_include_path
|
||||
* @author Stephan Schmidt <schst@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 4.3.0
|
||||
*/
|
||||
if (!function_exists('restore_include_path')) {
|
||||
function restore_include_path()
|
||||
{
|
||||
return ini_restore('include_path');
|
||||
}
|
||||
}
|
||||
?>
|
69
includes/pear/Compat/Function/scandir.php
Normal file
69
includes/pear/Compat/Function/scandir.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: scandir.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace scandir()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.scandir
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('scandir')) {
|
||||
function scandir($directory, $sorting_order = 0)
|
||||
{
|
||||
if (!is_string($directory)) {
|
||||
user_error('scandir() expects parameter 1 to be string, ' .
|
||||
gettype($directory) . ' given', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!is_int($sorting_order) && !is_bool($sorting_order)) {
|
||||
user_error('scandir() expects parameter 2 to be long, ' .
|
||||
gettype($sorting_order) . ' given', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!is_dir($directory) || (false === $fh = @opendir($directory))) {
|
||||
user_error('scandir() failed to open dir: Invalid argument', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
$files = array ();
|
||||
while (false !== ($filename = readdir($fh))) {
|
||||
$files[] = $filename;
|
||||
}
|
||||
|
||||
closedir($fh);
|
||||
|
||||
if ($sorting_order == 1) {
|
||||
rsort($files);
|
||||
} else {
|
||||
sort($files);
|
||||
}
|
||||
|
||||
return $files;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
37
includes/pear/Compat/Function/set_include_path.php
Normal file
37
includes/pear/Compat/Function/set_include_path.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Stephan Schmidt <schst@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: set_include_path.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace set_include_path()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.set_include_path
|
||||
* @author Stephan Schmidt <schst@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 4.3.0
|
||||
*/
|
||||
if (!function_exists('set_include_path')) {
|
||||
function set_include_path($new_include_path)
|
||||
{
|
||||
return ini_set('include_path', $new_include_path);
|
||||
}
|
||||
}
|
||||
?>
|
113
includes/pear/Compat/Function/str_ireplace.php
Normal file
113
includes/pear/Compat/Function/str_ireplace.php
Normal file
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: str_ireplace.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace str_ireplace()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.str_ireplace
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
* @note count not by returned by reference, to enable
|
||||
* change '$count = null' to '&$count'
|
||||
*/
|
||||
if (!function_exists('str_ireplace')) {
|
||||
function str_ireplace($search, $replace, $subject, $count = null)
|
||||
{
|
||||
// Sanity check
|
||||
if (is_string($search) && is_array($replace)) {
|
||||
user_error('Array to string conversion', E_USER_NOTICE);
|
||||
$replace = (string) $replace;
|
||||
}
|
||||
|
||||
// If search isn't an array, make it one
|
||||
if (!is_array($search)) {
|
||||
$search = array ($search);
|
||||
}
|
||||
$search = array_values($search);
|
||||
|
||||
// If replace isn't an array, make it one, and pad it to the length of search
|
||||
if (!is_array($replace)) {
|
||||
$replace_string = $replace;
|
||||
|
||||
$replace = array ();
|
||||
for ($i = 0, $c = count($search); $i < $c; $i++) {
|
||||
$replace[$i] = $replace_string;
|
||||
}
|
||||
}
|
||||
$replace = array_values($replace);
|
||||
|
||||
// Check the replace array is padded to the correct length
|
||||
$length_replace = count($replace);
|
||||
$length_search = count($search);
|
||||
if ($length_replace < $length_search) {
|
||||
for ($i = $length_replace; $i < $length_search; $i++) {
|
||||
$replace[$i] = '';
|
||||
}
|
||||
}
|
||||
|
||||
// If subject is not an array, make it one
|
||||
$was_array = false;
|
||||
if (!is_array($subject)) {
|
||||
$was_array = true;
|
||||
$subject = array ($subject);
|
||||
}
|
||||
|
||||
// Loop through each subject
|
||||
$count = 0;
|
||||
foreach ($subject as $subject_key => $subject_value) {
|
||||
// Loop through each search
|
||||
foreach ($search as $search_key => $search_value) {
|
||||
// Split the array into segments, in between each part is our search
|
||||
$segments = explode(strtolower($search_value), strtolower($subject_value));
|
||||
|
||||
// The number of replacements done is the number of segments minus the first
|
||||
$count += count($segments) - 1;
|
||||
$pos = 0;
|
||||
|
||||
// Loop through each segment
|
||||
foreach ($segments as $segment_key => $segment_value) {
|
||||
// Replace the lowercase segments with the upper case versions
|
||||
$segments[$segment_key] = substr($subject_value, $pos, strlen($segment_value));
|
||||
// Increase the position relative to the initial string
|
||||
$pos += strlen($segment_value) + strlen($search_value);
|
||||
}
|
||||
|
||||
// Put our original string back together
|
||||
$subject_value = implode($replace[$search_key], $segments);
|
||||
}
|
||||
|
||||
$result[$subject_key] = $subject_value;
|
||||
}
|
||||
|
||||
// Check if subject was initially a string and return it as a string
|
||||
if ($was_array === true) {
|
||||
return $result[0];
|
||||
}
|
||||
|
||||
// Otherwise, just return the array
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
53
includes/pear/Compat/Function/str_shuffle.php
Normal file
53
includes/pear/Compat/Function/str_shuffle.php
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: str_shuffle.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace str_shuffle()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.str_shuffle
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 4.3.0
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('str_shuffle')) {
|
||||
function str_shuffle($str)
|
||||
{
|
||||
$newstr = '';
|
||||
$strlen = strlen($str);
|
||||
$str = (string) $str;
|
||||
|
||||
// Seed
|
||||
list($usec, $sec) = explode(' ', microtime());
|
||||
$seed = (float) $sec + ((float) $usec * 100000);
|
||||
mt_srand($seed);
|
||||
|
||||
// Shuffle
|
||||
for ($i = 0; $strlen > $i; $i++) {
|
||||
$newstr .= $str[mt_rand(0, $strlen - 1)];
|
||||
}
|
||||
|
||||
return $newstr;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
52
includes/pear/Compat/Function/str_split.php
Normal file
52
includes/pear/Compat/Function/str_split.php
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: str_split.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace str_split()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.str_split
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('str_split')) {
|
||||
function str_split($string, $split_length = 1)
|
||||
{
|
||||
if (!is_scalar($split_length)) {
|
||||
user_error('str_split() expects parameter 2 to be long, ' .
|
||||
gettype($split_length) . ' given', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
$split_length = (int) $split_length;
|
||||
if ($split_length < 1) {
|
||||
user_error('str_split() The length of each segment must be greater than zero', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
preg_match_all('/.{1,' . $split_length . '}/s', $string, $matches);
|
||||
return $matches[0];
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
68
includes/pear/Compat/Function/str_word_count.php
Normal file
68
includes/pear/Compat/Function/str_word_count.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: str_word_count.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace str_word_count()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.str_word_count
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 4.3.0
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('str_word_count')) {
|
||||
function str_word_count($string, $format = null)
|
||||
{
|
||||
if ($format !== 1 && $format !== 2 && $format !== null) {
|
||||
user_error('str_word_count() The specified format parameter, "' . $format . '" is invalid',
|
||||
E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
$word_string = preg_replace('/[0-9]+/', '', $string);
|
||||
$word_array = preg_split('/[^A-Za-z0-9_\']+/', $word_string, -1, PREG_SPLIT_NO_EMPTY);
|
||||
|
||||
switch ($format) {
|
||||
case null:
|
||||
$result = count($word_array);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
$result = $word_array;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
$lastmatch = 0;
|
||||
$word_assoc = array();
|
||||
foreach ($word_array as $word) {
|
||||
$word_assoc[$lastmatch = strpos($string, $word, $lastmatch)] = $word;
|
||||
$lastmatch += strlen($word);
|
||||
}
|
||||
$result = $word_assoc;
|
||||
break;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
73
includes/pear/Compat/Function/stripos.php
Normal file
73
includes/pear/Compat/Function/stripos.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: stripos.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace stripos()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.stripos
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('stripos')) {
|
||||
function stripos($haystack, $needle, $offset = null)
|
||||
{
|
||||
if (!is_scalar($haystack)) {
|
||||
user_error('stripos() expects parameter 1 to be string, ' .
|
||||
gettype($haystack) . ' given', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is_scalar($needle)) {
|
||||
user_error('stripos() needle is not a string or an integer.', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is_int($offset) && !is_bool($offset) && !is_null($offset)) {
|
||||
user_error('stripos() expects parameter 3 to be long, ' .
|
||||
gettype($offset) . ' given', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Manipulate the string if there is an offset
|
||||
$fix = 0;
|
||||
if (!is_null($offset)) {
|
||||
if ($offset > 0) {
|
||||
$haystack = substr($haystack, $offset, strlen($haystack) - $offset);
|
||||
$fix = $offset;
|
||||
}
|
||||
}
|
||||
|
||||
$segments = explode(strtolower($needle), strtolower($haystack), 2);
|
||||
|
||||
// Check there was a match
|
||||
if (count($segments) == 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$position = strlen($segments[0]) + $fix;
|
||||
return $position;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
63
includes/pear/Compat/Function/strpbrk.php
Normal file
63
includes/pear/Compat/Function/strpbrk.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Stephan Schmidt <schst@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: strpbrk.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace strpbrk()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.strpbrk
|
||||
* @author Stephan Schmidt <schst@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('strpbrk')) {
|
||||
function strpbrk($haystack, $char_list)
|
||||
{
|
||||
if (!is_scalar($haystack)) {
|
||||
user_error('strpbrk() expects parameter 1 to be string, ' .
|
||||
gettype($haystack) . ' given', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is_scalar($char_list)) {
|
||||
user_error('strpbrk() expects parameter 2 to be scalar, ' .
|
||||
gettype($needle) . ' given', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
$haystack = (string) $haystack;
|
||||
$char_list = (string) $char_list;
|
||||
|
||||
$len = strlen($haystack);
|
||||
for ($i = 0; $i < $len; $i++) {
|
||||
$char = substr($haystack, $i, 1);
|
||||
if (strpos($char_list, $char) === false) {
|
||||
continue;
|
||||
}
|
||||
return substr($haystack, $i);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
82
includes/pear/Compat/Function/strripos.php
Normal file
82
includes/pear/Compat/Function/strripos.php
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Aidan Lister <aidan@php.net> |
|
||||
// | Stephan Schmidt <schst@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: strripos.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace strripos()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.strripos
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @author Stephan Schmidt <schst@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('strripos')) {
|
||||
function strripos($haystack, $needle, $offset = null)
|
||||
{
|
||||
if (!is_scalar($haystack)) {
|
||||
user_error('strripos() expects parameter 1 to be scalar, ' .
|
||||
gettype($haystack) . ' given', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is_scalar($needle)) {
|
||||
user_error('strripos() expects parameter 2 to be scalar, ' .
|
||||
gettype($needle) . ' given', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is_int($offset) && !is_bool($offset) && !is_null($offset)) {
|
||||
user_error('strripos() expects parameter 3 to be long, ' .
|
||||
gettype($offset) . ' given', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Manipulate the string if there is an offset
|
||||
$fix = 0;
|
||||
if (!is_null($offset)) {
|
||||
// If the offset is larger than the haystack, return
|
||||
if (abs($offset) >= strlen($haystack)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check whether offset is negative or positive
|
||||
if ($offset > 0) {
|
||||
$haystack = substr($haystack, $offset, strlen($haystack) - $offset);
|
||||
// We need to add this to the position of the needle
|
||||
$fix = $offset;
|
||||
} else {
|
||||
$haystack = substr($haystack, 0, strlen($haystack) + $offset);
|
||||
}
|
||||
}
|
||||
|
||||
$segments = explode(strtolower($needle), strtolower($haystack));
|
||||
|
||||
$last_seg = count($segments) - 1;
|
||||
$position = strlen($haystack) + $fix - strlen($segments[$last_seg]) - strlen($needle);
|
||||
|
||||
return $position;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
74
includes/pear/Compat/Function/substr_compare.php
Normal file
74
includes/pear/Compat/Function/substr_compare.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------+
|
||||
// | PHP Version 4 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 1997-2004 The PHP Group |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 3.0 of the PHP license, |
|
||||
// | that is bundled with this package in the file LICENSE, and is |
|
||||
// | available at through the world-wide-web at |
|
||||
// | http://www.php.net/license/3_0.txt. |
|
||||
// | If you did not receive a copy of the PHP license and are unable to |
|
||||
// | obtain it through the world-wide-web, please send a note to |
|
||||
// | license@php.net so we can mail you a copy immediately. |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: Tom Buskens <ortega@php.net> |
|
||||
// | Aidan Lister <aidan@php.net> |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: substr_compare.php,v 1.1 2005/07/23 05:56:03 Tony Exp $
|
||||
|
||||
|
||||
/**
|
||||
* Replace substr_compare()
|
||||
*
|
||||
* @category PHP
|
||||
* @package PHP_Compat
|
||||
* @link http://php.net/function.substr_compare
|
||||
* @author Tom Buskens <ortega@php.net>
|
||||
* @author Aidan Lister <aidan@php.net>
|
||||
* @version $Revision: 1.1 $
|
||||
* @since PHP 5
|
||||
* @require PHP 4.0.0 (user_error)
|
||||
*/
|
||||
if (!function_exists('substr_compare')) {
|
||||
function substr_compare($main_str, $str, $offset, $length = null, $case_insensitive = false)
|
||||
{
|
||||
if (!is_string($main_str)) {
|
||||
user_error('substr_compare() expects parameter 1 to be string, ' .
|
||||
gettype($main_str) . ' given', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!is_string($str)) {
|
||||
user_error('substr_compare() expects parameter 2 to be string, ' .
|
||||
gettype($str) . ' given', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!is_int($offset)) {
|
||||
user_error('substr_compare() expects parameter 3 to be long, ' .
|
||||
gettype($offset) . ' given', E_USER_WARNING);
|
||||
return;
|
||||
}
|
||||
|
||||
if (is_null($length)) {
|
||||
$length = strlen($main_str) - $offset;
|
||||
} elseif ($offset >= strlen($main_str)) {
|
||||
user_error('substr_compare() The start position cannot exceed initial string length',
|
||||
E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
$main_str = substr($main_str, $offset, $length);
|
||||
$str = substr($str, 0, strlen($main_str));
|
||||
|
||||
if ($case_insensitive === false) {
|
||||
return strcmp($main_str, $str);
|
||||
} else {
|
||||
return strcasecmp($main_str, $str);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
Reference in New Issue
Block a user