示例#1
0
        /// <summary>
        /// 获得指定用户的短信息列表
        /// </summary>
        /// <param name="userid">用户ID</param>
        /// <param name="folder">短信息类型(0:收件箱,1:发件箱,2:草稿箱)</param>
        /// <param name="pagesize">每页显示短信息数</param>
        /// <param name="pageindex">当前要显示的页数</param>
        /// <param name="strwhere">筛选条件</param>
        /// <returns>短信息列表</returns>
        public static PrivateMessageInfoCollection GetPrivateMessageCollection(int userid, int folder, int pagesize, int pageindex, int inttype)
        {
            PrivateMessageInfoCollection coll = new PrivateMessageInfoCollection();
            IDataReader reader = DatabaseProvider.GetInstance().GetPrivateMessageList(userid, folder, pagesize, pageindex, inttype);

            if (reader != null)
            {
                while (reader.Read())
                {
                    PrivateMessageInfo info = new PrivateMessageInfo();
                    info.Pmid         = int.Parse(reader["pmid"].ToString());
                    info.Msgfrom      = reader["msgfrom"].ToString();
                    info.Msgfromid    = int.Parse(reader["msgfromid"].ToString());
                    info.Msgto        = reader["msgto"].ToString();
                    info.Msgtoid      = int.Parse(reader["msgtoid"].ToString());
                    info.Folder       = Int16.Parse(reader["folder"].ToString());
                    info.New          = int.Parse(reader["new"].ToString());
                    info.Subject      = reader["subject"].ToString();
                    info.Postdatetime = reader["postdatetime"].ToString();
                    info.Message      = reader["message"].ToString();
                    coll.Add(info);
                }
                reader.Close();
            }
            return(coll);
        }
示例#2
0
        /// <summary>
        /// 加载用户当前请求页数的短消息列表并装入DataTable中
        /// </summary>
        private void BindItems()
        {
            //得到当前用户请求的页数
            pageid = DNTRequest.GetInt("page", 1);
            //获取主题总数
            pmcount = PrivateMessages.GetPrivateMessageCount(userid, 0);
            //获取总页数
            pagecount = pmcount % 16 == 0 ? pmcount / 16 : pmcount / 16 + 1;
            if (pagecount == 0)
            {
                pagecount = 1;
            }
            //修正请求页数中可能的错误
            if (pageid < 1)
            {
                pageid = 1;
            }
            if (pageid > pagecount)
            {
                pageid = pagecount;
            }

            usedmsgcount = PrivateMessages.GetPrivateMessageCount(userid, -1);
            maxmsg       = usergroupinfo.Maxpmnum;

            if (maxmsg <= 0)
            {
                usedmsgbarwidth   = 0;
                unusedmsgbarwidth = 0;
            }
            else
            {
                usedmsgbarwidth   = usedmsgcount * 100 / maxmsg;
                unusedmsgbarwidth = 100 - usedmsgbarwidth;
            }

//				//用户是不是有新的短信息,如果没有则设置用户的短信息状态为没有状态(状态为 0 )
//				pmlist = PrivateMessages.GetPrivateMessageList(userid, 0, 1, 1, "[new]=1");
//				if (pmlist!=null)
//				{
//					if (pmlist.Rows.Count<=0)
//					{
//						Users.SetUserNewPMCount(userid,0);
//					}
//				}
//				else
//				{
//					Users.SetUserNewPMCount(userid,0);
//				}

            pmlist      = PrivateMessages.GetPrivateMessageCollection(userid, 0, 16, pageid, 2);
            pagenumbers = Utils.GetPageNumbers(pageid, pagecount, "usercpinbox.aspx", 8);
        }
示例#3
0
        /// <summary>
        /// 返回短标题的收件箱短消息列表
        /// </summary>
        /// <param name="userid">用户ID</param>
        /// <param name="pagesize">每页显示短信息数</param>
        /// <param name="pageindex">当前要显示的页数</param>
        /// <param name="strwhere">筛选条件</param>
        /// <returns></returns>
        public static PrivateMessageInfoCollection GetPrivateMessageCollectionForIndex(int userid, int pagesize, int pageindex, int inttype)
        {
            PrivateMessageInfoCollection coll = GetPrivateMessageCollection(userid, 0, pagesize, pageindex, inttype);

            if (coll.Count > 0)
            {
                for (int i = 0; i < coll.Count; i++)
                {
                    coll[i].Message = Utils.GetSubString(coll[i].Message, 20, "...");
                }
            }
            return(coll);
        }
