Extension:SocialProfile/Hooks/UserProfileGetProfileHeaderLinks
Appearance
From mediawiki.org
(Redirected from Manual:Hooks/UserProfileGetProfileHeaderLinks)
UserProfileGetProfileHeaderLinks | |
---|---|
Available from version 1.31 (Gerrit change 327175) Allow extensions adding links to the profile header or maybe even removing them |
|
Define function: | public static function onUserProfileGetProfileHeaderLinks( UserProfilePage $upp, &$profileLinks ) { ... } |
Attach hook: | $wgHooks['UserProfileGetProfileHeaderLinks'][] = 'MyExtensionHooks::onUserProfileGetProfileHeaderLinks'; |
Called from: | File(s): SocialProfile / UserProfile/includes/UserProfilePage.php |
For more information about attaching hooks, see Manual:Hooks .
For examples of other extensions using this hook, see Category:UserProfileGetProfileHeaderLinks extensions.
Example
[edit ]/** * Adds a "Create blog post" link to the social user profile pages * * @param UserProfilePage $upp * @param array &$profileLinks Array of existing profile links */ public static function onUserProfileGetProfileHeaderLinks( $upp, &$profileLinks ) { // $upp->getContext()->getUser() refers to the currently _viewing_ user, not // to the user whose profile is being viewed // Show this link only to registered users who are *not* viewing their own profile $ctx = $upp->getContext(); $user = $ctx->getUser(); if ( $upp->isOwner() && MediaWiki\MediaWikiServices::getInstance()->getPermissionManager()->userHasRight( $user, 'createblogpost' ) ) { $createBlogPost = SpecialPage::getTitleFor( 'CreateBlogPost' ); $profileLinks['createBlogPost'] = '<a href="' . htmlspecialchars( $createBlogPost->getFullURL(), ENT_QUOTES ) . '" rel="nofollow">' . $ctx->msg( 'createblogpost' )->escaped() . '</a>'; } }