| 3 |
// $Id$ |
// $Id$ |
| 4 |
// ----------------------------------------------------------------------------- |
// ----------------------------------------------------------------------------- |
| 5 |
// $Log$ |
// $Log$ |
| 6 |
|
// Revision 1.10 2004/11/03 14:13:45 jonen |
| 7 |
|
// minor changes related to check mail-address |
| 8 |
|
// |
| 9 |
|
// Revision 1.9 2004/09/07 18:52:01 jonen |
| 10 |
|
// added function 'format_amount' |
| 11 |
|
// |
| 12 |
|
// Revision 1.8 2003/03/03 21:21:43 joko |
| 13 |
|
// refactored most reusable code to org.netfrag.glib/php_extensions.php |
| 14 |
|
// |
| 15 |
// Revision 1.7 2003/03/01 05:05:55 joko |
// Revision 1.7 2003/03/01 05:05:55 joko |
| 16 |
// minor modification to 'Dumper' |
// minor modification to 'Dumper' |
| 17 |
// |
// |
| 80 |
return $date_res; |
return $date_res; |
| 81 |
} |
} |
| 82 |
|
|
|
// ------------------------------------------------- |
|
|
// array initializer |
|
|
// initializes passed variable (taken by reference) with an empty array |
|
|
// does this only if it doesn't exist yet or initialization is explicitely requested ($clear = 1) |
|
|
function array_init(&$var, $clear = 0) { |
|
|
if (!is_array($var) || $clear) { $var = array(); } |
|
|
} |
|
| 83 |
|
|
| 84 |
|
|
| 85 |
// format functions |
// format functions |
| 86 |
|
// refactor to org.netfrag.glib::php??? |
| 87 |
|
// refactor to Data::Validator??? |
| 88 |
function isvalidemailaddress($mail) { |
function isvalidemailaddress($mail) { |
| 89 |
// TODO: review for regex process load |
// TODO: review for regex process load |
| 90 |
//return ((($string = trim($string)) != '') && (($atpos = strpos($string, '@' , 1)) > 1) && (($rdotpos = strrpos($string, '.')) > ($atpos + 2)) && (strlen($string) > $rdotpos + 2)); |
//return ((($string = trim($string)) != '') && (($atpos = strpos($string, '@' , 1)) > 1) && (($rdotpos = strrpos($string, '.')) > ($atpos + 2)) && (strlen($string) > $rdotpos + 2)); |
| 97 |
return "valid"; |
return "valid"; |
| 98 |
} |
} |
| 99 |
|
|
|
function Dumper() { |
|
|
ob_start(); |
|
|
$arg_list = func_get_args(); |
|
|
$count = 1; |
|
|
foreach ($arg_list as $arg) { |
|
|
//print "<hr/>"; |
|
|
print_r($arg); |
|
|
$count++; |
|
|
} |
|
|
$var_dump = ob_get_contents(); |
|
|
ob_end_clean(); |
|
|
$var_dump = str_replace("\n", "<br>", $var_dump); |
|
|
$var_dump = str_replace(" ", " ", $var_dump); |
|
|
return $var_dump; |
|
|
} |
|
|
|
|
|
function session_register_safe($varname) { |
|
|
if (!session_is_registered($varname)) { |
|
|
session_register($varname); |
|
|
return 1; |
|
|
} |
|
|
} |
|
| 100 |
|
|
| 101 |
//------------ getMonths --------------------- |
//------------ getMonths --------------------- |
| 102 |
// TODO: localize! |
// TODO: localize! |
| 109 |
return $months; |
return $months; |
| 110 |
} |
} |
| 111 |
|
|
| 112 |
|
|
| 113 |
|
// refactor to Data::Lift??? |
| 114 |
function null2nbsp_string($arg) { |
function null2nbsp_string($arg) { |
| 115 |
if ($arg == '') { |
if ($arg == '') { |
| 116 |
$arg = ' '; |
$arg = ' '; |
| 118 |
return $arg; |
return $arg; |
| 119 |
} |
} |
| 120 |
|
|
| 121 |
|
// refactor to Data::Lift??? |
| 122 |
function null2nbsp_arraywalker(&$item, $key) { |
function null2nbsp_arraywalker(&$item, $key) { |
| 123 |
$item = null2nbsp_string($item); |
$item = null2nbsp_string($item); |
| 124 |
} |
} |
| 125 |
|
|
| 126 |
|
// refactor to Data::Lift??? |
| 127 |
function null2nbsp($arg) { |
function null2nbsp($arg) { |
| 128 |
if (is_array($arg)) { |
if (is_array($arg)) { |
| 129 |
array_walk($arg, 'null2nbsp_arraywalker'); |
array_walk($arg, 'null2nbsp_arraywalker'); |
| 163 |
|
|
| 164 |
function number_format_locale ($num, $decimals = null) { |
function number_format_locale ($num, $decimals = null) { |
| 165 |
$locale = localeconv(); |
$locale = localeconv(); |
| 166 |
if(!isset($decimals)) $decimals = $locale['frac_digits']; |
//if(!isset($decimals)) $decimals = $locale['frac_digits']; |
| 167 |
|
if(!isset($decimals)) $decimals = 2; |
| 168 |
return number_format($num, $decimals, $locale['decimal_point'], $locale['thousands_sep']); |
return number_format($num, $decimals, $locale['decimal_point'], $locale['thousands_sep']); |
| 169 |
} |
} |
| 170 |
|
|
| 171 |
|
|
| 172 |
|
// refactor to org.netfrag.glib::php??? |
| 173 |
|
// rename to 'check_amount'? |
| 174 |
|
// move to Data::Validator??? |
| 175 |
function is_amount($amount) { |
function is_amount($amount) { |
| 176 |
//if( (number_format_locale((string)doubleval($amount)) === number_format_locale((string)$amount)) && number_format_locale((doubleval($amount)) >number_format_locale(0)) ) { |
//if( (number_format_locale((string)doubleval($amount)) === number_format_locale((string)$amount)) && number_format_locale((doubleval($amount)) >number_format_locale(0)) ) { |
| 177 |
if( ((string)doubleval($amount) === (string)$amount) && (doubleval($amount) > 0) ) { |
if( ((string)doubleval($amount) === (string)$amount) && (doubleval($amount) > 0) ) { |
| 179 |
} |
} |
| 180 |
} |
} |
| 181 |
|
|
| 182 |
|
function format_amount(&$amount) { |
| 183 |
|
$amount = str_replace(array(".", ","), array("", "."), $amount); |
| 184 |
|
//print "streplace amount: '$amount'<br>"; |
| 185 |
|
//return $amount; |
| 186 |
|
} |
| 187 |
|
|
|
// from: php.net - http://www.php.net/manual/en/function.array-merge-recursive.php |
|
|
function is_hash( $var ) { |
|
|
if( is_array( $var ) ) { |
|
|
$keys = array_keys( $var ); |
|
|
$all_num = true; |
|
|
for( $i=0; $i<count($keys); $i++ ) |
|
|
if( is_string($keys[$i] ) ) return true; |
|
|
} |
|
|
return false; |
|
|
} |
|
|
|
|
|
// from: php.net - http://www.php.net/manual/en/function.array-merge-recursive.php |
|
|
function array_join_merge( $arr1, $arr2 ) { |
|
|
if( is_array( $arr1 ) and is_array( $arr2 ) ) { |
|
|
// the same -> merge |
|
|
$new_array = array(); |
|
|
|
|
|
if( is_hash( $arr1 ) and is_hash( $arr2 ) ) { |
|
|
// hashes -> merge based on keys |
|
|
$keys = array_merge( array_keys( $arr1 ), array_keys( $arr2 ) ); |
|
|
foreach( $keys as $key ) { |
|
|
$new_array[$key] = array_join_merge( $arr1[$key], $arr2[$key] ); |
|
|
} |
|
|
} else { |
|
|
// two real arrays -> merge |
|
|
$new_array = |
|
|
array_reverse(array_unique(array_reverse(array_merge($arr1,$arr2)))); |
|
|
} |
|
|
|
|
|
return $new_array; |
|
|
} else { |
|
|
// not the same ... take new one if defined, else the old one stays |
|
|
return $arr2 ? $arr2 : $arr1; |
|
|
} |
|
|
} |
|
| 188 |
|
|
| 189 |
?> |
?> |