Ejemplo n.º 1
0
        /// <summary>
        /// 创建留言
        /// </summary>
        /// <param name="goodsleavewordinfo">要创建的留言信息</param>
        /// <param name="selleruid">卖家id</param>
        /// <param name="sendnotice">是否发送通知</param>
        /// <returns></returns>
        public static int CreateLeaveWord(Goodsleavewordinfo goodsLeaveWordInfo, int sellerUid, bool sendNotice)
        {
            goodsLeaveWordInfo.Postdatetime = DateTime.Now;
            goodsLeaveWordInfo.Usesig       = 0;
            goodsLeaveWordInfo.Invisible    = 0;
            goodsLeaveWordInfo.Htmlon       = 0;
            goodsLeaveWordInfo.Smileyoff    = 1;
            goodsLeaveWordInfo.Parseurloff  = 1;
            goodsLeaveWordInfo.Bbcodeoff    = 1;

            //当为买家时,则发送消息给卖家
            if (sendNotice && goodsLeaveWordInfo.Isbuyer == 1)
            {
                NoticeInfo noticeInfo = new NoticeInfo();
                //商品交易通知
                noticeInfo.Note         = Utils.HtmlEncode(string.Format("有买家 <a href=\"userinfo.aspx?userid={0}\">{1}</a> 给您留言, 请<a href =\"showgoods.aspx?goodsid={2}\">点击这里</a>查看详情.", goodsLeaveWordInfo.Uid, goodsLeaveWordInfo.Username, sellerUid));
                noticeInfo.Uid          = sellerUid;
                noticeInfo.Type         = NoticeType.GoodsLeaveWordNotice;
                noticeInfo.New          = 1;
                noticeInfo.Posterid     = goodsLeaveWordInfo.Uid;
                noticeInfo.Poster       = goodsLeaveWordInfo.Username;
                noticeInfo.Postdatetime = Utils.GetDateTime();

                Notices.CreateNoticeInfo(noticeInfo);
            }
            return(DbProvider.GetInstance().CreateGoodsLeaveWord(goodsLeaveWordInfo));
        }
Ejemplo n.º 2
0
            /// <summary>
            /// 获得商品留言信息(DTO)
            /// </summary>
            /// <param name="dt">要转换的数据表</param>
            /// <returns>返回商品留言信息</returns>
            public static Goodsleavewordinfo[] GetGoodsLeaveWordInfoArray(DataTable dt)
            {
                if (dt == null || dt.Rows.Count == 0)
                {
                    return(null);
                }

                Goodsleavewordinfo[] goodsLeaveWordInfoArray = new Goodsleavewordinfo[dt.Rows.Count];
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    goodsLeaveWordInfoArray[i]              = new Goodsleavewordinfo();
                    goodsLeaveWordInfoArray[i].Id           = TypeConverter.ObjectToInt(dt.Rows[i]["id"]);
                    goodsLeaveWordInfoArray[i].Goodsid      = TypeConverter.ObjectToInt(dt.Rows[i]["goodsid"]);
                    goodsLeaveWordInfoArray[i].Tradelogid   = TypeConverter.ObjectToInt(dt.Rows[i]["tradelogid"]);
                    goodsLeaveWordInfoArray[i].Isbuyer      = TypeConverter.ObjectToInt(dt.Rows[i]["isbuyer"]);
                    goodsLeaveWordInfoArray[i].Uid          = TypeConverter.ObjectToInt(dt.Rows[i]["uid"]);
                    goodsLeaveWordInfoArray[i].Username     = dt.Rows[i]["username"].ToString();
                    goodsLeaveWordInfoArray[i].Message      = dt.Rows[i]["message"].ToString();
                    goodsLeaveWordInfoArray[i].Invisible    = TypeConverter.ObjectToInt(dt.Rows[i]["invisible"]);
                    goodsLeaveWordInfoArray[i].Ip           = dt.Rows[i]["ip"].ToString();
                    goodsLeaveWordInfoArray[i].Usesig       = TypeConverter.ObjectToInt(dt.Rows[i]["usesig"]);
                    goodsLeaveWordInfoArray[i].Htmlon       = TypeConverter.ObjectToInt(dt.Rows[i]["htmlon"]);
                    goodsLeaveWordInfoArray[i].Smileyoff    = TypeConverter.ObjectToInt(dt.Rows[i]["smileyoff"]);
                    goodsLeaveWordInfoArray[i].Parseurloff  = TypeConverter.ObjectToInt(dt.Rows[i]["parseurloff"]);
                    goodsLeaveWordInfoArray[i].Bbcodeoff    = TypeConverter.ObjectToInt(dt.Rows[i]["bbcodeoff"]);
                    goodsLeaveWordInfoArray[i].Postdatetime = Convert.ToDateTime(dt.Rows[i]["postdatetime"].ToString());
                }
                dt.Dispose();
                return(goodsLeaveWordInfoArray);
            }
