예제 #1
0
        protected override void ShowPage()
        {
            if (userid == -1)
            {
                AddErrLine("你尚未登录");
                return;
            }
            if (config.Enablemall < 2)
            {
                AddErrLine("当前操作只有在开启商城(高级)模式时才可以使用!");
                return;
            }

            user     = Users.GetUserInfo(userid);
            shopinfo = Shops.GetShopByUserId(user.Uid);

            if (DNTRequest.IsPost())
            {
                if (ForumUtils.IsCrossSitePost())
                {
                    AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。");
                    return;
                }

                shopinfo.Bulletin  = Utils.CutString(DNTRequest.GetString("bulletin"), 0, 500);
                shopinfo.Introduce = Utils.CutString(DNTRequest.GetString("introduce"), 0, 500);
                shopinfo.Uid       = userid;
                shopinfo.Username  = username;
                shopinfo.Shopname  = Utils.CutString(DNTRequest.GetString("shopname"), 0, 50);

                int lid = DNTRequest.GetInt("locus_2", 0);
                //当店铺所在地信息发生变化时
                if (shopinfo.Lid != lid && lid > 0)
                {
                    shopinfo.Lid   = lid;
                    shopinfo.Locus = Locations.GetLocusByLID(lid);
                }

                string uploadfileinfo = MallUtils.SaveRequestFile(1024000, "jpg\r\ngif\r\njpeg", config, "postfile").ToLower();
                //当店标发生变化时
                if (uploadfileinfo.EndsWith(".jpg") || uploadfileinfo.EndsWith(".gif"))
                {
                    if (Utils.FileExists(Utils.GetMapPath(BaseConfigs.GetForumPath + "upload/" + shopinfo.Logo)))
                    {
                        System.IO.File.Delete(Utils.GetMapPath(BaseConfigs.GetForumPath + "upload/" + shopinfo.Logo));
                    }

                    shopinfo.Logo = uploadfileinfo;
                }
                else if (!Utils.StrIsNullOrEmpty(uploadfileinfo))
                {
                    AddErrLine(uploadfileinfo);
                    return;
                }

                int themeid = DNTRequest.GetInt("themeid", 0);
                //当店铺主题发生变化时
                if (shopinfo.Themeid != themeid && themeid > 0)
                {
                    shopinfo.Themeid   = themeid;
                    shopinfo.Themepath = ShopThemes.GetShopThemeByThemeId(themeid).Directory;
                }

                Shops.UpdateShop(shopinfo);

                SetUrl("usercpshopconfig.aspx");
                SetMetaRefresh();
                AddMsgLine("操作成功. <br />(<a href=\"usercpshopconfig.aspx\">点击这里返回</a>)<br />");
            }
        }
예제 #2
0
        protected override void ShowPage()
        {
            if (userid == -1)
            {
                AddErrLine("你尚未登录");
                return;
            }
            if (config.Enablemall < 2)
            {
                AddErrLine("当前操作只有在开启商城(高级)模式时才可以使用!");
                return;
            }

            user     = Users.GetUserInfo(userid);
            shopinfo = Shops.GetShopByUserId(user.Uid);

            if (!DNTRequest.IsPost())
            {
                shopcategorydt       = ShopCategories.GetShopCategoryTable(shopinfo.Shopid);
                shopcategorydt_count = shopcategorydt.Rows.Count;
                shopcategorydata     = ShopCategories.GetShopCategoryJson(shopcategorydt);
                categoryoptions      = ShopCategories.GetShopCategoryOption(shopcategorydt, false);
            }
            else
            {
                if (ForumUtils.IsCrossSitePost())
                {
                    AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。");
                    return;
                }
                string operation = DNTRequest.GetFormString("operation");
                if (operation != "add")
                {
                    int shopcategoryid = DNTRequest.GetFormInt("categoryid", 0);
                    if (shopcategoryid <= 0)
                    {
                        AddErrLine("店铺商品分类参数无效<br />");
                        return;
                    }

                    shopcategoryinfo = ShopCategories.GetShopCategoryByCategoryId(shopcategoryid);
                }

                shopid = 0;
                item   = DNTRequest.GetString("item");

                switch (operation)
                {
                case "delete":     //删除分类
                {
                    if (shopcategoryinfo == null || shopcategoryinfo.Categoryid <= 0)
                    {
                        AddErrLine("要删除的店铺商品分类参数无效<br />");
                        return;
                    }
                    if (!ShopCategories.DeleteCategoryByCategoryId(shopcategoryinfo))
                    {
                        AddErrLine("对不起,当前节点下面还有子结点,因此不能删除<br />");
                        return;
                    }
                    break;
                }

                case "edit":     //编辑分类名称
                {
                    if (shopcategoryinfo == null || shopcategoryinfo.Categoryid <= 0)
                    {
                        AddErrLine("要修改的店铺商品分类参数无效<br />");
                        return;
                    }
                    string editname = DNTRequest.GetString("editcategoryname");
                    if (editname == "")
                    {
                        AddErrLine("店铺商品分类名称未变更或不能为空<br />");
                        return;
                    }
                    shopcategoryinfo.Name = editname;
                    ShopCategories.UpdateShopCategory(shopcategoryinfo);
                    break;
                }

                case "add":     //添加分类
                {
                    shopcategoryinfo        = new Shopcategoryinfo();
                    shopcategoryinfo.Name   = DNTRequest.GetFormString("addcategoryname");
                    shopcategoryinfo.Shopid = shopinfo.Shopid;

                    int addtype = DNTRequest.GetInt("addtype", 0);
                    if (addtype > 0 && addtype <= 2)
                    {
                        int targetcategoryid = DNTRequest.GetFormInt("selectcategoryid", 0);

                        if (targetcategoryid <= 0)
                        {
                            AddErrLine("要添加到的目标分类参数无效<br />");
                            return;
                        }

                        targetshopcategoryinfo = ShopCategories.GetShopCategoryByCategoryId(targetcategoryid);
                        if (targetshopcategoryinfo == null || targetshopcategoryinfo.Categoryid <= 0)
                        {
                            AddErrLine("要添加到的目标分类参数无效<br />");
                            return;
                        }
                    }

                    ShopCategories.CreateShopCategory(shopcategoryinfo, targetshopcategoryinfo, addtype);
                    break;
                }

                case "move":     //移动分类
                {
                    int targetcategoryid = DNTRequest.GetFormInt("targetcategoryid", 0);

                    if (targetcategoryid <= 0)
                    {
                        AddErrLine("要移动到的目标分类参数无效<br />");
                        return;
                    }

                    targetshopcategoryinfo = ShopCategories.GetShopCategoryByCategoryId(targetcategoryid);
                    if (targetshopcategoryinfo == null || targetshopcategoryinfo.Categoryid <= 0)
                    {
                        AddErrLine("要移动到的目标分类参数无效<br />");
                        return;
                    }
                    string target_parentidlist = "," + targetshopcategoryinfo.Parentidlist.Trim() + ",";
                    if (target_parentidlist.IndexOf("," + shopcategoryinfo.Categoryid.ToString() + ",") > 0)
                    {
                        AddErrLine("不能将当前分类移动到其子分类<br />");
                        return;
                    }
                    ShopCategories.MoveShopCategory(shopcategoryinfo, targetshopcategoryinfo, DNTRequest.GetInt("isaschildnode", 0) == 1 ? true : false);
                    break;
                }
                }

                SetUrl("usercpshopcategory.aspx?item=" + item);
                SetMetaRefresh();
                AddMsgLine("操作成功. <br />(<a href=\"usercpmygoods.aspx?item=" + item + "\">点击这里返回</a>)<br />");
            }
        }
