public static List <Page> GetCurrentPages(ConfluenceConnector confluenceConnector) { var pages = new List <Page>(); var pageIdRegex = new Regex(@"pageId=(\d+)"); var spacePageRegex = new Regex(@"\/display\/([^\/]+)\/([^#]+)"); foreach (var browserurl in IEHelper.GetIEUrls().Distinct()) { string url; try { url = Uri.UnescapeDataString(browserurl).Replace("+", " "); } catch { Log.Warn().WriteLine("Error processing URL: {0}", browserurl); continue; } var pageIdMatch = pageIdRegex.Matches(url); if (pageIdMatch != null && pageIdMatch.Count > 0) { var pageId = long.Parse(pageIdMatch[0].Groups[1].Value); try { var pageDouble = false; foreach (var page in pages) { if (page.Id == pageId) { pageDouble = true; Log.Debug().WriteLine("Skipping double page with ID {0}", pageId); break; } } if (!pageDouble) { var page = confluenceConnector.GetPage(pageId); Log.Debug().WriteLine("Adding page {0}", page.Title); pages.Add(page); } continue; } catch (Exception ex) { // Preventing security problems Log.Debug().WriteLine("Couldn't get page details for PageID {0}", pageId); Log.Warn().WriteLine(ex); } } var spacePageMatch = spacePageRegex.Matches(url); if (spacePageMatch != null && spacePageMatch.Count > 0) { if (spacePageMatch[0].Groups.Count >= 2) { var space = spacePageMatch[0].Groups[1].Value; var title = spacePageMatch[0].Groups[2].Value; if (string.IsNullOrEmpty(title) || string.IsNullOrEmpty(space)) { continue; } if (title.EndsWith("#")) { title = title.Substring(0, title.Length - 1); } try { var pageDouble = false; foreach (var page in pages) { if (page.Title.Equals(title)) { Log.Debug().WriteLine("Skipping double page with title {0}", title); pageDouble = true; break; } } if (!pageDouble) { var page = confluenceConnector.GetPage(space, title); Log.Debug().WriteLine("Adding page {0}", page.Title); pages.Add(page); } } catch (Exception ex) { // Preventing security problems Log.Debug().WriteLine("Couldn't get page details for space {0} / title {1}", space, title); Log.Warn().WriteLine(ex); } } } } return(pages); }
public ConfluenceDestination(IConfluenceConfiguration confluenceConfiguration, ICoreConfiguration coreConfiguration, ConfluenceConnector confluenceConnector, Page page) : this(confluenceConfiguration, coreConfiguration, confluenceConnector) { _page = page; }
public ConfluencePlugin(IConfluenceConfiguration confluenceConfiguration, ConfluenceConnector confluenceConnector) { _confluenceConfiguration = confluenceConfiguration; _confluenceConnector = confluenceConnector; }
public ConfluenceDestination(IConfluenceConfiguration confluenceConfiguration, ICoreConfiguration coreConfiguration, ConfluenceConnector confluenceConnector) { _confluenceConfiguration = confluenceConfiguration; _coreConfiguration = coreConfiguration; _confluenceConnector = confluenceConnector; }