本文整理汇总了PHP中Xml::wrapClass方法的典型用法代码示例。如果您正苦于以下问题:PHP Xml::wrapClass方法的具体用法?PHP Xml::wrapClass怎么用?PHP Xml::wrapClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Xml
的用法示例。
在下文中一共展示了Xml::wrapClass方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: listItem
protected function listItem($row, $nt, $target, $notClose = false)
{
$dirmark = $this->getLanguage()->getDirMark();
# local message cache
static $msgcache = null;
if ($msgcache === null) {
static $msgs = ['isredirect', 'istemplate', 'semicolon-separator', 'whatlinkshere-links', 'isimage', 'editlink'];
$msgcache = [];
foreach ($msgs as $msg) {
$msgcache[$msg] = $this->msg($msg)->escaped();
}
}
if ($row->rd_from) {
$query = ['redirect' => 'no'];
} else {
$query = [];
}
$link = Linker::linkKnown($nt, null, $row->page_is_redirect ? ['class' => 'mw-redirect'] : [], $query);
// Display properties (redirect or template)
$propsText = '';
$props = [];
if ($row->rd_from) {
$props[] = $msgcache['isredirect'];
}
if ($row->is_template) {
$props[] = $msgcache['istemplate'];
}
if ($row->is_image) {
$props[] = $msgcache['isimage'];
}
Hooks::run('WhatLinksHereProps', [$row, $nt, $target, &$props]);
if (count($props)) {
$propsText = $this->msg('parentheses')->rawParams(implode($msgcache['semicolon-separator'], $props))->escaped();
}
# Space for utilities links, with a what-links-here link provided
$wlhLink = $this->wlhLink($nt, $msgcache['whatlinkshere-links'], $msgcache['editlink']);
$wlh = Xml::wrapClass($this->msg('parentheses')->rawParams($wlhLink)->escaped(), 'mw-whatlinkshere-tools');
return $notClose ? Xml::openElement('li') . "{$link} {$propsText} {$dirmark} {$wlh}\n" : Xml::tags('li', null, "{$link} {$propsText} {$dirmark} {$wlh}") . "\n";
}
示例2: listItem
protected function listItem($row, $nt, $notClose = false)
{
global $wgLang;
$dirmark = $wgLang->getDirMark();
# local message cache
static $msgcache = null;
if ($msgcache === null) {
static $msgs = array('isredirect', 'istemplate', 'semicolon-separator', 'whatlinkshere-links', 'isimage');
$msgcache = array();
foreach ($msgs as $msg) {
$msgcache[$msg] = wfMsgExt($msg, array('escapenoentities'));
}
}
if ($row->page_is_redirect) {
$query = array('redirect' => 'no');
} else {
$query = array();
}
$link = Linker::linkKnown($nt, null, array(), $query);
// Display properties (redirect or template)
$propsText = '';
$props = array();
if ($row->page_is_redirect) {
$props[] = $msgcache['isredirect'];
}
if ($row->is_template) {
$props[] = $msgcache['istemplate'];
}
if ($row->is_image) {
$props[] = $msgcache['isimage'];
}
if (count($props)) {
$propsText = '(' . implode($msgcache['semicolon-separator'], $props) . ')';
}
# Space for utilities links, with a what-links-here link provided
$wlhLink = $this->wlhLink($nt, $msgcache['whatlinkshere-links']);
$wlh = Xml::wrapClass("({$wlhLink})", 'mw-whatlinkshere-tools');
return $notClose ? Xml::openElement('li') . "{$link} {$propsText} {$dirmark} {$wlh}\n" : Xml::tags('li', null, "{$link} {$propsText} {$dirmark} {$wlh}") . "\n";
}
示例3: getPostCommentForm
/**
* Generates and returns a "post new comment" form for the user to fill in
* and submit.
*
* @param $parent If provided, generates a "post reply" form to reply to
* the given comment.
*/
public function getPostCommentForm( $parent = null ) {
global $wgUser, $wgTitle, $wgScript, $wgRequest;
global $wgWikilogModerateAnonymous;
$comment = $this->mPostedComment;
$opts = $this->mFormOptions;
$preview = '';
$pid = $parent ? $parent->mID : null;
if ( $comment && $comment->mParent == $pid ) {
$check = $this->validateComment( $comment );
if ( $check ) {
$preview = Xml::wrapClass( wfMsg( $check ), 'mw-warning', 'div' );
} else {
$preview = $this->mFormatter->formatComment( $this->mPostedComment );
}
$header = wfMsgHtml( 'wikilog-form-preview' );
$preview = "<b>{$header}</b>{$preview}<hr/>";
}
$form =
Html::hidden( 'title', $this->getTitle()->getPrefixedText() ) .
Html::hidden( 'action', 'wikilog' ) .
Html::hidden( 'wpEditToken', $wgUser->editToken() ) .
( $parent ? Html::hidden( 'wlParent', $parent->mID ) : '' );
$fields = array();
if ( $wgUser->isLoggedIn() ) {
$fields[] = array(
wfMsg( 'wikilog-form-name' ),
$this->mSkin->userLink( $wgUser->getId(), $wgUser->getName() )
);
} else {
$loginTitle = SpecialPage::getTitleFor( 'Userlogin' );
$loginLink = $this->mSkin->link( $loginTitle,
wfMsgHtml( 'loginreqlink' ), array(),
array( 'returnto' => $wgTitle->getPrefixedUrl() )
);
$message = wfMsg( 'wikilog-posting-anonymously', $loginLink );
$fields[] = array(
Xml::label( wfMsg( 'wikilog-form-name' ), 'wl-name' ),
Xml::input( 'wlAnonName', 25, $opts->consumeValue( 'wlAnonName' ),
array( 'id' => 'wl-name', 'maxlength' => 255 ) ) .
"<p>{$message}</p>"
);
}
$autofocus = $parent ? array( 'autofocus' => 'autofocus' ) : array();
$fields[] = array(
Xml::label( wfMsg( 'wikilog-form-comment' ), 'wl-comment' ),
Xml::textarea( 'wlComment', $opts->consumeValue( 'wlComment' ),
40, 5, array( 'id' => 'wl-comment' ) + $autofocus )
);
if ( $this->mCaptchaForm ) {
$fields[] = array( '', $this->mCaptchaForm );
}
if ( $wgWikilogModerateAnonymous && $wgUser->isAnon() ) {
$fields[] = array( '', wfMsg( 'wikilog-anonymous-moderated' ) );
}
$fields[] = array( '',
Xml::submitbutton( wfMsg( 'wikilog-submit' ), array( 'name' => 'wlActionCommentSubmit' ) ) . WL_NBSP .
Xml::submitbutton( wfMsg( 'wikilog-preview' ), array( 'name' => 'wlActionCommentPreview' ) )
);
$form .= WikilogUtils::buildForm( $fields );
foreach ( $opts->getUnconsumedValues() as $key => $value ) {
$form .= Html::hidden( $key, $value );
}
$form = Xml::tags( 'form', array(
'action' => "{$wgScript}#wl-comment-form",
'method' => 'post'
), $form );
$msgid = ( $parent ? 'wikilog-post-reply' : 'wikilog-post-comment' );
return Xml::fieldset( wfMsg( $msgid ), $preview . $form,
array( 'id' => 'wl-comment-form' ) ) . "\n";
}
示例4: getNavigationBar
/**
* Format and return the navigation bar.
* @param $limit integer Number of itens being displayed.
* @return string HTML-formatted navigation bar.
*/
public function getNavigationBar( $limit ) {
global $wgLang;
$limit = $wgLang->formatNum( $limit );
$opts = array( 'parsemag', 'escapenoentities' );
$linkTexts = $disabledTexts = array();
foreach ( self::$linkTextMsgs[$this->mType] as $type => $msg ) {
$label = wfMsgExt( $msg, $opts, $limit );
$linkTexts[$type] = wfMsgReplaceArgs( self::$pagingLabels[$type], array( $label ) );
$disabledTexts[$type] = Xml::wrapClass( $linkTexts[$type], 'disabled' );
}
$pagingLinks = $this->mPager->getPagingLinks( $linkTexts, $disabledTexts );
// $limitLinks = $this->mPager->getLimitLinks(); // XXX: Not used yet.
$ellipsis = wfMsg( 'ellipsis' );
$html = "{$pagingLinks['first']} {$pagingLinks['prev']} {$ellipsis} {$pagingLinks['next']} {$pagingLinks['last']}";
$html = WikilogUtils::wrapDiv( 'wl-pagination', $html );
$dir = $wgLang->getDir();
return Xml::tags( 'div',
array(
'class' => 'wl-navbar',
'dir' => $dir
),
$html
);
}
示例5: webOutput
/**
* Format the HTML output of the special page.
* @param $opts Form options, such as wikilog name, category, date, etc.
*/
public function webOutput( FormOptions $opts ) {
global $wgRequest, $wgOut, $wgMimeType, $wgTitle, $wgParser;
# Set page title, html title, nofollow, noindex, etc...
$this->setHeaders();
$this->outputHeader();
# Build query object.
$query = self::getQuery( $opts );
# Prepare the parser.
# This must be called here if not including, before the pager
# object is created. WikilogTemplatePager fails otherwise.
if ( !$this->including() ) {
$popts = $wgOut->parserOptions();
$wgParser->startExternalParse( $wgTitle, $popts, Parser::OT_HTML );
}
# Create the pager object that will create the list of articles.
if ( $opts['view'] == 'archives' ) {
$pager = new WikilogArchivesPager( $query, $this->including() );
} elseif ( $opts['template'] ) {
$templ = Title::makeTitle( NS_TEMPLATE, $opts['template'] );
$pager = new WikilogTemplatePager( $query, $templ, $opts['limit'], $this->including() );
} else {
$pager = new WikilogSummaryPager( $query, $opts['limit'], $this->including() );
}
# Handle special page inclusion.
if ( $this->including() ) {
# Get pager body.
$body = $pager->getBody();
}
else {
# If a wikilog is selected, set the title.
$title = $query->getWikilogTitle();
if ( !is_null( $title ) ) {
# Retrieve wikilog front page
$article = new Article( $title );
$content = $article->getContent();
$wgOut->setPageTitle( $title->getPrefixedText() );
$wgOut->addWikiTextTitle( $content, $title );
}
# Display query options.
$body = $this->getHeader( $opts );
# Get pager body.
$body .= $pager->getBody();
# Add navigation bars.
$body .= $pager->getNavigationBar();
}
# Output.
$body = Xml::wrapClass( $body, 'wl-wrapper', 'div' );
$wgOut->addHTML( $body );
# Get query parameter array, for the following links.
$qarr = $query->getDefaultQuery();
# Add feed links.
$wgOut->setSyndicated();
$altquery = wfArrayToCGI( array_intersect_key( $qarr, WikilogItemFeed::$paramWhitelist ) );
if ( $altquery ) {
$wgOut->setFeedAppendQuery( $altquery );
}
# Add links for alternate views.
foreach ( self::$views as $alt ) {
if ( $alt != $opts['view'] ) {
$altquery = wfArrayToCGI( array( 'view' => $alt ), $qarr );
$wgOut->addLink( array(
'rel' => 'alternate',
'href' => $wgTitle->getLocalURL( $altquery ),
'type' => $wgMimeType,
'title' => wfMsgExt( "wikilog-view-{$alt}",
array( 'content', 'parsemag' ) )
) );
}
}
}
示例6: listItem
protected function listItem($row, $nt, $notClose = false)
{
# local message cache
static $msgcache = null;
if ($msgcache === null) {
static $msgs = array('isredirect', 'istemplate', 'semicolon-separator', 'whatlinkshere-links', 'isimage');
$msgcache = array();
foreach ($msgs as $msg) {
$msgcache[$msg] = wfMsgExt($msg, array('escapenoentities'));
}
}
$suppressRedirect = $row->page_is_redirect ? 'redirect=no' : '';
$link = $this->skin->makeKnownLinkObj($nt, '', $suppressRedirect);
// Display properties (redirect or template)
$propsText = '';
$props = array();
if ($row->page_is_redirect) {
$props[] = $msgcache['isredirect'];
}
if ($row->is_template) {
$props[] = $msgcache['istemplate'];
}
if ($row->is_image) {
$props[] = $msgcache['isimage'];
}
if (count($props)) {
$propsText = '(' . implode($msgcache['semicolon-separator'], $props) . ')';
}
# Space for utilities links, with a what-links-here link provided
$wlhLink = $this->wlhLink($nt, $msgcache['whatlinkshere-links']);
$wlh = Xml::wrapClass("({$wlhLink})", 'mw-whatlinkshere-tools');
return $notClose ? Xml::openElement('li') . "{$link} {$propsText} {$wlh}\n" : Xml::tags('li', null, "{$link} {$propsText} {$wlh}") . "\n";
}
示例7: getCommentMsgParams
/**
* Returns an array with common header and footer system message
* parameters that are used in 'wikilog-comment-header' and
* 'wikilog-comment-footer'.
*
* Note: *Content* language should be used for everything but final
* strings (like tooltips). These messages are intended to be customized
* by the wiki admin, and we don't want to require changing it for the
* 300+ languages suported by MediaWiki.
*
* Parameters should be HTML-formated. They are substituded using
* 'replaceafter' parameter to wfMsgExt().
*
* @param $comment Comment.
* @return Array with message parameters.
*/
public function getCommentMsgParams( $comment ) {
global $wgContLang;
if ( $comment->mUserID ) {
$authorPlain = htmlspecialchars( $comment->mUserText );
$authorFmt = wfMsgExt( 'wikilog-simple-signature',
array( 'content', 'parseinline', 'replaceafter' ),
Xml::wrapClass( $this->mSkin->userLink( $comment->mUserID, $comment->mUserText ), 'wl-comment-author' ),
$this->mSkin->userTalkLink( $comment->mUserID, $comment->mUserText ),
$comment->mUserText
);
} else {
$authorPlain = htmlspecialchars( $comment->mAnonName );
$authorFmt = wfMsgForContent( 'wikilog-comment-anonsig',
Xml::wrapClass( $this->mSkin->userLink( $comment->mUserID, $comment->mUserText ), 'wl-comment-author' ),
$this->mSkin->userTalkLink( $comment->mUserID, $comment->mUserText ),
htmlspecialchars( $comment->mAnonName )
);
}
list( $date, $time, $tz ) = WikilogUtils::getLocalDateTime( $comment->mTimestamp );
$permalink = $this->getCommentPermalink( $comment, $date, $time, $tz );
$extra = array();
if ( $this->mShowItem && $comment->mItem ) {
# Display item title.
$extra[] = wfMsgForContent( 'wikilog-comment-note-item',
$this->mSkin->link( $comment->mItem->mTitle, $comment->mItem->mName )
);
}
if ( $comment->mID && $comment->mCommentTitle &&
$comment->mCommentTitle->exists() )
{
if ( $comment->mUpdated != $comment->mTimestamp ) {
# Comment was edited.
list( $updDate, $updTime, $updTz ) = WikilogUtils::getLocalDateTime( $comment->mUpdated );
$extra[] = $this->mSkin->link( $comment->mCommentTitle,
wfMsgForContent( 'wikilog-comment-note-edited', $updDate, $updTime, $updTz ),
array( 'title' => wfMsg( 'wikilog-comment-history' ) ),
array( 'action' => 'history' ), 'known'
);
}
}
if ( $extra ) {
$extra = wfMsgForContent( 'parentheses', $wgContLang->pipeList( $extra ) );
} else {
$extra = "";
}
return array(
/* $1 */ $authorPlain,
/* $2 */ $authorFmt,
/* $3 */ $date,
/* $4 */ $time,
/* $5 */ $permalink,
/* $6 */ $extra
);
}
示例8: formatValue
function formatValue( $name, $value ) {
global $wgContLang;
switch ( $name ) {
case 'wlp_pubdate':
$s = $wgContLang->timeanddate( $value, true );
if ( !$this->mCurrentRow->wlp_publish ) {
$s = Xml::wrapClass( $s, 'wl-draft-inline' );
}
return $s;
case 'wlp_updated':
return $value;
case 'wlp_authors':
return $this->authorList( $this->mCurrentItem->mAuthors );
case 'wlw_title':
$page = $this->mCurrentItem->mParentTitle;
$text = Sanitizer::escapeHtmlAllowEntities( $this->mCurrentItem->mParentName );
return $this->getSkin()->link( $page, $text, array(), array(),
array( 'known', 'noclasses' ) );
case 'wlp_title':
$page = $this->mCurrentItem->mTitle;
$text = Sanitizer::escapeHtmlAllowEntities( $this->mCurrentItem->mName );
$s = $this->getSkin()->link( $page, $text, array(), array(),
array( 'known', 'noclasses' ) );
if ( !$this->mCurrentRow->wlp_publish ) {
$draft = wfMsg( 'wikilog-draft-title-mark' );
$s = Xml::wrapClass( "$s $draft", 'wl-draft-inline' );
}
return $s;
case 'wlp_num_comments':
$page = $this->mCurrentItem->mTitle->getTalkPage();
$text = $this->mCurrentItem->getNumComments();
return $this->getSkin()->link( $page, $text, array(), array(),
array( 'known', 'noclasses' ) );
case '_wl_actions':
if ( $this->mCurrentItem->mTitle->quickUserCan( 'edit' ) ) {
return $this->doEditLink( $this->mCurrentItem->mTitle, $this->mCurrentItem->mName );
} else {
return '';
}
default:
return htmlentities( $value );
}
}
示例9: getLogo
protected function getLogo()
{
global $wgOut;
$logo = Xml::wrapClass(Xml::element('a', array('href' => self::APCURL), 'APC'), 'mw-apc-logo') . Xml::wrapClass('Opcode Cache', 'mw-apc-nameinfo');
$wgOut->addHTML(Xml::openElement('div', array('class' => 'head')) . Xml::tags('h1', array('class' => 'apc-header-1'), Xml::wrapClass($logo, 'mw-apc-logo-outer', 'span')) . Xml::element('hr', array('class' => 'mw-apc-separator')) . Xml::closeElement('div'));
}