Exemplo n.º 1
0
    $permission = TRUE;
    $user_id = $_SESSION['user']['id'];
    $location = $base_url . '/homepage.php';
} else {
    if (!($user_id = $_GET['uid'])) {
        $location .= '?msg=7005';
    }
}
if ($user_id && $permission) {
    $message_array = array();
    if ($network_info->type == MOTHER_NETWORK_TYPE) {
        //user delete for SU
        //deleting user data from mothership
        try {
            User::delete_user($user_id);
            Activities::delete_for_user($user_id);
        } catch (PAException $e) {
            $message_array[] = $e->message;
        }
        $user_networks = Network::get_user_networks($user_id);
        if (count($user_networks)) {
            foreach ($user_networks as $network) {
                if ($network->user_type != NETWORK_OWNER) {
                    $network_prefix = $network->address;
                    try {
                        User::delete_user($user_id);
                        Network::leave($network->network_id, $user_id);
                        //leave
                    } catch (PAException $e) {
                        $message_array[] = $e->message;
                    }
/**
 * @author   Z.Hron
 * @name     delete_users
 * @brief    This function delete array of users
 * @return   array of error messages
 *
 *
 */
function delete_users($params, $true_delete = FALSE)
{
    $message_array = array();
    $user_id_array = $params['user_id_array'];
    foreach ($user_id_array as $user_id) {
        if (PA::$network_info->type == MOTHER_NETWORK_TYPE) {
            if (!Network::member_exists(PA::$network_info->network_id, (int) $user_id)) {
                $message_array[] = "UserID {$user_id} does not exists.";
                continue;
            }
            //deleting user data from mothership
            try {
                User::delete_user($user_id);
                Activities::delete_for_user($user_id);
            } catch (CNException $e) {
                $message_array[] = $e->message;
            }
            $user_networks = Network::get_user_networks($user_id);
            if (count($user_networks)) {
                foreach ($user_networks as $network) {
                    if ($network->user_type != NETWORK_OWNER) {
                        $network_prefix = $network->address;
                        try {
                            User::delete_user($user_id);
                            Activities::delete_for_user($user_id);
                            Network::leave($network->network_id, $user_id);
                            //leave
                        } catch (CNException $e) {
                            $message_array[] = $e->message;
                        }
                    } else {
                        try {
                            Network::delete($network->network_id);
                        } catch (CNException $e) {
                            $message_array[] = $e->message;
                        }
                    }
                }
            }
            //deleting user
            try {
                User::delete($user_id, $true_delete);
            } catch (CNException $e) {
                Logger::log('User has been already deleted');
            }
        } else {
            //user delete for network owner
            if (!Network::member_exists(PA::$network_info->network_id, (int) $user_id)) {
                $message_array[] = "UserID {$user_id} does not exists.";
                continue;
            }
            $network_prefix = PA::$network_info->address;
            try {
                User::delete_user($user_id);
                Activities::delete_for_user($user_id);
                Network::leave(PA::$network_info->network_id, $user_id);
                //network leave
            } catch (CNException $e) {
                $message_array[] = $e->message;
            }
        }
    }
    return $message_array;
}