+
+function paginate(&$a) {
+ $o = '';
+ $stripped = ereg_replace("(&page=[0-9]*)","",$_SERVER['QUERY_STRING']);
+ $stripped = str_replace('q=','',$stripped);
+ $stripped = trim($stripped,'/');
+ $url = $a->get_baseurl() . '/' . $stripped;
+
+
+ if($a->pager['total'] > $a->pager['itemspage']) {
+ $o .= '<div class="pager">';
+ if($a->pager['page'] != 1)
+ $o .= '<span class="pager_prev">'."<a href=\"$url".'&page='.($a->pager['page'] - 1).'">prev</a></span> ';
+
+ $o .= "<span class=\"pager_first\"><a href=\"$url"."&page=1\">first</a></span> ";
+
+ $numpages = $a->pager['total'] / $a->pager['itemspage'];
+
+ $numstart = 1;
+ $numstop = $numpages;
+
+ if($numpages > 14) {
+ $numstart = (($pagenum > 7) ? ($pagenum - 7) : 1);
+ $numstop = (($pagenum > ($numpages - 7)) ? $numpages : ($numstart + 14));
+ }
+
+ for($i = $numstart; $i <= $numstop; $i++){
+ if($i == $a->pager['page'])
+ $o .= '<span class="pager_current">'.(($i < 10) ? ' '.$i : $i);
+ else
+ $o .= "<span class=\"pager_n\"><a href=\"$url"."&page=$i\">".(($i < 10) ? ' '.$i : $i)."</a>";
+ $o .= '</span> ';
+ }
+
+ if(($a->pager['total'] % $a->pager['itemspage']) != 0) {
+ if($i == $a->pager['page'])
+ $o .= '<span class="pager_current">'.(($i < 10) ? ' '.$i : $i);
+ else
+ $o .= "<span class=\"pager_n\"><a href=\"$url"."&page=$i\">".(($i < 10) ? ' '.$i : $i)."</a>";
+ $o .= '</span> ';
+ }
+
+ $lastpage = (($numpages > intval($numpages)) ? intval($numpages)+1 : $numpages);
+ $o .= "<span class=\"pager_last\"><a href=\"$url"."&page=$lastpage\">last</a></span> ";
+
+ if(($a->pager['total'] - ($a->pager['itemspage'] * $a->pager['page'])) > 0)
+ $o .= '<span class="pager_next">'."<a href=\"$url"."&page=".($a->pager['page'] + 1).'">next</a></span>';
+ $o .= '</div>'."\r\n";
+ }
+ return $o;
+}
+
+function expand_acl($s) {
+
+ if(strlen($s)) {
+ $a = explode('<',$s);
+ for($x = 0; $x < count($a); $x ++) {
+ $a[$x] = intval(str_replace(array('<','>'),array('',''),$a[$x]));
+ }
+ return $a;
+ }
+ return array();
+}