Hi,
I need to write an AJAX Pagination for MyBB (forum software)
Here is the pagination function
[code=php]/**
* Generate a listing of page – pagination
*
* @param int The number of items
* @param int The number of items to be shown per page
* @param int The current page number
* @param string The URL to have page numbers tacked on to (If {page} is specified, the value will be replaced with the page #)
* @return string The generated pagination
*/
function multipage($count, $perpage, $page, $url, $breadcrumb=false)
{
global $theme, $templates, $lang, $mybb;
if($count <= $perpage)
{
return;
}
$url = str_replace(“&”, “&”, $url);
$url = htmlspecialchars_uni($url);
$pages = ceil($count / $perpage);
$prevpage = ”;
if($page > 1)
{
$prev = $page-1;
$page_url = fetch_page_url($url, $prev);
eval(“$prevpage = “”.$templates->get(“multipage_prevpage”).””;”);
}
// Maximum number of “page bits” to show
if(!$mybb->settings[‘maxmultipagelinks’])
{
$mybb->settings[‘maxmultipagelinks’] = 5;
}
$from = $page-floor($mybb->settings[‘maxmultipagelinks’]/2);
$to = $page+floor($mybb->settings[‘maxmultipagelinks’]/2);
if($from <= 0)
{
$from = 1;
$to = $from+$mybb->settings[‘maxmultipagelinks’]-1;
}
if($to > $pages)
{
$to = $pages;
$from = $pages-$mybb->settings[‘maxmultipagelinks’]+1;
if($from <= 0)
{
$from = 1;
}
}
if($to == 0)
{
$to = $pages;
}
$start = ”;
if($from > 1)
{
if($from-1 == 1)
{
$lang->multipage_link_start = ”;
}
$page_url = fetch_page_url($url, 1);
eval(“$start = “”.$templates->get(“multipage_start”).””;”);
}
$mppage = ”;
for($i = $from; $i <= $to; ++$i)
{
$page_url = fetch_page_url($url, $i);
if($page == $i)
{
if($breadcrumb == true)
{
eval(“$mppage .= “”.$templates->get(“multipage_page_link_current”).””;”);
}
else
{
eval(“$mppage .= “”.$templates->get(“multipage_page_current”).””;”);
}
}
else
{
eval(“$mppage .= “”.$templates->get(“multipage_page”).””;”);
}
}
$end = ”;
if($to < $pages)
{
if($to+1 == $pages)
{
$lang->multipage_link_end = ”;
}
$page_url = fetch_page_url($url, $pages);
eval(“$end = “”.$templates->get(“multipage_end”).””;”);
}
$nextpage = ”;
if($page < $pages)
{
$next = $page+1;
$page_url = fetch_page_url($url, $next);
eval(“$nextpage = “”.$templates->get(“multipage_nextpage”).””;”);
}
$lang->multipage_pages = $lang->sprintf($lang->multipage_pages, $pages);
if($breadcrumb == true)
{
eval(“$multipage = “”.$templates->get(“multipage_breadcrumb”).””;”);
}
else
{
eval(“$multipage = “”.$templates->get(“multipage”).””;”);
}
return $multipage;
}
/**
* Generate a page URL for use by the multipage function
*
* @param string The URL being passed
* @param int The page number
*/
function fetch_page_url($url, $page)
{
if($page <= 1)
{
$find = array(
“-page-{page}”,
“&page={page}”,
“{page}”
);
// Remove “Page 1” to the defacto URL
$url = str_replace($find, array(“”, “”, $page), $url);
return $url;
}
else if(strpos($url, “{page}”) === false)
{
// If no page identifier is specified we tack it on to the end of the URL
if(strpos($url, “?”) === false)
{
$url .= “?”;
}
else
{
$url .= “&”;
}
$url .= “page=$page”;
}
else
{
$url = str_replace(“{page}”, $page, $url);
}
return $url;
}
Anyone can suggest me about the AJAX ?
Thanks a lots!