protected override void OnLoad(EventArgs e) { base.OnLoad(e); try { var htmlContentItemID = -1; var htmlContent = _htmlTextController.GetTopHtmlText(ModuleId, false, WorkflowID); if ((htmlContent != null)) { htmlContentItemID = htmlContent.ItemID; } if (!Page.IsPostBack) { var workflowStates = _workflowStateController.GetWorkflowStates(WorkflowID); var maxVersions = _htmlTextController.GetMaximumVersionHistory(PortalId); var userCanEdit = UserInfo.IsSuperUser || PortalSecurity.IsInRole(PortalSettings.AdministratorRoleName); lblMaxVersions.Text = maxVersions.ToString(); dgVersions.PageSize = Math.Min(Math.Max(maxVersions, 5), 10); //min 5, max 10 switch (workflowStates.Count) { case 1: CurrentWorkflowType = WorkflowType.DirectPublish; break; case 2: CurrentWorkflowType = WorkflowType.ContentStaging; break; } if (htmlContentItemID != -1) { DisplayContent(htmlContent); //DisplayPreview(htmlContent); DisplayHistory(htmlContent); } else { DisplayInitialContent(workflowStates[0] as WorkflowStateInfo); } divPublish.Visible = CurrentWorkflowType != WorkflowType.DirectPublish; phCurrentVersion.Visible = CurrentWorkflowType != WorkflowType.DirectPublish; phPreviewVersion.Visible = CurrentWorkflowType != WorkflowType.DirectPublish; //DisplayVersions(); BindRenderItems(); ddlRender.SelectedValue = txtContent.Mode; } } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
/// ----------------------------------------------------------------------------- /// <summary> /// ModuleAction_Click handles all ModuleAction events raised from the action menu /// </summary> /// <remarks> /// </remarks> /// ----------------------------------------------------------------------------- private void ModuleAction_Click(object sender, ActionEventArgs e) { try { if (e.Action.CommandArgument == "publish") { // verify security if (IsEditable && PortalSettings.UserMode == PortalSettings.Mode.Edit) { // get content var objHTML = new HtmlTextController(); HtmlTextInfo objContent = objHTML.GetTopHtmlText(ModuleId, false, WorkflowID); var objWorkflow = new WorkflowStateController(); if (objContent.StateID == objWorkflow.GetFirstWorkflowStateID(WorkflowID)) { // publish content objContent.StateID = objWorkflow.GetNextWorkflowStateID(objContent.WorkflowID, objContent.StateID); // save the content objHTML.UpdateHtmlText(objContent, objHTML.GetMaximumVersionHistory(PortalId)); // refresh page Response.Redirect(Globals.NavigateURL(), true); } } } } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
/// ----------------------------------------------------------------------------- /// <summary> /// lblContent_UpdateLabel allows for inline editing of content /// </summary> /// <remarks> /// </remarks> /// ----------------------------------------------------------------------------- private void lblContent_UpdateLabel(object source, DNNLabelEditEventArgs e) { try { // verify security if ((!PortalSecurity.Instance.InputFilter(e.Text, PortalSecurity.FilterFlag.NoScripting).Equals(e.Text))) { throw new SecurityException(); } else if (EditorEnabled && IsEditable && PortalSettings.UserMode == PortalSettings.Mode.Edit) { // get content var objHTML = new HtmlTextController(); var objWorkflow = new WorkflowStateController(); HtmlTextInfo objContent = objHTML.GetTopHtmlText(ModuleId, false, WorkflowID); if (objContent == null) { objContent = new HtmlTextInfo(); objContent.ItemID = -1; } // set content attributes objContent.ModuleID = ModuleId; objContent.Content = Server.HtmlEncode(e.Text); objContent.WorkflowID = WorkflowID; objContent.StateID = objWorkflow.GetFirstWorkflowStateID(WorkflowID); // save the content objHTML.UpdateHtmlText(objContent, objHTML.GetMaximumVersionHistory(PortalId)); } else { throw new SecurityException(); } } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
/// ----------------------------------------------------------------------------- /// <summary> /// ModuleAction_Click handles all ModuleAction events raised from the action menu /// </summary> /// <remarks> /// </remarks> /// <history> /// </history> /// ----------------------------------------------------------------------------- private void ModuleAction_Click(object sender, ActionEventArgs e) { try { if (e.Action.CommandArgument == "publish") { // verify security if (IsEditable && PortalSettings.UserMode == PortalSettings.Mode.Edit) { // get content var objHTML = new HtmlTextController(); HtmlTextInfo objContent = objHTML.GetTopHtmlText(ModuleId, false, WorkflowID); var objWorkflow = new WorkflowStateController(); if (objContent.StateID == objWorkflow.GetFirstWorkflowStateID(WorkflowID)) { // publish content objContent.StateID = objWorkflow.GetNextWorkflowStateID(objContent.WorkflowID, objContent.StateID); // save the content objHTML.UpdateHtmlText(objContent, objHTML.GetMaximumVersionHistory(PortalId)); // refresh page Response.Redirect(Globals.NavigateURL(), true); } } } } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
/// ----------------------------------------------------------------------------- /// <summary> /// lblContent_UpdateLabel allows for inline editing of content /// </summary> /// <remarks> /// </remarks> /// <history> /// </history> /// ----------------------------------------------------------------------------- private void lblContent_UpdateLabel(object source, DNNLabelEditEventArgs e) { try { // verify security if ((!new PortalSecurity().InputFilter(e.Text, PortalSecurity.FilterFlag.NoScripting).Equals(e.Text))) { throw new SecurityException(); } else if (EditorEnabled && IsEditable && PortalSettings.UserMode == PortalSettings.Mode.Edit) { // get content var objHTML = new HtmlTextController(); var objWorkflow = new WorkflowStateController(); HtmlTextInfo objContent = objHTML.GetTopHtmlText(ModuleId, false, WorkflowID); if (objContent == null) { objContent = new HtmlTextInfo(); objContent.ItemID = -1; } // set content attributes objContent.ModuleID = ModuleId; objContent.Content = Server.HtmlEncode(e.Text); objContent.WorkflowID = WorkflowID; objContent.StateID = objWorkflow.GetFirstWorkflowStateID(WorkflowID); // save the content objHTML.UpdateHtmlText(objContent, objHTML.GetMaximumVersionHistory(PortalId)); } else { throw new SecurityException(); } } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }