public void AddOrExtend(int Level, double ExtensionTime) { using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient()) { if (!IsActive) { mTimestampCreated = UnixTimestamp.GetCurrent(); mTimestampExpire = UnixTimestamp.GetCurrent(); } mTimestampExpire += ExtensionTime; mBaseLevel = (ClubSubscriptionLevel)Level; MySqlClient.SetParameter("userid", mUserId); bool CreateNewRecord = (MySqlClient.ExecuteScalar("SELECT null FROM user_subscriptions WHERE user_id = @userid LIMIT 1") == null); MySqlClient.SetParameter("userid", mUserId); MySqlClient.SetParameter("expirestamp", mTimestampExpire); MySqlClient.SetParameter("level", ((int)mBaseLevel).ToString()); if (CreateNewRecord) { MySqlClient.SetParameter("createstamp", UnixTimestamp.GetCurrent()); MySqlClient.ExecuteNonQuery("INSERT INTO user_subscriptions (user_id,subscription_level,timestamp_created,timestamp_expire) VALUES (@userid,@level,@createstamp,@expirestamp)"); } else { MySqlClient.ExecuteNonQuery("UPDATE user_subscriptions SET subscription_level = @level, timestamp_expire = @expirestamp WHERE user_id = @userid LIMIT 1"); } } }
public RoomModel(string Id, RoomModelType Type, Heightmap Heightmap, Vector3 DoorPosition, int DoorRotation, ClubSubscriptionLevel SubscriptionRequirement, int MaxUsers) { mId = Id; mType = Type; mHeightmap = Heightmap; mDoorPosition = DoorPosition; mDoorRotation = DoorRotation; mSubscriptionRequirement = SubscriptionRequirement; mMaxUsers = MaxUsers; }
public bool HasRight(string Right) { ClubSubscriptionLevel level = ClubSubscriptionLevel.None; if (mSubscriptionManager != null) { level = mSubscriptionManager.SubscriptionLevel; } return(RightsManager.GetRightsForRank(mCharacterInfo.Rank, level, mCharacterInfo.IsPremium).Contains(Right)); }
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"); } }
public static List<string> GetRightsForRank(uint Rank, ClubSubscriptionLevel level, bool IsPremium) { List<string> Rights = new List<string>(); if (level == ClubSubscriptionLevel.BasicClub) { Rights.Add("club_regular"); } if (level == ClubSubscriptionLevel.VipClub) { Rights.Add("club_vip"); } if (IsPremium) { Rights.Add("club_premium"); } foreach (String Right in mRightSets[0]) { if (Rights.Contains(Right)) { continue; } Rights.Add(Right); } foreach (uint set in mRights[Rank]) { if (mRightSets.ContainsKey(set)) { foreach (string Right in mRightSets[set]) { if (Rights.Contains(Right)) { continue; } Rights.Add(Right); } } } return Rights; }
public static List <string> GetRightsForRank(uint Rank, ClubSubscriptionLevel level, bool IsPremium) { List <string> Rights = new List <string>(); if (level == ClubSubscriptionLevel.BasicClub) { Rights.Add("club_regular"); } if (level == ClubSubscriptionLevel.VipClub) { Rights.Add("club_vip"); } if (IsPremium) { Rights.Add("club_premium"); } foreach (String Right in mRightSets[0]) { if (Rights.Contains(Right)) { continue; } Rights.Add(Right); } foreach (uint set in mRights[Rank]) { if (mRightSets.ContainsKey(set)) { foreach (string Right in mRightSets[set]) { if (Rights.Contains(Right)) { continue; } Rights.Add(Right); } } } return(Rights); }
public ClubSubscription(uint UserId, ClubSubscriptionLevel BaseLevel, double TimestampCreated, double TimestampExpired, double HcTime, double VipTime) { mUserId = UserId; mBaseLevel = BaseLevel; mTimestampCreated = TimestampCreated; mTimestampExpire = TimestampExpired; mHcTime = HcTime; mVipTime = VipTime; if (!IsActive) { if (mBaseLevel != ClubSubscriptionLevel.None) { Expire(); } } }