mirror of
https://github.com/processwire/processwire.git
synced 2025-08-10 16:54:44 +02:00
Add the FieldtypeDoesVersions interface for Fieldtypes that support handling versions of their own page data
This commit is contained in:
@@ -236,6 +236,58 @@ interface FieldtypeHasPageimages {
|
||||
public function getPageimages(Page $page, Field $field);
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates Fieldtype has version support and manages its own versions
|
||||
*
|
||||
*/
|
||||
interface FieldtypeDoesVersions {
|
||||
|
||||
/**
|
||||
* Get the value for given page, field and version
|
||||
*
|
||||
* @param Page $page
|
||||
* @param Field $field
|
||||
* @param int $version
|
||||
* @return mixed
|
||||
*
|
||||
*/
|
||||
public function getPageFieldVersion(Page $page, Field $field, $version);
|
||||
|
||||
/**
|
||||
* Save version of given page field
|
||||
*
|
||||
* @param Page $page
|
||||
* @param Field $field
|
||||
* @param int $version
|
||||
* @return bool
|
||||
*
|
||||
*/
|
||||
public function savePageFieldVersion(Page $page, Field $field, $version);
|
||||
|
||||
/**
|
||||
* Restore version of given page field to live page
|
||||
*
|
||||
* @param Page $page
|
||||
* @param Field $field
|
||||
* @param int $version
|
||||
* @return bool
|
||||
*
|
||||
*/
|
||||
public function restorePageFieldVersion(Page $page, Field $field, $version);
|
||||
|
||||
/**
|
||||
* Delete version
|
||||
*
|
||||
* @param Page $page
|
||||
* @param Field $field
|
||||
* @param int $version
|
||||
* @return bool
|
||||
*
|
||||
*/
|
||||
public function deletePageFieldVersion(Page $page, Field $field, $version);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Indicates that an Inputfield provides tree selection capabilities
|
||||
*
|
||||
|
@@ -881,6 +881,9 @@ class PageTraversal {
|
||||
}
|
||||
if($language && $language->id) $url .= "&language=$language->id";
|
||||
}
|
||||
|
||||
$version = (int) ((string) $page->get('_version|_repeater_version'));
|
||||
if($version) $url .= "&version=$version";
|
||||
|
||||
$append = $page->wire()->session->getFor($page, 'appendEditUrl');
|
||||
|
||||
|
Reference in New Issue
Block a user