protected void LoadWebPart() { String partIDString = String.Empty; if (Settings.Contains("WebPartModuleWebPartSetting")) { partIDString = Settings["WebPartModuleWebPartSetting"].ToString(); } if (partIDString.Length == 36) { Guid webPartID = new Guid(partIDString); WebPartContent webPartContent = new WebPartContent(webPartID); if (webPartContent.WebPartId != Guid.Empty) { String path = HttpContext.Current.Server.MapPath("~/bin") + Path.DirectorySeparatorChar + webPartContent.AssemblyName + ".dll"; Assembly assembly = Assembly.LoadFrom(path); Type type = assembly.GetType(webPartContent.ClassName, true, true); WebPart webPart = Activator.CreateInstance(type) as WebPart; if (webPart != null) { this.Title = webPart.Title; this.Description = webPart.Description; this.ModuleConfiguration.ModuleTitle = webPart.Title; this.pnlPlaceHolder.Controls.Add(webPart); } } } }
/// <summary> /// Handles the Click event of the btnDelete control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> protected void btnDelete_Click(object sender, EventArgs e) { if (this.webPartID != Guid.Empty) { WebPartContent webPartContent = new WebPartContent(webPartID); if (webPartContent.SiteId == siteSettings.SiteId) { WebPartContent.DeleteWebPart(webPartID); } } if (hdnReturnUrl.Value.Length > 0) { WebUtils.SetupRedirect(this, hdnReturnUrl.Value); return; } WebUtils.SetupRedirect(this, SiteUtils.GetCurrentPageUrl()); }
protected void btnAddWebPart_Click(object sender, EventArgs e) { if (lstAllWebParts.SelectedIndex > -1) { foreach (ListItem item in lstAllWebParts.Items) { if (item.Selected) { Guid webPartID = new Guid(item.Value); WebPartContent baseSiteWebPart = new WebPartContent(webPartID); WebPartContent childSiteWebPart = new WebPartContent(); childSiteWebPart.SiteId = selectedSite.SiteId; childSiteWebPart.SiteGuid = selectedSite.SiteGuid; childSiteWebPart.AllowMultipleInstancesOnMyPage = baseSiteWebPart.AllowMultipleInstancesOnMyPage; childSiteWebPart.AssemblyName = baseSiteWebPart.AssemblyName; childSiteWebPart.AvailableForContentSystem = baseSiteWebPart.AvailableForContentSystem; childSiteWebPart.AvailableForMyPage = baseSiteWebPart.AvailableForMyPage; childSiteWebPart.ClassName = baseSiteWebPart.ClassName; childSiteWebPart.Description = baseSiteWebPart.Description; childSiteWebPart.ImageUrl = baseSiteWebPart.ImageUrl; childSiteWebPart.Title = baseSiteWebPart.Title; childSiteWebPart.Save(); } } PopulateWebParts(); upWebParts.Update(); } else { lblWebPartMessage.Text = Resource.SiteSettingsSelectWebPartToAddWarning; } }
protected void grdAvailableParts_RowUpdating(object sender, GridViewUpdateEventArgs e) { if (sender == null) return; if (e == null) return; GridView grid = (GridView)sender; CheckBox chkAvailableForMyPage = (CheckBox)grid.Rows[e.RowIndex].Cells[1].FindControl("chkAvailableForMyPage"); CheckBox chkAllowMultipleInstancesOnMyPage = (CheckBox)grid.Rows[e.RowIndex].Cells[1].FindControl("chkAllowMultipleInstancesOnMyPage"); CheckBox chkAvailableForContentSystem = (CheckBox)grid.Rows[e.RowIndex].Cells[1].FindControl("chkAvailableForContentSystem"); DropDownList ddIcons = (DropDownList)grid.Rows[e.RowIndex].Cells[1].FindControl("ddIcons"); WebPartContent webPartContent = new WebPartContent(); webPartContent.AllowMultipleInstancesOnMyPage = chkAllowMultipleInstancesOnMyPage.Checked; webPartContent.AssemblyName = this.CurrentAssembly; webPartContent.AvailableForContentSystem = chkAvailableForContentSystem.Checked; webPartContent.AvailableForMyPage = chkAvailableForMyPage.Checked; webPartContent.ClassName = this.CurrentClass; webPartContent.Description = this.CurrentDescription; webPartContent.ImageUrl = ddIcons.SelectedValue; webPartContent.SiteId = siteSettings.SiteId; webPartContent.SiteGuid = siteSettings.SiteGuid; webPartContent.Title = this.CurrentTitle; webPartContent.Save(); WebUtils.SetupRedirect(this, Request.RawUrl); }
/// <summary> /// Handles the Click event of the btnUpdate control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> protected void btnUpdate_Click(object sender, EventArgs e) { if (this.webPartID != Guid.Empty) { WebPartContent webPartContent = new WebPartContent(webPartID); if (webPartContent.SiteId == siteSettings.SiteId) { webPartContent.AvailableForMyPage = chkAvailableForMyPage.Checked; webPartContent.AllowMultipleInstancesOnMyPage = chkAllowMultipleInstancesOnMyPage.Checked; webPartContent.AvailableForContentSystem = chkAvailableForContentSystem.Checked; webPartContent.ImageUrl = ddIcons.SelectedValue; webPartContent.Save(); } } if (hdnReturnUrl.Value.Length > 0) { WebUtils.SetupRedirect(this, hdnReturnUrl.Value); return; } WebUtils.SetupRedirect(this, SiteUtils.GetCurrentPageUrl()); }
/// <summary> /// Populates the controls. /// </summary> private void PopulateControls() { this.ddIcons.DataSource = SiteUtils.GetFeatureIconList(); this.ddIcons.DataBind(); ddIcons.Items.Insert(0, new ListItem(MyPageResources.ModuleSettingsNoIconLabel, "blank.gif")); ddIcons.Attributes.Add("onChange", "javascript:showIcon(this);"); ddIcons.Attributes.Add("size", "6"); SetupIconScript(this.imgIcon); if (webPartID != Guid.Empty) { WebPartContent webPartContent = new WebPartContent(webPartID); if (webPartContent.SiteId == siteSettings.SiteId) { ListItem item = this.ddIcons.Items.FindByValue(webPartContent.ImageUrl); if (item != null) { ddIcons.ClearSelection(); ddIcons.Items.FindByValue(webPartContent.ImageUrl).Selected = true; } imgIcon.Src = this.iconPath + webPartContent.ImageUrl; lblClassName.Text = webPartContent.ClassName; lblAssemblyName.Text = webPartContent.AssemblyName; lblTitle.Text = webPartContent.Title; lblDescription.Text = webPartContent.Description; chkAvailableForMyPage.Checked = webPartContent.AvailableForMyPage; chkAllowMultipleInstancesOnMyPage.Checked = webPartContent.AllowMultipleInstancesOnMyPage; chkAvailableForContentSystem.Checked = webPartContent.AvailableForContentSystem; } } }
private void AddWebPart() { String webPartIDString = Request.Params.Get("addpart"); if (webPartIDString.Length == 36) { Guid webPartID = new Guid(webPartIDString); WebPartContent webPartContent = new WebPartContent(webPartID); if ((webPartContent.WebPartId != Guid.Empty)&&(webPartContent.AvailableForMyPage)) { if (HttpContext.Current != null) { String path = HttpContext.Current.Server.MapPath("~/bin") + Path.DirectorySeparatorChar + webPartContent.AssemblyName + ".dll"; Assembly assembly = Assembly.LoadFrom(path); Type type = assembly.GetType(webPartContent.ClassName, true, true); WebPart webPart = Activator.CreateInstance(type) as WebPart; if (webPart != null) { WebPartContent.UpdateCountOfUseOnMyPage(webPartContent.WebPartId, 1); webPart.ID = Guid.NewGuid().ToString(); mojoWebPartManager mojoManager = (mojoWebPartManager)this.WebPartManager1; mojoManager.AddWebPart(webPart, this.CenterWebPartZone, 0); mojoManager.SetDirty(); } } } } }
public override WebPart GetWebPart(WebPartDescription description) { SiteSettings siteSettings = CacheHelper.GetCurrentSiteSettings(); if (siteSettings == null) return null; WebPart webPart = null; if (description.ID.Length == 36) { Guid webPartID = new Guid(description.ID); WebPartContent webPartContent = new WebPartContent(webPartID); if (webPartContent.WebPartId != Guid.Empty) { if (HttpContext.Current != null) { String path = HttpContext.Current.Server.MapPath("~/bin") + Path.DirectorySeparatorChar + webPartContent.AssemblyName + ".dll"; Assembly assembly = Assembly.LoadFrom(path); Type type = assembly.GetType(webPartContent.ClassName, true, true); object obj = Activator.CreateInstance(type); if (obj != null) { webPart = (WebPart)obj; WebPartContent.UpdateCountOfUseOnMyPage(webPartContent.WebPartId, 1); } } } } else { mojoPortal.Business.Module module = new mojoPortal.Business.Module(int.Parse(description.ID)); SiteModuleControl siteModule = Page.LoadControl("~/" + module.ControlSource) as SiteModuleControl; if (siteModule != null) { siteModule.SiteId = siteSettings.SiteId; siteModule.ID = "module" + module.ModuleId.ToString(CultureInfo.InvariantCulture); siteModule.ModuleConfiguration = module; siteModule.RenderInWebPartMode = true; webPart = WebPartManager.CreateWebPart(siteModule); siteModule.ModuleId = module.ModuleId; mojoPortal.Business.Module.UpdateCountOfUseOnMyPage(module.ModuleId, 1); } } return webPart; }