Пример #1
0
 public function acceptFriendRequest($userId = -1)
 {
     // var_dump(getUserInfo($userId));
     $response['user'] = array();
     $response['signed'] = false;
     if (isset($_SESSION["user_id"]) && strlen(trim($_SESSION["user_id"])) > 0 && $userId != -1) {
         $response['signed'] = true;
         if (isUserIdExists($userId)) {
             $response['succeeded'] = acceptFriendRequest($userId);
         } else {
             $response['errors'] = ["message" => "user_id does not exists."];
         }
     }
     echo json_encode($response);
 }
Пример #2
0
/**
 * Displays current user's friend list
 */
function displayFriendList()
{
    global $h, $db, $config;
    $userId = $h->session->id;
    if (!empty($_GET['id']) && is_numeric($_GET['id'])) {
        $userId = $_GET['id'];
    }
    if ($h->session->id != $userId && isset($_GET['addfriend'])) {
        if ($config['contacts']['friend_requests']) {
            if (!empty($_POST['type_id'])) {
                //sends a request to create a contact to user
                addFriendRequest($userId, $_POST['type_id'], $_POST['msg']);
                echo 'A request has been sent to the user to create a contact<br/>';
                echo 'You will recieve a message when the user responds to the request.<br/><br/>';
                return;
            }
            echo '<h1>Send friend request</h1>';
            echo '<form method="post" action="">';
            echo 'So you wish to send a friend request to ' . Users::link($userId) . '?<br/>';
            echo 'First, you need to choose relation type: ';
            echo xhtmlSelectCategory(CATEGORY_CONTACT, 0, 'type_id') . '<br/>';
            echo '(Optional) send a message:<br/>';
            echo '<textarea name="msg" cols="40" rows="6"></textarea><br/>';
            echo '<input type="submit" class="button" value="Send request"/>';
            echo '</form>';
            return;
        } else {
            //directly add contact to own contact list, dont send request
            setContact(CONTACT_FRIEND, $h->session->id, $userId);
        }
    }
    if ($h->session->id != $userId) {
        if (isset($_GET['removefriend'])) {
            removeContact(CONTACT_FRIEND, $userId);
        }
        if (hasPendingFriendRequest($userId)) {
            echo '<div class="item">';
            echo 'You already have a pending relation request with this user.<br/><br/>';
            echo 'You can remove your pending relation requests by clicking <a href="' . $_SERVER['PHP_SELF'] . '?request_stopwait=' . $userId . '">here</a>.';
            echo '</div><br/>';
        } else {
            if (!haveContact(CONTACT_FRIEND, $h->session->id, $userId)) {
                echo '<a href="?id=' . $userId . '&amp;addfriend">Become friends</a><br/>';
            } else {
                echo '<a href="?id=' . $userId . '&amp;removefriend">Remove friend contact</a><br/>';
            }
        }
        return;
    }
    if ($userId == $h->session->id) {
        if (!empty($_GET['request_stopwait'])) {
            removeSentFriendRequest($_GET['request_stopwait']);
        }
        if (isset($_GET['request_deny'])) {
            denyFriendRequest($_GET['request_deny']);
        }
        if (isset($_GET['request_accept'])) {
            acceptFriendRequest($_GET['request_accept']);
        }
        $list = getSentFriendRequests();
        if (count($list)) {
            echo 'Your sent friend requests:<br/>';
            foreach ($list as $row) {
                echo '<div class="item">';
                echo Users::link($row['recieverId'], $row['recieverName']) . ' - ';
                echo '<a href="?request_stopwait=' . $row['recieverId'] . '">Remove</a><br/>';
                echo '</div><br/>';
            }
        }
        $list = getRecievedFriendRequests();
        if (count($list)) {
            echo 'Your recieved friend requests:<br/>';
            foreach ($list as $row) {
                echo '<div class="item">';
                echo Users::link($row['senderId'], $row['senderName']) . ' wants to be ' . $row['categoryName'] . ' - Do you ';
                echo '<a href="?request_accept=' . $row['senderId'] . '">Accept</a> or ';
                echo '<a href="?request_deny=' . $row['senderId'] . '">Deny</a>?<br/>';
                if ($row['msg']) {
                    echo 'Personal message: ' . nl2br($row['msg']);
                }
                echo '</div><br/>';
            }
        }
    }
    $list = getContactsFlat(CONTACT_FRIEND, $userId);
    if ($h->session->id != $userId) {
        echo 'Friends:' . Users::getName($userId) . '<br/>';
    } else {
        echo 'Your friend list:<br/>';
    }
    if (!count($list)) {
        echo 'No friends.';
        return;
    }
    foreach ($list as $row) {
        echo '<div class="' . ($row['isOnline'] ? 'friend_online' : 'friend_offline') . '">';
        echo Users::link($row['otherUserId'], $row['contactName']);
        echo '<a href="messages.php?id=' . $row['contactId'] . '"><img src="' . coredev_webroot() . 'gfx/icon_mail.png" alt="Send a message to ' . $row['contactName'] . '"/></a>';
        echo '</div>';
    }
}