Beispiel #1
0
        /// <summary>
        /// Retrieves the figure details of the Habbo matching the specified Habbo ID.
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static bool GetFigureFromHabboId(int habboId, out string figureString, out bool gender, WrappedMySqlConnection connection = null)
        {
            Dictionary <string, object> parameters = new Dictionary <string, object>();

            parameters["@habbo_id"] = habboId;

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                using (MySqlDataReader reader = connection.GetCommand("SELECT `figure`, `gender` FROM `habbos` WHERE `habbo_id` = @habbo_id").ExecuteReader(parameters))
                {
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            figureString = (string)reader["figure"];
                            gender       = (bool)reader["gender"];
                            return(true);
                        }
                    }
                }
            }

            figureString = "";
            gender       = true;
            return(false);
        }
Beispiel #2
0
        /// <summary>
        /// SUMMARY
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static bool GetSubscriptionData(int habboId, string subscriptionType, out int totalBought, out int skippedLength, out int pausedStart, WrappedMySqlConnection connection = null)
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();
            parameters.Add("@habbo_id", habboId);
            parameters.Add("@subscription_type", subscriptionType);

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                using (MySqlDataReader reader = connection.GetCommand("SELECT `total_bought`, `skipped_length`, `paused_start` FROM `subscriptions` WHERE `habbo_id` = @habbo_id AND `subscription_type` = @subscription_type LIMIT 1").ExecuteReader(parameters))
                {
                    if (!reader.HasRows)
                    {
                        totalBought = 0;
                        skippedLength = 0;
                        pausedStart = 0;
                        return false;
                    }

                    reader.Read();
                    totalBought = (int)reader["total_bought"];
                    skippedLength = (int)reader["skipped_length"];
                    pausedStart = (int)reader["paused_start"];
                    return true;
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// Retrieves the figure details of the Habbo matching the specified Habbo ID.
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static bool GetFigureFromHabboId(int habboId, out string figureString, out bool gender, WrappedMySqlConnection connection = null)
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();
            parameters["@habbo_id"] = habboId;

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                using (MySqlDataReader reader = connection.GetCommand("SELECT `figure`, `gender` FROM `habbos` WHERE `habbo_id` = @habbo_id").ExecuteReader(parameters))
                {
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            figureString = (string)reader["figure"];
                            gender = (bool)reader["gender"];
                            return true;
                        }
                    }
                }
            }

            figureString = "";
            gender = true;
            return false;
        }
Beispiel #4
0
        /// <summary>
        /// SUMMARY
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static bool GetSubscriptionData(int habboId, string subscriptionType, out int totalBought, out int skippedLength, out int pausedStart, WrappedMySqlConnection connection = null)
        {
            Dictionary <string, object> parameters = new Dictionary <string, object>();

            parameters.Add("@habbo_id", habboId);
            parameters.Add("@subscription_type", subscriptionType);

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                using (MySqlDataReader reader = connection.GetCommand("SELECT `total_bought`, `skipped_length`, `paused_start` FROM `subscriptions` WHERE `habbo_id` = @habbo_id AND `subscription_type` = @subscription_type LIMIT 1").ExecuteReader(parameters))
                {
                    if (!reader.HasRows)
                    {
                        totalBought   = 0;
                        skippedLength = 0;
                        pausedStart   = 0;
                        return(false);
                    }

                    reader.Read();
                    totalBought   = (int)reader["total_bought"];
                    skippedLength = (int)reader["skipped_length"];
                    pausedStart   = (int)reader["paused_start"];
                    return(true);
                }
            }
        }
Beispiel #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static Dictionary <string, PermissionState> GetHabboPermissionsFromHabboId(int habboId, WrappedMySqlConnection connection = null)
        {
            Dictionary <string, PermissionState> permissions = new Dictionary <string, PermissionState>();

            Dictionary <string, object> parameters = new Dictionary <string, object>();

            parameters.Add("@habbo_id", habboId);

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                using (MySqlDataReader reader = connection.GetCommand("SELECT `permission_name`, `permission_state` FROM `permission_habbo_permissions` WHERE `habbo_id` = @habbo_id").ExecuteReader(parameters))
                {
                    while (reader.Read())
                    {
                        if ((sbyte)reader["permission_state"] == 1)
                        {
                            permissions.Add((string)reader["permission_name"], PermissionState.Allow);
                        }
                        else
                        {
                            permissions.Add((string)reader["permission_name"], PermissionState.Deny);
                        }
                    }

                    return(permissions);
                }
            }
            ;
        }
