コード例 #1
0
        public void InitializeControls(ISkinControlLoader controlLoader)
        {
            IEnumerable <string> controlNames = _controls;

            if (controlNames != null)
            {
                var apnlCommentsWrapper = new UpdatePanel {
                    Visible = true, ID = CommentsPanelId
                };
                if (!controlNames.Contains("HomePage", StringComparer.OrdinalIgnoreCase) && !String.IsNullOrEmpty(Query))
                {
                    int   entryId = -1;
                    Entry entry   = Cacher.GetEntryFromRequest(true, SubtextContext);
                    if (entry != null)
                    {
                        entryId = entry.Id;
                    }
                    var query = Query;
                    if (!String.IsNullOrEmpty(query))
                    {
                        var searchResults = SearchEngineService.Search(query, 5, Blog.Id, entryId);
                        if (searchResults.Any())
                        {
                            AddMoreResultsControl(searchResults, controlLoader, apnlCommentsWrapper);
                        }
                    }
                }

                foreach (string controlName in controlNames)
                {
                    Control control = controlLoader.LoadControl(controlName);
                    AddControlToBody(controlName, control, apnlCommentsWrapper, CenterBodyControl);
                }
            }
        }
コード例 #2
0
 private void AddMoreResultsControl(IEnumerable<SearchEngineResult> searchResults, ISkinControlLoader controlLoader, UpdatePanel apnlCommentsWrapper)
 {
     var moreResults = controlLoader.LoadControl("MoreResults");
     if (moreResults != null)
     {
         var moreSearchResults = moreResults as MoreResultsLikeThis;
         if (moreSearchResults != null)
         {
             moreSearchResults.SearchResults = searchResults;
         }
         AddControlToBody("MoreResults", moreResults, apnlCommentsWrapper, CenterBodyControl);
     }
 }
コード例 #3
0
        private void AddMoreResultsControl(IEnumerable <SearchEngineResult> searchResults, ISkinControlLoader controlLoader, UpdatePanel apnlCommentsWrapper)
        {
            var moreResults = controlLoader.LoadControl("MoreResults");

            if (moreResults != null)
            {
                var moreSearchResults = moreResults as MoreResultsLikeThis;
                if (moreSearchResults != null)
                {
                    moreSearchResults.SearchResults = searchResults;
                }
                AddControlToBody("MoreResults", moreResults, apnlCommentsWrapper, CenterBodyControl);
            }
        }
コード例 #4
0
        public void InitializeControls(ISkinControlLoader controlLoader)
        {
            IEnumerable<string> controlNames = _controls;
            if (controlNames != null)
            {
                var apnlCommentsWrapper = new UpdatePanel { Visible = true, ID = CommentsPanelId };
                if (!controlNames.Contains("HomePage", StringComparer.OrdinalIgnoreCase) && !String.IsNullOrEmpty(Query))
                {
                    int entryId = -1;
                    Entry entry = Cacher.GetEntryFromRequest(true, SubtextContext);
                    if (entry != null)
                    {
                        entryId = entry.Id;
                    }

                    // Allow errors in Lucene.Net.QueryParsers.QueryParser to be avoided by
                    // disabling the full text search engine in Web.config
                    if (FullTextSearchEngineSettings.Settings.IsEnabled == true)
                    {
                        var query = Query;
                        if (!String.IsNullOrEmpty(query))
                        {
                            var searchResults = SearchEngineService.Search(query, 5, Blog.Id, entryId);
                            if (searchResults.Any())
                            {
                                AddMoreResultsControl(searchResults, controlLoader, apnlCommentsWrapper);
                            }
                        }
                    }
                }

                foreach (string controlName in controlNames)
                {
                    Control control = controlLoader.LoadControl(controlName);
                    AddControlToBody(controlName, control, apnlCommentsWrapper, CenterBodyControl);
                }
            }
        }