Example #1
0
        public string htmSearchQuery(string search)
        {
            pSearch = search;

            string response = "";

            //     int[] test = {1, 2, 415};

            SearchService.SearchResult[] searchResults = searchService.Search(GetFoldersToSearch(DailyEZObject), search);

            //start our html
            response += "<div class='leftColumnContent'>";

            //make a dictionary to store the duplicates
            Dictionary<string, List<SearchService.SearchResult>> dictionary = MakeSearchDictionaries(searchResults);

            //create a list for the headers
            List<SearchService.SearchResult> headers = new List<SearchService.SearchResult>();

            //create a new list of KeyValuePairs<string, SearchResult's List>.  This is done so we can easily sort the values
            List<KeyValuePair<string, List<SearchService.SearchResult>>> myList = new List<KeyValuePair<string, List<SearchService.SearchResult>>>(dictionary);

            //change header titles before sort
            FormatHeaderTitles(myList);

            //our sorting function, takes the first pair, and comparies the link title to the second pair's link title.
            myList.Sort(
                delegate(KeyValuePair<string, List<SearchService.SearchResult>> firstPair, KeyValuePair<string, List<SearchService.SearchResult>> secondPair)
                {
                    //return firstPair.Value[0].Link_Title.CompareTo(secondPair.Value[0].Link_Title);
                    return PageRank(search, secondPair.Value).CompareTo(PageRank(search, firstPair.Value));
                }
                );

            //position go till we can't anymore
            int divIndex = 0;
            foreach (KeyValuePair<string, List<SearchService.SearchResult>> e in myList)
            {
                if (e.Value.Count >= 1)
                {
                    com.dailyez.Link link = new com.dailyez.Link();
                    link.Title = e.Value[0].Link_Title;
                    link.URL = e.Value[0].Link_URL;
                    link.Target = "";

                    bool oneIsLink = false;

                    //for every SearchResult inside the list of the current dictionary value
                    foreach (SearchService.SearchResult r in e.Value)
                    {
                        //find out if at least one of them is a hyperlink
                        if (r.Link_URL.Length > 5)
                        {
                            oneIsLink = true;
                            break;
                        }
                    }

                    //one of the values is a hyperlink...make the starting div
                    if (oneIsLink)
                    {
                        if (debug == true)
                            response += "<span style='color:red'>" + PageRank(search, e.Value) + "</span>";
                        response += Code.Utility.GetA(link) +"<br/>";

                        //  <div id='resultsDiv[X]' style='display:none;font-family:Arial'>
                        response += "<div id='resultsDiv" + divIndex + "' style='display:none;font-family:Arial;line-spacing:20px; margin-left:10px;'>";
                    }

                    //body of the div
                    foreach (SearchService.SearchResult result in e.Value)
                    {
                        if (result.Link_URL.Length > 5)
                        {
                            com.dailyez.Link innerLink = new com.dailyez.Link();
                            innerLink.Title = result.Page_Title;
                            innerLink.URL = "" + result.Page_ID;
                            innerLink.Target = "";
                            response += Code.Utility.GetA(innerLink) + "<br/>";
                        }
                        else
                        {
                            com.dailyez.Link innerLink = new com.dailyez.Link();
                            innerLink.Title = result.Link_Title;
                            // innerLink.Title = result.Link_Title + " - " + service.GetPage(ConfigurationManager.AppSettings["webServiceKey"], result.Page_ID).Title;
                            innerLink.URL = "" + result.Page_ID;
                            innerLink.Target = "";
                            response += Code.Utility.GetA(innerLink) + "<br/>";
                            //   headers.Add(result);
                        }

                    }
                    if (oneIsLink)
                        response += "</div>";
                    divIndex++;

                }
                else
                {
                    if (e.Value[0].Link_URL.Length > 5)
                    {
                        com.dailyez.Link link = new com.dailyez.Link();
                        link.Title = e.Value[0].Link_Title;
                        link.URL = e.Value[0].Link_URL;
                        link.Target = "";
                        com.dailyez.Link pageLink = new com.dailyez.Link();
                        pageLink.Title = e.Value[0].Page_Title;
                        pageLink.URL = "" + e.Value[0].Page_ID;
                        response += Code.Utility.GetA(link) + " @ " + Code.Utility.GetA(pageLink) + "<br/>";
                    }
                    else
                    {
                        var innerLink = new com.dailyez.Link
                            {
                                Title = "" + e.Value[0].Link_Title,
                                URL = "" + e.Value[0].Page_ID,
                                Target = ""
                            };
                        // innerLink.Title = result.Link_Title + " - " + service.GetPage(ConfigurationManager.AppSettings["webServiceKey"], result.Page_ID).Title;
                        response += Code.Utility.GetA(innerLink) + "<br/>";

                        //commented out add headers here
                    }

                }
            }

            //add headers
            SearchResult[] srHeaders = Code.Utility.ConvertToLocalSearchResult(headers.ToArray());
            List<SearchResult> headerList = new List<SearchResult>(srHeaders);
            headerList.Sort();
            foreach (var result in headerList)
            {
                var innerLink = new com.dailyez.Link
                    {
                        Title = result.Page_Title + " - " + result.Link_Title,
                        URL = "" + result.Page_ID,
                        Target = ""
                    };
                //   response += DailyEZUtility.GetA(innerLink) + "<br/>";
            }

            if (response.Length < 1)
                response = "<span style='font-family:arial; font-size:12pt;'>Sorry, No Search Results.</span>";

            response += "</div>";

            return response;
        }
