Esempio n. 1
0
    public ITable GetITable(eTable a_eTable)
    {
        switch (a_eTable)
        {
        case eTable.Login:
            return(loginTb);

        case eTable.Player:
            return(playerTb);

        case eTable.PlayerFirstInit:
            return(playerFirstTb);

        case eTable.Level:
            return(levelTb);

        case eTable.Shop:
            return(shopTb);

        case eTable.Summons:
            return(summonsTb);

        case eTable.SummonsUnit:
            return(summonsUnitTb);

        case eTable.Hero:
            return(heroTb);

        case eTable.Quest:
            return(questTb);

        case eTable.Map:
            return(mapTb);

        case eTable.Stage:
            return(stageTb);

        case eTable.Monster:
            return(monsterTb);

        case eTable.StageReward:
            return(stageRewardTb);

        case eTable.HeroLevel:
            return(heroLevelTb);

        case eTable.QuestReward:
            return(questRewardTb);

        case eTable.HeroSkill:
            return(heroSkillTb);

        case eTable.SkillDamage:
            return(heroSkillDamageTb);

        case eTable.Item:
            return(itemTb);
        }
        return(null);
    }
Esempio n. 2
0
    public V GetValue <K, V>(eTable eTable, K key) where V : TableBase <K>
    {
        var tb = GetITable(eTable) as Table <K, V>;

        if (tb == null)
        {
            Debug.LogError("arg error");
            return(default(V));
        }

        return(tb.GetTb(key));
    }
Esempio n. 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            eUser user = new eUser("Manage");
            //用户退出日志
            eTable etb = new eTable("a_eke_sysUserLog");

            etb.Fields.Add("UserID", user.ID);
            etb.Fields.Add("Type", 2);
            etb.Fields.Add("IP", eBase.getIP());
            etb.Fields.Add("Area", "Manage");
            etb.Add();
            user.Remove();
            Response.Redirect("Login.aspx", true);
        }
 private void button1_Click(object sender, EventArgs e)
 {
     if (editorType == "editor")
     {
         Editor editor = Owner as Editor;
         editor.SaveTXT();
     }
     else
     {
         eTable editor = Owner as eTable;
         editor.Save();
     }
     Close();
 }
Esempio n. 5
0
        protected void action_Actioning(string Action)
        {
            eTable etable;
            string sql = "";
            string ID  = "";

            switch (Action)
            {
            case "":
                litBody.Text = "无";
                break;

            case "add":
                etable = new eTable("Demo_Persons");
                etable.Fields.Add("FullName", "测试1");
                etable.Fields.Add("Account", "test");
                etable.Fields.Add("PassWord", eBase.GetMD5("123456", 16));
                etable.Add();
                litBody.Text  = "添加成功,ID=" + etable.ID + "<br>\r\n";
                litBody.Text += "所影响行:" + etable.Rows.ToString();
                break;

            case "edit":
                sql = "select ID from Demo_Persons where delTag=0 order by ID desc";     //修改最后一条记录
                ID  = eOleDB.getValue(sql);

                etable = new eTable("Demo_Persons");
                etable.Fields.Add("FullName", "修改后的姓名");
                etable.Where.Add("ID=" + ID);
                etable.Update();
                litBody.Text  = "修改成功,ID=" + ID + "<br>\r\n";
                litBody.Text += "所影响行:" + etable.Rows.ToString();

                break;

            case "del":
                sql = "select ID from Demo_Persons where delTag=0 order by ID desc";
                ID  = eOleDB.getValue(sql);    //要删除记录的ID

                etable = new eTable("Demo_Persons");
                etable.Where.Add("id=" + ID);
                //etable.DeleteTrue();//真正删除
                etable.Delete();     //假删除

                litBody.Text  = "删除成功,ID=" + ID + "<br>\r\n";
                litBody.Text += "所影响行:" + etable.Rows.ToString();
                break;
            }
        }
Esempio n. 6
0
    public void LoadDataTable(eTable _table)
    {
        string assetName = "";

        switch (_table)
        {
        case eTable.eTime:
        {
            assetName = "TimeDB";
            var asset = loadBundles.LoadAsset(assetName).ToString();

            var liTime = JsonMapper.ToObject <List <TImeData> >(asset);
            lTime.AddRange(liTime);

            for (int i = 0; i < lTime.Count; i++)
            {
                Table <int, TImeData> .SetTB(lTime[i].nID, lTime[i]);
            }

            break;
        }
        }
    }
