From: <rob...@us...> - 2011-10-31 13:34:01
|
Revision: 38594 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=38594&view=rev Author: robertplummer Date: 2011-10-31 13:33:54 +0000 (Mon, 31 Oct 2011) Log Message: ----------- [FIX] Date checking for updating revisions Modified Paths: -------------- trunk/lib/core/SimpleVCS.php Modified: trunk/lib/core/SimpleVCS.php =================================================================== --- trunk/lib/core/SimpleVCS.php 2011-10-31 13:26:21 UTC (rev 38593) +++ trunk/lib/core/SimpleVCS.php 2011-10-31 13:33:54 UTC (rev 38594) @@ -3,6 +3,7 @@ { var $file = array(); var $fileName = ""; + var $revision = 0; static function fileName($fileName = "") { @@ -11,7 +12,9 @@ $me->fileName = "simplevcs_" . $fileName; $file = TikiLib::lib("filegal")->get_files(null, 1, null, $me->fileName, null); $me->file = $file['data'][0]; - return $me; + $me->revision = $revision; + + return $me; } private function createRevision($contents) @@ -19,9 +22,9 @@ global $user; include_once ('lib/mime/mimetypes.php'); - - return $id = TikiLib::lib("filegal")->insert_file( - ($this->file['galleryId'] || 0), //zero makes it not show by default + + return TikiLib::lib("filegal")->insert_file( + 0, //zero makes it not show by default $this->fileName, tr("An automatic htmlfeed from ") . $this->feedUrl, $this->fileName.".vcs", @@ -33,29 +36,43 @@ ); } + function revision($revision = 0) + { + $this->revision = $revision; + $revisions = $this->listRevisions(); + $this->file = $revisions[$revision]; + return $this; + } + function getData() { - return TikiLib::lib("filegal") - ->get_file_info($file['id']) - ->fileInfo['data']; + $fileInfo = TikiLib::lib("filegal")->get_file_info($this->file['id']); + return $fileInfo['data']; } function exists() { - return !empty($this->file['id']); + return (empty($this->file['id']) ? false : true); } + function listRevisions() + { + $archives = TikiLib::lib("filegal")->get_archives($this->file['id']); + $archives = array_reverse( $archives['data'] ); + return $archives; + } + function addRevision($contents) { global $user; include_once ('lib/mime/mimetypes.php'); if (!$this->exists()) return $this->createRevision($contents); - + return TikiLib::lib("filegal")->save_archive( $this->file['id'], - $this->file['galleryId'], 0, + 0, $this->fileName, tr("An automatic htmlfeed from ") . $this->feedUrl, $this->fileName.".vcs", @@ -66,4 +83,18 @@ date() ); } + + function diffLatestWithRevision($revision = 0) + { + include_once ( "lib/diff/Diff.php" ); + + $textDiff = new Text_Diff( + SimpleVCS::fileName($this->fileName) + ->revision($revision) + ->getData(), + $this->getData() + ); + + return $textDiff->getDiff(); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |