示例#1
0
        /// <summary>
        /// Loads site configuration from blog settings
        /// </summary>
        /// <param name="blogCredentials">An IBlogSettingsAccessor</param>
        public void LoadFromBlogSettings(IBlogSettingsAccessor blogSettings)
        {
            LoadFromCredentials(blogSettings.Credentials);

            SiteUrl   = blogSettings.HomepageUrl;
            SiteTitle = blogSettings.BlogName;
        }
示例#2
0
        /// <summary>
        /// Create a new StaticSiteConfig instance and loads site configuration from blog settings
        /// </summary>
        /// <param name="blogCredentials">An IBlogSettingsAccessor</param>
        public static StaticSiteConfig LoadConfigFromBlogSettings(IBlogSettingsAccessor blogSettings)
        {
            var config = new StaticSiteConfig();

            config.LoadFromBlogSettings(blogSettings);
            return(config);
        }
示例#3
0
 public static WinInetCredentialsContext GetCredentialsContext(string blogId, string url)
 {
     using (BlogSettings blogSettings = BlogSettings.ForBlogId(blogId))
     {
         IBlogSettingsAccessor settings = blogSettings as IBlogSettingsAccessor;
         return(GetCredentialsContext(BlogClientManager.CreateClient(settings), settings.Credentials, url));
     }
 }
示例#4
0
 /// <summary>
 /// Helper for showing the FTP settings dialog which also takes care of clearing the cached credentials.
 /// </summary>
 /// <param name="owner"></param>
 /// <param name="blogSettings"></param>
 /// <returns></returns>
 public static DialogResult ShowFTPSettingsForm(IWin32Window owner, IBlogSettingsAccessor blogSettings)
 {
     using (FTPSettingsForm settingsForm = new FTPSettingsForm(new FtpUploaderSettings(blogSettings.FileUploadSettings)))
     {
         using (new WaitCursor())
         {
             DialogResult result = settingsForm.ShowDialog(owner);
             if (result == DialogResult.OK)
             {
                 //be sure to clear the cached FTP credentials
                 FTPBlogFileUploader.ClearCachedCredentials(blogSettings.Id);
             }
             return(result);
         }
     }
 }
        public static BlogEditingTemplateFile[] DetectTemplate(IBlogClientUIContext uiContext, Control parentControl, IBlogSettingsAccessor blogSettings, bool probeForManifest, out Color? postBodyBackgroundColor)
        {
            postBodyBackgroundColor = null;

            try
            {
                // create a new detector
                BlogEditingTemplateDetector detector = new BlogEditingTemplateDetector(uiContext, parentControl, blogSettings, probeForManifest);

                // execute with a progress dialog
                ProgressHelper.ExecuteWithProgress(
                    Res.Get(StringId.DownloadingWeblogStyle),
                    new ProgressOperation(detector.DetectTemplate),
                    uiContext,
                    uiContext);

                // propagate exception
                if (detector.ExceptionOccurred)
                    throw detector.Exception;

                postBodyBackgroundColor = detector.PostBodyBackgroundColor;
                // return the template
                return detector.BlogTemplateFiles;
            }
            catch (OperationCancelledException)
            {
                return new BlogEditingTemplateFile[0];
            }
            catch (BlogClientOperationCancelledException)
            {
                Debug.WriteLine("BlogClient operation cancelled");
                return new BlogEditingTemplateFile[0];
            }
            catch (Exception e)
            {
                Trace.Fail("Error occurred while downloading weblog style" + e.ToString());
                DisplayMessage.Show(MessageId.TemplateDownloadFailed);
                return new BlogEditingTemplateFile[0];
            }

        }
 public static IBlogClient CreateClient(IBlogSettingsAccessor settings)
 {
     return(CreateClient(settings.ClientType, settings.PostApiUrl, settings.Credentials, settings.ProviderId, settings.OptionOverrides, settings.UserOptionOverrides, settings.HomePageOverrides));
 }
