summaryrefslogtreecommitdiff
path: root/content_history_inc.php
diff options
context:
space:
mode:
authorwjames5 <will@tekimaki.com>2007-06-01 18:03:27 +0000
committerwjames5 <will@tekimaki.com>2007-06-01 18:03:27 +0000
commitd808fb37593a7d1ee16a88a7545888c7fe7e08fb (patch)
treec18b8f71396d8482c38cb16b4ee851fd618e4383 /content_history_inc.php
parent1b8bf09e0e909b263df9a2ae6f0c375955871b92 (diff)
downloadliberty-d808fb37593a7d1ee16a88a7545888c7fe7e08fb.tar.gz
liberty-d808fb37593a7d1ee16a88a7545888c7fe7e08fb.tar.bz2
liberty-d808fb37593a7d1ee16a88a7545888c7fe7e08fb.zip
universal history getting stuff
Diffstat (limited to 'content_history_inc.php')
-rw-r--r--content_history_inc.php56
1 files changed, 56 insertions, 0 deletions
diff --git a/content_history_inc.php b/content_history_inc.php
new file mode 100644
index 0000000..004a9b9
--- /dev/null
+++ b/content_history_inc.php
@@ -0,0 +1,56 @@
+<?php
+
+$gBitSmarty->assign('source', 0);
+// If we have to include a preview please show it
+$gBitSmarty->assign('preview', false);
+$gBitSmarty->assign('compare', 'n');
+$gBitSmarty->assign('diff2', 'n');
+if (isset($_REQUEST["delete"]) && isset($_REQUEST["hist"])) {
+ foreach (array_keys($_REQUEST["hist"])as $version) {
+ $gContent->expungeVersion( $version );
+ }
+} elseif (isset($_REQUEST['source'])) {
+ $gBitSmarty->assign('source', $_REQUEST['source']);
+ if ($_REQUEST['source'] == 'current') {
+ $gBitSmarty->assign('sourcev', nl2br(htmlentities($gContent->mInfo["data"])));
+ } else {
+ $version = $gContent->getHistory($_REQUEST["source"]);
+ $gBitSmarty->assign('sourcev', nl2br(htmlentities($version["data"][0]["data"])));
+ }
+} elseif (isset($_REQUEST["preview"])) {
+ if( $version = $gContent->getHistory( $_REQUEST["preview"] ) ) {
+ $version['data'][0]['parsed_data'] = $gContent->parseData( $version["data"][0]);
+ $gBitSmarty->assign_by_ref($smartyContentRef, $version['data'][0] );
+ $gBitSmarty->assign_by_ref('version', $_REQUEST["preview"]);
+ }
+} elseif( isset( $_REQUEST["diff2"] ) ) {
+ $from_version = $_REQUEST["diff2"];
+ $from_page = $gContent->getHistory( $from_version );
+ $from_lines = explode("\n",$from_page["data"][0]["data"]);
+ $to_version = $gContent->mInfo["version"];
+ $to_lines = explode("\n",$gContent->mInfo["data"]);
+
+ include_once( WIKI_PKG_PATH.'diff.php');
+ $diffx = new WikiDiff($from_lines,$to_lines);
+ $fmt = new WikiUnifiedDiffFormatter;
+ $html = $fmt->format($diffx, $from_lines);
+ $gBitSmarty->assign('diffdata', $html);
+ $gBitSmarty->assign('diff2', 'y');
+ $gBitSmarty->assign('version_from', $from_version);
+ $gBitSmarty->assign('version_to', $to_version);
+
+} elseif( isset( $_REQUEST["compare"] ) ) {
+ $from_version = $_REQUEST["compare"];
+ $from_page = $gContent->getHistory($from_version);
+ $gBitSmarty->assign('compare', 'y');
+ $gBitSmarty->assign_by_ref('diff_from', $gContent->parseData( $from_page["data"][0] ) );
+ $gBitSmarty->assign_by_ref('diff_to', $gContent->parseData() );
+ $gBitSmarty->assign_by_ref('version_from', $from_version);
+} elseif (isset($_REQUEST["rollback"])) {
+ if( $version = $gContent->getHistory( $_REQUEST["preview"] ) ) {
+ $gBitSmarty->assign_by_ref('parsed', $gContent->parseData( $version["data"][0] ) );
+ $gBitSmarty->assign_by_ref('version', $_REQUEST["preview"]);
+ }
+}
+
+?> \ No newline at end of file