Esempio n. 7
0
        public void edt_onChange(object sender, eFormTableEventArgs e)
        {
            if (e.eventType == eFormTableEventType.Inserting)
            {
                if (user["ServiceID"].Length > 0)
                {
                    edt.Fields.Add("ServiceID", user["ServiceID"]);
                }
            }
            string type = eParameters.Form("f9");

            if (type == "2")
            {
                return;
            }
            string formtable = eParameters.Form("formtable");
            string tablename = eParameters.Form("f2");
            string sql       = "";

            if (e.eventType == eFormTableEventType.Inserted || e.eventType == eFormTableEventType.Updated)
            {
                sql  = "update a set a.submodel=(case when isnull(b.type,2)=1 then 1 else 0 end) ";
                sql += " FROM a_eke_sysModels a ";
                sql += " left join a_eke_sysModels b on a.ParentID=b.ModelID ";
                sql += " where a.ModelID='" + e.ID + "'";
                eOleDB.Execute(sql);
            }
            #region 添加OK
            if (e.eventType == eFormTableEventType.Inserted)
            {
                #region 新建表

                if (formtable.Length == 0)
                {
                    sql = "Create table [" + tablename + "] (";
                    //sql += "[ID] [int] IDENTITY (1, 1) NOT NULL,";
                    sql += "[ID] [uniqueidentifier] NOT NULL Default (newid()),";
                    sql += "[addTime] [datetime] NULL default getdate(),";
                    sql += "[addUser] nvarchar(50) NULL,";
                    sql += "[editTime] [datetime] NULL,";
                    sql += "[editUser] nvarchar(50) NULL ,";
                    sql += "[delTime] [datetime] NULL,";
                    sql += "[delUser] nvarchar(50) NULL,";
                    sql += "[delTag] [bit] NULL default 0,";
                    sql += "PRIMARY KEY(ID)";
                    sql += ") ON [PRIMARY]";
                    eOleDB.Execute(sql);

                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'" + eParameters.Form("f1") + "','user','dbo','table','" + tablename + "',NULL,NULL");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'编号','user','dbo','table','" + tablename + "','column','ID'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'添加时间','user','dbo','table','" + tablename + "','column','addTime'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'添加用户','user','dbo','table','" + tablename + "','column','addUser'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'修改时间','user','dbo','table','" + tablename + "','column','editTime'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'修改用户','user','dbo','table','" + tablename + "','column','editUser'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'删除时间','user','dbo','table','" + tablename + "','column','delTime'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'删除用户','user','dbo','table','" + tablename + "','column','delUser'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'删除标记','user','dbo','table','" + tablename + "','column','delTag'");
                }
                #endregion
                if (f5.Value.ToString() == "True") //自动模块
                {
                    #region 添加模块
                    string ObjectID = eOleDB.getValue("SELECT id from sysobjects where name='" + tablename + "' and xtype='U'");

                    #region 物理数据列
                    sql  = "SELECT a.name as code,b.[name] as type,a.length,d.text as [default],e.value as MC,a.colid as PX from syscolumns a";
                    sql += " inner join systypes b on a.xtype=b.xusertype ";
                    sql += " left join sysobjects c on a.cdefault=c.id and a.cdefault>0";
                    sql += " left join syscomments d on c.id=d.id";
                    sql += " left join sys.extended_properties e on e.major_id=a.id and e.minor_id=a.colid";
                    sql += " where a.id='" + ObjectID + "'";
                    sql += " order by a.colorder";
                    DataTable tb = eOleDB.getDataTable(sql);
                    if (tb.Rows.Count == 0)
                    {
                        sql  = "SELECT a.name as code,b.[name] as type,a.length,d.text as [default],e.value as MC,a.colid as PX from syscolumns a";
                        sql += " inner join systypes b on a.xtype=b.xusertype ";
                        sql += " left join sysobjects c on a.cdefault=c.id and a.cdefault>0";
                        sql += " left join syscomments d on c.id=d.id";
                        sql += " left join sysproperties e on a.id=e.id and a.colid=e.smallid";
                        sql += " where a.id='" + ObjectID + "'";
                        sql += " order by a.colorder";

                        tb = eOleDB.getDataTable(sql);
                    }
                    #endregion

                    //eBase.PrintDataTable(tb);
                    //eBase.End();
                    string zj         = eOleDB.getPrimaryKey(tablename);
                    string syscolumns = eConfig.getAllSysColumns() + "," + zj.ToLower() + ",";
                    int    Num        = 1;
                    //eBase.Writeln(zj);
                    //eBase.Writeln(syscolumns);
                    //eBase.Writeln(e.ID + "OK");
                    ///eBase.End();
                    #region 序号列
                    string formName = "M" + e.ID.Substring(0, 2) + "_" + "F" + Num.ToString();
                    sql  = "insert into a_eke_sysModelItems (frmName,frmID,Num,ListOrder,ModelID,MC,ListHTML,Custom,showList,mShowList,ListWidth,mListWidth,Move,Size) ";
                    sql += " values ('" + formName + "','" + formName + "','" + Num.ToString() + "','" + Num.ToString() + "','" + e.ID + "','序号','{row:index}','1','" + (f7.Value.ToString().Length > 0 ? "0" : "1") + "','1','60','60','1','1')";
                    eOleDB.Execute(sql);
                    #endregion
                    Num++;
                    #region 其他列
                    // eBase.Writeln(tb.Rows.Count.ToString());
                    foreach (DataRow dr in tb.Rows)
                    {
                        string sys      = (syscolumns.IndexOf("," + dr["code"].ToString().ToLower() + ",") > -1 ? "1" : "0");
                        string showedit = (sys == "0" ? "1" : "0");
                        string showlist = (sys == "0" ? "1" : "0");

                        formName = "M" + e.ID.Substring(0, 2) + "_" + "F" + Num.ToString();
                        eTable etb = new eTable("a_eke_sysModelItems");



                        etb.Fields.Add("ModelID", e.ID);
                        etb.Fields.Add("Num", Num.ToString());
                        etb.Fields.Add("MC", dr["mc"].ToString());
                        etb.Fields.Add("Code", dr["code"].ToString());
                        etb.Fields.Add("Type", dr["Type"].ToString());
                        etb.Fields.Add("Length", dr["Length"].ToString());
                        etb.Fields.Add("Sys", sys);
                        etb.Fields.Add("PX", dr["PX"].ToString());
                        etb.Fields.Add("primaryKey", (zj.ToLower() == dr["code"].ToString().ToLower() ? "1" : "0"));

                        if (dr["code"].ToString().ToLower() == "addtime")
                        {
                            showlist = "1";
                        }

                        etb.Fields.Add("ShowList", showlist);
                        etb.Fields.Add("ShowView", showedit);
                        etb.Fields.Add("ShowAdd", showedit);
                        etb.Fields.Add("ShowEdit", showedit);

                        if (f7.Value.ToString().Length == 0) //主模块
                        {
                            etb.Fields.Add("OrderBy", showlist);
                            etb.Fields.Add("Move", showlist);
                            etb.Fields.Add("Size", showlist);
                        }

                        if (dr["type"].ToString().ToLower().IndexOf("char") > -1)
                        {
                            etb.Fields.Add("maxLength", dr["length"].ToString());
                            etb.Fields.Add("Width", "300");
                        }
                        if (dr["type"].ToString().ToLower().IndexOf("date") > -1)
                        {
                            etb.Fields.Add("formatstring", (dr["type"].ToString().ToLower().IndexOf("datetime") > -1 ? "{0:yyyy-MM-dd HH:mm:ss}" : "{0:yyyy-MM-dd}"));
                        }
                        if (dr["type"].ToString().ToLower() == "bit")
                        {
                            if (sys == "0")
                            {
                                etb.Fields.Add("defaultvalue", "True");
                            }
                            etb.Fields.Add("ControlType", "radio");
                            etb.Fields.Add("addControlType", "radio");
                            etb.Fields.Add("editControlType", "radio");
                            //etb.Fields.Add("ReplaceString", "[{text:是,value:True},{text:否,value:False}]");
                            etb.Fields.Add("Options", "[{text:是,value:True},{text:否,value:False}]");
                        }
                        if (dr["type"].ToString().ToLower() == "text")
                        {
                            etb.Fields.Add("ControlType", "html");
                            etb.Fields.Add("addControlType", "html");
                            etb.Fields.Add("editControlType", "html");
                        }
                        if (dr["code"].ToString().ToLower() == "show")
                        {
                            sql = "insert into a_eke_sysActions (ModelID,MC,Action,SQL) values ('" + e.ID + "','是否显示','show','update " + tablename + " set show=''{querystring:value}'' where " + zj + "=''{querystring:id}''')";
                            eOleDB.Execute(sql);
                            etb.Fields.Add("ListHTML", "<a href=\"?act=show&modelid={querystring:modelid}&id={data:id}&value={data:showvalue}\"><img src=\"{base:virtualpath}{data:ShowPIC}\" border=\"0\"></a>");

                            eOleDB.Execute("update a_eke_sysModels set ListFields='CASE WHEN Show=1 THEN ''images/sw_true.gif'' ELSE ''images/sw_false.gif'' END as ShowPIC,CASE WHEN Show=1 THEN ''0'' ELSE ''1'' END as ShowValue' where ModelID='" + e.ID + "'"); //,CASE WHEN ZD=1 THEN ''<img src=\"images/sw_true.gif\" border=\"0\">'' ELSE ''<img src=\"images/sw_false.gif\" border=\"0\">'' END as ZDPIC,CASE WHEN ZD=1 THEN ''0'' ELSE ''1'' END as ZDValue


                            //eOleDB.Execute("insert into a_eke_sysModelConditions (ModelID,MC,ControlType) values ('" + e.ID + "','是否显示','radio')");
                            //string condid = eOleDB.ID;

                            //eOleDB.Execute("insert into a_eke_sysModelConditionItems (ModelID,ModelConditionID,MC,ConditionValue) values ('" + e.ID + "','" + condid + "','是','show=1')");
                            //eOleDB.Execute("insert into a_eke_sysModelConditionItems (ModelID,ModelConditionID,MC,ConditionValue) values ('" + e.ID + "','" + condid + "','否','show=0')");

                            string MaxConds = eOleDB.getValue("select count(*)+1 from a_eke_sysModelConditions where ModelID='" + e.ID + "'");
                            eOleDB.Execute("insert into a_eke_sysModelConditions (ModelID,MC,ControlType,Code,Operator,Options,Num) values ('" + e.ID + "','是否显示','radio','show','=','[{text:是,value:1},{text:否,value:0}]','" + MaxConds + "')");
                            eOleDB.Execute("update a_eke_sysModels set MaxConds='" + MaxConds + "' where ModelID='" + e.ID + "'");
                        }
                        if (dr["code"].ToString().ToLower() == "deltag")
                        {
                            //etb.Fields.Add("Condition", "=");
                            //etb.Fields.Add("ConditionValue", "0");
                        }
                        if (dr["code"].ToString().ToLower() == "addtime")
                        {
                            //etb.Fields.Add("defaultOrder", "2");
                            string MaxConds = eOleDB.getValue("select count(*)+1 from a_eke_sysModelConditions where ModelID='" + e.ID + "'");
                            eOleDB.Execute("insert into a_eke_sysModelConditions (ModelID,MC,ControlType,Code,Operator,DateFormat,Width,Num) values ('" + e.ID + "','添加时间','date','addTime','>=','yyyy-MM-dd','150','" + MaxConds + "')");
                            eOleDB.Execute("insert into a_eke_sysModelConditions (ModelID,MC,ControlType,Code,Operator,DateFormat,Width,Num) values ('" + e.ID + "','添加时间','date','addTime','<=','yyyy-MM-dd','150'," + MaxConds + " + 1)");
                            eOleDB.Execute("update a_eke_sysModels set MaxConds=" + MaxConds + "+1 where ModelID='" + e.ID + "'");
                        }
                        etb.Fields.Add("frmName", formName);
                        etb.Fields.Add("frmID", formName);
                        etb.Fields.Add("notnull", showedit);
                        etb.Fields.Add("ListOrder", Num.ToString());
                        etb.Add();


                        Num++;
                    }
                    #endregion
                    #region 操作列
                    formName = "M" + e.ID.Substring(0, 2) + "_" + "F" + Num.ToString();
                    sql      = "insert into a_eke_sysModelItems (frmName,frmID,Num,ListOrder,ModelID,MC,ListHTML,Custom,showList,mShowList,ListWidth,mListWidth,Move,Size) ";
                    sql     += " values ('" + formName + "','" + formName + "','" + Num.ToString() + "','" + Num.ToString() + "','" + e.ID + "','操作','<a href=\"{base:url}act=view&id={data:ID}\">查看</a><a href=\"{base:url}act=edit&id={data:ID}\">修改</a><a href=\"{base:url}act=del&id={data:ID}\" onclick=\"javascript:return confirm(''确认要删除吗?'');\">删除</a>','1','" + (f7.Value.ToString().Length > 0 ? "0" : "1") + "','1','130','130','1','1')";
                    eOleDB.Execute(sql);
                    #endregion
                    eOleDB.Execute("update a_eke_sysModels set MaxItems='" + Num.ToString() + "' where ModelID='" + e.ID + "'");
                    if (f7.Value.ToString().Length == 0) //主模块
                    {
                        eOleDB.Execute("update a_eke_sysModels set DefaultCondition='delTag=0',DefaultOrderby='addTime Desc' where ModelID='" + e.ID + "'");
                    }
                    else
                    {
                        eOleDB.Execute("update a_eke_sysModels set DefaultCondition='delTag=0',DefaultOrderby='addTime' where ModelID='" + e.ID + "'");
                    }


                    eOleDB.Execute("update a_eke_sysModels set Power='[{text:列表,value:list},{text:详细,value:view},{text:添加,value:add},{text:编辑,value:edit},{text:删除,value:del},{text:复制,value:copy},{text:打印,value:print},{text:导出,value:export}]' where ModelID='" + e.ID + "'");
                    #endregion
                }
                else
                {
                    eOleDB.Execute("update a_eke_sysModels set Power='[{text:列表,value:list},{text:详细,value:view},{text:添加,value:add},{text:编辑,value:edit},{text:删除,value:del},{text:复制,value:copy},{text:打印,value:print},{text:导出,value:export}]' where ModelID='" + e.ID + "'");
                }
            }
            #endregion
            #region 修改
            if (e.eventType == eFormTableEventType.Updating)
            {
                string oldName = eOleDB.getValue("select code from a_eke_sysModels where ModelID='" + e.ID + "'");
                if (oldName.ToLower() != tablename.ToLower())
                {
                    eOleDB.Execute("exec sp_rename  '" + oldName + "' ,'" + tablename + "'");
                }
            }
            #endregion
        }
