protected override void ShowPage() { pagetitle = "搜索"; GetSearchType(); //判断当前操作是否是用户打开的页面 if (searchsubmit == 0 && !ispost) { //用户权限校验 if (!UserAuthority.Search(usergroupinfo, ref msg)) { AddErrLine(msg); return; } //读取分表信息 if (searchid <= 0) { tablelist = Posts.GetAllPostTableName(); } else { if (searchType == SearchType.Error) { AddErrLine("非法的参数信息"); return; } switch (searchType) { case SearchType.SpacePostTitle: spacepostlist = Searches.GetSearchCacheList(posttableid, searchid, 16, pageid, out topiccount, searchType); break; case SearchType.AlbumTitle: albumlist = Searches.GetSearchCacheList(posttableid, searchid, 16, pageid, out topiccount, searchType); break; case SearchType.ByPoster: topiclist = Searches.GetSearchCacheList(posttableid, searchid, 16, topicpageid, out topiccount, SearchType.TopicTitle); topicpageid = CalculateCurrentPage(topiccount, topicpageid, out topicpagecount); topicpagenumbers = topicpagecount > 1 ? Utils.GetPageNumbers(topicpageid, topicpagecount, "search.aspx?type=" + type + "&searchid=" + searchid.ToString() + "&keyword=" + keyword + "&poster=" + poster, 8, "topicpage", "#1") : ""; return; case SearchType.PostContent: default: topiclist = Searches.GetSearchCacheList(posttableid, searchid, 16, pageid, out topiccount, searchType); break; } if (topiccount == 0) { AddErrLine("不存在的searchid"); return; } CalculateCurrentPage(); //得到页码链接 pagenumbers = pagecount > 1 ? Utils.GetPageNumbers(pageid, pagecount, "search.aspx?type=" + type + "&searchid=" + searchid.ToString() + "&keyword=" + keyword + "&poster=" + poster, 8) : ""; } } else { //检查用户的搜索权限,包括搜索时间间隔的限制 if (!UserAuthority.Search(userid, lastsearchtime, useradminid, usergroupinfo, ref msg)) { AddErrLine(msg); return; } if (searchType == SearchType.Error) { AddErrLine("非法的参数信息"); return; } searchpost = true; string searchforumid = DNTRequest.GetString("searchforumid").Trim(); int posterid = CheckSearchInfo(searchforumid); if (IsErr()) { return; } //if (Utils.StrIsNullOrEmpty(keyword) && posterid > 0 && Utils.StrIsNullOrEmpty(type)) //{ // type = "author"; // searchType = SearchType.ByPoster; //} searchid = Searches.Search(posttableid, userid, usergroupid, keyword, posterid, searchType, searchforumid, DNTRequest.GetInt("searchtime", 0), DNTRequest.GetInt("searchtimetype", 0), DNTRequest.GetInt("resultorder", 0), DNTRequest.GetInt("resultordertype", 0)); if (searchid > 0) { System.Web.HttpContext.Current.Response.Redirect(forumpath + "search.aspx?type=" + type + "&searchid=" + searchid + "&keyword=" + keyword + "&poster=" + poster + "&posttableid=" + posttableid, false); } else { AddErrLine("抱歉, 没有搜索到符合要求的记录"); return; } } }
protected override void ShowPage() { this.pagetitle = "搜索"; this.GetSearchType(); if (this.searchsubmit == 0 && !this.ispost) { if (!UserAuthority.Search(this.usergroupinfo, ref this.msg)) { base.AddErrLine(this.msg); return; } if (this.searchid <= 0) { return; } if (this.searchType == SearchType.Error) { base.AddErrLine("非法的参数信息"); return; } switch (this.searchType) { case SearchType.ByPoster: this.topiclist = SearchCache.GetSearchCacheList(this.searchid, 16, this.topicpageid, out this.topiccount, SearchType.TopicTitle); this.topicpageid = this.CalculateCurrentPage(this.topiccount, this.topicpageid, out this.topicpagecount); this.topicpagenumbers = ((this.topicpagecount > 1) ? Utils.GetPageNumbers(this.topicpageid, this.topicpagecount, "search.aspx?type=" + this.type + "&searchid=" + this.searchid + "&keyword=" + this.keyword + "&poster=" + this.poster, 8, "topicpage", "#1") : ""); return; } this.topiclist = SearchCache.GetSearchCacheList(this.searchid, 16, this.pageid, out this.topiccount, this.searchType); if (this.topiccount == 0) { base.AddErrLine("不存在的searchid"); return; } this.CalculateCurrentPage(); this.pagenumbers = ((this.pagecount > 1) ? Utils.GetPageNumbers(this.pageid, this.pagecount, "search.aspx?type=" + this.type + "&searchid=" + this.searchid + "&keyword=" + this.keyword + "&poster=" + this.poster, 8) : ""); return; } else { if (!UserAuthority.Search(this.userid, this.lastsearchtime, this.useradminid, this.usergroupinfo, ref this.msg)) { base.AddErrLine(this.msg); return; } if (this.searchType == SearchType.Error) { base.AddErrLine("非法的参数信息"); return; } this.searchpost = true; string searchforumid = DNTRequest.GetString("searchforumid").Trim(); int posterid = this.CheckSearchInfo(searchforumid); if (base.IsErr()) { return; } this.searchid = SearchCache.Search(this.userid, this.usergroupid, this.keyword, posterid, this.searchType, searchforumid, DNTRequest.GetInt("searchtime", 0), DNTRequest.GetInt("searchtimetype", 0), DNTRequest.GetInt("resultorder", 0), DNTRequest.GetInt("resultordertype", 0)); if (this.searchid > 0) { Response.Redirect(this.forumpath + "search.aspx?type=" + this.type + "&searchid=" + this.searchid + "&keyword=" + this.keyword + "&poster=" + this.poster, false); return; } base.AddErrLine("抱歉, 没有搜索到符合要求的记录"); return; } }