/[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.9 - (show annotations)
Tue Sep 7 18:52:01 2004 UTC (19 years, 10 months ago) by jonen
Branch: MAIN
Changes since 1.8: +12 -4 lines
 added function 'format_amount'

1 <?
2 // -----------------------------------------------------------------------------
3 // $Id: helper.php,v 1.8 2003/03/03 21:21:43 joko Exp $
4 // -----------------------------------------------------------------------------
5 // $Log: helper.php,v $
6 // Revision 1.8 2003/03/03 21:21:43 joko
7 // refactored most reusable code to org.netfrag.glib/php_extensions.php
8 //
9 // Revision 1.7 2003/03/01 05:05:55 joko
10 // minor modification to 'Dumper'
11 //
12 // Revision 1.6 2003/02/09 17:49:53 joko
13 // - removed old code
14 //
15 // Revision 1.5 2003/02/04 08:22:34 joko
16 // + function is_hash
17 // + function array_join_merge
18 //
19 // Revision 1.4 2002/12/22 13:29:54 jonen
20 // + added number format helper functions:
21 // + number_format_locale()
22 // + is_amount()
23 //
24 // Revision 1.3 2002/12/11 01:00:22 joko
25 // + renamed function 'sai' to 'array_init'
26 //
27 // Revision 1.2 2002/12/01 04:49:54 joko
28 // + function Dumper (from function dumpVar)
29 //
30 // Revision 1.1 2002/11/12 05:42:31 joko
31 // + initial checkin
32 //
33 // Revision 1.1 2002/10/29 19:15:57 cvsjoko
34 // + new checkin
35 //
36 // Revision 1.4 2002/10/26 18:24:54 cvsmax
37 // + add note to care about UTC!
38 //
39 // Revision 1.3 2002/10/25 12:05:30 cvsmax
40 // + bugfix: some db related functions wasn`t updated to new structure, done.
41 // + bugfix: reworked function validate_idle()
42 //
43 // Revision 1.2 2002/10/17 03:37:40 cvsmax
44 // - removed unused function cont_auth()
45 //
46 // Revision 1.1 2002/10/10 02:53:55 cvsmax
47 // + create new partly from old 'func_main.inc'
48 //
49 //
50 // -----------------------------------------------------------------------------
51
52
53 function get_date_forDisplay($arg_date) {
54 $date = new Date($arg_date);
55 // TODO:
56 // - determine this constant by asking $site->user->country, i believe we'll need some kind of mapping here
57 // - or can it be integrated with TimeZone? no, it's a locale setting (localization/preferences), isn't it?
58 return $date->getDate( DATE_FORMAT_GERMAN_SHORT );
59 }
60
61 function get_date_forStorage($arg_date) {
62
63 // was:
64 //$unixtime = mktime(0, 0, 0, $arg_date[1], $arg_date[0], $arg_date[2]);
65 //return date("Y-m-d", $unixtime); // english format
66
67 // if $arg_date is an array, it is in "german"-format (really in locale format, isn't it?)
68 // TODO: check this! (do a generic reverse-map!)
69 if (is_array($arg_date)) {
70 $arg_date = join('.', $arg_date);
71 }
72 $date = new Date($arg_date);
73 $date_res = $date->getDate( DATE_FORMAT_ENGLISH_SHORT );
74 return $date_res;
75 }
76
77
78
79 // format functions
80 // refactor to org.netfrag.glib::php???
81 // refactor to Data::Validator???
82 function isvalidemailaddress($mail) {
83 // TODO: review for regex process load
84 //return ((($string = trim($string)) != '') && (($atpos = strpos($string, '@' , 1)) > 1) && (($rdotpos = strrpos($string, '.')) > ($atpos + 2)) && (strlen($string) > $rdotpos + 2));
85 if( !eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*"."@([a-z0-9]+([\.-][a-z0-9]+))*$",$mail, $regs) ) {
86 return "format";
87 }
88 elseif( gethostbynamel($regs[2]) == $regs[2] ) {
89 return "host";
90 }
91 return "valid";
92 }
93
94
95 //------------ getMonths ---------------------
96 // TODO: localize!
97 function getMonthNames() {
98 for ($i=1;$i<=12;$i++) {
99 $utime = strtotime("2001-$i-24 12:00:00");
100 $name = date("F",$utime);
101 $months[$i] = $name;
102 }
103 return $months;
104 }
105
106
107 // refactor to Data::Lift???
108 function null2nbsp_string($arg) {
109 if ($arg == '') {
110 $arg = '&nbsp;';
111 }
112 return $arg;
113 }
114
115 // refactor to Data::Lift???
116 function null2nbsp_arraywalker(&$item, $key) {
117 $item = null2nbsp_string($item);
118 }
119
120 // refactor to Data::Lift???
121 function null2nbsp($arg) {
122 if (is_array($arg)) {
123 array_walk($arg, 'null2nbsp_arraywalker');
124 $result = $arg;
125 } else {
126 $result = null2nbsp_string($arg);
127 }
128 return $result;
129 }
130
131 //------------ en- and decode Birthdate -----------
132 function getEncodedBirthdate($birthdate) {
133 print "birthday: $birthdate<br>";
134 if($birthdate) {
135 $utime = strtotime($birthdate);
136 print "utime: $utime<br>";
137 $birthday = array ( date("d",$utime), date("m",$utime), date("Y",$utime) );
138 }
139 else {
140 $birthday = array('', '', '1960');
141 }
142 return $birthday;
143 }
144
145 function number_format_storage($string) {
146 $locale_info = localeconv();
147 $string = str_replace($locale_info["decimal_point"], ".", $string);
148 return $string;
149 }
150
151 function number_format_locale1($string) {
152 $locale_info = localeconv();
153 $string = str_replace(".", $locale_info["decimal_point"], $string);
154 return $string;
155 }
156
157
158 function number_format_locale ($num, $decimals = null) {
159 $locale = localeconv();
160 //if(!isset($decimals)) $decimals = $locale['frac_digits'];
161 if(!isset($decimals)) $decimals = 2;
162 return number_format($num, $decimals, $locale['decimal_point'], $locale['thousands_sep']);
163 }
164
165
166 // refactor to org.netfrag.glib::php???
167 // rename to 'check_amount'?
168 // move to Data::Validator???
169 function is_amount($amount) {
170 //if( (number_format_locale((string)doubleval($amount)) === number_format_locale((string)$amount)) && number_format_locale((doubleval($amount)) >number_format_locale(0)) ) {
171 if( ((string)doubleval($amount) === (string)$amount) && (doubleval($amount) > 0) ) {
172 return 1;
173 }
174 }
175
176 function format_amount(&$amount) {
177 $amount = str_replace(array(".", ","), array("", "."), $amount);
178 //print "streplace amount: '$amount'<br>";
179 //return $amount;
180 }
181
182
183 ?>

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