Пример #1
0
        public void UpdateHobbies(SqlDatabaseClient MySqlClient, uint LabelId, string mHobby)
        {
            switch (LabelId)
            {
            case 1:
                this.string_5 = mHobby;
                MySqlClient.SetParameter("id", this.uint_0);
                MySqlClient.SetParameter("Hobby", this.string_5);
                MySqlClient.ExecuteNonQuery("UPDATE usuarios SET hobby_1 = @Hobby WHERE id = @id LIMIT 1");
                return;

            case 2:
                this.string_6 = mHobby;
                MySqlClient.SetParameter("id", this.uint_0);
                MySqlClient.SetParameter("Hobby", this.string_6);
                MySqlClient.ExecuteNonQuery("UPDATE usuarios SET hobby_2 = @Hobby WHERE id = @id LIMIT 1");
                return;

            case 3:
                this.string_7 = mHobby;
                MySqlClient.SetParameter("id", this.uint_0);
                MySqlClient.SetParameter("Hobby", this.string_7);
                MySqlClient.ExecuteNonQuery("UPDATE usuarios SET hobby_3 = @Hobby WHERE id = @id LIMIT 1");
                return;
            }
            this.string_5 = mHobby;
            MySqlClient.SetParameter("id", this.uint_0);
            MySqlClient.SetParameter("Hobby", this.string_5);
            MySqlClient.ExecuteNonQuery("UPDATE usuarios SET hobby_1 = @Hobby WHERE id = @id LIMIT 1");
        }
Пример #2
0
        public void UpdateIcon(int Background, int Foreground, Dictionary <int, int> Objects)
        {
            lock (mSyncRoot)
            {
                mIcon = new RoomIcon(Background, Foreground, Objects);

                using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient())
                {
                    MySqlClient.SetParameter("id", mId);
                    MySqlClient.SetParameter("icon", mIcon.Serialize());
                    MySqlClient.ExecuteNonQuery("UPDATE rooms SET icon = @icon WHERE id = @id LIMIT 1");
                }
            }
        }
Пример #3
0
        public void AddToQuantity()
        {
            lock (mSyncRoot)
            {
                mQuantity++;

                using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient())
                {
                    MySqlClient.SetParameter("id", mId);
                    MySqlClient.SetParameter("quantity", mQuantity);
                    MySqlClient.ExecuteNonQuery("UPDATE avatar_effects SET quantity = @quantity WHERE id = @id LIMIT 1");
                }
            }
        }
Пример #4
0
        public void UpdateVotes(SqlDatabaseClient MySqlClient, uint ColorId, int Vote)
        {
            switch (ColorId)
            {
            case 1:
                this.int_12 += Vote;
                MySqlClient.SetParameter("id", this.uint_0);
                MySqlClient.SetParameter("GreenVotes", this.int_12);
                MySqlClient.ExecuteNonQuery("UPDATE usuarios SET votos_legal = @GreenVotes WHERE id = @id LIMIT 1");
                return;

            case 2:
                this.int_13 += Vote;
                MySqlClient.SetParameter("id", this.uint_0);
                MySqlClient.SetParameter("BlueVotes", this.int_13);
                MySqlClient.ExecuteNonQuery("UPDATE usuarios SET votos_sexy = @BlueVotes WHERE id = @id LIMIT 1");
                return;

            case 3:
                this.int_14 += Vote;
                MySqlClient.SetParameter("id", this.uint_0);
                MySqlClient.SetParameter("OrangeVotes", this.int_14);
                MySqlClient.ExecuteNonQuery("UPDATE usuarios SET votos_simpatico = @OrangeVotes WHERE id = @id LIMIT 1");
                return;
            }
            this.int_12 += Vote;
            MySqlClient.SetParameter("id", this.uint_0);
            MySqlClient.SetParameter("GreenVotes", this.int_12);
            MySqlClient.ExecuteNonQuery("UPDATE usuarios SET votos_legal = @GreenVotes WHERE id = @id LIMIT 1");
        }
