$delimiter = isset($delimiter)? $delimiter : "<!--[page]-->"; $tplNext = isset($tplNext) ? $tplNext : '»'; $tplPrev = isset($tplPrev) ? $tplPrev : '«'; $e = &$modx->Event; switch($e->name) { case 'OnLoadWebDocument': $content = $modx->documentObject['content']; $pagecontent = explode($delimiter, $content); $countpages = count($pagecontent); if ($countpages>1) { $currentpage = isset($_GET['page']) ? $_GET['page'] : 1; if (($currentpage>$countpages) || ($currentpage<1)) $currentpage = 1; $currentpageid = $modx->documentObject['id']; $url = $modx->makeUrl($currentpageid); $char = ((strpos($url,"?")===false) ? "?":"&"); $char = ($modx->config['friendly_urls'] == 0) ? "&" : "?"; $url = $modx->makeurl($modx->documentObject['id'], '', $char.'page='); $prevpage = $currentpage-1; $nextpage = $currentpage+1; $linkprev = ($prevpage>0) ? ("<a href=\"[~$currentpageid~]" . $char . "page=$prevpage\">" . $tplPrev . "</a>") : ''; $linknext = ($nextpage<=$countpages) ? ("<a href=\"[~$currentpageid~]" . $char . "page=$nextpage\">" . $tplNext . "</a>") : ''; for ($display=1; $display<=$countpages; $display++) { if ($display != $currentpage) { $pages[] = "<a class=\"pip_page\" href='[~$currentpageid~]" . $char . "page=$display'>$display</a>"; } else { $pages[] = "<span class=\"pip_currentpage\">[$display]</span>"; } } $pages = implode(' - ', $pages); $content = $pagecontent[$currentpage-1]; $modx->setPlaceholder('countpages', $countpages); $modx->setPlaceholder('currentpage', $currentpage); $modx->setPlaceholder('previouspage', $prevpage); $modx->setPlaceholder('nextpage', $nextpage); $modx->setPlaceholder('previous', $linkprev); $modx->setPlaceholder('next', $linknext); $modx->setPlaceholder('pages', $pages); } $modx->documentObject['content'] = $content; break; case "OnDocFormSave": $pagecontent = explode($delimiter, $_POST['ta']); if (count($pagecontent)>1) { $fields = array('cacheable' => 0); $table = $modx->getFullTableName('site_content'); // Update the database $rows_affected = $modx->db->update( $fields, $table, "id = {$e->params['id']}" ); } break; default: return; break; }