Example #1
0
        public int Rint_Para(string para)
        {
            string key = "&" + CurrentPage.PageParameter;

            key = RegexTool.GetRegValue(key, @"&(.*?)=\{" + para + @"\}");
            return(Rint(key));
        }
Example #2
0
        public bool CheckServer()
        {
            string sql = System.Configuration.ConfigurationManager.ConnectionStrings["constr"].ToString();

            sql = RegexTool.GetRegValue(sql, "data source=(.*?);");
            if (sql == ".")
            {
                sql = "localhost";
            }
            sql = sql.Replace(@"\", "/");
            if (sql.Contains("/"))
            {
                sql = sql.Substring(0, sql.IndexOf("/"));
            }
            IPAddress[] IPs         = Dns.GetHostAddresses(sql);
            string      webserverip = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList[0].ToString();
            bool        res         = false;

            foreach (IPAddress ip in IPs)
            {
                if (ip.ToString().Trim() == webserverip.Trim())
                {
                    res = true;
                }
            }
            return(res);
        }
Example #3
0
 /// <summary>
 /// 商品分类查询页面-根据筛选规格返回查询参数
 /// </summary>
 /// <param name="sel"></param>
 /// <returns></returns>
 public string Categorywhere(string sel)
 {
     if (sel == "")
     {
         return("1=1");
     }
     string where = "";
     string[] arr = sel.Split('$');
     for (int i = 0; i < arr.Length; i++)
     {
         int    id  = 0;
         string id_ = RegexTool.GetRegValue(arr[i], @"[\d]*\|([\d]*)");
         int.TryParse(id_, out id);
         if (id > 0)
         {
             if (where == "")
             {
                 where = " ProPerty132 like '%" + id + "%'";
             }
             else
             {
                 where += " and ProPerty132 like '%" + id + "%'";
             }
         }
     }
     if (where == "")
     {
         where = "1=1";
     }
     return(where);
 }
Example #4
0
        /// <summary>
        /// id=1&pid=1 转化为 Page_{id}_{pid}.html 形式
        /// </summary>
        /// <param name="ParaStr">参数字符串</param>
        /// <param name="FormatStr">格式字符串</param>
        /// <returns></returns>
        public static string StaticUrl(string ParaStr, string FormatStr)
        {
            ParaStr = ("&" + ParaStr + "&").ToLower();
            string str = FormatStr.ToLower();//小写

            string[,] Arry = RegexTool.GetRegResultArray(str, @"{(.*?)}");
            for (int i = 0; i < Arry.GetUpperBound(0); i++)
            {
                string d = RegexTool.GetRegValue(ParaStr, @"&" + Arry[i, 1] + "=(.*?)&");
                str = str.Replace("{" + Arry[i, 1] + "}", d);
            }
            return(str);
        }
Example #5
0
        /// <summary>
        /// 取得一个文件内的备注
        /// </summary>
        /// <param name="theme"></param>
        /// <param name="skin"></param>
        /// <returns></returns>
        private string GetRemark(string filename)
        {
            string str  = "";
            string path = "/theme/system/" + filename;

            str = HtmlEngine.ReadTxt(path);
            if (str.IndexOf("<!--") == 0)
            {
                str = RegexTool.GetRegValue(str, @"<!--(.*?)-->");
                str = str.Trim() + "\r\n";
                //str = str.Replace("\r\n","");
            }
            else
            {
                str = "";
            }
            return(str);
        }
Example #6
0
        /// <summary>
        /// 将 取值部分 替换model.形式
        /// 字段名替换
        /// </summary>
        /// <returns></returns>
        private static string ReplaceModel(string strIn, string mod)
        {
            //字段名替换
            //@id@ ==》model.id
            //$id$ ==》<%=model.id%>
            //@i@ ==》model_index
            //$i$ ==》<%=model_index%>
            string str      = strIn;
            string temp     = "";
            string temp_key = "";
            string key      = "";
            string key_     = "";

            str = str.Replace("{i}", mod + "_index");
            str = str.Replace("{%i%}", "<%=" + mod + "_index%>");
            str = str.Replace("{I}", mod + "_index");
            str = str.Replace("{%I%}", "<%=" + mod + "_index%>");
            Regex           r  = new Regex(@"{[\w]*}|{%[\w]*%}", RegexOptions.Singleline);
            MatchCollection mc = r.Matches(str);

            foreach (Match m in mc)
            {
                temp     = m.Value;
                temp_key = "";
                key_     = RegexTool.GetRegValue(temp, @"({%[\w]*%})");
                key      = RegexTool.GetRegValue(temp, @"{%([\w]*)%}");
                if (key_ != "")
                {
                    //temp_key = temp.Replace(key_, mod + "." + key);
                    temp_key = temp.Replace(key_, "<%=" + mod + "." + key + "%>");
                }
                else
                {
                    key_ = RegexTool.GetRegValue(temp, @"({[\w]*})");
                    key  = RegexTool.GetRegValue(temp, @"{([\w]*)}");
                    if (key_ != "")
                    {
                        temp_key = temp.Replace(key_, mod + "." + key);
                    }
                }
                str = str.Replace(temp, temp_key);
            }
            return(str);
        }
Example #7
0
        /// <summary>
        /// 文字内容里面的图片处理
        /// </summary>
        /// <param name="str"></param>
        /// <param name="IsLazyLoad"></param>
        /// <returns></returns>
        public string ContentImage(string str, int IsLazyLoad = 0)
        {
            string[] imgs = RegexTool.GetSimpleRegResultArray(str, @"(<[Ii][Mm][Gg].*?>)");
            string   temp = "";

            foreach (string img in imgs)
            {
                temp = img;
                temp = temp.Replace("'", "\"").Replace(" ", "");
                temp = RegexTool.GetRegValue(img, "[Ss][Rr][Cc]=\"(.*?)\"");
                if (IsLazyLoad == 1)
                {
                    str = str.Replace(img, "<img class=\"contentlazy\" data-original=\"" + Image(temp) + "\"/>");
                }
                else
                {
                    str = str.Replace(img, "<img src=\"" + Image(temp) + "\"/>");
                }
            }
            return(str);
        }
Example #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            conekta.Api.version = "2.0.0";
            int        order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order order    = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            //SystemLog.Add("订单:" + order.Code + "-" + CurrentSite.id + "--" + CurrentLanguage.id);
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "conekta");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            conekta.Api.apiKey = pay.UserKey;
            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }

            B_Lebi_Order.Update(order);
            if (order.weixin_prepay_id.Contains("oxxopay"))
            {
                //"oxxopay:" + JsonConvert.SerializeObject(jo) + ";";
                string oxxo = RegexTool.GetRegValue(order.weixin_prepay_id, "oxxopay:(.*?)};") + "}";
                try
                {
                    JObject jo = (JObject)JsonConvert.DeserializeObject(oxxo);
                    reference = jo["reference"].ToString();
                    money     = jo["money"].ToString();
                }
                catch (Exception ex)
                {
                    //Response.Write(ex.ToString());
                }
            }
            else
            {
            }

            if (money == order.Money_Pay.ToString())
            {
                return;
            }
            money = order.Money_Pay.ToString();
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);
            BaseConfig    SYS      = ShopCache.GetBaseConfig();

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();
            ////////////////////////////////////////////请求参数////////////////////////////////////////////


            //页面跳转同步通知页面路径
            string return_url = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/conektapay/return_url.aspx";
            //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/

            //卖家支付宝帐户
            string seller_email = pay.Email;
            //必填

            //商户订单号
            string out_trade_no = order.Code;
            //商户网站订单系统中唯一订单号,必填

            //订单名称
            string subject = order.Code;
            //必填

            //付款金额
            string total_fee = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100)) * 100).ToString("f0");

            //必填

            try
            {
                string ostring = @"{
                    ""line_items"": [{
                        ""name"": ""ordercode_{ordercode}"",
                        ""unit_price"": {money},
                        ""quantity"": 1
                    }],
                    ""shipping_lines"": [{
                        ""amount"": 0,
                        ""carrier"": ""xxxxxx""
                    }], //shipping_lines - physical goods only
                    ""currency"": ""MXN"",
                    ""customer_info"": {
                      ""name"": ""{u_name}"",
                      ""email"": ""{u_email}"",
                      ""phone"": ""{u_phone}""
                    },
                    ""shipping_contact"":{
                       ""address"": {
                         ""street1"": ""xxx xxx"",
                         ""postal_code"": ""06100"",
                         ""country"": ""MX""
                       }
                    }, //required only for physical goods
                    ""charges"":[{
                      ""payment_method"": {
                        ""type"": ""oxxo_cash""
                      }
                    }]
               }";

                ostring = ostring.Replace("{ordercode}", order.Code);
                ostring = ostring.Replace("{money}", total_fee);
                ostring = ostring.Replace("{u_name}", order.User_UserName);
                ostring = ostring.Replace("{u_email}", order.T_Email);
                ostring = ostring.Replace("{u_phone}", order.T_MobilePhone);
                ostring = ostring.Replace("{t_name}", order.T_Name);

                conekta.Order order1 = new conekta.Order().create(ostring);


                //ostring = string.Format(ostring, order.Code, total_fee, order.T_Name, order.T_Email, order.T_MobilePhone);
                //conekta.Order corder = new conekta.Order().create(ostring);
                //Response.Write("ID: " + order1.id);
                //Response.Write("ID111: " + order1.charges.toJSON());

                //ID: ord_2jDzPMV51K1i9z9Ti
                //ID111: { "has_more":false,"data":[{"id":"5b91d84aedbb6e28f3ef1639","livemode":false,"created_at":1536284746,"currency":"MXN","payment_method":{"service_name":"OxxoPay","barcode_url":"https://s3.amazonaws.com/cash_payment_barcodes/sandbox_reference.png","object":"cash_payment","type":"oxxo","expires_at":1538870400,"store_name":"OXXO","reference":"98000000140098"},"object":"charge","description":"Payment from order","status":"pending_payment","amount":13500,"fee":549,"customer_id":"","order_id":"ord_2jDzPMV51K1i9z9Ti"}],"_type":"conekta.Charge, conekta, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"}


                //Response.Write("Payment Method: " + order1.charges[0].payment_method.service_name);
                //Response.Write("Reference: " + order1.charges[0].payment_method.reference);
                //Response.Write("$" + (order1.amount / 100) + order1.currency);
                //Response.Write("Order");
                //Response.Write(order1.line_items[0].quantity + " - "
                //            + order1.line_items[0].name + " - "
                //            + (order1.line_items.unit_price / 100));
                reference            = RegexTool.GetRegValue(order1.charges.toJSON(), "\"reference\":\"(\\d+)\"");
                order.OnlinePay_Code = order1.id;
                JObject jo = new JObject();
                jo["reference"]        = reference;
                jo["money"]            = money;
                order.weixin_prepay_id = "oxxopay:" + JsonConvert.SerializeObject(jo) + ";";
                B_Lebi_Order.Update(order);
            }
            catch (ConektaException ex)
            {
                foreach (JObject obj in ex.details)
                {
                    Response.Write("message:\t" + obj.GetValue("message") + "___" + "debug:\t" + obj.GetValue("debug_message") + "___" + "code:\t" + obj.GetValue("code"));
                    Response.End();
                    SystemLog.Add("message:\t" + obj.GetValue("message") + "___" + "debug:\t" + obj.GetValue("debug_message") + "___" + "code:\t" + obj.GetValue("code"));
                    //System.Console.WriteLine("\n [ERROR]:\n");
                    //System.Console.WriteLine("message:\t" + obj.GetValue("message"));
                    //System.Console.WriteLine("debug:\t" + obj.GetValue("debug_message"));
                    //System.Console.WriteLine("code:\t" + obj.GetValue("code"));
                }
            }
        }
