本文整理匯總了PHP中SiteTree::lock方法的典型用法代碼示例。如果您正苦於以下問題:PHP SiteTree::lock方法的具體用法?PHP SiteTree::lock怎麽用?PHP SiteTree::lock使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類SiteTree
的用法示例。
在下文中一共展示了SiteTree::lock方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: getEditingLocks
/**
* Lock the page for editing
*
* @param SiteTree $page
* The page being edited
* @param boolean $doLock
* Whether to actually lock the page for ourselves
* @return array
* The names of any existing editors
*/
protected function getEditingLocks($page, $doLock = false)
{
$currentStage = Versioned::current_stage();
Versioned::reading_stage('Stage');
$filter = array('WikiPage.ID' => $page->ID, 'WikiLockExpiry' => date('Y-m-d H:i:s'));
$user = Member::currentUser();
$currentLock = WikiPage::get()->filter($filter)->first();
$lock = null;
if ($currentLock && $currentLock->ID) {
// if there's a current lock in place, lets return that value
$lock = array('user' => $currentLock->WikiLastEditor, 'expires' => $currentLock->WikiLockExpiry);
}
// If we're trying to take the lock, make sure that a) there's no existing
// lock or b) we currently hold the lock
if ($doLock && ($currentLock == null || !$currentLock->ID || $currentLock->WikiLastEditor == $user->Email)) {
$page->lock();
}
Versioned::reading_stage($currentStage);
return $lock;
}