Пример #5
0
        public void DoActorCountSync()
        {
            int NewActorCount = HumanActorCount;

            using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient())
            {
                MySqlClient.SetParameter("id", RoomId);
                MySqlClient.SetParameter("usercount", NewActorCount);
                MySqlClient.ExecuteNonQuery("UPDATE rooms SET current_users = @usercount WHERE id = @id LIMIT 1");
            }

            mCachedNavigatorUserCount = NewActorCount;
            mActorCountSyncNeeded     = false;
        }
Пример #6
0
        public void IncreaseScore()
        {
            lock (mSyncRoot)
            {
                mScore++;

                using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient())
                {
                    MySqlClient.SetParameter("id", mId);
                    MySqlClient.SetParameter("score", mScore);
                    MySqlClient.ExecuteNonQuery("UPDATE rooms SET score = @score WHERE id = @id LIMIT 1");
                }
            }
        }
Пример #7
0
        public void UpdateWishes(SqlDatabaseClient MySqlClient, uint LabelId, string mWish)
        {
            switch (LabelId)
            {
            case 1:
                this.string_8 = mWish;
                MySqlClient.SetParameter("id", this.uint_0);
                MySqlClient.SetParameter("Wish", this.string_8);
                MySqlClient.ExecuteNonQuery("UPDATE usuarios SET deseo_1 = @Wish WHERE id = @id LIMIT 1");
                return;

            case 2:
                this.string_9 = mWish;
                MySqlClient.SetParameter("id", this.uint_0);
                MySqlClient.SetParameter("Wish", this.string_9);
                MySqlClient.ExecuteNonQuery("UPDATE usuarios SET deseo_2 = @Wish WHERE id = @id LIMIT 1");
                return;

            case 3:
                this.string_10 = mWish;
                MySqlClient.SetParameter("id", this.uint_0);
                MySqlClient.SetParameter("Wish", this.string_10);
                MySqlClient.ExecuteNonQuery("UPDATE usuarios SET deseo_3 = @Wish WHERE id = @id LIMIT 1");
                return;
            }
            this.string_8 = mWish;
            MySqlClient.SetParameter("id", this.uint_0);
            MySqlClient.SetParameter("Wish", this.string_8);
            MySqlClient.ExecuteNonQuery("UPDATE usuarios SET deseo_1 = @Wish WHERE id = @id LIMIT 1");
        }
Пример #8
0
 public void EditSpace(string Name, string Description, SpaceAccessType AccessType, string Password, bool AllowUppercuts, bool AllowCoconuts, List <string> WhiteList, List <string> BlackList)
 {
     lock (this.object_0)
     {
         this.string_0          = Name;
         this.string_1          = Description;
         this.spaceAccessType_0 = AccessType;
         this.string_3          = Password;
         this.bool_1            = AllowUppercuts;
         this.bool_0            = AllowCoconuts;
         this.list_0            = WhiteList;
         this.list_1            = BlackList;
         using (SqlDatabaseClient client = SqlDatabaseManager.GetClient())
         {
             StringBuilder builder  = new StringBuilder();
             StringBuilder builder2 = new StringBuilder();
             foreach (string str in WhiteList)
             {
                 if (builder.Length > 0)
                 {
                     builder.Append(",");
                 }
                 builder.Append(str);
             }
             foreach (string str2 in BlackList)
             {
                 if (builder2.Length > 0)
                 {
                     builder2.Append(",");
                 }
                 builder.Append(str2);
             }
             string str3 = "open";
             if (this.spaceAccessType_0 == SpaceAccessType.PasswordProtected)
             {
                 str3 = "password";
             }
             else if (this.spaceAccessType_0 == SpaceAccessType.Locked)
             {
                 str3 = "lock";
             }
             client.SetParameter("id", this.uint_0);
             client.SetParameter("name", this.string_0);
             client.SetParameter("description", this.string_1);
             client.SetParameter("accesstype", str3);
             client.SetParameter("password", this.string_3);
             client.SetParameter("whitelist", builder);
             client.SetParameter("blacklist", builder2);
             client.SetParameter("allowuppercuts", this.bool_1 ? "1" : "0");
             client.SetParameter("allowcoconuts", this.bool_0 ? "1" : "0");
             client.ExecuteNonQuery("UPDATE escenarios SET nombre = @name, descripcion = @description, acceso = @accesstype, password = @password, lista_verde = @whitelist, lista_negra = @blacklist, permitir_upper = @allowuppercuts, permitir_coco = @allowcoconuts WHERE id = @id LIMIT 1");
         }
     }
 }
