Файловый менеджер - Редактировать - /var/www/html/mediawiki-1.43.1/extensions/SocialProfile/UserGifts/includes/specials/SpecialViewGifts.php
Ðазад
<?php /** * Special:ViewGifts -- a special page for viewing the list of user-to-user * gifts a given user has received * * @file * @ingroup Extensions */ use MediaWiki\MediaWikiServices; class ViewGifts extends SpecialPage { public function __construct() { parent::__construct( 'ViewGifts' ); } /** * Group this special page under the correct header in Special:SpecialPages. * * @return string */ function getGroupName() { return 'users'; } /** * Show this special page on Special:SpecialPages only for registered users * * @return bool */ function isListed() { return $this->getUser()->isRegistered(); } /** * Show the special page * * @param string|null $par */ public function execute( $par ) { $linkRenderer = $this->getLinkRenderer(); $out = $this->getOutput(); $request = $this->getRequest(); $currentUser = $this->getUser(); // Set the page title, robot policies, etc. $this->setHeaders(); // Add CSS $out->addModuleStyles( [ 'ext.socialprofile.usergifts.css', 'ext.socialprofile.special.viewgifts.css' ] ); $user_name = $request->getVal( 'user' ); $page = $request->getInt( 'page', 1 ); /** * Redirect Non-logged in users to Login Page * It will automatically return them to the ViewGifts page */ if ( $currentUser->getId() == 0 && $user_name == '' ) { $login = SpecialPage::getTitleFor( 'Userlogin' ); $out->redirect( htmlspecialchars( $login->getFullURL( 'returnto=Special:ViewGifts' ) ) ); return; } /** * If no user is set in the URL, we assume it's the current user */ if ( !$user_name ) { $user_name = $currentUser->getName(); } if ( method_exists( MediaWikiServices::class, 'getUserIdentityLookup' ) ) { // MW 1.36+ $userIdentity = MediaWikiServices::getInstance()->getUserIdentityLookup() ->getUserIdentityByName( $user_name ); $user_id = $userIdentity ? $userIdentity->getId() : 0; } else { // @phan-suppress-next-line PhanUndeclaredStaticMethod Removed in MW 1.41+ $user_id = User::idFromName( $user_name ); } $user = Title::makeTitle( NS_USER, $user_name ); /** * Error message for username that does not exist (from URL) */ if ( $user_id == 0 ) { $out->setPageTitle( $this->msg( 'g-error-title' )->plain() ); $out->addHTML( $this->msg( 'g-error-message-no-user' )->escaped() ); return; } /** * Config for the page */ $per_page = 10; $per_row = 2; /** * Get all gifts for this user into the array */ $rel = new UserGifts( $user_name ); $gifts = $rel->getUserGiftList( 0, $per_page, $page ); $total = $rel->getGiftCountByUsername(); /** * Show gift count for user */ $out->setPageTitle( $this->msg( 'g-list-title', $rel->user_name )->parse() ); $output = '<div class="back-links"> <a href="' . htmlspecialchars( $user->getFullURL() ) . '">' . $this->msg( 'g-back-link', $rel->user_name )->parse() . '</a> </div> <div class="g-count">' . $this->msg( 'g-count', $rel->user_name, $total )->parse() . '</div>'; if ( $gifts ) { $x = 1; // Safe links $viewGiftLink = SpecialPage::getTitleFor( 'ViewGift' ); $giveGiftLink = SpecialPage::getTitleFor( 'GiveGift' ); $removeGiftLink = SpecialPage::getTitleFor( 'RemoveGift' ); foreach ( $gifts as $gift ) { $giftname_length = strlen( $gift['gift_name'] ); $giftname_space = stripos( $gift['gift_name'], ' ' ); if ( ( $giftname_space == false || $giftname_space >= "30" ) && $giftname_length > 30 ) { $gift_name_display = substr( $gift['gift_name'], 0, 30 ) . ' ' . substr( $gift['gift_name'], 30, 50 ); } else { $gift_name_display = $gift['gift_name']; } $userFrom = User::newFromActorId( $gift['actor_from'] ); $userGiftIcon = new UserGiftIcon( $gift['gift_id'], 'l' ); $icon = $userGiftIcon->getIconHTML(); $output .= '<div class="g-item"> <a href="' . htmlspecialchars( $viewGiftLink->getFullURL( 'gift_id=' . $gift['id'] ) ) . '">' . $icon . '</a> <div class="g-title"> <a href="' . htmlspecialchars( $viewGiftLink->getFullURL( 'gift_id=' . $gift['id'] ) ) . '">' . htmlspecialchars( $gift_name_display ) . '</a>'; if ( $gift['status'] == 1 ) { if ( $user_name == $currentUser->getName() ) { $rel->clearUserGiftStatus( $gift['id'] ); } $output .= '<span class="g-new">' . $this->msg( 'g-new' )->escaped() . '</span>'; } $output .= '</div>'; $output .= '<div class="g-from">' . $this->msg( 'g-from', $userFrom->getName() )->parse() . '</div> <div class="g-actions"> <a href="' . htmlspecialchars( $giveGiftLink->getFullURL( 'gift_id=' . $gift['gift_id'] ) ) . '">' . $this->msg( 'g-to-another' )->escaped() . '</a>'; if ( $rel->user_name == $currentUser->getName() ) { $output .= ' '; $output .= $this->msg( 'pipe-separator' )->escaped(); $output .= ' '; $output .= '<a href="' . htmlspecialchars( $removeGiftLink->getFullURL( 'gift_id=' . $gift['id'] ) ) . '">' . $this->msg( 'g-remove-gift' )->escaped() . '</a>'; } $output .= '</div> <div class="visualClear"></div>'; $output .= '</div>'; if ( $x == count( $gifts ) || ( $x != 1 && $x % $per_row == 0 ) ) { $output .= '<div class="visualClear"></div>'; } $x++; } } /** * Build next/prev nav */ $numofpages = $total / $per_page; $pageLink = $this->getPageTitle(); if ( $numofpages > 1 ) { $output .= '<div class="page-nav">'; if ( $page > 1 ) { $output .= $linkRenderer->makeLink( $pageLink, $this->msg( 'g-previous' )->text(), [], [ 'user' => $user_name, 'page' => ( $page - 1 ) ] ) . $this->msg( 'word-separator' )->escaped(); } if ( ( $total % $per_page ) != 0 ) { $numofpages++; } if ( $numofpages >= 9 && $page < $total ) { $numofpages = 9 + $page; } if ( $numofpages >= ( $total / $per_page ) ) { $numofpages = ( $total / $per_page ) + 1; } for ( $i = 1; $i <= $numofpages; $i++ ) { if ( $i == $page ) { $output .= ( $i . ' ' ); } else { $output .= $linkRenderer->makeLink( $pageLink, (string)$i, [], [ 'user' => $user_name, 'page' => $i ] ) . $this->msg( 'word-separator' )->escaped(); } } if ( ( $total - ( $per_page * $page ) ) > 0 ) { $output .= $this->msg( 'word-separator' )->escaped() . $linkRenderer->makeLink( $pageLink, $this->msg( 'g-next' )->text(), [], [ 'user' => $user_name, 'page' => ( $page + 1 ) ] ); } $output .= '</div>'; } $out->addHTML( $output ); } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка