public void ResetPostForNewBlog(IBlogClientOptions options) { Id = String.Empty; DatePublished = DateTime.MinValue; // if the current blog doesn't support pages then force // the post to not be a page if (!options.SupportsPages) { IsPage = false; } // author and parent are tied to blog, reset them as well Author = PostIdAndNameField.Empty; PageParent = PostIdAndNameField.Empty; ETag = string.Empty; AtomRemotePost = null; // categories are tied to blog, reset them Categories = null; NewCategories = null; // ping urls are tied to blog, reset them so they are sent again for a new blog UncommitPingUrls(); }
public GoogleBloggerv3Client(Uri postApiUrl, IBlogCredentialsAccessor credentials) : base(credentials) { // configure client options BlogClientOptions clientOptions = new BlogClientOptions(); clientOptions.SupportsCategories = false; clientOptions.SupportsMultipleCategories = false; clientOptions.SupportsNewCategories = false; clientOptions.SupportsCustomDate = true; clientOptions.SupportsExcerpt = false; clientOptions.SupportsSlug = false; clientOptions.SupportsFileUpload = true; clientOptions.SupportsKeywords = true; clientOptions.SupportsGetKeywords = true; clientOptions.SupportsPages = true; clientOptions.SupportsExtendedEntries = true; _clientOptions = clientOptions; _nsMgr = new XmlNamespaceManager(new NameTable()); _nsMgr.AddNamespace(atomNS.Prefix, atomNS.Uri); _nsMgr.AddNamespace(pubNS.Prefix, pubNS.Uri); _nsMgr.AddNamespace(AtomClient.xhtmlNS.Prefix, AtomClient.xhtmlNS.Uri); _nsMgr.AddNamespace(AtomClient.featuresNS.Prefix, AtomClient.featuresNS.Uri); _nsMgr.AddNamespace(AtomClient.mediaNS.Prefix, AtomClient.mediaNS.Uri); _nsMgr.AddNamespace(AtomClient.liveNS.Prefix, AtomClient.liveNS.Uri); }
public AtomMediaUploader(XmlNamespaceManager nsMgr, HttpRequestFilter requestFilter, string collectionUri, IBlogClientOptions options, XmlRestRequestHelper xmlRestRequestHelper) { this._nsMgr = nsMgr; this._requestFilter = requestFilter; this._collectionUri = collectionUri; this._options = options; this.xmlRestRequestHelper = xmlRestRequestHelper; }
private static Page ConvertToGoogleBloggerPage(BlogPost page, IBlogClientOptions clientOptions) { return(new Page() { Content = page.Contents, Published = GetDatePublishedOverride(page, clientOptions), Title = page.Title, }); }
public ContentFilterApplier(BlogPost blogPost, IBlogClientOptions clientOptions, ContentFilterMode filterMode) { _blogPost = blogPost; _originalContents = _blogPost.Contents; if (_originalContents != null) { _blogPost.Contents = ApplyContentFilters(clientOptions.ContentFilter, _originalContents, filterMode); } }
public void OnBlogChanged(Blog newBlog) { _clientOptions = newBlog.ClientOptions; _targetBlog = newBlog; controller.OnBlogChanged(newBlog); ((IBlogPostEditor)postPropertiesForm).OnBlogChanged(newBlog); ManageLayout(); }
public void Initialize(IBlogPostEditingContext editorContext, IBlogClientOptions clientOptions) { _editorContext = editorContext; _clientOptions = clientOptions; controller.Initialize(editorContext, clientOptions); ((IBlogPostEditor)postPropertiesForm).Initialize(editorContext, clientOptions); ManageLayout(); }
public void Initialize(IBlogPostEditingContext editingContext, IBlogClientOptions options) { PropertyType requiredType = editingContext.BlogPost.IsPage ? PropertyType.Page : PropertyType.Post; bool isCorrectType = (propertyType & requiredType) == requiredType; if (isCorrectType && populate != null) { populate(editingContext, options); } }
public static void ShowInNotepad(IBlogClientOptions options) { string clientOptionsFile = TempFileManager.Instance.CreateTempFile("BlogClientOptions.txt"); using (StreamWriter stream = new StreamWriter(clientOptionsFile)) { OptionStreamWriter writer = new OptionStreamWriter(stream); writer.Write(options); } Process.Start(clientOptionsFile); }
private static DateTime?GetDatePublishedOverride(BlogPost post, IBlogClientOptions clientOptions) { DateTime?datePublishedOverride = post.HasDatePublishedOverride ? post?.DatePublishedOverride : null; if (datePublishedOverride.HasValue && clientOptions.UseLocalTime) { datePublishedOverride = DateTimeHelper.UtcToLocal(datePublishedOverride.Value); } return(datePublishedOverride); }
public StaticSiteClient(Uri postApiUrl, IBlogCredentialsAccessor credentials) : base(credentials) { Config = StaticSiteConfig.LoadConfigFromCredentials(credentials); // Set the client options var options = new BlogClientOptions(); ConfigureClientOptions(options); Options = options; }
public void Initialize(IBlogPostEditingContext editingContext, IBlogClientOptions clientOptions) { // this needs to happen before an editor is loaded, it is needed to know if // if the blog this band should show or not. bool firstTimeInitialization = _currentEditor == null; InitDefaultEditorForBlog(); base.Initialize(editingContext, clientOptions, GetStyledHtml(), GetPreviewHtml(), true); commandSemanticHtml.SetAccountId(_currentBlog.Id, IsRTLTemplate, false); _postPropertyEditor.Initialize(editingContext, clientOptions); }
private static Post ConvertToGoogleBloggerPost(BlogPost post, IBlogClientOptions clientOptions) { var labels = post.Categories?.Select(x => x.Name).ToList(); labels?.AddRange(post.NewCategories?.Select(x => x.Name) ?? new List <string>()); return(new Post() { Content = post.Contents, Labels = labels ?? new List <string>(), Published = GetDatePublishedOverride(post, clientOptions), Title = post.Title, }); }
public void UpdateControlVisibility(IBlogPostEditingContext editingContext, IBlogClientOptions options) { PropertyType requiredType = editingContext.BlogPost.IsPage ? PropertyType.Page : PropertyType.Post; bool isCorrectType = (propertyType & requiredType) == requiredType; bool visible = isCorrectType && shouldShow(options); foreach (Control c in controls) { if (c != null) { c.Visible = visible; } } }
void IBlogPostEditor.Initialize(IBlogPostEditingContext editingContext, IBlogClientOptions clientOptions) { // categories from blog CategoryContext.SetBlogCategories(_targetBlog.Categories); // pickup new categories from the blog-post CategoryContext.SetNewCategories(editingContext.BlogPost.NewCategories); // combine all post categories before settting ArrayList selectedCategories = new ArrayList(); selectedCategories.AddRange(editingContext.BlogPost.NewCategories); selectedCategories.AddRange(editingContext.BlogPost.Categories); _lastSelectedCategories = new BlogPostCategory[0]; CategoryContext.SelectedCategories = selectedCategories.ToArray(typeof(BlogPostCategory)) as BlogPostCategory[]; toolTipCategories.SetToolTip(this, CategoryContext.FormattedCategoryList); _isDirty = false; }
public WeblogCapabilitiesForm(IBlogClientOptions clientOptions) { // // Required for Windows Form Designer support // InitializeComponent(); this.buttonOK.Text = Res.Get(StringId.OKButtonText); this.columnHeaderCapability.Text = Res.Get(StringId.WeblogCapabilitiesCapability); this.columnHeaderValue.Text = Res.Get(StringId.WeblogCapabilitiesValue); this.labelCapabilities.Text = Res.Get(StringId.WeblogCapabilitiesCaption); this.Text = Res.Get(StringId.WeblogCapabilitiesTitle); // captions labelCapabilities.Text = String.Format(CultureInfo.CurrentCulture, labelCapabilities.Text, ApplicationEnvironment.ProductNameQualified); ListViewOptionWriter listViewOptionWriter = new ListViewOptionWriter(listViewCapabilities); listViewOptionWriter.Write(clientOptions); }
public static IBlogClient CreateClient(string clientType, string postApiUrl, IBlogCredentialsAccessor credentials, string providerId, IDictionary optionOverrides, IDictionary userOptionOverrides, IDictionary homepageOptionOverrides) { // create blog client reflecting the settings IBlogClient blogClient = CreateClient(clientType, postApiUrl, credentials); // if there is a provider associated with the client then use it to override options // as necessary for this provider IBlogProvider provider = BlogProviderManager.FindProvider(providerId); if (provider != null) { IBlogClientOptions providerOptions = provider.ConstructBlogOptions(blogClient.Options); blogClient.OverrideOptions(providerOptions); } if (homepageOptionOverrides != null) { OptionOverrideReader homepageOptionsReader = new OptionOverrideReader(homepageOptionOverrides); IBlogClientOptions homepageOptions = BlogClientOptions.ApplyOptionOverrides(new OptionReader(homepageOptionsReader.Read), blogClient.Options, true); blogClient.OverrideOptions(homepageOptions); } // if there are manifest overrides then apply them if (optionOverrides != null) { OptionOverrideReader manifestOptionsReader = new OptionOverrideReader(optionOverrides); IBlogClientOptions manifestOptions = BlogClientOptions.ApplyOptionOverrides(new OptionReader(manifestOptionsReader.Read), blogClient.Options, true); blogClient.OverrideOptions(manifestOptions); } // if there are user overrides then apply them if (userOptionOverrides != null) { OptionOverrideReader userOptionsReader = new OptionOverrideReader(userOptionOverrides); IBlogClientOptions userOptions = BlogClientOptions.ApplyOptionOverrides(new OptionReader(userOptionsReader.Read), blogClient.Options, true); blogClient.OverrideOptions(userOptions); } // return the blog client return(blogClient); }
public void Initialize(IBlogPostEditingContext context, IBlogClientOptions clientOptions) { Debug.Assert(_blogId == context.BlogId); using (SuspendLogic()) { editorContext = context; using (Blog blog = new Blog(context.BlogId)) UpdateFieldsForBlog(blog); ((IBlogPostEditor)categoryDropDown).Initialize(context, clientOptions); foreach (PropertyField field in fields) { field.Initialize(context, clientOptions); } } isDirty = false; }
public void OnBlogChanged(Blog newBlog) { using (SuspendLogic()) { _blogId = newBlog.Id; _targetBlog = newBlog; _clientOptions = newBlog.ClientOptions; ((IBlogPostEditor)categoryDropDown).OnBlogChanged(newBlog); UpdateFieldsForBlog(newBlog); // Tag stuff textTags.ShowButton = newBlog.ClientOptions.SupportsGetKeywords; if (newBlog.ClientOptions.SupportsGetKeywords) { LoadTagValues(); } textTags.DefaultText = newBlog.ClientOptions.KeywordsAsTags ? Res.Get(StringId.TagControlSetTags) : ""; } }
public AtomClient(AtomProtocolVersion atomVer, Uri postApiUrl, IBlogCredentialsAccessor credentials) : base(credentials) { _feedServiceUrl = postApiUrl; // configure client options BlogClientOptions clientOptions = new BlogClientOptions(); ConfigureClientOptions(clientOptions); _clientOptions = clientOptions; _atomVer = atomVer; _atomNS = new Namespace(atomVer.NamespaceUri, "atom"); _pubNS = new Namespace(atomVer.PubNamespaceUri, "app"); _nsMgr = new XmlNamespaceManager(new NameTable()); _nsMgr.AddNamespace(_atomNS.Prefix, _atomNS.Uri); _nsMgr.AddNamespace(_pubNS.Prefix, _pubNS.Uri); _nsMgr.AddNamespace(xhtmlNS.Prefix, xhtmlNS.Uri); _nsMgr.AddNamespace(featuresNS.Prefix, featuresNS.Uri); _nsMgr.AddNamespace(mediaNS.Prefix, mediaNS.Uri); _nsMgr.AddNamespace(liveNS.Prefix, liveNS.Uri); }
public void ResetPostForNewBlog(IBlogClientOptions options) { Id = String.Empty; DatePublished = DateTime.MinValue; // if the current blog doesn't support pages then force // the post to not be a page if (!options.SupportsPages) IsPage = false; // author and parent are tied to blog, reset them as well Author = PostIdAndNameField.Empty; PageParent = PostIdAndNameField.Empty; ETag = string.Empty; AtomRemotePost = null; // categories are tied to blog, reset them Categories = null; NewCategories = null; // ping urls are tied to blog, reset them so they are sent again for a new blog UncommitPingUrls(); }
public ContentFilterApplier(BlogPost blogPost, IBlogClientOptions clientOptions, ContentFilterMode filterMode) { _blogPost = blogPost; _originalContents = _blogPost.Contents; if (_originalContents != null) _blogPost.Contents = ApplyContentFilters(clientOptions.ContentFilter, _originalContents, filterMode); }
/// <summary> /// Enable external users of the class to completely replace /// the client options /// </summary> /// <param name="newClientOptions"></param> public void OverrideOptions(IBlogClientOptions newClientOptions) { _clientOptions = newClientOptions; }
public static IBlogClientOptions ApplyOptionOverrides(OptionReader optionReader, IBlogClientOptions existingOptions) { return(ApplyOptionOverrides(optionReader, existingOptions, true)); }
void IBlogPostEditor.Initialize(IBlogPostEditingContext editingContext, IBlogClientOptions clientOptions) { _isDirty = false; }
public AtomMediaUploader(XmlNamespaceManager nsMgr, HttpAsyncRequestFilter requestFilter, string collectionUri, IBlogClientOptions options) : this(nsMgr, requestFilter, collectionUri, options, new XmlRestRequestHelper()) { }
public void Write(IBlogClientOptions clientOptions) { WriteOption(Res.Get(StringId.CapabilityPostDraftToServer), clientOptions.SupportsPostAsDraft); WriteOption(Res.Get(StringId.CapabilityFileUpload), clientOptions.SupportsFileUpload); WriteOption(Res.Get(StringId.CapabilityExtendedEntries), clientOptions.SupportsExtendedEntries); WriteOption(Res.Get(StringId.CapabilityCustomPublishDate), clientOptions.SupportsCustomDate); WriteOption(Res.Get(StringId.CapabilityCustomPublishDateUpdate), clientOptions.SupportsCustomDateUpdate); WriteOption(Res.Get(StringId.CapabilityCategories), clientOptions.SupportsCategories); WriteOption(Res.Get(StringId.CapabilityCategoriesInline), clientOptions.SupportsCategoriesInline); WriteOption(Res.Get(StringId.CapabilityMultipleCategories), clientOptions.SupportsMultipleCategories); WriteOption(Res.Get(StringId.CapabilityHierarchicalCategories), clientOptions.SupportsHierarchicalCategories); WriteOption(Res.Get(StringId.CapabilityNewCategories), clientOptions.SupportsNewCategories); WriteOption(Res.Get(StringId.CapabilityNewCategoriesInline), clientOptions.SupportsNewCategoriesInline); WriteOption(Res.Get(StringId.CapabilityCategoryScheme), clientOptions.CategoryScheme); WriteOption(Res.Get(StringId.CapabilityKeywords), clientOptions.SupportsKeywords); WriteOption(Res.Get(StringId.CapabilityKeywordRetrieval), clientOptions.SupportsGetKeywords); WriteOption(Res.Get(StringId.CapabilityCommentPolicy), clientOptions.SupportsCommentPolicy); WriteOption(Res.Get(StringId.CapabilityTrackbackPolicy), clientOptions.SupportsPingPolicy); WriteOption(Res.Get(StringId.CapabilityAuthor), clientOptions.SupportsAuthor); WriteOption(Res.Get(StringId.CapabilitySlug), clientOptions.SupportsSlug); WriteOption(Res.Get(StringId.CapabilityPassword), clientOptions.SupportsPassword); WriteOption(Res.Get(StringId.CapabilityExcerpt), clientOptions.SupportsExcerpt); WriteOption(Res.Get(StringId.CapabilitySendTrackbacks), clientOptions.SupportsTrackbacks); WriteOption(Res.Get(StringId.CapabilityPages), clientOptions.SupportsPages); WriteOption(Res.Get(StringId.CapabilityPageParent), clientOptions.SupportsPageParent); WriteOption(Res.Get(StringId.CapabilityPageOrder), clientOptions.SupportsPageOrder); WriteOption(Res.Get(StringId.CapabilityHtmlTitles), clientOptions.RequiresHtmlTitles); WriteOption(Res.Get(StringId.CapabilityEmptyTitles), clientOptions.SupportsEmptyTitles); WriteOption(Res.Get(StringId.CapabilityScripts), clientOptions.SupportsScripts); WriteOption(Res.Get(StringId.CapabilityEmbeds), clientOptions.SupportsEmbeds); string defaultView; switch (clientOptions.DefaultView) { case "WebLayout": defaultView = Res.Get(StringId.CapabilityValueWebLayout); break; case "WebPreview": defaultView = Res.Get(StringId.CapabilityValueWebPreview); break; case "Normal": case "": case null: defaultView = Res.Get(StringId.CapabilityValueNormal); break; default: defaultView = clientOptions.DefaultView; break; } WriteOption(Res.Get(StringId.CapabilityDefaultView), defaultView); WriteOption(Res.Get(StringId.CapabilityCharacterSet), clientOptions.CharacterSet != String.Empty ? clientOptions.CharacterSet : "UTF-8"); WriteOption(Res.Get(StringId.CapabilityRequiresXHTML), clientOptions.RequiresXHTML); WriteOption(Res.Get(StringId.CapabilityTemplateIsRTL), clientOptions.IsRTLTemplate); WriteOption(Res.Get(StringId.CapabilityCategoryNameLimit), clientOptions.MaxCategoryNameLength != 0 ? clientOptions.MaxCategoryNameLength.ToString(CultureInfo.CurrentCulture) : Res.Get(StringId.CapabilityValueNoLimit)); WriteOption(Res.Get(StringId.CapabilityAutoUpdate), clientOptions.SupportsAutoUpdate); WriteOption(Res.Get(StringId.CapabilityPostTitleLengthLimit), clientOptions.MaxPostTitleLength != int.MaxValue ? clientOptions.MaxPostTitleLength.ToString(CultureInfo.CurrentCulture) : Res.Get(StringId.Unknown)); }
public AtomMediaUploader(XmlNamespaceManager nsMgr, HttpRequestFilter requestFilter, string collectionUri, IBlogClientOptions options) : this(nsMgr, requestFilter, collectionUri, options, new XmlRestRequestHelper()) { }
private static Post ConvertToGoogleBloggerPost(BlogPost post, IBlogClientOptions clientOptions) { var labels = post.Categories?.Select(x => x.Name).ToList(); labels?.AddRange(post.NewCategories?.Select(x => x.Name) ?? new List<string>()); return new Post() { Content = post.Contents, Labels = labels ?? new List<string>(), Published = GetDatePublishedOverride(post, clientOptions), Title = post.Title, }; }
public virtual IBlogClientOptions ConstructBlogOptions(IBlogClientOptions defaultOptions) { return defaultOptions; }
public void UpdateControlVisibility(IBlogPostEditingContext editingContext, IBlogClientOptions options) { PropertyType requiredType = editingContext.BlogPost.IsPage ? PropertyType.Page : PropertyType.Post; bool isCorrectType = (propertyType & requiredType) == requiredType; bool visible = isCorrectType && shouldShow(options); foreach (Control c in controls) if (c != null) c.Visible = visible; }
public void Initialize(IBlogPostEditingContext editingContext, IBlogClientOptions options) { PropertyType requiredType = editingContext.BlogPost.IsPage ? PropertyType.Page : PropertyType.Post; bool isCorrectType = (propertyType & requiredType) == requiredType; if (isCorrectType && populate != null) populate(editingContext, options); }
public override IBlogClientOptions ConstructBlogOptions(IBlogClientOptions defaultOptions) { return BlogClientOptions.ApplyOptionOverrides(new OptionReader(ReadProviderOption), defaultOptions); }
public static IBlogClientOptions ApplyOptionOverrides(OptionReader optionReader, IBlogClientOptions existingOptions, bool includeIrregularities) { BlogClientOptions clientOptions = new BlogClientOptions(); // Protocol capabilities clientOptions.SupportsPostAsDraft = ReadBool(optionReader("supportsPostAsDraft"), existingOptions.SupportsPostAsDraft); clientOptions.SupportsFileUpload = ReadBool(optionReader("supportsFileUpload"), existingOptions.SupportsFileUpload); clientOptions.SupportsExtendedEntries = ReadBool(optionReader("supportsExtendedEntries"), existingOptions.SupportsExtendedEntries); clientOptions.SupportsCustomDate = ReadBool(optionReader("supportsCustomDate"), existingOptions.SupportsCustomDate); clientOptions.SupportsCustomDateUpdate = ReadBool(optionReader("supportsCustomDateUpdate"), existingOptions.SupportsCustomDateUpdate); clientOptions.SupportsHttps = ReadBool(optionReader("supportsHttps"), existingOptions.SupportsHttps); clientOptions.SupportsCategories = ReadBool(optionReader(SUPPORTS_CATEGORIES), existingOptions.SupportsCategories); clientOptions.SupportsCategoriesInline = ReadBool(optionReader("supportsCategoriesInline"), existingOptions.SupportsCategoriesInline); clientOptions.SupportsMultipleCategories = ReadBool(optionReader("supportsMultipleCategories"), existingOptions.SupportsMultipleCategories); clientOptions.SupportsHierarchicalCategories = ReadBool(optionReader("supportsHierarchicalCategories"), existingOptions.SupportsHierarchicalCategories); clientOptions.SupportsNewCategories = ReadBool(optionReader(SUPPORTS_NEW_CATEGORIES), existingOptions.SupportsNewCategories); clientOptions.SupportsNewCategoriesInline = ReadBool(optionReader("supportsNewCategoriesInline"), existingOptions.SupportsNewCategoriesInline); clientOptions.SupportsSuggestCategories = ReadBool(optionReader("supportsSuggestCategories"), existingOptions.SupportsSuggestCategories); clientOptions.CategoryScheme = ReadText(optionReader(CATEGORY_SCHEME), existingOptions.CategoryScheme); clientOptions.SupportsKeywords = ReadBool(optionReader("supportsKeywords"), existingOptions.SupportsKeywords); clientOptions.SupportsGetKeywords = ReadBool(optionReader("supportsGetTags"), existingOptions.SupportsGetKeywords); clientOptions.SupportsCommentPolicy = ReadBool(optionReader("supportsCommentPolicy"), existingOptions.SupportsCommentPolicy); clientOptions.SupportsPingPolicy = ReadBool(optionReader("supportsPingPolicy"), existingOptions.SupportsPingPolicy); clientOptions.SupportsAuthor = ReadBool(optionReader("supportsAuthor"), existingOptions.SupportsAuthor); clientOptions.SupportsSlug = ReadBool(optionReader("supportsSlug"), existingOptions.SupportsSlug); clientOptions.SupportsPassword = ReadBool(optionReader("supportsPassword"), existingOptions.SupportsPassword); clientOptions.SupportsExcerpt = ReadBool(optionReader("supportsExcerpt"), existingOptions.SupportsExcerpt); clientOptions.SupportsTrackbacks = ReadBool(optionReader("supportsTrackbacks"), existingOptions.SupportsTrackbacks); clientOptions.SupportsPages = ReadBool(optionReader("supportsPages"), existingOptions.SupportsPages); clientOptions.SupportsPageParent = ReadBool(optionReader("supportsPageParent"), existingOptions.SupportsPageParent); clientOptions.SupportsPageOrder = ReadBool(optionReader("supportsPageOrder"), existingOptions.SupportsPageOrder); clientOptions.SupportsPageTrackbacks = ReadBool(optionReader("supportsPageTrackbacks"), existingOptions.SupportsPageTrackbacks); // Writer capabilities clientOptions.LinkToSkyDriveSelfPage = ReadBool(optionReader("linkToSkyDriveSelfPage"), existingOptions.LinkToSkyDriveSelfPage); clientOptions.RequiresHtmlTitles = ReadBool(optionReader("requiresHtmlTitles"), existingOptions.RequiresHtmlTitles); clientOptions.ReturnsHtmlTitlesOnGet = ReadSupportsFeature(optionReader("returnsHtmlTitlesOnGet"), existingOptions.ReturnsHtmlTitlesOnGet); clientOptions.SupportsEmptyTitles = ReadBool(optionReader("supportsEmptyTitles"), existingOptions.SupportsEmptyTitles); clientOptions.SupportsScripts = ReadSupportsFeature(optionReader(SUPPORTS_SCRIPTS), existingOptions.SupportsScripts); clientOptions.SupportsEmbeds = ReadSupportsFeature(optionReader(SUPPORTS_EMBEDS), existingOptions.SupportsEmbeds); clientOptions.SupportsImageUpload = ReadSupportsFeature(optionReader("supportsImageUpload"), existingOptions.SupportsImageUpload); clientOptions.DefaultView = ReadText(optionReader("defaultView"), existingOptions.DefaultView); clientOptions.CharacterSet = ReadText(optionReader(CHARACTER_SET), existingOptions.CharacterSet); clientOptions.RequiresXHTML = ReadBool(optionReader(REQUIRES_XHTML), existingOptions.RequiresXHTML); clientOptions.DhtmlImageViewer = ReadText(optionReader(DHTML_IMAGE_VIEWER), existingOptions.DhtmlImageViewer); clientOptions.PostBodyBackgroundColor = ReadInt(optionReader(POST_BODY_BACKGROUND_COLOR), existingOptions.PostBodyBackgroundColor); clientOptions.MaxCategoryNameLength = ReadInt(optionReader("maxCategoryNameLength"), existingOptions.MaxCategoryNameLength); clientOptions.SupportsAutoUpdate = ReadBool(optionReader("supportsAutoUpdate"), existingOptions.SupportsAutoUpdate); clientOptions.InvalidPostIdFaultCodePattern = ReadText(optionReader("invalidPostIdFaultCodePattern"), existingOptions.InvalidPostIdFaultCodePattern); clientOptions.InvalidPostIdFaultStringPattern = ReadText(optionReader("invalidPostIdFaultStringPattern"), existingOptions.InvalidPostIdFaultStringPattern); clientOptions.IsRTLTemplate = ReadBool(optionReader("templateIsRTL"), existingOptions.IsRTLTemplate); clientOptions.MaxPostTitleLength = ReadInt(optionReader("maxPostTitleLength"), existingOptions.MaxPostTitleLength); // Weblog clientOptions.HomepageLinkText = ReadText(optionReader("homepageLinkText"), existingOptions.HomepageLinkText); clientOptions.AdminLinkText = ReadText(optionReader("adminLinkText"), existingOptions.AdminLinkText); clientOptions.AdminUrl = ReadText(optionReader("adminUrl"), existingOptions.AdminUrl); clientOptions.PostEditingUrl = ReadText(optionReader("postEditingUrl"), existingOptions.PostEditingUrl); clientOptions.PostEditingUrlPostIdPattern = ReadText(optionReader("postEditingUrlPostIdPattern"), existingOptions.PostEditingUrlPostIdPattern); clientOptions.ImagePostingUrl = ReadText(optionReader(IMAGE_ENDPOINT), existingOptions.ImagePostingUrl); clientOptions.ServiceName = ReadText(optionReader("serviceName"), existingOptions.ServiceName); // Irregularities if (includeIrregularities) { clientOptions.CommentPolicyAsBoolean = ReadBool(optionReader("commentPolicyAsBoolean"), existingOptions.CommentPolicyAsBoolean); clientOptions.AllowPolicyFalseValue = ReadInt(optionReader("allowPolicyFalseValue"), existingOptions.AllowPolicyFalseValue); clientOptions.MaxRecentPosts = ReadInt(optionReader("maxRecentPosts"), existingOptions.MaxRecentPosts); clientOptions.ContentFilter = ReadText(optionReader("contentFilter"), existingOptions.ContentFilter); clientOptions.PermalinkFormat = ReadText(optionReader("permalinkFormat"), existingOptions.PermalinkFormat); clientOptions.PostDateFormat = ReadText(optionReader("postDateFormat"), existingOptions.PostDateFormat); clientOptions.FileUploadNameFormat = ReadText(optionReader("fileUploadNameFormat"), existingOptions.FileUploadNameFormat); clientOptions.UseLocalTime = ReadBool(optionReader("useLocalTime"), existingOptions.UseLocalTime); clientOptions.SupportsPostSynchronization = ReadBool(optionReader("supportsPostSynchronization"), existingOptions.SupportsPostSynchronization); clientOptions.TrackbackDelimiter = ReadTrackbackDelimiter(optionReader("trackbackDelimiter"), existingOptions.TrackbackDelimiter); clientOptions.FuturePublishDateWarning = ReadBool(optionReader("futurePublishDateWarning"), existingOptions.FuturePublishDateWarning); clientOptions.UsePicasaImgMaxAlways = ReadBool(optionReader("usePicasaImgMaxAlways"), existingOptions.UsePicasaImgMaxAlways); clientOptions.UsePicasaS1600h = ReadBool(optionReader("usePicasaS1600h"), existingOptions.UsePicasaS1600h); clientOptions.KeywordsAsTags = ReadBool(optionReader("keywordsAsTags"), existingOptions.KeywordsAsTags); } else { clientOptions.CommentPolicyAsBoolean = existingOptions.CommentPolicyAsBoolean; clientOptions.AllowPolicyFalseValue = existingOptions.AllowPolicyFalseValue; clientOptions.MaxRecentPosts = existingOptions.MaxRecentPosts; clientOptions.ContentFilter = existingOptions.ContentFilter; clientOptions.PermalinkFormat = existingOptions.PermalinkFormat; clientOptions.PostDateFormat = existingOptions.PostDateFormat; clientOptions.FileUploadNameFormat = existingOptions.FileUploadNameFormat; clientOptions.UseLocalTime = existingOptions.UseLocalTime; clientOptions.SupportsPostSynchronization = existingOptions.SupportsPostSynchronization; clientOptions.TrackbackDelimiter = existingOptions.TrackbackDelimiter; clientOptions.FuturePublishDateWarning = existingOptions.FuturePublishDateWarning; clientOptions.UsePicasaImgMaxAlways = existingOptions.UsePicasaImgMaxAlways; clientOptions.UsePicasaS1600h = existingOptions.UsePicasaS1600h; clientOptions.KeywordsAsTags = existingOptions.KeywordsAsTags; } // return options return(clientOptions); }
public void OnBlogChanged(Blog newBlog) { using (SuspendLogic()) { _blogId = newBlog.Id; _targetBlog = newBlog; _clientOptions = newBlog.ClientOptions; ((IBlogPostEditor)categoryDropDown).OnBlogChanged(newBlog); UpdateFieldsForBlog(newBlog); // Tag stuff textTags.ShowButton = newBlog.ClientOptions.SupportsGetKeywords; if (newBlog.ClientOptions.SupportsGetKeywords) LoadTagValues(); textTags.DefaultText = newBlog.ClientOptions.KeywordsAsTags ? Res.Get(StringId.TagControlSetTags) : ""; } }
// implement IBlogPostEditor so we can participating in showing/hiding // the property editor control void IBlogPostEditor.Initialize(IBlogPostEditingContext editingContext, IBlogClientOptions clientOptions) { }
public AtomMediaUploader(XmlNamespaceManager nsMgr, HttpAsyncRequestFilter requestFilter, string collectionUri, IBlogClientOptions options, XmlRestRequestHelper xmlRestRequestHelper) { this._nsMgr = nsMgr; this._requestFilter = requestFilter; this._collectionUri = collectionUri; this._options = options; this.xmlRestRequestHelper = xmlRestRequestHelper; }
void IBlogPostEditor.Initialize(IBlogPostEditingContext context, IBlogClientOptions clientOptions) { Text = context.BlogPost.IsPage ? Res.Get(StringId.PageProperties) : Res.Get(StringId.PostProperties); controller.Initialize(context, clientOptions); }
private static DateTime? GetDatePublishedOverride(BlogPost post, IBlogClientOptions clientOptions) { DateTime? datePublishedOverride = post.HasDatePublishedOverride ? post?.DatePublishedOverride : null; if (datePublishedOverride.HasValue && clientOptions.UseLocalTime) { datePublishedOverride = DateTimeHelper.UtcToLocal(datePublishedOverride.Value); } return datePublishedOverride; }
public virtual IBlogClientOptions ConstructBlogOptions(IBlogClientOptions defaultOptions) { return(defaultOptions); }
public static IBlogClientOptions ApplyOptionOverrides(OptionReader optionReader, IBlogClientOptions existingOptions, bool includeIrregularities) { BlogClientOptions clientOptions = new BlogClientOptions(); // Protocol capabilities clientOptions.SupportsPostAsDraft = ReadBool(optionReader("supportsPostAsDraft"), existingOptions.SupportsPostAsDraft); clientOptions.SupportsFileUpload = ReadBool(optionReader("supportsFileUpload"), existingOptions.SupportsFileUpload); clientOptions.SupportsExtendedEntries = ReadBool(optionReader("supportsExtendedEntries"), existingOptions.SupportsExtendedEntries); clientOptions.SupportsCustomDate = ReadBool(optionReader("supportsCustomDate"), existingOptions.SupportsCustomDate); clientOptions.SupportsCustomDateUpdate = ReadBool(optionReader("supportsCustomDateUpdate"), existingOptions.SupportsCustomDateUpdate); clientOptions.SupportsHttps = ReadBool(optionReader("supportsHttps"), existingOptions.SupportsHttps); clientOptions.SupportsCategories = ReadBool(optionReader(SUPPORTS_CATEGORIES), existingOptions.SupportsCategories); clientOptions.SupportsCategoriesInline = ReadBool(optionReader("supportsCategoriesInline"), existingOptions.SupportsCategoriesInline); clientOptions.SupportsMultipleCategories = ReadBool(optionReader("supportsMultipleCategories"), existingOptions.SupportsMultipleCategories); clientOptions.SupportsHierarchicalCategories = ReadBool(optionReader("supportsHierarchicalCategories"), existingOptions.SupportsHierarchicalCategories); clientOptions.SupportsNewCategories = ReadBool(optionReader(SUPPORTS_NEW_CATEGORIES), existingOptions.SupportsNewCategories); clientOptions.SupportsNewCategoriesInline = ReadBool(optionReader("supportsNewCategoriesInline"), existingOptions.SupportsNewCategoriesInline); clientOptions.SupportsSuggestCategories = ReadBool(optionReader("supportsSuggestCategories"), existingOptions.SupportsSuggestCategories); clientOptions.CategoryScheme = ReadText(optionReader(CATEGORY_SCHEME), existingOptions.CategoryScheme); clientOptions.SupportsKeywords = ReadBool(optionReader("supportsKeywords"), existingOptions.SupportsKeywords); clientOptions.SupportsGetKeywords = ReadBool(optionReader("supportsGetTags"), existingOptions.SupportsGetKeywords); clientOptions.SupportsCommentPolicy = ReadBool(optionReader("supportsCommentPolicy"), existingOptions.SupportsCommentPolicy); clientOptions.SupportsPingPolicy = ReadBool(optionReader("supportsPingPolicy"), existingOptions.SupportsPingPolicy); clientOptions.SupportsAuthor = ReadBool(optionReader("supportsAuthor"), existingOptions.SupportsAuthor); clientOptions.SupportsSlug = ReadBool(optionReader("supportsSlug"), existingOptions.SupportsSlug); clientOptions.SupportsPassword = ReadBool(optionReader("supportsPassword"), existingOptions.SupportsPassword); clientOptions.SupportsExcerpt = ReadBool(optionReader("supportsExcerpt"), existingOptions.SupportsExcerpt); clientOptions.SupportsTrackbacks = ReadBool(optionReader("supportsTrackbacks"), existingOptions.SupportsTrackbacks); clientOptions.SupportsPages = ReadBool(optionReader("supportsPages"), existingOptions.SupportsPages); clientOptions.SupportsPageParent = ReadBool(optionReader("supportsPageParent"), existingOptions.SupportsPageParent); clientOptions.SupportsPageOrder = ReadBool(optionReader("supportsPageOrder"), existingOptions.SupportsPageOrder); clientOptions.SupportsPageTrackbacks = ReadBool(optionReader("supportsPageTrackbacks"), existingOptions.SupportsPageTrackbacks); // Writer capabilities clientOptions.LinkToSkyDriveSelfPage = ReadBool(optionReader("linkToSkyDriveSelfPage"), existingOptions.LinkToSkyDriveSelfPage); clientOptions.RequiresHtmlTitles = ReadBool(optionReader("requiresHtmlTitles"), existingOptions.RequiresHtmlTitles); clientOptions.ReturnsHtmlTitlesOnGet = ReadSupportsFeature(optionReader("returnsHtmlTitlesOnGet"), existingOptions.ReturnsHtmlTitlesOnGet); clientOptions.SupportsEmptyTitles = ReadBool(optionReader("supportsEmptyTitles"), existingOptions.SupportsEmptyTitles); clientOptions.SupportsScripts = ReadSupportsFeature(optionReader(SUPPORTS_SCRIPTS), existingOptions.SupportsScripts); clientOptions.SupportsEmbeds = ReadSupportsFeature(optionReader(SUPPORTS_EMBEDS), existingOptions.SupportsEmbeds); clientOptions.SupportsImageUpload = ReadSupportsFeature(optionReader("supportsImageUpload"), existingOptions.SupportsImageUpload); clientOptions.DefaultView = ReadText(optionReader("defaultView"), existingOptions.DefaultView); clientOptions.CharacterSet = ReadText(optionReader(CHARACTER_SET), existingOptions.CharacterSet); clientOptions.RequiresXHTML = ReadBool(optionReader(REQUIRES_XHTML), existingOptions.RequiresXHTML); clientOptions.DhtmlImageViewer = ReadText(optionReader(DHTML_IMAGE_VIEWER), existingOptions.DhtmlImageViewer); clientOptions.PostBodyBackgroundColor = ReadInt(optionReader(POST_BODY_BACKGROUND_COLOR), existingOptions.PostBodyBackgroundColor); clientOptions.MaxCategoryNameLength = ReadInt(optionReader("maxCategoryNameLength"), existingOptions.MaxCategoryNameLength); clientOptions.SupportsAutoUpdate = ReadBool(optionReader("supportsAutoUpdate"), existingOptions.SupportsAutoUpdate); clientOptions.InvalidPostIdFaultCodePattern = ReadText(optionReader("invalidPostIdFaultCodePattern"), existingOptions.InvalidPostIdFaultCodePattern); clientOptions.InvalidPostIdFaultStringPattern = ReadText(optionReader("invalidPostIdFaultStringPattern"), existingOptions.InvalidPostIdFaultStringPattern); clientOptions.IsRTLTemplate = ReadBool(optionReader("templateIsRTL"), existingOptions.IsRTLTemplate); clientOptions.MaxPostTitleLength = ReadInt(optionReader("maxPostTitleLength"), existingOptions.MaxPostTitleLength); // Weblog clientOptions.HomepageLinkText = ReadText(optionReader("homepageLinkText"), existingOptions.HomepageLinkText); clientOptions.AdminLinkText = ReadText(optionReader("adminLinkText"), existingOptions.AdminLinkText); clientOptions.AdminUrl = ReadText(optionReader("adminUrl"), existingOptions.AdminUrl); clientOptions.PostEditingUrl = ReadText(optionReader("postEditingUrl"), existingOptions.PostEditingUrl); clientOptions.PostEditingUrlPostIdPattern = ReadText(optionReader("postEditingUrlPostIdPattern"), existingOptions.PostEditingUrlPostIdPattern); clientOptions.ImagePostingUrl = ReadText(optionReader(IMAGE_ENDPOINT), existingOptions.ImagePostingUrl); clientOptions.ServiceName = ReadText(optionReader("serviceName"), existingOptions.ServiceName); // Irregularities if (includeIrregularities) { clientOptions.CommentPolicyAsBoolean = ReadBool(optionReader("commentPolicyAsBoolean"), existingOptions.CommentPolicyAsBoolean); clientOptions.AllowPolicyFalseValue = ReadInt(optionReader("allowPolicyFalseValue"), existingOptions.AllowPolicyFalseValue); clientOptions.MaxRecentPosts = ReadInt(optionReader("maxRecentPosts"), existingOptions.MaxRecentPosts); clientOptions.ContentFilter = ReadText(optionReader("contentFilter"), existingOptions.ContentFilter); clientOptions.PermalinkFormat = ReadText(optionReader("permalinkFormat"), existingOptions.PermalinkFormat); clientOptions.PostDateFormat = ReadText(optionReader("postDateFormat"), existingOptions.PostDateFormat); clientOptions.FileUploadNameFormat = ReadText(optionReader("fileUploadNameFormat"), existingOptions.FileUploadNameFormat); clientOptions.UseLocalTime = ReadBool(optionReader("useLocalTime"), existingOptions.UseLocalTime); clientOptions.SupportsPostSynchronization = ReadBool(optionReader("supportsPostSynchronization"), existingOptions.SupportsPostSynchronization); clientOptions.TrackbackDelimiter = ReadTrackbackDelimiter(optionReader("trackbackDelimiter"), existingOptions.TrackbackDelimiter); clientOptions.FuturePublishDateWarning = ReadBool(optionReader("futurePublishDateWarning"), existingOptions.FuturePublishDateWarning); clientOptions.UsePicasaImgMaxAlways = ReadBool(optionReader("usePicasaImgMaxAlways"), existingOptions.UsePicasaImgMaxAlways); clientOptions.UsePicasaS1600h = ReadBool(optionReader("usePicasaS1600h"), existingOptions.UsePicasaS1600h); clientOptions.KeywordsAsTags = ReadBool(optionReader("keywordsAsTags"), existingOptions.KeywordsAsTags); } else { clientOptions.CommentPolicyAsBoolean = existingOptions.CommentPolicyAsBoolean; clientOptions.AllowPolicyFalseValue = existingOptions.AllowPolicyFalseValue; clientOptions.MaxRecentPosts = existingOptions.MaxRecentPosts; clientOptions.ContentFilter = existingOptions.ContentFilter; clientOptions.PermalinkFormat = existingOptions.PermalinkFormat; clientOptions.PostDateFormat = existingOptions.PostDateFormat; clientOptions.FileUploadNameFormat = existingOptions.FileUploadNameFormat; clientOptions.UseLocalTime = existingOptions.UseLocalTime; clientOptions.SupportsPostSynchronization = existingOptions.SupportsPostSynchronization; clientOptions.TrackbackDelimiter = existingOptions.TrackbackDelimiter; clientOptions.FuturePublishDateWarning = existingOptions.FuturePublishDateWarning; clientOptions.UsePicasaImgMaxAlways = existingOptions.UsePicasaImgMaxAlways; clientOptions.UsePicasaS1600h = existingOptions.UsePicasaS1600h; clientOptions.KeywordsAsTags = existingOptions.KeywordsAsTags; } // return options return clientOptions; }
private static Page ConvertToGoogleBloggerPage(BlogPost page, IBlogClientOptions clientOptions) { return new Page() { Content = page.Contents, Published = GetDatePublishedOverride(page, clientOptions), Title = page.Title, }; }
public void Initialize(IBlogPostEditingContext context, IBlogClientOptions clientOptions) { Debug.Assert(_blogId == context.BlogId); using (SuspendLogic()) { editorContext = context; using (Blog blog = new Blog(context.BlogId)) UpdateFieldsForBlog(blog); ((IBlogPostEditor)categoryDropDown).Initialize(context, clientOptions); foreach (PropertyField field in fields) field.Initialize(context, clientOptions); } isDirty = false; }
public override IBlogClientOptions ConstructBlogOptions(IBlogClientOptions defaultOptions) { return(BlogClientOptions.ApplyOptionOverrides(new OptionReader(ReadProviderOption), defaultOptions)); }
public void OverrideOptions(IBlogClientOptions newClientOptions) { _clientOptions = newClientOptions; }
public static IBlogClientOptions ApplyOptionOverrides(OptionReader optionReader, IBlogClientOptions existingOptions) { return ApplyOptionOverrides(optionReader, existingOptions, true); }