Пример #9
0
        public void AssignTo(SqlDatabaseClient MySqlClient, uint ModeratorId)
        {
            if (mStatus > ModerationTicketStatus.Assigned)
            {
                return;
            }

            mModeratorUserId = ModeratorId;
            mStatus          = (ModeratorId > 0 ? ModerationTicketStatus.Assigned : ModerationTicketStatus.OpenTicket);

            MySqlClient.SetParameter("id", mId);
            MySqlClient.SetParameter("status", (ModeratorId > 0 ? (int)ModerationTicketStatus.Assigned : (int)ModerationTicketStatus.OpenTicket).ToString());
            MySqlClient.SetParameter("moderatorid", ModeratorId);
            MySqlClient.ExecuteNonQuery("UPDATE moderation_tickets SET status = @status, moderator_user_id = @moderatorid WHERE id = @id LIMIT 1");
        }
Пример #10
0
        public void Activate()
        {
            lock (mSyncRoot)
            {
                mActivated          = true;
                mTimestampActivated = UnixTimestamp.GetCurrent();

                using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient())
                {
                    MySqlClient.SetParameter("id", mId);
                    MySqlClient.SetParameter("timestamp", mTimestampActivated);
                    MySqlClient.ExecuteNonQuery("UPDATE avatar_effects SET activated = '1', timestamp_activated = @timestamp WHERE id = @id LIMIT 1");
                }
            }
        }
Пример #11
0
 public void UpdateUppercuts(SqlDatabaseClient MySqlClient, bool Sent)
 {
     if (Sent)
     {
         this.int_6++;
     }
     else
     {
         this.int_11++;
     }
     MySqlClient.SetParameter("id", this.uint_0);
     MySqlClient.SetParameter("SentUppercuts", this.int_6);
     MySqlClient.SetParameter("ReceivedUppercuts", this.int_11);
     MySqlClient.ExecuteNonQuery("UPDATE usuarios SET uppercuts_enviados = @SentUppercuts, uppercuts_recibidos = @ReceivedUppercuts WHERE id = @id LIMIT 1");
 }
Пример #12
0
        public static uint CreateRoom(uint OwnerId, string Name, string Model)
        {
            string Result = string.Empty;

            using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient())
            {
                MySqlClient.SetParameter("type", "flat");
                MySqlClient.SetParameter("ownerid", OwnerId);
                MySqlClient.SetParameter("name", Name);
                MySqlClient.SetParameter("model", Model);
                Result = MySqlClient.ExecuteScalar("INSERT INTO rooms (type,owner_id,name,model) VALUES (@type,@ownerid,@name,@model); SELECT LAST_INSERT_ID();").ToString();
            }

            return(Result == string.Empty ? 0 : uint.Parse(Result));
        }
Пример #13
0
 public void UpdateKisses(SqlDatabaseClient MySqlClient, bool Sent)
 {
     if (Sent)
     {
         this.int_2++;
     }
     else
     {
         this.int_7++;
     }
     MySqlClient.SetParameter("id", this.uint_0);
     MySqlClient.SetParameter("SentKisses", this.int_2);
     MySqlClient.SetParameter("ReceivedKisses", this.int_7);
     MySqlClient.ExecuteNonQuery("UPDATE usuarios SET besos_enviados = @SentKisses, besos_recibidos = @ReceivedKisses WHERE id = @id LIMIT 1");
 }