Beispiel #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static bool SetHabboPermissionsFromId(int habboId, string permissionName, PermissionState permissionState, WrappedMySqlConnection connection = null)
        {
            Dictionary <string, object> parameters = new Dictionary <string, object>();

            parameters.Add("@habbo_id", habboId);
            parameters.Add("@permission_name", permissionName);

            if (permissionState == PermissionState.Undefined)
            {
                using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
                {
                    return(connection.GetCommand("DELETE FROM `permission_habbo_permissions` WHERE `habbo_id` = @habbo_id AND `permission_name`= @permission_name").ExecuteNonQuery(parameters) > 0);
                }
            }

            parameters.Add("@permission_state", (int)permissionState);
            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                return(connection.GetCommand("INSERT INTO `permission_habbo_permissions` SET `habbo_id` = @habbo_id, `permission_name` = @permission_name, `permission_state` = @permission_state ON DUPLICATE KEY UPDATE `permission_state` = @permission_state").ExecuteNonQuery(parameters) > 0);
            }
        }
Beispiel #7
0
        /// <summary>
        /// SUMMARY
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static bool SetSubscriptionData(int habboId, string subscriptionType, int totalBought, int skippedLength, int pausedStart, WrappedMySqlConnection connection = null)
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();
            parameters.Add("@habbo_id", habboId);
            parameters.Add("@subscription_type", subscriptionType);
            parameters.Add("@total_bought", totalBought);
            parameters.Add("@skipped_length", skippedLength);
            parameters.Add("@paused_start", pausedStart);

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                return connection.GetCommand("INSERT INTO `subscriptions` (`habbo_id`, `subscription_type`, `total_bought`, `skipped_length`, `paused_start`) VALUES (@habbo_id, @subscription_type, @total_bought, @skipped_length, @paused_start) ON DUPLICATE KEY UPDATE `total_bought` = @total_bought, `skipped_length` = @skipped_length, `paused_start` = @paused_start").ExecuteNonQuery(parameters) >= 1;
            }
        }
Beispiel #8
0
        /// <summary>
        /// SUMMARY
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static bool SetSubscriptionData(int habboId, string subscriptionType, int totalBought, int skippedLength, int pausedStart, WrappedMySqlConnection connection = null)
        {
            Dictionary <string, object> parameters = new Dictionary <string, object>();

            parameters.Add("@habbo_id", habboId);
            parameters.Add("@subscription_type", subscriptionType);
            parameters.Add("@total_bought", totalBought);
            parameters.Add("@skipped_length", skippedLength);
            parameters.Add("@paused_start", pausedStart);

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                return(connection.GetCommand("INSERT INTO `subscriptions` (`habbo_id`, `subscription_type`, `total_bought`, `skipped_length`, `paused_start`) VALUES (@habbo_id, @subscription_type, @total_bought, @skipped_length, @paused_start) ON DUPLICATE KEY UPDATE `total_bought` = @total_bought, `skipped_length` = @skipped_length, `paused_start` = @paused_start").ExecuteNonQuery(parameters) >= 1);
            }
        }
Beispiel #9
0
        /// <summary>
        ///	
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static ICollection<PermissionsGroupPermissionData> GetAllPermissionGroupPermissions(WrappedMySqlConnection connection = null)
        {
            List<PermissionsGroupPermissionData> groupPermissions = new List<PermissionsGroupPermissionData>();

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                using (MySqlDataReader reader = connection.GetCommand("SELECT `group_name`, `permission_name`, `permission_state` FROM `permission_group_permissions`").ExecuteReader())
                {
                    while (reader.Read())
                    {
                        groupPermissions.Add(new PermissionsGroupPermissionData((string)reader["group_name"], (string)reader["permission_name"], (PermissionState)reader["permission_state"])); // TODO: Test if a direct cast to PermissionState is possible.
                    }

                    return groupPermissions;
                }
            }
        }
Beispiel #10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static ICollection <PermissionsGroupPermissionData> GetAllPermissionGroupPermissions(WrappedMySqlConnection connection = null)
        {
            List <PermissionsGroupPermissionData> groupPermissions = new List <PermissionsGroupPermissionData>();

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                using (MySqlDataReader reader = connection.GetCommand("SELECT `group_name`, `permission_name`, `permission_state` FROM `permission_group_permissions`").ExecuteReader())
                {
                    while (reader.Read())
                    {
                        groupPermissions.Add(new PermissionsGroupPermissionData((string)reader["group_name"], (string)reader["permission_name"], (PermissionState)reader["permission_state"])); // TODO: Test if a direct cast to PermissionState is possible.
                    }

                    return(groupPermissions);
                }
            }
        }
