function multi($total, $perpage, $curpage, $pageurl, $maxpages = 0, $page = 10, $autogoto = true, $simple = false) {
$multipage = '';
$pageurl .= strpos($pageurl, '?') ? '&' : '?';
$realpages = 1;
if($total > $perpage) {
$offset = 2;
$realpages = @ceil($total / $perpage);
$pages = $maxpages && $maxpages
if($page > $pages) {
$from = 1;
$to = $pages;
} else {
$from = $curpage - $offset;
$to = $from + $page - 1;
if($from $to = $curpage + 1 - $from;
$from = 1;
if($to - $from $to = $page;
}
} elseif ($to > $pages) {
$from = $pages - $page + 1;
$to = $pages;
}
}
$multipage = ($curpage - $offset > 1 && $pages > $page ? '1 ...' : '').
($curpage > 1 && !$simple ? '‹‹' : '');
for($i = $from; $i $multipage .= $i == $curpage ? ''.$i.'' :
''.$i.'';
}
$multipage .= ($curpage ››' : '').
($to ... '.$realpages.'' : '').
(!$simple && $pages > $page && !$ajaxtarget ? '' : '');
$multipage = $multipage ? '
'.(!$simple ? ' '.$total.' ' : '').$multipage.'
' : '';
}
$maxpage = $realpages;
return $multipage;
}function dhtmlspecialchars($string) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = dhtmlspecialchars($val);
}
} else {
$string = preg_replace('/&((#(d{3,5}|x[a-fa-f0-9]{4})|[a-za-z][a-z0-9]{2,5});)/', '&\1',
str_replace(array('&', '', ''), array('&', '', '<', '>'), $string));
}
return $string;
}