Esempio n. 8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Type type = HttpContext.Current.Handler.GetType();//CurrentHandler

            System.Reflection.FieldInfo fi = type.GetField("UserArea");
            if (fi != null)
            {
                UserArea = fi.GetValue(Activator.CreateInstance(type)).ToString();
            }

            act = eParameters.QueryString("act");
            if (act.Length == 0)
            {
                act = eParameters.Request("act").ToLower();
            }
            if (act.Length == 0)
            {
                return;
            }
            parentID = eParameters.QueryString("id");

            eUser user = new eUser(UserArea);

            switch (act)
            {
            case "save":
                #region 保存
                eTable tb     = new eTable("Demo_Customs_PartOne", user);
                string json   = eParameters.Form("eformdata_" + parentModelID);
                eJson  jmodel = new eJson(json);
                jmodel.Convert = true;
                jmodel         = jmodel.GetCollection("eformdata_" + parentModelID);
                eJson jrow = jmodel.Collection[0];
                tb.Fields.Add("DZ", jrow.GetValue("ma_f1"));
                tb.Fields.Add("gddh", jrow.GetValue("ma_f2"));
                string tmp = jrow.GetValue("id");

                if (tmp.Length > 0)
                {
                    parentID = tmp;
                }


                string id = eOleDB.getValue("select PartOneID from Demo_Customs_PartOne where CustomID='" + parentID + "'");
                if (id.Length == 0)
                {
                    tb.Fields.Add("CustomID", parentID);
                    tb.Add();
                }
                else
                {
                    tb.Where.Add("CustomID='" + parentID + "'");
                    tb.Update();
                }
                #endregion
                break;

            case "del":
                eTable etb = new eTable("Demo_Customs_PartOne", user);
                etb.Where.Add("CustomID='" + parentID + "'");
                etb.Delete();
                break;

            default:
                #region 读取
                DataTable dt = eOleDB.getDataTable("select dz,gddh from Demo_Customs_PartOne where CustomID='" + parentID + "' and delTag=0");
                if (dt.Rows.Count > 0)
                {
                    dz   = dt.Rows[0]["DZ"].ToString();
                    gddh = dt.Rows[0]["GDDH"].ToString();
                }
                #endregion
                break;
            }
        }
Esempio n. 9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string fromURL   = eParameters.QueryString("fromURL");
            string LoginFile = "Login.aspx";

            if (fromURL.Length > 0)
            {
                LoginFile += "?fromURL=" + HttpUtility.UrlEncode(fromURL);
            }
            if (Request.Form["yhm"] != null)
            {
                if (Session["Plugins_RndCode"] == null)
                {
                    Response.Write("<script>alert('验证码超时!');document.location='" + fromURL + "';</script>");
                    Response.End();
                    return;
                }
                if (Session["Plugins_RndCode"].ToString() != Request.Form["yzm"].ToString())
                {
                    Response.Write("<script>alert('验证码不正确!');document.location='" + fromURL + "';</script>");
                    Response.End();
                    return;
                }
                string sql = "Select top 1 UserID,YHM,MM,SiteID,ServiceID From a_eke_sysUsers Where delTag=0 and Active=1 and UserType>2 and YHM='" + Request.Form["yhm"].ToString() + "'";

                #region 绑定登录,防止DEMO用户密码被修改或禁用及删除
                if (Request.Url.Host.ToLower().IndexOf("demo.eketeam.com") > -1)
                {
                    sql = "Select top 1 UserID,YHM,MM,SiteID,ServiceID From a_eke_sysUsers Where YHM='" + Request.Form["yhm"].ToString() + "'";
                }
                #endregion
                DataTable tb = eOleDB.getDataTable(sql);
                if (tb.Rows.Count == 0)
                {
                    Response.Write("<script>alert('登录信息不正确!');document.location='" + fromURL + "';</script>");
                    Response.End();
                }
                else
                {
                    if (eBase.GetMD5(Request.Form["mm"].ToString(), 16) == tb.Rows[0]["mm"].ToString() || Request.Form["mm"].ToString() == tb.Rows[0]["mm"].ToString() || Request.Url.Host.ToLower().IndexOf("demo.eketeam.com") > -1)
                    {
                        eUser user = new eUser("Manage");
                        user["id"]        = tb.Rows[0]["UserID"].ToString();
                        user["name"]      = tb.Rows[0]["YHM"].ToString();
                        user["siteid"]    = tb.Rows[0]["siteid"].ToString();
                        user["ServiceID"] = tb.Rows[0]["ServiceID"].ToString();
                        user.Save();

                        eUser suser = new eUser("System");
                        suser["id"]     = tb.Rows[0]["UserID"].ToString();
                        suser["name"]   = tb.Rows[0]["YHM"].ToString();
                        suser["siteid"] = tb.Rows[0]["siteid"].ToString();
                        suser.Save();


                        eOleDB.Execute("update a_eke_sysUsers set LastLoginTime=isnull(LoginTime,getdate()) where UserID='" + tb.Rows[0]["UserID"].ToString() + "'");
                        eOleDB.Execute("update a_eke_sysUsers set LoginCount=LoginCount+1,LoginTime=getdate() where UserID='" + tb.Rows[0]["UserID"].ToString() + "'");

                        //用户登录日志
                        eTable etb = new eTable("a_eke_sysUserLog");
                        etb.Fields.Add("UserID", tb.Rows[0]["UserID"]);
                        etb.Fields.Add("Type", 1);
                        etb.Fields.Add("IP", eBase.getIP());
                        etb.Fields.Add("Area", "Manage");
                        etb.Add();

                        if (eParameters.QueryString("fromURL").Length > 0)
                        {
                            Response.Redirect(HttpUtility.UrlDecode(eParameters.QueryString("fromURL")), true);
                        }
                        else
                        {
                            Response.Redirect("Default.aspx", true);
                        }
                    }
                    else
                    {
                        Response.Write("<script>alert('登录信息不正确!');document.location='" + fromURL + "';</script>");
                        Response.End();
                    }
                }
            }
        }
