$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;
}