/**
     * Show the special page
     *
     * @param $params Mixed: parameter(s) passed to the page or null
     */
    public function execute($params)
    {
        $out = $this->getOutput();
        $user = $this->getUser();
        // Set the page title, robot policies, etc.
        $this->setHeaders();
        /**
         * Redirect anonymous users to the login page
         * It will automatically return them to the ViewRelationshipRequests page
         */
        if (!$user->isLoggedIn()) {
            $out->setPageTitle($this->msg('ur-error-page-title')->plain());
            $login = SpecialPage::getTitleFor('Userlogin');
            $out->redirect($login->getFullURL('returnto=Special:ViewRelationshipRequests'));
            return false;
        }
        // Add CSS & JS
        $out->addModuleStyles('ext.socialprofile.userrelationship.css');
        $out->addModules('ext.socialprofile.userrelationship.js');
        $rel = new UserRelationship($user->getName());
        $friend_request_count = $rel->getOpenRequestCount($user->getID(), 1);
        $foe_request_count = $rel->getOpenRequestCount($user->getID(), 2);
        if ($this->getRequest()->wasPosted() && $_SESSION['alreadysubmitted'] == false) {
            $_SESSION['alreadysubmitted'] = true;
            $rel->addRelationshipRequest($this->user_name_to, $this->relationship_type, $_POST['message']);
            $output = '<br /><span class="title">' . $this->msg('ur-already-submitted')->plain() . '</span><br /><br />';
            $out->addHTML($output);
        } else {
            $_SESSION['alreadysubmitted'] = false;
            $output = '';
            $out->setPageTitle($this->msg('ur-requests-title')->plain());
            $requests = $rel->getRequestList(0);
            if ($requests) {
                foreach ($requests as $request) {
                    $user_from = Title::makeTitle(NS_USER, $request['user_name_from']);
                    $avatar = new wAvatar($request['user_id_from'], 'l');
                    $avatar_img = $avatar->getAvatarURL();
                    if ($request['type'] == 'Foe') {
                        $msg = $this->msg('ur-requests-message-foe', htmlspecialchars($user_from->getFullURL()), $request['user_name_from'])->text();
                    } else {
                        $msg = $this->msg('ur-requests-message-friend', htmlspecialchars($user_from->getFullURL()), $request['user_name_from'])->text();
                    }
                    $message = $out->parse(trim($request['message']), false);
                    $output .= "<div class=\"relationship-action black-text\" id=\"request_action_{$request['id']}\">\n\t\t\t\t\t  \t{$avatar_img}" . $msg;
                    if ($request['message']) {
                        $output .= '<div class="relationship-message">' . $message . '</div>';
                    }
                    $output .= '<div class="cleared"></div>
						<div class="relationship-buttons">
							<input type="button" class="site-button" value="' . $this->msg('ur-accept')->plain() . '" data-response="1" />
							<input type="button" class="site-button" value="' . $this->msg('ur-reject')->plain() . '" data-response="-1" />
						</div>
					</div>';
                }
            } else {
                $output = $this->msg('ur-no-requests-message')->parse();
            }
            $out->addHTML($output);
        }
    }
    /**
     * Show the special page
     *
     * @param $params Mixed: parameter(s) passed to the page or null
     */
    public function execute($params)
    {
        global $wgUser, $wgOut, $wgRequest, $wgUserRelationshipScripts;
        /**
         * Redirect Non-logged in users to Login Page
         * It will automatically return them to the ViewRelationshipRequests page
         */
        if ($wgUser->getID() == 0) {
            $wgOut->setPageTitle(wfMsg('ur-error-page-title'));
            $login = SpecialPage::getTitleFor('Userlogin');
            $wgOut->redirect($login->getFullURL('returnto=Special:ViewRelationshipRequests'));
            return false;
        }
        $wgOut->addScriptFile($wgUserRelationshipScripts . '/UserRelationship.js');
        $wgOut->addExtensionStyle($wgUserRelationshipScripts . '/UserRelationship.css');
        $rel = new UserRelationship($wgUser->getName());
        $friend_request_count = $rel->getOpenRequestCount($wgUser->getID(), 1);
        $foe_request_count = $rel->getOpenRequestCount($wgUser->getID(), 2);
        if (count($_POST) && $_SESSION['alreadysubmitted'] == false) {
            $_SESSION['alreadysubmitted'] = true;
            $rel->addRelationshipRequest($this->user_name_to, $this->relationship_type, $_POST['message']);
            $out = '<br /><span class="title">' . wfMsg('ur-already-submitted') . '</span><br /><br />';
            $wgOut->addHTML($out);
        } else {
            $_SESSION['alreadysubmitted'] = false;
            $output = '';
            $wgOut->setPageTitle(wfMsg('ur-requests-title'));
            $requests = $rel->getRequestList(0);
            if ($requests) {
                foreach ($requests as $request) {
                    $user_from = Title::makeTitle(NS_USER, $request['user_name_from']);
                    $avatar = new wAvatar($request['user_id_from'], 'l');
                    $avatar_img = $avatar->getAvatarURL();
                    if ($request['type'] == 'Foe') {
                        $msg = wfMsg('ur-requests-message-foe', $user_from->escapeFullURL(), $request['user_name_from']);
                    } else {
                        $msg = wfMsg('ur-requests-message-friend', $user_from->escapeFullURL(), $request['user_name_from']);
                    }
                    $message = $wgOut->parse(trim($request['message']), false);
                    $output .= "<div class=\"relationship-action black-text\" id=\"request_action_{$request['id']}\">\r\n\t\t\t\t\t  \t{$avatar_img}" . $msg;
                    if ($request['message']) {
                        $output .= '<div class="relationship-message">' . $message . '</div>';
                    }
                    $output .= '<div class="cleared"></div>
						<div class="relationship-buttons">
							<input type="button" class="site-button" value="' . wfMsg('ur-accept') . '" onclick="javascript:requestResponse(1,' . $request['id'] . ')" />
							<input type="button" class="site-button" value="' . wfMsg('ur-reject') . '" onclick="javascript:requestResponse(-1,' . $request['id'] . ')" />
						</div>
					</div>';
                }
            } else {
                $inviteLink = SpecialPage::getTitleFor('InviteContacts');
                $output = wfMsg('ur-no-requests-message', $inviteLink->escapeFullURL());
            }
            $wgOut->addHTML($output);
        }
    }
