本文整理汇总了PHP中Revision::getVisibility方法的典型用法代码示例。如果您正苦于以下问题:PHP Revision::getVisibility方法的具体用法?PHP Revision::getVisibility怎么用?PHP Revision::getVisibility使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Revision
的用法示例。
在下文中一共展示了Revision::getVisibility方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getRevDeleteLink
/**
* Get a revision-deletion link, or disabled link, or nothing, depending
* on user permissions & the settings on the revision.
*
* Will use forward-compatible revision ID in the Special:RevDelete link
* if possible, otherwise the timestamp-based ID which may break after
* undeletion.
*
* @param User $user
* @param Revision $rev
* @param Revision $title
* @return string HTML fragment
*/
public static function getRevDeleteLink(User $user, Revision $rev, Title $title)
{
$canHide = $user->isAllowed('deleterevision');
if (!$canHide && !($rev->getVisibility() && $user->isAllowed('deletedhistory'))) {
return '';
}
if (!$rev->userCan(Revision::DELETED_RESTRICTED, $user)) {
return Linker::revDeleteLinkDisabled($canHide);
// revision was hidden from sysops
} else {
if ($rev->getId()) {
// RevDelete links using revision ID are stable across
// page deletion and undeletion; use when possible.
$query = array('type' => 'revision', 'target' => $title->getPrefixedDBkey(), 'ids' => $rev->getId());
} else {
// Older deleted entries didn't save a revision ID.
// We have to refer to these by timestamp, ick!
$query = array('type' => 'archive', 'target' => $title->getPrefixedDBkey(), 'ids' => $rev->getTimestamp());
}
return Linker::revDeleteLink($query, $rev->isDeleted(Revision::DELETED_RESTRICTED), $canHide);
}
}
示例2: onContributionsLineEnding
/**
* @brief Adjusting Special:Contributions
*
* @param ContribsPager $contribsPager
* @param String $ret string passed to wgOutput
* @param Object $row Std Object with values from database table
*
* @return true
*/
public function onContributionsLineEnding(&$contribsPager, &$ret, $row)
{
wfProfileIn(__METHOD__);
$app = F::app();
if (isset($row->page_namespace) && in_array(MWNamespace::getSubject($row->page_namespace), $app->wg->WallNS)) {
$topmarktext = '';
$rev = new Revision($row);
$page = $rev->getTitle();
$page->resetArticleId($row->rev_page);
$skin = $app->wg->User->getSkin();
$wfMsgOptsBase = $this->getMessageOptions(null, $row, true);
$isThread = $wfMsgOptsBase['isThread'];
$isNew = $wfMsgOptsBase['isNew'];
$wfMsgOptsBase['createdAt'] = Xml::element('a', array('href' => $wfMsgOptsBase['articleUrl']), $app->wg->Lang->timeanddate($app->wf->Timestamp(TS_MW, $row->rev_timestamp), true));
if ($isNew) {
$wfMsgOptsBase['DiffLink'] = $app->wf->Msg('diff');
} else {
$query = array('diff' => 'prev', 'oldid' => $row->rev_id);
$wfMsgOptsBase['DiffLink'] = Xml::element('a', array('href' => $rev->getTitle()->getLocalUrl($query)), $app->wf->Msg('diff'));
}
$wallMessage = F::build('WallMessage', array($page));
$historyLink = $wallMessage->getMessagePageUrl(true) . '?action=history';
$wfMsgOptsBase['historyLink'] = Xml::element('a', array('href' => $historyLink), $app->wf->Msg('hist'));
// Don't show useless link to people who cannot hide revisions
$canHide = $app->wg->User->isAllowed('deleterevision');
if ($canHide || $rev->getVisibility() && $app->wg->User->isAllowed('deletedhistory')) {
if (!$rev->userCan(Revision::DELETED_RESTRICTED)) {
$del = $skin->revDeleteLinkDisabled($canHide);
// revision was hidden from sysops
} else {
$query = array('type' => 'revision', 'target' => $page->getPrefixedDbkey(), 'ids' => $rev->getId());
$del = $skin->revDeleteLink($query, $rev->isDeleted(Revision::DELETED_RESTRICTED), $canHide);
}
$del .= ' ';
} else {
$del = '';
}
$ret = $del;
if (wfRunHooks('WallContributionsLine', array(MWNamespace::getSubject($row->page_namespace), $wallMessage, $wfMsgOptsBase, &$ret))) {
$wfMsgOpts = array($wfMsgOptsBase['articleUrl'], $wfMsgOptsBase['articleTitleTxt'], $wfMsgOptsBase['wallPageUrl'], $wfMsgOptsBase['wallPageName'], $wfMsgOptsBase['createdAt'], $wfMsgOptsBase['DiffLink'], $wfMsgOptsBase['historyLink']);
if ($isThread && $isNew) {
$wfMsgOpts[7] = Xml::element('strong', array(), wfMsg('newpageletter') . ' ');
} else {
$wfMsgOpts[7] = '';
}
$ret .= $app->wf->Msg('wall-contributions-wall-line', $wfMsgOpts);
}
if (!$isNew) {
$summary = $rev->getComment();
if (empty($summary)) {
$msg = $app->wf->MsgForContent($this->getMessagePrefix($row->page_namespace) . '-edit');
} else {
$msg = $app->wf->MsgForContent('wall-recentchanges-summary', $summary);
}
$ret .= ' ' . Xml::openElement('span', array('class' => 'comment')) . $msg . Xml::closeElement('span');
}
}
wfProfileOut(__METHOD__);
return true;
}
示例3: getBits
public function getBits()
{
return $this->revision->getVisibility();
}
示例4: notifyCategorization
/**
* @param string $timestamp Timestamp of the recent change to occur in TS_MW format
* @param Title $categoryTitle Title of the category a page is being added to or removed from
* @param User $user User object of the user that made the change
* @param string $comment Change summary
* @param Title $pageTitle Title of the page that is being added or removed
* @param string $lastTimestamp Parent revision timestamp of this change in TS_MW format
* @param Revision|null $revision
*
* @throws MWException
*/
private function notifyCategorization($timestamp, Title $categoryTitle, User $user = null, $comment, Title $pageTitle, $lastTimestamp, $revision)
{
$deleted = $revision ? $revision->getVisibility() & Revision::SUPPRESSED_USER : 0;
$newRevId = $revision ? $revision->getId() : 0;
/**
* T109700 - Default bot flag to true when there is no corresponding RC entry
* This means all changes caused by parser functions & Lua on reparse are marked as bot
* Also in the case no RC entry could be found due to replica DB lag
*/
$bot = 1;
$lastRevId = 0;
$ip = '';
# If no revision is given, the change was probably triggered by parser functions
if ($revision !== null) {
$correspondingRc = $this->revision->getRecentChange();
if ($correspondingRc === null) {
$correspondingRc = $this->revision->getRecentChange(Revision::READ_LATEST);
}
if ($correspondingRc !== null) {
$bot = $correspondingRc->getAttribute('rc_bot') ?: 0;
$ip = $correspondingRc->getAttribute('rc_ip') ?: '';
$lastRevId = $correspondingRc->getAttribute('rc_last_oldid') ?: 0;
}
}
/** @var RecentChange $rc */
$rc = call_user_func_array($this->newForCategorizationCallback, [$timestamp, $categoryTitle, $user, $comment, $pageTitle, $lastRevId, $newRevId, $lastTimestamp, $bot, $ip, $deleted]);
$rc->save();
}
示例5: revDeleteLink
/**
* Get a revision-deletion link, or disabled link, or nothing, depending
* on user permissions & the settings on the revision.
*
* Will use forward-compatible revision ID in the Special:RevDelete link
* if possible, otherwise the timestamp-based ID which may break after
* undeletion.
*
* @param Revision $rev
* @return string HTML fragment
*/
function revDeleteLink($rev)
{
$canHide = $this->getUser()->isAllowed('deleterevision');
if ($canHide || $rev->getVisibility() && $this->getUser()->isAllowed('deletedhistory')) {
if (!$rev->userCan(Revision::DELETED_RESTRICTED)) {
$revdlink = Linker::revDeleteLinkDisabled($canHide);
// revision was hidden from sysops
} else {
if ($rev->getId()) {
// RevDelete links using revision ID are stable across
// page deletion and undeletion; use when possible.
$query = array('type' => 'revision', 'target' => $this->mTargetObj->getPrefixedDBkey(), 'ids' => $rev->getId());
} else {
// Older deleted entries didn't save a revision ID.
// We have to refer to these by timestamp, ick!
$query = array('type' => 'archive', 'target' => $this->mTargetObj->getPrefixedDBkey(), 'ids' => $rev->getTimestamp());
}
return Linker::revDeleteLink($query, $rev->isDeleted(File::DELETED_RESTRICTED), $canHide);
}
} else {
return '';
}
}