Esempio n. 10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string accUrl = eConfig.getString("AccessorysURL");

            #region 安全性检查
            //1.WebAPI用户放行
            //2.同一来源放行
            //3.来源被授权时放行
            if (Request.Headers["auth"] != null) //WebAPI访问
            {
                string auth  = Request.Headers["auth"].ToString();
                eToken token = new eToken(auth);
                eUser  user  = new eUser(token);
            }
            else
            {
                if (Request.UrlReferrer == null) //无来源页面
                {
                    eJson ErrJson = new eJson();
                    ErrJson.Add("errcode", "1012");
                    ErrJson.Add("message", "访问未被许可!");
                    eBase.WriteJson(ErrJson);
                }
                else
                {
                    if (Request.Url.Host.ToLower() != Request.UrlReferrer.Host.ToLower() && accUrl.ToLower().IndexOf(Request.UrlReferrer.Host.ToLower()) == -1) //不是同一站点访问
                    {
                        DataRow[] rows = eBase.a_eke_sysAllowDomain.Select("Domain='" + Request.UrlReferrer.Host + "'");
                        if (rows.Length == 0)
                        {
                            eJson json = new eJson();
                            json.Add("domain", Request.UrlReferrer.Host);

                            eTable tb = new eTable("a_eke_sysErrors");
                            tb.Fields.Add("URL", Request.UrlReferrer.AbsoluteUri);
                            tb.Fields.Add("Message", "未授权访问!");
                            tb.Fields.Add("StackTrace", json.ToString());
                            tb.Add();

                            eJson ErrJson = new eJson();
                            ErrJson.Add("errcode", "1012");
                            ErrJson.Add("message", "访问未被许可!");
                            eBase.WriteJson(ErrJson);
                        }
                    }
                }
            }
            #endregion
            if (Request.UrlReferrer != null)
            {
                if (Request.UrlReferrer.Host.ToLower() != Request.Url.Host.ToLower())
                {
                    formhost = Request.UrlReferrer.Host.ToString();
                }
            }
            int PictureMaxWidth = 0;
            if (Request.QueryString["PictureMaxWidth"] != null)
            {
                PictureMaxWidth = Convert.ToInt32(Request.QueryString["PictureMaxWidth"]);
            }
            if (Request.QueryString["MaxWidth"] != null)
            {
                PictureMaxWidth = Convert.ToInt32(Request.QueryString["MaxWidth"]);
            }

            int ThumbWidth = 0;
            if (Request.QueryString["ThumbWidth"] != null)
            {
                ThumbWidth = Convert.ToInt32(Request.QueryString["ThumbWidth"]);
            }
            string dirpath = Server.MapPath("~/");
            #region 编辑器上传文件
            if (Request.QueryString["postdata"] != null)
            {
                string postdata = Request.QueryString["postdata"].ToString();
                postdata = HttpUtility.UrlDecode(postdata);
                postdata = postdata.Replace("0x2f", "/").Replace("0x2b", "+").Replace("0x20", " ");
                Response.Write(postdata);
                Response.End();
            }
            if (Request.QueryString["type"] != null)
            {
                #region 附件上传
                if (Request.QueryString["type"].ToLower() == "file")
                {
                    dirpath += "upload\\temp\\";
                    eJson json = new eJson();
                    json.Convert = true;
                    json.Add("errcode", "0");
                    json.Add("message", "请求成功!");


                    for (int i = 0; i < Request.Files.Count; i++)
                    {
                        HttpPostedFile f            = Request.Files[i];
                        int            pos          = f.FileName.LastIndexOf(".");
                        string         postFileName = f.FileName.Substring(pos, f.FileName.Length - pos).ToLower();

                        String fileExt  = Path.GetExtension(f.FileName).ToLower();
                        string filename = eBase.GetFileName() + postFileName;
                        string pathname = dirpath + filename;
                        while (File.Exists(pathname))
                        {
                            filename = eBase.GetFileName() + postFileName;
                            pathname = dirpath + filename;
                        }
                        if (!Directory.Exists(dirpath))
                        {
                            Directory.CreateDirectory(dirpath);
                        }
                        f.SaveAs(pathname);
                        eFileInfo finfo = new eFileInfo(filename);
                        filename = eBase.getBaseURL() + "upload/temp/" + filename;
                        eJson js = new eJson();
                        js.Add("name", f.FileName);
                        js.Add("url", filename);
                        json.Add("files", js);
                    }
                    // eBase.WriteJson(json);//IE解析有问题:文档的顶层无效
                    Response.Clear();
                    Response.Write(json.ToString());
                    Response.End();
                }
                #endregion
                #region 图片上传
                string allExt = ".gif.jpg.jpeg.bmp.png";
                if (Request.QueryString["type"].ToLower() == "image")
                {
                    if (Request.Files.Count == 0)
                    {
                        showError("请选择文件!");
                    }
                    dirpath += "upload\\temp\\";
                    #region bak

                    /*
                     * HttpPostedFile f = Request.Files["imgFile"];
                     * if (f == null) showError("请选择文件。");
                     * int pos = f.FileName.LastIndexOf(".");
                     * string postFileName = f.FileName.Substring(pos, f.FileName.Length - pos).ToLower();
                     *
                     * String fileExt = Path.GetExtension(f.FileName).ToLower();
                     * string filename = eBase.GetFileName() + postFileName;
                     * string pathname = dirpath + filename;
                     * while (File.Exists(pathname))
                     * {
                     *  filename = eBase.GetFileName() + postFileName;
                     *  pathname = dirpath + filename;
                     * }
                     * if (!Directory.Exists(dirpath)) Directory.CreateDirectory(dirpath);
                     * f.SaveAs(pathname);
                     *
                     * filename = ePicture.AutoHandle(pathname, PictureMaxWidth);
                     * //filename = "../upload/temp/" + filename;
                     * filename = eBase.getBaseURL() + "upload/temp/" + filename;
                     * //if (fileExt == ".bmp" || fileExt == ".tif" || fileExt == ".jpeg" || fileExt == ".png")
                     *
                     * eJson json = new eJson();
                     * json.Add("errcode", "0");
                     * json.Add("url", filename);
                     * eBase.WriteJson(json);
                     */
                    #endregion


                    eJson json = new eJson();
                    json.Convert = true;
                    json.Add("errcode", "0");
                    json.Add("message", "请求成功!");

                    //string filenames = "";
                    for (int i = 0; i < Request.Files.Count; i++)
                    {
                        HttpPostedFile f            = Request.Files[i];
                        int            pos          = f.FileName.LastIndexOf(".");
                        string         postFileName = f.FileName.Substring(pos, f.FileName.Length - pos).ToLower();

                        String fileExt  = Path.GetExtension(f.FileName).ToLower();
                        string filename = eBase.GetFileName() + postFileName;
                        string pathname = dirpath + filename;
                        while (File.Exists(pathname))
                        {
                            filename = eBase.GetFileName() + postFileName;
                            pathname = dirpath + filename;
                        }
                        if (!Directory.Exists(dirpath))
                        {
                            Directory.CreateDirectory(dirpath);
                        }
                        f.SaveAs(pathname);
                        filename = ePicture.AutoHandle(pathname, PictureMaxWidth);
                        eFileInfo finfo = new eFileInfo(filename);
                        #region 缩略图
                        if (ThumbWidth > 0 && allExt.IndexOf("." + finfo.Extension.ToLower()) > -1)
                        {
                            pathname = dirpath + filename;
                            eFileInfo fi            = new eFileInfo(dirpath + filename);
                            string    thumbpathname = dirpath + fi.Name + "_thumb." + fi.Extension;
                            System.IO.File.Copy(pathname, thumbpathname);
                            ePicture.ToWidth(thumbpathname, ThumbWidth);

                            filename = eBase.getBaseURL() + "upload/temp/" + fi.Name + "_thumb." + fi.Extension;
                        }
                        else
                        {
                            filename = eBase.getBaseURL() + "upload/temp/" + filename;
                        }
                        #endregion
                        #region 日志
                        if (writeLog)
                        {
                            eTable etb = new eTable("a_eke_sysErrors");
                            etb.Fields.Add("Message", "upload");
                            eJson _json = new eJson();
                            _json.Add("filename", f.FileName);
                            _json.Add("size", f.ContentLength.ToString());
                            _json.Add("path", "upload/" + string.Format("{0:yyyy/MM/dd}", DateTime.Now) + "/" + filename);
                            etb.Fields.Add("StackTrace", _json.ToString());
                            etb.Add();
                        }
                        #endregion

                        //if (filenames.Length > 0) filenames += ";";
                        //filenames += filename;
                        eJson js = new eJson();
                        js.Add("url", filename);
                        json.Add("files", js);
                    }

                    //json.Add("url", HttpUtility.UrlEncode(filenames));
                    if (Request.Url.Host.ToLower() != Request.UrlReferrer.Host.ToLower())
                    {
                        string postdata = json.ToString().Replace("/", "0x2f").Replace("+", "0x2b").Replace(" ", "0x20");
                        postdata = HttpUtility.UrlEncode(postdata);
                        Response.Redirect("http://" + Request.UrlReferrer.Host + "/Plugins/ProUpload.aspx?postdata=" + postdata, true);
                    }
                    else
                    {
                        //eBase.WriteJson(json); //IE解析有问题:文档的顶层无效
                        Response.Clear();
                        Response.Write(json.ToString());
                        Response.End();
                    }
                    Response.End();
                }
                #endregion
                #region Flash上传
                if (Request.QueryString["type"].ToLower() == "flash")
                {
                    HttpPostedFile f = Request.Files["flaFile"];
                    if (f == null)
                    {
                        showError("请选择文件。");
                    }
                    if (f.InputStream.Length == 0)
                    {
                        showError("请选择文件!");                          // showError(f.InputStream.Length.ToString());
                    }
                    dirpath += "upload\\temp\\";
                    int    pos          = f.FileName.LastIndexOf(".");
                    string postFileName = f.FileName.Substring(pos, f.FileName.Length - pos).ToLower();

                    String fileExt  = Path.GetExtension(f.FileName).ToLower();
                    string filename = eBase.GetFileName() + postFileName;
                    string pathname = dirpath + filename;
                    while (File.Exists(pathname))
                    {
                        filename = eBase.GetFileName() + postFileName;
                        pathname = dirpath + filename;
                    }
                    if (!Directory.Exists(dirpath))
                    {
                        Directory.CreateDirectory(dirpath);
                    }
                    f.SaveAs(pathname);

                    #region 日志
                    if (writeLog)
                    {
                        eTable etb = new eTable("a_eke_sysErrors");
                        etb.Fields.Add("Message", "upload");
                        eJson _json = new eJson();
                        _json.Add("filename", f.FileName);
                        _json.Add("size", f.ContentLength.ToString());
                        _json.Add("path", "upload/" + string.Format("{0:yyyy/MM/dd}", DateTime.Now) + "/" + filename);
                        etb.Fields.Add("StackTrace", _json.ToString());
                        etb.Add();
                    }
                    #endregion

                    //filename = ePicture.AutoHandle(pathname, PictureMaxWidth);
                    //filename = "../upload/temp/" + filename;
                    filename = eBase.getBaseURL() + "upload/temp/" + filename;
                    //if (fileExt == ".bmp" || fileExt == ".tif" || fileExt == ".jpeg" || fileExt == ".png")

                    string id = Request["id"].Trim();           //kindeditor控件的id
                    //string title = Path.GetFileName(fileName).Trim();   //文件名称(原名陈)
                    //string ext = fileExt.Substring(1).ToLower().Trim(); //文件后缀名

                    string w = Request["flaWidth"].Trim();
                    string h = Request["flaHeight"].Trim();
                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    Response.Charset = "UTF-8";
                    sb.Append("<html>");
                    sb.Append("<head>");
                    sb.Append("<title>Insert Flash</title>");
                    sb.Append("<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">");
                    sb.Append("</head>");
                    sb.Append("<body>");
                    sb.Append("<script type=\"text/javascript\">parent.KE.plugin[\"newflash\"].insert(\"" + id + "\", \"" + filename + "\",\"" + w + "\",\"" + h + "\");</script>");
                    sb.Append("</body>");
                    sb.Append("</html>");

                    if (Request.Url.Host.ToLower() != Request.UrlReferrer.Host.ToLower())
                    {
                        string postdata = "<script type=\"text/javascript\">parent.KE.plugin[\"newmedia\"].insert(\"" + id + "\", \"" + filename + "\",\"" + w + "\",\"" + h + "\");</script>";
                        postdata = postdata.Replace("/", "0x2f").Replace("+", "0x2b").Replace(" ", "0x20");
                        postdata = HttpUtility.UrlEncode(postdata);
                        Response.Redirect("http://" + Request.UrlReferrer.Host + "/Plugins/ProUpload.aspx?postdata=" + postdata, true);
                    }
                    else
                    {
                        Response.Write(sb.ToString());
                    }
                    Response.End();
                }
                #endregion
                #region 媒体上传
                if (Request.QueryString["type"].ToLower() == "media")
                {
                    HttpPostedFile f = Request.Files["flaFile"];
                    if (f == null)
                    {
                        showError("请选择文件。");
                    }
                    if (f.InputStream.Length == 0)
                    {
                        showError("请选择文件!");
                    }
                    dirpath += "upload\\temp\\";
                    int    pos          = f.FileName.LastIndexOf(".");
                    string postFileName = f.FileName.Substring(pos, f.FileName.Length - pos).ToLower();

                    String fileExt  = Path.GetExtension(f.FileName).ToLower();
                    string filename = eBase.GetFileName() + postFileName;
                    string pathname = dirpath + filename;
                    while (File.Exists(pathname))
                    {
                        filename = eBase.GetFileName() + postFileName;
                        pathname = dirpath + filename;
                    }
                    if (!Directory.Exists(dirpath))
                    {
                        Directory.CreateDirectory(dirpath);
                    }
                    f.SaveAs(pathname);

                    #region 日志
                    if (writeLog)
                    {
                        eTable etb = new eTable("a_eke_sysErrors");
                        etb.Fields.Add("Message", "upload");
                        eJson _json = new eJson();
                        _json.Add("filename", f.FileName);
                        _json.Add("size", f.ContentLength.ToString());
                        _json.Add("path", "upload/" + string.Format("{0:yyyy/MM/dd}", DateTime.Now) + "/" + filename);
                        etb.Fields.Add("StackTrace", _json.ToString());
                        etb.Add();
                    }
                    #endregion

                    //filename = ePicture.AutoHandle(pathname, PictureMaxWidth);
                    //filename = "../upload/temp/" + filename;
                    filename = eBase.getBaseURL() + "upload/temp/" + filename;
                    //if (fileExt == ".bmp" || fileExt == ".tif" || fileExt == ".jpeg" || fileExt == ".png")

                    string id = Request["id"].Trim();           //kindeditor控件的id
                    //string title = Path.GetFileName(fileName).Trim();   //文件名称(原名陈)
                    //string ext = fileExt.Substring(1).ToLower().Trim(); //文件后缀名

                    string w = Request["flaWidth"].Trim();
                    string h = Request["flaHeight"].Trim();
                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    Response.Charset = "UTF-8";
                    sb.Append("<html>");
                    sb.Append("<head>");
                    sb.Append("<title>Insert Media</title>");
                    sb.Append("<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">");
                    sb.Append("</head>");
                    sb.Append("<body>");
                    sb.Append("<script type=\"text/javascript\">parent.KE.plugin[\"newmedia\"].insert(\"" + id + "\", \"" + filename + "\",\"" + w + "\",\"" + h + "\");</script>");
                    sb.Append("</body>");
                    sb.Append("</html>");
                    Response.Write(sb.ToString());
                    Response.End();
                }
                #endregion
                #region 附件上传
                if (Request.QueryString["type"].ToLower() == "accessory")
                {
                    HttpPostedFile f = Request.Files["imgFile"];
                    if (f == null)
                    {
                        showError("请选择文件。");
                    }
                    if (f.InputStream.Length == 0)
                    {
                        showError("请选择文件!");
                    }
                    dirpath += "upload\\temp\\";
                    int    pos          = f.FileName.LastIndexOf(".");
                    string postFileName = f.FileName.Substring(pos, f.FileName.Length - pos).ToLower();

                    String fileExt  = Path.GetExtension(f.FileName).ToLower();
                    string filename = eBase.GetFileName() + postFileName;
                    string pathname = dirpath + filename;
                    while (File.Exists(pathname))
                    {
                        filename = eBase.GetFileName() + postFileName;
                        pathname = dirpath + filename;
                    }
                    if (!Directory.Exists(dirpath))
                    {
                        Directory.CreateDirectory(dirpath);
                    }
                    f.SaveAs(pathname);

                    #region 日志
                    if (writeLog)
                    {
                        eTable etb = new eTable("a_eke_sysErrors");
                        etb.Fields.Add("Message", "upload");
                        eJson _json = new eJson();
                        _json.Add("filename", f.FileName);
                        _json.Add("size", f.ContentLength.ToString());
                        _json.Add("path", "upload/" + string.Format("{0:yyyy/MM/dd}", DateTime.Now) + "/" + filename);
                        etb.Fields.Add("StackTrace", _json.ToString());
                        etb.Add();
                    }
                    #endregion


                    //filename = ePicture.AutoHandle(pathname, PictureMaxWidth);
                    //filename = "../upload/temp/" + filename;
                    filename = eBase.getBaseURL() + "upload/temp/" + filename;
                    //if (fileExt == ".bmp" || fileExt == ".tif" || fileExt == ".jpeg" || fileExt == ".png")

                    string id    = Request["id"].Trim();                  //kindeditor控件的id
                    string title = Path.GetFileName(filename).Trim();     //文件名称(原名陈)
                    string ext   = fileExt.Substring(1).ToLower().Trim(); //文件后缀名
                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    Response.Charset = "UTF-8";
                    sb.Append("<html>");
                    sb.Append("<head>");
                    sb.Append("<title>Insert Accessory</title>");
                    sb.Append("<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">");
                    sb.Append("</head>");
                    sb.Append("<body>");
                    sb.Append("<script type=\"text/javascript\">parent.KE.plugin[\"accessory\"].insert(\"" + id + "\", \"" + filename + "\",\"" + title + "\",\"" + ext + "\");</script>");
                    sb.Append("</body>");
                    sb.Append("</html>");

                    if (Request.Url.Host.ToLower() != Request.UrlReferrer.Host.ToLower())
                    {
                        string postdata = "<script type=\"text/javascript\">parent.KE.plugin[\"accessory\"].insert(\"" + id + "\", \"" + filename + "\",\"" + title + "\",\"" + ext + "\");</script>";
                        postdata = postdata.Replace("/", "0x2f").Replace("+", "0x2b").Replace(" ", "0x20");
                        postdata = HttpUtility.UrlEncode(postdata);
                        Response.Redirect("http://" + Request.UrlReferrer.Host + "/Plugins/ProUpload.aspx?postdata=" + postdata, true);
                    }
                    else
                    {
                        Response.Write(sb.ToString());
                    }
                    Response.End();
                }
                #endregion
            }
            #endregion
            if (Request.QueryString["act"] != null)
            {
                #region 获取大小
                if (Request.QueryString["act"].ToLower() == "getsize")
                {
                    string filename = Request.QueryString["file"].ToString();
                    int    ow       = 0;
                    int    oh       = 0;
                    if (filename.ToLower().IndexOf("http") > -1)
                    {
                        filename = filename.Replace(eBase.getBaseURL(), "");
                    }
                    string[] arr    = filename.Split(".".ToCharArray());
                    string   ext    = arr[arr.Length - 1].ToLower();
                    string   allExt = ".gif.jpg.jpeg.bmp.png";
                    if (allExt.IndexOf(ext) > -1)
                    {
                        filename = dirpath + filename.Replace("../", "").Replace("/", "\\");
                        if (System.IO.File.Exists(filename))
                        {
                            try
                            {
                                System.Drawing.Image img = System.Drawing.Image.FromFile(filename);
                                ow = img.Width;
                                oh = img.Height;
                                img.Dispose();
                            }
                            catch { }
                        }
                    }
                    eJson json = new eJson();
                    json.Add("width", ow.ToString());
                    json.Add("height", oh.ToString());
                    eBase.WriteJson(json);
                }
                #endregion
                #region  载网络文件
                if (Request.QueryString["act"].ToLower() == "down")
                {
                    string   file = Request.QueryString["file"].ToString();
                    string[] arr  = file.Split(".".ToCharArray());
                    string   ext  = "." + arr[arr.Length - 1];

                    string virtualDir = eConfig.UploadPath();
                    string basePath   = HttpContext.Current.Server.MapPath("~/");
                    basePath += virtualDir.Replace("/", "\\");
                    if (!Directory.Exists(basePath))
                    {
                        Directory.CreateDirectory(basePath);
                    }

                    string filename = eBase.GetFileName() + ext;
                    string savepath = basePath + filename;

                    eJson json = new eJson();
                    System.Net.WebClient wc = new System.Net.WebClient();
                    try
                    {
                        wc.DownloadFile(file, savepath);
                        wc.Dispose();
                        json.Add("url", eBase.getBaseURL() + virtualDir + filename);
                    }
                    catch
                    {
                        json.Add("url", file);
                    }

                    Response.AddHeader("Content-Type", "text/html; charset=UTF-8");
                    Response.Write(json.ToString());
                    Response.End();
                }
                #endregion
                #region  除正式文件
                if (Request.QueryString["act"].ToLower() == "deltrue")
                {
                    string filename = Request.QueryString["file"].ToString();
                    filename = Regex.Replace(filename, eBase.getBaseURL(), "", RegexOptions.IgnoreCase);
                    filename = dirpath + filename.Replace("../", "").Replace("/", "\\");
                    try
                    {
                        System.IO.File.Delete(filename);
                        System.IO.File.Delete(filename.Replace(".", "_sm."));
                    }
                    catch
                    {
                    }
                    Response.End();
                }
                #endregion
                #region 临时文件移动到正式文件夹下
                if (Request.QueryString["act"].ToLower() == "move")
                {
                    string file = Request.QueryString["file"].ToString();
                    file = Regex.Replace(file, eBase.getBaseURL(), "", RegexOptions.IgnoreCase);
                    string basePath = HttpContext.Current.Server.MapPath("~/");
                    string temppath = basePath + file.Replace("/", "\\");
                    eJson  json     = new eJson();
                    if (File.Exists(temppath) && file.ToLower().IndexOf("/temp/") > -1)
                    {
                        string[] arr        = temppath.Split("\\".ToCharArray());
                        string   filename   = arr[arr.Length - 1];
                        string   virtualDir = eConfig.UploadPath();
                        basePath += virtualDir.Replace("/", "\\");
                        if (!Directory.Exists(basePath))
                        {
                            Directory.CreateDirectory(basePath);
                        }
                        string newpath = basePath + filename;
                        File.Move(temppath, newpath);
                        //eBase.Writeln("newpath1:" + virtualDir + filename);
                        json.Add("url", eBase.getBaseURL() + virtualDir + filename);
                    }
                    else
                    {
                        json.Add("url", file);
                    }

                    Response.AddHeader("Content-Type", "text/html; charset=UTF-8");
                    Response.Write(json.ToString());
                    Response.End();
                }
                #endregion
                #region   完成
                if (Request.QueryString["act"].ToLower() == "finsh")
                {
                    if (Request.QueryString["sub"] != null)
                    {
                        Response.Write("<script>try{parent.document.getElementById('" + Request.QueryString["obj"].ToString() + "').value='" + Request.QueryString["file"].ToString() + "';}catch(e){}</script>");
                    }


                    Response.Write("<font color='#009900'>上传成功!</font><a style='line-height:22px;display:inline-block;margin-left:10px;margin-right:18px;text-decoration:none;' href='?act=del&obj=" + Request.QueryString["obj"].ToString() + "&PictureMaxWidth=" + PictureMaxWidth.ToString() + "&file=" + Request.QueryString["file"].ToString() + "' onclick='return del();'><font color='#FF0000'>删除重新上传?</font></a>");
                    string filename = Request.QueryString["file"].ToString();
                    if (filename.ToLower().IndexOf("http") > -1)
                    {
                        filename = filename.Replace(eBase.getBaseURL(), "");
                    }
                    string[] arr    = filename.Split(".".ToCharArray());
                    string   ext    = arr[arr.Length - 1].ToLower();
                    string   allExt = ".gif.jpg.jpeg.bmp.png";
                    //eBase.Write(allExt.IndexOf(ext).ToString());
                    if (allExt.IndexOf(ext) > -1)
                    {
                        int ow = 0;
                        int oh = 0;
                        if (Request.QueryString["ow"] != null)
                        {
                            ow = Convert.ToInt32(Request.QueryString["ow"].ToString());
                        }
                        if (Request.QueryString["oh"] != null)
                        {
                            oh = Convert.ToInt32(Request.QueryString["oh"].ToString());
                        }
                        filename = dirpath + filename.Replace("../", "").Replace("/", "\\");
                        if (System.IO.File.Exists(filename))
                        {
                            try
                            {
                                System.Drawing.Image img = System.Drawing.Image.FromFile(filename);
                                ow = img.Width;
                                oh = img.Height;
                                img.Dispose();
                            }
                            catch { }
                        }
                        else
                        {
                            if (accUrl.Length > 0)
                            {
                                string url    = accUrl + "Plugins/ProUpload.aspx?act=getsize&obj=" + Request.QueryString["obj"].ToString() + "&PictureMaxWidth=" + PictureMaxWidth.ToString() + "&file=" + Request.QueryString["file"].ToString();
                                string result = eBase.getRequest(url);
                                if (result.StartsWith("{"))
                                {
                                    eJson json = new eJson(result);
                                    ow = Convert.ToInt32(json.GetValue("width"));
                                    oh = Convert.ToInt32(json.GetValue("height"));
                                }
                            }
                        }
                        if (ow > 0)
                        {
                            Response.Write("<img src=\"" + eBase.getAbsolutePath() + "images/view.jpg\" width=\"12\" height=\"12\" style=\"cursor:pointer;\" alt=\"查看图片\" onclick=\"parent.viewImage('" + Request.QueryString["file"].ToString() + "'," + ow.ToString() + "," + oh.ToString() + ");\" align=\"absmiddle\" />");
                        }

                        /*
                         * else
                         * {
                         * ow = 400;
                         * oh = 300;
                         * Response.Write("<img src=\"" + eBase.getAbsolutePath() + "images/view.jpg\" width=\"12\" height=\"12\" style=\"cursor:pointer;\" alt=\"查看图片\" onclick=\"parent.viewImage('" + Request.QueryString["file"].ToString() + "'," + ow.ToString() + "," + oh.ToString() + ");\" align=\"absmiddle\" />");
                         * }
                         */
                    }
                }
                #endregion
                #region  除临时文件
                if (Request.QueryString["act"].ToLower() == "del")
                {
                    string filename = Request.QueryString["file"].ToString();
                    filename = Regex.Replace(filename, eBase.getBaseURL(), "", RegexOptions.IgnoreCase);
                    //filename = Server.MapPath(filename);
                    filename = dirpath + filename.Replace("../", "").Replace("/", "\\");


                    //只删除临时文件,防止删除正式文件且不保存。
                    if (filename.ToLower().IndexOf("\\temp\\") > -1 && filename.ToLower().IndexOf("http:") == -1)
                    {
                        //System.IO.File.Exists
                        try
                        {
                            System.IO.File.Delete(filename);
                            System.IO.File.Delete(filename.Replace(".", "_sm."));
                            System.IO.File.Delete(filename.Replace("_thumb", ""));
                        }
                        catch
                        {
                        }
                    }
                    if (filename.IndexOf("_thumb") > -1)
                    {
                        Response.End();
                    }
                    if (accUrl.Length > 0)
                    {
                        string url    = accUrl + "Plugins/ProUpload.aspx?act=del&obj=" + Request.QueryString["obj"].ToString() + "&PictureMaxWidth=" + PictureMaxWidth.ToString() + "&file=" + Request.QueryString["file"].ToString();
                        string result = eBase.getRequest(url);
                        Response.Write("<script>try{parent.document.getElementById('" + Request.QueryString["obj"].ToString() + "').value='';}catch(e){}\r\ndocument.location='" + accUrl + "Plugins/ProUpload.aspx?obj=" + Request.QueryString["obj"].ToString() + "&PictureMaxWidth=" + PictureMaxWidth.ToString() + "';</script>");
                    }
                    else
                    {
                        Response.Write("<script>try{parent.document.getElementById('" + Request.QueryString["obj"].ToString() + "').value='';}catch(e){}\r\ndocument.location='ProUpload.aspx?obj=" + Request.QueryString["obj"].ToString() + "&PictureMaxWidth=" + PictureMaxWidth.ToString() + "';</script>");
                    }
                    Response.End();
                }
                #endregion
            }
            if (Request.Form["act"] != null)
            {
                #region 保存文件
                HttpPostedFile f = imgFile.PostedFile;
                if (f.ContentLength > 0)
                {
                    dirpath += "upload\\temp\\";
                    int    pos          = f.FileName.LastIndexOf(".");
                    string postFileName = f.FileName.Substring(pos, f.FileName.Length - pos).ToLower();
                    //if (postFileName.IndexOf(".mp4") > -1) postFileName = ".webm";
                    if (1 == 1)//if (".gif.jpg.bmp.flv".IndexOf(postFileName) > -1)
                    {
                        string filename = eBase.GetFileName() + postFileName;
                        string pathname = dirpath + filename;
                        while (File.Exists(pathname))
                        {
                            filename = eBase.GetFileName() + postFileName;
                            pathname = dirpath + filename;
                        }
                        if (!Directory.Exists(dirpath))
                        {
                            Directory.CreateDirectory(dirpath);
                        }
                        f.SaveAs(pathname);

                        filename = ePicture.AutoHandle(pathname, PictureMaxWidth);
                        int    ow     = 0;
                        int    oh     = 0;
                        string allExt = ".gif.jpg.jpeg.bmp.png";
                        if (allExt.IndexOf(postFileName.ToLower()) > -1)
                        {
                            try
                            {
                                System.Drawing.Image img = System.Drawing.Image.FromFile(pathname);
                                ow = img.Width;
                                oh = img.Height;
                                img.Dispose();
                            }
                            catch { }
                        }
                        #region 日志
                        if (writeLog)
                        {
                            eTable etb = new eTable("a_eke_sysErrors");
                            etb.Fields.Add("Message", "upload");
                            eJson _json = new eJson();
                            _json.Add("filename", f.FileName);
                            _json.Add("size", f.ContentLength.ToString());
                            _json.Add("path", "upload/" + string.Format("{0:yyyy/MM/dd}", DateTime.Now) + "/" + filename);
                            etb.Fields.Add("StackTrace", _json.ToString());
                            etb.Add();
                        }
                        #endregion

                        //filename = "../upload/temp/" + filename;
                        filename = eBase.getBaseURL() + "upload/temp/" + filename;
                        // OleDB.Execute("insert into a_eke_sysTemp (uid,path) values ('" + SystemClass.getAdminID() + "','" + filename.Replace("../", "") + "')");

                        if (Request.Form["formhost"].ToString().Length > 0)
                        {
                            Response.Redirect("http://" + Request.Form["formhost"].ToString() + "/Plugins/ProUpload.aspx?act=finsh&sub=true&obj=" + Request.QueryString["obj"].ToString() + "&PictureMaxWidth=" + PictureMaxWidth.ToString() + "&file=" + filename + "&ow=" + ow.ToString() + "&oh=" + oh.ToString(), true);
                        }
                        else
                        {
                            Response.Write("<script>try{eval(\"parent.document.getElementById('" + Request.QueryString["obj"].ToString() + "').value='" + filename + "';\")}catch(e){}</script>");
                            Response.Write("<script>document.location='?act=finsh&obj=" + Request.QueryString["obj"].ToString() + "&PictureMaxWidth=" + PictureMaxWidth.ToString() + "&file=" + filename + "';</script>");
                        }
                        Response.End();
                    }

                    /*
                     * else
                     * {
                     * Response.Write("<script>alert('不支持的文件类型!');document.location='?obj=" + Request.QueryString["obj"].ToString() + "';</script>");
                     * Response.End();
                     * }
                     */
                }
                #endregion
            }
        }
 void AddTable <Tb>(eTable a_eTb, System.Action <bool> a_refRequestCallback, System.Action <string> a_refReadLineCallback) where Tb : new()
 {
     m_mapDownloadList.Add(typeof(Tb), new Tuple <eTable, object, System.Action <bool>, System.Action <string> >(a_eTb, new Tb(), a_refRequestCallback, a_refReadLineCallback));
 }
Esempio n. 12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Type type = HttpContext.Current.Handler.GetType();//CurrentHandler

            System.Reflection.FieldInfo fi = type.GetField("UserArea");
            if (fi != null)
            {
                UserArea = fi.GetValue(Activator.CreateInstance(type)).ToString();
            }

            act = eParameters.QueryString("act");
            if (act.Length == 0)
            {
                act = eParameters.Request("act").ToLower();
            }

            if (act.Length == 0)
            {
                return;
            }
            parentID = eParameters.QueryString("id");
            eUser  user = new eUser(UserArea);
            eTable etb;

            switch (act)
            {
            case "save":
                #region 保存
                string jsonstr = eParameters.Form("eformdata_" + parentModelID);
                eJson  json    = new eJson(jsonstr);
                json.Convert = true;
                json         = json.GetCollection("eformdata_" + parentModelID).GetCollection()[0];

                json = json.GetCollection("eformdata_" + modelid);
                foreach (eJson jrow in json.GetCollection())
                {
                    string _ID     = jrow.GetValue("ID");
                    string _Delete = jrow.GetValue("Delete");

                    string _xm = jrow.GetValue("m2_f1");
                    string _xb = jrow.GetValue("m2_f2");
                    string _dh = jrow.GetValue("m2_f3");
                    etb = new eTable("Demo_Customs_PartMore", user);
                    if (_Delete.ToLower() == "true")
                    {
                        etb.Where.Add("PartMoreID='" + _ID + "'");
                        etb.Delete();
                    }
                    else
                    {
                        etb.Fields.Add("XM", _xm);
                        etb.Fields.Add("XB", _xb);
                        etb.Fields.Add("DH", _dh);
                        if (_ID.Length == 0)     //添加
                        {
                            etb.Fields.Add("CustomID", parentID);
                            etb.Add();
                        }
                        else     //修改
                        {
                            etb.Where.Add("PartMoreID='" + _ID + "'");
                            etb.Update();
                        }
                    }
                }
                #endregion
                break;

            case "del":
                etb = new eTable("Demo_Customs_PartMore", user);
                etb.Where.Add("CustomID='" + parentID + "'");
                etb.Delete();
                break;
            }
        }
Esempio n. 13
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Type type = HttpContext.Current.Handler.GetType();//CurrentHandler

            System.Reflection.FieldInfo fi = type.GetField("UserArea");
            if (fi != null)
            {
                UserArea = fi.GetValue(Activator.CreateInstance(type)).ToString();
            }

            act = eParameters.QueryString("act");
            if (act.Length == 0)
            {
                act = eParameters.Request("act").ToLower();
            }
            if (act.Length == 0)
            {
                return;
            }
            parentID = eParameters.QueryString("id");

            eUser user = new eUser(UserArea);

            eform = new eForm("Demo_Accessorys", user);
            eform.AutoRedirect = false; //子模块,记得要关闭自动跳转
            eform.AddControl(eFormControlGroup);
            switch (act)
            {
            case "save":
                #region 保存
                string json   = eParameters.Form("eformdata_" + parentModelID);
                eJson  jmodel = new eJson(json);
                jmodel.Convert = true;
                jmodel         = jmodel.GetCollection("eformdata_" + parentModelID);
                eJson jrow = jmodel.Collection[0];

                string tmp = jrow.GetValue("id");
                if (tmp.Length > 0)
                {
                    parentID = tmp;
                }
                string id = eOleDB.getValue("select AccessoryID from Demo_Accessorys where DemoID='" + parentID + "' and delTag=0");
                if (id.Length > 0)
                {
                    eform.ID = id;
                }

                ma_f1.Value = jrow.GetValue("ma_f1");
                ma_f2.Value = jrow.GetValue("ma_f2");
                ma_f3.Value = jrow.GetValue("ma_f3");

                if (id.Length == 0)
                {
                    eform.Fields.Add("DemoID", parentID);
                    eform.Add();
                }
                else
                {
                    eform.Update();
                }
                #endregion
                break;

            case "del":
                eTable etb = new eTable("Demo_Accessorys", user);
                etb.Where.Add("DemoID='" + parentID + "'");
                etb.Delete();
                break;

            default:
                #region 读取Json
                string    accUrl      = eConfig.getString("AccessorysURL");
                string    virtualPath = eBase.getVirtualPath();
                DataTable dt          = eOleDB.getDataTable("select sfz,fkb,byz from Demo_Accessorys where DemoID='" + parentID + "' and delTag=0");
                if (dt.Rows.Count > 0)
                {
                    string basepath = accUrl.Length > 0 ? accUrl : virtualPath;

                    if (act == "view" && dt.Rows[0]["sfz"].ToString().Length > 0)
                    {
                        dt.Rows[0]["sfz"] = basepath + dt.Rows[0]["sfz"].ToString();
                    }
                    if (act == "view" && dt.Rows[0]["fkb"].ToString().Length > 0)
                    {
                        dt.Rows[0]["fkb"] = basepath + dt.Rows[0]["fkb"].ToString();
                    }
                    if (act == "view" && dt.Rows[0]["byz"].ToString().Length > 0)
                    {
                        dt.Rows[0]["byz"] = basepath + dt.Rows[0]["byz"].ToString();
                    }

                    eform.Data = dt.Rows[0];


                    ma_f1.Value = dt.Rows[0]["sfz"].ToString();
                    ma_f2.Value = dt.Rows[0]["fkb"].ToString();
                    ma_f3.Value = dt.Rows[0]["byz"].ToString();

                    sfz = basepath + dt.Rows[0]["sfz"].ToString();
                    fkb = basepath + dt.Rows[0]["fkb"].ToString();
                    byz = basepath + dt.Rows[0]["byz"].ToString();
                }
                #endregion
                break;
            }
        }
