function displayGiftList() { global $wgScriptPath; $output = ''; // Prevent E_NOTICE $page = 0; $per_page = 50; $gifts = SystemGifts::getGiftList($per_page, $page); if ($gifts) { foreach ($gifts as $gift) { $output .= '<div class="Item"> <a href="' . $wgScriptPath . '/index.php?title=Special:SystemGiftManager&id=' . $gift['id'] . '">' . $gift['gift_name'] . '</a> </div>' . "\n"; } } return '<div id="views">' . $output . '</div>'; }
/** * Display the text list of all existing system gifts and a delete link to * users who are allowed to delete gifts. * * @return String: HTML */ function displayGiftList() { global $wgUser; $output = ''; // Prevent E_NOTICE $page = 0; $per_page = 50; $gifts = SystemGifts::getGiftList($per_page, $page); if ($gifts) { foreach ($gifts as $gift) { $deleteLink = ''; if ($wgUser->isAllowed('awardsmanage')) { $removePage = SpecialPage::getTitleFor('RemoveMasterSystemGift'); $deleteLink = '<a href="' . $removePage->escapeFullURL("gift_id={$gift['id']}") . '" style="font-size:10px; color:red;">' . wfMsg('delete') . '</a>'; } $output .= '<div class="Item"> <a href="' . $this->getTitle()->escapeFullURL('id=' . $gift['id']) . '">' . $gift['gift_name'] . '</a> ' . $deleteLink . '</div>' . "\n"; } } return '<div id="views">' . $output . '</div>'; }
/** * Display the text list of all existing system gifts and a delete link to * users who are allowed to delete gifts. * * @return String: HTML */ function displayGiftList() { $output = ''; // Prevent E_NOTICE // $page = 0; $request = $this->getRequest(); $per_page = 30; $page = $request->getInt('page', 1); // $gifts = SystemGifts::getGiftList( $per_page, $page ); $gifts = SystemGifts::getGiftList($per_page, $page); $user = $this->getUser(); $pcount = SystemGifts::getGiftCount(); $output .= '<div id="views">'; if ($gifts) { foreach ($gifts as $gift) { $deleteLink = ''; if ($user->isAllowed('awardsmanage')) { $removePage = SpecialPage::getTitleFor('RemoveMasterSystemGift'); $deleteLink = '<a href="' . htmlspecialchars($removePage->getFullURL("gift_id={$gift['id']}")) . '" style="font-size:10px; color:red;">' . $this->msg('delete')->plain() . '</a>'; } $output .= '<div class="Item"> <a href="' . htmlspecialchars($this->getPageTitle()->getFullURL('id=' . $gift['id'])) . '">' . $gift['gift_name'] . '</a> ' . $deleteLink . '</div>' . "\n"; } } $output .= '</div>'; /** * Build next/prev nav */ $numofpages = $pcount / $per_page; $page_link = $this->getPageTitle(); if ($numofpages > 1) { $output .= '<div class="text-align: left"><nav class="page-nav pagination">'; if ($page > 1) { $output .= '<li>' . Linker::link($page_link, '<span aria-hidden="true">«</span>', array(), array('user' => $user_name, 'page' => $page - 1)) . '</li>'; } if ($pcount % $per_page != 0) { $numofpages++; } if ($numofpages >= 9 && $page < $pcount) { $numofpages = 9 + $page; } // if ( $numofpages >= ( $total / $per_page ) ) { // $numofpages = ( $total / $per_page ) + 1; // } for ($i = 1; $i <= $numofpages; $i++) { if ($i == $page) { $output .= '<li class="active"><a href="#">' . $i . ' <span class="sr-only">(current)</span></a></li>'; } else { $output .= '<li>' . Linker::link($page_link, $i, array(), array('page' => $i)); } } if ($pcount - $per_page * $page > 0) { $output .= '<li>' . Linker::link($page_link, '<span aria-hidden="true">»</span>', array(), array('page' => $page + 1)) . '</li>'; } $output .= '</nav></div>'; } return $output; }
/** * Show the special page * * @param $par Mixed: parameter passed to the page or null */ public function execute($par) { global $wgUploadPath, $wgUser; $out = $this->getOutput(); $request = $this->getRequest(); $user = $this->getUser(); // Set the page title, robot policies, etc. $this->setHeaders(); // Add CSS $out->addModuleStyles('ext.socialprofile.systemgifts.css'); $output = ''; $page = $request->getInt('page', 1); /** * Redirect Non-logged in users to Login Page * It will automatically return them to the ViewSystemGifts page */ if ($user->getID() == 0 && $user_name == '') { $out->setPageTitle($this->msg('ga-error-title')->plain()); $login = SpecialPage::getTitleFor('Userlogin'); $out->redirect(htmlspecialchars($login->getFullURL('returnto=Special:SystemGiftList'))); return false; } /** * If no user is set in the URL, we assume it's the current user */ $user_name = $wgUser->getName(); $user_id = User::idFromName($user_name); /** * Error message for username that does not exist (from URL) */ if ($user_id == 0) { $out->setPageTitle($this->msg('ga-error-title')->plain()); $out->addHTML($this->msg('ga-error-message-no-user')->plain()); return false; } /** * Config for the page */ $per_page = 50; $per_row = 2; /** * Get all Gifts for this user into the array */ $rel = new UserSystemGifts($user_name); // $gifts = SystemGifts::getGiftList( $per_page, $page ); $gifts = SystemGifts::getGiftList($per_page, $page); // print_r($gifts); $total = '<span style="color:#428bca;font-size:20px;font-weight: bold;">' . $rel->getGiftCountByUsername($user_name) . '</span>'; // $curUserObj = User::newFromName($user_name); $uuf = new UserUserFollow(); $follows = $uuf->getFollowList($wgUser, 1, '', $page); $follows[] = array('user_name' => $wgUser->getName()); $giftCount = array(); foreach ($follows as $value) { $giftCount[$value['user_name']] = $rel->getGiftCountByUsername($value['user_name']); } arsort($giftCount); $max = count($giftCount); $countRes = array(); $i = 1; foreach ($giftCount as $key => $value) { $countRes[$key] = $i; $i++; } if ($wgUser->getName() == $wgUser->getName()) { $who = '我'; } else { $who = $wgUser->getName(); } // print_r($countRes); /** * Show gift count for user */ $out->setPageTitle($this->msg('gl-title')->parse()); $output .= '<div class="back-links">' . $this->msg('ga-back-link', htmlspecialchars($wgUser->getUserPage()->getFullURL()), $rel->user_name)->text() . '</div>'; $output .= '<div class="ga-count">' . $this->msg('ga-count', '我', $total)->parse() . ', 在' . $who . '的好友中排第<span style="color:#428bca;font-size:20px;font-weight: bold;">' . $countRes[$wgUser->getName()] . '</span>名</div><div class="giftlist">'; // Safelinks // print_r($gifts); // print_r($countRes); if ($gifts) { foreach ($gifts as $gift) { $gift_image = "<div class='img'><img src=\"{$wgUploadPath}/awards/" . SystemGifts::getGiftImage($gift['id'], 'l') . '" border="0" alt="" /></div>'; $sg = new SystemGifts(); if ($sg->doesUserHaveGift($user_id, $gift['id'])) { $s = 'ga-item have'; } else { $s = 'ga-item'; } $output .= "<div class='" . $s . "'>\r\n\t\t\t\t <a data-toggle='popover' data-trigger='hover' title='{$gift['gift_name']}' data-content='{$gift['gift_description']}'>\r\n {$gift_image}"; $output .= '<div class="cleared"></div> </a></div>'; } $output .= '</div>'; } /** * Build next/prev nav */ $pcount = systemGifts::getGiftCount(); $numofpages = $pcount / $per_page; // echo $total; $page_link = $this->getPageTitle(); if ($numofpages > 1) { $output .= '<div class="page-nav-wrapper"><nav class="page-nav pagination">'; if ($page > 1) { $output .= '<li>' . Linker::link($page_link, '<span aria-hidden="true">«</span>', array(), array('page' => $page - 1)) . '</li>'; } if ($pcount % $per_page != 0) { $numofpages++; } if ($numofpages >= 9 && $page < $pcount) { $numofpages = 9 + $page; } // if ( $numofpages >= ( $pcount / $per_page ) ) { // $numofpages = ( $pcount / $per_page ) + 1; // } for ($i = 1; $i <= $numofpages; $i++) { if ($i == $page) { $output .= '<li class="active"><a href="#">' . $i . ' <span class="sr-only">(current)</span></a></li>'; } else { $output .= '<li>' . Linker::link($page_link, $i, array(), array('page' => $i)); } } if ($pcount - $per_page * $page > 0) { $output .= '<li>' . Linker::link($page_link, '<span aria-hidden="true">»</span>', array(), array('page' => $page + 1)) . '</li>'; } $output .= '</nav></div>'; } /** * Output everything */ $out->addHTML($output); }