Example #2
0
        public string HtmSearchQuery(string search)
        {
            PSearch = search;
            var words = search.Split(new char[] { ' ' });

            var clientID = Utility.GetIntFromCookie(Request, "clientID");
            var euID = Utility.GetIntFromCookie(Request, "euID");

            var service = new com.dailyez.Service();
            var dailyEZ = BasePage.DailyEZObject;

            var response = "";

            //     int[] test = {1, 2, 415};

            var searchResults = _searchService.Search(GetFoldersToSearch(dailyEZ), search);

            //start our html
            response += "<div class='leftColumnContent'>";

            //make a dictionary to store the duplicates
            Dictionary<string, List<SearchService.SearchResult>> dictionary = MakeSearchDictionaries(searchResults);

            //create a list for the headers
            var headers = new List<SearchService.SearchResult>();

            //create a new list of KeyValuePairs<string, SearchResult's List>.  This is done so we can easily sort the values
            var myList = new List<KeyValuePair<string, List<SearchService.SearchResult>>>(dictionary);

            //change header titles before sort
            FormatHeaderTitles(myList);

            //our sorting function, takes the first pair, and comparies the link title to the second pair's link title.
            myList.Sort(
                delegate(KeyValuePair<string, List<SearchService.SearchResult>> firstPair, KeyValuePair<string, List<SearchService.SearchResult>> secondPair)
                {
                    //return firstPair.Value[0].Link_Title.CompareTo(secondPair.Value[0].Link_Title);
                    return PageRank(search, secondPair.Value).CompareTo(PageRank(search, firstPair.Value));
                }
                );

            //position go till we can't anymore
            var divIndex = 0;
            foreach (KeyValuePair<string, List<SearchService.SearchResult>> e in myList)
            {
                if (e.Value.Count >= 1)
                {
                    var link = new com.dailyez.Link
                        {
                            Title = e.Value[0].Link_Title,
                            URL = e.Value[0].Link_URL,
                            Target = ""
                        };

                    var oneIsLink = false;

                    //for every SearchResult inside the list of the current dictionary value
                    foreach (SearchService.SearchResult r in e.Value)
                    {
                        //find out if at least one of them is a hyperlink
                        if (r.Link_URL.Length > 5)
                        {
                            oneIsLink = true;
                            break;
                        }
                    }

                    //one of the values is a hyperlink...make the starting div
                    if (oneIsLink)
                    {
                        if (Debug == true)
                            response += "<span style='color:red'>" + PageRank(search, e.Value) + "</span>";
                        response += Utility.GetA(link) + " " + e.Value.Count + " pages ";
                        response += "<span style='font-size:8pt; cursor:pointer; color:blue;' onclick=\"javascript:document.getElementById('resultsDiv" + divIndex + "').style.display = 'block';\">show</span>&nbsp;&nbsp;";
                        response += "<span style='font-size:8pt; cursor:pointer; color:blue;' onclick=\"javascript:document.getElementById('resultsDiv" + divIndex + "').style.display = 'none';\">hide</span><br/>";

                        //  <div id='resultsDiv[X]' style='display:none;font-family:Arial'>
                        response += "<div id='resultsDiv" + divIndex + "' style='display:none;font-family:Arial;line-spacing:20px; margin-left:10px;'>";
                    }

                    //body of the div
                    foreach (var result in e.Value)
                    {
                        if (result.Link_URL.Length > 5)
                        {
                            var innerLink = new com.dailyez.Link
                                {
                                    Title = result.Page_Title,
                                    URL = "" + result.Page_ID,
                                    Target = ""
                                };
                            response += Utility.GetA(innerLink) + "<br/>";
                        }
                        else
                        {
                            var innerLink = new com.dailyez.Link
                                {
                                    Title = result.Link_Title,
                                    URL = "" + result.Page_ID,
                                    Target = ""
                                };
                            // innerLink.Title = result.Link_Title + " - " + service.GetPage(ConfigurationManager.AppSettings["webServiceKey"], result.Page_ID).Title;
                            response += Utility.GetA(innerLink) + "<br/>";
                            //   headers.Add(result);
                        }

                    }
                    if (oneIsLink)
                        response += "</div>";
                    divIndex++;

                }
                else
                {
                    if (e.Value[0].Link_URL.Length > 5)
                    {
                        var link = new com.dailyez.Link();
                        link.Title = e.Value[0].Link_Title;
                        link.URL = e.Value[0].Link_URL;
                        link.Target = "";
                        var pageLink = new com.dailyez.Link();
                        pageLink.Title = e.Value[0].Page_Title;
                        pageLink.URL = "" + e.Value[0].Page_ID;
                        response += Utility.GetA(link) + " @ " + Utility.GetA(pageLink) + "<br/>";
                    }
                    else
                    {
                        var innerLink = new com.dailyez.Link();
                        // innerLink.Title = result.Link_Title + " - " + service.GetPage(ConfigurationManager.AppSettings["webServiceKey"], result.Page_ID).Title;
                        innerLink.Title = "" + e.Value[0].Link_Title;
                        innerLink.URL = "" + e.Value[0].Page_ID;
                        innerLink.Target = "";
                        response += Utility.GetA(innerLink) + "<br/>";

                        //commented out add headers here
                    }

                }
            }

            //add headers
            var srHeaders = Utility.ConvertToLocalSearchResult(headers.ToArray());
            var headerList = new List<SearchResult>(srHeaders);
            headerList.Sort();
            foreach (SearchResult result in headerList)
            {
                var innerLink = new com.dailyez.Link
                    {
                        Title = result.Page_Title + " - " + result.Link_Title,
                        URL = "" + result.Page_ID,
                        Target = ""
                    };
                //   response += DailyEZUtility.GetA(innerLink) + "<br/>";
            }

            if (response.Length < 1)
                response = "<span style='font-family:arial; font-size:12pt;'>Sorry, No Search Results.</span>";

            //-search ads
            SearchService.Ad_Assignment[] ads = _searchService.SearchAds(search);

            foreach (SearchService.Ad_Assignment a in ads)
            {
                if (a.Ad_ID != null)
                    response += "<a href=\"http://www.ezcontrolpanel.com/Ad/ViewAd/" + a.Ad_ID + "\" target=\"_blank\">" + HttpUtility.HtmlEncode(_searchService.GetAd(a.Ad_ID.Value).Name) + "</a><br/>";
            }

            response += "</div>";

            response += "<div class='rightColumnContent' style='border:none;'>";
            response += "</div><div style='clear:right;'></div><div style='background-color:white; margin-top:-80px; text-align:right; border:none;' class='rightColumnContent'>";

            var litAds = new Literal();
            Renderer.RenderJetNettAdsToLiteral(litAds, Request);

            response += "<br/><div style='float:right;line-height:normal;'>" + litAds.Text + "</div>";
            response += "</div>";
            return response;
        }
Example #3
0
 private static com.dailyez.Link[] BuildLink(SqlDataReader reader)
 {
     com.dailyez.Link link = null;
     ArrayList list = new ArrayList();
     try
     {
         if (reader.HasRows)
         {
             while (reader.Read())
             {
                 link = new com.dailyez.Link();
                 link.ID = (int)reader["ID"];
                 link.PageID = (int)reader["Page_ID"];
                 link.Position = (int)reader["Position"];
                 link.IsLink = (Boolean)reader["Is_Link"];
                 link.Title = (string)reader["Title"];
                 try
                 {
                     link.URL = (string)reader["URL"];
                 }
                 catch
                 {
                     link.URL = "";
                 }
                 try
                 {
                     link.Target = (string)reader["Target"];
                 }
                 catch
                 {
                     link.Target = "";
                 }
                 list.Add(link);
             }
         }
         return (com.dailyez.Link[])list.ToArray(typeof(com.dailyez.Link));
     }
     catch (Exception ex)
     {
         throw (new Exception("Error in BuildLink() --> " + ex.Message));
     }
 }