Esempio n. 14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string auth = "";

            if (1 == 1)
            {
                if (Request.Headers["auth"] == null)
                {
                    eJson ErrJson = new eJson();
                    ErrJson.Add("errcode", "1");
                    ErrJson.Add("message", "未携带eToKen");
                    eBase.WriteJson(ErrJson);
                }
                auth = Request.Headers["auth"].ToString();

                #region 日志
                if (1 == 1)
                {
                    eTable etb = new eTable("a_eke_sysErrors");
                    etb.Fields.Add("Message", "auth");
                    etb.Fields.Add("StackTrace", auth);
                    etb.Add();
                }
                #endregion
            }
            else
            {
                auth = "06841095ADDB705B76053D24C19BF707ED46C19D50CD552953B29A5B52A40AAD35CD1D9B25C640205D2767CA2C4A97F0A2B98CC48242454E00040655734261D6BFBE7CED29CA8AF766721AEA61ED411113CA840E5959FBCC0002BAB64731467E8705BAB1267CE992C2785DAE905F84C8B54C352C3D87C5D20D2C09DE7DC3F542E2AC6A66D8D1021E4E58051851C86871";
            }



            eToken token = new eToken(auth);
            eUser  user  = new eUser(token);

            eModel model = new eModel(ModelID, user);

            model.Ajax = true;
            model.Mode = "WebAPI";
            switch (model.Action.Value)
            {
            case "":
                model.WebAPIList();
                break;

            case "edit":
                model.WebAPIEdit();
                break;

            case "view":
                model.WebAPIView();
                break;

            case "save":
                model.WebAPISave();
                break;

            case "del":
                model.WebAPIDelete();
                break;
            }
            eBase.End();
        }