예제 #3
0
        protected override void ShowPage()
        {
            if (userid == -1)
            {
                AddErrLine("你尚未登录");
                return;
            }

            if (config.Enablemall < 2)
            {
                AddErrLine("当前操作只有在开启商城(高级)模式时才可以使用!");
                return;
            }

            user = Users.GetUserInfo(userid);

            shopinfo = Shops.GetShopByUserId(user.Uid);

            shoplinkinfolist = ShopLinks.GetShopLinkByShopId(shopinfo.Shopid);
            //如果不是提交...
            if (ispost)
            {
                string operation = DNTRequest.GetString("operation");

                if (operation == "")
                {
                    operation = "add";
                }

                switch (operation)
                {
                case "add":     //添加店铺友情链接
                {
                    if (shoplinkinfolist.Count >= 16)
                    {
                        AddErrLine("目前系统允许您最多添加 20 个友情链接");
                        return;
                    }

                    string addusername = DNTRequest.GetString("username");
                    if (addusername == "")
                    {
                        AddErrLine("请输入店主姓名!");
                        return;
                    }

                    int adduserid = Users.GetUserId(addusername);
                    if (adduserid < 0)
                    {
                        AddErrLine("用户名不存在!");
                        return;
                    }
                    if (adduserid == userid)
                    {
                        AddErrLine("店主不能将本人店铺作为友情链接!");
                        return;
                    }

                    Shopinfo add_shopinfo = Shops.GetShopByUserId(Users.GetUserId(addusername));
                    if (add_shopinfo == null && add_shopinfo.Shopid <= 0)
                    {
                        AddErrLine("用户:" + addusername + " 未在本站开店,因此无法添加该友情链接");
                        return;
                    }

                    Shoplinkinfo shoplinkinfo = new Shoplinkinfo();
                    shoplinkinfo.Displayorder = 0;
                    shoplinkinfo.Name         = add_shopinfo.Shopname;
                    shoplinkinfo.Linkshopid   = add_shopinfo.Shopid;
                    shoplinkinfo.Shopid       = shopinfo.Shopid;
                    ShopLinks.CreateShopLink(shoplinkinfo);
                    break;
                }

                case "delete":     //删除店铺友情链接
                {
                    string delshoplink = DNTRequest.GetString("shoplinkid");
                    if (delshoplink == "")
                    {
                        AddErrLine("您未选中友情链接");
                        return;
                    }
                    ShopLinks.DeleteShopLink(delshoplink);
                    break;
                }

                case "updatedisplayorder":     //更新店铺友情链接显示顺序
                {
                    foreach (Shoplinkinfo shoplinkinfo in shoplinkinfolist)
                    {
                        //当显示顺序值发生变化时,则更新相应的信息
                        if (shoplinkinfo.Displayorder != DNTRequest.GetInt("displayorder_" + shoplinkinfo.Id, 0))
                        {
                            shoplinkinfo.Displayorder = DNTRequest.GetInt("displayorder_" + shoplinkinfo.Id, 0);
                            ShopLinks.UpdateShopLink(shoplinkinfo);
                        }
                    }
                    break;
                }
                }

                SetUrl("usercpshoplink.aspx");
                SetMetaRefresh();
                AddMsgLine("操作成功. <br />(<a href=\"usercpshoplink.aspx\">点击这里返回</a>)<br />");
            }
        }
        protected override void ShowPage()
        {
            if (userid == -1)
            {
                AddErrLine("你尚未登录");
                return;
            }

            if (config.Enablemall < 2)
            {
                AddErrLine("当前操作只有在开启商城(高级)模式时才可以使用!");
                return;
            }

            user = Users.GetUserInfo(userid);

            if (item == "")
            {
                item = "shopcategory";
            }

            if (item == "recommend")
            {
                recommendgoodslist = Goods.GetGoodsRecommendManageList(userid, 6, 1, "");
            }

            reccount = (shopgoodscategoryid <= 0) ? Goods.GetGoodsCountBySellerUid(userid, true) : Goods.GetGoodsCountByShopCategory(shopgoodscategoryid, "");

            // 得到分页大小设置
            int pagesize = 10;

            //修正请求页数中可能的错误
            if (pageid < 1)
            {
                pageid = 1;
            }

            //获取总页数
            pagecount = reccount % pagesize == 0 ? reccount / pagesize : reccount / pagesize + 1;
            if (pagecount == 0)
            {
                pagecount = 1;
            }

            if (pageid > pagecount)
            {
                pageid = pagecount;
            }

            shopinfo = Shops.GetShopByUserId(user.Uid);
            //如果不是提交...
            if (!ispost)
            {
                if (shopgoodscategoryid <= 0)
                {
                    goodslist = Goods.GetGoodsListBySellerUID(userid, true, pagesize, pageid, "lastupdate", 1);
                }
                else
                {
                    goodslist = Goods.GetGoodsInfoListByShopCategory(shopgoodscategoryid, pagesize, pageid, "", "lastupdate", 1);
                }

                pagenumbers          = Utils.GetPageNumbers(pageid, pagecount, "usercpshopgoodsmanage.aspx?item=" + item + "&shopgoodscategoryid=" + shopgoodscategoryid, 8);
                shopcategorydt       = ShopCategories.GetShopCategoryTable(shopinfo.Shopid);
                shopcategorydt_count = shopcategorydt.Rows.Count;
                shopcategorydata     = ShopCategories.GetShopCategoryJson(shopcategorydt);
                categoryoptions      = ShopCategories.GetShopCategoryOption(shopcategorydt, true);
            }
            else
            {
                string operation = DNTRequest.GetString("operation");

                if (operation == "")
                {
                    operation = "movecategory";
                }

                switch (operation)
                {
                case "movecategory":     //移动到商品分类
                {
                    if (goodsidlist == "")
                    {
                        AddErrLine("你未选中任何商品");
                        return;
                    }

                    int selectcategoryid = DNTRequest.GetInt("selectcategoryid", 0);
                    if (selectcategoryid <= 0)
                    {
                        AddErrLine("你未选择要移动到的商品分类");
                        return;
                    }
                    if (Goods.IsSeller(goodsidlist, userid))
                    {
                        if (Goods.MoveGoodsShopCategory(goodsidlist, selectcategoryid) > 0)
                        {
                            SetUrl("usercpshopgoodsmanage.aspx?item=" + item + "&shopgoodscategoryid=" + shopgoodscategoryid);
                            SetMetaRefresh();
                            AddMsgLine("操作成功. <br />(<a href=\"usercpshopgoodsmanage.aspx?item=" + item + "&shopgoodscategoryid=" + shopgoodscategoryid + "\">点击这里返回</a>)<br />");
                        }
                        else
                        {
                            AddErrLine("商品参数信息无效或所选商品已在该分类下");
                            return;
                        }
                    }
                    else
                    {
                        AddErrLine("你不是当前商品的卖家,因此无法移动该商品到指定的分类");
                        return;
                    }
                    break;
                }

                case "removecategory":     //移除商品分类
                {
                    int removeshopgoodscategoryid = DNTRequest.GetInt("removeshopgoodscategoryid", 0);

                    int removegoodsid = DNTRequest.GetInt("removegoodsid", 0);

                    if (removeshopgoodscategoryid <= 0 || removegoodsid <= 0)
                    {
                        AddErrLine("移除分类信息错误");
                        return;
                    }

                    if (Goods.IsSeller(removegoodsid.ToString(), userid))
                    {
                        if (Goods.RemoveGoodsShopCategory(removegoodsid, removeshopgoodscategoryid) > 0)
                        {
                            SetUrl("usercpshopgoodsmanage.aspx?item=" + item + "&shopgoodscategoryid=" + shopgoodscategoryid);
                            SetMetaRefresh();
                            AddMsgLine("操作成功. <br />(<a href=\"usercpshopgoodsmanage.aspx?item=" + item + "&shopgoodscategoryid=" + shopgoodscategoryid + "\">点击这里返回</a>)<br />");
                        }
                        else
                        {
                            AddErrLine("商品参数信息无效或所选商品已在该分类下");
                            return;
                        }
                    }
                    else
                    {
                        AddErrLine("您不是当前商品的卖家,因此无法移除该商品的分类");
                        return;
                    }
                    break;
                }

                case "recommend":     //推荐商品
                {
                    if (goodsidlist == "")
                    {
                        AddErrLine("您未选中任何商品");
                        return;
                    }
                    if ((recommendgoodslist.Count + goodsidlist.Split(',').Length) > 5)
                    {
                        AddErrLine("您推荐的商品总数已大于5, 因为无法进行推荐");
                        return;
                    }

                    if (Goods.IsSeller(goodsidlist, userid))
                    {
                        Goods.RecommendGoods(goodsidlist);
                        SetUrl("usercpshopgoodsmanage.aspx?item=" + item + "&shopgoodscategoryid=" + shopgoodscategoryid);
                        SetMetaRefresh();
                        AddMsgLine("操作成功. <br />(<a href=\"usercpshopgoodsmanage.aspx?item=" + item + "&shopgoodscategoryid=" + shopgoodscategoryid + "\">点击这里返回</a>)<br />");
                    }
                    else
                    {
                        AddErrLine("您不是当前商品的卖家,因此无法推荐该商品");
                        return;
                    }
                    break;
                }

                case "cancelrecommend":     //取消推荐商品
                {
                    goodsidlist = DNTRequest.GetString("cancelrecommendgoodsid");
                    if (goodsidlist == "")
                    {
                        AddErrLine("您未选中任何商品");
                        return;
                    }

                    if (Goods.IsSeller(goodsidlist, userid))
                    {
                        Goods.CancelRecommendGoods(goodsidlist);
                        SetUrl("usercpshopgoodsmanage.aspx?item=" + item + "&shopgoodscategoryid=" + shopgoodscategoryid);
                        SetMetaRefresh();
                        AddMsgLine("操作成功. <br />(<a href=\"usercpshopgoodsmanage.aspx?item=" + item + "&shopgoodscategoryid=" + shopgoodscategoryid + "\">点击这里返回</a>)<br />");
                    }
                    else
                    {
                        AddErrLine("你不是当前商品的卖家,因此无法取消推荐该商品");
                        return;
                    }
                    break;
                }

                case "updatedisplayorder":     //更新商品显示顺序
                {
                    foreach (Goodsinfo goodsinfo in recommendgoodslist)
                    {
                        //当显示顺序值发生变化时,则更新相应的商品信息
                        if (goodsinfo.Displayorder != DNTRequest.GetInt("displayorder_" + goodsinfo.Goodsid, 0))
                        {
                            goodsinfo.Displayorder = DNTRequest.GetInt("displayorder_" + goodsinfo.Goodsid, 0);
                            Goods.UpdateGoods(goodsinfo);
                        }
                    }

                    SetUrl("usercpshopgoodsmanage.aspx?item=" + item + "&shopgoodscategoryid=" + shopgoodscategoryid);
                    SetMetaRefresh();
                    AddMsgLine("操作成功. <br />(<a href=\"usercpshopgoodsmanage.aspx?item=" + item + "&shopgoodscategoryid=" + shopgoodscategoryid + "\">点击这里返回</a>)<br />");
                    break;
                }
                }
            }
        }