Пример #14
0
 public void UpdateRoses(SqlDatabaseClient MySqlClient, bool Sent)
 {
     if (Sent)
     {
         this.int_4++;
     }
     else
     {
         this.int_9++;
     }
     MySqlClient.SetParameter("id", this.uint_0);
     MySqlClient.SetParameter("SentRoses", this.int_4);
     MySqlClient.SetParameter("ReceivedRoses", this.int_9);
     MySqlClient.ExecuteNonQuery("UPDATE usuarios SET flores_enviadas = @SentRoses, flores_recibidas = @ReceivedRoses WHERE id = @id LIMIT 1");
 }
Пример #15
0
 public void UpdateCoconuts(SqlDatabaseClient MySqlClient, bool Sent)
 {
     if (Sent)
     {
         this.int_5++;
     }
     else
     {
         this.int_10++;
     }
     MySqlClient.SetParameter("id", this.uint_0);
     MySqlClient.SetParameter("SentCoconuts", this.int_5);
     MySqlClient.SetParameter("ReceivedCoconuts", this.int_10);
     MySqlClient.ExecuteNonQuery("UPDATE usuarios SET cocos_enviados = @SentCoconuts, cocos_recibidos = @ReceivedCoconuts WHERE id = @id LIMIT 1");
 }
Пример #16
0
        public static List <uint> GetFriendsForUser(SqlDatabaseClient MySqlClient, uint UserId, int Confirmed)
        {
            List <uint> Friends = new List <uint>();

            MySqlClient.SetParameter("id", UserId);
            MySqlClient.SetParameter("confirmed", Confirmed);
            DataTable Table = MySqlClient.ExecuteQueryTable("SELECT user_2_id FROM messenger_friendships WHERE user_1_id = @id AND confirmed = @confirmed");

            foreach (DataRow Row in Table.Rows)
            {
                Friends.Add((uint)Row[0]);
            }

            return(Friends);
        }
Пример #17
0
        public void Unmute(SqlDatabaseClient MySqlClient)
        {
            mModerationMutedUntil = 0;

            MySqlClient.SetParameter("id", mId);
            MySqlClient.ExecuteNonQuery("UPDATE characters SET moderation_muted_until_timestamp = 0 WHERE id = @id LIMIT 1");
        }
Пример #18
0
        public void Expire()
        {
            mHcTime           = PastHcTime;
            mVipTime          = PastVipTime;
            mBaseLevel        = ClubSubscriptionLevel.None;
            mTimestampCreated = 0;
            mTimestampExpire  = 0;

            using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient())
            {
                MySqlClient.SetParameter("userid", mUserId);
                MySqlClient.SetParameter("hctime", mHcTime);
                MySqlClient.SetParameter("viptime", mVipTime);
                MySqlClient.ExecuteNonQuery("UPDATE user_subscriptions SET subscription_level = '0', timestamp_created = 0, timestamp_expire = 0 WHERE user_id = @userid LIMIT 1");
            }
        }
Пример #19
0
 private static void PerformDatabaseCleanup(SqlDatabaseClient MySqlClient)
 {
     MySqlClient.ExecuteNonQuery("UPDATE rooms SET current_users = 0");
     MySqlClient.SetParameter("timestamp", UnixTimestamp.GetCurrent());
     MySqlClient.ExecuteNonQuery("UPDATE room_visits SET timestamp_left = @timestamp WHERE timestamp_left = 0");
     MySqlClient.ExecuteNonQuery("UPDATE characters SET auth_ticket = ''");
 }
Пример #20
0
        public static void ReloadCache(SqlDatabaseClient MySqlClient)
        {
            lock (mSyncRoot)
            {
                mCharacterBlacklist.Clear();
                mRemoteAddressBlacklist.Clear();

                MySqlClient.SetParameter("timestamp", UnixTimestamp.GetCurrent());
                DataTable Table = MySqlClient.ExecuteQueryTable("SELECT * FROM bans WHERE timestamp_expire > @timestamp");

                foreach (DataRow Row in Table.Rows)
                {
                    uint   UserId     = (uint)Row["user_id"];
                    string RemoteAddr = (string)Row["remote_address"];

                    if (UserId > 0 && !mCharacterBlacklist.Contains(UserId))
                    {
                        mCharacterBlacklist.Add(UserId);
                    }

                    if (RemoteAddr.Length > 0 && !mRemoteAddressBlacklist.Contains(RemoteAddr))
                    {
                        mRemoteAddressBlacklist.Add(RemoteAddr);
                    }
                }
            }
        }