Example #9
0
        public string Login(string back, int IsLogin = 1, int DT_id = 0)
        {
            string code = RequestTool.RequestString("code");

            if (code != "")
            {
                try
                {
                    StringBuilder sb = new StringBuilder();
                    sb.Append("?grant_type=authorization_code");
                    sb.Append("&client_id=" + appid);
                    sb.Append("&client_secret=" + appkey);
                    sb.Append("&code=" + code);
                    string uri = reurnurl + "?backurl=" + back;
                    uri = System.Web.HttpUtility.UrlEncode(uri);
                    sb.Append("&redirect_uri=" + uri);
                    string res = API("oauth2.0/token", sb.ToString());
                    res = res + "&";
                    string access_token = RegexTool.GetRegValue(res, "access_token=(.*?)&");

                    //获取openid
                    sb = new StringBuilder();
                    sb.Append("?access_token=" + access_token);
                    res = API("oauth2.0/me", sb.ToString());
                    string openid = RegexTool.GetRegValue(res, "openid\":\"(.*?)\"}");

                    //获取用户资料
                    sb = new StringBuilder();
                    sb.Append("?access_token=" + access_token);
                    sb.Append("&oauth_consumer_key=" + appid);
                    sb.Append("&openid=" + openid);
                    res = API("user/get_user_info", sb.ToString());

                    JavaScriptSerializer jss   = new JavaScriptSerializer();
                    Model.QQ.userinfo    model = jss.Deserialize <Model.QQ.userinfo>(res);
                    string where = "bind_qq_id='" + openid + "'";
                    //if (DT_id > 0)
                    //{
                    //    where += " and DT_id =" + DT_id + "";
                    //}
                    Lebi_User user        = B_Lebi_User.GetModel(where);
                    Lebi_User CurrentUser = EX_User.CurrentUser();
                    if (CurrentUser.id > 0)//已经登录
                    {
                        if (IsLogin == 0)
                        {
                            if (user != null)
                            {
                                if (CurrentUser.id != user.id)
                                {
                                    return("已绑定其它帐号");
                                }
                            }
                        }
                        CurrentUser.bind_qq_id       = openid;
                        CurrentUser.bind_qq_nickname = model.nickname;
                        CurrentUser.bind_qq_token    = access_token;
                        if (CurrentUser.Face == "")
                        {
                            CurrentUser.Face = model.figureurl_qq_1;//头像
                        }
                        CurrentUser.DT_id = DT_id;
                        B_Lebi_User.Update(CurrentUser);
                    }
                    else
                    {
                        if (user == null)
                        {
                            Lebi_UserLevel defaultlevel = B_Lebi_UserLevel.GetModel("Grade>0 order by Grade asc");
                            if (defaultlevel == null)
                            {
                                defaultlevel = new Lebi_UserLevel();
                            }
                            if (defaultlevel.RegisterType == 0) //关闭注册
                            {
                                return("会员注册已关闭");
                            }
                            user                   = new Lebi_User();
                            user.bind_qq_id        = openid;
                            user.bind_qq_nickname  = model.nickname;
                            user.bind_qq_token     = access_token;
                            user.Face              = model.figureurl_qq_1;//头像
                            user.UserName          = "******" + openid;
                            user.NickName          = model.nickname;
                            user.Password          = EX_User.MD5(openid);
                            user.Language          = Language.CurrentLanguage().Code;
                            user.Sex               = model.gender;
                            user.UserLevel_id      = B_Lebi_UserLevel.GetList("Grade>0", "Grade asc").FirstOrDefault().id;
                            user.IsPlatformAccount = 1;
                            if (CurrentSite != null)
                            {
                                user.Site_id = CurrentSite.id;
                            }
                            user.DT_id = DT_id;
                            B_Lebi_User.Add(user);
                            user.id = B_Lebi_User.GetMaxId();
                            EX_User.LoginOK(user);
                        }
                        else
                        {
                            user.bind_qq_id       = openid;
                            user.bind_qq_nickname = model.nickname;
                            user.bind_qq_token    = access_token;
                            if (user.Face == "")
                            {
                                user.Face = model.figureurl_qq_1;//头像
                            }
                            //user.Sex = model.gender;
                            user.DT_id = DT_id;
                            B_Lebi_User.Update(user);
                            EX_User.LoginOK(user);
                        }
                    }
                    return("OK");
                }
                catch
                {
                    return("授权失败");
                }
            }
            return("授权失败");
        }
