Archived
1
0

port everything so that 2.0 and 1.7 have the same features

This commit is contained in:
Garvin Hicking
2012-06-12 19:39:11 +02:00
parent dbc992f07e
commit d7ef7a7a04
110 changed files with 3672 additions and 28 deletions
+44 -15
View File
@@ -307,14 +307,6 @@ function &serendipity_fetchEntries($range = null, $full = true, $limit = '', $fe
}
}
if (!empty($limit)) {
if (isset($serendipity['GET']['page']) && $serendipity['GET']['page'] > 1 && !strstr($limit, ',')) {
$limit = serendipity_db_limit(($serendipity['GET']['page']-1) * $limit, $limit);
}
$limit = serendipity_db_limit_sql($limit);
}
if (isset($serendipity['GET']['adminModule']) && $serendipity['GET']['adminModule'] == 'entries' && !serendipity_checkPermission('adminEntriesMaintainOthers')) {
if (!empty($cond['and'])) {
$cond['and'] .= " AND e.authorid = '" . $serendipity['authorid'] . "'";
@@ -403,6 +395,31 @@ function &serendipity_fetchEntries($range = null, $full = true, $limit = '', $fe
{$cond['joins']}
{$cond['and']}";
if (!empty($limit)) {
if (isset($serendipity['GET']['page']) && ($serendipity['GET']['page'] > 1 || serendipity_db_bool($serendipity['archiveSortStable'])) && !strstr($limit, ',')) {
if (serendipity_db_bool($serendipity['archiveSortStable'])) {
$totalEntries = serendipity_getTotalEntries();
$totalPages = ceil($totalEntries / $limit);
if ($totalPages <= 0 ) {
$totalPages = 1;
}
if ($serendipity['GET']['page'] == $totalPages) {
$limit = serendipity_db_limit(0, $limit);
} else if ($serendipity['GET']['page'] == $totalPages - 1) {
$limit = serendipity_db_limit($limit, ($totalEntries - (($totalPages -2) * $limit)) - $limit);
} else {
$limit = serendipity_db_limit(($totalEntries - ($limit * $serendipity['GET']['page'])), $limit);
}
} else {
$limit = serendipity_db_limit(($serendipity['GET']['page']-1) * $limit, $limit);
}
}
$limit = serendipity_db_limit_sql($limit);
}
$query = "SELECT $select_key
$body
{$serendipity['fullCountQuery']}
@@ -906,16 +923,18 @@ function serendipity_printEntryFooter($suffix = '.html', $totalEntries = null) {
} else {
$limit = (int)$limits[0];
}
$totalPages = ceil($totalEntries / $limit);
if (!isset($serendipity['GET']['page'])) {
$serendipity['GET']['page'] = 1;
}
$totalPages = ceil($totalEntries / $limit);
if ($totalPages <= 0 ) {
$totalPages = 1;
}
if (!isset($serendipity['GET']['page']) && serendipity_db_bool($serendipity['archiveSortStable'])) {
$serendipity['GET']['page'] = $totalPages;
} else if (!isset($serendipity['GET']['page'])) {
$serendipity['GET']['page'] = 1;
}
if ($serendipity['GET']['page'] > 1) {
$uriArguments = $serendipity['uriArguments'];
$uriArguments[] = 'P'. ($serendipity['GET']['page'] - 1);
@@ -926,15 +945,25 @@ function serendipity_printEntryFooter($suffix = '.html', $totalEntries = null) {
$uriArguments[] = 'P%s';
$serendipity['smarty']->assign('footer_totalEntries', $totalEntries);
$serendipity['smarty']->assign('footer_totalPages', $totalPages);
$serendipity['smarty']->assign('footer_currentPage', $serendipity['GET']['page']);
if (serendipity_db_bool($serendipity['archiveSortStable'])) {
$serendipity['smarty']->assign('footer_currentPage', $totalPages - $serendipity['GET']['page']);
} else {
$serendipity['smarty']->assign('footer_currentPage', $serendipity['GET']['page']);
}
$serendipity['smarty']->assign('footer_pageLink', str_replace('%2A', '*', serendipity_rewriteURL(implode('/', $uriArguments) . $suffix)));
$serendipity['smarty']->assign('footer_info', sprintf(PAGE_BROWSE_ENTRIES, (int)$serendipity['GET']['page'], $totalPages, $totalEntries));
$serendipity['smarty']->assign('footer_info', sprintf(PAGE_BROWSE_ENTRIES, serendipity_db_bool($serendipity['archiveSortStable']) ? $totalPages - (int)$serendipity['GET']['page'] +1 : (int)$serendipity['GET']['page'], $totalPages, $totalEntries));
if ($serendipity['GET']['page'] < $totalPages) {
$uriArguments = $serendipity['uriArguments'];
$uriArguments[] = 'P'. ($serendipity['GET']['page'] + 1);
$serendipity['smarty']->assign('footer_next_page', serendipity_rewriteURL(implode('/', $uriArguments) . $suffix));
}
if (serendipity_db_bool($serendipity['archiveSortStable'])) {
$temp = $serendipity['smarty']->getTemplateVars('footer_prev_page');
$serendipity['smarty']->assign('footer_prev_page', $serendipity['smarty']->getTemplateVars('footer_next_page'));
$serendipity['smarty']->assign('footer_next_page', $temp);
}
}
/**