function action_history() { global $pagestore, $page, $full, $HistMax; $history = $pagestore->history($page); gen_headers($history[0][0]); $text = ''; $latest_auth = ''; $previous_ver = 0; $is_latest = 1; for ($i = 0; $i < count($history); $i++) { if ($latest_auth == '') { $latest_auth = $history[$i][3] == '' ? $history[$i][1] : $history[$i][3]; $latest_ver = $history[$i][2]; } if ($previous_ver == 0 && $latest_auth != ($history[$i][3] == '' ? $history[$i][1] : $history[$i][3])) { $previous_ver = $history[$i][2]; } if ($i < $HistMax || $full) { $text = $text . html_history_entry($page, $history[$i][2], $history[$i][0], $history[$i][1], $history[$i][3], $previous_ver == $history[$i][2] || !$full && $i == count($history) - 1, $is_latest, $history[$i][4]); } $is_latest = 0; } if ($i >= $HistMax && !$full) { $text = $text . html_fullhistory($page, count($history)); } $p1 = $pagestore->page($page); $p1->version = $previous_ver; $p2 = $pagestore->page($page); $p2->version = $latest_ver; $diff = diff_compute($p1->read(), $p2->read()); template_history(array('page' => $p2->as_array(), 'history' => $text, 'diff' => diff_parse($diff))); }
function action_history() { global $diff_mode, $full, $HistMax, $page, $pagestore, $UserName, $ver1; global $ver2; $history = $pagestore->history($page); gen_headers($history[0][0]); $versions = diff_get_history_versions($history, $ver1, $ver2); $latest_ver = $versions['latest_ver']; $previous_ver = $versions['previous_ver']; $text = ''; for ($i = 0; $i < count($history); $i++) { if ($i < $HistMax || $full) { $text = $text . html_history_entry($page, $history[$i][2], $history[$i][0], $history[$i][1], $history[$i][3], $previous_ver == $history[$i][2], $latest_ver == $history[$i][2], $history[$i][4]); } } if ($i >= $HistMax && !$full) { $text = $text . html_fullhistory($page, count($history)); } $p1 = $pagestore->page($page); $p1->version = $previous_ver; $p2 = $pagestore->page($page); $p2->version = $latest_ver; $diff = do_diff($p1->read(), $p2->read()); template_history(array('page' => $page, 'history' => $text, 'diff' => $diff, 'editver' => $UserName && $p2->mutable ? 0 : -1, 'timestamp' => $p2->time, 'edituser' => $p2->username, 'diff_mode' => $diff_mode)); }