Versioned::get_version() didn't work if you were on the live site

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@45079 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2007-11-19 03:15:11 +00:00
parent d80432972d
commit ef5aabf666

View File

@ -637,6 +637,9 @@ class Versioned extends DataObjectDecorator {
}
static function get_version($class, $id, $version) {
$oldStage = Versioned::$reading_stage;
Versioned::$reading_stage = null;
$baseTable = ClassInfo::baseDataClass($class);
$query = singleton($class)->buildVersionSQL("`{$baseTable}`.RecordID = $id AND `{$baseTable}`.Version = $version");
$record = $query->execute()->record();
@ -646,6 +649,9 @@ class Versioned extends DataObjectDecorator {
Debug::show($record);
user_error("Versioned::get_version: Couldn't get $class.$id, version $version", E_USER_ERROR);
}
Versioned::$reading_stage = $oldStage;
return new $className($record);
}