Example #1
0
                        $user_id_ary = array_diff($user_id_ary, $perms);
                        unset($perms);
                    }
                    if (sizeof($user_id_ary)) {
                        $friend_foe_mode = $zmode == 'friends' ? true : false;
                        user_friend_foe_add($user_id_ary, $friend_foe_mode);
                        $updated = true;
                    }
                    unset($user_id_ary);
                }
            }
        } elseif (sizeof($data['usernames'])) {
            // Force integer values
            $data['usernames'] = array_map('intval', $data['usernames']);
            $friend_foe_mode = $zmode == 'friends' ? true : false;
            user_friend_foe_remove($data['usernames'], $friend_foe_mode);
            $updated = true;
        }
        $db->clear_cache('zebra_users_');
        if ($updated) {
            $redirect_url = append_sid(append_sid(CMS_PAGE_PROFILE . '?mode=zebra&zmode=' . $zmode));
            meta_refresh(3, $redirect_url);
            message_die(GENERAL_MESSAGE, $zmode == 'friends' ? $lang['FRIENDS_UPDATED'] : $lang['FOES_UPDATED']);
        } else {
            message_die(GENERAL_ERROR, $zmode == 'friends' ? $lang['FRIENDS_UPDATE_ERROR'] : $lang['FOES_UPDATE_ERROR']);
        }
    }
}
$sql_and = $zmode == 'foes' ? 'z.foe = 1' : 'z.friend = 1';
$sql = "SELECT z.*, u.username\n\tFROM " . ZEBRA_TABLE . " z, " . USERS_TABLE . " u\n\tWHERE z.user_id = '" . $user->data['user_id'] . "'\n\t\tAND " . $sql_and . "\n\t\tAND u.user_id = z.zebra_id\n\tORDER BY u.username ASC";
$result = $db->sql_query($sql);
if (!empty($user->data['session_logged_in']) && $profiledata['user_id'] != $user->data['user_id']) {
    $zmode = request_var('zmode', '');
    if (!empty($zmode)) {
        // Allow only friends...
        //$zmode_types = array('friend', 'foe');
        $zmode_types = array('friend');
        $zmode = !in_array($zmode, $zmode_types) ? '' : $zmode;
    }
    if (!empty($zmode)) {
        $zaction = request_var('zaction', '');
        $zaction_types = array('add', 'remove');
        $zaction = !in_array($zaction, $zaction_types) ? '' : $zaction;
        if (!empty($zaction) && $zaction == 'add') {
            user_friend_foe_add(array($profiledata['user_id']), true);
        } elseif (!empty($zaction) && $zaction == 'remove') {
            user_friend_foe_remove(array($profiledata['user_id']), true);
        }
    }
}
// Update the profile view list
$target_user = $profiledata['user_id'];
$viewer = $user->data['username'];
$viewer_id = $user->data['user_id'];
$current_time = time();
if ($target_user != $viewer_id) {
    $sql = "UPDATE " . USERS_TABLE . "\n\t\t\tSET user_profile_view = '1'\n\t\t\tWHERE user_id = " . $target_user;
    $db->sql_query($sql);
    $sql = "SELECT * FROM " . PROFILE_VIEW_TABLE . "\n\t\tWHERE user_id = " . $target_user . "\n\t\tAND viewer_id = " . $viewer_id;
    $db->sql_return_on_error(true);
    $result = $db->sql_query($sql);
    $db->sql_return_on_error(false);
Example #3
0
function user_friend_foe_add($target_ids, $friend = true)
{
    global $db, $cache, $config, $user;
    if (empty($target_ids)) {
        return false;
    }
    if (!is_array($target_ids)) {
        $target_ids = array($target_ids);
    }
    $sql_values = !empty($friend) ? "'1', '0'" : "'0', '1'";
    foreach ($target_ids as $target_id) {
        $is_friend_foe = user_check_friend_foe($target_id, $friend);
        if (empty($is_friend_foe)) {
            user_friend_foe_remove(array($target_id), !$friend);
            $sql = "INSERT INTO " . ZEBRA_TABLE . " (`user_id` , `zebra_id` , `friend` , `foe`)\n\t\t\t\t\t\t\tVALUES ('" . $user->data['user_id'] . "', '" . $target_id . "', " . $sql_values . ")";
            $result = $db->sql_query($sql);
        }
    }
    return true;
}