Esempio n. 15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            eUser user = new eUser(UserArea);

            model = new eModel(ModelID, user);
            //model.Ajax = true; //默认为false

            switch (model.Action.Value)
            {
            case "delmore":     //批量删除
                string ids = eParameters.QueryString("ids");
                ids = "'" + ids.Replace(",", "','") + "'";
                eTable etb = new eTable(model.eForm.TableName, user);
                etb.Where.Add(model.eForm.primaryKey + " in (" + ids + ")");
                etb.DeleteTrue();
                Response.Redirect(Request.UrlReferrer.PathAndQuery, true);
                break;

            case "":
                LitBody.Text = model.getListHTML();
                break;

            case "add":
                LitBody.Text = model.getAddHTML();
                break;

            case "edit":
                LitBody.Text = model.getEditHTML();
                break;

            case "copy":
                LitBody.Text = model.getEditHTML();
                break;

            case "view":
                LitBody.Text = model.getViewHTML();
                break;

            case "print":
                eBase.Write(model.getPrintHTML());
                eBase.End();
                break;

            case "save":
                model.Save();
                break;

            case "del":
                model.Delete();
                break;

            case "addsub":
                eBase.Write(model.getAddHTML());
                eBase.End();
                break;

            case "viewsub":
                eBase.Write(model.getViewHTML());
                eBase.End();
                break;

            case "export":
                model.ExportExcel();
                break;

            case "getrole":
                string    roleid    = eParameters.QueryString("roleid");
                DataTable rolePower = eBase.getUserPowerDefault(roleid, "", "");
                eJson     json      = new eJson(rolePower);
                json.Convert = true;
                eBase.Write(json.ToString());
                Response.End();
                break;
            }
        }
