+// PHP dirname() is broken: ("/1/2/3"=>"/1/2", "/1"->"/")
+function dirnameslashed($filename)
+{
+ $r=dirname($filename);
+ if (substr($r,-1)!="/")
+ $r.="/";
+ return($r);
+}
+
+function usersize($size)
+{
+ $suffix_a=array("","k","M","G","T");
+ while ($size>=1000 && sizeof($suffix_a)>=2) {
+ $size/=1000;
+ array_shift($suffix_a);
+ }
+ return(round($size)." ".$suffix_a[0]."B");
+}
+
+function data_href($filename,$text,$details="")
+{
+ return("<a href=\"$filename\">$text (".usersize(filesize($filename))."$details)</a>");
+}
+
+function img_href($filename,$text)
+{
+ list($width,$height)=getimagesize($filename);
+ return(data_href($filename,$text,", ${width}x${height} bodù"));
+}
+
+function footer_img($url,$text,$size)
+{
+ global $footer_LOCAL;
+ if (!isset($footer_LOCAL))
+ return("<img src=\"$url\" $size alt=\"$text\" />");
+ else
+ return($text);
+}
+