/// <summary> /// Gets the file locked user id. /// </summary> /// <param name="fileUrl">The file URL.</param> /// <returns></returns> public static UserLight GetFileLockedUserId(string fileUrl) { UserLight retVal = null; try { WebDavTicket ticket = WebDavUrlBuilder.GetWebDavTicket(fileUrl); WebDavAbstractFactory factory = new WebDavAbstractFactory(); WebDavPropertyStorage provider = factory.Create <WebDavElementStorageProvider>(ticket.AbsolutePath.StorageType) as WebDavPropertyStorage; if (provider != null) { WebDavElementInfo elInfo = provider.GetElementInfo(ticket.ToString()); foreach (ActiveLockElement activeLock in provider.GetActiveLocks(elInfo)) { UserLight user = UserLight.Load(activeLock.Owner); if (user != null) { retVal = user; break; } } } } catch (System.Exception) { } return(retVal); }
private void BindFiles() { FileInfo[] files = fs.GetFiles(RootFolderId); if (files.Length <= 0) { trFiles.Visible = false; return; } trFiles.Visible = true; DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("FileId", typeof(int))); dt.Columns.Add(new DataColumn("FileLink", typeof(string))); DataRow dr; foreach (FileInfo fi in files) { dr = dt.NewRow(); dr["FileId"] = fi.Id; string sIconLink = ResolveUrl("~/Common/ContentIcon.aspx?IconID=" + fi.FileBinaryContentTypeId); string sIcon = String.Format("<img src='{0}' width='16' height='16' border=0 align=absmiddle>", sIconLink); string sLink = ""; if (fi.FileBinaryContentType.ToLower().IndexOf("url") >= 0) { sLink = Util.CommonHelper.GetLinkText(fs, fi); } if (sLink == "") { sLink = WebDavUrlBuilder.GetFileStorageWebDavUrl(fi, true); } dr["FileLink"] = String.Format("<a href=\"{0}\" title='{1}'{2}>{3} {4}</a>", sLink, fi.Name, Common.OpenInNewWindow(fi.FileBinaryContentType) ? " target='_blank'" : "", sIcon, Util.CommonHelper.GetShortFileName(fi.Name, 40) ); dt.Rows.Add(dr); } rptFiles.DataSource = dt; rptFiles.DataBind(); foreach (RepeaterItem item in rptFiles.Items) { ImageButton ib = (ImageButton)item.FindControl("ibDelete"); if (ib != null) { ib.Attributes.Add("onclick", "return confirm('" + LocRM3.GetString("MesDeleteD") + "');"); ib.ToolTip = LocRM3.GetString("DeleteDocument"); } } }
private void BindDGFiles(string Keyword) { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Id", typeof(int))); dt.Columns.Add(new DataColumn("Title", typeof(string))); dt.Columns.Add(new DataColumn("_Href", typeof(string))); dt.Columns.Add(new DataColumn("_New", typeof(int))); dt.Columns.Add(new DataColumn("Location", typeof(string))); DataRow dr; FileInfo[] _fi = Mediachase.IBN.Business.ControlSystem.FileStorage.SearchFiles(Security.CurrentUser.UserID, -1, -1, Keyword, -1, DateTime.MinValue, DateTime.MinValue, -1, -1); foreach (FileInfo fi in _fi) { dr = dt.NewRow(); dr["Id"] = fi.Id; dr["Title"] = Util.CommonHelper.GetShortFileName(fi.Name, 40); string sLink = ""; if (fi.FileBinaryContentType.ToLower().IndexOf("url") >= 0) { sLink = GetLinkText(fi); } if (sLink == "") { //sLink = Util.CommonHelper.GetAbsolutePath(Mediachase.IBN.Business.ControlSystem.WebDavFileUserTicket.GetDownloadPath(fi.Id, fi.Name)); sLink = WebDavUrlBuilder.GetFileStorageWebDavUrl(fi, true); } dr["_Href"] = sLink; dr["_New"] = Common.OpenInNewWindow(fi.FileBinaryContentType) ? 1 : 0; string containerKey = fi.ContainerKey; BaseIbnContainer bic = BaseIbnContainer.Create("FileLibrary", containerKey); Mediachase.IBN.Business.ControlSystem.FileStorage fs = (Mediachase.IBN.Business.ControlSystem.FileStorage)bic.LoadControl("FileStorage"); string parentName = ""; string parentLink = ""; Util.CommonHelper.GetParentContainer(containerKey, fi.ParentDirectory, out parentName, out parentLink); dr["Location"] = parentName; dt.Rows.Add(dr); } dgFiles.DataSource = dt.DefaultView; dgFiles.DataBind(); int RowCount = dgFiles.Items.Count; if (RowCount == 0) { Sep6.Visible = false; Pan6.Visible = false; } else { Sep6.Title = String.Format("{0} ({1})", LocRM.GetString("Files"), RowCount); } }
public string GetUrl(string absolutePath) { string retVal = absolutePath; try { WebDavTicket ticket = WebDavTicket.Parse(absolutePath); retVal = WebDavUrlBuilder.GetWebDavUrl(ticket.AbsolutePath, true); } catch (Exception) { } return(retVal); }
/// <summary> /// Gets the absolute path. /// </summary> /// <param name="url">The URL.</param> /// <returns></returns> public string GetAbsolutePath(string url) { string retVal = url; try { WebDavTicket ticket = WebDavUrlBuilder.GetWebDavTicket(url); if (ticket != null) { retVal = ticket.ToString(); } } catch (System.Exception) { //throw new Exception("webdav ticket incorrect format"); } return(retVal); }
protected void Page_Load(object sender, EventArgs e) { ResourceManager LocRM = new ResourceManager("Mediachase.UI.Web.App_GlobalResources.FileLibrary.Resources.strFileLibrary", Assembly.GetExecutingAssembly()); secHeader.Title = LocRM.GetString("tDownloadLinkTitle"); int lifeTime = 0; try { lifeTime = Convert.ToInt32(PortalConfig.WebDavSessionLifeTime); } catch (Exception) { } string sTime = String.Format("{0:D2}:{1:D2}", lifeTime / 60, lifeTime % 60); string sLink = WebDavUrlBuilder.GetWebDavUrl(_id); lblDownloadLink.Text = String.Format(LocRM.GetString("tDownLoadLink"), "javascript:FileDownload();", sTime); StringBuilder sb = new StringBuilder(); sb.AppendLine("var global_DownloadFlag = true;"); sb.AppendLine("function FileDownload()"); sb.AppendLine("{"); sb.AppendLine("global_DownloadFlag = false;"); sb.AppendFormat("window.location.href='{0}'", sLink); sb.AppendLine("}"); sb.AppendLine("function AutoFileDownload()"); sb.AppendLine("{"); sb.AppendLine("if(!global_DownloadFlag) return;"); sb.AppendFormat("window.location.href='{0}'", sLink); sb.AppendLine("}"); sb.AppendLine("setTimeout('AutoFileDownload()', 3000);"); ClientScript.RegisterStartupScript(this.Page, this.Page.GetType(), Guid.NewGuid().ToString("N"), sb.ToString(), true); }
private void BindCustomFields() { int ObjectId = GetObjectId(); string MetaClassName = GetMetaClassName(); MetaObject obj = MetaDataWrapper.LoadMetaObject(ObjectId, MetaClassName); if (obj != null) { int cur_weight = 0; for (int irow = 0; irow < _mflist.Count; irow++) { tblCustomFields.Rows.Add(new HtmlTableRow()); } foreach (MetaField field in obj.MetaClass.UserMetaFields) { if (ContainsMetaField(field.Name)) { cur_weight = _mflist.IndexOf(field.Name); HtmlTableRow row = new HtmlTableRow(); HtmlTableCell cellTitle = new HtmlTableCell(); HtmlTableCell cellValue = new HtmlTableCell(); cellTitle.NoWrap = true; cellTitle.VAlign = "Top"; cellTitle.InnerHtml = String.Format("<span class=ibn-label>{0}:</span>", field.FriendlyName); cellValue.Width = "90%"; object fieldValue = obj[field.Name]; if (fieldValue != null) { switch (field.DataType) { case MetaDataType.File: Mediachase.MetaDataPlus.MetaFile mf = (Mediachase.MetaDataPlus.MetaFile)fieldValue; int ContentTypeId = DSFile.GetContentTypeByFileName(mf.Name); string sInnerHTML = "<img src='../Common/ContentIcon.aspx?IconID=" + +ContentTypeId + "' border='0' align='middle' width='16px' height='16px' /> " + mf.Name; string metaFileUrl = WebDavUrlBuilder.GetMetaDataPlusWebDavUrl(ObjectId, MetaClassName, field.Name, true); string sNameLocked = Util.CommonHelper.GetLockerText(metaFileUrl); cellValue.InnerHtml = String.Format("<a href='{0}'>{1}</a> {2}", metaFileUrl, sInnerHTML, sNameLocked); //cellValue.InnerHtml = "<a href='../Modules/DownloadMetaFile.aspx?Id="+ObjectId.ToString()+ // "&Class="+MetaClassName+"&Field="+field.Name+"'>"+sInnerHTML+"</a>"; break; case MetaDataType.ImageFile: cellValue.InnerHtml = "<img align='middle' border='0' src='../Modules/GetMetaImageFile.aspx?Id=" + ObjectId.ToString() + "&Class=" + MetaClassName + "&Field=" + field.Name + "' />"; break; case MetaDataType.Binary: case MetaDataType.VarBinary: cellValue.InnerHtml = String.Format("<span class=ibn-value>{0}</span>", "[BinaryData]"); break; case MetaDataType.Bit: case MetaDataType.Boolean: if ((bool)fieldValue) { cellValue.InnerHtml = String.Format("<span class=ibn-value>{0}</span>", LocRM.GetString("BooleanYes")); } else { cellValue.InnerHtml = String.Format("<span class=ibn-value>{0}</span>", LocRM.GetString("BooleanNo")); } break; case MetaDataType.Date: cellValue.InnerHtml = String.Format("<span class=ibn-value>{0}</span>", ((DateTime)fieldValue).ToShortDateString()); break; case MetaDataType.Email: cellValue.InnerHtml = String.Format("<a href='mailto:{0}'>{0}</a>", fieldValue.ToString()); break; case MetaDataType.Image: cellValue.InnerHtml = String.Format("<span class=ibn-value>{0}</span>", "[Image]"); break; case MetaDataType.LongHtmlString: cellValue.InnerHtml = String.Format("<span class=ibn-description>{0}</span>", fieldValue.ToString()); break; case MetaDataType.DateTime: case MetaDataType.SmallDateTime: case MetaDataType.Timestamp: cellValue.InnerHtml = String.Format("<span class=ibn-value>{0} {1}</span>", ((DateTime)fieldValue).ToShortDateString(), ((DateTime)fieldValue).ToShortTimeString()); break; case MetaDataType.Url: cellValue.InnerHtml = String.Format("<a href='{0}' target='_blank'>{0}</a>", Server.UrlDecode(fieldValue.ToString())); break; case MetaDataType.Money: cellValue.InnerHtml = String.Format("<span class=ibn-value>{0}</span>", ((decimal)fieldValue).ToString("f")); break; case MetaDataType.Float: cellValue.InnerHtml = String.Format("<span class=ibn-value>{0}</span>", fieldValue.ToString()); break; case MetaDataType.EnumSingleValue: case MetaDataType.DictionarySingleValue: MetaDictionaryItem item = (MetaDictionaryItem)fieldValue; cellValue.InnerHtml = String.Format("<span class=ibn-value>{0}</span>", item.Value); break; case MetaDataType.EnumMultivalue: case MetaDataType.DictionaryMultivalue: MetaDictionaryItem[] items = (MetaDictionaryItem[])fieldValue; string sItems = String.Empty; foreach (MetaDictionaryItem mdItem in items) { if (sItems != "") { sItems += "<br>"; } sItems += mdItem.Value; } sItems = String.Format(CultureInfo.InvariantCulture, "<span class=ibn-value>{0}</span>", sItems); cellValue.InnerHtml = sItems; break; default: try { cellValue.InnerHtml = String.Format("<span class=ibn-value>{0}</span>", fieldValue.ToString()); } catch { cellValue.InnerHtml = ""; } break; } } cellTitle.Attributes.Add("class", "text"); cellValue.Attributes.Add("class", "text"); row.Cells.Add(cellTitle); row.Cells.Add(cellValue); //tblCustomFields.Rows.Add(row); tblCustomFields.Rows.Insert(cur_weight, row); tblCustomFields.Rows.RemoveAt(cur_weight + 1); } } } }
private void BindDataGrid() { DataTable dt = new DataTable(); DataRow dr; #region DataTable dt.Columns.Add(new DataColumn("Id", typeof(int))); dt.Columns.Add(new DataColumn("Index", typeof(string))); dt.Columns.Add(new DataColumn("EMailMessageId", typeof(int))); dt.Columns.Add(new DataColumn("Sender", typeof(string))); dt.Columns.Add(new DataColumn("Message", typeof(string))); dt.Columns.Add(new DataColumn("SystemMessage", typeof(string))); dt.Columns.Add(new DataColumn("Created", typeof(string))); dt.Columns.Add(new DataColumn("CreationDate", typeof(DateTime))); dt.Columns.Add(new DataColumn("Attachments", typeof(string))); dt.Columns.Add(new DataColumn("NodeType", typeof(string))); dt.Columns.Add(new DataColumn("CanMakeResolution", typeof(bool))); dt.Columns.Add(new DataColumn("CanMakeWorkaround", typeof(bool))); dt.Columns.Add(new DataColumn("CanUnMakeResolution", typeof(bool))); dt.Columns.Add(new DataColumn("CanUnMakeWorkaround", typeof(bool))); dt.Columns.Add(new DataColumn("CanReSend", typeof(bool))); dt.Columns.Add(new DataColumn("CanReSendOut", typeof(bool))); dt.Columns.Add(new DataColumn("CanReply", typeof(bool))); #endregion IncidentBox incidentBox = IncidentBox.Load(Incident.GetIncidentBox(IncidentId)); EMailRouterIncidentBoxBlock settings = IncidentBoxDocument.Load(incidentBox.IncidentBoxId).EMailRouterBlock; bool allowEMailRouting = settings.AllowEMailRouting; bool CanUpdate = Incident.CanUpdate(IncidentId); int _index = 0; foreach (ForumThreadNodeInfo node in Incident.GetForumThreadNodes(IncidentId)) { #region Define Node Type string typeName = "internal"; ForumThreadNodeSettingCollection coll = new ForumThreadNodeSettingCollection(node.Id); if (coll[ForumThreadNodeSetting.Question] != null) { if (coll[ForumThreadNodeSetting.Incoming] != null) { typeName = "Mail_incoming_quest"; } else if (coll[ForumThreadNodeSetting.Outgoing] != null) { typeName = "Mail_outgoing_quest"; } else { typeName = "internal_quest"; } } else if (coll[ForumThreadNodeSetting.Resolution] != null) { if (coll[ForumThreadNodeSetting.Incoming] != null) { typeName = "Mail_incoming_resol"; } else if (coll[ForumThreadNodeSetting.Outgoing] != null) { typeName = "Mail_outgoing_resol"; } else { typeName = "internal_resol"; } } else if (coll[ForumThreadNodeSetting.Workaround] != null) { if (coll[ForumThreadNodeSetting.Incoming] != null) { typeName = "Mail_incoming_wa"; } else if (coll[ForumThreadNodeSetting.Outgoing] != null) { typeName = "Mail_outgoing_wa"; } else { typeName = "internal_wa"; } } else if (coll[ForumThreadNodeSetting.Incoming] != null) { typeName = "Mail_incoming"; } else if (coll[ForumThreadNodeSetting.Outgoing] != null) { typeName = "Mail_outgoing"; } #endregion dr = dt.NewRow(); dr["Id"] = node.Id; dr["EMailMessageId"] = node.EMailMessageId; dr["CanMakeResolution"] = false; dr["CanMakeWorkaround"] = false; dr["CanUnMakeResolution"] = false; dr["CanUnMakeWorkaround"] = false; dr["CanReply"] = false; dr["CanReSend"] = false; dr["CanReSendOut"] = false; switch (typeName) { case "internal_resol": case "Mail_incoming_resol": case "Mail_outgoing_resol": dr["CanUnMakeResolution"] = true; break; case "internal_wa": case "Mail_incoming_wa": case "Mail_outgoing_wa": dr["CanMakeResolution"] = true; dr["CanUnMakeWorkaround"] = true; break; case "internal": case "Mail_incoming": case "Mail_outgoing": dr["CanMakeResolution"] = true; dr["CanMakeWorkaround"] = true; break; default: break; } if (coll[ForumThreadNodeSetting.Outgoing] != null && !Mediachase.IBN.Business.Security.CurrentUser.IsExternal) { dr["CanReSendOut"] = true; } if (coll[ForumThreadNodeSetting.Incoming] != null && !Mediachase.IBN.Business.Security.CurrentUser.IsExternal) { dr["CanReply"] = true; dr["CanReSend"] = allowEMailRouting; } if (node.EMailMessageId <= 0) { dr["Sender"] = Mediachase.UI.Web.Util.CommonHelper.GetUserStatus(node.CreatorId); } dr["Created"] = node.Created.ToShortDateString() + " " + node.Created.ToShortTimeString(); dr["CreationDate"] = node.Created; string sNodeType = typeName; try { sNodeType = LocRM.GetString(String.Format("NodeType_{0}", typeName)); } catch { } dr["NodeType"] = String.Format("<img src='{2}/{0}.gif' width=24 height=16 align=absmiddle alt='{1}'>", typeName, sNodeType, ResolveClientUrl("~/layouts/images/icons")); dr["SystemMessage"] = String.Empty; string sMessage = ""; if (coll[IncidentForum.IssueEvent.Declining.ToString()] != null) { sMessage = String.Format("<font color='red'><b>{0}</b></font>", LocRM.GetString("tUserDeclined")); } if (coll[IncidentForum.IssueEvent.State.ToString()] != null) { int stateId = int.Parse(coll[IncidentForum.IssueEvent.State.ToString()].ToString()); if (sMessage == "") { sMessage = String.Format("{2}: <font color='{0}'><b>{1}</b></font>", Mediachase.UI.Web.Util.CommonHelper.GetStateColorString(stateId), GetStatusName(stateId), LocRM.GetString("Status")); } else { sMessage += String.Format("{2}: <font color='{0}'><b>{1}</b></font>", Mediachase.UI.Web.Util.CommonHelper.GetStateColorString(stateId), GetStatusName(stateId), LocRM.GetString("Status")); } } if (coll[IncidentForum.IssueEvent.Responsibility.ToString()] != null) { int iResp = int.Parse(coll[IncidentForum.IssueEvent.Responsibility.ToString()].ToString()); string sResp = ""; if (iResp == -2) { sResp = String.Format("<img align='absmiddle' border='0' src='{0}' /> <font color='#808080'><b>{1}</b></font>", ResolveClientUrl("~/layouts/images/not_set.png"), LocRM.GetString("tRespNotSet")); } else if (iResp == -1) { sResp = String.Format("<img align='absmiddle' border='0' src='{0}' /> <font color='green'><b>{1}</b></font>", ResolveClientUrl("~/layouts/images/waiting.gif"), LocRM.GetString("tRespGroup")); } else { sResp = Mediachase.UI.Web.Util.CommonHelper.GetUserStatus(iResp); } if (sMessage == "") { sMessage = LocRM.GetString("tResponsible") + ": " + sResp; } else { sMessage += "<br />" + LocRM.GetString("tResponsible") + ": " + sResp; } } if (WasFarwarded == 1 && node.EMailMessageId == ForwardedEMail) { sMessage = "<font color='green'><b>" + LocRM.GetString("tWasResended") + "</b></font><br/>" + sMessage; } if (WasFarwarded == -1 && node.EMailMessageId == ForwardedEMail) { sMessage = "<font color='red'><b>" + LocRM.GetString("tWasNotResended") + "</b></font><br/>" + sMessage; } dr["SystemMessage"] = (sMessage.Length == 0) ? String.Empty : sMessage; string sAttach = ""; #region EmailMessage - Attachments if (node.EMailMessageId > 0) { EMailMessageInfo mi = null; try { mi = EMailMessageInfo.Load(node.EMailMessageId); int iUserId = User.GetUserByEmail(mi.SenderEmail); if (EMailClient.IsAlertSenderEmail(mi.SenderEmail)) { iUserId = node.CreatorId; } if (iUserId > 0) { dr["Sender"] = Mediachase.UI.Web.Util.CommonHelper.GetUserStatus(iUserId); } else { Client client = Mediachase.IBN.Business.Common.GetClient(mi.SenderEmail); if (client != null) { if (client.IsContact) { dr["Sender"] = Mediachase.UI.Web.Util.CommonHelper.GetContactLink(this.Page, client.Id, client.Name); } else { dr["Sender"] = Mediachase.UI.Web.Util.CommonHelper.GetOrganizationLink(this.Page, client.Id, client.Name); } } else if (mi.SenderName != "") { dr["Sender"] = Mediachase.UI.Web.Util.CommonHelper.GetEmailLink(mi.SenderEmail, mi.SenderName); } else { dr["Sender"] = Mediachase.UI.Web.Util.CommonHelper.GetEmailLink(mi.SenderEmail, mi.SenderEmail); } } string sBody = String.Empty; if (mi.HtmlBody != null) { sBody = mi.HtmlBody; } dr["Message"] = sBody; // Attachments for (int i = 0; i < mi.Attachments.Length; i++) { AttachmentInfo ai = mi.Attachments[i]; int id = DSFile.GetContentTypeByFileName(ai.FileName); string sIcon = ""; if (id > 0) { sIcon = String.Format("<img align='absmiddle' border='0' src='{0}' />", ResolveClientUrl("~/Common/ContentIcon.aspx?IconID=" + id)); } //sAttach += String.Format("<nobr><a href='{0}'{2}>{1}</a></nobr> ", // ResolveClientUrl("~/Incidents/EmailAttachDownload.aspx") + "?EMailId=" + node.EMailMessageId.ToString() + "&AttachmentIndex=" + i.ToString(), // sIcon + " " + ai.FileName, // Mediachase.IBN.Business.Common.OpenInNewWindow(ai.ContentType) ? " target='_blank'" : ""); sAttach += String.Format("<nobr><a href='{0}'{2}>{1}</a></nobr> ", WebDavUrlBuilder.GetEmailAtachWebDavUrl(node.EMailMessageId, i, true), sIcon + " " + ai.FileName, Mediachase.IBN.Business.Common.OpenInNewWindow(ai.ContentType) ? " target='_blank'" : ""); } } catch { dr["Sender"] = Mediachase.UI.Web.Util.CommonHelper.GetUserStatus(-1); dr["Message"] = String.Format("<font color='red'><b>{0}</b> (#{1})</font>", LocRM.GetString("tNotFound"), node.EMailMessageId); } } else { string sBody = Mediachase.UI.Web.Util.CommonHelper.parsetext_br(node.Text, false); dr["Message"] = sBody; // Files if (node.ContentType == ForumStorage.NodeContentType.TextWithFiles) { FileInfo[] files = Incident.GetForumNodeFiles(node.Id); if (files.Length > 0) { foreach (FileInfo fl in files) { if (sAttach != "") { sAttach += " "; } string sTarget = Mediachase.IBN.Business.Common.OpenInNewWindow(fl.FileBinaryContentType) ? " target='_blank'" : ""; string sLink = Mediachase.UI.Web.Util.CommonHelper.GetAbsoluteDownloadFilePath(fl.Id, fl.Name, "FileLibrary", "ForumNodeId_" + node.Id); string sNameLocked = Mediachase.UI.Web.Util.CommonHelper.GetLockerText(sLink); sAttach += String.Format("<nobr><a href=\"{1}\"{3}><img src='{4}?IconID={2}' width='16' height='16' border=0 align=absmiddle> {0}</a> {5}</nobr>", fl.Name, sLink, fl.FileBinaryContentTypeId, sTarget, ResolveClientUrl("~/Common/ContentIcon.aspx"), sNameLocked ); } } } } dr["Attachments"] = sAttach; #endregion if (sMessage.Length > 0 && dr["Message"].ToString() == "" && sAttach.Length == 0) { dr["NodeType"] = String.Format("<img src='{0}' width='16' height='16' align=absmiddle alt='{1}'>", ResolveClientUrl("~/layouts/images/icons/info_message.gif"), LocRM.GetString("NodeType_InfoMessage")); dr["CanMakeResolution"] = false; dr["CanMakeWorkaround"] = false; dr["CanUnMakeResolution"] = false; dr["CanUnMakeWorkaround"] = false; } if (dr["Message"].ToString().Trim() == "") { dr["Message"] = " "; } dr["Index"] = "<table cellspacing='0' border='0' width='100%'><tr><td class='text' align='center' style='BACKGROUND-POSITION: center center; BACKGROUND-IMAGE: url(../../../layouts/images/atrisk1.gif); BACKGROUND-REPEAT: no-repeat;padding:4px;'><b>" + (++_index).ToString() + "</b></td></tr></table>"; dt.Rows.Add(dr); } DataView dv = dt.DefaultView; dv.Sort = "CreationDate"; dgForum.DataSource = dv; if (dv.Count == 0) { dgForum.Visible = false; dgForum.CurrentPageIndex = 0; divNoMess.Visible = true; divNoMess.InnerHtml = "<font color='red'>" + LocRM.GetString("NoMessages") + "</font>"; } else { dgForum.Visible = true; divNoMess.Visible = false; int ppi = dv.Count / dgForum.PageSize; if (dv.Count % dgForum.PageSize == 0) { ppi = ppi - 1; } if (ViewState["IncidentForum_Page"] != null) { int iPageIndex = int.Parse(ViewState["IncidentForum_Page"].ToString()); if (iPageIndex <= ppi) { dgForum.CurrentPageIndex = iPageIndex; } else { dgForum.CurrentPageIndex = ppi; } ViewState["IncidentForum_Page"] = dgForum.CurrentPageIndex.ToString(); } else { dgForum.CurrentPageIndex = ppi; } } dgForum.DataBind(); foreach (DataGridItem dgi in dgForum.Items) { ImageButton ib = (ImageButton)dgi.FindControl("ibDelete"); if (ib != null) { ib.ToolTip = LocRM.GetString("Delete"); ib.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("WarningForumNode") + "')"); ib.Visible = CanUpdate; } ImageButton ib1 = (ImageButton)dgi.FindControl("ibResolution"); if (ib1 != null) { ib1.ToolTip = LocRM.GetString("tMarkAsResolution"); ib1.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tMarkAsResolutionWarning") + "')"); } ImageButton ib2 = (ImageButton)dgi.FindControl("ibWA"); if (ib2 != null) { ib2.ToolTip = LocRM.GetString("tMarkAsWA"); ib2.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tMarkAsWAWarning") + "')"); } ImageButton ib3 = (ImageButton)dgi.FindControl("ibUnResolution"); if (ib3 != null) { ib3.ToolTip = LocRM.GetString("tUnMarkAsResolution"); ib3.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tUnMarkAsResolutionWarning") + "')"); } ImageButton ib4 = (ImageButton)dgi.FindControl("ibUnWA"); if (ib4 != null) { ib4.ToolTip = LocRM.GetString("tUnMarkAsWA"); ib4.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tUnMarkAsWAWarning") + "')"); } ImageButton ib5 = (ImageButton)dgi.FindControl("ibReSend"); if (ib5 != null) { ib5.ToolTip = LocRM.GetString("tReSend"); ib5.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tReSendWarning") + "')"); } ImageButton ib6 = (ImageButton)dgi.FindControl("ibReSendOut"); if (ib6 != null) { ib6.ToolTip = LocRM.GetString("tReSend"); ib6.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tReSendOutWarning") + "')"); } ImageButton ib7 = (ImageButton)dgi.FindControl("ibReply"); if (ib7 != null) { ib7.ToolTip = LocRM.GetString("tReply"); if (!allowEMailRouting || (pc["IncForum_ReplyOutlook"] == "0" && pc["IncForum_ReplyEML"] == "0")) { string scommand = String.Format("{{ShowResizableWizard('{0}?IncidentId={1}&NodeId={2}&send=1&back={3}', 800, 600);return false;}}", ResolveClientUrl("~/Incidents/AddEMailMessage.aspx"), IncidentId, ib7.CommandArgument, HttpUtility.UrlEncode(this.Page.Request.RawUrl)); ib7.Attributes.Add("onclick", scommand); } } } }
public void ProcessRequest(HttpContext context) { //try //{ //проверяем есть ли в ticket-е идентификатор сессии WebDavTicket ticket = WebDavUrlBuilder.GetWebDavTicket(context.Request.Url.ToString()); if (ticket == null) { throw new HttpException((int)HttpStatusCode.BadRequest, "Incorrect URI."); } if (!WebDavAuthHelper.WebDavAuthentificate(context, ticket)) { //Используем стандартный механизм аутентификации System.Web.Security.FormsAuthentication.RedirectToLoginPage(); return; } //throw new HttpException((int)HttpStatusCode.Unauthorized, "Unauthorized"); WebDavAbstractFactory factory = new WebDavAbstractFactory(); WebDavElementStorageProvider storageProvider = factory.Create <WebDavElementStorageProvider>(ticket.AbsolutePath.StorageType); if (storageProvider == null) { throw new HttpException((int)HttpStatusCode.BadRequest, "Incorrect URI."); } //Запускаем механизм обработки web dav запроса WebDavTicketRequest request = new WebDavTicketRequest(context.Request, ePluginToken.webdav); WebDavTicketResponse response = new WebDavTicketResponse(context.Response); WebDavApplication.DefaultProvider = storageProvider; try { bool enableTrace = Convert.ToBoolean(ConfigurationManager.AppSettings[ConstEnableTrace]); if (enableTrace) { WebDavTracer.TraceBinaryBody = false; WebDavTracer.EnableTrace = true; } } catch (FormatException) { } if (request.HttpMethod == WebDavHttpMethod.GET) { //для get запросов выключаем буферизацию для работы с большими файлами context.Response.BufferOutput = false; //Некоторые браузеры кешируют результаты GET запроса при редактировании на сервере. //Установка expires равную текущей дате позволят указать браузеру что кеширование не требуется HttpCachePolicy cache = HttpContext.Current.Response.Cache; cache.SetExpires(DateTime.Now); //Если для запрошенного файла стоит флаг ForceDownload и не включен фдаг WebDav //то вернуть как attachment для выбора пользователем приложения для работы с документом if (!string.IsNullOrEmpty(ticket.AbsolutePath.FileName)) { string fileExtension = Path.GetExtension(ticket.AbsolutePath.FileName); if (!ContentTypeResolver.IsWebDAVSupportedExtension(fileExtension) && ContentTypeResolver.IsAllowForceDownload(fileExtension)) { context.Response.AddHeader("Content-Disposition", "attachment;" + "filename=" + ticket.AbsolutePath.FileName); } } } WebDavApplication.ProcessRequest(request, response); //} //catch (HttpException ex) //{ // // Http Exception // context.Response.Clear(); // context.Response.ContentEncoding = System.Text.Encoding.UTF8; // context.Response.StatusCode = ex.GetHttpCode(); // context.Response.StatusDescription = ex.Message; //} //catch (Exception ex) //{ // // Global Exception // context.Response.Clear(); // context.Response.ContentEncoding = System.Text.Encoding.UTF8; // context.Response.StatusCode = (int)HttpStatusCode.InternalServerError; // context.Response.StatusDescription = ex.Message; // byte[] errorBuffer = System.Text.Encoding.UTF8.GetBytes(ex.ToString()); // context.Response.OutputStream.Write(errorBuffer, 0, errorBuffer.Length); //} //context.Response.Flush(); }
private void BindDataGrid() { DataTable dtTop = new DataTable(); DataRow dr; dtTop.Columns.Add(new DataColumn("Id", typeof(int))); dtTop.Columns.Add(new DataColumn("Index", typeof(string))); dtTop.Columns.Add(new DataColumn("EMailMessageId", typeof(int))); dtTop.Columns.Add(new DataColumn("Weight", typeof(int))); dtTop.Columns.Add(new DataColumn("Sender", typeof(string))); dtTop.Columns.Add(new DataColumn("Message", typeof(string))); dtTop.Columns.Add(new DataColumn("SystemMessage", typeof(string))); dtTop.Columns.Add(new DataColumn("Created", typeof(string))); dtTop.Columns.Add(new DataColumn("CreationDate", typeof(DateTime))); dtTop.Columns.Add(new DataColumn("Attachments", typeof(string))); dtTop.Columns.Add(new DataColumn("NodeType", typeof(string))); dtTop.Columns.Add(new DataColumn("CanMakeResolution", typeof(bool))); dtTop.Columns.Add(new DataColumn("CanMakeWorkaround", typeof(bool))); dtTop.Columns.Add(new DataColumn("CanUnMakeResolution", typeof(bool))); dtTop.Columns.Add(new DataColumn("CanUnMakeWorkaround", typeof(bool))); dtTop.Columns.Add(new DataColumn("CanReSend", typeof(bool))); dtTop.Columns.Add(new DataColumn("CanReSendOut", typeof(bool))); dtTop.Columns.Add(new DataColumn("CanReply", typeof(bool))); DataTable dt = dtTop.Clone(); IncidentBox incidentBox = IncidentBox.Load(Incident.GetIncidentBox(IncidentId)); EMailRouterIncidentBoxBlock settings = IncidentBoxDocument.Load(incidentBox.IncidentBoxId).EMailRouterBlock; bool allowEMailRouting = settings.AllowEMailRouting; bool CanUpdate = Incident.CanUpdate(IncidentId); int _index = 0; foreach (ForumThreadNodeInfo node in Incident.GetForumThreadNodes(IncidentId)) { bool fl_IsTop = false; int iWeight = 3; string typeName = "internal"; ForumThreadNodeSettingCollection coll = new ForumThreadNodeSettingCollection(node.Id); if (coll[ForumThreadNodeSetting.Question] != null) { if (pc["IncForum_Quests458"] == "1") { fl_IsTop = true; iWeight = 0; } if (coll[ForumThreadNodeSetting.Incoming] != null) { typeName = "Mail_incoming_quest"; } else if (coll[ForumThreadNodeSetting.Outgoing] != null) { typeName = "Mail_outgoing_quest"; } else { typeName = "internal_quest"; } } else if (coll[ForumThreadNodeSetting.Resolution] != null) { if (pc["IncForum_Resol458"] == "1") { fl_IsTop = true; iWeight = 1; } if (coll[ForumThreadNodeSetting.Incoming] != null) { typeName = "Mail_incoming_resol"; } else if (coll[ForumThreadNodeSetting.Outgoing] != null) { typeName = "Mail_outgoing_resol"; } else { typeName = "internal_resol"; } } else if (coll[ForumThreadNodeSetting.Workaround] != null) { if (pc["IncForum_Work458"] == "1") { fl_IsTop = true; iWeight = 2; } if (coll[ForumThreadNodeSetting.Incoming] != null) { typeName = "Mail_incoming_wa"; } else if (coll[ForumThreadNodeSetting.Outgoing] != null) { typeName = "Mail_outgoing_wa"; } else { typeName = "internal_wa"; } } else if (coll[ForumThreadNodeSetting.Incoming] != null) { typeName = "Mail_incoming"; } else if (coll[ForumThreadNodeSetting.Outgoing] != null) { typeName = "Mail_outgoing"; } if (fl_IsTop) { dr = dtTop.NewRow(); } else { dr = dt.NewRow(); } dr["Weight"] = iWeight; dr["Id"] = node.Id; dr["EMailMessageId"] = node.EMailMessageId; dr["CanMakeResolution"] = false; dr["CanMakeWorkaround"] = false; dr["CanUnMakeResolution"] = false; dr["CanUnMakeWorkaround"] = false; dr["CanReply"] = false; dr["CanReSend"] = false; dr["CanReSendOut"] = false; switch (typeName) { case "internal_resol": case "Mail_incoming_resol": case "Mail_outgoing_resol": dr["CanUnMakeResolution"] = true; break; case "internal_wa": case "Mail_incoming_wa": case "Mail_outgoing_wa": dr["CanMakeResolution"] = true; dr["CanUnMakeWorkaround"] = true; break; case "internal": case "Mail_incoming": case "Mail_outgoing": dr["CanMakeResolution"] = true; dr["CanMakeWorkaround"] = true; break; default: break; } if (coll[ForumThreadNodeSetting.Outgoing] != null && !Security.CurrentUser.IsExternal) { dr["CanReSendOut"] = true; ///AK test //dr["CanReply"] = true; /// } if (coll[ForumThreadNodeSetting.Incoming] != null && !Security.CurrentUser.IsExternal) { dr["CanReply"] = true; dr["CanReSend"] = allowEMailRouting; } if (node.EMailMessageId <= 0) { dr["Sender"] = CommonHelper.GetUserStatus(node.CreatorId); } dr["Created"] = node.Created.ToShortDateString() + " " + node.Created.ToShortTimeString(); dr["CreationDate"] = node.Created; string sNodeType = typeName; try { sNodeType = LocRM.GetString(String.Format("NodeType_{0}", typeName)); } catch { } dr["NodeType"] = String.Format("<img alt='{1}' src='../Layouts/Images/icons/{0}.gif'/>", typeName, sNodeType); dr["SystemMessage"] = " "; string sMessage = ""; if (coll[IncidentForum.IssueEvent.Declining.ToString()] != null) { sMessage = String.Format("<font color='red'><b>{0}</b></font>", LocRM.GetString("tUserDeclined")); } if (coll[IncidentForum.IssueEvent.State.ToString()] != null) { int stateId = int.Parse(coll[IncidentForum.IssueEvent.State.ToString()].ToString()); if (sMessage == "") { sMessage = String.Format("{2}: <font color='{0}'><b>{1}</b></font>", Util.CommonHelper.GetStateColorString(stateId), GetStatusName(stateId), LocRM.GetString("Status")); } else { sMessage += String.Format("{2}: <font color='{0}'><b>{1}</b></font>", Util.CommonHelper.GetStateColorString(stateId), GetStatusName(stateId), LocRM.GetString("Status")); } } if (coll[IncidentForum.IssueEvent.Responsibility.ToString()] != null) { string sResp = ""; int iResp = int.Parse(coll[IncidentForum.IssueEvent.Responsibility.ToString()].ToString()); if (iResp == -2) { sResp = String.Format("<img alt='' src='{0}'/> <span style='color:#808080;font-weight:bold'>{1}</span>", ResolveUrl("~/Layouts/Images/not_set.png"), LocRM.GetString("tRespNotSet")); } else if (iResp == -1) { sResp = String.Format("<img alt='' src='{0}'/> <span style='color:green;font-weight:bold'>{1}</span>", ResolveUrl("~/Layouts/Images/waiting.gif"), LocRM.GetString("tRespGroup")); } else { sResp = Util.CommonHelper.GetUserStatus(iResp); } sResp = "<span class='IconAndText'><span>" + LocRM.GetString("tResponsible") + ":</span> " + sResp + "</span>"; if (sMessage == "") { sMessage = sResp; } else { sMessage += "<br/>" + sResp; } } if (WasFarwarded == 1 && node.EMailMessageId == ForwardedEMail) { sMessage = "<font color='green'><b>" + LocRM.GetString("tWasResended") + "</b></font><br/>" + sMessage; } if (WasFarwarded == -1 && node.EMailMessageId == ForwardedEMail) { sMessage = "<font color='red'><b>" + LocRM.GetString("tWasNotResended") + "</b></font><br/>" + sMessage; } dr["SystemMessage"] = (sMessage.Length == 0) ? " " : sMessage; string sAttach = ""; // EmailMessage if (node.EMailMessageId > 0) { EMailMessageInfo mi = null; try { mi = EMailMessageInfo.Load(node.EMailMessageId); int iUserId = User.GetUserByEmail(mi.SenderEmail); if (EMailClient.IsAlertSenderEmail(mi.SenderEmail)) { iUserId = node.CreatorId; //User.GetUserByEmail(mi.SenderEmail); } if (iUserId > 0) { dr["Sender"] = Util.CommonHelper.GetUserStatus(iUserId); } else { Client client = Mediachase.IBN.Business.Common.GetClient(mi.SenderEmail); if (client != null) { if (client.IsContact) { dr["Sender"] = CommonHelper.GetContactLink(this.Page, client.Id, client.Name); } else { dr["Sender"] = CommonHelper.GetOrganizationLink(this.Page, client.Id, client.Name); } } else if (mi.SenderName != "") { dr["Sender"] = CommonHelper.GetEmailLink(mi.SenderEmail, mi.SenderName); } else { dr["Sender"] = CommonHelper.GetEmailLink(mi.SenderEmail, mi.SenderEmail); } } string sBody = ""; if (mi.HtmlBody != null) { int iMaxLen = 256; sBody = mi.HtmlBody; if (!Security.CurrentUser.IsExternal && pc["IncForum_FullMess"] != "1") { sBody = EMailMessageInfo.CutHtmlBody(mi.HtmlBody, iMaxLen, "..."); } } if (pc["IncForum_FullMess"] != "1") { dr["Message"] = String.Format("{0}<div class='text' style='text-align:right; font-weight:bold'><a href='javascript:OpenMessage({2},{3},false)'>{1}</a></div>", sBody, LocRM.GetString("More"), node.Id, node.EMailMessageId); } else { dr["Message"] = sBody; } // Attachments for (int i = 0; i < mi.Attachments.Length; i++) { AttachmentInfo ai = mi.Attachments[i]; int id = DSFile.GetContentTypeByFileName(ai.FileName); string sIcon = ""; if (id > 0) { sIcon = String.Format("<img alt='' src='{0}'/>", ResolveUrl("~/Common/ContentIcon.aspx?IconID=" + id)); } //sAttach += String.Format("<nobr><a href='{0}'{2}>{1}</a></nobr> ", // ResolveUrl("~/Incidents/EmailAttachDownload.aspx") + "?EMailId=" + node.EMailMessageId.ToString() + "&AttachmentIndex=" + i.ToString(), // sIcon + " " + ai.FileName, // Mediachase.IBN.Business.Common.OpenInNewWindow(ai.ContentType) ? " target='_blank'" : ""); sAttach += String.Format("<a href='{0}'{2} style='white-space:nowrap'>{1}</a> ", WebDavUrlBuilder.GetEmailAtachWebDavUrl(node.EMailMessageId, i, true), sIcon + " " + ai.FileName, Mediachase.IBN.Business.Common.OpenInNewWindow(ai.ContentType) ? " target='_blank'" : ""); } } catch { dr["Sender"] = Util.CommonHelper.GetUserStatus(-1); dr["Message"] = String.Format("<font color='red'><b>{0}</b> (#{1})</font>", LocRM.GetString("tNotFound"), node.EMailMessageId); } } else { string sBody = CommonHelper.parsetext_br(node.Text, false); dr["Message"] = sBody; if (!Security.CurrentUser.IsExternal && pc["IncForum_FullMess"] != "1") { int iMaxLen = 300; string sBody1 = sBody; sBody = EMailMessageInfo.CutHtmlBody(sBody, iMaxLen, "..."); if (!sBody.Equals(sBody1)) { dr["Message"] = String.Format("{0}<div class='text' style='text-align:right; font-weight:bold'><a href=\"javascript:OpenMessage({2},-1,true)\">{1}</a></div>", sBody, LocRM.GetString("More"), node.Id); } } // Files if (node.ContentType == ForumStorage.NodeContentType.TextWithFiles) { FileInfo[] files = Incident.GetForumNodeFiles(node.Id); if (files.Length > 0) { foreach (FileInfo fl in files) { if (sAttach != "") { sAttach += " "; } string sTarget = Mediachase.IBN.Business.Common.OpenInNewWindow(fl.FileBinaryContentType) ? " target='_blank'" : ""; //string sLink = Util.CommonHelper.GetAbsolutePath(WebDavFileUserTicket.GetDownloadPath(fl.Id, fl.Name)); string sLink = Util.CommonHelper.GetAbsoluteDownloadFilePath(fl.Id, fl.Name, "FileLibrary", "ForumNodeId_" + node.Id); string sNameLocked = CommonHelper.GetLockerText(sLink); sAttach += String.Format("<span style='white-space:nowrap'><a href=\"{1}\"{3}><img alt='' src='../Common/ContentIcon.aspx?IconID={2}'/> {0}</a> {4}</span>", fl.Name, sLink, fl.FileBinaryContentTypeId, sTarget, sNameLocked); } } } } dr["Attachments"] = sAttach; if (sMessage.Length > 0 && dr["Message"].ToString() == "" && sAttach.Length == 0) { if (pc["IncForum_Info"] == "0") { continue; } dr["NodeType"] = String.Format("<img src='../Layouts/Images/icons/info_message.gif' alt='{1}'/>", typeName, LocRM.GetString("NodeType_InfoMessage")); dr["CanMakeResolution"] = false; dr["CanMakeWorkaround"] = false; dr["CanUnMakeResolution"] = false; dr["CanUnMakeWorkaround"] = false; } if (dr["Message"].ToString().Trim() == "") { dr["Message"] = " "; } if (pc["IncForum_ShowNums"] == "1") { dr["Index"] = "<table cellspacing='0' cellpadding='4' border='0' width='100%'><tr><td class='text' align='center' style='background-position: center center; background-image: url(../Layouts/Images/atrisk1.gif); background-repeat: no-repeat'><b>" + (++_index).ToString() + "</b></td></tr></table>"; } else { dr["Index"] = " "; } if (fl_IsTop) { dtTop.Rows.Add(dr); } else { dt.Rows.Add(dr); } } DataRow[] drtop = dtTop.Select("", "Weight, CreationDate"); DataRow[] drother = dt.Select("", pc["IncForum_Sort458"]); DataTable result = dt.Clone(); foreach (DataRow dr1 in drtop) { DataRow _dr = result.NewRow(); _dr.ItemArray = (Object[])dr1.ItemArray.Clone(); result.Rows.Add(_dr); } foreach (DataRow dr2 in drother) { DataRow _dr = result.NewRow(); _dr.ItemArray = (Object[])dr2.ItemArray.Clone(); result.Rows.Add(_dr); } DataView dv = result.DefaultView; dgForum.DataSource = dv; if (pc["IncidentForum_PageSize"] != null) { dgForum.PageSize = int.Parse(pc["IncidentForum_PageSize"]); } if (pc["IncidentForum_Page"] != null) { int iPageIndex = int.Parse(pc["IncidentForum_Page"]); int ppi = dv.Count / dgForum.PageSize; if (dv.Count % dgForum.PageSize == 0) { ppi = ppi - 1; } if (iPageIndex <= ppi) { dgForum.CurrentPageIndex = iPageIndex; } else { dgForum.CurrentPageIndex = 0; } pc["IncidentForum_Page"] = dgForum.CurrentPageIndex.ToString(); } dgForum.DataBind(); foreach (DataGridItem dgi in dgForum.Items) { ImageButton ib = (ImageButton)dgi.FindControl("ibDelete"); if (ib != null) { ib.ToolTip = LocRM.GetString("Delete"); ib.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("WarningForumNode") + "')"); ib.Visible = CanUpdate; } ImageButton ib1 = (ImageButton)dgi.FindControl("ibResolution"); if (ib1 != null) { ib1.ToolTip = LocRM.GetString("tMarkAsResolution"); ib1.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tMarkAsResolutionWarning") + "')"); } ImageButton ib2 = (ImageButton)dgi.FindControl("ibWA"); if (ib2 != null) { ib2.ToolTip = LocRM.GetString("tMarkAsWA"); ib2.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tMarkAsWAWarning") + "')"); } ImageButton ib3 = (ImageButton)dgi.FindControl("ibUnResolution"); if (ib3 != null) { ib3.ToolTip = LocRM.GetString("tUnMarkAsResolution"); ib3.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tUnMarkAsResolutionWarning") + "')"); } ImageButton ib4 = (ImageButton)dgi.FindControl("ibUnWA"); if (ib4 != null) { ib4.ToolTip = LocRM.GetString("tUnMarkAsWA"); ib4.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tUnMarkAsWAWarning") + "')"); } ImageButton ib5 = (ImageButton)dgi.FindControl("ibReSend"); if (ib5 != null) { ib5.ToolTip = LocRM.GetString("tReSend"); ib5.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tReSendWarning") + "')"); } ImageButton ib6 = (ImageButton)dgi.FindControl("ibReSendOut"); if (ib6 != null) { ib6.ToolTip = LocRM.GetString("tReSend"); ib6.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tReSendOutWarning") + "')"); } ImageButton ib7 = (ImageButton)dgi.FindControl("ibReply"); if (ib7 != null) { ib7.ToolTip = LocRM.GetString("tReply"); if (!allowEMailRouting || (pc["IncForum_ReplyOutlook"] == "0" && pc["IncForum_ReplyEML"] == "0")) { string command = string.Format(CultureInfo.InvariantCulture, "{{ShowResizableWizard('{0}?IncidentId={1}&NodeId={2}&send=1',800,600);return false;}}", Page.ResolveUrl("~/Incidents/AddEMailMessage.aspx"), IncidentId, ib7.CommandArgument); ib7.Attributes.Add("onclick", command); } } } if (dgForum.Items.Count == 0) { dgForum.Visible = false; divNoMess.Visible = true; divNoMess.InnerHtml = "<span style='color:red'>" + LocRM.GetString("NoMessages") + "</span>"; } else { dgForum.Visible = true; divNoMess.Visible = false; } }
private void BindEmail() { EMailMessageInfo mi = EMailMessageInfo.Load(EMailId); lblFrom.Text = mi.From; lblSubj.Text = mi.Subject; lblBody.Text = mi.HtmlBody; string sAttach = ""; for (int i = 0; i < mi.Attachments.Length; i++) { AttachmentInfo ai = mi.Attachments[i]; int id = DSFile.GetContentTypeByFileName(ai.FileName); string sIcon = ""; if (id > 0) { sIcon = String.Format("<img align='absmiddle' border='0' src='{0}' />", ResolveUrl("~/Common/ContentIcon.aspx?IconID=" + id)); } //sAttach += String.Format("<nobr><a href='{0}'{2}>{1}</a></nobr> ", // ResolveUrl("~/Incidents/EmailAttachDownload.aspx")+"?EMailId="+EMailId.ToString()+"&AttachmentIndex="+i.ToString(), // sIcon + " " + ai.FileName, // Mediachase.IBN.Business.Common.OpenInNewWindow(ai.ContentType) ? " target='_blank'" : ""); sAttach += String.Format("<nobr><a href='{0}'{2}>{1}</a></nobr> ", WebDavUrlBuilder.GetEmailAtachWebDavUrl(EMailId, i, true), sIcon + " " + ai.FileName, Mediachase.IBN.Business.Common.OpenInNewWindow(ai.ContentType) ? " target='_blank'" : ""); } lblAttach.Text = sAttach; lblBody.Text += " "; if (NodeId > 0) { ForumThreadNodeSettingCollection coll = new ForumThreadNodeSettingCollection(NodeId); if (!String.IsNullOrEmpty(coll[ForumThreadNodeSetting.AllRecipients])) { lblTo.Text = coll[ForumThreadNodeSetting.AllRecipients]; } } }