Esempio n. 16
0
 public void Req(string sKey, eTable eVal, TableWWW a_refWWW, Action <bool> a_refCallback)
 {
     a_refWWW.Req <Tb>(sKey, int.Parse(eVal.ToDesc()), m_liTable, a_refCallback);
 }
Esempio n. 17
0
        protected void Page_Load(object sender, EventArgs e)
        {
            DataTable tb;
            eJson     ErrJson;
            string    sql = "";

            #region 帐号密码登录
            if (Request.Form["username"] != null)
            {
                ErrJson = new eJson();
                sql     = "Select top 1 * From a_eke_sysUsers Where delTag=0 and YHM='" + Request.Form["username"].ToString() + "'"; // and Active=1
                tb      = eOleDB.getDataTable(sql);

                if (tb.Rows.Count == 0)
                {
                    ErrJson.Add("errcode", "1005");
                    ErrJson.Add("message", "登录信息有误!");
                    eBase.WriteJson(ErrJson);
                }
                else
                {
                    #region 禁用处理
                    if (tb.Rows[0]["Active"].ToString().ToLower() == "false")
                    {
                        ErrJson.Add("errcode", "1014");
                        ErrJson.Add("message", "该用户已被禁用!");
                        eBase.WriteJson(ErrJson);
                    }
                    #endregion
                    if (eBase.GetMD5(Request.Form["password"].ToString(), 16) == tb.Rows[0]["mm"].ToString())
                    {
                        eToken token = new eToken();
                        token.Exp = 7 * 24 * 60 * 60; //默认为30分钟,根据实际需要修改。单位:秒。 当前为1天,60分钟*60秒 为一小时
                        token.Add("id", tb.Rows[0]["UserID"].ToString());
                        //token.Add("nickname", tb.Rows[0]["nickname"].ToString());

                        string tokenString = token.Create();
                        eJson  json        = new eJson();
                        json.Add("errcode", "0");
                        json.Add("message", "请求成功!");
                        json.Add("token", tokenString);


                        #region 日志
                        if (1 == 1)
                        {
                            eTable etb = new eTable("a_eke_sysErrors");
                            etb.Fields.Add("Message", "getToken");
                            etb.Fields.Add("StackTrace", tokenString);
                            etb.Add();
                        }
                        #endregion

                        sql  = "if exists (select * from a_eke_sysToKens Where UserID='" + tb.Rows[0]["UserID"].ToString() + "')";
                        sql += "update a_eke_sysToKens set ExpireDate='" + token.ExpireDate.ToString() + "' where  UserID='" + tb.Rows[0]["UserID"].ToString() + "'";
                        sql += " else ";
                        sql += "insert into a_eke_sysToKens (UserID,ExpireDate) ";
                        sql += " values ('" + tb.Rows[0]["UserID"].ToString() + "','" + token.ExpireDate.ToString() + "')";
                        eOleDB.Execute(sql);
                        eBase.WriteJson(json);
                    }
                    else
                    {
                        ErrJson.Add("errcode", "1005");
                        ErrJson.Add("message", "登录信息有误!");
                        eBase.WriteJson(ErrJson);
                    }
                }
            }
            #endregion
            #region 微信小程序登录
            if (Request.Form["code"] != null)
            {
                ErrJson = new eJson();

                string code   = Request["code"].ToString();
                string url    = string.Format("https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code", "dmConfig.GetAppID()", "dmConfig.GetAppSecret()", code);
                string result = eBase.getRequest(url);
                eJson  _json  = new eJson(result);
                string openid = _json.GetValue("openid");

                sql = "Select top 1 * From a_eke_sysUsers Where delTag=0 and openid='" + openid + "'";
                tb  = eOleDB.getDataTable(sql);
                eToken token = new eToken();
                if (tb.Rows.Count == 0)
                {
                    eTable etb = new eTable("a_eke_sysUsers");
                    etb.Fields.Add("openid", openid);
                    etb.Fields.Add("nickname", Request.Form["nickname"].ToString());
                    etb.Fields.Add("sex", Request.Form["gender"].ToString());
                    etb.Fields.Add("headimgurl", Request.Form["avatarUrl"].ToString());
                    etb.Fields.Add("country", Request.Form["country"].ToString());
                    etb.Fields.Add("province", Request.Form["province"].ToString());
                    etb.Fields.Add("city", Request.Form["city"].ToString());
                    etb.Add();

                    token.Add("id", etb.ID.ToLower());
                    token.Add("nickname", Request.Form["nickname"].ToString());
                }
                else
                {
                    token.Add("id", tb.Rows[0]["UserID"].ToString());
                    token.Add("nickname", tb.Rows[0]["nickname"].ToString());
                }



                ErrJson.Add("errcode", "0");
                ErrJson.Add("message", "登录成功!");
                ErrJson.Add("token", token.Create());
                eBase.WriteJson(ErrJson);
            }
            #endregion
            Response.End();
        }
Esempio n. 18
0
        public override void Open()
        {
            eTable table = new eTable(file.FullName);

            table.Show();
        }
Esempio n. 19
0
 public void LocalReq(string sKey, eTable eVal, Action <bool> a_refCallback)
 {
     TableWWW.LocalReq <Tb>(sKey, int.Parse(eVal.ToDesc()), m_liTable, a_refCallback);
 }