Problem with comparison.
/Websvn/include/PHP/Compat/Function/array_change_key_case.php |
---|
0,0 → 1,64 |
<?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_change_key_case.php,v 1.11 2005/12/07 21:08:57 aidan Exp $ |
if (!defined('CASE_LOWER')) { |
define('CASE_LOWER', 0); |
} |
if (!defined('CASE_UPPER')) { |
define('CASE_UPPER', 1); |
} |
/** |
* Replace array_change_key_case() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.array_change_key_case |
* @author Stephan Schmidt <schst@php.net> |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.11 $ |
* @since PHP 4.2.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('array_change_key_case')) { |
function array_change_key_case($input, $case = CASE_LOWER) |
{ |
if (!is_array($input)) { |
user_error('array_change_key_case(): The argument should be an array', |
E_USER_WARNING); |
return false; |
} |
$output = array (); |
$keys = array_keys($input); |
$casefunc = ($case == CASE_LOWER) ? 'strtolower' : 'strtoupper'; |
foreach ($keys as $key) { |
$output[$casefunc($key)] = $input[$key]; |
} |
return $output; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_chunk.php |
---|
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: Aidan Lister <aidan@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: array_chunk.php,v 1.14 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace array_combine() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.array_chunk |
* @author Aidan Lister <aidan@php.net> |
* @author Thiemo Mättig (http://maettig.com) |
* @version $Revision: 1.14 $ |
* @since PHP 4.2.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('array_chunk')) { |
function array_chunk($input, $size, $preserve_keys = false) |
{ |
if (!is_array($input)) { |
user_error('array_chunk() expects parameter 1 to be array, ' . |
gettype($input) . ' given', E_USER_WARNING); |
return; |
} |
if (!is_numeric($size)) { |
user_error('array_chunk() expects parameter 2 to be long, ' . |
gettype($size) . ' given', E_USER_WARNING); |
return; |
} |
$size = (int)$size; |
if ($size <= 0) { |
user_error('array_chunk() Size parameter expected to be greater than 0', |
E_USER_WARNING); |
return; |
} |
$chunks = array(); |
$i = 0; |
if ($preserve_keys !== false) { |
foreach ($input as $key => $value) { |
$chunks[(int)($i++ / $size)][$key] = $value; |
} |
} else { |
foreach ($input as $value) { |
$chunks[(int)($i++ / $size)][] = $value; |
} |
} |
return $chunks; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_combine.php |
---|
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.21 2005/01/28 02:27:52 aidan 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.21 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_diff_assoc.php |
---|
0,0 → 1,76 |
<?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.12 2005/12/07 21:08:57 aidan 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.12 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_diff_key.php |
---|
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.4 2005/01/26 04:55:13 aidan 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.4 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_diff_uassoc.php |
---|
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.2 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace array_diff_uassoc() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.array_diff_uassoc |
* @version $Revision: 1.2 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_diff_ukey.php |
---|
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.4 2005/01/26 04:55:13 aidan 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.4 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_intersect_assoc.php |
---|
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.4 2005/01/26 04:55:13 aidan 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.4 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_intersect_key.php |
---|
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.4 2005/01/26 04:55:13 aidan 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.4 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_intersect_uassoc.php |
---|
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.5 2005/01/26 04:55:13 aidan 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.5 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_intersect_ukey.php |
---|
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.4 2005/01/26 04:55:13 aidan 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.4 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_key_exists.php |
---|
0,0 → 1,55 |
<?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_key_exists.php,v 1.7 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace array_key_exists() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.array_key_exists |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.7 $ |
* @since PHP 4.1.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('array_key_exists')) { |
function array_key_exists($key, $search) |
{ |
if (!is_scalar($key)) { |
user_error('array_key_exists() The first argument should be either a string or an integer', |
E_USER_WARNING); |
return false; |
} |
if (is_object($search)) { |
$search = get_object_vars($search); |
} |
if (!is_array($search)) { |
user_error('array_key_exists() The second argument should be either an array or an object', |
E_USER_WARNING); |
return false; |
} |
return in_array($key, array_keys($search)); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_product.php |
---|
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: Arpad Ray <arpad@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: array_product.php,v 1.1 2005/12/05 14:49:08 aidan Exp $ |
/** |
* Replace array_product() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/time_sleep_until |
* @author Arpad Ray <arpad@php.net> |
* @version $Revision: 1.1 $ |
* @since PHP 5.1.0 |
* @require PHP 4.0.1 (trigger_error) |
*/ |
if (!function_exists('array_product')) { |
function array_product($array) |
{ |
if (!is_array($array)) { |
trigger_error('The argument should be an array', E_USER_WARNING); |
return; |
} |
if (empty($array)) { |
return 0; |
} |
$r = 1; |
foreach ($array as $v) { |
$r *= $v; |
} |
return $r; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_search.php |
---|
0,0 → 1,51 |
<?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_search.php,v 1.6 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace array_search() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.array_search |
* @author Aidan Lister <aidan@php.net> |
* @author Thiemo Mättig (http://maettig.com/) |
* @version $Revision: 1.6 $ |
* @since PHP 4.0.5 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('array_search')) { |
function array_search($needle, $haystack, $strict = false) |
{ |
if (!is_array($haystack)) { |
user_error('array_search() Wrong datatype for second argument', E_USER_WARNING); |
return false; |
} |
foreach ($haystack as $key => $value) { |
if ($strict ? $value === $needle : $value == $needle) { |
return $key; |
} |
} |
return false; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_udiff.php |
---|
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.10 2005/01/26 04:55:13 aidan 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.10 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_udiff_assoc.php |
---|
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.14 2005/01/26 04:55:13 aidan 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.14 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_udiff_uassoc.php |
---|
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.8 2005/01/26 04:55:13 aidan 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.8 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_uintersect.php |
---|
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.9 2005/05/10 12:05:48 aidan 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.9 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_uintersect_assoc.php |
---|
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.9 2005/05/10 07:50:08 aidan 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.9 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_uintersect_uassoc.php |
---|
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.12 2005/01/26 04:55:13 aidan 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.12 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/array_walk_recursive.php |
---|
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.7 2005/01/26 04:55:13 aidan 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.7 $ |
* @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; |
} |
} |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/bcinvert.php |
---|
0,0 → 1,76 |
<?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: bcinvert.php,v 1.2 2005/11/22 20:24:45 aidan Exp $ |
/** |
* Replace bcinvert() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.bcinvert |
* @author Sara Golemon <pollita@php.net> |
* @version $Revision: 1.2 $ |
* @since PHP 5.2.0 |
* @require PHP 4.0.4 (call_user_func_array) |
*/ |
if (!function_exists('bcinvert')) { |
function bcinvert($a, $n) |
{ |
// Sanity check |
if (!is_scalar($a)) { |
user_error('bcinvert() expects parameter 1 to be string, ' . |
gettype($a) . ' given', E_USER_WARNING); |
return false; |
} |
if (!is_scalar($n)) { |
user_error('bcinvert() expects parameter 2 to be string, ' . |
gettype($n) . ' given', E_USER_WARNING); |
return false; |
} |
$u1 = $v2 = '1'; |
$u2 = $v1 = '0'; |
$u3 = $n; |
$v3 = $a; |
while (bccomp($v3, '0')) { |
$q0 = bcdiv($u3, $v3); |
$t1 = bcsub($u1, bcmul($q0, $v1)); |
$t2 = bcsub($u2, bcmul($q0, $v2)); |
$t3 = bcsub($u3, bcmul($q0, $v3)); |
$u1 = $v1; |
$u2 = $v2; |
$u3 = $v3; |
$v1 = $t1; |
$v2 = $t2; |
$v3 = $t3; |
} |
if (bccomp($u2, '0') < 0) { |
return bcadd($u2, $n); |
} else { |
return bcmod($u2, $n); |
} |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/bcpowmod.php |
---|
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: bcpowmod.php,v 1.2 2005/11/22 20:24:45 aidan Exp $ |
/** |
* Replace bcpowmod() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.bcpowmod |
* @author Sara Golemon <pollita@php.net> |
* @version $Revision: 1.2 $ |
* @since PHP 5.0.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('bcpowmod')) { |
function bcpowmod($x, $y, $modulus, $scale) |
{ |
// Sanity check |
if (!is_scalar($x)) { |
user_error('bcpowmod() expects parameter 1 to be string, ' . |
gettype($x) . ' given', E_USER_WARNING); |
return false; |
} |
if (!is_scalar($y)) { |
user_error('bcpowmod() expects parameter 2 to be string, ' . |
gettype($y) . ' given', E_USER_WARNING); |
return false; |
} |
if (!is_scalar($modulus)) { |
user_error('bcpowmod() expects parameter 3 to be string, ' . |
gettype($modulus) . ' given', E_USER_WARNING); |
return false; |
} |
if (!is_scalar($scale)) { |
user_error('bcpowmod() expects parameter 4 to be integer, ' . |
gettype($scale) . ' given', E_USER_WARNING); |
return false; |
} |
$t = '1'; |
while (bccomp($y, '0')) { |
if (bccomp(bcmod($y, '2'), '0')) { |
$t = bcmod(bcmul($t, $x), $modulus); |
$y = bcsub($y, '1'); |
} |
$x = bcmod(bcmul($x, $x), $modulus); |
$y = bcdiv($y, '2'); |
} |
return $t; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/call_user_func_array.php |
---|
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: call_user_func_array.php,v 1.13 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace call_user_func_array() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.call_user_func_array |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.13 $ |
* @since PHP 4.0.4 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('call_user_func_array')) { |
function call_user_func_array($function, $param_arr) |
{ |
$param_arr = array_values((array) $param_arr); |
// Sanity check |
if (!is_callable($function)) { |
if (is_array($function) && count($function) > 2) { |
$function = $function[0] . '::' . $function[1]; |
} |
$error = sprintf('call_user_func_array() First argument is expected ' . |
'to be a valid callback, \'%s\' was given', $function); |
user_error($error, E_USER_WARNING); |
return; |
} |
// Build argument string |
$arg_string = ''; |
$comma = ''; |
for ($i = 0, $x = count($param_arr); $i < $x; $i++) { |
$arg_string .= $comma . "\$param_arr[$i]"; |
$comma = ', '; |
} |
// Determine method of calling function |
if (is_array($function)) { |
$object =& $function[0]; |
$method = $function[1]; |
// Static vs method call |
if (is_string($function[0])) { |
eval("\$retval = $object::\$method($arg_string);"); |
} else { |
eval("\$retval = \$object->\$method($arg_string);"); |
} |
} else { |
eval("\$retval = \$function($arg_string);"); |
} |
return $retval; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/clone.php |
---|
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.3 2005/05/01 10:40:59 aidan Exp $ |
/** |
* Replace clone() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/language.oop5.cloning |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.3 $ |
* @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; |
} |
'); |
} |
?> |
/Websvn/include/PHP/Compat/Function/constant.php |
---|
0,0 → 1,47 |
<?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: constant.php,v 1.7 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace constant() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.constant |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.7 $ |
* @since PHP 4.0.4 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('constant')) { |
function constant($constant) |
{ |
if (!defined($constant)) { |
$error = sprintf('constant() Couldn\'t find constant %s', $constant); |
user_error($error, E_USER_WARNING); |
return false; |
} |
eval("\$value=$constant;"); |
return $value; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/convert_uudecode.php |
---|
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.8 2005/01/26 04:55:13 aidan 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.8 $ |
* @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"); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/convert_uuencode.php |
---|
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.7 2005/01/26 04:55:13 aidan 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.7 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/debug_print_backtrace.php |
---|
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.3 2005/08/17 02:58:09 aidan 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.3 $ |
* @since PHP 5 |
* @require PHP 4.3.0 (debug_backtrace) |
*/ |
if (!function_exists('debug_print_backtrace')) { |
function debug_print_backtrace() |
{ |
// 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); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/file_get_contents.php |
---|
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.21 2005/01/26 04:55:13 aidan 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.21 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/file_put_contents.php |
---|
0,0 → 1,116 |
<?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.25 2005/12/05 09:25:15 aidan Exp $ |
if (!defined('FILE_USE_INCLUDE_PATH')) { |
define('FILE_USE_INCLUDE_PATH', 1); |
} |
if (!defined('LOCK_EX')) { |
define('LOCK_EX', 2); |
} |
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.25 $ |
* @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 data to write |
$length = strlen($content); |
// Check what mode we are using |
$mode = ($flags & FILE_APPEND) ? |
'a' : |
'wb'; |
// 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; |
} |
// Attempt to get an exclusive lock |
$use_lock = ($flags & LOCK_EX) ? true : false ; |
if ($use_lock === true) { |
if (!flock($fh, LOCK_EX)) { |
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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/floatval.php |
---|
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: Aidan Lister <aidan@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: floatval.php,v 1.2 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace floatval() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.floatval |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.2 $ |
* @since PHP 4.2.0 |
* @require PHP 4.0.0 (user_error) (Type Casting) |
*/ |
if (!function_exists('floatval')) { |
function floatval($var) |
{ |
return (float) $var; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/fprintf.php |
---|
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.13 2005/05/28 17:25:25 aidan Exp $ |
/** |
* Replace fprintf() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.fprintf |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.13 $ |
* @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)); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/fputcsv.php |
---|
0,0 → 1,64 |
<?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: fputcsv.php,v 1.2 2005/11/22 08:28:16 aidan Exp $ |
/** |
* Replace fprintf() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.fprintf |
* @author Twebb <twebb@boisecenter.com> |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.2 $ |
* @since PHP 5 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('fputcsv')) { |
function fputcsv($handle, $fields, $delimiter = ',', $enclosure = '"') |
{ |
// Sanity Check |
if (!is_resource($handle)) { |
user_error('fputcsv() expects parameter 1 to be resource, ' . |
gettype($handle) . ' given', E_USER_WARNING); |
return false; |
} |
$str = ''; |
foreach ($fields as $cell) { |
$cell = str_replace($enclosure, $enclosure . $enclosure, $cell); |
if (strchr($cell, $delimiter) !== false || |
strchr($cell, $enclosure) !== false || |
strchr($cell, "\n") !== false) { |
$str .= $enclosure . $cell . $enclosure . $delimiter; |
} else { |
$str .= $cell . $delimiter; |
} |
} |
fputs($handle, substr($str, 0, -1) . "\n"); |
return strlen($str); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/get_headers.php |
---|
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/05/10 07:50:53 aidan 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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/get_include_path.php |
---|
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.4 2005/01/26 04:55:13 aidan 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.4 $ |
* @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'); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/html_entity_decode.php |
---|
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: David Irvine <dave@codexweb.co.za> | |
// | Aidan Lister <aidan@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: html_entity_decode.php,v 1.8 2005/12/07 21:08:57 aidan 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.8 $ |
* @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); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/htmlspecialchars_decode.php |
---|
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: Stephan Schmidt <schst@php.net> | |
// | Aidan Lister <aidan@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: htmlspecialchars_decode.php,v 1.3 2005/06/18 14:02:09 aidan Exp $ |
/** |
* Replace function htmlspecialchars_decode() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.htmlspecialchars_decode |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.3 $ |
* @since PHP 5.1.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('htmlspecialchars_decode')) { |
function htmlspecialchars_decode($string, $quote_style = null) |
{ |
// Sanity check |
if (!is_scalar($string)) { |
user_error('htmlspecialchars_decode() expects parameter 1 to be string, ' . |
gettype($string) . ' given', E_USER_WARNING); |
return; |
} |
if (!is_int($quote_style) && $quote_style !== null) { |
user_error('htmlspecialchars_decode() expects parameter 2 to be integer, ' . |
gettype($quote_style) . ' given', E_USER_WARNING); |
return; |
} |
// Init |
$from = array('&', '<', '>'); |
$to = array('&', '<', '>'); |
// The function does not behave as documented |
// This matches the actual behaviour of the function |
if ($quote_style & ENT_COMPAT || $quote_style & ENT_QUOTES) { |
$from[] = '"'; |
$to[] = '"'; |
$from[] = '''; |
$to[] = "'"; |
} |
return str_replace($from, $to, $string); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/http_build_query.php |
---|
0,0 → 1,100 |
<?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.16 2005/05/31 08:54:57 aidan 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.16 $ |
* @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); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/ibase_timefmt.php |
---|
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: ibase_timefmt.php,v 1.1 2005/05/10 07:51:07 aidan Exp $ |
/** |
* Replace function ibase_timefmt() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.ibase_timefmt |
* @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('ibase_timefmt')) { |
function ibase_timefmt($format, $columntype = IBASE_TIMESTAMP) |
{ |
switch ($columntype) { |
case IBASE_TIMESTAMP: |
ini_set('ibase.dateformat', $format); |
break; |
case IBASE_DATE: |
ini_set('ibase.dateformat', $format); |
break; |
case IBASE_TIME: |
ini_set('ibase.timeformat', $format); |
break; |
default: |
return false; |
} |
return true; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/idate.php |
---|
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: Arpad Ray <arpad@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: idate.php,v 1.2 2005/12/07 21:08:57 aidan Exp $ |
/** |
* Replace idate() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/idate |
* @author Arpad Ray <arpad@php.net> |
* @version $Revision: 1.2 $ |
* @since PHP 5.0.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('idate')) { |
function idate($format, $timestamp = false) |
{ |
if (strlen($format) !== 1) { |
user_error('idate format is one char', E_USER_WARNING); |
return false; |
} |
if (strpos('BdhHiILmstUwWyYzZ', $format) === false) { |
return 0; |
} |
if ($timestamp === false) { |
$timestamp = time(); |
} |
return intval(date($format, $timestamp)); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/image_type_to_mime_type.php |
---|
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.8 2005/01/26 04:55:13 aidan 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.8 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/inet_ntop.php |
---|
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: Arpad Ray <arpad@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: inet_ntop.php,v 1.3 2005/12/05 14:49:40 aidan Exp $ |
/** |
* Replace inet_ntop() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/inet_ntop |
* @author Arpad Ray <arpad@php.net> |
* @version $Revision: 1.3 $ |
* @since PHP 5.1.0 |
* @require PHP 4.0.0 (long2ip) |
*/ |
if (!function_exists('inet_ntop')) { |
function inet_ntop($in_addr) |
{ |
switch (strlen($in_addr)) { |
case 4: |
list(,$r) = unpack('N', $in_addr); |
return long2ip($r); |
case 16: |
$r = substr(chunk_split(bin2hex($in_addr), 4, ':'), 0, -1); |
$r = preg_replace( |
array('/(?::?\b0+\b:?){2,}/', '/\b0+([^0])/e'), |
array('::', '(int)"$1"?"$1":"0$1"'), |
$r); |
return $r; |
} |
return false; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/inet_pton.php |
---|
0,0 → 1,60 |
<?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: Arpad Ray <arpad@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: inet_pton.php,v 1.2 2005/12/05 14:49:40 aidan Exp $ |
/** |
* Replace inet_pton() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/inet_pton |
* @author Arpad Ray <arpad@php.net> |
* @version $Revision: 1.2 $ |
* @since PHP 5.1.0 |
* @require PHP 4.2.0 (array_fill) |
*/ |
if (!function_exists('inet_pton')) { |
function inet_pton($address) |
{ |
$r = ip2long($address); |
if ($r !== false && $r != -1) { |
return pack('N', $r); |
} |
$delim_count = substr_count($address, ':'); |
if ($delim_count < 1 || $delim_count > 7) { |
return false; |
} |
$r = explode(':', $address); |
$rcount = count($r); |
if (($doub = array_search('', $r, 1)) !== false) { |
$length = (!$doub || $doub == $rcount - 1 ? 2 : 1); |
array_splice($r, $doub, $length, array_fill(0, 8 + $length - $rcount, 0)); |
} |
$r = array_map('hexdec', $r); |
array_unshift($r, 'n*'); |
$r = call_user_func_array('pack', $r); |
return $r; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/ini_get_all.php |
---|
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: Aidan Lister <aidan@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: ini_get_all.php,v 1.3 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace ini_get_all() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.ini_get_all |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.3 $ |
* @since PHP 4.2.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('ini_get_all')) { |
function ini_get_all($extension = null) |
{ |
// Sanity check |
if (!is_scalar($extension)) { |
user_error('ini_get_all() expects parameter 1 to be string, ' . |
gettype($extension) . ' given', E_USER_WARNING); |
return false; |
} |
// Get the location of php.ini |
ob_start(); |
phpinfo(INFO_GENERAL); |
$info = ob_get_contents(); |
ob_clean(); |
$info = explode("\n", $info); |
$line = array_values(preg_grep('#php.ini#', $info)); |
list (, $value) = explode('<td class="v">', $line[0]); |
$inifile = trim(strip_tags($value)); |
// Parse |
if ($extension !== null) { |
$ini_all = parse_ini_file($inifile, true); |
// Lowercase extension keys |
foreach ($ini_all as $key => $value) { |
$ini_arr[strtolower($key)] = $value; |
} |
$ini = $ini_arr[$extension]; |
} else { |
$ini = parse_ini_file($inifile); |
} |
// Order |
$ini_lc = array_map('strtolower', array_keys($ini)); |
array_multisort($ini_lc, SORT_ASC, SORT_STRING, $ini); |
// Format |
$info = array(); |
foreach ($ini as $key => $value) { |
$info[$key] = array( |
'global_value' => $value, |
'local_value' => ini_get($key), |
// No way to know this |
'access' => -1 |
); |
} |
return $info; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/is_a.php |
---|
0,0 → 1,47 |
<?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: is_a.php,v 1.16 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace function is_a() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.is_a |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.16 $ |
* @since PHP 4.2.0 |
* @require PHP 4.0.0 (user_error) (is_subclass_of) |
*/ |
if (!function_exists('is_a')) { |
function is_a($object, $class) |
{ |
if (!is_object($object)) { |
return false; |
} |
if (get_class($object) == strtolower($class)) { |
return true; |
} else { |
return is_subclass_of($object, $class); |
} |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/md5_file.php |
---|
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: md5_file.php,v 1.3 2005/11/22 08:29:19 aidan Exp $ |
/** |
* Replace md5_file() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/md5_file |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.3 $ |
* @since PHP 4.2.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('md5_file')) { |
function md5_file($filename, $raw_output = false) |
{ |
// Sanity check |
if (!is_scalar($filename)) { |
user_error('md5_file() expects parameter 1 to be string, ' . |
gettype($filename) . ' given', E_USER_WARNING); |
return; |
} |
if (!is_scalar($raw_output)) { |
user_error('md5_file() expects parameter 2 to be bool, ' . |
gettype($raw_output) . ' given', E_USER_WARNING); |
return; |
} |
if (!file_exists($filename)) { |
user_error('md5_file() Unable to open file', E_USER_WARNING); |
return false; |
} |
// Read the file |
if (false === $fh = fopen($filename, 'rb')) { |
user_error('md5_file() 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 = md5($data); |
if ($raw_output === true) { |
$data = pack('H*', $data); |
} |
return $data; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/mhash.php |
---|
0,0 → 1,115 |
<?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: mhash.php,v 1.1 2005/05/10 07:56:44 aidan Exp $ |
if (!defined('MHASH_CRC32')) { |
define('MHASH_CRC32', 0); |
} |
if (!defined('MHASH_MD5')) { |
define('MHASH_MD5', 1); |
} |
if (!defined('MHASH_SHA1')) { |
define('MHASH_SHA1', 2); |
} |
if (!defined('MHASH_HAVAL256')) { |
define('MHASH_HAVAL256', 3); |
} |
if (!defined('MHASH_RIPEMD160')) { |
define('MHASH_RIPEMD160', 5); |
} |
if (!defined('MHASH_TIGER')) { |
define('MHASH_TIGER', 7); |
} |
if (!defined('MHASH_GOST')) { |
define('MHASH_GOST', 8); |
} |
if (!defined('MHASH_CRC32B')) { |
define('MHASH_CRC32B', 9); |
} |
if (!defined('MHASH_HAVAL192')) { |
define('MHASH_HAVAL192', 11); |
} |
if (!defined('MHASH_HAVAL160')) { |
define('MHASH_HAVAL160', 12); |
} |
if (!defined('MHASH_HAVAL128')) { |
define('MHASH_HAVAL128', 13); |
} |
if (!defined('MHASH_TIGER128')) { |
define('MHASH_TIGER128', 14); |
} |
if (!defined('MHASH_TIGER160')) { |
define('MHASH_TIGER160', 15); |
} |
if (!defined('MHASH_MD4')) { |
define('MHASH_MD4', 16); |
} |
if (!defined('MHASH_SHA256')) { |
define('MHASH_SHA256', 17); |
} |
if (!defined('MHASH_ADLER32')) { |
define('MHASH_ADLER32', 18); |
} |
/** |
* Replace mhash() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.mhash |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.1 $ |
* @since PHP 4.1.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('mhash')) { |
function mhash($hashtype, $data, $key = '') |
{ |
switch ($hashtype) { |
case MHASH_MD5: |
$key = str_pad((strlen($key) > 64 ? pack("H*", md5($key)) : $key), 64, chr(0x00)); |
$k_opad = $key ^ (str_pad('', 64, chr(0x5c))); |
$k_ipad = $key ^ (str_pad('', 64, chr(0x36))); |
return pack("H*", md5($k_opad . pack("H*", md5($k_ipad . $data)))); |
default: |
return false; |
break; |
} |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/mime_content_type.php |
---|
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: Ian Eure <ieure@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: mime_content_type.php,v 1.3 2005/12/07 21:08:57 aidan Exp $ |
/** |
* Replace mime_content_type() |
* |
* You will need the `file` command installed and present in your $PATH. If |
* `file` is not available, the type 'application/octet-stream' is returned |
* for all files. |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.mime_content_type |
* @version $Revision: 1.3 $ |
* @author Ian Eure <ieure@php.net> |
* @since PHP 4.3.0 |
* @require PHP 4.0.3 (escapeshellarg) |
*/ |
if (!function_exists('mime_content_type')) { |
function mime_content_type($filename) |
{ |
// Sanity check |
if (!file_exists($filename)) { |
return false; |
} |
$filename = escapeshellarg($filename); |
$out = `file -iL $filename 2>/dev/null`; |
if (empty($out)) { |
return 'application/octet-stream'; |
} |
// Strip off filename |
$t = substr($out, strpos($out, ':') + 2); |
if (strpos($t, ';') !== false) { |
// Strip MIME parameters |
$t = substr($t, 0, strpos($t, ';')); |
} |
// Strip any remaining whitespace |
return trim($t); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/ob_clean.php |
---|
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_clean.php,v 1.6 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace ob_clean() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.ob_clean |
* @author Aidan Lister <aidan@php.net> |
* @author Thiemo Mättig (http://maettig.com/) |
* @version $Revision: 1.6 $ |
* @since PHP 4.2.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('ob_clean')) { |
function ob_clean() |
{ |
if (@ob_end_clean()) { |
return ob_start(); |
} |
user_error("ob_clean() failed to delete buffer. No buffer to delete.", E_USER_NOTICE); |
return false; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/ob_flush.php |
---|
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_flush.php,v 1.6 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace ob_flush() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.ob_flush |
* @author Aidan Lister <aidan@php.net> |
* @author Thiemo Mättig (http://maettig.com/) |
* @version $Revision: 1.6 $ |
* @since PHP 4.2.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('ob_flush')) { |
function ob_flush() |
{ |
if (@ob_end_flush()) { |
return ob_start(); |
} |
user_error("ob_flush() Failed to flush buffer. No buffer to flush.", E_USER_NOTICE); |
return false; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/ob_get_clean.php |
---|
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.6 2005/01/26 04:55:13 aidan 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.6 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/ob_get_flush.php |
---|
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.6 2005/01/26 04:55:13 aidan 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.6 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/pg_affected_rows.php |
---|
0,0 → 1,40 |
<?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: Ian Eure <ieure@php.net> | |
// | Mocha (http://us4.php.net/pg_escape_bytea) | |
// +----------------------------------------------------------------------+ |
// |
// $Id: pg_affected_rows.php,v 1.1 2005/05/10 07:56:51 aidan Exp $ |
/** |
* Replace pg_affected_rows() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.pg_affectd_rows |
* @author Ian Eure <ieure@php.net> |
* @version $Revision@ |
* @since PHP 4.2.0 |
* @require PHP 4.0.0 |
*/ |
if (!function_exists('pg_affected_rows')) { |
function pg_affected_rows($resource) |
{ |
return pg_cmdtuples($resource); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/pg_escape_bytea.php |
---|
0,0 → 1,43 |
<?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: Ian Eure <ieure@php.net> | |
// | Mocha (http://us4.php.net/pg_escape_bytea) | |
// +----------------------------------------------------------------------+ |
// |
// $Id: pg_escape_bytea.php,v 1.1 2005/05/10 07:56:51 aidan Exp $ |
/** |
* Replace pg_escape_bytea() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.pg_escape_bytea |
* @author Ian Eure <ieure@php.net> |
* @version $Revision@ |
* @since PHP 4.2.0 |
* @require PHP 4.0.0 |
*/ |
if (!function_exists('pg_escape_bytea')) { |
function pg_escape_bytea($data) |
{ |
return str_replace( |
array(chr(92), chr(0), chr(39)), |
array('\\\134', '\\\000', '\\\047'), |
$data); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/pg_unescape_bytea.php |
---|
0,0 → 1,43 |
<?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: Ian Eure <ieure@php.net> | |
// | Tobias <php@tobias.olsson.be> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: pg_unescape_bytea.php,v 1.2 2005/12/07 21:08:57 aidan Exp $ |
/** |
* Replace pg_unescape_bytea() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.pg_unescape_bytea |
* @author Ian Eure <ieure@php.net> |
* @version $Revision@ |
* @since PHP 4.2.0 |
* @require PHP 4.0.0 |
*/ |
if (!function_exists('pg_unescape_bytea')) { |
function pg_unescape_bytea(&$data) |
{ |
return str_replace( |
array('$', '"'), |
array('\\$', '\\"'), |
$data); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/php_strip_whitespace.php |
---|
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.10 2005/01/26 04:55:13 aidan 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.10 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/restore_include_path.php |
---|
0,0 → 1,38 |
<?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.4 2005/12/07 21:08:57 aidan 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.4 $ |
* @since PHP 4.3.0 |
*/ |
if (!function_exists('restore_include_path')) { |
function restore_include_path() |
{ |
return ini_restore('include_path'); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/scandir.php |
---|
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.18 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace scandir() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.scandir |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.18 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/set_include_path.php |
---|
0,0 → 1,38 |
<?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.4 2005/12/07 21:08:57 aidan 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.4 $ |
* @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); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/str_ireplace.php |
---|
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.18 2005/01/26 04:55:13 aidan 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.18 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/str_rot13.php |
---|
0,0 → 1,43 |
<?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: Alan Morey <alan@caint.com> | |
// | Aidan Lister <aidan@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: str_rot13.php,v 1.4 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace str_rot13() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.str_rot13 |
* @author Alan Morey <alan@caint.com> |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.4 $ |
* @since PHP 4.0.0 |
*/ |
if (!function_exists('str_rot13')) { |
function str_rot13($str) |
{ |
$from = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; |
$to = 'nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM'; |
return strtr($str, $from, $to); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/str_shuffle.php |
---|
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_shuffle.php,v 1.6 2005/08/14 03:24:16 aidan 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.6 $ |
* @since PHP 4.3.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('str_shuffle')) { |
function str_shuffle($str) |
{ |
// Init |
$str = (string) $str; |
// Seed |
list($usec, $sec) = explode(' ', microtime()); |
$seed = (float) $sec + ((float) $usec * 100000); |
mt_srand($seed); |
// Shuffle |
for ($new = '', $len = strlen($str); $len > 0; $str{$p} = $str{$len}) { |
$new .= $str{$p = mt_rand(0, --$len)}; |
} |
return $new; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/str_split.php |
---|
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: str_split.php,v 1.15 2005/06/18 12:15:32 aidan 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.15 $ |
* @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; |
} |
// Select split method |
if ($split_length < 65536) { |
// Faster, but only works for less than 2^16 |
preg_match_all('/.{1,' . $split_length . '}/s', $string, $matches); |
return $matches[0]; |
} else { |
// Required due to preg limitations |
$arr = array(); |
$idx = 0; |
$pos = 0; |
$len = strlen($string); |
while ($len > 0) { |
$blk = ($len < $split_length) ? $len : $split_length; |
$arr[$idx++] = substr($string, $pos, $blk); |
$pos += $blk; |
$len -= $blk; |
} |
return $arr; |
} |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/str_word_count.php |
---|
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.9 2005/02/28 11:45:28 aidan 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.9 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/stripos.php |
---|
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.13 2005/05/30 20:33:03 aidan Exp $ |
/** |
* Replace stripos() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.stripos |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.13 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/strpbrk.php |
---|
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.4 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace strpbrk() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.strpbrk |
* @author Stephan Schmidt <schst@php.net> |
* @version $Revision: 1.4 $ |
* @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; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/strripos.php |
---|
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> | |
// | Stephan Schmidt <schst@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: strripos.php,v 1.24 2005/08/10 10:19:59 aidan Exp $ |
/** |
* Replace strripos() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.strripos |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.24 $ |
* @since PHP 5 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('strripos')) { |
function strripos($haystack, $needle, $offset = null) |
{ |
// Sanity check |
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; |
} |
// Initialise variables |
$needle = strtolower($needle); |
$haystack = strtolower($haystack); |
$needle_fc = $needle{0}; |
$needle_len = strlen($needle); |
$haystack_len = strlen($haystack); |
$offset = (int) $offset; |
$leftlimit = ($offset >= 0) ? $offset : 0; |
$p = ($offset >= 0) ? |
$haystack_len : |
$haystack_len + $offset + 1; |
// Reverse iterate haystack |
while (--$p >= $leftlimit) { |
if ($needle_fc === $haystack{$p} && |
substr($haystack, $p, $needle_len) === $needle) { |
return $p; |
} |
} |
return false; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/substr_compare.php |
---|
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.5 2005/01/26 04:55:13 aidan 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.5 $ |
* @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); |
} |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/time_sleep_until.php |
---|
0,0 → 1,48 |
<?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: Arpad Ray <arpad@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: time_sleep_until.php,v 1.2 2005/12/07 21:08:57 aidan Exp $ |
/** |
* Replace time_sleep_until() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/time_sleep_until |
* @author Arpad Ray <arpad@php.net> |
* @version $Revision: 1.2 $ |
* @since PHP 5.1.0 |
* @require PHP 4.0.1 (trigger_error) |
*/ |
if (!function_exists('time_sleep_until')) { |
function time_sleep_until($timestamp) |
{ |
list($usec, $sec) = explode(' ', microtime()); |
$now = $sec + $usec; |
if ($timestamp <= $now) { |
user_error('Specified timestamp is in the past', E_USER_WARNING); |
return false; |
} |
$diff = $timestamp - $now; |
usleep($diff * 1000000); |
return true; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/var_export.php |
---|
0,0 → 1,136 |
<?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: var_export.php,v 1.15 2005/12/05 14:24:27 aidan Exp $ |
/** |
* Replace var_export() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.var_export |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.15 $ |
* @since PHP 4.2.0 |
* @require PHP 4.0.0 (user_error) |
*/ |
if (!function_exists('var_export')) { |
function var_export($var, $return = false, $level = 0) |
{ |
// Init |
$indent = ' '; |
$doublearrow = ' => '; |
$lineend = ",\n"; |
$stringdelim = '\''; |
$newline = "\n"; |
$find = array(null, '\\', '\''); |
$replace = array('NULL', '\\\\', '\\\''); |
$out = ''; |
// Indent |
$level++; |
for ($i = 1, $previndent = ''; $i < $level; $i++) { |
$previndent .= $indent; |
} |
// Handle each type |
switch (gettype($var)) { |
// Array |
case 'array': |
$out = 'array (' . $newline; |
foreach ($var as $key => $value) { |
// Key |
if (is_string($key)) { |
// Make key safe |
for ($i = 0, $c = count($find); $i < $c; $i++) { |
$var = str_replace($find[$i], $replace[$i], $var); |
} |
$key = $stringdelim . $key . $stringdelim; |
} |
// Value |
if (is_array($value)) { |
$export = var_export($value, true, $level); |
$value = $newline . $previndent . $indent . $export; |
} else { |
$value = var_export($value, true, $level); |
} |
// Piece line together |
$out .= $previndent . $indent . $key . $doublearrow . $value . $lineend; |
} |
// End string |
$out .= $previndent . ')'; |
break; |
// String |
case 'string': |
// Make the string safe |
for ($i = 0, $c = count($find); $i < $c; $i++) { |
$var = str_replace($find[$i], $replace[$i], $var); |
} |
$out = $stringdelim . $var . $stringdelim; |
break; |
// Number |
case 'integer': |
case 'double': |
$out = (string) $var; |
break; |
// Boolean |
case 'boolean': |
$out = $var ? 'true' : 'false'; |
break; |
// NULLs |
case 'NULL': |
case 'resource': |
$out = 'NULL'; |
break; |
// Objects |
case 'object': |
// Start the object export |
$out = $newline . $previndent . 'class ' . get_class($var) . ' {' . $newline; |
// Export the object vars |
foreach (get_object_vars($var) as $key => $val) { |
$out .= $previndent . ' var $' . $key . ' = '; |
if (is_array($val)) { |
$export = var_export($val, true, $level); |
$out .= $newline . $previndent . $indent . $export . ';' . $newline; |
} else { |
$out .= var_export($val, true, $level) . ';' . $newline; |
} |
} |
$out .= $previndent . '}'; |
break; |
} |
// Method of output |
if ($return === true) { |
return $out; |
} else { |
echo $out; |
} |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/version_compare.php |
---|
0,0 → 1,182 |
<?php |
// +----------------------------------------------------------------------+ |
// | PHP Version 4 | |
// +----------------------------------------------------------------------+ |
// | Copyright (c) 1997-2004 The PHP Group | |
// +----------------------------------------------------------------------+ |
// | This source file is subject to version 3.0 of the PHP license, | |
// | that is bundled with this package in the file LICENSE, and is | |
// | available at through the world-wide-web at | |
// | http://www.php.net/license/3_0.txt. | |
// | If you did not receive a copy of the PHP license and are unable to | |
// | obtain it through the world-wide-web, please send a note to | |
// | license@php.net so we can mail you a copy immediately. | |
// +----------------------------------------------------------------------+ |
// | Authors: Philippe Jausions <Philippe.Jausions@11abacus.com> | |
// | Aidan Lister <aidan@php.net> | |
// +----------------------------------------------------------------------+ |
// |
// $Id: version_compare.php,v 1.13 2005/08/01 12:21:14 aidan Exp $ |
/** |
* Replace version_compare() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.version_compare |
* @author Philippe Jausions <Philippe.Jausions@11abacus.com> |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.13 $ |
* @since PHP 4.1.0 |
* @require PHP 4.0.5 (user_error) |
*/ |
if (!function_exists('version_compare')) { |
function version_compare($version1, $version2, $operator = '<') |
{ |
// Check input |
if (!is_scalar($version1)) { |
user_error('version_compare() expects parameter 1 to be string, ' . |
gettype($version1) . ' given', E_USER_WARNING); |
return; |
} |
if (!is_scalar($version2)) { |
user_error('version_compare() expects parameter 2 to be string, ' . |
gettype($version2) . ' given', E_USER_WARNING); |
return; |
} |
if (!is_scalar($operator)) { |
user_error('version_compare() expects parameter 3 to be string, ' . |
gettype($operator) . ' given', E_USER_WARNING); |
return; |
} |
// Standardise versions |
$v1 = explode('.', |
str_replace('..', '.', |
preg_replace('/([^0-9\.]+)/', '.$1.', |
str_replace(array('-', '_', '+'), '.', |
trim($version1))))); |
$v2 = explode('.', |
str_replace('..', '.', |
preg_replace('/([^0-9\.]+)/', '.$1.', |
str_replace(array('-', '_', '+'), '.', |
trim($version2))))); |
// Replace empty entries at the start of the array |
while (empty($v1[0]) && array_shift($v1)) {} |
while (empty($v2[0]) && array_shift($v2)) {} |
// Release state order |
// '#' stands for any number |
$versions = array( |
'dev' => 0, |
'alpha' => 1, |
'a' => 1, |
'beta' => 2, |
'b' => 2, |
'RC' => 3, |
'#' => 4, |
'p' => 5, |
'pl' => 5); |
// Loop through each segment in the version string |
$compare = 0; |
for ($i = 0, $x = min(count($v1), count($v2)); $i < $x; $i++) { |
if ($v1[$i] == $v2[$i]) { |
continue; |
} |
$i1 = $v1[$i]; |
$i2 = $v2[$i]; |
if (is_numeric($i1) && is_numeric($i2)) { |
$compare = ($i1 < $i2) ? -1 : 1; |
break; |
} |
// We use the position of '#' in the versions list |
// for numbers... (so take care of # in original string) |
if ($i1 == '#') { |
$i1 = ''; |
} elseif (is_numeric($i1)) { |
$i1 = '#'; |
} |
if ($i2 == '#') { |
$i2 = ''; |
} elseif (is_numeric($i2)) { |
$i2 = '#'; |
} |
if (isset($versions[$i1]) && isset($versions[$i2])) { |
$compare = ($versions[$i1] < $versions[$i2]) ? -1 : 1; |
} elseif (isset($versions[$i1])) { |
$compare = 1; |
} elseif (isset($versions[$i2])) { |
$compare = -1; |
} else { |
$compare = 0; |
} |
break; |
} |
// If previous loop didn't find anything, compare the "extra" segments |
if ($compare == 0) { |
if (count($v2) > count($v1)) { |
if (isset($versions[$v2[$i]])) { |
$compare = ($versions[$v2[$i]] < 4) ? 1 : -1; |
} else { |
$compare = -1; |
} |
} elseif (count($v2) < count($v1)) { |
if (isset($versions[$v1[$i]])) { |
$compare = ($versions[$v1[$i]] < 4) ? -1 : 1; |
} else { |
$compare = 1; |
} |
} |
} |
// Compare the versions |
if (func_num_args() > 2) { |
switch ($operator) { |
case '>': |
case 'gt': |
return (bool) ($compare > 0); |
break; |
case '>=': |
case 'ge': |
return (bool) ($compare >= 0); |
break; |
case '<=': |
case 'le': |
return (bool) ($compare <= 0); |
break; |
case '==': |
case '=': |
case 'eq': |
return (bool) ($compare == 0); |
break; |
case '<>': |
case '!=': |
case 'ne': |
return (bool) ($compare != 0); |
break; |
case '': |
case '<': |
case 'lt': |
return (bool) ($compare < 0); |
break; |
default: |
return; |
} |
} |
return $compare; |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/vprintf.php |
---|
0,0 → 1,45 |
<?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: vprintf.php,v 1.14 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace vprintf() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.vprintf |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.14 $ |
* @since PHP 4.1.0 |
* @require PHP 4.0.4 (call_user_func_array) |
*/ |
if (!function_exists('vprintf')) { |
function vprintf ($format, $args) |
{ |
if (count($args) < 2) { |
user_error('vprintf() Too few arguments', E_USER_WARNING); |
return; |
} |
array_unshift($args, $format); |
return call_user_func_array('printf', $args); |
} |
} |
?> |
/Websvn/include/PHP/Compat/Function/vsprintf.php |
---|
0,0 → 1,45 |
<?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: vsprintf.php,v 1.10 2005/01/26 04:55:13 aidan Exp $ |
/** |
* Replace vsprintf() |
* |
* @category PHP |
* @package PHP_Compat |
* @link http://php.net/function.vsprintf |
* @author Aidan Lister <aidan@php.net> |
* @version $Revision: 1.10 $ |
* @since PHP 4.1.0 |
* @require PHP 4.0.4 (call_user_func_array) |
*/ |
if (!function_exists('vsprintf')) { |
function vsprintf ($format, $args) |
{ |
if (count($args) < 2) { |
user_error('vsprintf() Too few arguments', E_USER_WARNING); |
return; |
} |
array_unshift($args, $format); |
return call_user_func_array('sprintf', $args); |
} |
} |
?> |