/** * Get the user board for a given user. * * @param $user_id Integer: user's ID number * @param $user_name String: user name */ function getUserBoard($user_id, $user_name) { global $wgUser, $wgOut, $wgUserProfileDisplay, $wgUserProfileScripts; // Anonymous users cannot have user boards if ($user_id == 0) { return ''; } // Don't display anything if user board on social profiles isn't // enabled in site configuration if ($wgUserProfileDisplay['board'] == false) { return ''; } $output = ''; // Prevent E_NOTICE $wgOut->addScriptFile($wgUserProfileScripts . '/UserProfilePage.js'); $rel = new UserRelationship($user_name); $friends = $rel->getRelationshipList(1, 4); $stats = new UserStats($user_id, $user_name); $stats_data = $stats->getUserStats(); $total = $stats_data['user_board']; // If the user is viewing their own profile or is allowed to delete // board messages, add the amount of private messages to the total // sum of board messages. if ($wgUser->getName() == $user_name || $wgUser->isAllowed('userboard-delete')) { $total = $total + $stats_data['user_board_priv']; } $output .= '<div class="user-section-heading"> <div class="user-section-title">' . wfMsg('user-board-title') . '</div> <div class="user-section-actions"> <div class="action-right">'; if ($wgUser->getName() == $user_name) { if ($friends) { $output .= '<a href="' . UserBoard::getBoardBlastURL() . '">' . wfMsg('user-send-board-blast') . '</a>'; } if ($total > 10) { $output .= wfMsgExt('pipe-separator', 'escapenoentities'); } } if ($total > 10) { $output .= '<a href="' . UserBoard::getUserBoardURL($user_name) . '">' . wfMsg('user-view-all') . '</a>'; } $output .= '</div> <div class="action-left">'; if ($total > 10) { $output .= wfMsg('user-count-separator', '10', $total); } elseif ($total > 0) { $output .= wfMsg('user-count-separator', $total, $total); } $output .= '</div> <div class="cleared"></div> </div> </div> <div class="cleared"></div>'; if ($wgUser->getName() !== $user_name) { if ($wgUser->isLoggedIn() && !$wgUser->isBlocked()) { $output .= '<div class="user-page-message-form"> <input type="hidden" id="user_name_to" name="user_name_to" value="' . addslashes($user_name) . '" /> <span style="color:#797979;">' . wfMsgHtml('userboard_messagetype') . '</span> <select id="message_type"> <option value="0">' . wfMsgHtml('userboard_public') . '</option> <option value="1">' . wfMsgHtml('userboard_private') . '</option> </select><p> <textarea name="message" id="message" cols="43" rows="4"/></textarea> <div class="user-page-message-box-button"> <input type="button" value="' . wfMsg('userboard_sendbutton') . '" class="site-button" onclick="javascript:send_message();" /> </div> </div>'; } else { $login_link = SpecialPage::getTitleFor('Userlogin'); $output .= '<div class="user-page-message-form">' . wfMsg('user-board-login-message', $login_link->escapeFullURL()) . '</div>'; } } $output .= '<div id="user-page-board">'; $b = new UserBoard(); $output .= $b->displayMessages($user_id, 0, 10); $output .= '</div>'; return $output; }
/** * Get the user board for a given user. * * @param $user_id Integer: user's ID number * @param $user_name String: user name */ function getUserBoard($user_id, $user_name) { global $wgUser, $wgOut, $wgUserProfileDisplay; // Anonymous users cannot have user boards if ($user_id == 0) { return ''; } // Don't display anything if user board on social profiles isn't // enabled in site configuration if ($wgUserProfileDisplay['board'] == false) { return ''; } $output = ''; // Prevent E_NOTICE // Add JS $wgOut->addModules('ext.socialprofile.userprofile.js'); $rel = new UserRelationship($user_name); $friends = $rel->getRelationshipList(1, 4); $stats = new UserStats($user_id, $user_name); $stats_data = $stats->getUserStats(); $total = $stats_data['user_board']; // If the user is viewing their own profile or is allowed to delete // board messages, add the amount of private messages to the total // sum of board messages. if ($wgUser->getName() == $user_name || $wgUser->isAllowed('userboard-delete')) { $total = $total + $stats_data['user_board_priv']; } $output .= '<div class="panel panel-default"><div class="user-section-heading panel-heading"> <div class="user-section-title">' . wfMessage('user-board-title')->escaped() . '</div> <div class="user-section-actions"> <div class="action-right">'; if ($wgUser->getName() == $user_name) { if ($friends) { $output .= '<a href="' . UserBoard::getBoardBlastURL() . '">' . wfMessage('user-send-board-blast')->escaped() . '</a>'; } if ($total > 10) { $output .= wfMessage('pipe-separator')->escaped(); } } if ($total > 10) { $output .= '<a href="' . UserBoard::getUserBoardURL($user_name) . '">' . wfMessage('user-view-all')->escaped() . '</a>'; } $output .= '</div> <div class="action-left">'; if ($total > 10) { $output .= wfMessage('user-count-separator', '10', $total)->escaped(); } elseif ($total > 0) { $output .= wfMessage('user-count-separator', $total, $total)->escaped(); } $output .= '</div> <div class="cleared"></div> </div> </div> <div class="cleared"></div> <div class="panel-body">'; if ($wgUser->getName() != $user_name) { if ($wgUser->isLoggedIn() && !$wgUser->isBlocked()) { $output .= '<div class="user-page-message-form"> <input type="hidden" id="user_name_to" name="user_name_to" value="' . addslashes($user_name) . '" /> <span class="profile-board-message-type">' . wfMessage('userboard_messagetype')->escaped() . '</span> <select id="message_type"> <option value="0">' . wfMessage('userboard_public')->escaped() . '</option> <option value="1">' . wfMessage('userboard_private')->escaped() . '</option> </select><p><div class="form-group" style="padding:14px;"> <textarea class="form-control" name="message" id="message" placeholder=""></textarea> </div> <div class="user-page-message-box-button"> <input type="button" value="' . wfMessage('userboard_sendbutton')->escaped() . '" class="site-button mw-ui-button mw-ui-progressive" /> </div> </div>'; } else { $login_link = SpecialPage::getTitleFor('Userlogin'); $output .= '<div class="user-page-message-form">' . wfMessage('user-board-login-message', $login_link->getFullURL())->escaped() . '</div>'; } } $output .= '<div id="user-page-board">'; $b = new UserBoard(); $output .= $b->displayMessages($user_id, 0, 10); $output .= '</div></div></div>'; return $output; }