/[cvs]/nfo/php/libs/org.netfrag.flib/utils/helper.php
ViewVC logotype

Contents of /nfo/php/libs/org.netfrag.flib/utils/helper.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (show annotations)
Sat Mar 1 05:05:55 2003 UTC (21 years, 6 months ago) by joko
Branch: MAIN
Changes since 1.6: +5 -2 lines
minor modification to 'Dumper'

1 <?
2 // -----------------------------------------------------------------------------
3 // $Id: helper.php,v 1.6 2003/02/09 17:49:53 joko Exp $
4 // -----------------------------------------------------------------------------
5 // $Log: helper.php,v $
6 // Revision 1.6 2003/02/09 17:49:53 joko
7 // - removed old code
8 //
9 // Revision 1.5 2003/02/04 08:22:34 joko
10 // + function is_hash
11 // + function array_join_merge
12 //
13 // Revision 1.4 2002/12/22 13:29:54 jonen
14 // + added number format helper functions:
15 // + number_format_locale()
16 // + is_amount()
17 //
18 // Revision 1.3 2002/12/11 01:00:22 joko
19 // + renamed function 'sai' to 'array_init'
20 //
21 // Revision 1.2 2002/12/01 04:49:54 joko
22 // + function Dumper (from function dumpVar)
23 //
24 // Revision 1.1 2002/11/12 05:42:31 joko
25 // + initial checkin
26 //
27 // Revision 1.1 2002/10/29 19:15:57 cvsjoko
28 // + new checkin
29 //
30 // Revision 1.4 2002/10/26 18:24:54 cvsmax
31 // + add note to care about UTC!
32 //
33 // Revision 1.3 2002/10/25 12:05:30 cvsmax
34 // + bugfix: some db related functions wasn`t updated to new structure, done.
35 // + bugfix: reworked function validate_idle()
36 //
37 // Revision 1.2 2002/10/17 03:37:40 cvsmax
38 // - removed unused function cont_auth()
39 //
40 // Revision 1.1 2002/10/10 02:53:55 cvsmax
41 // + create new partly from old 'func_main.inc'
42 //
43 //
44 // -----------------------------------------------------------------------------
45
46
47 function get_date_forDisplay($arg_date) {
48 $date = new Date($arg_date);
49 // TODO:
50 // - determine this constant by asking $site->user->country, i believe we'll need some kind of mapping here
51 // - or can it be integrated with TimeZone? no, it's a locale setting (localization/preferences), isn't it?
52 return $date->getDate( DATE_FORMAT_GERMAN_SHORT );
53 }
54
55 function get_date_forStorage($arg_date) {
56
57 // was:
58 //$unixtime = mktime(0, 0, 0, $arg_date[1], $arg_date[0], $arg_date[2]);
59 //return date("Y-m-d", $unixtime); // english format
60
61 // if $arg_date is an array, it is in "german"-format (really in locale format, isn't it?)
62 // TODO: check this! (do a generic reverse-map!)
63 if (is_array($arg_date)) {
64 $arg_date = join('.', $arg_date);
65 }
66 $date = new Date($arg_date);
67 $date_res = $date->getDate( DATE_FORMAT_ENGLISH_SHORT );
68 return $date_res;
69 }
70
71 // -------------------------------------------------
72 // array initializer
73 // initializes passed variable (taken by reference) with an empty array
74 // does this only if it doesn't exist yet or initialization is explicitely requested ($clear = 1)
75 function array_init(&$var, $clear = 0) {
76 if (!is_array($var) || $clear) { $var = array(); }
77 }
78
79
80 // format functions
81 function isvalidemailaddress($mail) {
82 // TODO: review for regex process load
83 //return ((($string = trim($string)) != '') && (($atpos = strpos($string, '@' , 1)) > 1) && (($rdotpos = strrpos($string, '.')) > ($atpos + 2)) && (strlen($string) > $rdotpos + 2));
84 if( !eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*"."@([a-z0-9]+([\.-][a-z0-9]+))*$",$mail, $regs) ) {
85 return "format";
86 }
87 elseif( gethostbyname($regs[2]) == $regs[2] ) {
88 return "host";
89 }
90 return "valid";
91 }
92
93 function Dumper() {
94 ob_start();
95 $arg_list = func_get_args();
96 $count = 1;
97 foreach ($arg_list as $arg) {
98 //print "<hr/>";
99 print_r($arg);
100 $count++;
101 }
102 $var_dump = ob_get_contents();
103 ob_end_clean();
104 $var_dump = str_replace("\n", "<br>", $var_dump);
105 $var_dump = str_replace(" ", "&nbsp;", $var_dump);
106 return $var_dump;
107 }
108
109 function session_register_safe($varname) {
110 if (!session_is_registered($varname)) {
111 session_register($varname);
112 return 1;
113 }
114 }
115
116 //------------ getMonths ---------------------
117 // TODO: localize!
118 function getMonthNames() {
119 for ($i=1;$i<=12;$i++) {
120 $utime = strtotime("2001-$i-24 12:00:00");
121 $name = date("F",$utime);
122 $months[$i] = $name;
123 }
124 return $months;
125 }
126
127 function null2nbsp_string($arg) {
128 if ($arg == '') {
129 $arg = '&nbsp;';
130 }
131 return $arg;
132 }
133
134 function null2nbsp_arraywalker(&$item, $key) {
135 $item = null2nbsp_string($item);
136 }
137
138 function null2nbsp($arg) {
139 if (is_array($arg)) {
140 array_walk($arg, 'null2nbsp_arraywalker');
141 $result = $arg;
142 } else {
143 $result = null2nbsp_string($arg);
144 }
145 return $result;
146 }
147
148 //------------ en- and decode Birthdate -----------
149 function getEncodedBirthdate($birthdate) {
150 print "birthday: $birthdate<br>";
151 if($birthdate) {
152 $utime = strtotime($birthdate);
153 print "utime: $utime<br>";
154 $birthday = array ( date("d",$utime), date("m",$utime), date("Y",$utime) );
155 }
156 else {
157 $birthday = array('', '', '1960');
158 }
159 return $birthday;
160 }
161
162 function number_format_storage($string) {
163 $locale_info = localeconv();
164 $string = str_replace($locale_info["decimal_point"], ".", $string);
165 return $string;
166 }
167
168 function number_format_locale1($string) {
169 $locale_info = localeconv();
170 $string = str_replace(".", $locale_info["decimal_point"], $string);
171 return $string;
172 }
173
174
175 function number_format_locale ($num, $decimals = null) {
176 $locale = localeconv();
177 if(!isset($decimals)) $decimals = $locale['frac_digits'];
178 return number_format($num, $decimals, $locale['decimal_point'], $locale['thousands_sep']);
179 }
180
181
182 function is_amount($amount) {
183 //if( (number_format_locale((string)doubleval($amount)) === number_format_locale((string)$amount)) && number_format_locale((doubleval($amount)) >number_format_locale(0)) ) {
184 if( ((string)doubleval($amount) === (string)$amount) && (doubleval($amount) > 0) ) {
185 return 1;
186 }
187 }
188
189
190 // from: php.net - http://www.php.net/manual/en/function.array-merge-recursive.php
191 function is_hash( $var ) {
192 if( is_array( $var ) ) {
193 $keys = array_keys( $var );
194 $all_num = true;
195 for( $i=0; $i<count($keys); $i++ )
196 if( is_string($keys[$i] ) ) return true;
197 }
198 return false;
199 }
200
201 // from: php.net - http://www.php.net/manual/en/function.array-merge-recursive.php
202 function array_join_merge( $arr1, $arr2 ) {
203 if( is_array( $arr1 ) and is_array( $arr2 ) ) {
204 // the same -> merge
205 $new_array = array();
206
207 if( is_hash( $arr1 ) and is_hash( $arr2 ) ) {
208 // hashes -> merge based on keys
209 $keys = array_merge( array_keys( $arr1 ), array_keys( $arr2 ) );
210 foreach( $keys as $key ) {
211 $new_array[$key] = array_join_merge( $arr1[$key], $arr2[$key] );
212 }
213 } else {
214 // two real arrays -> merge
215 $new_array =
216 array_reverse(array_unique(array_reverse(array_merge($arr1,$arr2))));
217 }
218
219 return $new_array;
220 } else {
221 // not the same ... take new one if defined, else the old one stays
222 return $arr2 ? $arr2 : $arr1;
223 }
224 }
225
226 ?>

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed