private Stream LoadUNCDocument(bool isLoadingStream) { if (!DocumentLibraryUtilities.IsNavigationToUNCAllowed(this.owaContext.UserContext)) { throw new OwaSegmentationException("Access to Unc documents is disabled"); } DocumentLibraryObjectId documentLibraryObjectId = DocumentLibraryUtilities.CreateDocumentLibraryObjectId(this.owaContext); UncSession session = this.owaContext.UserContext.LogonIdentity.CreateUncSession(documentLibraryObjectId); UncDocument uncDocument = UncDocument.Read(session, documentLibraryObjectId); this.mimeType = (uncDocument[UncDocumentSchema.FileType] as string); this.fileName = Path.GetFileName(uncDocument.Uri.ToString()); this.fileSize = uncDocument.Size; this.documentPath = uncDocument.Uri.ToString(); string queryStringParameter = Utilities.GetQueryStringParameter(this.owaContext.HttpContext.Request, "URL"); this.openLink = string.Concat(new string[] { "ev.owa?ns=UncDocument&ev=GetDoc&allowLevel2=1&URL=", Utilities.UrlEncode(queryStringParameter), "&id=", Utilities.UrlEncode(documentLibraryObjectId.ToBase64String()), Utilities.GetCanaryRequestParameter() }); this.documentIdStringBuilder.Append(documentLibraryObjectId.ToBase64String()); this.documentIdStringBuilder.Append("-"); object obj = uncDocument.TryGetProperty(UncItemSchema.LastModifiedDate); if (obj is DateTime) { this.documentIdStringBuilder.Append(((DateTime)obj).Ticks); } if (!isLoadingStream) { return(null); } return(uncDocument.GetDocument()); }
// Token: 0x06002432 RID: 9266 RVA: 0x000D1148 File Offset: 0x000CF348 protected void RenderSecondaryNavigation(TextWriter output, bool showContacts) { if (output == null) { throw new ArgumentNullException("output"); } output.Write("<div id=\"{0}\" class=\"secNvPaneCont\">", this.lastModuleName); switch (this.navigationModule) { case NavigationModule.Mail: NavigationHost.RenderMailSecondaryNavigation(output, base.UserContext); goto IL_229; case NavigationModule.Calendar: { PropertyDefinition[] propsToReturn = new PropertyDefinition[] { ViewStateProperties.CalendarViewType, ViewStateProperties.DailyViewDays }; using (CalendarFolder calendarFolder = CalendarFolder.Bind(base.UserContext.MailboxSession, DefaultFolderType.Calendar, propsToReturn)) { DailyView.RenderSecondaryNavigation(output, calendarFolder, base.UserContext); goto IL_229; } break; } case NavigationModule.Contacts: break; case NavigationModule.Tasks: TaskView.RenderSecondaryNavigation(output, base.UserContext); goto IL_229; case NavigationModule.Options: goto IL_21D; case NavigationModule.AddressBook: this.recipientBlockType = ((AddressBook)this).RecipientBlockType; if (base.UserContext.IsFeatureEnabled(Feature.GlobalAddressList)) { bool isRoomPicker = ((AddressBook)this).IsRoomPicker && DirectoryAssistance.IsRoomsAddressListAvailable(base.UserContext); output.Write("<div class=\"abNavPane\" style=\"height:"); output.Write(showContacts ? "30" : "100"); output.Write("%;top:0px;\"><div id=\"divMdNmAD\">"); output.Write(LocalizedStrings.GetHtmlEncoded(346766088)); output.Write("</div><div id=\"divSecNvAD\">"); DirectoryView.RenderSecondaryNavigation(output, base.UserContext, isRoomPicker); output.Write("</div></div>"); } if (showContacts) { output.Write("<div class=\"abNavPane\" style=\"height:"); output.Write(base.UserContext.IsFeatureEnabled(Feature.GlobalAddressList) ? "70" : "100"); output.Write("%;bottom:0px;\"><div id=\"divMdNmC\">"); output.Write(LocalizedStrings.GetHtmlEncoded(-1165546057)); output.Write("</div><div id=\"divSecNvC\""); bool isPicker = ((AddressBook)this).IsPicker; if (isPicker) { output.Write(" class=\"noFltrsCntRg\""); } output.Write(">"); ContactView.RenderSecondaryNavigation(output, base.UserContext, isPicker); output.Write("</div></div>"); goto IL_229; } goto IL_229; case NavigationModule.Documents: DocumentLibraryUtilities.RenderSecondaryNavigation(output, base.UserContext); goto IL_229; case NavigationModule.PublicFolders: NavigationHost.RenderPublicFolderSecondaryNavigation(output, base.UserContext); goto IL_229; default: goto IL_21D; } ContactView.RenderSecondaryNavigation(output, base.UserContext, false); goto IL_229; IL_21D: NavigationHost.RenderMailSecondaryNavigation(output, base.UserContext); IL_229: output.Write("</div>"); }
private string TryNavigateToInternalWssUnc(string uriParam, out ErrorInformation errorInformation) { errorInformation = null; if (base.UserContext.IsBasicExperience) { return(null); } Uri uri = Utilities.TryParseUri(uriParam); if (uri == null || string.IsNullOrEmpty(uri.Scheme) || string.IsNullOrEmpty(uri.Host)) { return(null); } if (!DocumentLibraryUtilities.IsTrustedProtocol(uri.Scheme)) { return(null); } if (!DocumentLibraryUtilities.IsInternalUri(uri.Host, base.UserContext)) { return(null); } if (DocumentLibraryUtilities.IsBlockedHostName(uri.Host, base.UserContext)) { return(null); } if (!DocumentLibraryUtilities.IsDocumentsAccessEnabled(base.UserContext)) { return(null); } bool flag = DocumentLibraryUtilities.IsNavigationToWSSAllowed(base.UserContext); bool flag2 = DocumentLibraryUtilities.IsNavigationToUNCAllowed(base.UserContext); bool flag3 = Redir.IsHttpOrHttps(uri.Scheme); bool flag4 = string.Equals(uri.Scheme, Uri.UriSchemeFile, StringComparison.OrdinalIgnoreCase); if ((flag3 && !flag) || (flag4 && !flag2)) { return(null); } ClassifyResult documentLibraryObjectId = DocumentLibraryUtilities.GetDocumentLibraryObjectId(uri, base.UserContext); if (documentLibraryObjectId == null || documentLibraryObjectId.Error != ClassificationError.None) { return(null); } DocumentLibraryObjectId objectId = documentLibraryObjectId.ObjectId; if (objectId == null) { return(null); } if (objectId.UriFlags == UriFlags.Other) { return(null); } UriFlags uriFlags = objectId.UriFlags; bool flag5 = (uriFlags & UriFlags.SharepointDocument) == UriFlags.SharepointDocument; bool flag6 = (uriFlags & UriFlags.UncDocument) == UriFlags.UncDocument; if ((uriFlags & UriFlags.DocumentLibrary) == UriFlags.DocumentLibrary || (uriFlags & UriFlags.Folder) == UriFlags.Folder || uriFlags == UriFlags.Sharepoint || uriFlags == UriFlags.Unc) { return(string.Concat(new string[] { OwaUrl.ApplicationRoot.GetExplicitUrl(base.OwaContext), "?ae=Folder&t=IPF.DocumentLibrary&id=", Utilities.UrlEncode(objectId.ToBase64String()), "&URL=", Utilities.UrlEncode(uriParam) })); } if (flag5) { if (!base.UserContext.IsBasicExperience && DocumentLibraryUtilities.IsWebReadyDocument(objectId, base.UserContext)) { this.openWebReadyForm = true; return("WebReadyView.aspx?t=wss&id=" + Utilities.UrlEncode(objectId.ToBase64String()) + "&URL=" + Utilities.UrlEncode(uriParam)); } return(string.Concat(new string[] { "ev.owa?ns=SharepointDocument&ev=GetDoc&id=", Utilities.UrlEncode(objectId.ToBase64String()), "&URL=", Utilities.UrlEncode(uriParam), Utilities.GetCanaryRequestParameter() })); } else { if (!flag6) { return(null); } if (!base.UserContext.IsBasicExperience && DocumentLibraryUtilities.IsWebReadyDocument(objectId, base.UserContext)) { this.openWebReadyForm = true; return("WebReadyView.aspx?t=unc&id=" + Utilities.UrlEncode(objectId.ToBase64String()) + "&URL=" + Utilities.UrlEncode(uriParam)); } return(string.Concat(new string[] { "ev.owa?ns=UncDocument&ev=GetDoc&id=", Utilities.UrlEncode(objectId.ToBase64String()), "&URL=", Utilities.UrlEncode(uriParam), Utilities.GetCanaryRequestParameter() })); } }