示例#4
0
        /// <summary>
        /// 加载用户当前请求页数的短消息列表并装入DataTable中
        /// </summary>
        private void BindItems()
        {
            //得到当前用户请求的页数
            pageid = DNTRequest.GetInt("page", 1);
            //获取主题总数
            pmcount = PrivateMessages.GetPrivateMessageCount(userid, 1);
            //获取总页数
            pagecount = pmcount % 16 == 0 ? pmcount / 16 : pmcount / 16 + 1;
            if (pagecount == 0)
            {
                pagecount = 1;
            }
            //修正请求页数中可能的错误
            if (pageid < 1)
            {
                pageid = 1;
            }
            if (pageid > pagecount)
            {
                pageid = pagecount;
            }

            //取得用户所有短消息总数,第二个参数就传-1
            usedmsgcount = PrivateMessages.GetPrivateMessageCount(userid, -1);
            maxmsg       = usergroupinfo.Maxpmnum;

            if (maxmsg <= 0)
            {
                usedmsgbarwidth   = 0;
                unusedmsgbarwidth = 0;
            }
            else
            {
                usedmsgbarwidth   = usedmsgcount * 100 / maxmsg;
                unusedmsgbarwidth = 100 - usedmsgbarwidth;
            }

            pmlist      = PrivateMessages.GetPrivateMessageCollection(userid, 1, 16, pageid, 2);
            pagenumbers = Utils.GetPageNumbers(pageid, pagecount, "usercpsentbox.aspx", 8);
        }
示例#5
0
        protected override void ShowPage()
        {
            pagetitle = "首页";

            score = Scoresets.GetValidScoreName();

            if (config.Rssstatus == 1)
            {
                AddLinkRss("tools/rss.aspx", string.Format("{0} 最新主题", config.Forumtitle));
            }

            OnlineUsers.UpdateAction(olid, UserAction.IndexShow.ActionID, 0, config.Onlinetimeout);

            if (newpmcount > 0)
            {
                pmlist = PrivateMessages.GetPrivateMessageCollectionForIndex(userid, 5, 1, 1);
            }

            userinfo = new ShortUserInfo();
            if (userid != -1)
            {
                userinfo = Discuz.Forum.Users.GetShortUserInfo(userid);
                if (userinfo.Newpm == 0)
                {
                    base.newpmcount = 0;
                }
                lastvisit  = userinfo.Lastvisit.ToString();
                showpmhint = Convert.ToInt32(userinfo.Newsletter) > 4;
            }

            Statistics.GetPostCountFromForum(0, out totaltopic, out totalpost, out todayposts);
            digesttopiclist = Focuses.GetDigestTopicList(16);
            hottopiclist    = Focuses.GetHotTopicList(16, 30);
            forumlinklist   = Caches.GetForumLinkList();
            forumlinkcount  = forumlinklist.Rows.Count;

            // 获得统计信息
            totalusers   = Utils.StrToInt(Statistics.GetStatisticsRowItem("totalusers"), 0);
            lastusername = Statistics.GetStatisticsRowItem("lastusername");
            lastuserid   = Utils.StrToInt(Statistics.GetStatisticsRowItem("lastuserid"), 0);

            totalonline = onlineusercount;

            showforumonline = false;
            if (totalonline < config.Maxonlinelist || DNTRequest.GetString("showonline") == "yes")
            {
                showforumonline = true;
                onlineuserlist  = OnlineUsers.GetOnlineUserList(onlineusercount, out totalonlineguest, out totalonlineuser, out totalonlineinvisibleuser);
                onlineiconlist  = Caches.GetOnlineGroupIconList();
            }

            if (DNTRequest.GetString("showonline") == "no")
            {
                showforumonline = false;
            }

            highestonlineusercount = Statistics.GetStatisticsRowItem("highestonlineusercount");
            highestonlineusertime  = Statistics.GetStatisticsRowItem("highestonlineusertime");

            // 得到公告
            announcementlist  = Announcements.GetSimplifiedAnnouncementList(nowdatetime, "2999-01-01 00:00:00");
            announcementcount = 0;
            if (announcementlist != null)
            {
                announcementcount = announcementlist.Rows.Count;
            }

            ///得到广告列表
            headerad   = Advertisements.GetOneHeaderAd("indexad", 0);
            footerad   = Advertisements.GetOneFooterAd("indexad", 0);
            pagewordad = Advertisements.GetPageWordAd("indexad", 0);
            doublead   = Advertisements.GetDoubleAd("indexad", 0);
            floatad    = Advertisements.GetFloatAd("indexad", 0);
        }
示例#6
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);
            }
        }