public static ModuleInfoModel FromDnnModuleInfo(DotNetNuke.Entities.Modules.ModuleInfo dnnModule) { ModuleInfoModel mim = new ModuleInfoModel { ModuleId = dnnModule.ModuleID, Title = dnnModule.ModuleTitle, FriendlyName = dnnModule.DesktopModule.FriendlyName, ModuleName = dnnModule.DesktopModule.ModuleName, TabModuleId = dnnModule.TabModuleID, ModuleDefId = dnnModule.ModuleDefID }; // assign command links mim.__ModuleId = $"get-module {mim.ModuleId}"; mim.__ModuleName = $"list-modules --name '{mim.ModuleName}' --all"; // get a list of all pages this module is added to var addedTo = DotNetNuke.Entities.Modules.ModuleController.Instance.GetTabModulesByModule(mim.ModuleId); StringBuilder sbAddedTo = new StringBuilder(); foreach (DotNetNuke.Entities.Modules.ModuleInfo modInfo in addedTo) { if (sbAddedTo.Length > 0) { sbAddedTo.Append(", "); } sbAddedTo.Append(modInfo.TabID); } mim.AddedToPages = sbAddedTo.ToString(); return(mim); }
public DotNetNuke.Services.Search.SearchItemInfoCollection GetSearchItems(DotNetNuke.Entities.Modules.ModuleInfo ModInfo) { DotNetNuke.Services.Search.SearchItemInfoCollection SearchItemCollection = new DotNetNuke.Services.Search.SearchItemInfoCollection(); IDataReader dr = null; try { dr = DataProvider.Instance().Search_DotNetNuke(ModInfo.ModuleID); DotNetNuke.Services.Search.SearchItemInfo SearchItem = null; while (dr.Read()) { string subject = dr["Subject"].ToString(); string description = string.Empty; string body = dr["Body"].ToString(); int authorid = Convert.ToInt32(dr["AuthorId"]); DateTime datecreated = Convert.ToDateTime(dr["DateCreated"]); DateTime dateupdated = Convert.ToDateTime(dr["DateUpdated"]); int contentid = Convert.ToInt32(dr["ContentId"]); int forumid = Convert.ToInt32(dr["ForumId"]); int topicid = Convert.ToInt32(dr["TopicId"]); int replyId = Convert.ToInt32(dr["ReplyId"]); int jumpid = topicid; if (replyId > 0) { jumpid = replyId; } body = System.Web.HttpUtility.HtmlDecode(body); body = Utilities.StripHTMLTag(body); if (!(string.IsNullOrEmpty(body))) { if (body.Length > 100) { description = body.Substring(0, 100) + "..."; } else { description = body; } } SearchItem = new DotNetNuke.Services.Search.SearchItemInfo(subject, description, authorid, datecreated, ModInfo.ModuleID, contentid.ToString() + "-" + forumid.ToString(), body, ParamKeys.ForumId + "=" + forumid + "&" + ParamKeys.ViewType + "=" + Views.Topic + "&" + ParamKeys.TopicId + "=" + topicid + "&" + ParamKeys.ContentJumpId + "=" + jumpid); SearchItemCollection.Add(SearchItem); } dr.Close(); return(SearchItemCollection); } catch (Exception ex) { return(null); } finally { if (dr != null) { if (!dr.IsClosed) { dr.Close(); } } } }
protected void Page_Load(object sender, EventArgs e) { #region ViewPermission // Truyen vao tabid va mid de he thong kiem tra // Neu User dang truy cap co quyen thi he thong tra ra du lieu // Neu user khong co quyen he thong se thong bao not define try { DotNetNuke.Entities.Portals.PortalSettings portalSettings = DotNetNuke.Entities.Portals.PortalController.GetCurrentPortalSettings(); if (((Request.QueryString["tabid"] == null && Request.Form["tabid"] == null) || (Request.QueryString["mid"] == null && Request.Form["mid"] == null)) || !(Request.IsAuthenticated)) { WriteDataError("NotAuthenticated"); return; } // get TabId int TabId = -1; if ((Request.QueryString["tabid"] != null)) { TabId = Int32.Parse(Request.QueryString["tabid"]); } else if ((Request.Form["tabid"] != null)) { TabId = Int32.Parse(Request.Form["tabid"]); } // get ModuleId int ModuleId = -1; if ((Request.QueryString["mid"] != null)) { ModuleId = Int32.Parse(Request.QueryString["mid"]); } else if ((Request.Form["mid"] != null)) { ModuleId = Int32.Parse(Request.Form["mid"]); } objUserInfo = DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo(); DotNetNuke.Entities.Modules.ModuleController mc = new DotNetNuke.Entities.Modules.ModuleController(); System.Collections.Hashtable settings = mc.GetModuleSettings(ModuleId); objModuleInfo = new DotNetNuke.Entities.Modules.ModuleController().GetModule(ModuleId, TabId); if (DotNetNuke.Security.Permissions.ModulePermissionController.CanViewModule(objModuleInfo)) { try { WriteData(); } catch (Exception ex) { WriteDataError(ex.Message); } } } catch (Exception ex) { WriteDataError(ex.Message); } #endregion base.OnInit(e); }
/// ----------------------------------------------------------------------------- /// <summary> /// GetSearchItems implements the ISearchable Interface /// </summary> /// <param name="ModInfo">The ModuleInfo for the module to be Indexed</param> /// ----------------------------------------------------------------------------- public DotNetNuke.Services.Search.SearchItemInfoCollection GetSearchItems(DotNetNuke.Entities.Modules.ModuleInfo ModInfo) { var items = new SearchItemInfoCollection(); // Add the devices to the search index. foreach (var item in Factory.ActiveProvider.Devices) { string guid = String.Format("DeviceID={0}", item.DeviceId); var device = new Device(item); items.Add(new SearchItemInfo( device.HardwareCaption, String.Format("{0} running {1} with browser {2}", device.HardwareCaption, device.SoftwareCaption, device.BrowserCaption), ModInfo.CreatedByUserID, Factory.ActiveProvider.PublishedDate, ModInfo.ModuleID, device.DeviceID, device.Content, guid)); } // Add the properties to the search. foreach (var property in Factory.ActiveProvider.Properties) { items.Add(new SearchItemInfo( property.Name, property.Description, ModInfo.CreatedByUserID, Factory.ActiveProvider.PublishedDate, ModInfo.ModuleID, property.Name, property.Description)); foreach (var value in property.Values) { string name = String.Format("{0} - {1}", property.Name, value.Name); items.Add(new SearchItemInfo( name, value.Description, ModInfo.CreatedByUserID, Factory.ActiveProvider.PublishedDate, ModInfo.ModuleID, name, value.Description)); } } return(items); }
public void ProcessRequest(HttpContext context) { #region ViewPermission // Truyen vao tabid va mid de he thong kiem tra // Neu User dang truy cap co quyen thi he thong tra ra du lieu // Neu user khong co quyen he thong se thong bao not define try { DotNetNuke.Entities.Portals.PortalSettings portalSettings = DotNetNuke.Entities.Portals.PortalController.GetCurrentPortalSettings(); if (!context.Request.IsAuthenticated) { WriteDataError(context, "NotAuthenticated"); return; } // get TabId int TabId = Utils.tabCheckCommon; // get ModuleId int ModuleId = Utils.moduleCheckCommon; objUserInfo = DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo(); DotNetNuke.Entities.Modules.ModuleController mc = new DotNetNuke.Entities.Modules.ModuleController(); System.Collections.Hashtable settings = mc.GetModuleSettings(ModuleId); objModuleInfo = new DotNetNuke.Entities.Modules.ModuleController().GetModule(ModuleId, TabId); if (DotNetNuke.Security.Permissions.ModulePermissionController.CanViewModule(objModuleInfo)) { try { WriteData(context); return; } catch (Exception ex) { WriteDataError(context, ex.Message); return; } } else { WriteDataError(context, "NotPermission"); return; } } catch (Exception ex) { WriteDataError(context, ex.Message); return; } #endregion }
/// <summary> /// GetSearchItems implements the ISearchable Interface /// </summary> /// <param name="modInfo">The ModuleInfo for the module to be Indexed</param> public Services.Search.SearchItemInfoCollection GetSearchItems(DotNetNuke.Entities.Modules.ModuleInfo modInfo) { //SearchItemInfoCollection SearchItemCollection = new SearchItemInfoCollection(); //List<SocialModuleInfo> colSocialModules = GetSocialModules(ModInfo.ModuleID); //foreach (SocialModuleInfo objSocialModule in colSocialModules) //{ // SearchItemInfo SearchItem = new SearchItemInfo(ModInfo.ModuleTitle, objSocialModule.Content, objSocialModule.CreatedByUser, objSocialModule.CreatedDate, ModInfo.ModuleID, objSocialModule.ItemId.ToString(), objSocialModule.Content, "ItemId=" + objSocialModule.ItemId.ToString()); // SearchItemCollection.Add(SearchItem); //} //return SearchItemCollection; throw new System.NotImplementedException("The method or operation is not implemented."); }
public override Boolean IsIndexingAllowedForModule(DotNetNuke.Entities.Modules.ModuleInfo objModule) { DotNetNuke.Entities.Tabs.TabController objTabController = new DotNetNuke.Entities.Tabs.TabController(); Hashtable tabSettings = objTabController.GetTabSettings(objModule.TabID); if (!tabSettings.Contains("AllowIndex") || tabSettings["AllowIndex"].ToString().ToLowerInvariant() == "true") { // Check if indexing is disabled for the current module DotNetNuke.Entities.Modules.ModuleController objModuleController = new DotNetNuke.Entities.Modules.ModuleController(); Hashtable tabModuleSettings = objModuleController.GetTabModuleSettings(objModule.TabModuleID); return(!tabModuleSettings.Contains("AllowIndex") || tabModuleSettings["AllowIndex"].ToString().ToLowerInvariant() == "true"); } else { return(false); } }
public static ModuleInstanceModel FromDnnModuleInfo(DotNetNuke.Entities.Modules.ModuleInfo dnnModule) { var mim = new ModuleInstanceModel { ModuleId = dnnModule.ModuleID, Title = dnnModule.ModuleTitle, Pane = dnnModule.PaneName, FriendlyName = dnnModule.DesktopModule.FriendlyName, ModuleName = dnnModule.DesktopModule.ModuleName, TabModuleId = dnnModule.TabModuleID, ModuleDefId = dnnModule.ModuleDefID, IsDeleted = dnnModule.IsDeleted, TabId = dnnModule.TabID, __ModuleId = $"get-module {dnnModule.ModuleID}", __ModuleName = $"list-modules '{dnnModule.ModuleID}'" }; return(mim); }
public DotNetNuke.Services.Search.SearchItemInfoCollection GetSearchItems(DotNetNuke.Entities.Modules.ModuleInfo ModInfo) { SearchItemInfoCollection SearchItemCollection = new SearchItemInfoCollection(); LocaleCollection lCollection = Localization.GetEnabledLocales(); foreach (Locale localeInfo in lCollection) { effority.Ealo.StringInfo objText; effority.Ealo.StringInfo objSummary; objText = effority.Ealo.Controller.GetStringByQualifierAndStringName(Consts.DesktopHTMLQualifier, ModInfo.ModuleID.ToString(), localeInfo.Code, true); objSummary = effority.Ealo.Controller.GetStringByQualifierAndStringName(Consts.DesktopSummaryQualifier, ModInfo.ModuleID.ToString(), localeInfo.Code, true); if (!objText.StringTextIsNull) { string strDesktopHtml = HttpUtility.HtmlDecode(objText.StringText); string strDescription = HtmlUtils.Shorten(HtmlUtils.Clean(strDesktopHtml, false), MAX_DESCRIPTION_LENGTH, "..."); SearchItemInfo SearchItem = new SearchItemInfo(ModInfo.ModuleTitle, localeInfo.Text + " - " + strDescription, -1, DateTime.Now, ModInfo.ModuleID, "", objSummary.StringText + " " + strDesktopHtml, "", Null.NullInteger); SearchItemCollection.Add(SearchItem); } } return(SearchItemCollection); }
private string GetMediaAlignment(int Alignment, DotNetNuke.Entities.Modules.ModuleInfo ModuleConfig) { switch (Alignment) { case 0: // Use ModuleSettings values if (ModuleConfig.Alignment.Trim().Length > 0) { switch (ModuleConfig.Alignment.ToLower()) { case "left": return(string.Concat(SPACE, ALIGN_LEFT_CLASS)); case "center": return(string.Concat(SPACE, ALIGN_CENTER_CLASS)); case "right": return(string.Concat(SPACE, ALIGN_RIGHT_CLASS)); } } return(string.Empty); case 1: // None return(string.Empty); case 2: // Left return(string.Concat(SPACE, ALIGN_LEFT_CLASS)); case 3: // Center return(string.Concat(SPACE, ALIGN_CENTER_CLASS)); case 4: // Right return(string.Concat(SPACE, ALIGN_RIGHT_CLASS)); default: return(string.Empty); } }
public string GetWindowsMediaMarkUp(MediaInfo Media, DotNetNuke.Entities.Modules.ModuleInfo ModuleConfig) { string strWMediaId = string.Concat(WINDOWS_MEDIA_ID_PREFIX, Media.ModuleID.ToString()); string strDivId = string.Concat(DIV_ID_PREFIX, strWMediaId); string strDivCssClass = string.Concat(DIV_CLASS, GetMediaAlignment(Media.MediaAlignment, ModuleConfig), " dnnmedia_wmp"); // // BUILD: // <div id="" class=""> // <embed src="" width="" height="" autostart="" loop="" pluginspage="http://download.microsoft.com/download/winmediaplayer/nsplugin/6.4/WIN98/EN-US/wmpplugin.exe" type="application/x-mplayer2"></embed> // </div> // StringBuilder sb = new StringBuilder(10); // build open div sb.AppendFormat(OPEN_TAG_FORMAT, DIV_TAG); sb.AppendFormat(ID_ATTRIBUTE, strDivId); sb.AppendFormat(CLASS_ATTRIBUTE.Trim(), strDivCssClass); sb.Append(CLOSE_BRACKET); // // build windows media object sb.AppendFormat(OPEN_TAG_FORMAT, OBJECT_TAG); sb.AppendFormat(ID_ATTRIBUTE, strWMediaId); if (Media.Width > Null.NullInteger) { sb.AppendFormat(WIDTH_ATTRIBUTE, Media.Width); } if (Media.Height > Null.NullInteger) { sb.AppendFormat(HEIGHT_ATTRIBUTE, Media.Height); } sb.Append("classid=\"clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6\""); sb.Append(CLOSE_BRACKET); sb.AppendFormat(PARAM_TAG_FORMAT, "url", Media.WebFriendlyUrl); sb.AppendFormat(PARAM_TAG_FORMAT, "src", Media.WebFriendlyUrl); sb.AppendFormat(PARAM_TAG_FORMAT, "showcontrols", "true"); sb.AppendFormat(PARAM_TAG_FORMAT, AUTOSTART, Media.AutoStart.ToString().ToLower()); sb.AppendFormat(PARAM_TAG_FORMAT, MEDIA_LOOP, Media.MediaLoop.ToString().ToLower()); sb.Append("<!--[if !IE]> <-->"); sb.AppendFormat(OPEN_TAG_FORMAT, OBJECT_TAG); sb.AppendFormat(DATA_ATTRIBUTE, Media.WebFriendlyUrl); if (Media.Width > Null.NullInteger) { sb.AppendFormat(WIDTH_ATTRIBUTE, Media.Width); } if (Media.Height > Null.NullInteger) { sb.AppendFormat(HEIGHT_ATTRIBUTE, Media.Height); } sb.Append("type=\"video/x-ms-wmv\""); sb.Append(CLOSE_BRACKET); sb.AppendFormat(PARAM_TAG_FORMAT, "src", Media.WebFriendlyUrl); sb.AppendFormat(PARAM_TAG_FORMAT, "controller", "true"); sb.AppendFormat(PARAM_TAG_FORMAT, AUTOSTART, Media.AutoStart.ToString().ToLower()); sb.AppendFormat(PARAM_TAG_FORMAT, MEDIA_LOOP, Media.MediaLoop.ToString().ToLower()); sb.AppendFormat(CLOSE_TAG_FORMAT, OBJECT_TAG); sb.Append("<!--> <![endif]-->"); sb.AppendFormat(CLOSE_TAG_FORMAT, OBJECT_TAG); // // build close div sb.AppendFormat(CLOSE_TAG_FORMAT, DIV_TAG); // return(sb.ToString()); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); try { if (ForumId > 0 && ForumModuleId == -1) { ForumController fc = new ForumController(); fi = fc.Forums_Get(ForumId, UserId, true, true); ForumModuleId = fi.ModuleId; } if (ForumModuleId > 0) { //Dim mc As New DotNetNuke.Entities.Modules.ModuleController //Dim arrMods As ArrayList = mc.GetModule(ForumModuleId) //Dim modInfo As DotNetNuke.Entities.Modules.ModuleInfo = Nothing //For Each mi As DotNetNuke.Entities.Modules.ModuleInfo In arrMods // If mi.ModuleID = ForumModuleId Then // modInfo = mi // Exit For // End If //Next DotNetNuke.Entities.Modules.ModuleInfo modInfo = new DotNetNuke.Entities.Modules.ModuleInfo(); modInfo.TabID = TabId; modInfo.ModuleID = ForumModuleId; modInfo.PortalID = PortalId; modInfo.DesktopModule.Permissions = this.ModuleConfiguration.DesktopModule.Permissions; //Dim mi As DotNetNuke.Entities.Modules.ModuleInfo = mc.GetModule(ForumModuleId, ForumTabId) ForumBase objModule = (ForumBase)(LoadControl("~/desktopmodules/ActiveForums/classic.ascx")); if (objModule != null) { objModule.ModuleConfiguration = modInfo; objModule.ID = Path.GetFileNameWithoutExtension("~/desktopmodules/ActiveForums/classic.ascx"); objModule.ForumModuleId = ForumModuleId; //CType(Settings["AFForumModuleID"], Integer) objModule.ForumInfo = fi; objModule.ForumId = ForumId; objModule.ForumGroupId = ForumGroupId; objModule.DefaultForumViewTemplateId = DefaultForumViewTemplateId; objModule.DefaultTopicsViewTemplateId = DefaultTopicsViewTemplateId; objModule.DefaultTopicViewTemplateId = DefaultTopicViewTemplateId; objModule.TemplatePath = TemplatePath; objModule.UseTemplatePath = UseTemplatePath; objModule.ParentForumId = ParentForumId; objModule.ForumIds = ForumIds; objModule.InheritModuleCSS = InheritModuleCSS; //objModule.LoadGroupForumID = CType(Settings["AFForumGroupID"], Integer) objModule.DefaultView = DefaultView; //CType(Settings["AFViewType"], String) this.Controls.Add(objModule); } } else { Label lblMessage = new Label(); lblMessage.Text = "Please access the Module Settings page to configure this module."; lblMessage.CssClass = "NormalRed"; this.Controls.Add(lblMessage); } } catch (Exception exc) { DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(this, exc); } }
static public string Tokenize(string strContent, DotNetNuke.Entities.Modules.ModuleInfo modInfo, UserInfo user, bool forceDebug, bool bRevertToDnn) { string cacheKey_Installed = "avt.MyTokens2.Installed"; string cacheKey_MethodReplace = "avt.MyTokens2.MethodReplace"; string bMyTokensInstalled = "no"; System.Reflection.MethodInfo methodReplace = null; bool bDebug = forceDebug; if (!bDebug) { try { bDebug = DotNetNuke.Common.Globals.IsEditMode(); } catch { } } lock (typeof(DotNetNuke.Services.Tokens.TokenReplace)) { // first, determine if MyTokens is installed if (HttpRuntime.Cache.Get(cacheKey_Installed) == null) { // check again, maybe current thread was locked by another which did all the work if (HttpRuntime.Cache.Get(cacheKey_Installed) == null) { // it's not in cache, let's determine if it's installed try { Type myTokensRepl = DotNetNuke.Framework.Reflection.CreateType("avt.MyTokens.MyTokensReplacer", true); if (myTokensRepl == null) { throw new Exception(); // handled in catch } bMyTokensInstalled = "yes"; // we now know MyTokens is installed, get ReplaceTokensAll methods methodReplace = myTokensRepl.GetMethod( "ReplaceTokensAll", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static, null, System.Reflection.CallingConventions.Any, new Type[] { typeof(string), typeof(DotNetNuke.Entities.Users.UserInfo), typeof(bool), typeof(DotNetNuke.Entities.Modules.ModuleInfo) }, null ); if (methodReplace == null) { // this shouldn't really happen, we know MyTokens is installed throw new Exception(); } } catch { bMyTokensInstalled = "no"; } // cache values so next time the funciton is called the reflection logic is skipped HttpRuntime.Cache.Insert(cacheKey_Installed, bMyTokensInstalled); if (bMyTokensInstalled == "yes") { HttpRuntime.Cache.Insert(cacheKey_MethodReplace, methodReplace); } } } } bMyTokensInstalled = HttpRuntime.Cache.Get(cacheKey_Installed).ToString(); if (bMyTokensInstalled == "yes") { methodReplace = (System.Reflection.MethodInfo)HttpRuntime.Cache.Get(cacheKey_MethodReplace); if (methodReplace == null) { HttpRuntime.Cache.Remove(cacheKey_Installed); return(Tokenize(strContent, modInfo, user, forceDebug, bRevertToDnn)); } } else { // if it's not installed return string or tokenize with DNN replacer if (!bRevertToDnn) { return(strContent); } else { DotNetNuke.Services.Tokens.TokenReplace dnnTknRepl = new DotNetNuke.Services.Tokens.TokenReplace(); dnnTknRepl.AccessingUser = user ?? DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo(); dnnTknRepl.DebugMessages = bDebug; if (modInfo != null) { dnnTknRepl.ModuleInfo = modInfo; } // MyTokens is not installed, execution ends here return(dnnTknRepl.ReplaceEnvironmentTokens(strContent)); } } // we have MyTokens installed, proceed to token replacement return((string)methodReplace.Invoke( null, new object[] { strContent, user ?? DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo(), bDebug, modInfo } )); }
public string GetQuicktimeMarkUp(MediaInfo Media, DotNetNuke.Entities.Modules.ModuleInfo ModuleConfig) { string strQMediaId = string.Concat(QUICKTIME_ID_PREFIX, Media.ModuleID.ToString()); string strDivId = string.Concat(DIV_ID_PREFIX, strQMediaId); string strDivCssClass = string.Concat(DIV_CLASS, GetMediaAlignment(Media.MediaAlignment, ModuleConfig), " dnnmedia_wmp"); // // BUILD: // <div id="" class=""> // <object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" width="" height=""> // <param name="src" value="" /> // <param name="autoplay" value="true" /> // <param name="controller" value="true" /> // <param name="loop" value="false" /> // <param name="type" value="video/quicktime" /> // <param name="target" value="myself" /> // <embed width="" height="" pluginspage="http://www.apple.com/quicktime/download/" src="" type="video/quicktime" autoplay="true" controller="true" loop="false" target="myself"></embed> // </object> // </div> // StringBuilder sb = new StringBuilder(10); // build open div sb.AppendFormat(OPEN_TAG_FORMAT, DIV_TAG); sb.AppendFormat(ID_ATTRIBUTE, strDivId); sb.AppendFormat(CLASS_ATTRIBUTE.Trim(), strDivCssClass); sb.Append(CLOSE_BRACKET); // // build quicktime object sb.AppendFormat(OPEN_TAG_FORMAT, OBJECT_TAG); sb.AppendFormat(ID_ATTRIBUTE, strQMediaId); if (Media.Width > Null.NullInteger) { sb.AppendFormat(WIDTH_ATTRIBUTE, Media.Width); } if (Media.Height > Null.NullInteger) { sb.AppendFormat(HEIGHT_ATTRIBUTE, Media.Height); } // ISSUE 18955 - http://dnnmedia.codeplex.com/workitem/18955 // Changed the clsid to be the correct one sb.Append("classid=\"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" "); sb.Append("codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\""); sb.Append(CLOSE_BRACKET); sb.AppendFormat(PARAM_TAG_FORMAT, "src", Media.WebFriendlyUrl); sb.AppendFormat(PARAM_TAG_FORMAT, "controller", "true"); sb.AppendFormat(PARAM_TAG_FORMAT, AUTOPLAY, Media.AutoStart); sb.AppendFormat(PARAM_TAG_FORMAT, MEDIA_LOOP, Media.MediaLoop); sb.Append("<!--[if !IE]> <-->"); sb.AppendFormat(OPEN_TAG_FORMAT, OBJECT_TAG); sb.AppendFormat(DATA_ATTRIBUTE, Media.WebFriendlyUrl); if (Media.Width > Null.NullInteger) { sb.AppendFormat(WIDTH_ATTRIBUTE, Media.Width); } if (Media.Height > Null.NullInteger) { sb.AppendFormat(HEIGHT_ATTRIBUTE, Media.Height); } sb.Append("type=\"video/quicktime\""); sb.Append(CLOSE_BRACKET); sb.AppendFormat(PARAM_TAG_FORMAT, "controller", "true"); sb.AppendFormat(PARAM_TAG_FORMAT, AUTOPLAY, Media.AutoStart); sb.AppendFormat(PARAM_TAG_FORMAT, MEDIA_LOOP, Media.MediaLoop); sb.AppendFormat(CLOSE_TAG_FORMAT, OBJECT_TAG); sb.Append("<!--> <![endif]-->"); sb.AppendFormat(CLOSE_TAG_FORMAT, OBJECT_TAG); // // build close div sb.AppendFormat(CLOSE_TAG_FORMAT, DIV_TAG); // return(sb.ToString()); }
public string GetRealPlayerMarkUp(MediaInfo Media, DotNetNuke.Entities.Modules.ModuleInfo ModuleConfig) { string strRMediaId = string.Concat(REAL_PLAYER_ID_PREFIX, Media.ModuleID.ToString()); string strDivId = string.Concat(DIV_ID_PREFIX, strRMediaId); string strDivCssClass = string.Concat(DIV_CLASS, GetMediaAlignment(Media.MediaAlignment, ModuleConfig), " dnnmedia_wmp"); // // BUILD: // <div id="" class=""> // <object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="" height=""> // <param name="src" value="" /> // <param name="controls" value="ImageWindow" /> // <param name="console" value="one" /> // <param name="autostart" value="true" /> // <param name="wmode" value="transparent" /> // <embed src="" width="" height="" nojava="true" controls="ImageWindow" console="one" autostart="" wmode="transparent"></embed> // </object> // </div> // StringBuilder sb = new StringBuilder(10); // build open div sb.AppendFormat(OPEN_TAG_FORMAT, DIV_TAG); sb.AppendFormat(ID_ATTRIBUTE, strDivId); sb.AppendFormat(CLASS_ATTRIBUTE.Trim(), strDivCssClass); sb.Append(CLOSE_BRACKET); // // build real media player object sb.AppendFormat(OPEN_TAG_FORMAT, OBJECT_TAG); sb.AppendFormat(ID_ATTRIBUTE, strRMediaId); if (Media.Width > Null.NullInteger) { sb.AppendFormat(WIDTH_ATTRIBUTE, Media.Width); } if (Media.Height > Null.NullInteger) { sb.AppendFormat(HEIGHT_ATTRIBUTE, Media.Height); } sb.Append("classid=\"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA\""); sb.Append(CLOSE_BRACKET); sb.AppendFormat(PARAM_TAG_FORMAT, SRC, Media.WebFriendlyUrl); sb.AppendFormat(PARAM_TAG_FORMAT, MEDIA_LOOP, Media.MediaLoop); sb.AppendFormat(PARAM_TAG_FORMAT, "controls", "ImageWindow"); sb.AppendFormat(PARAM_TAG_FORMAT, "maintainaspect", "true"); //sb.AppendFormat(PARAM_TAG_FORMAT, "console", "_unique") sb.AppendFormat(PARAM_TAG_FORMAT, AUTOSTART, Media.AutoStart.ToString().ToLower()); sb.Append("<!--[if !IE]> <-->"); sb.AppendFormat(OPEN_TAG_FORMAT, OBJECT_TAG); sb.AppendFormat(DATA_ATTRIBUTE, Media.WebFriendlyUrl); if (Media.Width > Null.NullInteger) { sb.AppendFormat(WIDTH_ATTRIBUTE, Media.Width); } if (Media.Height > Null.NullInteger) { sb.AppendFormat(HEIGHT_ATTRIBUTE, Media.Height); } sb.Append("type=\"audio/x-pn-realaudio-plugin\""); sb.Append(CLOSE_BRACKET); sb.AppendFormat(PARAM_TAG_FORMAT, SRC, Media.WebFriendlyUrl); sb.AppendFormat(PARAM_TAG_FORMAT, MEDIA_LOOP, Media.MediaLoop); sb.AppendFormat(PARAM_TAG_FORMAT, AUTOSTART, Media.AutoStart.ToString().ToLower()); sb.AppendFormat(PARAM_TAG_FORMAT, "nojava", "true"); sb.AppendFormat(PARAM_TAG_FORMAT, "controls", "ImageWindow"); sb.AppendFormat(PARAM_TAG_FORMAT, "maintainaspect", "true"); //sb.AppendFormat(PARAM_TAG_FORMAT, "console", "_unique") sb.AppendFormat(CLOSE_TAG_FORMAT, OBJECT_TAG); sb.Append("<!--> <![endif]-->"); sb.AppendFormat(CLOSE_TAG_FORMAT, OBJECT_TAG); // // build close div sb.AppendFormat(CLOSE_TAG_FORMAT, DIV_TAG); // return(sb.ToString()); }
public virtual void ProcessRequest(System.Web.HttpContext context) { try { if (HttpContext.Current.Items["PortalSettings"] != null) { _ps = (DotNetNuke.Entities.Portals.PortalSettings)(HttpContext.Current.Items["PortalSettings"]); _pid = _ps.PortalId; } else { string DomainName = null; DotNetNuke.Entities.Portals.PortalAliasInfo objPortalAliasInfo = null; string sUrl = HttpContext.Current.Request.RawUrl.Replace("http://", string.Empty).Replace("https://", string.Empty); objPortalAliasInfo = DotNetNuke.Entities.Portals.PortalAliasController.Instance.GetPortalAlias(HttpContext.Current.Request.Url.Host); _pid = objPortalAliasInfo.PortalID; _ps = DotNetNuke.Entities.Portals.PortalController.GetCurrentPortalSettings(); } //Dim sc As New Social.SocialSettings //_mainSettings = sc.LoadSettings[_ps.PortalId] _mainSettings = DataCache.MainSettings(ModuleId); // If context.Request.IsAuthenticated Then _isValid = true; if (AdminRequired & !context.Request.IsAuthenticated) { _isValid = false; return; } if (AdminRequired && context.Request.IsAuthenticated) { //_isValid = DotNetNuke.Security.PortalSecurity.IsInRole(_ps.AdministratorRoleName) DotNetNuke.Entities.Modules.ModuleController objMC = new DotNetNuke.Entities.Modules.ModuleController(); DotNetNuke.Entities.Modules.ModuleInfo objM = objMC.GetModule(ModuleId, TabId); string roleIds = Permissions.GetRoleIds(objM.ModulePermissions.ToString("EDIT").Split(';'), PortalId); _isValid = Modules.ActiveForums.Permissions.HasAccess(roleIds, ForumUser.UserRoles); } else if (AdminRequired & !context.Request.IsAuthenticated) { _isValid = false; return; } string p = HttpContext.Current.Request.Params["p"]; if (!(string.IsNullOrEmpty(p))) { _params = Utilities.JSON.ConvertFromJSONAssoicativeArrayToHashTable(p); } if (context.Request.Files.Count == 0) { string jsonPost = string.Empty; string prop = string.Empty; bool propComplete = true; string val = string.Empty; string tmp = string.Empty; bool bObj = false; //Arrays List <string> slist = null; //Dim pairs As NameValueCollection = Nothing Hashtable pairs = null; Hashtable subPairs = null; Hashtable ht = new Hashtable(); int idx = 0; string parentProp = string.Empty; string skip = "{}[]:," + ((char)(34)).ToString(); using (System.IO.StreamReader sr = new System.IO.StreamReader(context.Request.InputStream, System.Text.Encoding.UTF8)) { while (!(sr.EndOfStream)) { char c = (char)(sr.Read()); if (idx > 0 && c == '[') { c = (char)(sr.Read()); bObj = true; } if (idx > 0 && c == '{') { if (pairs == null) { parentProp = prop; prop = string.Empty; tmp = string.Empty; //pairs = New NameValueCollection pairs = new Hashtable(); } else if (subPairs == null) { string subString = c.ToString(); while (c != '}') { c = (char)(sr.Read()); subString += c; if (c == '}') { break; } } subPairs = Utilities.JSON.ConvertFromJSONAssoicativeArrayToHashTable(subString); pairs.Add(prop, subPairs); prop = string.Empty; tmp = string.Empty; subPairs = null; c = (char)(sr.Read()); } } if (idx > 0 && bObj == true && !(c == '{')) { string subItem = string.Empty; while (c != ']') { if (slist == null) { slist = new List <string>(); } if (skip.IndexOf(c) == -1) { subItem += c; } c = (char)(sr.Read()); if (c == ',' || c == ']') { slist.Add(subItem); subItem = string.Empty; } if (c == ']') { c = (char)(sr.Read()); bObj = false; break; } } } if (c == ':') { prop = tmp; tmp = string.Empty; } if (skip.IndexOf(c) == -1) { tmp += c; } if (c == ',' || c == '}') { if (!(string.IsNullOrEmpty(tmp))) { tmp = HttpUtility.UrlDecode(tmp); } if (slist != null) { ht.Add(prop, slist); slist = null; } else if (pairs != null && c == ',' && !(string.IsNullOrEmpty(prop))) { pairs.Add(prop, tmp); } else if (pairs != null && c == '}') { if (!(string.IsNullOrEmpty(tmp))) { pairs.Add(prop, tmp); } ht.Add(parentProp, pairs); parentProp = string.Empty; pairs = null; } else if (!(string.IsNullOrEmpty(prop))) { ht.Add(prop, tmp); } prop = string.Empty; tmp = string.Empty; } idx += 1; } if (pairs != null & !(string.IsNullOrEmpty(parentProp))) { ht.Add(parentProp, pairs); } else if (!(string.IsNullOrEmpty(prop)) && !(string.IsNullOrEmpty(tmp))) { ht.Add(prop, HttpUtility.UrlDecode(tmp)); } else if (!(string.IsNullOrEmpty(prop)) && slist != null) { ht.Add(prop, slist); } //jsonPost = sr.ReadToEnd() sr.Close(); } _params = ht; //End If } else { Hashtable ht = new Hashtable(); foreach (string s in context.Request.Params.AllKeys) { if (!(ht.ContainsKey(s))) { ht.Add(s, context.Request.Params[s]); } } _params = ht; } if (HttpContext.Current.Request.IsAuthenticated) { UserId = UserController.GetUserIdByUserName(PortalId, HttpContext.Current.User.Identity.Name); } else { UserId = -1; } } catch (Exception ex) { _isValid = false; Exceptions.LogException(ex); } }
internal static DotNetNuke.Security.Permissions.ModulePermissionInfo AddModulePermission(DotNetNuke.Entities.Modules.ModuleInfo objModule, DotNetNuke.Security.Permissions.PermissionInfo permission, int roleId, int userId, bool allowAccess) { var objModulePermission = new DotNetNuke.Security.Permissions.ModulePermissionInfo(); objModulePermission.ModuleID = objModule.ModuleID; objModulePermission.PermissionID = permission.PermissionID; objModulePermission.RoleID = roleId; objModulePermission.UserID = userId; objModulePermission.PermissionKey = permission.PermissionKey; objModulePermission.AllowAccess = allowAccess; // add the permission to the collection if (!objModule.ModulePermissions.Contains(objModulePermission)) { objModule.ModulePermissions.Add(objModulePermission); } return(objModulePermission); }
public HttpResponseMessage SaveModule(DTO.ModuleDetails module) { var apiResponse = new DTO.ApiResponse <int>(); try { int iPosition = -1; switch (module.Position.ToUpper()) { case "TOP": iPosition = 0; break; case "ABOVE": if (string.IsNullOrEmpty(module.ModuleInstance) == false) { iPosition = int.Parse(module.ModuleInstance) - 1; } break; case "BELOW": if (string.IsNullOrEmpty(module.ModuleInstance) == false) { iPosition = int.Parse(module.ModuleInstance) + 1; } break; case "BOTTOM": iPosition = -1; break; } if (module.CreateAs == "copy") { if (module.Container == "-1") { module.Container = string.Empty; } Common.AddModuleCopy(module.ModuleId, module.PageId, iPosition, module.Location, module.Container); apiResponse.Success = true; } else if (module.CreateAs == "link") { if (module.Container == "-1") { module.Container = string.Empty; } Common.AddExistingModule(module.ModuleId, module.PageId, module.Location, iPosition, "", module.Container); apiResponse.Success = true; } else { List <int> lstNewModules = new List <int>(); var objTabPermissions = PortalSettings.ActiveTab.TabPermissions; var objPermissionController = new DotNetNuke.Security.Permissions.PermissionController(); var objModules = new DotNetNuke.Entities.Modules.ModuleController(); var objEventLog = new DotNetNuke.Services.Log.EventLog.EventLogController(); int j = 0; try { DotNetNuke.Entities.Modules.DesktopModuleInfo desktopModule = null; if (!DotNetNuke.Entities.Modules.DesktopModuleController.GetDesktopModules(PortalSettings.PortalId).TryGetValue(module.Module, out desktopModule)) { apiResponse.Message = "desktopModuleId"; return(Request.CreateResponse(HttpStatusCode.OK, apiResponse)); } } catch (Exception ex) { //LogException(ex); } int UserId = UserInfo.UserID; foreach (var objModuleDefinition in DotNetNuke.Entities.Modules.Definitions.ModuleDefinitionController.GetModuleDefinitionsByDesktopModuleID(module.Module).Values) { var objModule = new DotNetNuke.Entities.Modules.ModuleInfo(); objModule.Initialize(PortalSettings.PortalId); objModule.PortalID = PortalSettings.PortalId; objModule.TabID = PortalSettings.ActiveTab.TabID; objModule.ModuleOrder = iPosition; if (string.IsNullOrEmpty(module.Title) == true) { objModule.ModuleTitle = objModuleDefinition.FriendlyName; } else { objModule.ModuleTitle = module.Title; } if (!string.IsNullOrEmpty(module.Container) && module.Container != "-1") { objModule.ContainerSrc = module.Container; } objModule.PaneName = module.Location; objModule.ModuleDefID = objModuleDefinition.ModuleDefID; if (objModuleDefinition.DefaultCacheTime > 0) { objModule.CacheTime = objModuleDefinition.DefaultCacheTime; if (PortalSettings.DefaultModuleId > Null.NullInteger && PortalSettings.DefaultTabId > Null.NullInteger) { var defaultModule = objModules.GetModule(PortalSettings.DefaultModuleId, PortalSettings.DefaultTabId, true); if ((defaultModule != null)) { objModule.CacheTime = defaultModule.CacheTime; } } } switch (module.Visibility) { case 0: objModule.InheritViewPermissions = true; break; case 1: objModule.InheritViewPermissions = false; break; case 2: objModule.InheritViewPermissions = false; break; case 3: objModule.InheritViewPermissions = false; break; case 4: objModule.InheritViewPermissions = false; break; } // get the default module view permissions var arrSystemModuleViewPermissions = objPermissionController.GetPermissionByCodeAndKey("SYSTEM_MODULE_DEFINITION", "VIEW"); // get the permissions from the page foreach (DotNetNuke.Security.Permissions.TabPermissionInfo objTabPermission in objTabPermissions) { if (objTabPermission.PermissionKey == "VIEW" && module.Visibility == 0) { //Don't need to explicitly add View permisisons if "Same As Page" continue; } // get the system module permissions for the permissionkey var arrSystemModulePermissions = objPermissionController.GetPermissionByCodeAndKey("SYSTEM_MODULE_DEFINITION", objTabPermission.PermissionKey); // loop through the system module permissions for (j = 0; j <= arrSystemModulePermissions.Count - 1; j++) { // create the module permission DotNetNuke.Security.Permissions.PermissionInfo objSystemModulePermission = null; objSystemModulePermission = (DotNetNuke.Security.Permissions.PermissionInfo)arrSystemModulePermissions[j]; if (objSystemModulePermission.PermissionKey == "VIEW" && module.Visibility == 1 && objTabPermission.PermissionKey != "EDIT") { //Only Page Editors get View permissions if "Page Editors Only" continue; } var objModulePermission = Common.AddModulePermission(objModule, objSystemModulePermission, objTabPermission.RoleID, objTabPermission.UserID, objTabPermission.AllowAccess); // ensure that every EDIT permission which allows access also provides VIEW permission if (objModulePermission.PermissionKey == "EDIT" & objModulePermission.AllowAccess) { var objModuleViewperm = Common.AddModulePermission(objModule, (DotNetNuke.Security.Permissions.PermissionInfo)arrSystemModuleViewPermissions[0], objModulePermission.RoleID, objModulePermission.UserID, true); } } //Get the custom Module Permissions, Assume that roles with Edit Tab Permissions //are automatically assigned to the Custom Module Permissions if (objTabPermission.PermissionKey == "EDIT") { var arrCustomModulePermissions = objPermissionController.GetPermissionsByModuleDefID(objModule.ModuleDefID); // loop through the custom module permissions for (j = 0; j <= arrCustomModulePermissions.Count - 1; j++) { // create the module permission DotNetNuke.Security.Permissions.PermissionInfo objCustomModulePermission = null; objCustomModulePermission = (DotNetNuke.Security.Permissions.PermissionInfo)arrCustomModulePermissions[j]; Common.AddModulePermission(objModule, objCustomModulePermission, objTabPermission.RoleID, objTabPermission.UserID, objTabPermission.AllowAccess); } } } objModule.AllTabs = false; //objModule.Alignment = align; apiResponse.CustomObject = objModules.AddModule(objModule); apiResponse.Success = true; } } } catch (Exception err) { apiResponse.Success = false; apiResponse.Message = err.Message; Exceptions.LogException(err); } return(Request.CreateResponse(HttpStatusCode.OK, apiResponse)); }
/// <summary> /// Gets the notification emails. /// </summary> /// <param name="topic">The topic.</param> /// <returns>A List of Users</returns> public List <string> GetNotificationEmails(Topic topic) { Setting wikiSettings = new SettingBO(this.mUnitOfWork).GetByModuleID(topic.ModuleId); List <string> lstUsers = new List <string>(); if (wikiSettings != null) { // Gather the email address from the roles assigned to this module... if (!string.IsNullOrWhiteSpace(wikiSettings.CommentNotifyRoles)) { DotNetNuke.Security.Roles.RoleController objRoles = new DotNetNuke.Security.Roles.RoleController(); DotNetNuke.Entities.Modules.ModuleController objModules = new DotNetNuke.Entities.Modules.ModuleController(); DotNetNuke.Entities.Modules.ModuleInfo objModule = objModules.GetModule(topic.ModuleId); if (objModule != null) { bool fetchUsingDNNRoles = false; bool fetchUsingCustomRoles = false; bool fetchViewUsers = false; bool fetchEditUsers = false; fetchUsingDNNRoles = !string.IsNullOrWhiteSpace(wikiSettings.ContentEditorRoles) && wikiSettings.ContentEditorRoles.StartsWith("UseDNNSettings;"); fetchUsingCustomRoles = !string.IsNullOrWhiteSpace(wikiSettings.CommentNotifyRoles) && !wikiSettings.CommentNotifyRoles.StartsWith("UseDNNSettings;"); if (!fetchUsingCustomRoles) { fetchEditUsers = wikiSettings.CommentNotifyRoles.Contains(";Edit"); fetchViewUsers = wikiSettings.CommentNotifyRoles.Contains(";View"); } // Compile our view users, only if enabled if (fetchViewUsers) { foreach (string role in objModule.AuthorizedViewRoles.Trim(new char[] { ';' }).Split(new char[] { ';' })) { if (role.ToLower().Equals("all users")) { // Trap against fake roles var arrUsers = DotNetNuke.Entities.Users.UserController.GetUsers(DotNetNuke.Entities.Portals.PortalController.GetCurrentPortalSettings().PortalId).OfType <UserInfo>(); foreach (DotNetNuke.Entities.Users.UserInfo objUser in arrUsers) { if (!lstUsers.Contains(objUser.Email)) { lstUsers.Add(objUser.Email); } } } else { // This role should be legit foreach (DotNetNuke.Entities.Users.UserRoleInfo objUserRole in objRoles.GetUserRolesByRoleName(objModule.PortalID, role)) { if (!lstUsers.Contains(objUserRole.Email)) { lstUsers.Add(objUserRole.Email); } } } } } // Compile our edit users, only if enabled if (fetchEditUsers) { if (fetchUsingDNNRoles) { // Fetch using dnn edit roles foreach (string role in objModule.AuthorizedEditRoles.Trim(new char[] { ';' }).Split(new char[] { ';' })) { if (role.ToLower().Equals("all users")) { // Trap against fake roles } else { // This role should be legit foreach (DotNetNuke.Entities.Users.UserRoleInfo objUserRole in objRoles.GetUserRolesByRoleName(objModule.PortalID, role)) { if (!lstUsers.Contains(objUserRole.Email)) { lstUsers.Add(objUserRole.Email); } } } } } else { // Fetch using custom wiki edit roles foreach (string role in wikiSettings.ContentEditorRoles.Trim(new char[] { ';' }).Split(new char[] { ';' })) { foreach (DotNetNuke.Entities.Users.UserRoleInfo objUserRole in objRoles.GetUserRolesByRoleName(objModule.PortalID, role)) { if (!lstUsers.Contains(objUserRole.Email)) { lstUsers.Add(objUserRole.Email); } } } } } } } // Gather any users emails address from comments in this topic... if (wikiSettings.CommentNotifyUsers == true) { IEnumerable <CommentEmails> lstEmails = new CommentBO(this.mUnitOfWork).GetCommentNotifyUsers(topic.TopicID); foreach (CommentEmails objCommentEmail in lstEmails) { if (!lstUsers.Contains(objCommentEmail.Email)) { lstUsers.Add(objCommentEmail.Email); } } } } return(lstUsers); }
public string GetFlashMarkUp(MediaInfo Media, DotNetNuke.Entities.Modules.ModuleInfo ModuleConfig) { string strFlashId = string.Concat(FLASH_ID_PREFIX, Media.ModuleID.ToString()); string strDivId = string.Concat(DIV_ID_PREFIX, strFlashId); string strDivCssClass = string.Concat(DIV_CLASS, GetMediaAlignment(Media.MediaAlignment, ModuleConfig)); //Media.Src = String.Concat(CurrentDomain, Media.Src) // // BUILD: // <div id="" class=""> // <embed pluginspage="http://www.macromedia.com/go/getflashplayer" src="" width="" height="" type="application/x-shockwave-flash" bgcolor="" salign="LT" quality="high" menu="false" loop=""></embed> // </div> // StringBuilder sb = new StringBuilder(10); // build open div sb.AppendFormat(OPEN_TAG_FORMAT, DIV_TAG); sb.AppendFormat(ID_ATTRIBUTE, strDivId); sb.AppendFormat(CLASS_ATTRIBUTE.Trim(), strDivCssClass); sb.Append(CLOSE_BRACKET); // // build flash object sb.AppendFormat(OPEN_TAG_FORMAT, OBJECT_TAG); sb.AppendFormat(ID_ATTRIBUTE, strFlashId); if (Media.Width > Null.NullInteger) { sb.AppendFormat(WIDTH_ATTRIBUTE, Media.Width); } if (Media.Height > Null.NullInteger) { sb.AppendFormat(HEIGHT_ATTRIBUTE, Media.Height); } sb.Append("classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" "); sb.AppendFormat("codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\""); sb.Append(CLOSE_BRACKET); sb.AppendFormat(PARAM_TAG_FORMAT, "movie", Media.WebFriendlyUrl); sb.AppendFormat(PARAM_TAG_FORMAT, "quality", "high"); sb.AppendFormat(PARAM_TAG_FORMAT, "bgcolor", "#ffffff"); sb.AppendFormat(PARAM_TAG_FORMAT, "wmode", "transparent"); sb.Append("<!--[if !IE]> <-->"); sb.AppendFormat(OPEN_TAG_FORMAT, OBJECT_TAG); sb.AppendFormat(DATA_ATTRIBUTE, Media.WebFriendlyUrl); if (Media.Width > Null.NullInteger) { sb.AppendFormat(WIDTH_ATTRIBUTE, Media.Width); } if (Media.Height > Null.NullInteger) { sb.AppendFormat(HEIGHT_ATTRIBUTE, Media.Height); } sb.Append("type=\"application/x-shockwave-flash\""); sb.Append(CLOSE_BRACKET); sb.AppendFormat(PARAM_TAG_FORMAT, "quality", "high"); sb.AppendFormat(PARAM_TAG_FORMAT, "bgcolor", "#ffffff"); sb.AppendFormat(PARAM_TAG_FORMAT, "wmode", "transparent"); sb.AppendFormat(PARAM_TAG_FORMAT, "pluginurl", "http://www.macromedia.com/go/getflashplayer"); sb.AppendFormat(PARAM_TAG_FORMAT, "wmode", "transparent"); sb.AppendFormat(CLOSE_TAG_FORMAT, OBJECT_TAG); sb.Append("<!--> <![endif]-->"); sb.AppendFormat(CLOSE_TAG_FORMAT, OBJECT_TAG); // // build close div sb.AppendFormat(CLOSE_TAG_FORMAT, DIV_TAG); // return(sb.ToString()); }