$output = $modx->getPlaceholder($toPlaceholder); } else { $output = $object->process($scriptProperties); } } else { $modx->log(modX::LOG_LEVEL_ERROR, '[pdoPage] Could not load element "' . $scriptProperties['element'] . '"'); return ''; } /** Pagination */ $total = $modx->getPlaceholder($totalVar); $pageCount = !empty($scriptProperties['limit']) ? ceil($total / $scriptProperties['limit']) : 0; // Redirect to start if somebody specified incorrect page if ($page > 1 && $page > $pageCount) { return $pdoPage->redirectToFirst($isAjax); } elseif (!empty($pageCount) && $pageCount > 1) { $pagination = array('first' => $page > 1 && !empty($tplPageFirst) ? $pdoPage->makePageLink($url, 1, $tplPageFirst) : '', 'prev' => $page > 1 && !empty($tplPagePrev) ? $pdoPage->makePageLink($url, $page - 1, $tplPagePrev) : '', 'pages' => $pageLimit >= 7 && empty($disableModernPagination) ? $pdoPage->buildModernPagination($page, $pageCount, $url) : $pdoPage->buildClassicPagination($page, $pageCount, $url), 'next' => $page < $pageCount && !empty($tplPageNext) ? $pdoPage->makePageLink($url, $page + 1, $tplPageNext) : '', 'last' => $page < $pageCount && !empty($tplPageLast) ? $pdoPage->makePageLink($url, $pageCount, $tplPageLast) : ''); if (!empty($pageCount)) { foreach (array('first', 'prev', 'next', 'last') as $v) { $tpl = 'tplPage' . ucfirst($v) . 'Empty'; if (!empty(${$tpl}) && empty($pagination[$v])) { $pagination[$v] = $pdoPage->pdoTools->getChunk(${$tpl}); } } } $pagination = !empty($tplPageWrapper) ? $pdoPage->pdoTools->getChunk($tplPageWrapper, $pagination) : $pdoPage->pdoTools->parseChunk('', $pagination); } $data = array('output' => $output, $pageVarKey => $page, $pageCountVar => $pageCount, $pageNavVar => $pagination, $totalVar => $total); if (!empty($cache) || !$modx->user->id && !empty($cacheAnonymous)) { $pdoPage->pdoTools->setCache($data, $scriptProperties); } }
$output = $modx->getPlaceholder($toPlaceholder); } else { $output = $object->process($scriptProperties); } } else { $modx->log(modX::LOG_LEVEL_ERROR, '[pdoPage] Could not load element "' . $scriptProperties['element'] . '"'); return ''; } /** Pagination */ $total = $modx->getPlaceholder($totalVar); $pageCount = !empty($scriptProperties['limit']) ? ceil($total / $scriptProperties['limit']) : 0; // Redirect to start if somebody specified incorrect page if ($page > 1 && $page > $pageCount) { return $pdoPage->redirectToFirst($isAjax); } elseif (!empty($pageCount) && $pageCount > 1) { $pagination = array('first' => $page > 1 && !empty($tplPageFirst) ? $pdoPage->makePageLink($url, 1, $tplPageFirst) : '', 'prev' => $page > 1 && !empty($tplPagePrev) ? $pdoPage->makePageLink($url, $page - 1, $tplPagePrev) : '', 'pages' => $pageLimit >= 7 && empty($disableModernPagination) ? $pdoPage->buildModernPagination($page, $pageCount, $url) : $pdoPage->buildClassicPagination($page, $pageCount, $url), 'next' => $page < $pageCount && !empty($tplPageNext) ? $pdoPage->makePageLink($url, $page + 1, $tplPageNext) : '', 'last' => $page < $pageCount && !empty($tplPageLast) ? $pdoPage->makePageLink($url, $pageCount, $tplPageLast) : ''); if (!empty($pageCount)) { foreach (array('first', 'prev', 'next', 'last') as $v) { $tpl = 'tplPage' . ucfirst($v) . 'Empty'; if (!empty(${$tpl}) && empty($pagination[$v])) { $pagination[$v] = $pdoPage->pdoTools->getChunk(${$tpl}); } } } if (!empty($setMeta) && !$isAjax) { if ($page > 1) { $modx->regClientStartupHTMLBlock('<link rel="prev" href="' . $pdoPage->makePageLink($url, $page - 1) . '"/>'); } if ($page < $pageCount) { $modx->regClientStartupHTMLBlock('<link rel="next" href="' . $pdoPage->makePageLink($url, $page + 1) . '"/>'); }