public AssetBase GetMeta(UUID uuid)
        {
            DataReaderConnection dr = null;

            try {
                dr = m_Gd.QueryData("where id = '" + uuid + "' LIMIT 1", "assets",
                                    "id, name, description, assetType, local, temporary, asset_flags, creatorID");
                while (dr.DataReader.Read())
                {
                    return(LoadAssetFromDataRead(dr.DataReader));
                }
                if (MainConsole.Instance != null)
                {
                    MainConsole.Instance.WarnFormat("[LocalAssetDatabase] GetMeta({0}) - Asset UUID was not found.", uuid);
                }
            } catch (Exception e) {
                if (MainConsole.Instance != null)
                {
                    MainConsole.Instance.Error("[LocalAssetDatabase]: Failed to fetch asset " + uuid + ", " + e);
                }
            } finally {
                if (dr != null)
                {
                    m_Gd.CloseDatabase(dr);
                }
            }

            return(null);
        }
Esempio n. 2
0
        public List <InventoryItemBase> GetItems(string[] fields, string[] vals)
        {
            string query = "";

            for (int i = 0; i < fields.Length; i++)
            {
                query += String.Format("where {0} = '{1}' and ", fields[i], vals[i]);
                i++;
            }
            query = query.Remove(query.Length - 5);
            using (IDataReader reader = GD.QueryData(query, m_itemsrealm, "*"))
            {
                try
                {
                    return(ParseInventoryItems(reader));
                }
                catch
                {
                }
                finally
                {
                    try
                    {
                        if (reader != null)
                        {
                            reader.Close();
                            reader.Dispose();
                        }
                    }
                    catch { }
                    GD.CloseDatabase();
                }
            }
            return(null);
        }
Esempio n. 3
0
        public List <SchedulerItem> ToRun()
        {
            List <SchedulerItem> returnValue = new List <SchedulerItem>();
            DataReaderConnection dr          = null;

            try
            {
                dr =
                    m_Gd.QueryData(
                        "WHERE enabled = 1 AND runs_next < '" + DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm") +
                        "' ORDER BY runs_next desc", "scheduler", string.Join(", ", theFields));
                if (dr != null && dr.DataReader != null)
                {
                    while (dr.DataReader.Read())
                    {
                        returnValue.Add(LoadFromDataReader(dr.DataReader));
                    }
                }
            }
            catch
            {
            }
            finally
            {
                m_Gd.CloseDatabase(dr);
            }

            return(returnValue);
        }
        /// <summary>
        ///   Returns a list object of AvatarArchives. This is being used for WebUI
        /// </summary>
        /// <param name = "Public"></param>
        /// <returns></returns>
        public List <AvatarArchive> GetAvatarArchives(bool isPublic)
        {
            List <AvatarArchive> returnValue = new List <AvatarArchive>();

            try
            {
                IDataReader RetVal = GD.QueryData("where IsPublic = 1", "avatararchives", "Name, Snapshot, IsPublic");
                while (RetVal.Read())
                {
                    AvatarArchive Archive = new AvatarArchive
                    {
                        Name     = RetVal["Name"].ToString(),
                        Snapshot = RetVal["Snapshot"].ToString(),
                        IsPublic = int.Parse(RetVal["IsPublic"].ToString())
                    };
                    returnValue.Add(Archive);
                }
                RetVal.Close();
                RetVal.Dispose();
            }
            catch
            {
            }
            GD.CloseDatabase();
            return(returnValue);
        }
        /// <summary>
        ///   Returns a list object of AvatarArchives. This is being used for WebUI
        /// </summary>
        /// <param name = "Public"></param>
        /// <returns></returns>
        public List <AvatarArchive> GetAvatarArchives(bool isPublic)
        {
            List <AvatarArchive> returnValue = new List <AvatarArchive>();
            DataReaderConnection RetVal      = null;

            try
            {
                RetVal = GD.QueryData("where IsPublic = 1", "avatararchives", "Name, Snapshot, IsPublic");
                while (RetVal.DataReader.Read())
                {
                    AvatarArchive Archive = new AvatarArchive
                    {
                        Name     = RetVal.DataReader["Name"].ToString(),
                        Snapshot = RetVal.DataReader["Snapshot"].ToString(),
                        IsPublic = int.Parse(RetVal.DataReader["IsPublic"].ToString())
                    };
                    returnValue.Add(Archive);
                }
            }
            catch
            {
                GD.CloseDatabase(RetVal);
            }
            return(returnValue);
        }
Esempio n. 6
0
        public List <AbuseReport> GetAbuseReports(int start, int count, bool active)
        {
            List <AbuseReport> rv     = new List <AbuseReport>();
            QueryFilter        filter = new QueryFilter();

            filter.andGreaterThanEqFilters["CAST(number AS UNSIGNED)"] = start;
            filter.andFilters["Active"] = active ? 1 : 0;
            List <string> query = GD.Query(new string[1] {
                "*"
            }, m_abuseReportsTable, filter, null, null, null);

            if (query.Count % 16 != 0)
            {
                return(rv);
            }
            try
            {
                for (int i = 0; i < query.Count; i += 16)
                {
                    AbuseReport report = new AbuseReport
                    {
                        Category       = query[i + 0],
                        ReporterName   = query[i + 1],
                        ObjectName     = query[i + 2],
                        ObjectUUID     = new UUID(query[i + 3]),
                        AbuserName     = query[i + 4],
                        AbuseLocation  = query[i + 5],
                        AbuseDetails   = query[i + 6],
                        ObjectPosition = query[i + 7],
                        RegionName     = query[i + 8],
                        ScreenshotID   = new UUID(query[i + 9]),
                        AbuseSummary   = query[i + 10],
                        Number         = int.Parse(query[i + 11]),
                        AssignedTo     = query[i + 12],
                        Active         = int.Parse(query[i + 13]) == 1,
                        Checked        = int.Parse(query[i + 14]) == 1,
                        Notes          = query[i + 15]
                    };
                    rv.Add(report);
                }
            }
            catch
            {
            }
            GD.CloseDatabase();
            return(rv);
        }
Esempio n. 7
0
        public List <AbuseReport> GetAbuseReports(int start, int count, string filter)
        {
            List <AbuseReport> rv = new List <AbuseReport>();
            IDataReader        dr =
                GD.QueryData(
                    "where CAST(number AS UNSIGNED) >= " + start.ToString() + " and " + filter + " LIMIT 0, 10",
                    "abusereports", "*");

            try
            {
                while (dr.Read())
                {
                    AbuseReport report = new AbuseReport
                    {
                        Category       = dr[0].ToString(),
                        ReporterName   = dr[1].ToString(),
                        ObjectName     = dr[2].ToString(),
                        ObjectUUID     = new UUID(dr[3].ToString()),
                        AbuserName     = dr[4].ToString(),
                        AbuseLocation  = dr[5].ToString(),
                        AbuseDetails   = dr[6].ToString(),
                        ObjectPosition = dr[7].ToString(),
                        RegionName     = dr[8].ToString(),
                        ScreenshotID   = new UUID(dr[9].ToString()),
                        AbuseSummary   = dr[10].ToString(),
                        Number         = int.Parse(dr[11].ToString()),
                        AssignedTo     = dr[12].ToString(),
                        Active         = int.Parse(dr[13].ToString()) == 1,
                        Checked        = int.Parse(dr[14].ToString()) == 1,
                        Notes          = dr[15].ToString()
                    };
                    rv.Add(report);
                }
                dr.Close();
                dr.Dispose();
            }
            catch
            {
            }
            GD.CloseDatabase();
            return(rv);
        }