| @copyright 2007-2026 (c) AVE.cms | @link https://ave-cms.ru | @version 3.3 */ namespace App\Frontend; defined('BASEPATH') || die('Direct access to this location is not allowed.'); use App\Helpers\Url; /** Splits rich-text fields into public pages and renders their navigation. */ class DocumentPaginationRenderer { public function render($text, $document = null) { $document = is_object($document) ? $document : PublicPageContext::document(); $documentId = $document && isset($document->Id) ? (int) $document->Id : (isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 1); $alias = $document && isset($document->document_alias) ? (string) $document->document_alias : ''; $title = $document && isset($document->document_title) ? (string) $document->document_title : ''; $pages = preg_split( '#
 
#i', (string) $text ); $totalPages = count($pages); if ($totalPages > 1) { $page = PaginationRenderer::currentPage('artpage'); $text = isset($pages[$page - 1]) ? $pages[$page - 1] : ''; $template = ' {t} '; $pagination = (new PaginationRenderer())->render( $totalPages, 'artpage', $template, PublicSettings::get('navi_box') ); $text .= Url::rewrite($pagination); } $record = ''; return $record . $text; } }