2
function GetTmpFile($prefix, $ext = false) {
3
return tempnam(sys_get_temp_dir(), $prefix) . ($ext?".$ext":"");
6
function dsPrintSelectOptions($config, $selected=false) {
7
foreach ($config as $opt => $value) {
8
if (($selected)&&(strcmp($value,$selected))) $selected = " selected=\"1\"";
11
print "<option value=\"$value\"$selected>$opt</option>";
15
function dsMathPreciseSubstract($a, $b) {
16
$pos = strpos($a, ".");
23
if (is_float($a)) $ra = $a - $ia;
24
else $ra = "0." . substr($a, $pos + 1);
27
$pos = strpos($b, ".");
34
if (is_float($b)) $rb = $b - $ib;
35
else $rb = "0." . substr($b, $pos + 1);
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;
46
function dsMathPreciseAdd($a, $b) {
47
$pos = strpos($a, ".");
54
if (is_float($a)) $ra = $a - $ia;
55
else $ra = "0." . substr($a, $pos + 1);
58
$pos = strpos($b, ".");
65
if (is_float($b)) $rb = $b - $ib;
66
else $rb = "0." . substr($b, $pos + 1);
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;
78
function dsMathPreciseCompare($a, $b) {
79
$pos = strpos($a, ".");
86
if (is_float($a)) $ra = $a - $ia;
87
else $ra = "0." . substr($a, $pos + 1);
90
$pos = strpos($b, ".");
97
if (is_float($b)) $rb = $b - $ib;
98
else $rb = "0." . substr($b, $pos + 1);
102
if ($ia > $ib) return 1;
103
if ($ia < $ib) return -1;
104
return ($ra == $rb)?0:(($ra<$rb)?-1:1);
106
return ($ia == $ib)?0:(($ia<$ib)?-1:1);
110
function xml_escape($message) {
111
return htmlspecialchars($message, ENT_COMPAT, "UTF-8");
114
function translate($string) {
116
for($i = 1 ; $i < func_num_args(); $i++)
117
$arg[] = func_get_arg($i);
119
return vsprintf(gettext($string), $arg);
b'\\ No newline at end of file'