protected override void ProcessRecord() { base.ProcessRecord(); var ctx = base.Context; XmlDocument viewSchema = null; if (ViewSchema != null) { viewSchema = ViewSchema.Read(); } if (string.IsNullOrEmpty(ViewTitle) && viewSchema == null) { throw new ArgumentException("You must specify a value for at least one of the ViewTitle or ViewSchema parameters."); } var web = ctx.Site.OpenWeb(Web.Read()); SPOFile file = File.Read(web); SPOList list = List.Read(web, true); Guid viewId = Guid.Empty; if (!string.IsNullOrEmpty(ViewTitle)) { var view = list.GetViews().Where(v => v.Title.ToLowerInvariant() == ViewTitle.ToLowerInvariant()).FirstOrDefault(); if (view == null) { throw new ArgumentException("The value specified for the ViewTitle parameter does not match an existing view."); } } string xml = GetXsltListViewWebPartXml(list.Id, list.Url, viewId, viewSchema, file.ServerRelativeUrl, Title, JSLink, ChromeType); if (list.BaseTemplate == 106) { if (viewSchema == null) { var view = list.GetViews().Where(v => v.Title.ToLowerInvariant() == ViewTitle.ToLowerInvariant()).FirstOrDefault(); viewSchema = new XmlDocument(); viewSchema.LoadXml(view.ListViewXml); } xml = GetListViewWebPartXml(list.Id, list.Url, viewSchema, file.ServerRelativeUrl, Title, ChromeType); } if (ParameterSetName == "WikiPage") { SPOWikiPage wikiPage = file as SPOWikiPage; if (wikiPage == null) { throw new Exception("The specified file is either not found or is not a wiki page."); } WriteObject(wikiPage.AddWebPartToWikiPage(xml, Title, Row, Column, AddSpace)); } else { WriteObject(file.AddWebPartToWebPartPage(xml, Zone, ZoneIndex, Title)); } }
private void WriteFile(string targetFolder, SPOFile file) { string fullName = Path.Combine(targetFolder, file.Name); if (System.IO.File.Exists(fullName) && !Overwrite) { WriteWarning(string.Format("Unable to save \"{0}\". File already exists. Use the -Overwrite parameter to overwrite.", fullName)); return; } WriteVerbose(string.Format("Saving {0} to {1}...", file.Name, targetFolder)); file.SaveFileLocally(targetFolder, Overwrite); }
public SPOFile GetFileByServerRelativeUrl(string serverRelativeUrl) { var file = _web.GetFileByServerRelativeUrl(serverRelativeUrl); SPOFile.LoadFile(SPOSiteContext.CurrentSiteContext.Context, file); var spoFile = new SPOFile(file); if (spoFile.ListItemAllFields != null && (spoFile.ListItemAllFields.FieldValues.ContainsKey("WikiField") || (serverRelativeUrl.ToLower().Contains("/sitepages/") && serverRelativeUrl.ToLower().Contains(".aspx")))) { return(new SPOWikiPage(file)); } return(spoFile); }
protected override void ProcessRecord() { base.ProcessRecord(); var ctx = base.Context; var web = ctx.Site.OpenWeb(Web.Read()); SPOFile file = File.Read(web); var wpd = file.GetWebPartDefinitions(); if (string.IsNullOrEmpty(Title)) { WriteObject(wpd); } else { WriteObject(wpd.Where(w => w.WebPart.Title == Title)); } }
protected override void ProcessRecord() { base.ProcessRecord(); var ctx = base.Context; SPOFile page = null; if (ParameterSetName == "List") { var web = ctx.Site.OpenWeb(Web.Read()); SPOList list = List.Read(web, true); page = list.GetRootFolder(true).GetFile(WikiPageName); } else { page = Folder.GetFile(WikiPageName); } if (page != null) { SPOWikiPage wikiPage = new SPOWikiPage(page.File); wikiPage.SetWikiPageLayout(WikiPageLayout); } }
protected override void ProcessRecord() { base.ProcessRecord(); var ctx = base.Context; string xml = WebPart.Read().OuterXml; var web = ctx.Site.OpenWeb(Web.Read()); SPOFile file = File.Read(web); if (ParameterSetName == "WikiPage") { SPOWikiPage wikiPage = file as SPOWikiPage; if (wikiPage == null) { throw new Exception("The specified file is either not found or is not a wiki page."); } WriteObject(wikiPage.AddWebPartToWikiPage(xml, Title, Row, Column, AddSpace)); } else { WriteObject(file.AddWebPartToWebPartPage(xml, Zone, ZoneIndex, Title)); } }
public SPOFilePipeBind(SPOFile file) { _serverRelativeUrl = file.ServerRelativeUrl; }