示例#7
0
 public Blog(IBlogSettingsAccessor accessor)
 {
     _settings = accessor;
 }
        public BlogEditingTemplateDetector(IBlogClientUIContext uiContext, Control parentControl, IBlogSettingsAccessor blogSettings, bool probeForManifest)
            : this(uiContext, parentControl)
        {
            BlogAccount blogAccount     = new BlogAccount(blogSettings.ServiceName, blogSettings.ClientType, blogSettings.PostApiUrl, blogSettings.HostBlogId);
            string      blogTemplateDir = BlogEditingTemplate.GetBlogTemplateDir(blogSettings.Id);

            SetContext(blogAccount, blogSettings.Credentials, blogSettings.HomepageUrl, blogTemplateDir, blogSettings.ManifestDownloadInfo, probeForManifest, blogSettings.ProviderId, blogSettings.OptionOverrides, blogSettings.UserOptionOverrides, blogSettings.HomePageOverrides);
        }
        public static BlogEditingTemplateFile[] DetectTemplate(IBlogClientUIContext uiContext, Control parentControl, IBlogSettingsAccessor blogSettings, bool probeForManifest, out Color?postBodyBackgroundColor)
        {
            postBodyBackgroundColor = null;

            try
            {
                // create a new detector
                BlogEditingTemplateDetector detector = new BlogEditingTemplateDetector(uiContext, parentControl, blogSettings, probeForManifest);

                // execute with a progress dialog
                ProgressHelper.ExecuteWithProgress(
                    Res.Get(StringId.DownloadingWeblogStyle),
                    new ProgressOperation(detector.DetectTemplate),
                    uiContext,
                    uiContext);

                // propagate exception
                if (detector.ExceptionOccurred)
                {
                    throw detector.Exception;
                }

                postBodyBackgroundColor = detector.PostBodyBackgroundColor;
                // return the template
                return(detector.BlogTemplateFiles);
            }
            catch (OperationCancelledException)
            {
                return(new BlogEditingTemplateFile[0]);
            }
            catch (BlogClientOperationCancelledException)
            {
                Debug.WriteLine("BlogClient operation cancelled");
                return(new BlogEditingTemplateFile[0]);
            }
            catch (Exception e)
            {
                Trace.Fail("Error occurred while downloading weblog style" + e.ToString());
                DisplayMessage.Show(MessageId.TemplateDownloadFailed);
                return(new BlogEditingTemplateFile[0]);
            }
        }
        /// <summary>
        /// Helper for showing the FTP settings dialog which also takes care of clearing the cached credentials.
        /// </summary>
        /// <param name="owner"></param>
        /// <param name="blogSettings"></param>
        /// <returns></returns>
        public static DialogResult ShowFTPSettingsForm(IWin32Window owner, IBlogSettingsAccessor blogSettings)
        {
            using (FTPSettingsForm settingsForm = new FTPSettingsForm(new FtpUploaderSettings(blogSettings.FileUploadSettings)))
            {
                using (new WaitCursor())
                {
                    DialogResult result = settingsForm.ShowDialog(owner);
                    if (result == DialogResult.OK)
                    {
                        //be sure to clear the cached FTP credentials
                        FTPBlogFileUploader.ClearCachedCredentials(blogSettings.Id);
                    }
                    return result;
                }
            }

        }
示例#11
0
 public BlogServiceDetector(IBlogClientUIContext uiContext, Control hiddenBrowserParentControl, IBlogSettingsAccessor blogSettings, IBlogCredentialsAccessor credentials)
     : base(uiContext, hiddenBrowserParentControl, blogSettings.Id, blogSettings.HomepageUrl, credentials)
 {
     _blogSettings = blogSettings;
 }
示例#12
0
 public Blog(IBlogSettingsAccessor accessor)
 {
     _settings = accessor;
 }
 public BlogServiceDetector(IBlogClientUIContext uiContext, Control hiddenBrowserParentControl, IBlogSettingsAccessor blogSettings, IBlogCredentialsAccessor credentials)
     : base(uiContext, hiddenBrowserParentControl, blogSettings.Id, blogSettings.HomepageUrl, credentials)
 {
     _blogSettings = blogSettings;
 }
 public static IBlogClient CreateClient(IBlogSettingsAccessor settings)
 {
     return CreateClient(settings.ClientType, settings.PostApiUrl, settings.Credentials, settings.ProviderId, settings.OptionOverrides, settings.UserOptionOverrides, settings.HomePageOverrides);
 }
 public BlogEditingTemplateDetector(IBlogClientUIContext uiContext, Control parentControl, IBlogSettingsAccessor blogSettings, bool probeForManifest)
     : this(uiContext, parentControl)
 {
     BlogAccount blogAccount = new BlogAccount(blogSettings.ServiceName, blogSettings.ClientType, blogSettings.PostApiUrl, blogSettings.HostBlogId);
     string blogTemplateDir = BlogEditingTemplate.GetBlogTemplateDir(blogSettings.Id);
     SetContext(blogAccount, blogSettings.Credentials, blogSettings.HomepageUrl, blogTemplateDir, blogSettings.ManifestDownloadInfo, probeForManifest, blogSettings.ProviderId, blogSettings.OptionOverrides, blogSettings.UserOptionOverrides, blogSettings.HomePageOverrides);
 }