function getRelationshipRequestLink() {
	global $wgUser, $wgScriptPath;
	$friend_request_count = UserRelationship::getOpenRequestCount( $wgUser->getID(), 1 );
	$foe_request_count = UserRelationship::getOpenRequestCount( $wgUser->getID(), 2 );
	$relationship_request_link = SpecialPage::getTitleFor( 'ViewRelationshipRequests' );

	$output = '';

	if ( $friend_request_count > 0 ) {
		$output .= '<p>
			<img src="' . $wgScriptPath . '/extensions/SocialProfile/images/addedFriendIcon.png" alt="" border="0" />
			<span class="profile-on"><a href="' . $relationship_request_link->escapeFullURL() . '" rel="nofollow">'
			. wfMsgExt( 'mp-request-new-friend', 'parsemag', $friend_request_count ) . '</a></span>
		</p>';
	}

	if ( $foe_request_count > 0 ) {
		$output .= '<p>
			<img src="' . $wgScriptPath . '/extensions/SocialProfile/images/addedFoeIcon.png" alt="" border="0" />
			<span class="profile-on"><a href="' . $relationship_request_link->escapeFullURL() . '" rel="nofollow">'
			. wfMsgExt( 'mp-request-new-foe', 'parsemag', $foe_request_count ) . '</a></span>
		</p>';
	}

	return $output;
}