Example #10
0
        /// <summary>
        ///生成邮件任务
        /// </summary>
        public void EmailTask_Create()
        {
            if (!EX_Admin.Power("emailtask_edit", "群发邮件"))
            {
                AjaxNoPower();
                return;
            }
            int            id    = RequestTool.RequestInt("id", 0);
            Lebi_EmailTask model = B_Lebi_EmailTask.GetModel(id);

            if (model == null)
            {
                Response.Write("{\"msg\":\"" + Tag("参数错误") + "\"}");
                return;
            }
            model.EmailContent  = Language.RequestString("EmailContent");
            model.EmailTitle    = Language.RequestString("EmailTitle");
            model.UserLevel_ids = RequestTool.RequestString("UserLevel_ids");
            model.Time_task     = RequestTool.RequestTime("Time_task");
            B_Lebi_EmailTask.Update(model);
            //=================
            //处理图片
            string          content = model.EmailContent;
            Regex           r       = new Regex(@"[sS][rR][cC]=\\\"".*?\\\""", RegexOptions.Singleline);
            MatchCollection mc      = r.Matches(content);
            string          temp    = "";
            string          src     = "";

            foreach (Match m in mc)
            {
                temp = m.Value;

                src = RegexTool.GetRegValue(temp, @"[sS][rR][cC]=\\\""(.*?)\\\""");
                if (!Regex.IsMatch(src.ToLower(), @"http://.*?", RegexOptions.IgnoreCase))
                //if (!src.ToLower().Contains("http://"))
                {
                    src     = SYS.Domain + "/" + src;
                    src     = ThemeUrl.CheckURL(src);
                    content = content.Replace(temp, "src=\\\"" + src + "\"");
                }
            }
            //处理图片结束
            //====================
            List <Lebi_User> users = B_Lebi_User.GetList("UserLevel_id in (" + model.UserLevel_ids + ")", "");
            Lebi_Email       email = new Lebi_Email();

            foreach (Lebi_User user in users)
            {
                email.Content             = Language.Content(content, user.Language);
                email.Title               = Language.Content(model.EmailTitle, user.Language);
                email.Time_Task           = model.Time_task;
                email.User_id             = user.id;
                email.User_Name           = user.UserName;
                email.EmailTask_id        = model.id;
                email.Email               = user.Email;
                email.Count_send          = 0;
                email.Type_id_EmailStatus = 270;//排队中的邮件
                B_Lebi_Email.Add(email);
            }
            model.IsSubmit = 1;
            B_Lebi_EmailTask.Update(model);
            Response.Write("{\"msg\":\"OK\"}");
        }
Example #11
0
        public string Login(string back, int IsLogin = 1, int DT_id = 0)
        {
            string        code = RequestTool.RequestString("code");
            string        res  = "";
            StringBuilder sb;

            if (code != "")
            {
                try
                {
                    sb = new StringBuilder();
                    sb.Append("?grant_type=authorization_code");
                    sb.Append("&client_id=" + appid);
                    sb.Append("&client_secret=" + appkey);
                    sb.Append("&code=" + code);
                    string uri = reurnurl + "?backurl=" + ENBackuri(back);
                    uri = System.Web.HttpUtility.UrlEncode(uri);
                    sb.Append("&redirect_uri=" + uri);
                    res = PostAPI("oauth/access_token", sb.ToString());
                    res = res + "&";
                    string access_token      = RegexTool.GetRegValue(res, "access_token=(.*?)&");
                    JavaScriptSerializer jss = new JavaScriptSerializer();
                    //获取uid
                    sb = new StringBuilder();
                    sb.Append("?access_token=" + access_token);
                    res = GetAPI("me", sb.ToString());
                    Model.Facebook.userinfo model = jss.Deserialize <Model.Facebook.userinfo>(res);
                    string uid = model.id;
                    //return uid;
                    string where = "bind_facebook_id='" + uid + "'";
                    //if (DT_id > 0)
                    //{
                    //    where += " and DT_id =" + DT_id + "";
                    //}
                    Shop.Model.Lebi_User user        = B_Lebi_User.GetModel(where);
                    Lebi_User            CurrentUser = EX_User.CurrentUser();
                    if (model == null)
                    {
                        model = new Model.Facebook.userinfo();
                    }
                    if (model.picture == null)
                    {
                        model.picture = new Model.Facebook.userinfo.picture_();
                    }
                    if (model.picture.data == null)
                    {
                        model.picture.data     = new Model.Facebook.userinfo.picture_.data_();
                        model.picture.data.url = "";
                    }
                    string username = model.last_name + model.first_name;
                    if (CurrentUser.id > 0)//已经登录
                    {
                        if (IsLogin == 0)
                        {
                            if (user != null)
                            {
                                if (CurrentUser.id != user.id)
                                {
                                    return("已绑定其它帐号");
                                }
                            }
                        }
                        CurrentUser.bind_facebook_id       = uid;
                        CurrentUser.bind_facebook_nickname = username;
                        CurrentUser.bind_facebook_token    = access_token;
                        if (CurrentUser.Face == "")
                        {
                            CurrentUser.Face = model.picture.data.url;//头像
                        }
                        B_Lebi_User.Update(CurrentUser);
                    }
                    else
                    {
                        if (user == null)
                        {
                            Lebi_UserLevel defaultlevel = B_Lebi_UserLevel.GetModel("Grade>0 order by Grade asc");
                            if (defaultlevel == null)
                            {
                                defaultlevel = new Lebi_UserLevel();
                            }
                            if (defaultlevel.RegisterType == 0) //关闭注册
                            {
                                return("会员注册已关闭");
                            }
                            user = new Lebi_User();
                            user.bind_facebook_id       = uid;
                            user.bind_facebook_nickname = username;
                            user.bind_facebook_token    = access_token;
                            user.Face              = model.picture.data.url;
                            user.NickName          = username;
                            user.UserName          = "******" + uid;
                            user.Password          = EX_User.MD5(uid);
                            user.Language          = Language.CurrentLanguage().Code;
                            user.Sex               = model.gender == "female" ? "女" : "男";
                            user.UserLevel_id      = B_Lebi_UserLevel.GetList("Grade>0", "Grade asc").FirstOrDefault().id;
                            user.IsPlatformAccount = 1;
                            if (CurrentSite != null)
                            {
                                user.Site_id = CurrentSite.id;
                            }
                            B_Lebi_User.Add(user);
                            user.id = B_Lebi_User.GetMaxId();
                            EX_User.LoginOK(user);
                        }
                        else
                        {
                            user.bind_facebook_id       = uid;
                            user.bind_facebook_nickname = username;
                            user.bind_facebook_token    = access_token;
                            if (user.Face == "")
                            {
                                user.Face = model.picture.data.url;
                            }
                            //user.Sex = model.gender == "female" ? "女" : "男";
                            B_Lebi_User.Update(user);
                            EX_User.LoginOK(user);
                        }
                    }
                    return("OK");
                }
                catch
                {
                    return("授权失败");
                }
            }
            return("授权失败");
        }
Example #12
0
        /// <summary>
        /// 导入淘宝商品数据
        /// </summary>
        public void taobao_product_in()
        {
            if (!Power("supplier_product_datainout", "导入导出"))
            {
                AjaxNoPower();
                return;
            }
            int    tb_typeid = RequestTool.RequestInt("tb_typeid", 0);
            string tb_file   = RequestTool.RequestString("tb_file");
            string tb_folder = RequestTool.RequestString("tb_folder");
            string fileName  = HttpContext.Current.Server.MapPath(@"~/" + WebPath + tb_file);
            int    tb_split  = RequestTool.RequestInt("tb_split", 0);
            string tbin_lang = RequestTool.RequestString("tbin_lang");
            int    i         = 0;

            if (File.Exists(fileName))
            {
                DataTable dt   = new DataTable();
                char      flag = '\t';
                if (tb_split == 2)
                {
                    flag = ',';
                }
                using (FileStream fs = new FileStream(fileName, FileMode.Open))
                {
                    using (StreamReader reader = new StreamReader(fs, Encoding.Default))
                    {
                        string text = string.Empty;
                        while (!reader.EndOfStream)
                        {
                            text = reader.ReadLine();
                            if (i == 1)
                            {
                                string[] arr = text.Split(flag);
                                foreach (string col in arr)
                                {
                                    dt.Columns.Add(col);
                                }
                            }
                            else if (i > 1)
                            {
                                string[] arr = text.Split(flag);
                                DataRow  r   = dt.NewRow();
                                int      j   = 0;
                                foreach (string col in arr)
                                {
                                    if (j >= dt.Columns.Count)
                                    {
                                        break;
                                    }
                                    try
                                    {
                                        r[j] = col.Replace("\"", "");
                                    }
                                    catch
                                    {
                                        r[j] = "";
                                    }
                                    j++;
                                }
                                dt.Rows.Add(r);
                            }
                            i++;
                        }
                    }
                }
                //======================================
                if (!dt.Columns.Contains("outer_id"))
                {
                    Response.Write("{\"msg\":\"请检查是否包含outer_id字段\"}");
                    return;
                }
                string number = "";
                int    count  = 0;
                for (int m = 0; m < dt.Rows.Count; m++)
                {
                    try
                    {
                        if (dt.Columns.Contains("outer_id"))
                        {
                            number = dt.Rows[m]["outer_id"].ToString();
                        }
                        bool         addflag = false;
                        Lebi_Product pro     = B_Lebi_Product.GetModel("Supplier_id =" + CurrentSupplier.id + " and Number=lbsql{'" + number + "'}");
                        if (pro == null)
                        {
                            pro        = new Lebi_Product();
                            addflag    = true;
                            pro.Number = dt.Rows[m]["outer_id"].ToString();
                            pro.Type_id_ProductStatus = 101;
                            pro.Type_id_ProductType   = 320;
                            pro.Supplier_id           = CurrentSupplier.id;
                            pro.IsSupplierTransport   = CurrentSupplierGroup.IsSubmit;
                        }
                        pro.Pro_Type_id = tb_typeid;

                        if (dt.Columns.Contains("title"))
                        {
                            pro.Name = Language.GetString(dt.Rows[m]["title"].ToString(), pro.Name, tbin_lang);
                        }
                        if (dt.Columns.Contains("description"))
                        {
                            pro.Description = Language.GetString(dt.Rows[m]["description"].ToString(), pro.Description, tbin_lang);
                        }
                        if (dt.Columns.Contains("wireless_desc"))
                        {
                            pro.MobileDescription = Language.GetString(dt.Rows[m]["wireless_desc"].ToString(), pro.MobileDescription, tbin_lang);
                        }

                        if (dt.Columns.Contains("price"))
                        {
                            if (dt.Columns.Contains("price"))
                            {
                                string p = dt.Rows[m]["price"].ToString();
                                pro.Price = Convert.ToDecimal(p);
                            }
                            pro.Price_Market = pro.Price;
                            pro.Price_Cost   = pro.Price;
                        }
                        if (dt.Columns.Contains("num"))
                        {
                            int Count_Stock = 0;
                            int.TryParse(Convert.ToString(dt.Rows[m]["num"]), out Count_Stock);
                            pro.Count_Stock = Count_Stock;
                        }
                        if (dt.Columns.Contains("item_weight"))
                        {
                            int Weight = 0;
                            int.TryParse(Convert.ToString(dt.Rows[m]["item_weight"]), out Weight);
                            pro.Weight = Weight;
                        }
                        if (dt.Columns.Contains("VolumeL"))
                        {
                            int VolumeL = 0;
                            int.TryParse(Convert.ToString(dt.Rows[m]["VolumeL"]), out VolumeL);
                            pro.VolumeL = VolumeL;
                        }
                        if (dt.Columns.Contains("VolumeW"))
                        {
                            int VolumeW = 0;
                            int.TryParse(Convert.ToString(dt.Rows[m]["VolumeW"]), out VolumeW);
                            pro.VolumeW = VolumeW;
                        }
                        if (dt.Columns.Contains("VolumeH"))
                        {
                            int VolumeH = 0;
                            int.TryParse(Convert.ToString(dt.Rows[m]["VolumeH"]), out VolumeH);
                            pro.VolumeH = VolumeH;
                        }
                        if (dt.Columns.Contains("PackageRate"))
                        {
                            int PackageRate = 1;
                            int.TryParse(Convert.ToString(dt.Rows[m]["PackageRate"]), out PackageRate);
                            pro.PackageRate = PackageRate;
                        }
                        if (addflag)
                        {
                            B_Lebi_Product.Add(pro);
                            pro.id = B_Lebi_Product.GetMaxId();
                        }
                        else
                        {
                            B_Lebi_Product.Update(pro);
                        }
                        if (dt.Columns.Contains("picture"))
                        {
                            try
                            {
                                string img    = dt.Rows[m]["picture"].ToString();
                                string images = "";
                                if (tb_folder == "")
                                {
                                    //1f6edf58105f3abb1ef9665129eb6c52
                                    //1f6edf58105f3abb1ef9665129eb6c52:1:0:|http://img01.taobaocdn.com/bao/uploaded/i1/T1Oys1FgNeXXXXXXXX_!!0-item_pic.jpg;
                                    //5327022ebfe958090d3abff999c8c800:1:1:|http://img02.taobaocdn.com/bao/uploaded/i2/24197542/T2wnCFXtNXXXXXXXXX_!!24197542.jpg;
                                    //b7972e16753d746d77f2f769002268d5:1:2:|http://img01.taobaocdn.com/bao/uploaded/i1/24197542/T2n6BuXvhXXXXXXXXX_!!24197542.jpg;
                                    //06e5fd8cdb3babd4664b7b736258290a:1:3:|http://img03.taobaocdn.com/bao/uploaded/i3/24197542/T2yX1BXwhXXXXXXXXX_!!24197542.jpg;
                                    //d1a5c9c441a994310db75a83005628b7:1:4:|http://img03.taobaocdn.com/bao/uploaded/i3/24197542/T2I4XAXpJaXXXXXXXX_!!24197542.jpg;
                                    //处理图片
                                    string[,] arr = RegexTool.GetRegArray(img, @"\|(.*?);");
                                    for (int ai = 0; ai < arr.GetUpperBound(0); ai++)
                                    {
                                        string v = RegexTool.GetRegValue(arr[ai, 1], @"\|(.*?);");
                                        if (v == null || v == "")
                                        {
                                            continue;
                                        }
                                        LBimage lbimg = ImageHelper.DownLoadImage(v, pro);
                                        if (ai == 0)
                                        {
                                            pro.ImageBig      = lbimg.big;
                                            pro.ImageMedium   = lbimg.medium;
                                            pro.ImageOriginal = lbimg.original;
                                            pro.ImageSmall    = lbimg.small;
                                        }
                                        else
                                        {
                                            images += "@" + lbimg.original;
                                        }
                                    }
                                }
                                else
                                {
                                    //上传文件夹导入图片的方式
                                    img           = ";" + img;
                                    string[,] arr = RegexTool.GetRegArray(img, @";(.*?):");
                                    string ServerPath = System.Web.HttpContext.Current.Server.MapPath("~/");
                                    for (int ai = 0; ai < arr.GetUpperBound(0); ai++)
                                    {
                                        string v = RegexTool.GetRegValue(arr[ai, 1], @";(.*?):");
                                        if (v == null || v == "")
                                        {
                                            continue;
                                        }
                                        v = ServerPath + tb_folder + "/" + v + ".tbi";
                                        v = v.Replace("//", "/");
                                        LBimage lbimg = ImageHelper.CreateTaobaoImage(v, pro);
                                        if (ai == 0)
                                        {
                                            pro.ImageBig      = lbimg.big;
                                            pro.ImageMedium   = lbimg.medium;
                                            pro.ImageOriginal = lbimg.original;
                                            pro.ImageSmall    = lbimg.small;
                                        }
                                        else
                                        {
                                            images += "@" + lbimg.original;
                                        }
                                    }
                                }
                                pro.Images = images;
                                B_Lebi_Product.Update(pro);
                            }
                            catch
                            {
                            }
                        }
                        count++;
                    }
                    catch
                    {
                        continue;
                    }
                }
                Log.Add("导入淘宝商品", "Product", "");
                Response.Write("{\"msg\":\"OK\",\"count\":\"" + count + "\"}");
            }
            else
            {
                Response.Write("{\"msg\":\"" + Tag("数据文件错误") + "\"}");
                return;
            }
        }
Example #13
0
        /// <summary>
        /// 微信登录
        /// https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
        /// </summary>
        /// <param name="back"></param>
        /// <returns></returns>
        public string Login(string back, int IsLogin = 1)
        {
            string code = RequestTool.RequestString("code");

            if (code != "")
            {
                try
                {
                    string uri    = reurnurl + "?backurl=" + ENBackuri(back);
                    int    userid = 0;
                    uri = System.Web.HttpUtility.UrlEncode(uri);
                    string res = Post("https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appid + "&secret=" + appkey + "&code=" + code + "&grant_type=authorization_code");
                    JavaScriptSerializer jss = new JavaScriptSerializer();

                    Model.weixin.tokeninfo tokeninfo = jss.Deserialize <Model.weixin.tokeninfo>(res);
                    string uid = tokeninfo.openid;
                    //SystemLog.Add(uid);
                    //获取用户资料
                    //https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
                    res = Post("https://api.weixin.qq.com/sns/userinfo?access_token=" + tokeninfo.access_token + "&openid=" + uid + "&lang=zh_CN");

                    Model.weixin.userinfo model = jss.Deserialize <Model.weixin.userinfo>(res);
                    string where = "bind_weixin_id='" + uid + "' and bind_weixin_id!=''";
                    //if (DT_id > 0)
                    //{
                    //    where += " and DT_id =" + DT_id + "";
                    //}
                    Lebi_User user        = B_Lebi_User.GetModel(where);
                    Lebi_User CurrentUser = null;
                    string    qrcodeid_   = RegexTool.GetRegValue((back + "&"), @"qrcodeid=(\d*)&");
                    int       qrid        = 0;
                    int.TryParse(qrcodeid_, out qrid);
                    if (qrid > 0)
                    {
                        //扫描二维码授权绑定当前账号
                        Lebi_weixin_qrcode qcode = B_Lebi_weixin_qrcode.GetModel(qrid);
                        CurrentUser = B_Lebi_User.GetModel(qcode.User_id);
                        if (IsLogin == 0)
                        {
                            if (user != null && CurrentUser != null)
                            {
                                return("已绑定其它帐号");
                            }
                        }
                    }

                    if (user == null)
                    {
                        Lebi_UserLevel defaultlevel = B_Lebi_UserLevel.GetModel("Grade>0 order by Grade asc");
                        if (defaultlevel == null)
                        {
                            defaultlevel = new Lebi_UserLevel();
                        }
                        if (defaultlevel.RegisterType == 0) //关闭注册
                        {
                            return("会员注册已关闭");
                        }
                        if (CurrentUser == null)
                        {
                            user = new Lebi_User();
                            user.bind_weixin_id       = uid;
                            user.bind_weixin_nickname = model.nickname;
                            user.bind_weixin_token    = tokeninfo.access_token;
                            try
                            {
                                user.Face = DownLoadImage(model.headimgurl);
                            }
                            catch
                            {
                                user.Face = model.headimgurl;
                            }
                            user.NickName          = model.nickname;
                            user.UserName          = "******" + uid;
                            user.Password          = EX_User.MD5(uid);
                            user.Language          = Language.CurrentLanguage().Code;
                            user.Sex               = model.sex == "2" ? "女" : "男";
                            user.UserLevel_id      = B_Lebi_UserLevel.GetList("Grade>0", "Grade asc").FirstOrDefault().id;
                            user.IsPlatformAccount = 1;
                            //B_Lebi_User.Add(user);
                            //user.id = B_Lebi_User.GetMaxId();
                            //userid = user.id;
                            user.DT_id = DT_id;
                            EX_User.UserReg(user);
                        }
                        else
                        {
                            CurrentUser.bind_weixin_id       = uid;
                            CurrentUser.bind_weixin_nickname = model.nickname;
                            CurrentUser.bind_weixin_token    = tokeninfo.access_token;

                            try
                            {
                                CurrentUser.Face = DownLoadImage(model.headimgurl);
                            }
                            catch
                            {
                                CurrentUser.Face = model.headimgurl;
                            }
                            //CurrentUser.Face = model.headimgurl;//头像 50*50

                            if (CurrentUser.NickName == "")
                            {
                                CurrentUser.NickName = model.nickname;
                            }
                            CurrentUser.DT_id = DT_id;
                            //B_Lebi_User.Update(CurrentUser);
                            EX_User.LoginOK(CurrentUser, 0);
                            userid = CurrentUser.id;
                        }
                    }
                    else
                    {
                        user.bind_weixin_id       = uid;
                        user.bind_weixin_nickname = model.nickname;
                        user.bind_weixin_token    = tokeninfo.access_token;;

                        try
                        {
                            user.Face = DownLoadImage(model.headimgurl);
                        }
                        catch (Exception ex)
                        {
                            user.Face = "";
                            LB.Tools.TxtLog.Add(ex.Message);
                        }

                        if (user.NickName == "")
                        {
                            user.NickName = model.nickname;
                        }
                        user.DT_id = DT_id;
                        //user.Sex = model.gender == "f" ? "女" : "男";
                        //B_Lebi_User.Update(user);
                        EX_User.LoginOK(user, 0);
                        userid = user.id;
                    }


                    if (qrid > 0)
                    {
                        //扫描二维码登录
                        Lebi_weixin_qrcode qcode = B_Lebi_weixin_qrcode.GetModel(qrid);
                        qcode.User_id = userid;
                        B_Lebi_weixin_qrcode.Update(qcode);
                        //Log.Add(back);
                    }
                    return("OK");
                }
                catch (Exception ex)
                {
                    LB.Tools.TxtLog.Add(ex.Message);
                    return("授权失败" + ex.Message);
                }
            }
            return("授权失败");
        }
Example #14
0
        /// <summary>
        /// 提取名称
        /// </summary>
        /// <param name="strIn"></param>
        /// <returns></returns>
        private string GetName(string strIn)
        {
            string str = RegexTool.GetRegValue(strIn, @"[Nn][Aa][Mm][Ee]:(.*?)\r\n");

            return(str);
        }
Example #15
0
        /// <summary>
        /// 处理一个标记块
        /// </summary>
        /// <param name="StrIn"></param>
        /// <returns></returns>
        private static string DoPart(string StrIn, string type, string webpath)
        {
            string str = StrIn;

            //============================================================================
            str = DoCodeConvert(str, type, webpath, "");//递归调用
            //============================================================================
            string str_Head = "";
            string str_Foot = "";
            string str_B    = "";    //循环第一次的字符串
            string str_E    = "";    //循环最后一次的字符串
            bool   BEFlag   = false; //开始结尾特殊处理标志
            string temp     = "";
            string Table    = "";
            string Order    = "";
            string Where    = "";
            string PageSize = "";
            string page     = "";
            string model    = "";       //MODEL名字
            string Source   = "";
            string Top      = "";
            string Tag      = "";

            //============================================================================
            //参数处理
            //------------------------------
            temp = str.Replace("\r\n", "");
            //string key_ = "";
            //string key = "";
            //------------------------------

            //SQL = GetRegValue(temp, @"\$SQL:(.*?)[\n|\$]");      //这是SQL语句读取数据的方式,由于当前分页方式、分页存储过程的限制,不能实现

            Table  = RegexTool.GetRegValue(temp, @"#[tT][aA][bB][lL][eE][:=](.*?)[#;]").Trim();   //参数结尾标记兼容 '换行'(\n) 和 '#',分号,空格
            model  = RegexTool.GetRegValue(temp, @"#[mM][oO][dD][eE][lL][:=](.*?)[#;]").Trim();
            Source = RegexTool.GetRegValue(temp, @"#[Ss][Oo][Uu][Rr][Cc][Ee][:=](.*?)[#;]").Trim();
            model  = RegexTool.GetRegValue(temp, @"#[mM][oO][dD][eE][lL][:=](.*?)[#;]").Trim();
            Tag    = RegexTool.GetRegValue(temp, @"#[Tt][Aa][Gg][:=](.*?)[#;]").Trim().ToLower();


            Order    = RegexTool.GetRegValue(temp, @"#[oO][rR][dD][eE][rR][:=](.*?)[#;]").Trim();
            Where    = RegexTool.GetRegValue(temp, @"#[wW][hH][eE][rR][eE][:=](.*?)[#;]").Trim();
            PageSize = RegexTool.GetRegValue(temp, @"#[pP][aA][gG][eE][sS][iI][zZ][eE][:=](.*?)[#;]").Trim();
            page     = RegexTool.GetRegValue(temp, @"#[pP][aA][gG][eE][iI][nN][dD][eE][xX][:=](.*?)[#;]").Trim();
            Top      = RegexTool.GetRegValue(temp, @"#[Tt][Oo][Pp][:=](.*?)[#;]").Trim();

            if (Top != "")
            {
                PageSize = Top;
                page     = "1";
            }
            //-------------------------------
            //过滤换行
            Table    = RegexTool.ReplaceRegValue(Table, @"\r\n");
            Order    = RegexTool.ReplaceRegValue(Order, @"\r\n");
            Where    = RegexTool.ReplaceRegValue(Where, @"\r\n");
            PageSize = RegexTool.ReplaceRegValue(PageSize, @"\r\n");
            page     = RegexTool.ReplaceRegValue(page, @"\r\n");
            model    = RegexTool.ReplaceRegValue(model, @"\r\n");
            Source   = RegexTool.ReplaceRegValue(Source, @"\r\n");
            //-------------------------------
            //-------------------------------
            //过滤多个空格
            Regex r = new Regex(@" +", RegexOptions.Singleline);//目的:防止类似“///”“////”“//////”的情况

            Table    = r.Replace(Table, " ");
            Order    = r.Replace(Order, " ");
            Where    = r.Replace(Where, " ");
            PageSize = r.Replace(PageSize, " ");
            page     = r.Replace(page, " ");
            model    = r.Replace(model, " ");
            //-------------------------------

            if (model == "" || model == "$")
            {
                model = GetRnd(4, false, true, true, false, ""); //取8个字母的随机字符串作为MODEL名字
            }
            string RowsIndex = model + "_index";                 //行号的索引

            //============================================================================

            str_B = RegexTool.GetRegValue(str, @"[Bb]{(.*?)}[Bb]");
            str_E = RegexTool.GetRegValue(str, @"[Ee]{(.*?)}[Ee]");
            //============================================================================
            //过滤掉参数部分
            //str = ReplaceRegValue(str, @"#.*?[\n#;]");
            str = RegexTool.ReplaceRegValue(str, @"#[tT][aA][bB][lL][eE][:=](.*?)[#;]");
            str = RegexTool.ReplaceRegValue(str, @"#[oO][rR][dD][eE][rR][:=](.*?)[#;]");
            str = RegexTool.ReplaceRegValue(str, @"#[wW][hH][eE][rR][eE][:=](.*?)[#;]");
            str = RegexTool.ReplaceRegValue(str, @"#[pP][aA][gG][eE][sS][iI][zZ][eE][:=](.*?)[#;]");
            str = RegexTool.ReplaceRegValue(str, @"#[pP][aA][gG][eE][iI][nN][dD][eE][xX][:=](.*?)[#;]");
            str = RegexTool.ReplaceRegValue(str, @"#[mM][oO][dD][eE][lL][:=](.*?)[#;]");
            str = RegexTool.ReplaceRegValue(str, @"#[Ss][Oo][Uu][Rr][Cc][Ee][:=](.*?)[#;]");
            str = RegexTool.ReplaceRegValue(str, @"#[tT][Oo][Pp][:=](.*?)[#;]");
            str = RegexTool.ReplaceRegValue(str, @"#[tT][Aa][Gg][:=](.*?)[#;]");
            str = RegexTool.ReplaceRegValue(str, @"[Bb]{.*?}[Bb]");
            str = RegexTool.ReplaceRegValue(str, @"[Ee]{.*?}[Ee]");

            //============================================================================


            //自定义格式
            //===================================================================================
            str_Head += "<%";
            if (Table != "$")
            {
                str_Head += "Table=\"" + Table + "\";";
            }
            if (Where != "$")
            {
                str_Head += "Where=\"" + Where + "\";";
            }
            if (Order != "" && Order != "$")
            {
                str_Head += "Order=\"" + Order + "\";";
            }

            if (PageSize == "")
            {
                str_Head += "PageSize=20;";
            }
            else if (PageSize == "$")
            {
            }
            else
            {
                str_Head += "PageSize=" + PageSize + ";";
            }
            if (page == "")
            {
                str_Head += "pageindex=Rint(\"page\");";
            }
            else if (PageSize == "$")
            {
            }
            else
            {
                str_Head += "pageindex=" + page + ";";
            }
            str_Head += "RecordCount=B_" + Table + ".Counts(Where);";
            //str_Head += temp;

            str_Head += "int " + RowsIndex + "=1;\r\n";//循环的行号
            str_Head += "List<" + Table + "> " + model + "s = B_" + Table + ".GetList(Where, Order,PageSize ,pageindex);";
            str_Head += "foreach (" + Table + " " + model + " in " + model + "s)";
            str_Head += "{";
            str_Head += "%>";

            str_Foot += "<%";
            str_Foot += RowsIndex + "++;";
            str_Foot += "}";
            str_Foot += "%>";

            if (str_B != "" || str_E != "")
            {
                BEFlag = true;
            }
            //============================================================================
            if (BEFlag)
            {
                temp = "";
                if (str_B != "")
                {
                    temp += "<%if(" + RowsIndex + "==1)";
                    temp += "{%>";
                    temp += ReplaceModel(str_B, model);
                    temp += "<%}%>";
                    if (str_E != "")
                    {
                        temp += "<%else if(" + RowsIndex + "==RecordCount || " + RowsIndex + "==PageSize)";
                        temp += "{%>";
                        temp += ReplaceModel(str_E, model);
                        temp += "<%}%>";
                    }
                    temp += "<%else";
                    temp += "{%>";
                    temp += ReplaceModel(str, model);
                    temp += "<%}%>";
                }
                else//没有开始匹配的时候
                {
                    temp += "<%if(" + RowsIndex + "==RecordCount || " + RowsIndex + "==PageSize)";
                    temp += "{%>";
                    temp += ReplaceModel(str_E, model);
                    temp += "<%}%>";
                    temp += "<%else";
                    temp += "{%>";
                    temp += ReplaceModel(str, model);
                    temp += "<%}%>";
                }
                str = temp;
            }
            else
            {
                str = ReplaceModel(str, model);
            }
            //============================================================================
            str = str_Head + str + str_Foot;
            return(str);
        }
Example #16
0
        /// <summary>
        /// 执行代码替换
        /// 在${...}$内
        /// </summary>
        /// <param name="strIn"></param>
        /// <returns></returns>
        public static string DoCodeConvert(string strIn, string type, string webpath, string mediapath)
        {
            strIn = DoLayout(strIn, type, webpath, mediapath);
            //======================================================
            string[] PartArry   = RegexTool.GetSimpleRegResultArray(strIn, @"({[Mm][Oo][Dd]:.*?})");
            string   partTag    = "";
            string   partConten = "";
            string   partPara   = "";

            webpath = webpath.TrimEnd('/');
            Lebi_Theme_Skin partskin = new Lebi_Theme_Skin();

            foreach (string partStr in PartArry)
            {
                partTag    = "";
                partConten = "";
                partPara   = "";
                if (partStr.Contains("("))
                {
                    partTag  = RegexTool.GetRegValue(partStr, @"{[Mm][Oo][Dd]:(.*?)\(.*?}");
                    partPara = RegexTool.GetRegValue(partStr, @"{[Mm][Oo][Dd]:.*?\((.*?)\)}");
                }
                else
                {
                    partTag = RegexTool.GetRegValue(partStr, @"{[Mm][Oo][Dd]:(.*?)}");
                }
                if (partTag != "")
                {
                    //模块提取优先级
                    //1插件中的BLOCK文件夹
                    //2模板中的自定义设置
                    //3系统块

                    string[] plugins = ShopCache.GetBaseConfig().PluginUsed.ToLower().Split(',');
                    foreach (string plugin in plugins)
                    {
                        partConten = HtmlEngine.ReadTxt(webpath + "/plugin/" + plugin + "/systempage/" + type + "/block/" + partTag + ".html");
                        if (partConten == "")
                        {
                            partConten = HtmlEngine.ReadTxt(webpath + "/plugin/" + plugin + "/block/" + partTag + ".html");
                        }
                        if (partConten != "")
                        {
                            break;
                        }
                    }

                    if (partConten == "")
                    {
                        partConten = HtmlEngine.ReadTxt(ThemeUrl.GetFullPath(webpath + "/system/" + type + "/block/" + partTag + ".html"));
                    }
                    if (partConten == "")
                    {
                        partConten = HtmlEngine.ReadTxt(ThemeUrl.GetFullPath(webpath + "/system/block/" + partTag + ".html"));
                    }
                    if (partConten != "")
                    {
                        partConten = "<!--MOD_start:" + partTag + "-->\r\n" + DoCodeConvert(partConten, type, webpath, "") + "<!--MOD_end:" + partTag + "-->\r\n";
                        strIn      = RegexTool.ReplaceRegValue(strIn, @"{[Mm][Oo][Dd]:" + partTag + ".*?}", partConten);
                    }
                }
            }
            //=========================================================
            string str  = "";
            Type   t    = typeof(ShopPage);
            string temp = "";

            int[,] d = IndexFlagArry(strIn);//记录开始,结尾标记的数组
            if (d.Length > 0)
            {
                int begin = 0;
                string[,] tempArry = new string[d.GetUpperBound(0) + 1, 2];//用于存放一个外层标记的临时数组
                for (int i = 0; i < d.GetUpperBound(0); i++)
                {
                    temp          += RegexTool.GetSubString(strIn, begin, d[i, 0]) + "$$$" + i + "$$$";//挑选非标记部组合,将标记部分替换为$$$0$$$,$$$1$$$形式
                    begin          = d[i, 1] + 2;
                    tempArry[i, 0] = "$$$" + i + "$$$";
                    tempArry[i, 1] = RegexTool.GetSubString(strIn, d[i, 0] + 2, d[i, 1]);//截取不包含开始,结尾标记的块
                }
                temp += RegexTool.GetSubString(strIn, begin, strIn.Length);
                str   = temp;//str已经替除了全部的标记块

                for (int i = 0; i < tempArry.GetUpperBound(0); i++)
                {
                    temp = DoPart(tempArry[i, 1], type, webpath);
                    str  = str.Replace("$$$" + i + "$$$", temp);
                }
            }
            return(str);
        }
Example #17
0
        /// <summary>
        /// 载入布局文件
        /// </summary>
        /// <param name="strIn"></param>
        /// <param name="theme"></param>
        /// <returns></returns>
        public static string DoLayout(string strIn, string type, string webpath, string mediapath)
        {
            string layout = RegexTool.GetRegValue(strIn, @"{[Ll][Aa][Yy][Oo][Uu][Tt]:(.*?)}");
            string cs     = RegexTool.GetRegValue(strIn, @"({[Cc][Ll][Aa][Ss][Ss]:.*?})");

            if (layout == "")
            {
                return(cs + strIn);
            }

            string layoutpath    = "";
            string layoutContent = "";

            if (mediapath != "")
            {
                layoutpath    = webpath + mediapath + "/layout/" + layout + ".layout";
                layoutpath    = ThemeUrl.GetFullPath(layoutpath);
                layoutContent = HtmlEngine.ReadTxt(layoutpath);
            }
            if (layoutContent == "")
            {
                layoutpath    = webpath + "/theme/system/systempage/" + type + "/layout/" + layout + ".layout";
                layoutpath    = ThemeUrl.GetFullPath(layoutpath);
                layoutContent = HtmlEngine.ReadTxt(layoutpath);
            }
            if (layoutContent == "")
            {
                layoutpath    = webpath + "/theme/system/layout/" + layout + ".layout";
                layoutpath    = ThemeUrl.GetFullPath(layoutpath);
                layoutContent = HtmlEngine.ReadTxt(layoutpath);
            }
            if (layoutContent == "")
            {
                return("");
            }
            string[] holderArray = RegexTool.GetSimpleRegResultArray(layoutContent, @"({[Hh][Oo][Ll][Dd][Ee][Rr]:.*?})");
            foreach (string holder in holderArray)
            {
                string tag    = RegexTool.GetRegValue(holder, @"{[Hh][Oo][Ll][Dd][Ee][Rr]:(.*?)}");
                string regtag = "";
                foreach (char t in tag)
                {
                    regtag += "[" + t.ToString().ToUpper() + t.ToString().ToLower() + "]";
                }
                string holdercontent = RegexTool.GetRegValue(strIn, @"<" + regtag + ">(.*?)</" + regtag + ">");
                layoutContent = RegexTool.ReplaceRegValue(layoutContent, @"{[Hh][Oo][Ll][Dd][Ee][Rr]:" + tag + ".*?}", holdercontent);
            }
            //载入重写模块
            string[] rewriteArray = RegexTool.GetSimpleRegResultArray(strIn, @"({[Rr][Ee][Ww][Rr][Ii][Tt][Ee]:.*?})");
            foreach (string rewrite in rewriteArray)
            {
                string tag  = RegexTool.GetRegValue(rewrite, @"{[Rr][Ee][Ww][Rr][Ii][Tt][Ee]:(.*?)}");
                string from = "";
                string to   = "";
                from = tag.Substring(0, tag.IndexOf(" "));
                to   = tag.Substring(tag.IndexOf(" ") + 1, tag.Length - from.Length - 1);
                string regfrom = "";
                string regto   = "";
                foreach (char t in from)
                {
                    regfrom += "[" + t.ToString().ToUpper() + t.ToString().ToLower() + "]";
                }
                foreach (char t in to)
                {
                    regto += "[" + t.ToString().ToUpper() + t.ToString().ToLower() + "]";
                }
                string holdercontent = RegexTool.GetRegValue(strIn, @"<" + regto + ">(.*?)</" + regto + ">");
                if (holdercontent == "")
                {
                    holdercontent = "{MOD:" + to + "}";
                }
                layoutContent = RegexTool.ReplaceRegValue(layoutContent, @"{[Mm][Oo][Dd]:" + regfrom + "}", holdercontent);
            }
            layoutContent = cs + layoutContent;
            return(layoutContent);
        }
Example #18
0
        /// <summary>
        /// 生成后台的单个文件
        /// </summary>
        /// <param name="Path">生成文件名已经路径</param>
        /// <param name="Content"></param>
        /// <param name="WebPath"></param>
        /// <returns></returns>
        public static void CreatAdminAspx(string Path, string Content, string type, string mediapath)
        {
            if (Content == "")
            {
                return;
            }
            string     FileName   = "";
            BaseConfig bf         = ShopCache.GetBaseConfig();
            string     WebPath    = Site.Instance.WebPath;
            string     serverpath = "";

            if (System.Web.HttpContext.Current == null)
            {
                serverpath = System.Web.HttpRuntime.AppDomainAppPath;
            }
            else
            {
                serverpath = System.Web.HttpContext.Current.Server.MapPath(@"~/");
            }
            try
            {
                Path     = ThemeUrl.GetFullPath(Path);
                FileName = ThemeUrl.GetFileName(Path);
                Path     = ThemeUrl.GetPath(Path);
                string PhysicsPath = serverpath + Path;
                if (!Directory.Exists(PhysicsPath))
                {
                    Directory.CreateDirectory(PhysicsPath);
                }
                string PhysicsFileName = serverpath + Path + FileName;
                if (System.IO.File.Exists(PhysicsFileName))
                {
                    System.IO.File.Delete(PhysicsFileName);
                }
                Content = DoCodeConvert(Content, type, WebPath, mediapath);
                //=============================================================
                //处理特殊页面引用

                string cs = RegexTool.GetRegValue(Content, @"{[Cc][Ll][Aa][Ss][Ss]:(.*?)}");
                if (cs != "")
                {
                    string pagehead = "<%@ Page Language=\"C#\" AutoEventWireup=\"true\" Inherits=\"" + cs + "\" validateRequest=\"false\"%>";
                    Content = RegexTool.ReplaceRegValue(Content, @"<%@ Page .*? %>", "");
                    Content = pagehead + Content;
                    //if (type == "supplier")
                    //    Content = Content.Replace("Shop.Bussiness.SupplierPageBase", cs);
                    //else
                    //    Content = Content.Replace("Shop.Bussiness.AdminPageBase", cs);
                }
                //处理资源路径
                string Path_JS    = WebPath + "/system/systempage/" + type + "/js";
                string Path_Image = WebPath + "/system/systempage/" + type + "/images";
                string Path_CSS   = WebPath + "/system/systempage/" + type + "/css";
                Path_JS    = RegexTool.ReplaceRegValue(Path_JS, @"//*/", "/");
                Path_Image = RegexTool.ReplaceRegValue(Path_Image, @"//*/", "/");
                Path_CSS   = RegexTool.ReplaceRegValue(Path_CSS, @"//*/", "/");
                Content    = RegexTool.ReplaceRegValue(Content, @"{/[Jj][Ss]}", Path_JS);
                Content    = RegexTool.ReplaceRegValue(Content, @"{/[Cc][Ss][Ss]}", Path_CSS);
                Content    = RegexTool.ReplaceRegValue(Content, @"{/[Ii][Mm][Aa][Gg][eE]}", Path_Image);
                Content    = RegexTool.ReplaceRegValue(Content, @"<!--.*?-->", "");
                Content    = RegexTool.ReplaceRegValue(Content, @"{[Cc][Ll][Aa][Ss][Ss]:.*?}", "");

                HtmlEngine.Instance.WriteFile(PhysicsFileName, Content);
            }
            catch (Exception ex)
            {
            }
        }
Example #19
0
        /// <summary>
        /// 提取限制页面
        /// </summary>
        /// <param name="strIn"></param>
        /// <returns></returns>
        private string GetPage(string strIn)
        {
            string str = RegexTool.GetRegValue(strIn, @"[Pp][Aa][Gg][Ee]:(.*?)\r\n");

            return(str);
        }
Example #20
0
        public string Login(string back, int IsLogin = 1)
        {
            string        code = RequestTool.RequestString("code");
            string        res  = "";
            StringBuilder sb;

            if (code != "")
            {
                sb = new StringBuilder();
                sb.Append("?grant_type=authorization_code");
                sb.Append("&client_id=" + appid);
                sb.Append("&client_secret=" + appkey);
                sb.Append("&code=" + code);
                sb.Append("&redirect_uri=" + reurnurl);
                //res = APIURL("oauth/access_token", sb.ToString());
                res = PostAPI("oauth/access_token", sb.ToString());
                //access_token=
                //CAAGUzrOw7
                //AMBADkwUNj
                //HkI9FwLPHD
                //fUamZCSBH1
                //NbSFsKVVjF
                //D2QfmP0aXT
                //FtMTY8e8d5
                //yse93demVg
                //YwCfEWXApj
                //ZAsGqt3ugg
                //YiHSmFQeN2
                //EOwFindWuw
                //R9QHiTlAwr
                //kmuTmr1Qs4
                //mwtSAZC15m
                //wTpLWvZCaj
                //OkVC1zlTZB
                //B5gjRZBmCm
                //C2j&expires=5183999
                //HttpContext.Current.Response.Redirect(res);
                res = res + "&";
                string access_token = RegexTool.GetRegValue(res, "access_token=(.*?)&");

                JavaScriptSerializer jss = new JavaScriptSerializer();
                //获取uid
                sb = new StringBuilder();
                sb.Append("?access_token=" + access_token);
                res = GetAPI("me", sb.ToString());

                Model.Facebook.userinfo model = jss.Deserialize <Model.Facebook.userinfo>(res);
                string uid = model.id;
                //return uid;
                Lebi_User user = B_Lebi_User.GetModel("bind_facebook_id='" + uid + "'");

                if (model == null)
                {
                    model = new Model.Facebook.userinfo();
                }
                if (model.picture == null)
                {
                    model.picture = new Model.Facebook.userinfo.picture_();
                }
                if (model.picture.data == null)
                {
                    model.picture.data     = new Model.Facebook.userinfo.picture_.data_();
                    model.picture.data.url = "";
                }
                string username = model.last_name + model.first_name;
                if (user == null)
                {
                    Lebi_UserLevel defaultlevel = B_Lebi_UserLevel.GetModel("Grade>0 order by Grade asc");
                    if (defaultlevel == null)
                    {
                        defaultlevel = new Lebi_UserLevel();
                    }
                    if (defaultlevel.RegisterType == 0) //关闭注册
                    {
                        return("会员注册已关闭");
                    }
                    user = new Lebi_User();
                    user.bind_facebook_id       = uid;
                    user.bind_facebook_nickname = username;
                    user.bind_facebook_token    = access_token;
                    user.Face              = model.picture.data.url;
                    user.UserName          = username;
                    user.Password          = EX_User.MD5(uid);
                    user.Language          = Language.CurrentLanguage().Code;
                    user.Sex               = model.gender == "female" ? "女" : "男";
                    user.UserLevel_id      = B_Lebi_UserLevel.GetList("Grade>0", "Grade asc").FirstOrDefault().id;
                    user.IsPlatformAccount = 1;
                    if (CurrentSite != null)
                    {
                        user.Site_id = CurrentSite.id;
                    }
                    user.DT_id = DT_id;
                    B_Lebi_User.Add(user);
                    user.id = B_Lebi_User.GetMaxId();
                    EX_User.LoginOK(user);
                }
                else
                {
                    user.bind_facebook_id       = uid;
                    user.bind_facebook_nickname = username;
                    user.bind_facebook_token    = access_token;
                    user.Face     = model.picture.data.url;
                    user.Sex      = model.gender == "female" ? "女" : "男";
                    user.UserName = username;
                    user.DT_id    = DT_id;
                    B_Lebi_User.Update(user);
                    EX_User.LoginOK(user);
                }
                return("OK");
            }
            return("授权失败");
        }