本文整理汇总了PHP中Wikia::link方法的典型用法代码示例。如果您正苦于以下问题:PHP Wikia::link方法的具体用法?PHP Wikia::link怎么用?PHP Wikia::link使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Wikia
的用法示例。
在下文中一共展示了Wikia::link方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: efUserManagementPanelAddTab
/**
* @param Array $tabs
* @param $namespace
* @param $userName
* @return bool
*/
function efUserManagementPanelAddTab(&$tabs, $namespace, $userName)
{
global $wgTitle, $wgUser;
if (!$wgUser->isAllowed('usermanagement')) {
return true;
}
$tabs[] = array('link' => Wikia::link(SpecialPage::getTitleFor('UserManagement/' . $userName), wfMsg('usermanagement-tab-label')), 'selected' => $wgTitle->isSpecial('UserManagement'), 'data-id' => 'usermanagment');
return true;
}
示例2: index
public function index()
{
wfProfileIn(__METHOD__);
global $wgUser;
$this->isAnon = $wgUser->isAnon();
$this->username = $wgUser->getName();
$this->avatarContainerAdditionalClass = '';
$this->profileAvatar = '';
$this->setupPersonalUrls();
if ($this->isAnon) {
$this->navItemLinkOpeningTag = $this->renderPersonalUrl('login', true);
$this->avatarContainerAdditionalClass = ' anon-avatar-placeholder';
$this->loginDropdown = F::app()->renderView('UserLoginSpecial', 'dropdown', ['template' => 'globalNavigationDropdown', 'registerLink' => $this->renderPersonalUrl('register')]);
} else {
$this->navItemLinkOpeningTag = $this->renderPersonalUrl('userpage', true);
if (AvatarService::isEmptyOrFirstDefault($this->username)) {
$this->avatarContainerAdditionalClass = ' logged-avatar-placeholder';
} else {
$this->avatarContainerAdditionalClass = ' logged-avatar';
$this->profileAvatar = AvatarService::renderAvatar($this->username, AvatarService::AVATAR_SIZE_SMALL_PLUS - 2);
//2px css border
}
$possibleItems = ['mytalk', 'following', 'preferences'];
$dropdownItems = [];
// Allow hooks to modify the dropdown items.
wfRunHooks('AccountNavigationModuleAfterDropdownItems', [&$possibleItems, &$this->personalUrls]);
foreach ($possibleItems as $item) {
if (isset($this->personalUrls[$item])) {
$dropdownItems[] = $this->renderPersonalUrl($item);
}
}
// link to Help:Content ('known' -> never render as redlink)
$helpLang = array_key_exists($this->wg->LanguageCode, $this->wg->AvailableHelpLang) ? $this->wg->LanguageCode : 'en';
$dropdownItems[] = Wikia::link(Title::newFromText(wfMessage('helppage')->inLanguage($helpLang)->text()), wfMessage('help')->text(), ['data-id' => 'help'], '', ['known']);
$dropdownItems[] = $this->renderPersonalUrl('logout', false);
$this->userDropdown = $dropdownItems;
}
wfProfileOut(__METHOD__);
}
示例3: executeBlogPost
/**
* Render header for blog post
*/
public function executeBlogPost()
{
wfProfileIn(__METHOD__);
global $wgTitle, $wgLang, $wgOut;
// remove User_blog:xxx from title
$titleParts = explode('/', $wgTitle->getText());
array_shift($titleParts);
$this->title = implode('/', $titleParts);
// get user name to display in header
$this->userName = self::getUserName($wgTitle, BodyController::getUserPagesNamespaces());
// render avatar (48x48)
$this->avatar = AvatarService::renderAvatar($this->userName, 48);
// link to user page
$this->userPage = AvatarService::getUrl($this->userName);
if ($this->wg->EnableBlogArticles) {
// link to user blog page
$this->userBlogPage = AvatarService::getUrl($this->userName, NS_BLOG_ARTICLE);
// user blog page message
$this->userBlogPageMessage = wfMessage('user-blog-url-link', $this->userName)->inContentLanguage()->parse();
}
if (!empty($this->wg->EnableGoogleAuthorInfo) && !empty($this->wg->GoogleAuthorLinks) && array_key_exists($this->userName, $this->wg->GoogleAuthorLinks)) {
$this->googleAuthorLink = $this->wg->GoogleAuthorLinks[$this->userName] . '?rel=author';
}
if ($this->app->wg->Request->getVal('action') == 'history' || $this->app->wg->Request->getCheck('diff')) {
$this->navLinks = Wikia::link($this->app->wg->title, wfMsg('oasis-page-header-back-to-article'), array(), array(), 'known');
}
// user stats (edit points, account creation date)
$this->stats = $this->getStats($this->userName);
// commments / likes / date of first edit
if (!empty($wgTitle) && $wgTitle->exists()) {
$service = new PageStatsService($wgTitle->getArticleId());
$this->editTimestamp = $wgLang->date($service->getFirstRevisionTimestamp());
$this->comments = $service->getCommentsCount();
}
$actionMenu = array();
$dropdownActions = array('move', 'protect', 'unprotect', 'delete', 'undelete', 'history');
// edit button / dropdown
if (isset($this->content_actions['ve-edit'])) {
// new visual editor is enabled
$actionMenu['action'] = $this->content_actions['ve-edit'];
// add classic editor link to the possible dropdown options
array_unshift($dropdownActions, 'edit');
} else {
if (isset($this->content_actions['edit'])) {
$actionMenu['action'] = $this->content_actions['edit'];
}
}
foreach ($dropdownActions as $action) {
if (isset($this->content_actions[$action])) {
$actionMenu['dropdown'][$action] = $this->content_actions[$action];
}
}
$this->actionMenu = $actionMenu;
// load CSS for .WikiaUserPagesHeader (BugId:9212, 10246)
$wgOut->addStyle(AssetsManager::getInstance()->getSassCommonURL("skins/oasis/css/core/UserPagesHeader.scss"));
wfProfileOut(__METHOD__);
}
示例4: testWikiaLink
function testWikiaLink() {
$this->assertTag (
array("tag" => "a"),
Wikia::link(Title::newFromText("Test"))
);
}
示例5: executeEditBox
/**
* Render edit box header when doing preview / showing changes
*/
public function executeEditBox()
{
global $wgTitle, $wgRequest;
// detect section edit
$isSectionEdit = is_numeric($wgRequest->getVal('wpSection'));
if ($isSectionEdit) {
$msg = 'oasis-page-header-editing-section';
} else {
$msg = 'oasis-page-header-editing';
}
// Editing: foo
$this->displaytitle = true;
$this->title = wfMsg($msg, htmlspecialchars($wgTitle->getPrefixedText()));
// back to article link
$this->subtitle = Wikia::link($wgTitle, wfMsg('oasis-page-header-back-to-article'), array('accesskey' => 'c'), array(), 'known');
}
示例6: getTemplateData
private function getTemplateData($element) {
if (! isset($element['file'])) return array();
$file = $element['file'];
// crop the images correctly using extension:imageservice
$is = new ImageServing(array(), self::THUMB_SIZE);
$thumb_url = $is->getThumbnails(array($file));
$thumb_url = array_pop($thumb_url);
$thumb_url = $thumb_url['url'];
$userName = $file->user_text;
$retval = array (
"file_url" => $element['url'],
"image_url" => $file->getUrl(),
"thumb_url" => $thumb_url,
"image_filename" => $file->getTitle()->getFullText(),
"user_href" => Wikia::link(Title::newFromText($userName, NS_USER), $userName),
"links" => $this->getLinkedFiles($file->name),
"isVideoThumb" => WikiaFileHelper::isFileTypeVideo( $file ),
"date" => wfTimestamp(TS_ISO_8601, $file->timestamp));
return $retval;
}
示例7: executeIndex
//.........这里部分代码省略.........
}
}
// Display Control Center Header on certain special pages
if (!empty($wgEnableAdminDashboardExt) && AdminDashboardLogic::displayAdminDashboard($this->app, $wgTitle)) {
$this->headerModuleName = null;
$this->wgSuppressAds = true;
$this->displayAdminDashboard = true;
$this->displayAdminDashboardChromedArticle = $wgTitle->getText() != SpecialPage::getTitleFor('AdminDashboard')->getText();
} else {
$this->displayAdminDashboard = false;
$this->displayAdminDashboardChromedArticle = false;
}
$this->railModulesExist = true;
// use one column layout for pages with no right rail modules
if (count($this->railModuleList) == 0 || !empty($this->wg->SuppressRail)) {
// Special:AdminDashboard doesn't need this class, but pages chromed with it do
if (!$this->displayAdminDashboard || $this->displayAdminDashboardChromedArticle) {
OasisController::addBodyClass('oasis-one-column');
}
$this->headerModuleParams = array('showSearchBox' => true);
$this->railModulesExist = false;
}
// determine if WikiaGridLayout needs to be enabled
$this->isGridLayoutEnabled = self::isGridLayoutEnabled();
if ($this->isGridLayoutEnabled) {
OasisController::addBodyClass('wikia-grid');
}
if ($this->isOasisBreakpoints()) {
OasisController::addBodyClass('oasis-breakpoints');
}
//@TODO remove this check after deprecating responsive (July 2015)
if ($this->isResponsiveLayoutEnabled()) {
OasisController::addBodyClass('oasis-responsive');
}
// if we are on a special search page, pull in the css file and don't render a header
if ($wgTitle && $wgTitle->isSpecial('Search') && !$this->wg->WikiaSearchIsDefault) {
$wgOut->addStyle(AssetsManager::getInstance()->getSassCommonURL("skins/oasis/css/modules/SpecialSearch.scss"));
$this->headerModuleName = null;
}
// Inter-wiki search
if ($wgTitle && ($wgTitle->isSpecial('WikiaSearch') || $wgTitle->isSpecial('Search') && $this->wg->WikiaSearchIsDefault)) {
$this->headerModuleName = null;
}
// load CSS for Special:Preferences
if (!empty($wgTitle) && $wgTitle->isSpecial('Preferences')) {
$wgOut->addStyle(AssetsManager::getInstance()->getSassCommonURL('skins/oasis/css/modules/SpecialPreferences.scss'));
}
// load CSS for Special:Upload
if (!empty($wgTitle) && $wgTitle->isSpecial('Upload')) {
$wgOut->addStyle(AssetsManager::getInstance()->getSassCommonURL('skins/oasis/css/modules/SpecialUpload.scss'));
}
// load CSS for Special:MultipleUpload
if (!empty($wgTitle) && $wgTitle->isSpecial('MultipleUpload')) {
$wgOut->addStyle(AssetsManager::getInstance()->getSassCommonURL('skins/oasis/css/modules/SpecialMultipleUpload.scss'));
}
// load CSS for Special:Allpages
if (!empty($wgTitle) && $wgTitle->isSpecial('Allpages')) {
$wgOut->addStyle(AssetsManager::getInstance()->getSassCommonURL('skins/oasis/css/modules/SpecialAllpages.scss'));
}
// Forum Extension
if (!empty($this->wg->EnableForumExt) && ForumHelper::isForum()) {
$this->wg->SuppressPageHeader = true;
}
// MonetizationModule Extension
if (!empty($this->wg->EnableMonetizationModuleExt)) {
if (empty($this->wg->AdDriverUseMonetizationService)) {
$this->monetizationModules = $this->sendRequest('MonetizationModule', 'index')->getData()['data'];
$this->headerModuleParams['monetizationModules'] = $this->monetizationModules;
} else {
$this->monetizationModules = [MonetizationModuleHelper::SLOT_TYPE_IN_CONTENT => $this->app->renderView('Ad', 'Index', ['slotName' => 'MON_IN_CONTENT']), MonetizationModuleHelper::SLOT_TYPE_BELOW_CATEGORY => $this->app->renderView('Ad', 'Index', ['slotName' => 'MON_BELOW_CATEGORY'])];
}
$this->bodytext = MonetizationModuleHelper::insertIncontentUnit($this->bodytext, $this->monetizationModules);
}
$namespace = $wgTitle->getNamespace();
// extra logic for subpages (RT #74091)
if (!empty($this->subtitle)) {
switch ($namespace) {
// for user subpages add link to theirs talk pages
case NS_USER:
$talkPage = $wgTitle->getTalkPage();
// get number of revisions for talk page
$service = new PageStatsService($wgTitle->getArticleId());
$comments = $service->getCommentsCount();
// render comments bubble
$bubble = F::app()->renderView('CommentsLikes', 'Index', array('comments' => $comments, 'bubble' => true));
$this->subtitle .= ' | ';
$this->subtitle .= $bubble;
$this->subtitle .= Wikia::link($talkPage);
break;
case NS_USER_TALK:
$subjectPage = $wgTitle->getSubjectPage();
$this->subtitle .= ' | ';
$this->subtitle .= Wikia::link($subjectPage);
break;
}
}
// bugid-70243: optionally hide navigation h1s for SEO
$this->setVal('displayHeader', !$this->wg->HideNavigationHeaders);
wfProfileOut(__METHOD__);
}
示例8: array
$title = Title::newFromText($post['title'], $post['namespace']);
?>
<li class="WikiaBlogListingPost">
<?= F::app()->renderView('CommentsLikes', 'Index', array('comments' => $post['comments'], 'bubble' => true, 'title' => $title, 'accesskey' => false)); ?>
<?= $post['avatar'] ?>
<div class="author-details">
<h1><a href="<?= htmlspecialchars($title->getLocalUrl()) ?>"><?= htmlspecialchars(BlogTemplateClass::getSubpageText($title)) ?></a></h1>
<span><?= wfMsg('blog-by', $post['date'], Xml::element('a', array('href' => htmlspecialchars($post['userpage'])), $post['username'], false)) ?></span>
</div>
<blockquote>
<?php
// handle proper rendering of "read more"
$readMoreLink = Xml::openElement('span', array('class' => 'read-more')) .
Wikia::link($title, wfMsg('blog-readfullpost') . ' >') .
Xml::closeElement('span');
// if blog post rendered text ends with </p>
if (!empty($post['readmore'])) {
if (substr($post['text'], -4) == '</p>') {
$post['text'] = substr($post['text'], 0, -4) . '<br>' . $readMoreLink . '</p>';
} else {
$post['text'] .= '' .$readMoreLink;
}
} else {
$post['text'] .= '';
}
echo $post['text'];
?>
示例9: htmlspecialchars
echo htmlspecialchars($title->getLocalUrl());
?>
"><?php
echo htmlspecialchars(BlogTemplateClass::getSubpageText($title));
?>
</a></h2>
<span><?php
echo wfMsg('blog-by', $post['date'], Xml::element('a', array('href' => htmlspecialchars($post['userpage'])), $post['username'], false));
?>
</span>
</div>
<div class='post-summary'>
<?php
// handle proper rendering of "read more"
$readMoreLink = Xml::openElement('span', array('class' => 'read-more')) . Wikia::link($title, wfMsg('blog-readfullpost') . ' >') . Xml::closeElement('span');
// if blog post rendered text ends with </p>
if (substr($post['text'], -4) == '</p>') {
$post['text'] = substr($post['text'], 0, -4) . '<br>' . $readMoreLink . '</p>';
} else {
$post['text'] .= '' . $readMoreLink;
}
echo $post['text'];
?>
</div>
</li>
<?php
}
?>
</ul>
<?php
示例10: getTabs
/**
* Get list of links for given username to be shown as tabs
*/
private function getTabs($userName) {
wfProfileIn(__METHOD__);
global $wgTitle, $wgEnableWikiaFollowedPages;
$tabs = array();
$namespace = $wgTitle->getNamespace();
// profile
$tabs[] = array(
'link' => Wikia::link(Title::newFromText($userName, NS_USER), wfMsg('profile')),
'selected' => ($namespace == NS_USER),
'data-id' => 'profile',
);
// talk
$tabs[] = array(
'link' => Wikia::link(Title::newFromText($userName, NS_USER_TALK), wfMsg('talkpage')),
'selected' => ($namespace == NS_USER_TALK),
'data-id' => 'talk',
);
// blog
if (defined('NS_BLOG_ARTICLE') && !User::isIP($this->userName)) {
$tabs[] = array(
'link' => Wikia::link(Title::newFromText($userName, NS_BLOG_ARTICLE), wfMsg('blog-page'), array(), array(), 'known'),
'selected' => ($namespace == NS_BLOG_ARTICLE),
'data-id' => 'blog',
);
}
// contribs
$tabs[] = array(
'link' => Wikia::link(SpecialPage::getTitleFor("Contributions/{$userName}"), wfMsg('contris_s')),
'selected' => ($wgTitle->isSpecial( 'Contributions' )),
'data-id' => 'contribs',
);
if (self::isItMe($userName)) {
// following (only render when user is viewing his own user pages)
if (!empty($wgEnableWikiaFollowedPages)) {
$tabs[] = array(
'link' => Wikia::link(SpecialPage::getTitleFor('Following'), wfMsg('wikiafollowedpages-following')),
'selected' => ($wgTitle->isSpecial( 'Following' )),
'data-id' => 'following',
);
}
// avatar dropdown menu
$this->avatarMenu = array(
Wikia::link(SpecialPage::getTitleFor('Preferences'), wfMsg('oasis-user-page-change-avatar'))
);
}
$this->wf->RunHooks( 'UserPagesHeaderModuleAfterGetTabs', array(&$tabs, $namespace, $userName) );
wfProfileOut(__METHOD__);
return $tabs;
}
示例11: executeIndex
//.........这里部分代码省略.........
// $this->wgSuppressFooter = true;
$this->wgSuppressArticleCategories = true;
if (WikiaPageType::isMainPage()) {
$this->wg->SuppressPageHeader = true;
} else {
$this->headerModuleAction = 'Corporate';
}
}
}
$this->railModulesExist = true;
// use one column layout for pages with no right rail modules
if( count($this->railModuleList ) == 0 || !empty($this->wg->SuppressRail) ) {
OasisController::addBodyClass('oasis-one-column');
$this->headerModuleParams = array ('showSearchBox' => true);
$this->railModulesExist = false;
}
// determine if WikiaGridLayout needs to be enabled
$this->isGridLayoutEnabled = self::isGridLayoutEnabled();
if($this->isGridLayoutEnabled) {
OasisController::addBodyClass('wikia-grid');
}
// if we are on a special search page, pull in the css file and don't render a header
if($wgTitle && $wgTitle->isSpecial( 'Search' ) && !$this->wg->WikiaSearchIsDefault) {
$wgOut->addStyle(AssetsManager::getInstance()->getSassCommonURL("skins/oasis/css/modules/SpecialSearch.scss"));
$this->headerModuleName = null;
$this->bodytext = F::app()->renderView('Search', "Index'") . $this->bodytext;
}
// Inter-wiki search
if($wgTitle && ($wgTitle->isSpecial( 'WikiaSearch' ) || ($wgTitle->isSpecial( 'Search' ) && $this->wg->WikiaSearchIsDefault ))) {
$this->headerModuleName = null;
}
// load CSS for Special:Preferences
if (!empty($wgTitle) && $wgTitle->isSpecial('Preferences')) {
$wgOut->addStyle(AssetsManager::getInstance()->getSassCommonURL('skins/oasis/css/modules/SpecialPreferences.scss'));
}
// load CSS for Special:Upload
if (!empty($wgTitle) && $wgTitle->isSpecial('Upload')) {
$wgOut->addStyle(AssetsManager::getInstance()->getSassCommonURL('skins/oasis/css/modules/SpecialUpload.scss'));
}
// load CSS for Special:Allpages
if (!empty($wgTitle) && $wgTitle->isSpecial('Allpages')) {
$wgOut->addStyle(AssetsManager::getInstance()->getSassCommonURL('skins/oasis/css/modules/SpecialAllpages.scss'));
}
// Display Control Center Header on certain special pages
if (!empty($wgEnableAdminDashboardExt) && AdminDashboardLogic::displayAdminDashboard($this->app, $wgTitle)) {
$this->headerModuleName = null;
$this->wgSuppressAds = true;
$this->displayAdminDashboard = true;
$this->displayAdminDashboardChromedArticle = ($wgTitle->getText() != Title::newFromText("AdminDashboard", NS_SPECIAL)->getText());
} else {
$this->displayAdminDashboard = false;
$this->displayAdminDashboardChromedArticle = false;
}
// Forum Extension
if (!empty($this->wg->EnableForumExt) && !empty($this->wg->IsForum)) {
$this->wg->SuppressPageHeader = true;
}
$namespace = $wgTitle->getNamespace();
// extra logic for subpages (RT #74091)
if (!empty($this->subtitle)) {
switch($namespace) {
// for user subpages add link to theirs talk pages
case NS_USER:
$talkPage = $wgTitle->getTalkPage();
// get number of revisions for talk page
$service = new PageStatsService($wgTitle->getArticleId());
$comments = $service->getCommentsCount();
// render comments bubble
$bubble = F::app()->renderView('CommentsLikes', 'Index', array('comments' => $comments, 'bubble' => true));
$this->subtitle .= ' | ';
$this->subtitle .= $bubble;
$this->subtitle .= Wikia::link($talkPage);
break;
case NS_USER_TALK:
$subjectPage = $wgTitle->getSubjectPage();
$this->subtitle .= ' | ';
$this->subtitle .= Wikia::link($subjectPage);
break;
}
}
wfProfileOut(__METHOD__);
}
示例12: executeIndex
public function executeIndex()
{
wfProfileIn(__METHOD__);
global $wgUser;
$this->setupPersonalUrls();
$this->itemsBefore = array();
$this->isAnon = $wgUser->isAnon();
$this->username = $wgUser->getName();
if ($this->isAnon) {
// facebook connect
if (!empty($this->personal_urls['fbconnect']['html'])) {
$this->itemsBefore = array($this->personal_urls['fbconnect']['html']);
}
// render Login and Register links
$this->loginLink = $this->renderPersonalUrl('login');
$this->registerLink = $this->renderPersonalUrl('register');
$this->loginDropdown = '';
$this->loginDropdown = (string) F::app()->sendRequest('UserLoginSpecial', 'dropdown', array('param' => 'paramvalue'));
} else {
// render user avatar and link to his user page
$this->profileLink = AvatarService::getUrl($this->username);
$this->profileAvatar = AvatarService::renderAvatar($this->username, 20);
// dropdown items
$possibleItems = array('mytalk', 'following', 'preferences');
$dropdownItems = array();
// Allow hooks to modify the dropdown items.
wfRunHooks('AccountNavigationModuleAfterDropdownItems', array(&$possibleItems, &$this->personal_urls));
foreach ($possibleItems as $item) {
if (isset($this->personal_urls[$item])) {
$dropdownItems[] = $this->renderPersonalUrl($item);
}
}
// link to Help:Content (never render as redlink)
$helpLang = array_key_exists($this->wg->LanguageCode, $this->wg->AvailableHelpLang) ? $this->wg->LanguageCode : 'en';
$dropdownItems[] = Wikia::link(Title::newFromText(wfMsgExt('helppage', array('parsemag', 'language' => $helpLang))), wfMsg('help'), array('title' => '', 'data-id' => 'help'), '', array('known'));
// logout link
$dropdownItems[] = $this->renderPersonalUrl('logout');
$this->dropdown = $dropdownItems;
}
wfProfileOut(__METHOD__);
}
示例13: history
/**
* History page
*/
public function history()
{
$this->getContext()->getOutput()->setPageTitle(wfMessage('lvs-history-page-title')->text());
// Get the user preference skin, not the current skin of the page
$skin = F::app()->wg->User->getGlobalPreference('skin');
// for monobook users, specify wikia skin in querystring
$queryArr = [];
if ($skin == "monobook") {
$queryArr["useskin"] = "wikia";
}
$this->getContext()->getOutput()->setSubtitle(Wikia::link(SpecialPage::getTitleFor("LicensedVideoSwap"), wfMessage('lvs-page-header-back-link')->plain(), array('accesskey' => 'c'), $queryArr, 'known'));
$this->recentChangesLink = Wikia::link(SpecialPage::getTitleFor("RecentChanges"));
$helper = new LicensedVideoSwapHelper();
$this->videos = $helper->getUndoList($this->getContext());
}