Example #1
0
function user_rel_update($uid, $peer_uid, $relationship, $nickname = "")
{
    if (!($db = db::get())) {
        return false;
    }
    if (!is_numeric($uid)) {
        return false;
    }
    if (!is_numeric($peer_uid)) {
        return false;
    }
    if (!is_numeric($relationship)) {
        return false;
    }
    if (!($table_prefix = get_table_prefix())) {
        return false;
    }
    $sql = "INSERT INTO `{$table_prefix}USER_PEER` (UID, PEER_UID, RELATIONSHIP, PEER_NICKNAME) ";
    $sql .= "VALUES ('{$uid}', '{$peer_uid}', '{$relationship}', NULL) ON DUPLICATE KEY UPDATE ";
    $sql .= "RELATIONSHIP = VALUES(RELATIONSHIP), PEER_NICKNAME = NULL";
    if (!$db->query($sql)) {
        return false;
    }
    $user_nickname = user_get_nickname($peer_uid);
    if ($nickname != $user_nickname) {
        $nickname = $db->escape($nickname);
        $sql = "INSERT INTO `{$table_prefix}USER_PEER` (UID, PEER_UID, PEER_NICKNAME) ";
        $sql .= "VALUES ('{$uid}', '{$peer_uid}', '{$nickname}') ON DUPLICATE KEY UPDATE ";
        $sql .= "PEER_NICKNAME = VALUES(PEER_NICKNAME)";
        if (!$db->query($sql)) {
            return false;
        }
    }
    return true;
}
Example #2
0
            $peer_nickname = "";
        }
    }
    if ($peer_perms & USER_PERM_FOLDER_MODERATE && !session::check_perm(USER_PERM_CAN_IGNORE_ADMIN, 0)) {
        $peer_relationship = $peer_relationship & USER_IGNORED ? USER_NORMAL : $peer_relationship;
    }
    if (user_rel_update($_SESSION['UID'], $peer_uid, $peer_relationship, $peer_nickname)) {
        header_redirect("{$ret}&relupdated=true");
        exit;
    } else {
        $error_msg_array[] = gettext("Relationship updated failed!");
        $valid = false;
    }
}
if (isset($_POST['reset_nickname_x']) || isset($_POST['reset_nickname_y'])) {
    $peer_nickname = user_get_nickname($peer_uid);
    $peer_relationship = user_get_peer_relationship($_SESSION['UID'], $peer_uid);
    user_rel_update($_SESSION['UID'], $peer_uid, $peer_relationship, $peer_nickname);
}
$peer_user_display = format_user_name($user_peer['LOGON'], $user_peer['NICKNAME']);
html_draw_top(array('title' => sprintf(gettext('User Relationship - %s'), $peer_user_display), 'class' => 'window_title'));
$peer_relationship = user_get_relationship($_SESSION['UID'], $peer_uid);
$peer_nickname = user_get_peer_nickname($_SESSION['UID'], $peer_uid);
echo "<h1>", gettext("User Relationship"), html_style_image('separator'), "<a href=\"user_profile.php?webtag={$webtag}&amp;uid={$peer_uid}\" target=\"_blank\" class=\"popup 650x500\">", word_filter_add_ob_tags($peer_user_display, true), "</a></h1>\n";
if (isset($error_msg_array) && sizeof($error_msg_array) > 0) {
    html_display_error_array($error_msg_array, '600', 'left');
} else {
    if ($peer_perms & USER_PERM_FOLDER_MODERATE && !session::check_perm(USER_PERM_CAN_IGNORE_ADMIN, 0)) {
        html_display_warning_msg(gettext("You cannot ignore this user, as they are a moderator."), '600', 'left');
    }
}
Example #3
0
function user_get_peer_nickname($uid, $peer_uid)
{
    if (!($db = db::get())) {
        return false;
    }
    if (!is_numeric($uid)) {
        return false;
    }
    if (!is_numeric($peer_uid)) {
        return false;
    }
    if (!($table_prefix = get_table_prefix())) {
        return false;
    }
    $sql = "SELECT COALESCE(USER_PEER.PEER_NICKNAME, USER.NICKNAME) AS NICKNAME ";
    $sql .= "FROM USER LEFT JOIN `{$table_prefix}USER_PEER` USER_PEER ";
    $sql .= "ON (USER_PEER.PEER_UID = USER.UID AND USER_PEER.UID = '{$uid}') ";
    $sql .= "WHERE USER_PEER.UID = '{$uid}' AND USER_PEER.PEER_UID = '{$peer_uid}'";
    if (!($result = $db->query($sql))) {
        return false;
    }
    if ($result->num_rows > 0) {
        list($peer_nickname) = $result->fetch_row();
        return $peer_nickname;
    }
    return user_get_nickname($peer_uid);
}