Пример #21
0
        public static SpaceInfo GetSpaceInfo(uint SpaceId, bool IgnoreCache)
        {
            SpaceInstance instanceBySpaceId = SpaceManager.GetInstanceBySpaceId(SpaceId);

            if (instanceBySpaceId != null)
            {
                return(instanceBySpaceId.Info);
            }
            if (!IgnoreCache)
            {
                SpaceInfo info = smethod_1(SpaceId);
                if (info != null)
                {
                    return(info);
                }
            }
            using (SqlDatabaseClient client = SqlDatabaseManager.GetClient())
            {
                client.SetParameter("id", SpaceId);
                DataRow row = client.ExecuteQueryRow("SELECT * FROM escenarios WHERE id = @id LIMIT 1");
                if (row != null)
                {
                    return(GenerateSpaceInfoFromRow(row));
                }
            }
            return(null);
        }
Пример #22
0
        public static VoucherValueData GetVoucherValue(string Code)
        {
            using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient())
            {
                MySqlClient.SetParameter("code", Code);
                DataRow Row = MySqlClient.ExecuteQueryRow("SELECT value_credits,value_pixels,value_furni FROM vouchers WHERE code = @code AND enabled = '1' AND uses > 0 LIMIT 1");

                if (Row == null)
                {
                    return(null);
                }

                List <uint> FurniValue = new List <uint>();

                foreach (string FurniValueBit in Row["value_furni"].ToString().Split(','))
                {
                    uint NewValue = 0;
                    uint.TryParse(FurniValueBit, out NewValue);

                    if (NewValue > 0)
                    {
                        FurniValue.Add(NewValue);
                    }
                }

                return(new VoucherValueData((int)Row["value_credits"], (int)Row["value_pixels"], FurniValue));
            }
        }
Пример #23
0
 public void MarkUserIgnored(uint UserId)
 {
     lock (this.object_0)
     {
         if (!this.list_0.Contains(UserId))
         {
             this.list_0.Add(UserId);
             using (SqlDatabaseClient client = SqlDatabaseManager.GetClient())
             {
                 client.SetParameter("user_id", this.uint_0);
                 client.SetParameter("ignore_id", UserId);
                 client.ExecuteNonQuery("INSERT INTO ignorados (id_usuario,id_ignorada) VALUES (@user_id,@ignore_id)");
             }
         }
     }
 }
Пример #24
0
 public void MarkUserUnignored(uint UserId)
 {
     lock (this.object_0)
     {
         if (this.list_0.Contains(UserId))
         {
             this.list_0.Remove(UserId);
             using (SqlDatabaseClient client = SqlDatabaseManager.GetClient())
             {
                 client.SetParameter("user_id", this.uint_0);
                 client.SetParameter("ignore_id", UserId);
                 client.ExecuteNonQuery("DELETE FROM ignorados WHERE id_usuario = @user_id AND id_ignorada = @ignore_id LIMIT 1");
             }
         }
     }
 }
Пример #25
0
        public static CharacterInfo GetCharacterInfo(SqlDatabaseClient MySqlClient, uint CharacterId, uint LinkedClientId, bool IgnoreCache)
        {
            if (SessionManager.ContainsCharacterId(CharacterId))
            {
                Session Session = SessionManager.GetSessionByCharacterId(CharacterId);
                return(Session.CharacterInfo);
            }

            if (!IgnoreCache)
            {
                CharacterInfo CachedInfo = TryGetInfoFromCache(CharacterId);

                if (CachedInfo != null)
                {
                    return(CachedInfo);
                }
            }

            MySqlClient.SetParameter("id", CharacterId);
            DataRow Row = MySqlClient.ExecuteQueryRow("SELECT * FROM characters WHERE id = @id LIMIT 1");

            if (Row != null)
            {
                return(GenerateCharacterInfoFromRow(MySqlClient, LinkedClientId, Row));
            }

            return(null);
        }