Ejemplo n.º 3
0
            /// <summary>
            /// 获得商品留言信息(DTO)
            /// </summary>
            /// <param name="__idatareader">要转换的数据</param>
            /// <returns>返回商品留言信息</returns>
            public static GoodsleavewordinfoCollection GetGoodsLeaveWordInfoList(IDataReader reader)
            {
                GoodsleavewordinfoCollection goodsLeaveWordInfoColl = new GoodsleavewordinfoCollection();

                while (reader.Read())
                {
                    Goodsleavewordinfo goodsLeaveWordInfo = new Goodsleavewordinfo();
                    goodsLeaveWordInfo.Id           = TypeConverter.ObjectToInt(reader["id"]);
                    goodsLeaveWordInfo.Goodsid      = TypeConverter.ObjectToInt(reader["goodsid"]);
                    goodsLeaveWordInfo.Tradelogid   = TypeConverter.ObjectToInt(reader["tradelogid"]);
                    goodsLeaveWordInfo.Isbuyer      = Convert.ToInt16(reader["isbuyer"].ToString());
                    goodsLeaveWordInfo.Uid          = TypeConverter.ObjectToInt(reader["uid"]);
                    goodsLeaveWordInfo.Username     = reader["username"].ToString().Trim();
                    goodsLeaveWordInfo.Message      = reader["message"].ToString().Trim();
                    goodsLeaveWordInfo.Invisible    = TypeConverter.ObjectToInt(reader["invisible"]);
                    goodsLeaveWordInfo.Ip           = reader["ip"].ToString().Trim();
                    goodsLeaveWordInfo.Usesig       = TypeConverter.ObjectToInt(reader["usesig"]);
                    goodsLeaveWordInfo.Htmlon       = TypeConverter.ObjectToInt(reader["htmlon"]);
                    goodsLeaveWordInfo.Smileyoff    = TypeConverter.ObjectToInt(reader["smileyoff"]);
                    goodsLeaveWordInfo.Parseurloff  = TypeConverter.ObjectToInt(reader["parseurloff"]);
                    goodsLeaveWordInfo.Bbcodeoff    = TypeConverter.ObjectToInt(reader["bbcodeoff"]);
                    goodsLeaveWordInfo.Postdatetime = Convert.ToDateTime(reader["postdatetime"].ToString());

                    goodsLeaveWordInfoColl.Add(goodsLeaveWordInfo);
                }
                reader.Close();
                return(goodsLeaveWordInfoColl);
            }