예제 #5
0
        protected override void ShowPage()
        {
            if (config.Enablemall == 0) //未启用交易模式
            {
                AddErrLine("系统未开启交易模式, 当前页面暂时无法访问!");
                return;
            }

            #region 临时帐号发帖
            //int realuserid = -1;
            //string tempusername = DNTRequest.GetString("tempusername");
            //if (tempusername != "" && tempusername != username)
            //{
            //    string temppassword = DNTRequest.GetString("temppassword");
            //    int question = DNTRequest.GetInt("question", 0);
            //    string answer = DNTRequest.GetString("answer");
            //    realuserid = Users.CheckTempUserInfo(tempusername, temppassword, question, answer);
            //    if (realuserid == -1)
            //    {
            //        AddErrLine("临时帐号登录失败,无法继续发帖。");
            //        return;
            //    }
            //    else
            //    {
            //        userid = realuserid;
            //        username = tempusername;
            //        usergroupinfo = UserGroups.GetUserGroupInfo(Users.GetShortUserInfo(userid).Groupid);
            //        usergroupid = usergroupinfo.Groupid;
            //        useradminid = Users.GetShortUserInfo(userid).Adminid;
            //    }
            //}
            #endregion

            #region 获取分类对象信息
            int categoryid = DNTRequest.GetInt("categoryid", -1);

            //如果是提交...
            if (ispost)
            {
                categoryid = DNTRequest.GetInt("goodscategoryid", -1);
            }

            if (categoryid > 0)
            {
                goodscategoryinfo = GoodsCategories.GetGoodsCategoryInfoById(categoryid);
            }

            if (goodscategoryinfo == null)
            {
                goodscategoryinfo            = new Goodscategoryinfo();
                goodscategoryinfo.Categoryid = -1;
            }

            if (goodscategoryinfo.Fid <= 0)
            {
                allowpostgoods = false;
                forumnav       = "";
                AddErrLine("错误的商品分类ID");
                return;
            }
            #endregion

            canhtmltitle     = config.Htmltitle == 1 && Utils.InArray(usergroupid.ToString(), config.Htmltitleusergroup);
            firstpagesmilies = Caches.GetSmiliesFirstPageCache();

            //内容设置为空;
            message = "";

            if (config.Enablemall == 1) //开启普通模式
            {
                forumid  = GoodsCategories.GetCategoriesFid(categoryid);
                forumnav = "";
                if (forumid == -1)
                {
                    allowpostgoods = false;
                    AddErrLine("错误的商品分类ID");
                    return;
                }
                else
                {
                    forum = Forums.GetForumInfo(forumid);
                    if (forum == null || forum.Layer == 0)
                    {
                        allowpostgoods = false;
                        AddErrLine("错误的商品分类ID");
                        return;
                    }

                    if (forum.Istrade <= 0)
                    {
                        allowpostgoods = false;
                        AddErrLine("当前版块不允许发布商品");
                        return;
                    }

                    forumname = forum.Name;
                    pagetitle = Utils.RemoveHtml(forum.Name);
                    forumnav  = ForumUtils.UpdatePathListExtname(forum.Pathlist.Trim(), config.Extname);
                    enabletag = (config.Enabletag & forum.Allowtag) == 1;
                }
            }
            else if (config.Enablemall == 2) //当为高级模式时
            {
                pagetitle          = "发布商品";
                forumnav           = "";
                enabletag          = true;
                forum              = new ForumInfo();
                forum.Allowsmilies = 1;
                forum.Allowbbcode  = 1;
            }

            //得到用户可以上传的文件类型
            StringBuilder sbAttachmentTypeSelect = new StringBuilder();
            if (!usergroupinfo.Attachextensions.Trim().Equals(""))
            {
                sbAttachmentTypeSelect.Append("[id] in (");
                sbAttachmentTypeSelect.Append(usergroupinfo.Attachextensions);
                sbAttachmentTypeSelect.Append(")");
            }
            if (config.Enablemall == 1) //开启普通模式
            {
                if (!forum.Attachextensions.Equals(""))
                {
                    if (sbAttachmentTypeSelect.Length > 0)
                    {
                        sbAttachmentTypeSelect.Append(" AND ");
                    }
                    sbAttachmentTypeSelect.Append("[id] in (");
                    sbAttachmentTypeSelect.Append(forum.Attachextensions);
                    sbAttachmentTypeSelect.Append(")");
                }
            }
            attachextensions       = Attachments.GetAttachmentTypeArray(sbAttachmentTypeSelect.ToString());
            attachextensionsnosize = Attachments.GetAttachmentTypeString(sbAttachmentTypeSelect.ToString());

            //得到今天允许用户上传的附件总大小(字节)
            int MaxTodaySize = 0;
            if (userid > 0)
            {
                MaxTodaySize = Attachments.GetUploadFileSizeByuserid(userid); //今天已上传大小
            }
            attachsize = usergroupinfo.Maxsizeperday - MaxTodaySize;          //今天可上传得大小

            parseurloff = 0;
            bbcodeoff   = 1;

            if (config.Enablemall == 1) //开启普通模式
            {
                smileyoff = 1 - forum.Allowsmilies;
                allowimg  = forum.Allowimgcode;

                if (forum.Allowbbcode == 1 && usergroupinfo.Allowcusbbcode == 1)
                {
                    bbcodeoff = 0;
                }
            }


            // 如果当前用户非管理员并且论坛设定了禁止发布商品时间段,当前时间如果在其中的一个时间段内,不允许用户发布商品
            if (useradminid != 1 && usergroupinfo.Disableperiodctrl != 1)
            {
                string visittime = "";
                if (Scoresets.BetweenTime(config.Postbanperiods, out visittime))
                {
                    AddErrLine("在此时间段( " + visittime + " )内用户不可以发布商品");
                    return;
                }
            }

            if (config.Enablemall == 1) //开启普通模式
            {
                if (forum.Password != "" && Utils.MD5(forum.Password) != ForumUtils.GetCookie("forum" + forumid.ToString() + "password"))
                {
                    AddErrLine("本版块被管理员设置了密码");
                    SetBackLink(base.ShowForumAspxRewrite(forumid, 0));
                    return;
                }

                if (!Forums.AllowViewByUserId(forum.Permuserlist, userid))        //判断当前用户在当前版块浏览权限
                {
                    if (forum.Viewperm == null || forum.Viewperm == string.Empty) //当板块权限为空时,按照用户组权限
                    {
                        if (useradminid != 1 && (usergroupinfo.Allowvisit != 1 || usergroupinfo.Allowtrade != 1))
                        {
                            AddErrLine("您当前的身份 \"" + usergroupinfo.Grouptitle + "\" 没有发布商品的权限");
                            return;
                        }
                    }
                    else//当板块权限不为空,按照板块权限
                    {
                        if (!Forums.AllowView(forum.Viewperm, usergroupid))
                        {
                            AddErrLine("您没有发布商品的权限");
                            return;
                        }
                    }
                }

                if (!Forums.AllowPostByUserID(forum.Permuserlist, userid))        //判断当前用户在当前版块发布商品权限
                {
                    if (forum.Postperm == null || forum.Postperm == string.Empty) //权限设置为空时,根据用户组权限判断
                    {
                        // 验证用户是否有发布商品的权限
                        if (useradminid != 1 && usergroupinfo.Allowtrade != 1)
                        {
                            AddErrLine("您当前的身份 \"" + usergroupinfo.Grouptitle + "\" 没有发布商品的权限");
                            return;
                        }
                    }
                    else//权限设置不为空时,根据板块权限判断
                    {
                        if (!Forums.AllowPost(forum.Postperm, usergroupid))
                        {
                            AddErrLine("您没有发布商品的权限");
                            return;
                        }
                    }
                }

                //是否有上传附件的权限
                if (Forums.AllowPostAttachByUserID(forum.Permuserlist, userid))
                {
                    canpostattach = true;
                }
                else
                {
                    if (forum.Postattachperm == "")
                    {
                        if (usergroupinfo.Allowpostattach == 1)
                        {
                            canpostattach = true;
                        }
                    }
                    else
                    {
                        if (Forums.AllowPostAttach(forum.Postattachperm, usergroupid))
                        {
                            canpostattach = true;
                        }
                    }
                }
            }
            else if (config.Enablemall == 2) //当为高级模式时
            {
                canpostattach = true;
                allowimg      = 1;
                smileyoff     = 0;
            }


            ShortUserInfo user = Users.GetShortUserInfo(userid);
            if (canpostattach && user != null && apb != null && config.Enablealbum == 1 &&
                (UserGroups.GetUserGroupInfo(user.Groupid).Maxspacephotosize - apb.GetPhotoSizeByUserid(userid) > 0))
            {
                caninsertalbum = true;
                albumlist      = apb.GetSpaceAlbumByUserId(userid);
            }
            else
            {
                caninsertalbum = false;
            }

            // 如果是受灌水限制用户, 则判断是否是灌水
            AdminGroupInfo admininfo = AdminGroups.GetAdminGroupInfo(usergroupid);
            disablepost = 0;
            if (admininfo != null)
            {
                disablepost = admininfo.Disablepostctrl;
            }

            if (admininfo == null || admininfo.Disablepostctrl != 1)
            {
                int Interval = Utils.StrDateDiffSeconds(lastposttime, config.Postinterval);
                if (Interval < 0)
                {
                    AddErrLine("系统规定发布商品间隔为" + config.Postinterval.ToString() + "秒, 您还需要等待 " + (Interval * -1).ToString() + " 秒");
                    return;
                }
                else if (userid != -1)
                {
                    ShortUserInfo shortUserInfo = Discuz.Data.Users.GetShortUserInfo(userid);
                    string        joindate      = (shortUserInfo != null) ? shortUserInfo.Joindate : "";
                    if (joindate == "")
                    {
                        AddErrLine("您的用户资料出现错误");
                        return;
                    }

                    Interval = Utils.StrDateDiffMinutes(joindate, config.Newbiespan);
                    if (Interval < 0)
                    {
                        AddErrLine("系统规定新注册用户必须要在" + config.Newbiespan.ToString() + "分钟后才可以发布商品, 您还需要等待 " + (Interval * -1).ToString() + " 分");
                        return;
                    }
                }
            }

            creditstrans       = Scoresets.GetCreditsTrans();
            userextcreditsinfo = Scoresets.GetScoreSet(creditstrans);

            if (userid > 0)
            {
                spaceid = Users.GetShortUserInfo(userid).Spaceid;
            }

            //如果不是提交...
            if (!ispost)
            {
                AddLinkCss(BaseConfigs.GetForumPath + "templates/" + templatepath + "/editor.css", "css");
                smilies           = Caches.GetSmiliesCache();
                smilietypes       = Caches.GetSmilieTypesCache();
                customeditbuttons = Caches.GetCustomEditButtonList();
            }
            else
            {
                SetBackLink(string.Format("postgoods.aspx?categoryid={0}&restore=1", categoryid));

                string postmessage = DNTRequest.GetString("message");

                ForumUtils.WriteCookie("postmessage", postmessage);

                if (ForumUtils.IsCrossSitePost())
                {
                    AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。");
                    return;
                }

                if (DNTRequest.GetString("title").Trim().Equals(""))
                {
                    AddErrLine("商品标题不能为空");
                }
                else if (DNTRequest.GetString("title").IndexOf(" ") != -1)
                {
                    AddErrLine("商品标题不能包含全角空格符");
                }
                else if (DNTRequest.GetString("title").Length > 60)
                {
                    AddErrLine("商品标题最大长度为60个字符,当前为 " + DNTRequest.GetString("title").Length + " 个字符");
                }

                if (postmessage.Equals("") || postmessage.Replace(" ", "").Equals(""))
                {
                    AddErrLine("商品内容不能为空");
                }

                if (admininfo != null && admininfo.Disablepostctrl != 1)
                {
                    if (postmessage.Length < config.Minpostsize)
                    {
                        AddErrLine("您发表的内容过少, 系统设置要求商品内容不得少于 " + config.Minpostsize + " 字多于 " + config.Maxpostsize + " 字");
                    }
                    else if (postmessage.Length > config.Maxpostsize)
                    {
                        AddErrLine("您发表的内容过多, 系统设置要求商品内容不得少于 " + config.Minpostsize + " 字多于 " + config.Maxpostsize + " 字");
                    }
                }

                //新用户广告强力屏蔽检查
                if (config.Disablepostad == 1 || userid == -1)  //如果开启新用户广告强力屏蔽检查或是游客
                {
                    if (userid == -1 || (config.Disablepostadpostcount != 0 && user.Posts <= config.Disablepostadpostcount) ||
                        (config.Disablepostadregminute != 0 && DateTime.Now.AddMinutes(-config.Disablepostadregminute) <= Convert.ToDateTime(user.Joindate)))
                    {
                        foreach (string regular in config.Disablepostadregular.Replace("\r", "").Split('\n'))
                        {
                            if (Posts.IsAD(regular, DNTRequest.GetString("title"), postmessage))
                            {
                                AddErrLine("发布商品失败,商品内容中似乎有广告信息,请检查标题和内容,如有疑问请与管理员联系");
                                return;
                            }
                        }
                    }
                }

                if (IsErr())
                {
                    return;
                }

                // 如果用户上传了附件,则检测用户是否有上传附件的权限
                if (ForumUtils.IsPostFile())
                {
                    if (Attachments.GetAttachmentTypeArray(sbAttachmentTypeSelect.ToString()).Trim() == "")
                    {
                        AddErrLine("系统不允许上传附件");
                    }

                    if (config.Enablemall == 1) //开启普通模式
                    {
                        if (!Forums.AllowPostAttachByUserID(forum.Permuserlist, userid))
                        {
                            if (!Forums.AllowPostAttach(forum.Postattachperm, usergroupid))
                            {
                                AddErrLine("您没有在该版块上传附件的权限");
                            }
                            else if (usergroupinfo.Allowpostattach != 1)
                            {
                                AddErrLine(string.Format("您当前的身份 \"{0}\" 没有上传附件的权限", usergroupinfo.Grouptitle));
                            }
                        }
                    }
                }

                if (IsErr())
                {
                    return;
                }

                int iconid = DNTRequest.GetInt("iconid", 0);
                if (iconid > 15 || iconid < 0)
                {
                    iconid = 0;
                }

                string curdatetime = Utils.GetDateTime();

                Goodsinfo goodsinfo = new Goodsinfo();

                //当在高级模式下则绑定相应店铺信息
                if (config.Enablemall == 2)
                {
                    Shopinfo shopinfo = Shops.GetShopByUserId(user.Uid);
                    if (shopinfo != null)
                    {
                        goodsinfo.Shopid = shopinfo.Shopid;
                    }
                }
                goodsinfo.Categoryid         = goodscategoryinfo.Categoryid;
                goodsinfo.Parentcategorylist = goodscategoryinfo.Parentidlist;
                goodsinfo.Recommend          = DNTRequest.GetString("recommend") == "on" ? 1 : 0;
                goodsinfo.Discount           = DNTRequest.GetInt("discount", 0);
                goodsinfo.Selleruid          = userid;
                goodsinfo.Seller             = username;
                goodsinfo.Account            = DNTRequest.GetString("account");
                goodsinfo.Price     = Convert.ToDecimal(DNTRequest.GetFormFloat("price", 1).ToString());
                goodsinfo.Amount    = DNTRequest.GetInt("amount", 0);
                goodsinfo.Quality   = DNTRequest.GetInt("quality", 0);
                goodsinfo.Lid       = DNTRequest.GetInt("locus_2", 0);
                goodsinfo.Locus     = Locations.GetLocusByLID(goodsinfo.Lid);
                goodsinfo.Transport = DNTRequest.GetInt("transport", 0);
                if (goodsinfo.Transport != 0)
                {
                    goodsinfo.Ordinaryfee = Convert.ToDecimal(DNTRequest.GetFormFloat("postage_mail", 0).ToString());
                    goodsinfo.Expressfee  = Convert.ToDecimal(DNTRequest.GetFormFloat("postage_express", 0).ToString());
                    goodsinfo.Emsfee      = Convert.ToDecimal(DNTRequest.GetFormFloat("postage_ems", 0).ToString());
                }
                goodsinfo.Itemtype = DNTRequest.GetInt("itemtype", 0);

                DateTime dateline;
                switch (DNTRequest.GetInt("_now", 0))
                {
                case 1: dateline = Convert.ToDateTime(string.Format("{0} {1}:{2}:00", DNTRequest.GetString("_date"), DNTRequest.GetInt("_hour", 0), DNTRequest.GetInt("_minute", 0))); break; //设定

                case 2: dateline = Convert.ToDateTime("1900-01-01 00:00:00"); break;                                                                                                          //返回100年之后的日期作为"暂不设置"

                default: dateline = DateTime.Now; break;                                                                                                                                      //立即
                }

                goodsinfo.Dateline   = dateline;
                goodsinfo.Expiration = Convert.ToDateTime(DNTRequest.GetString("expiration"));
                goodsinfo.Lastbuyer  = "";
                goodsinfo.Lasttrade  = Convert.ToDateTime("1900-01-01 00:00:00");
                goodsinfo.Lastupdate = Convert.ToDateTime(Utils.GetDateTime());
                goodsinfo.Totalitems = 0;
                goodsinfo.Tradesum   = 0;
                goodsinfo.Closed     = 0;
                goodsinfo.Aid        = 0;
                goodsinfo.Costprice  = Convert.ToDecimal(DNTRequest.GetFormFloat("costprice", 1).ToString());
                goodsinfo.Invoice    = DNTRequest.GetInt("invoice", 0);
                goodsinfo.Repair     = DNTRequest.GetInt("repair", 0);
                if (useradminid == 1)
                {
                    goodsinfo.Message = Utils.HtmlEncode(postmessage);
                }
                else
                {
                    goodsinfo.Message = Utils.HtmlEncode(ForumUtils.BanWordFilter(postmessage));
                }

                goodsinfo.Otherlink = "";
                int readperm = DNTRequest.GetInt("readperm", 0);
                goodsinfo.Readperm  = readperm > 255 ? 255 : readperm;
                goodsinfo.Tradetype = DNTRequest.GetInt("tradetype", 0);

                if (goodsinfo.Tradetype == 1 && Utils.StrIsNullOrEmpty(goodsinfo.Account)) //当为支付宝在线支付方式下,如果"支付宝账户"为空时
                {
                    AddErrLine("请输入支付宝帐号信息。");
                    return;
                }

                goodsinfo.Viewcount    = 0;
                goodsinfo.Displayorder = DNTRequest.GetString("displayorder") == "on" ? 0 : -3;

                if (config.Enablemall == 1) //当为版块交易帖是时
                {
                    if (forum.Modnewposts == 1 && useradminid != 1)
                    {
                        if (useradminid > 1)
                        {
                            if (disablepost != 1)
                            {
                                goodsinfo.Displayorder = -2;
                                disablepost            = 0;
                            }
                        }
                        else
                        {
                            goodsinfo.Displayorder = -2;
                            disablepost            = 0;
                        }
                    }
                }

                goodsinfo.Smileyoff = smileyoff;
                if (smileyoff == 0 && forum.Allowsmilies == 1)
                {
                    goodsinfo.Smileyoff = Utils.StrToInt(DNTRequest.GetString("smileyoff"), 0);
                }

                goodsinfo.Bbcodeoff = 1;
                if (usergroupinfo.Allowcusbbcode == 1 && forum.Allowbbcode == 1)
                {
                    goodsinfo.Bbcodeoff = Utils.StrToInt(DNTRequest.GetString("bbcodeoff"), 0);
                }

                goodsinfo.Parseurloff = Utils.StrToInt(DNTRequest.GetString("parseurloff"), 0);

                if (useradminid == 1)
                {
                    goodsinfo.Title = Utils.HtmlEncode(DNTRequest.GetString("title"));
                }
                else
                {
                    goodsinfo.Title = Utils.HtmlEncode(ForumUtils.BanWordFilter(DNTRequest.GetString("title")));
                }

                string htmltitle = DNTRequest.GetString("htmltitle").Trim();
                if (htmltitle != string.Empty && Utils.HtmlDecode(htmltitle).Trim() != goodsinfo.Title)
                {
                    goodsinfo.Magic = 11000;
                    //按照  附加位/htmltitle(1位)/magic(3位)/以后扩展(未知位数) 的方式来存储
                    //例: 11001
                }

                //标签(Tag)操作
                string   tags      = DNTRequest.GetString("tags").Trim();
                string[] tagsArray = null;
                if (enabletag && tags != string.Empty)
                {
                    tagsArray = Utils.SplitString(tags, " ", true, 2, 10);
                    if (tagsArray.Length > 0)
                    {
                        if (goodsinfo.Magic == 0)
                        {
                            goodsinfo.Magic = 10000;
                        }

                        goodsinfo.Magic = Utils.StrToInt(goodsinfo.Magic.ToString() + "1", 0);
                    }
                }

                goodsinfo.Goodsid = Goods.CreateGoods(goodsinfo);
                //保存htmltitle
                if (canhtmltitle && htmltitle != string.Empty && htmltitle != goodsinfo.Title)
                {
                    Goods.WriteHtmlSubjectFile(htmltitle, goodsinfo.Goodsid);
                }

                if (enabletag && tagsArray != null && tagsArray.Length > 0)
                {
                    DbProvider.GetInstance().CreateGoodsTags(string.Join(" ", tagsArray), goodsinfo.Goodsid, userid, curdatetime);
                    GoodsTags.WriteGoodsTagsCacheFile(goodsinfo.Goodsid);
                }

                StringBuilder sb = new StringBuilder();
                sb.Remove(0, sb.Length);

                int watermarkstatus = (forum.Disablewatermark == 1) ? 0 : config.Watermarkstatus;

                Goodsattachmentinfo[] attachmentinfo = Discuz.Mall.MallUtils.SaveRequestFiles(categoryid, config.Maxattachments, usergroupinfo.Maxsizeperday, usergroupinfo.Maxattachsize, MaxTodaySize, attachextensions, watermarkstatus, config, "postfile");
                if (attachmentinfo != null)
                {
                    if (attachmentinfo.Length > config.Maxattachments)
                    {
                        AddErrLine("系统设置为每个商品附件不得多于" + config.Maxattachments + "个");
                        return;
                    }
                    int    errorAttachment = GoodsAttachments.BindAttachment(attachmentinfo, goodsinfo.Goodsid, sb, goodsinfo.Categoryid, userid);
                    int[]  aid             = GoodsAttachments.CreateAttachments(attachmentinfo);
                    string tempMessage     = GoodsAttachments.FilterLocalTags(aid, attachmentinfo, goodsinfo.Message);

                    goodsinfo.Goodspic = (attachmentinfo.Length > 0) ? attachmentinfo[0].Filename : "";
                    if (!tempMessage.Equals(goodsinfo.Message))
                    {
                        goodsinfo.Message = tempMessage;
                        goodsinfo.Aid     = aid[0];
                    }
                    Goods.UpdateGoods(goodsinfo);

                    UserCredits.UpdateUserExtCreditsByUploadAttachment(userid, aid.Length - errorAttachment);
                }

                //加入相册
                #region 相册
                if (config.Enablealbum == 1 && apb != null)
                {
                    sb.Append(apb.CreateAttachment(attachmentinfo, usergroupid, userid, username));
                }
                #endregion
                if (config.Enablemall == 1) //开启普通模式
                {
                    OnlineUsers.UpdateAction(olid, UserAction.PostTopic.ActionID, forumid, forumname, -1, "");
                }

                if (sb.Length > 0)
                {
                    SetShowBackLink(true);

                    sb.Insert(0, "<table cellspacing=\"0\" cellpadding=\"4\" border=\"0\"><tr><td colspan=2 align=\"left\"><span class=\"bold\"><nobr>发布商品成功,但以下附件上传失败:</nobr></span><br /></td></tr>");
                    sb.Append("</table>");
                    SetUrlAndMsgLine(base.ShowGoodsAspxRewrite(goodsinfo.Goodsid), sb.ToString());
                }
                else
                {
                    SetShowBackLink(false);

                    if (config.Enablemall == 1 && forum.Modnewposts == 1 && useradminid != 1)
                    {
                        if (useradminid != 1)
                        {
                            if (disablepost == 1)
                            {
                                if (goodsinfo.Displayorder == -3)
                                {
                                    SetUrlAndMsgLine(base.ShowGoodsListAspxRewrite(goodsinfo.Categoryid, 1), "发布商品成功, 但未上架. 您可到用户中心进行上架操作!");
                                }
                                else
                                {
                                    SetUrlAndMsgLine(base.ShowGoodsAspxRewrite(goodsinfo.Goodsid),
                                                     "发布商品成功, 返回该商品<br />(<a href=\"" + base.ShowGoodsAspxRewrite(goodsinfo.Goodsid) + "\">点击这里返回 " + forumname + "</a>)<br />");
                                }
                            }
                            else
                            {
                                SetUrlAndMsgLine(base.ShowGoodsListAspxRewrite(goodsinfo.Categoryid, 1), "发布商品成功, 但需要经过审核才可以显示. 返回商品列表");
                            }
                        }
                        else
                        {
                            SetUrlAndMsgLine(base.ShowGoodsListAspxRewrite(goodsinfo.Categoryid, 1), "发布商品成功, 返回商品列表");
                        }
                    }
                    else
                    {
                        if (goodsinfo.Displayorder == -3)
                        {
                            SetUrlAndMsgLine(base.ShowGoodsListAspxRewrite(goodsinfo.Categoryid, 1), "发布商品成功, 但未上架. 您可到用户中心进行上架操作!");
                        }
                        else
                        {
                            SetUrlAndMsgLine(base.ShowGoodsAspxRewrite(goodsinfo.Goodsid),
                                             "发布商品成功, 返回该商品<br />(<a href=\"" + base.ShowGoodsAspxRewrite(goodsinfo.Goodsid) + "\">点击这里返回</a>)<br />");
                        }
                    }
                }

                ForumUtils.WriteCookie("postmessage", "");
            }

            topicattachscorefield = 0;
        }