function gbook_pagination($currentPage, $elementsPerPage, $paginationsPerPage)
{
    $qry = 'SELECT count(*) rowCount FROM ' . TBL_GBOOK;
    $sql = new sql();
    $data = $sql->get_array($qry);
    $oneSidePaginations = floor($paginationsPerPage / 2);
    //var_dump( $oneSidePaginations);
    $rowCount = $data[0]['rowCount'];
    //var_dump( $rowCount);
    $pageCount = ceil($rowCount / $elementsPerPage) + 1;
    //var_dump( $pageCount);
    if ($currentPage <= $oneSidePaginations) {
        $start = 1;
    } else {
        $start = $currentPage - $oneSidePaginations;
    }
    //var_dump( $start);
    $str = '';
    if ($currentPage != 0) {
        $str .= gbook_paginationurl(0, '&laquo;');
    }
    for ($i = 0; $i <= $paginationsPerPage; $i++) {
        if ($start == $pageCount) {
            break;
        }
        $str .= gbook_paginationurl($start - 1, $start);
        $start++;
    }
    if ($currentPage != $pageCount - 2) {
        $str .= gbook_paginationurl($pageCount - 2, '&raquo;');
    }
    return $str;
}
/**
 * gbook_pagination
 *
 * @param $currentPage
 * @param $elementsPerPage
 * @param $paginationsPerPage
 * @param int   status  1=online 0=offline
 * @return string komplette Seitennavigation
 */
function gbook_pagination($currentPage, $elementsPerPage, $paginationsPerPage)
{
    $qry = 'SELECT count(*) rowCount FROM ' . TBL_GBOOK . ' WHERE ' . TBL_GBOOK . '.status = "1"';
    $sql = new rex_sql();
    $data = $sql->getArray($qry);
    $oneSidePaginations = floor($paginationsPerPage / 2);
    //var_dump( $oneSidePaginations);
    $rowCount = $data[0]['rowCount'];
    //var_dump( $rowCount);
    $pageCount = ceil($rowCount / $elementsPerPage) + 1;
    //var_dump( $pageCount);
    if ($currentPage <= $oneSidePaginations) {
        (int) ($start = 1);
    } else {
        (int) ($start = $currentPage - $oneSidePaginations);
    }
    //var_dump( $start);
    //DebugOut($pageCount);
    $str = '';
    if ($currentPage != 0) {
        $str .= "\n" . gbook_paginationurl(0, '&laquo;', 'Anfang') . "\n";
    }
    // Seitenzahlen in ein Array speichern
    $seiten_array = array();
    // erste Seite
    // $seiten_array[] = gbook_paginationurl($start, $start +1, $start +1);
    for ($i = 0; $i <= $paginationsPerPage - 1; $i++) {
        if ($start == $pageCount) {
            break;
        }
        if ($currentPage == $start - 1) {
            $seiten_array[] = gbook_paginationurl($start - 1, $start, $start, 1);
        } else {
            $seiten_array[] = gbook_paginationurl($start - 1, $start, $start);
        }
        $start++;
    }
    // Arrayinhalt umdrehen und Seitenzahlen in eine Variable zurückschreiben
    // und ein Trennzeichen einfügen, damit man das im Seitenquelltext besser lesen kann
    //$str .= implode ("\n", array_reverse ($seiten_array));
    $str .= implode("\n", $seiten_array);
    // zeige den Sprung zum Ende nur, wenn noch nicht alle Links zum anklicken zu sehen sind
    if ($currentPage != $pageCount - 3 and $currentPage != $pageCount - 2 and $pageCount - 2 > $currentPage) {
        $str .= "\n" . gbook_paginationurl($pageCount - 2, '&raquo;', 'Ende') . "\n";
    }
    return $str;
}