您目前尚未登陆,请选择【登陆】或【注册
首页->全站代码->DotNetNuke04.08.03免安装版项目源码>>Library/WebControls/FeedBrowser.vb>>代码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,不能展示项目的全部,如果想更进一步了解该代码请下载:DotNetNuke04.08.03免安装版项目源码


当前文件路径:DNN/Library/WebControls/FeedBrowser.vb 文件类型
普通视图
		            
1' 2' DotNetNuke?- http://www.dotnetnuke.com 3' Copyright (c) 2002-2008 4' by DotNetNuke Corporation 5' 6' Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 7' documentation files (the "Software"), to deal in the Software without restriction, including without limitation 8' the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 9' to permit persons to whom the Software is furnished to do so, subject to the following conditions: 10' 11' The above copyright notice and this permission notice shall be included in all copies or substantial portions 12' of the Software. 13' 14' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 15' TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 16' THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 17' CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 18' DEALINGS IN THE SOFTWARE. 19' 20 21Imports System 22Imports System.Collections.Generic 23Imports System.ComponentModel 24Imports System.Text 25Imports System.Web 26Imports System.Web.UI 27Imports System.Web.UI.WebControls 28Imports System.IO 29Imports System.Xml 30 31Imports DotNetNuke.Services.FileSystem 32Imports DotNetNuke.Services.Syndication 33Imports DotNetNuke.Services.Exceptions 34Imports DotNetNuke.Framework 35Imports DotNetNuke.Common 36 37Namespace DotNetNuke.UI.WebControls 38 39 <DefaultProperty("RssProxyUrl"), ToolboxData("<{0}:FeedBrowser runat=server></{0}:FeedBrowser>")> _ 40 Public Class FeedBrowser 41 Inherits WebControlBase 42 43Private Members 51 52Public Properties 112 113 Public Overrides ReadOnly Property HtmlOutput() As String 114 Get 115 Dim opmlFeed As Opml = New Opml() 116 Dim elementIdPrefix As String = Me.ClientID 117 Dim instanceVarName As String = elementIdPrefix + "_feedBrowser" 118 119 Try 120 If ((OpmlUrl = "") And (OpmlFile = "") And (OpmlText = "")) Then 121 opmlFeed = GetDefaultOpmlFeed() 122 Else 123 If (OpmlText <> "") Then 124 Dim opmlDoc As New XmlDocument() 125 opmlDoc.LoadXml("<?xml version=""1.0"" encoding=""utf-8""?><opml version=""2.0""><head /><body>" + OpmlText + "</body></opml>") 126 opmlFeed = Opml.LoadFromXml(opmlDoc) 127 ElseIf (OpmlUrl <> "") Then 128 opmlFeed = Opml.LoadFromUrl(New Uri(OpmlUrl)) 129 Else 130 opmlFeed = Opml.LoadFromFile(OpmlFile) 131 End If 132 End If 133 Catch exc As Exception 134 ProcessModuleLoadException(Me, exc) 135 opmlFeed = GetDefaultOpmlFeed() 136 End Try 137 138 Dim script As New StringBuilder() 139 Dim output As New StringBuilder() 140 141 Dim tabInstanceVarName As String = instanceVarName + "_tabs" 142 script.Append("var " + tabInstanceVarName + " = new DotNetNuke.UI.WebControls.TabStrip.Strip(""" + tabInstanceVarName + """);") 143 script.Append("var " + instanceVarName + " = new DotNetNuke.UI.WebControls.FeedBrowser.Browser(""" + instanceVarName + """," + tabInstanceVarName + ");") 144 script.Append(tabInstanceVarName + ".setResourcesFolderUrl(""" + ResourcesFolderUrl + """);") 145 script.Append(instanceVarName + ".setResourcesFolderUrl(""" + ResourcesFolderUrl + """);") 146 If (StyleSheetUrl <> "") Then 147 script.Append(tabInstanceVarName + ".setStyleSheetUrl(""" + StyleSheetUrl + """);") 148 script.Append(instanceVarName + ".setStyleSheetUrl(""" + StyleSheetUrl + """);") 149 End If 150 151 script.Append(instanceVarName + ".setElementIdPrefix(""" + elementIdPrefix + """);") 152 If (Theme <> "") Then 153 script.Append(instanceVarName + ".setTheme(""" + Theme + """);") 154 End If 155 156 If (RssProxyUrl <> "") Then 157 script.Append(instanceVarName + ".setRssProxyUrl(""" + RssProxyUrl + """);") 158 End If 159 160 If (DefaultTemplate <> "") Then 161 script.Append(instanceVarName + ".setDefaultTemplate(""" + DefaultTemplate + """);") 162 End If 163 164 script.Append(instanceVarName + ".setAllowHtmlDescription(") 165 If (AllowHtmlDescription) Then 166 script.Append("true") 167 Else 168 script.Append("false") 169 End If 170 script.Append(");") 171 172 173 Dim renderScript As String = GetRenderingScript(opmlFeed.Outlines) 174 Dim includeFallbackScript As Boolean = False 175 176 ' Is there any OPML structure to render? 177 If (renderScript = "") Then 178 includeFallbackScript = True 179 script.Append(instanceVarName + ".setTabs(defaultFeedBrowser());") 180 Else 181 ' Javascript function that renders the OPML structure 182 script.Append("function customFeedBrowser() ") 183 script.Append("{") 184 script.Append(" var tabs = [];") 185 script.Append(" with (DotNetNuke.UI.WebControls.FeedBrowser) ") 186 script.Append(" {") 187 script.Append(renderScript) 188 script.Append(" }") 189 script.Append(" return(tabs);") 190 script.Append("} ") 191 script.Append(instanceVarName + ".setTabs(customFeedBrowser());") 192 End If 193 194 script.Append(instanceVarName + ".render();") 195 196 output.Append("<script type=""text/javascript"">var $dnnHostUrl = '" + Globals.ResolveUrl("~/") + "';</script>") 197 output.Append("<script type=""text/javascript"" src=""" + Globals.ResolveUrl("~/Resources/Shared/scripts/init.js") + """></script>") 198 output.Append("<script type=""text/javascript"" src=""" + Globals.ResolveUrl("~/Resources/Shared/scripts/DotNetNukeAjaxShared.js") + """></script>") 199 output.Append("<script type=""text/javascript"" src=""" + Globals.ResolveUrl("~/Resources/TabStrip/scripts/tabstrip.js") + """></script>") 200 output.Append("<script type=""text/javascript"" src=""" + Globals.ResolveUrl("~/Resources/FeedBrowser/scripts/feedbrowser.js") + """></script>") 201 output.Append("<script type=""text/javascript"" src=""" + Globals.ResolveUrl("~/Resources/FeedBrowser/scripts/templates.js") + """></script>") 202 203 If (includeFallbackScript) Then 204 output.Append("<script type=""text/javascript"" src=""" + Globals.ResolveUrl("~/Resources/FeedBrowser/scripts/fallback.js") + """></script>") 205 End If 206 output.Append("<script type=""text/javascript"">" + script.ToString() + "</script>") 207 208 Return (output.ToString()) 209 End Get 210 End Property 211 212 213Private Methods