root/ui/tools.php

Revision ui,58, 3.3 kB (checked in by Suren A. Chilingaryan <csa@dside.dyndns.org>, 2 years ago)

Bringing back double click support

Line 
1 <?php
2 function GetTmpFile($prefix, $ext = false) {
3     return tempnam(sys_get_temp_dir(), $prefix) . ($ext?".$ext":"");
4 }
5
6 function dsPrintSelectOptions($config, $selected=false) {
7     foreach ($config as $opt => $value) {
8     if (($selected)&&(strcmp($value,$selected))) $selected = " selected=\"1\"";
9     else $selected = "";
10     
11     print "<option value=\"$value\"$selected>$opt</option>";
12     }
13 }
14
15 function dsMathPreciseSubstract($a, $b) {
16     $pos = strpos($a, ".");
17     if ($pos === false) {
18     $ra = 0;
19     $ia = (int)$a;
20     } else {
21         $ia = (int)floor($a);
22
23     if (is_float($a)) $ra = $a - $ia;
24     else $ra = "0." . substr($a, $pos + 1);
25     }
26
27     $pos = strpos($b, ".");
28     if ($pos === false) {
29     $rb = 0;
30     $ib = (int)$b;
31     } else {
32         $ib = (int)floor($b);
33
34     if (is_float($b)) $rb = $b - $ib;
35     else $rb = "0." . substr($b, $pos + 1);
36     }
37
38     if (($ra)||($rb)) {
39     $r = $ra - $rb;
40     if ($r < 0) return ($ia - $ib - 1) . strstr(sprintf("%.9F", ($r+1)), ".");
41     else if ($r > 0) return ($ia - $ib) . strstr(sprintf("%.9F", $r), ".");
42     else return ($ia - $ib);
43     } else return $ia - $ib;
44 }
45
46 function dsMathPreciseAdd($a, $b) {
47     $pos = strpos($a, ".");
48     if ($pos === false) {
49     $ra = 0;
50     $ia = (int)$a;
51     } else {
52         $ia = (int)floor($a);
53
54     if (is_float($a)) $ra = $a - $ia;
55     else $ra = "0." . substr($a, $pos + 1);
56     }
57
58     $pos = strpos($b, ".");
59     if ($pos === false) {
60     $rb = 0;
61     $ib = (int)$b;
62     } else {
63         $ib = (int)floor($b);
64
65     if (is_float($b)) $rb = $b - $ib;
66     else $rb = "0." . substr($b, $pos + 1);
67     }
68
69     if (($ra)||($rb)) {
70     $r = $ra + $rb;
71 //    echo "V: $ra, $rb, $r.\n";
72     if ($r > 1) return ($ia + $ib + 1) . strstr(sprintf("%.9F", $r), ".");
73     else if ($r < 1) return ($ia + $ib) . strstr(sprintf("%.9F", $r), ".");
74     else return ($ia + $ib + 1);
75     } else return $ia + $ib;
76 }
77
78 function dsMathPreciseCompare($a, $b) {
79     $pos = strpos($a, ".");
80     if ($pos === false) {
81     $ra = 0;
82     $ia = (int)$a;
83     } else {
84         $ia = (int)floor($a);
85
86     if (is_float($a)) $ra = $a - $ia;
87     else $ra = "0." . substr($a, $pos + 1);
88     }
89
90     $pos = strpos($b, ".");
91     if ($pos === false) {
92     $rb = 0;
93     $ib = (int)$b;
94     } else {
95         $ib = (int)floor($b);
96
97     if (is_float($b)) $rb = $b - $ib;
98     else $rb = "0." . substr($b, $pos + 1);
99     }
100
101     if (($ra)||($rb)) {
102     if ($ia > $ib) return 1;
103     if ($ia < $ib) return -1;
104     return ($ra == $rb)?0:(($ra<$rb)?-1:1);
105     }
106     return ($ia == $ib)?0:(($ia<$ib)?-1:1);
107 }
108
109
110 function dsPrintSize($size) {
111     $lvl = 0;
112
113     while (($lvl<4)&&($size > 5119)) {
114     $lvl++;
115     $size = (int)ceil($size / 1024.);
116     }
117     
118     switch ($lvl) {
119     case 0:
120         $size .= " bytes";
121         break;
122     case 1:
123         $size .= " KB";
124         break;
125     case 2:
126         $size .= " MB";
127         break;
128     case 3:
129         $size .= " GB";
130         break;
131     case 4:
132         $size .= " TB";
133         break;
134     }
135     
136     return $size;
137 }
138
139
140 function xml_escape($message) {
141     /* HTMLSpecialChars will return empty string if non-unicode message
142     is passed. */
143     $msg = htmlspecialchars($message, ENT_COMPAT, "UTF-8");
144     if ($msg) return $msg;
145     return htmlspecialchars($message, ENT_COMPAT);
146 }
147
148 function translate($string) {
149     $arg = array();
150     for($i = 1 ; $i < func_num_args(); $i++)
151     $arg[] = func_get_arg($i);
152
153     return vsprintf(gettext($string), $arg);
154 }
155
156 function log_message($message) {
157     echo "$message\n";
158 }
159
160 ?>
Note: See TracBrowser for help on using the browser.