예제 #1
0
    //  ItemDisplayer.ItemLayoutOptions itemLayoutOptions = ItemDisplayer.ItemLayoutOptions.Columns;
    //  ItemDisplayer.ItemLayoutOptions itemLayoutOptions = ItemDisplayer.ItemLayoutOptions.Categorized;
    protected override void OnInit(EventArgs e)
    {
        // Create dynamic controls here.

        //  Default Search Parameters.
        query = String.Empty;
        sType = SearchEngine.SearchType.Title;
        sCategory = "All Categories";
        sTime = SearchEngine.SearchTime.Today;

        dbOps = DBOperations.Instance;
        links = Links.Instance;
        general = General.Instance;
        gui = GUIVariables.Instance;
        categories = Categories.Instance;
        engine = ProcessingEngine.Instance;
        imageEngine = ImageEngine.Instance;
        searchEngine = SearchEngine.Instance;
        itemDisplayer = ItemDisplayer.Instance;

        seperator = gui.Seperator;

        if (!string.IsNullOrEmpty(Request.QueryString["startItem"]))
        {
            bool isStartItemInt = int.TryParse(Request.QueryString["startItem"].Trim(), out startItem);
            if (!isStartItemInt)
            {
                startItem = 0;
            }

            if (startItem < 0)
            {
                startItem = 0;
            }
        }
        else
        {
            startItem = 0;
        }

        if (!string.IsNullOrEmpty(Request.QueryString["sort"]))
        {
            string sortStr = Convert.ToString(Request.QueryString["sort"]);
            sort = engine.GetSortType(sortStr);
        }

        if (Request.Cookies["getputsLayoutCookie"] != null)
        {
            HttpCookie getputsLayoutCookie = Request.Cookies["getputsLayoutCookie"];
            itemLayoutOptions = itemDisplayer.GetItemLayoutOptionsType(dbOps.Decrypt(getputsLayoutCookie["layout"].ToString().Trim()));
        }

        #region CookieAlreadyExists
        //  START: If a getputsCookie with the Username already exists, do not show the Login Page.

        if (Request.Cookies["getputsCookie"] != null)
        {
            HttpCookie getputsCookie = Request.Cookies["getputsCookie"];
            UID = dbOps.Decrypt(getputsCookie["UID"].ToString().Trim());
        }

        if (string.IsNullOrEmpty(UID))
        {

        }
        else
        {

        }
        //  END: If a getputsCookie with the Username already exists, do not show the Login Page.
        #endregion CookieAlreadyExists

        LoadSearchDDL();
        GetQueryParameters();

        if (!string.IsNullOrEmpty(SearchTB.Text))
        {
            query = SearchTB.Text.Trim();
        }

        string sTypeDDLValue = SearchTypeDDL.SelectedValue;
        string sCategoryDDLValue = SearchCategoryDDL.SelectedValue;
        string sTimeDDLValue = SearchTimeDDL.SelectedValue;

        Control MasterPageSearchTable = this.Master.FindControl("SearchTable");
        MasterPageSearchTable.Visible = false;

        SearchTB.Focus();
        Page.Form.DefaultButton = SearchButton.ID;

        if (!string.IsNullOrEmpty(query))
        {
            SearchTB.Text = query;

            if (sType == SearchEngine.SearchType.Comments)
            {
                sType = SearchEngine.SearchType.Title;
                List<Item> itemList = searchEngine.LoadSearchResults(query, sType, sCategory, sTime);
                LoadItemTable(itemList);
            }
            else
            {

                //  List<Item> itemList = searchEngine.LoadSearchResults(query);
                List<Item> itemList = searchEngine.LoadSearchResults(query, sType, sCategory, sTime);

                //  LoadItemTable(itemList);

                ItemDisplayer.ShowItemsOptions itemOptions = ItemDisplayer.ShowItemsOptions.ShowUIDLink
                    | ItemDisplayer.ShowItemsOptions.ShowTime
                    | ItemDisplayer.ShowItemsOptions.ShowCategoryLink
                    | ItemDisplayer.ShowItemsOptions.ShowSaveLink
                    | ItemDisplayer.ShowItemsOptions.ShowEMailLink
                    | ItemDisplayer.ShowItemsOptions.ShowCommentsLink
                    | ItemDisplayer.ShowItemsOptions.ShowImage
                    | ItemDisplayer.ShowItemsOptions.ShowRatings
                    | ItemDisplayer.ShowItemsOptions.ShowTags
                    | ItemDisplayer.ShowItemsOptions.CountClicks
                    | ItemDisplayer.ShowItemsOptions.ShowPreviousNextLinks;

                string itemTable = itemDisplayer.LoadItemTable(itemList, itemOptions, itemLayoutOptions, startItem, UID, sort, links.SearchPageLink.Replace("~\\", ""));
                ItemDiv.InnerHtml = itemTable;

            }
        }

        //
        // CODEGEN: This call is required by the ASP.NET Web Form Designer.
        //
        //  InitializeComponent();
        base.OnInit(e);
    }
예제 #2
0
    private void GetQueryParameters()
    {
        //  Default Search Parameters.
        query = String.Empty;
        sType = SearchEngine.SearchType.Title;
        sCategory = "All Categories";
        sTime = SearchEngine.SearchTime.Today;

        if (!string.IsNullOrEmpty(Request.QueryString["query"]))
        {
            query = Convert.ToString(Request.QueryString["query"]).Trim();
        }

        if (!string.IsNullOrEmpty(Request.QueryString["sType"]))
        {
            string sTypeStr = Convert.ToString(Request.QueryString["sType"]).Trim().ToLower();

            //  public enum SearchType    {        All,        Title,        Links,        Comments    }

            switch (sTypeStr)
            {
                case "all":
                    sType = SearchEngine.SearchType.All;
                    break;
                case "title":
                    sType = SearchEngine.SearchType.Title;
                    break;
                case "links":
                    sType = SearchEngine.SearchType.Links;
                    break;
                case "comments":
                    sType = SearchEngine.SearchType.Comments;
                    break;
                default:
                    sType = SearchEngine.SearchType.All;
                    break;
            }

        }

        if (!string.IsNullOrEmpty(Request.QueryString["category"]))
        {
            sCategory = Convert.ToString(Request.QueryString["category"]).Trim();
            if (!categories.CategoriesList.Contains(sCategory))
            {
                if(sCategory != "All Categories")
                {
                    sCategory = "All Categories";
                }
            }
        }

        if (!string.IsNullOrEmpty(Request.QueryString["sTime"]))
        {
            string sTimeStr = Convert.ToString(Request.QueryString["sTime"]).Trim().ToLower();

            //  public enum SearchTime    {        Today,        Week,        Month,        Year    }

            switch (sTimeStr)
            {
                case "today":
                    sTime = SearchEngine.SearchTime.Today;
                    break;
                case "week":
                    sTime = SearchEngine.SearchTime.Week;
                    break;
                case "month":
                    sTime = SearchEngine.SearchTime.Month;
                    break;
                case "year":
                    sTime = SearchEngine.SearchTime.Year;
                    break;
                default:
                    sTime = SearchEngine.SearchTime.Week;
                    break;
            }
        }

        SearchTypeDDL.ClearSelection();
        SearchCategoryDDL.ClearSelection();
        SearchTimeDDL.ClearSelection();

        SearchTypeDDL.Items.FindByValue(sType.ToString()).Selected = true;
        SearchCategoryDDL.Items.FindByValue(sCategory).Selected = true;
        SearchTimeDDL.Items.FindByValue(sTime.ToString()).Selected = true;
    }