Ejemplo n.º 4
0
        /// <summary>
        /// 获取指定商品的交易日志JSON数据
        /// </summary>
        /// <param name="goodsid">指定商品</param>
        /// <param name="pagesize">页面大小</param>
        /// <param name="pageindex">当前页面</param>
        /// <param name="orderby">排序字段</param>
        /// <param name="ascdesc">排序方式</param>
        /// <returns></returns>
        public static StringBuilder GetLeaveWordJson(int leaveWordId)
        {
            StringBuilder leaveWordJson = new StringBuilder();

            leaveWordJson.Append("[");

            if (leaveWordId <= 0)
            {
                leaveWordJson.Append("{{'id' : 0, 'isbuyer' : 0, 'uid' : 0, 'username' : '', 'postdatetime' : '', 'message' : ''}}");
            }
            else
            {
                Goodsleavewordinfo goodsleavewordinfo = GoodsLeaveWords.GetGoodsLeaveWordById(leaveWordId);

                if (goodsleavewordinfo == null || goodsleavewordinfo.Id <= 0)
                {
                    leaveWordJson.Append("{{'id' : 0, 'isbuyer' : 0, 'uid' : 0, 'username' : '', 'postdatetime' : '', 'message' : ''}}");
                }
                else
                {
                    leaveWordJson.Append(string.Format("{{'id' : {0}, 'isbuyer' : {1}, 'uid' : {2}, 'username' : '{3}', 'postdatetime' : '{4}', 'message' : '{5}'}}",
                                                       goodsleavewordinfo.Id,
                                                       goodsleavewordinfo.Isbuyer == 1 ? "true" : "false",
                                                       goodsleavewordinfo.Uid,
                                                       goodsleavewordinfo.Username,
                                                       goodsleavewordinfo.Postdatetime.ToString("yyyy-MM-dd"),
                                                       goodsleavewordinfo.Message.Replace("\r\n", "<br />")));
                }
            }
            return(leaveWordJson.Append("]"));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 删除指定留言id的留言信息
        /// </summary>
        /// <param name="id">留言id</param>
        /// <param name="userid">当前留言的提交人</param>
        /// <param name="selleruid">当前商品的卖家</param>
        /// <returns></returns>
        public static bool DeleteLeaveWordById(int id, int userId, int sellerUid, int userAdminId)
        {
            //删除留言的操作
            Goodsleavewordinfo goodsleaveword = GetGoodsLeaveWordById(id);

            //当为管理组身份 或 留言的uid与当前用户相同时
            if (userAdminId == 1 || (goodsleaveword != null && goodsleaveword.Uid == userId) || sellerUid == userId)
            {
                return(DbProvider.GetInstance().DeleteGoodsLeaveWordById(id));
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 6
0
 /// <summary>
 /// 创建留言
 /// </summary>
 /// <param name="goodsleavewordinfo">要创建的留言信息</param>
 /// <param name="selleruid">卖家id</param>
 /// <returns></returns>
 public static int CreateLeaveWord(Goodsleavewordinfo goodsLeaveWordInfo, int sellerUid)
 {
     return(CreateLeaveWord(goodsLeaveWordInfo, sellerUid, true));
 }
Ejemplo n.º 7
0
 /// <summary>
 /// 更新指定的留言信息
 /// </summary>
 /// <param name="goodsleavewordinfo">要更新的留言信息</param>
 /// <returns></returns>
 public static bool UpdateLeaveWord(Goodsleavewordinfo goodsLeaveWordInfo)
 {
     return(DbProvider.GetInstance().UpdateGoodsLeaveWord(goodsLeaveWordInfo));
 }
Ejemplo n.º 8
0
        protected override void ShowPage()
        {
            if (config.Enablemall == 0) //未启用交易服务
            {
                AddErrLine("系统未开启交易服务, 当前页面暂时无法访问!");
                return;
            }

            headerad = "";
            footerad = "";

            // 如果商品交易日志不正确
            if (goodstradelogid <= 0)
            {
                AddErrLine("无效的交易日志信息.");
                return;
            }

            goodstradelog = TradeLogs.GetGoodsTradeLogInfo(goodstradelogid);
            int oldstatus = goodstradelog.Status;

            if (config.Enablemall == 1) //开启普通模式
            {
                forumid   = GoodsCategories.GetCategoriesFid(goodstradelog.Categoryid);
                forum     = Forums.GetForumInfo(forumid);
                forumname = forum.Name;
                forumnav  = ForumUtils.UpdatePathListExtname(forum.Pathlist.Trim(), config.Extname);
            }
            else if (config.Enablemall == 2) //当为高级模式时
            {
                forumid = 0;
            }

            ///得到广告列表
            ///头部
            headerad = Advertisements.GetOneHeaderAd("", forumid);
            footerad = Advertisements.GetOneFooterAd("", forumid);
            doublead = Advertisements.GetDoubleAd("", forumid);
            floatad  = Advertisements.GetFloatAd("", forumid);

            pagetitle   = goodstradelog.Subject;
            navhomemenu = Caches.GetForumListMenuDivCache(usergroupid, userid, config.Extname);

            if (useradminid != 0)
            {
                if (config.Enablemall == 1) //开启普通模式
                {
                    ismoder = Moderators.IsModer(useradminid, userid, forumid) ? 1 : 0;
                }

                //得到管理组信息
                admininfo = AdminGroups.GetAdminGroupInfo(usergroupid);
            }
            //验证不通过则返回
            if (!IsConditionsValid())
            {
                return;
            }

            goodsleavewordlist = GoodsLeaveWords.GetLeaveWordList(goodstradelog.Id);

            if (goodstradelog.Status == 7 || goodstradelog.Status == 17)
            {
                israted = GoodsRates.CanRate(goodstradelog.Id, userid) ? false : true; //如果当前用户已评价过则不允许再评价
            }
            //如果是提交则更新商品交易日志
            if (ispost && goodstradelog.Status >= 0)
            {
                if (ForumUtils.IsCrossSitePost())
                {
                    AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。");
                    return;
                }

                //当要验证密码时
                if (DNTRequest.GetInt("status", -1) > 0 && IsVerifyPassWord(goodstradelog.Status))
                {
                    if (Utils.StrIsNullOrEmpty(DNTRequest.GetString("password")))
                    {
                        AddErrLine("密码不能为空, 请返回填写.");
                        return;
                    }

                    int uid = -1;
                    if (config.Passwordmode == 1)
                    {
                        uid = Users.CheckDvBbsPassword(base.username, DNTRequest.GetString("password"));
                    }
                    else
                    {
                        uid = Users.CheckPassword(username, DNTRequest.GetString("password"), true);
                    }

                    if (uid < 0)
                    {
                        AddErrLine("您输入的密码不正确, 不能修改订单状态, 请返回修改.");
                        return;
                    }

                    //当验证密码正确后,则发送相应留言
                    Goodsleavewordinfo goodsleavewordinfo = new Goodsleavewordinfo();
                    goodsleavewordinfo.Ip         = DNTRequest.GetIP();
                    goodsleavewordinfo.Goodsid    = goodstradelog.Goodsid;
                    goodsleavewordinfo.Tradelogid = goodstradelog.Id;
                    goodsleavewordinfo.Uid        = userid;
                    goodsleavewordinfo.Username   = username;
                    goodsleavewordinfo.Message    = DNTRequest.GetString("message");
                    goodsleavewordinfo.Isbuyer    = buyerleaveword;
                    GoodsLeaveWords.CreateLeaveWord(goodsleavewordinfo, goodsinfo.Selleruid);
                }

                goodstradelog.Status = DNTRequest.GetInt("status", -1);

                if (goodstradelog.Status == 0)
                {
                    //当为买家时
                    if (isbuyer)
                    {
                        goodstradelog.Quality       = goodsinfo.Quality;
                        goodstradelog.Categoryid    = goodsinfo.Categoryid;
                        goodstradelog.Tax           = 0;
                        goodstradelog.Locus         = goodsinfo.Locus;
                        goodstradelog.Seller        = goodsinfo.Seller;
                        goodstradelog.Sellerid      = goodsinfo.Selleruid;
                        goodstradelog.Selleraccount = goodsinfo.Account;
                        goodstradelog.Buyerid       = userid;
                        goodstradelog.Buyer         = username;
                        goodstradelog.Buyercontact  = DNTRequest.GetString("buyercontact");
                        goodstradelog.Buyercredit   = 0;
                        goodstradelog.Buyermsg      = DNTRequest.GetString("buyermsg");
                        goodstradelog.Lastupdate    = DateTime.Now;
                        goodstradelog.Buyername     = DNTRequest.GetString("buyername");
                        goodstradelog.Buyerzip      = DNTRequest.GetString("buyerzip");
                        goodstradelog.Buyerphone    = DNTRequest.GetString("buyerphone");
                        goodstradelog.Buyermobile   = DNTRequest.GetString("buyermobile");
                        goodstradelog.Transport     = goodsinfo.Transport;
                        goodstradelog.Baseprice     = goodsinfo.Costprice;
                        goodstradelog.Discount      = goodsinfo.Discount;
                        goodstradelog.Ratestatus    = 0;
                        goodstradelog.Message       = "";
                    }

                    if (isseller) //当为卖家时
                    {
                        goodstradelog.Transportfee = DNTRequest.GetInt("fee", 0);
                    }
                }

                if (TradeLogs.UpdateTradeLog(goodstradelog, oldstatus, true))
                {
                    SetUrl("offlinetrade.aspx?goodstradelogid=" + goodstradelogid);
                    SetMetaRefresh();
                    AddMsgLine("交易单已更新, 现在转入交易单页面<br />(<a href=\"" + "offlinetrade.aspx?goodstradelogid=" + goodstradelogid + "\">如果您的浏览器没有自动跳转, 请点击这里</a>)<br />");
                }
            }
        }
Ejemplo n.º 9
0
        protected override void ShowPage()
        {
            if (config.Enablemall == 0) //未启用交易服务
            {
                AddErrLine("系统未开启交易服务, 当前页面暂时无法访问!");
                return;
            }
            else
            {
                goodscategoryfid = Discuz.Mall.GoodsCategories.GetGoodsCategoryWithFid();
            }

            headerad = "";
            footerad = "";
            floatad  = "";

            disablepostctrl = 0;

            // 如果商品ID无效
            if (goodsid == -1)
            {
                AddErrLine("无效的商品ID");
                return;
            }

            goodsinfo = Goods.GetGoodsInfo(goodsid);
            if (goodsinfo == null || goodsinfo.Closed > 1)
            {
                AddErrLine("不存在的商品ID");
                headerad = Advertisements.GetOneHeaderAd("", 0);
                footerad = Advertisements.GetOneFooterAd("", 0);
                floatad  = Advertisements.GetFloatAd("", 0);
                return;
            }

            UserInfo userinfo = Users.GetUserInfo(goodsinfo.Selleruid);

            if (userinfo != null)
            {
                joindate = Convert.ToDateTime(userinfo.Joindate).ToString("yyyy-MM-dd");
            }

            sb_usercredit       = GoodsUserCredits.GetUserCreditJsonData(goodsinfo.Selleruid);
            creditrulesjsondata = GoodsUserCredits.GetCreditRulesJsonData().ToString();

            if (config.Enablemall == 1) //开启普通模式
            {
                forumid = GoodsCategories.GetCategoriesFid(goodsinfo.Categoryid);
                forum   = Forums.GetForumInfo(forumid);
                if (forum == null)
                {
                    AddErrLine("当前商品所属分类未绑定相应版块");
                    return;
                }

                forumname = forum.Name;
                forumnav  = ForumUtils.UpdatePathListExtname(forum.Pathlist.Trim(), config.Extname);

                ///得到广告列表
                ///头部
                headerad = Advertisements.GetOneHeaderAd("", forumid);
                footerad = Advertisements.GetOneFooterAd("", forumid);
                doublead = Advertisements.GetDoubleAd("", forumid);
                floatad  = Advertisements.GetFloatAd("", forumid);

                // 检查是否具有版主的身份
                if (useradminid != 0)
                {
                    ismoder = Moderators.IsModer(useradminid, userid, forumid) ? 1 : 0;
                    //得到管理组信息
                    admininfo = AdminGroups.GetAdminGroupInfo(usergroupid);
                    if (admininfo != null)
                    {
                        disablepostctrl = admininfo.Disablepostctrl;
                    }
                }
            }
            goodscategoryinfo = GoodsCategories.GetGoodsCategoryInfoById(goodsinfo.Categoryid);
            pagetitle         = goodsinfo.Title;
            navhomemenu       = Caches.GetForumListMenuDivCache(usergroupid, userid, config.Extname);

            //验证不通过则返回
            if (!IsConditionsValid())
            {
                return;
            }

            //编辑器状态
            StringBuilder sb = new StringBuilder("var Allowhtml=1;\r\n");

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

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

                allowimg = forum.Allowimgcode;
            }
            else if (config.Enablemall == 2) //当为高级模式时
            {
                if (usergroupinfo.Allowcusbbcode == 1)
                {
                    bbcodeoff = 0;
                }

                allowimg = 1;
            }

            sb.Append("var Allowsmilies=" + (1 - smileyoff) + ";\r\n");
            sb.Append("var Allowbbcode=" + (1 - bbcodeoff) + ";\r\n");
            usesig = ForumUtils.GetCookie("sigstatus") == "0" ? 0 : 1;
            sb.Append("var Allowimgcode=" + allowimg + ";\r\n");

            AddScript(sb.ToString());

            if (config.Enablemall == 2)
            {
                recommendgoodslist = Goods.GetGoodsRecommendList(goodsinfo.Selleruid, 6, 1,
                                                                 DbProvider.GetInstance().GetGoodsIdCondition((int)MallUtils.OperaCode.NoEuqal, goodsinfo.Goodsid));
            }

            smilietypes = Caches.GetSmilieTypesCache();

            if (newpmcount > 0)
            {
                pmlist     = PrivateMessages.GetPrivateMessageListForIndex(userid, 5, 1, 1);
                showpmhint = Convert.ToInt32(Users.GetShortUserInfo(userid).Newsletter) > 4;
            }


            // 得到pptradelog设置
            pptradelog = Utils.StrToInt(ForumUtils.GetCookie("ppp"), config.Ppp);
            if (pptradelog <= 0)
            {
                pptradelog = config.Ppp;
            }

            //快速发帖广告
            if (config.Enablemall == 1) //开启普通模式
            {
                quickeditorad = Advertisements.GetQuickEditorAD("", forumid);
            }

            //更新页面Meta中的Description项, 提高SEO友好性
            string metadescritpion = Utils.RemoveHtml(goodsinfo.Message);

            metadescritpion = metadescritpion.Length > 100 ? metadescritpion.Substring(0, 100) : metadescritpion;
            UpdateMetaInfo(config.Seokeywords, metadescritpion, config.Seohead);

            GoodspramsInfo goodspramsInfo = new GoodspramsInfo();

            goodspramsInfo.Goodsid = goodsinfo.Goodsid;

            if (config.Enablemall == 1) //开启普通模式
            {
                goodspramsInfo.Fid           = forum.Fid;
                goodspramsInfo.Jammer        = forum.Jammer;
                goodspramsInfo.Getattachperm = forum.Getattachperm;
                goodspramsInfo.Showimages    = forum.Allowimgcode;
            }
            else if (config.Enablemall == 2) //当为高级模式时
            {
                goodspramsInfo.Jammer        = 0;
                goodspramsInfo.Getattachperm = "";
                goodspramsInfo.Showimages    = 1;
            }
            goodspramsInfo.Pageindex          = pageid;
            goodspramsInfo.Usergroupid        = usergroupid;
            goodspramsInfo.Attachimgpost      = config.Attachimgpost;
            goodspramsInfo.Showattachmentpath = config.Showattachmentpath;
            goodspramsInfo.Hide  = 0;
            goodspramsInfo.Price = 0;
            goodspramsInfo.Usergroupreadaccess = usergroupinfo.Readaccess;

            if (ismoder == 1)
            {
                goodspramsInfo.Usergroupreadaccess = int.MaxValue;
            }

            goodspramsInfo.CurrentUserid          = userid;
            goodspramsInfo.Smiliesinfo            = Smilies.GetSmiliesListWithInfo();
            goodspramsInfo.Customeditorbuttoninfo = Editors.GetCustomEditButtonListWithInfo();
            goodspramsInfo.Smiliesmax             = config.Smiliesmax;
            goodspramsInfo.Bbcodemode             = config.Bbcodemode;
            goodspramsInfo.CurrentUserGroup       = usergroupinfo;
            goodspramsInfo.Sdetail     = goodsinfo.Message;
            goodspramsInfo.Smileyoff   = goodsinfo.Smileyoff;
            goodspramsInfo.Bbcodeoff   = goodsinfo.Bbcodeoff;
            goodspramsInfo.Parseurloff = goodsinfo.Parseurloff;
            goodspramsInfo.Allowhtml   = 1;
            goodspramsInfo.Sdetail     = goodsinfo.Message;

            message = Goods.MessgeTranfer(goodspramsInfo, GoodsAttachments.GetGoodsAttachmentsByGoodsid(goodsinfo.Goodsid));

            forumlistboxoptions = Caches.GetForumListBoxOptionsCache();
            tradecount          = TradeLogs.GetGoodsTradeLogCount(goodsid);
            leavewordcount      = GoodsLeaveWords.GetGoodsLeaveWordCount(goodsid);
            pptradelog          = 16;

            ForumUtils.WriteCookie("referer", string.Format(base.ShowGoodsAspxRewrite(goodsinfo.Goodsid)));

            if (config.Enablemall == 1) //开启普通模式
            {
                ForumUtils.UpdateVisitedForumsOptions(forumid);
            }

            visitedforumsoptions = ForumUtils.GetVisitedForumsOptions(config.Visitedforums);

            //删除留言
            if (DNTRequest.GetInt("deleteleaveword", 0) == 1)
            {
                isdeleteop = true;
                int leavewordid = DNTRequest.GetInt("leavewordid", 0);

                if (leavewordid <= 0)
                {
                    AddErrLine("您要删除的留言已被删除, 现在转入商品页面");
                    return;
                }
                if (GoodsLeaveWords.DeleteLeaveWordById(leavewordid, userid, goodsinfo.Selleruid, useradminid))
                {
                    SetUrl(base.ShowGoodsAspxRewrite(goodsinfo.Goodsid));
                    SetMetaRefresh();
                    AddMsgLine("该留言已被删除, 现在转入商品页面<br />(<a href=\"" + base.ShowGoodsAspxRewrite(goodsinfo.Goodsid) + "\">如果您的浏览器没有自动跳转, 请点击这里</a>)<br />");
                    return;
                }
                else
                {
                    AddErrLine("您的用户身份无效删除该留言, 现在转入商品页面");
                    return;
                }
            }

            //删除商品
            if (DNTRequest.GetInt("deletegoods", 0) == 1)
            {
                isdeleteop = true;
                //是否为卖家或版主
                if (Goods.IsSeller(goodsinfo.Goodsid.ToString(), userid) || ismoder == 1)
                {
                    Goods.DeleteGoods(goodsinfo.Goodsid.ToString(), false);

                    SetUrl(this.ShowGoodsListAspxRewrite(goodsinfo.Categoryid, 1));
                    SetMetaRefresh();
                    AddMsgLine("操作成功. <br />(<a href=\"" + this.ShowGoodsListAspxRewrite(goodsinfo.Categoryid, 1) + "\">点击这里返回</a>)<br />");
                    return;
                }
                else
                {
                    AddErrLine("你不是当前商品的卖家或版主,因此无法删除该商品");
                    return;
                }
            }


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

                if (DNTRequest.GetString("postleaveword") == "add")
                {
                    //当验证密码正确后,则发送相应留言
                    Goodsleavewordinfo goodsleavewordinfo = new Goodsleavewordinfo();
                    goodsleavewordinfo.Ip         = DNTRequest.GetIP();
                    goodsleavewordinfo.Goodsid    = goodsinfo.Goodsid;
                    goodsleavewordinfo.Tradelogid = 0;
                    goodsleavewordinfo.Uid        = userid;
                    goodsleavewordinfo.Username   = username;
                    goodsleavewordinfo.Message    = DNTRequest.GetString("message");
                    goodsleavewordinfo.Isbuyer    = goodsinfo.Selleruid != userid ? 1 : 0;
                    if (GoodsLeaveWords.CreateLeaveWord(goodsleavewordinfo, goodsinfo.Selleruid, DNTRequest.GetString("sendnotice") == "on" ? true : false) > 0)
                    {
                        SetUrl(base.ShowGoodsAspxRewrite(goodsinfo.Goodsid));
                        SetMetaRefresh();
                        AddMsgLine("您的留言已发布, 现在转入商品页面<br />(<a href=\"" + base.ShowGoodsAspxRewrite(goodsinfo.Goodsid) + "\">如果您的浏览器没有自动跳转, 请点击这里</a>)<br />");
                    }
                }
                else
                {
                    //当验证密码正确后,则发送相应留言
                    Goodsleavewordinfo goodsleavewordinfo = GoodsLeaveWords.GetGoodsLeaveWordById(DNTRequest.GetInt("leavewordid", 0));
                    if (goodsleavewordinfo != null && goodsleavewordinfo.Id > 0)
                    {
                        goodsleavewordinfo.Ip           = DNTRequest.GetIP();
                        goodsleavewordinfo.Uid          = userid;
                        goodsleavewordinfo.Username     = username;
                        goodsleavewordinfo.Message      = DNTRequest.GetString("message");
                        goodsleavewordinfo.Postdatetime = DateTime.Now;
                        if (GoodsLeaveWords.UpdateLeaveWord(goodsleavewordinfo))
                        {
                            SetUrl(base.ShowGoodsAspxRewrite(goodsinfo.Goodsid));
                            SetMetaRefresh();
                            AddMsgLine("留言更新成功, 现在转入商品页面<br />(<a href=\"" + base.ShowGoodsAspxRewrite(goodsinfo.Goodsid) + "\">如果您的浏览器没有自动跳转, 请点击这里</a>)<br />");
                        }
                    }
                    else
                    {
                        AddErrLine("当前留言不存在或已被删除");
                        return;
                    }
                }
            }
            else
            {
                goodsinfo.Viewcount += 1; //浏览量加1
                Goods.UpdateGoods(goodsinfo);
            }
        }