Пример #26
0
        public void ReloadCache(SqlDatabaseClient MySqlClient)
        {
            lock (mInner)
            {
                mInner.Clear();

                MySqlClient.SetParameter("userid", mCharacterId);
                DataTable Table = MySqlClient.ExecuteQueryTable("SELECT * FROM items WHERE user_id = @userid");

                foreach (DataRow Row in Table.Rows)
                {
                    Item Item = ItemFactory.CreateFromDatabaseRow(Row);

                    if (Item == null || Item.Definition == null || Item.InSoundManager)
                    {
                        continue;
                    }

                    if (Item.PendingExpiration && Item.ExpireTimeLeft <= 0)
                    {
                        Item.RemovePermanently(MySqlClient);
                        continue;
                    }

                    mInner.Add(Item.Id, Item);
                }
            }
        }
Пример #27
0
        public static RoomInfo GetRoomInfo(uint RoomId, bool IgnoreCache)
        {
            RoomInstance Instance = RoomManager.GetInstanceByRoomId(RoomId);

            if (Instance != null)
            {
                return(Instance.Info);
            }

            if (!IgnoreCache)
            {
                RoomInfo CachedInfo = TryGetInfoFromCache(RoomId);

                if (CachedInfo != null)
                {
                    return(CachedInfo);
                }
            }

            using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient())
            {
                MySqlClient.SetParameter("id", RoomId);
                DataRow Row = MySqlClient.ExecuteQueryRow("SELECT * FROM rooms WHERE id = @id LIMIT 1");

                if (Row != null)
                {
                    return(GenerateRoomInfoFromRow(Row));
                }
            }

            return(null);
        }
 public static uint GetUidFromName(string Name)
 {
     lock (dictionary_0)
     {
         foreach (KeyValuePair <uint, string> pair in dictionary_0)
         {
             if (pair.Value.ToLower() == Name.ToLower())
             {
                 return(pair.Key);
             }
         }
         using (SqlDatabaseClient client = SqlDatabaseManager.GetClient())
         {
             client.SetParameter("username", Name);
             object obj2 = client.ExecuteScalar("SELECT id FROM usuarios WHERE usuario = @username LIMIT 1");
             if (obj2 != null)
             {
                 uint key = (uint)obj2;
                 dictionary_0.Add(key, Name);
                 return(key);
             }
         }
     }
     return(0);
 }
Пример #29
0
 public static void DeleteIsland(SqlDatabaseClient MySqlClient, uint IslandId)
 {
     MySqlClient.SetParameter("id", IslandId);
     MySqlClient.ExecuteNonQuery("DELETE FROM escenarios WHERE id = @id LIMIT 1");
     SpaceInfoLoader.RemoveFromCache(IslandId);
     Navigator.ReloadOfficialItems(MySqlClient);
 }
 public static void ReloadCache(SqlDatabaseClient MySqlClient)
 {
     lock (object_0)
     {
         list_0.Clear();
         list_1.Clear();
         dictionary_0.Clear();
         MySqlClient.SetParameter("timestamp", UnixTimestamp.GetCurrent());
         foreach (DataRow row in MySqlClient.ExecuteQueryTable("SELECT * FROM baneos WHERE timestampex > @timestamp OR tipo_baneo > 0").Rows)
         {
             uint   item        = (uint)row["id_usuario"];
             uint   banType     = (uint)row["tipo_baneo"];
             string reason      = (string)row["detalles"];
             string moderator   = (string)row["moderador"];
             string str3        = (string)row["direccion_ip"];
             double timestamp   = (double)row["timestamp"];
             double timestampEx = (double)row["timestampex"];
             if ((item > 0) && !list_0.Contains(item))
             {
                 list_0.Add(item);
             }
             if ((str3.Length > 0) && !list_1.Contains(str3))
             {
                 list_1.Add(str3);
             }
             if ((item > 0) && !dictionary_0.ContainsKey(item))
             {
                 dictionary_0.Add(item, new BanDetails(item, banType, reason, timestamp, timestampEx, moderator));
             }
         }
     }
 }