Beispiel #11
0
        /// <summary>
        ///	
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static IEnumerable<string> GetHabboPermissionGroupsFromHabboId(int habboId, WrappedMySqlConnection connection = null)
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();
            parameters.Add("@habbo_id", habboId);

            List<string> groupNames = new List<string>();

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                using (MySqlDataReader reader = connection.GetCommand("SELECT `group_name` FROM `permission_habbo_groups` WHERE `habbo_id` = @habbo_id").ExecuteReader(parameters))
                {
                    while (reader.Read())
                    {
                        groupNames.Add((string)reader["group_name"]);
                    }

                    return groupNames;
                }
            }
        }
Beispiel #12
0
        /// <summary>
        ///   Retrieves the IDs of the Rooms owned by owner ID.
        /// </summary>
        /// <param name="ownerId">The owner ID to search with.</param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        public static IEnumerable<int> GetRoomIdsFromRoomOwner(string ownerId, WrappedMySqlConnection connection = null)
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();
            parameters.Add("@owner_id", ownerId);

            List<int> roomIds = new List<int>();

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                using (MySqlDataReader reader = connection.GetCommand("SELECT `room_id` FROM `rooms` WHERE `owner_id` = @owner_id").ExecuteReader(parameters))
                {
                    while (reader.Read())
                    {
                        roomIds.Add((int)reader["room_id"]);
                    }

                    return roomIds;
                }
            }
        }
Beispiel #13
0
        /// <summary>
        ///   Retrieves the IDs of the Rooms owned by owner ID.
        /// </summary>
        /// <param name="ownerId">The owner ID to search with.</param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        public static IEnumerable <int> GetRoomIdsFromRoomOwner(string ownerId, WrappedMySqlConnection connection = null)
        {
            Dictionary <string, object> parameters = new Dictionary <string, object>();

            parameters.Add("@owner_id", ownerId);

            List <int> roomIds = new List <int>();

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                using (MySqlDataReader reader = connection.GetCommand("SELECT `room_id` FROM `rooms` WHERE `owner_id` = @owner_id").ExecuteReader(parameters))
                {
                    while (reader.Read())
                    {
                        roomIds.Add((int)reader["room_id"]);
                    }

                    return(roomIds);
                }
            }
        }
Beispiel #14
0
        /// <summary>
        ///
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static IEnumerable <string> GetHabboPermissionGroupsFromHabboId(int habboId, WrappedMySqlConnection connection = null)
        {
            Dictionary <string, object> parameters = new Dictionary <string, object>();

            parameters.Add("@habbo_id", habboId);

            List <string> groupNames = new List <string>();

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                using (MySqlDataReader reader = connection.GetCommand("SELECT `group_name` FROM `permission_habbo_groups` WHERE `habbo_id` = @habbo_id").ExecuteReader(parameters))
                {
                    while (reader.Read())
                    {
                        groupNames.Add((string)reader["group_name"]);
                    }

                    return(groupNames);
                }
            }
        }
Beispiel #15
0
        /// <summary>
        ///	
        /// </summary>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static Dictionary<string, PermissionState> GetHabboPermissionsFromHabboId(int habboId, WrappedMySqlConnection connection = null)
        {
            Dictionary<string, PermissionState> permissions = new Dictionary<string, PermissionState>();

            Dictionary<string, object> parameters = new Dictionary<string, object>();
            parameters.Add("@habbo_id", habboId);

            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                using (MySqlDataReader reader = connection.GetCommand("SELECT `permission_name`, `permission_state` FROM `permission_habbo_permissions` WHERE `habbo_id` = @habbo_id").ExecuteReader(parameters))
                {
                    while (reader.Read())
                    {
                        if((sbyte)reader["permission_state"] == 1)
                            permissions.Add((string)reader["permission_name"], PermissionState.Allow);
                        else
                            permissions.Add((string)reader["permission_name"], PermissionState.Deny);
                    }

                    return permissions;
                }
            }
            ;
        }
Beispiel #16
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name=""></param>
        /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param>
        /// <returns></returns>
        public static bool SetHabboPermissionsFromId(int habboId, string permissionName, PermissionState permissionState, WrappedMySqlConnection connection = null)
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();
            parameters.Add("@habbo_id", habboId);
            parameters.Add("@permission_name", permissionName);

            if (permissionState == PermissionState.Undefined)
            {
                using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
                {
                    return connection.GetCommand("DELETE FROM `permission_habbo_permissions` WHERE `habbo_id` = @habbo_id AND `permission_name`= @permission_name").ExecuteNonQuery(parameters) > 0;
                }
            }

            parameters.Add("@permission_state", (int)permissionState);
            using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection())
            {
                return connection.GetCommand("INSERT INTO `permission_habbo_permissions` SET `habbo_id` = @habbo_id, `permission_name` = @permission_name, `permission_state` = @permission_state ON DUPLICATE KEY UPDATE `permission_state` = @permission_state").ExecuteNonQuery(parameters) > 0;
            }
        }