Exemplo n.º 1
0
        public IList <BlogEntryDescriptor> GetBlogEntries(BlogDescriptor blogDescriptor)
        {
            var gateway = GetGateway(blogDescriptor);
            var result  = new List <BlogEntryDescriptor>();
            var blogId  = GetBlogId(gateway, blogDescriptor);

            if (!String.IsNullOrEmpty(blogId))
            {
                var posts = gateway.getRecentPosts(
                    blogId,
                    blogDescriptor.Username,
                    blogDescriptor.Password,
                    20);

                foreach (var post in posts)
                {
                    result.Add(
                        new BlogEntryDescriptor()
                    {
                        Content = post.description,
                        Date    = post.dateCreated,
                        Sender  = blogDescriptor.Username,
                        Subject = post.title
                    });
                }
            }

            return(result);
        }
Exemplo n.º 2
0
        private String GetFeedUri(BlogDescriptor blogDescriptor)
        {
            String feedUri = null;
            var    blogDescriptorExists = _descriptor2FeedUriMap.Keys.Contains(blogDescriptor);

            if (blogDescriptorExists)
            {
                feedUri = _descriptor2FeedUriMap[blogDescriptor];
            }

            if (String.IsNullOrEmpty(feedUri))
            {
                feedUri = GetFeedUriFromQuery(blogDescriptor);

                if (blogDescriptorExists)
                {
                    _descriptor2FeedUriMap[blogDescriptor] = feedUri;
                }
                else
                {
                    _descriptor2FeedUriMap.Add(blogDescriptor, feedUri);
                }
            }

            return(feedUri);
        }
Exemplo n.º 3
0
        public IList <BlogEntryDescriptor> GetBlogEntries(BlogDescriptor blogDescriptor)
        {
            var result = new List <BlogEntryDescriptor>();

            foreach (var item in GetGateway().GetEvents(
                         new GetEventsRequest()
            {
                Username = blogDescriptor.Username,
                Password = blogDescriptor.Password,
                HowMany = 20,
                LineEndings = GetLineEndings(),
                SelectType = "lastn",
                NoProps = true
            }).Events)
            {
                result.Add(
                    new BlogEntryDescriptor()
                {
                    Content = item.Content,
                    Sender  = String.IsNullOrEmpty(item.Poster) ? blogDescriptor.Username : item.Poster,
                    Subject = item.Subject,
                    Date    = DateTime.Parse(item.EventTime)
                });
            }

            return(result);
        }
Exemplo n.º 4
0
    public string CrossPost(string WebBlogID, string BlogService, string Username, string Password, string WPAddress)
    {
        string ErrorMessage = string.Empty;

        BlogDescriptor bDescr = new BlogDescriptor();

        bDescr.Username = Username;
        bDescr.Password = Password;

        BlogEntry blog = BlogEntry.GetBlogEntryByWebBlogEntryID(WebBlogID);

        if (blog == null)
        {
            throw new Exception("invalid blog entry");
        }

        try
        {
            switch (BlogService)
            {
            case "blogger":
                bDescr.BlogType = BlogType.Blogger;
                bDescr.Address  = "http://www.blogger.com";

                Service service = new Service("blogger", "");
                service.Credentials = new GDataCredentials(Username, Password);
                Uri       blogPostUri  = SelectUserBlog(service);
                AtomEntry createdEntry = PostNewEntry(service, blogPostUri, blog.Title, blog.Body);
                break;

            case "wordpress":
                bDescr.BlogType = BlogType.WordPress;
                bDescr.Address  = WPAddress;

                WordPressEngine wpe = new WordPressEngine();
                wpe.PublishNewEntry(bDescr, blog.Title, blog.Body);
                break;

            case "livejournal":
                bDescr.BlogType = BlogType.LiveJournal;
                bDescr.Address  = "http://www.livejournal.com";

                LiveJournalEngine lje = new LiveJournalEngine();
                lje.PublishNewEntry(bDescr, blog.Title, blog.Body);
                break;

            default:
                break;
            }
        }
        catch (Exception ex)
        {
            //ErrorMessage = ex.Message;
            ErrorMessage = "Could not login, please check your credentials";
        }

        return(ErrorMessage);
    }
Exemplo n.º 5
0
 private static MetaWeblogGateway GetGateway(BlogDescriptor blogDescriptor)
 {
     return(new MetaWeblogGateway()
     {
         Credentials = new NetworkCredential(blogDescriptor.Username, blogDescriptor.Password),
         KeepAlive = false,
         Url = blogDescriptor.Address
     });
 }
Exemplo n.º 6
0
 /// <summary>
 /// Creates a new instance of the <code>WizardFinishedEventArgs</code> class.
 /// </summary>
 /// <exception cref="ArgumentNullException">
 /// If the specified <code>blogDescriptor</code> is <code>null</code>.
 /// </exception>
 public WizardFinishedEventArgs(Boolean cancelled, BlogDescriptor blogDescriptor)
 {
     if (blogDescriptor == null)
     {
         throw new ArgumentNullException("blogDescriptor");
     }
     Cancelled      = cancelled;
     BlogDescriptor = blogDescriptor;
 }
Exemplo n.º 7
0
        private static String GetBlogId(MetaWeblogGateway gateway, BlogDescriptor blogDescriptor)
        {
            var blogs = gateway.getUsersBlogs("", blogDescriptor.Username, blogDescriptor.Password);

            if (blogs != null && blogs.Length > 0)
            {
                return(blogs[0].blogid);
            }
            return(null);
        }
Exemplo n.º 8
0
 /// <summary>
 /// </summary>
 /// <param name="blogDescriptor"></param>
 /// <exception cref="ArgumentNullException">
 /// If the specified <code>blogDescriptor</code> is <code>null</code>.
 /// </exception>
 public void Start(BlogDescriptor blogDescriptor)
 {
     if (blogDescriptor == null)
     {
         throw new ArgumentNullException("blogDescriptor");
     }
     if (_steps.Count == 0)
     {
         return;
     }
     _currentStepIndex = 0;
     _steps[_currentStepIndex].Show(_wizardOwner, blogDescriptor);
 }
Exemplo n.º 9
0
        public IList <BlogEntryDescriptor> GetBlogEntries(BlogDescriptor blogDescriptor)
        {
            if (blogDescriptor == null)
            {
                throw new ArgumentNullException("blogDescriptor");
            }

            try
            {
                return(GetBlogEntries(blogDescriptor, GetFeedUri(blogDescriptor)));
            }
            catch (gClient.GDataRequestException e)
            {
                Console.WriteLine(e.InnerException.Message);
                return(new List <BlogEntryDescriptor>());
            }
        }
Exemplo n.º 10
0
        protected override void PreviewShow(BlogDescriptor blogDescriptor)
        {
            var url = "http://www.blogger.com/feeds/default/blogs";

            switch (blogDescriptor.BlogType)
            {
            case BlogType.WordPress:
                url = "http://nickname.wordpress.com/xmlrpc.php";
                break;

            case BlogType.LiveJournal:
                url = "http://www.livejournal.com/interface/xmlrpc";
                break;
            }

            _addressTextBox.Text = url;
        }
Exemplo n.º 11
0
        private static String GetFeedUriFromQuery(BlogDescriptor blogDescriptor)
        {
            var query   = new gClient.FeedQuery(blogDescriptor.Address);
            var service = new gClient.Service("blogger", GoogleSucks.GetApplicationName())
            {
                Credentials = new gClient.GDataCredentials(blogDescriptor.Username, blogDescriptor.Password)
            };

            var bloggerFeed = service.Query(query);
            var feeds       = new List <gClient.AtomEntry>();

            while (bloggerFeed != null && bloggerFeed.Entries.Count > 0)
            {
                foreach (gClient.AtomEntry entry in bloggerFeed.Entries)
                {
                    feeds.Add(entry);
                }

                if (bloggerFeed.NextChunk != null)
                {
                    query.Uri   = new Uri(bloggerFeed.NextChunk);
                    bloggerFeed = service.Query(query);
                }
                else
                {
                    bloggerFeed = null;
                }
            }

            foreach (gClient.AtomEntry entry in feeds)
            {
                if (entry != null)
                {
                    foreach (gClient.AtomLink link in entry.Links)
                    {
                        if (link.Rel == gClient.BaseNameTable.ServiceFeed)
                        {
                            return(link.HRef.ToString());
                        }
                    }
                }
            }

            return(null);
        }
Exemplo n.º 12
0
        private void _composeButton_Click(Object sender, EventArgs e)
        {
            if (_blogList.SelectedNode != null)
            {
                BlogDescriptor blogDescriptor = (BlogDescriptor)_blogList.SelectedNode.Tag;

                using (var composeForm = new ComposeForm())
                {
                    if (composeForm.ShowDialog() == DialogResult.OK && !String.IsNullOrEmpty(composeForm.Message))
                    {
                        Cursor.Current = Cursors.WaitCursor;
                        BlogEngineFactory.GetEngine(blogDescriptor.BlogType).PublishNewEntry(blogDescriptor, composeForm.Title, composeForm.Message);
                        RefreshBlogEntries(blogDescriptor);
                        Cursor.Current = Cursors.Default;
                    }
                }
            }
        }
Exemplo n.º 13
0
 public DialogResult ShowDialog(BlogDescriptor blogDescriptor)
 {
     if (blogDescriptor == null)
     {
         throw new ArgumentNullException("blogDescriptor");
     }
     BlogDescriptor           = blogDescriptor;
     _blogAddressTextBox.Text = blogDescriptor.Address;
     _blogNameTextBox.Text    = blogDescriptor.BlogName;
     _passwordTextBox.Text    = blogDescriptor.Password;
     _usernameTextBox.Text    = blogDescriptor.Username;
     switch (blogDescriptor.BlogType)
     {
     default:
         _blogList.SelectedIndex = 0;
         break;
     }
     return(base.ShowDialog());
 }
Exemplo n.º 14
0
        public void PublishNewEntry(BlogDescriptor blogDescriptor, String title, String content)
        {
            var now = DateTime.Now;

            GetGateway().PostEvent(
                new PostRequest()
            {
                Username    = blogDescriptor.Username,
                Password    = blogDescriptor.Password,
                LineEndings = GetLineEndings(),
                Subject     = title,
                Content     = content,
                Year        = now.Year,
                Month       = now.Month,
                Day         = now.Day,
                Hour        = now.Hour,
                Minute      = now.Minute
            });
        }
Exemplo n.º 15
0
        private static IList <BlogEntryDescriptor> GetBlogEntries(BlogDescriptor blogDescriptor, String feedUri)
        {
            IList <BlogEntryDescriptor> result = new List <BlogEntryDescriptor>();

            if (feedUri != null)
            {
                var query   = new gClient.FeedQuery(feedUri);
                var service = new gClient.Service("blogger", GoogleSucks.GetApplicationName())
                {
                    Credentials = new gClient.GDataCredentials(blogDescriptor.Username, blogDescriptor.Password)
                };

                var bloggerFeed = service.Query(query);

                while (bloggerFeed != null && bloggerFeed.Entries.Count > 0)
                {
                    foreach (gClient.AtomEntry entry in bloggerFeed.Entries)
                    {
                        result.Add(
                            new BlogEntryDescriptor()
                        {
                            Content = entry.Content.Content,
                            Subject = entry.Title.Text,
                            Sender  = entry.Authors[0].Name,
                            Date    = entry.Published
                        });
                    }

                    if (bloggerFeed.NextChunk != null)
                    {
                        query.Uri   = new Uri(bloggerFeed.NextChunk);
                        bloggerFeed = service.Query(query);
                    }
                    else
                    {
                        bloggerFeed = null;
                    }
                }
            }

            return(result);
        }
Exemplo n.º 16
0
        public void PublishNewEntry(BlogDescriptor blogDescriptor, String title, String content)
        {
            var gateway = GetGateway(blogDescriptor);
            var blogId  = GetBlogId(gateway, blogDescriptor);

            if (!String.IsNullOrEmpty(blogId))
            {
                gateway.newPost(
                    blogId,
                    blogDescriptor.Username,
                    blogDescriptor.Password,
                    new Post()
                {
                    categories  = new[] { "Uncategorized" },
                    dateCreated = DateTime.Now,
                    description = content,
                    title       = title
                },
                    true);
            }
        }
Exemplo n.º 17
0
        private void RefreshBlogEntries(BlogDescriptor blogDescriptor)
        {
            var blogEntries = BlogEngineFactory.GetEngine(blogDescriptor.BlogType).GetBlogEntries(blogDescriptor);

            _blogEntries.BeginUpdate();
            _blogEntries.Items.Clear();
            foreach (BlogEntryDescriptor entry in blogEntries)
            {
                _blogEntries.Items.Add(
                    new ListViewItem(
                        new[] {
                    entry.Subject,
                    entry.Sender,
                    String.Format(CultureInfo.CurrentUICulture, "{0} {1}", entry.Date.ToShortDateString(), entry.Date.ToShortTimeString())
                })
                {
                    Tag = entry.Content
                });
            }
            _blogEntries.EndUpdate();
        }
Exemplo n.º 18
0
        public void PublishNewEntry(BlogDescriptor blogDescriptor, String title, String content)
        {
            if (blogDescriptor == null)
            {
                throw new ArgumentNullException("blogDescriptor");
            }
            if (String.IsNullOrEmpty(blogDescriptor.Username))
            {
                throw new ArgumentException("blogDescriptor.Username cannot be null or an empty string.");
            }

            var entry = new gClient.AtomEntry();

            entry.Content.Content = content;
            entry.Content.Type    = "html";
            entry.Title.Text      = title;

            var service = new gClient.Service("blogger", GoogleSucks.GetApplicationName());

            service.Credentials = new gClient.GDataCredentials(blogDescriptor.Username, blogDescriptor.Password);
            service.Insert(new Uri(GetFeedUri(blogDescriptor)), entry);
        }
Exemplo n.º 19
0
 protected virtual void PreviewShow(BlogDescriptor blogDescriptor)
 {
 }
Exemplo n.º 20
0
    public int CrossPost(string BlogService, string Username, string Password, string WPAddress, bool AutoSubmit)
    {
        member = (Member)Session["Member"];
        int Result = 0;

        BlogDescriptor bDescr = new BlogDescriptor();

        bDescr.Username = Username;
        bDescr.Password = Password;

        string Title = "Next2Friends test post";
        string Body  = "If you are reading this post then your username and password have been entered correctly";

        bool LoginOK = false;

        try
        {
            switch (BlogService)
            {
            case "blogger":
                bDescr.BlogType = BlogType.Blogger;
                bDescr.Address  = "http://www.blogger.com";
                Service service = new Service("blogger", "");
                service.Credentials = new GDataCredentials(Username, Password);
                Uri       blogPostUri  = SelectUserBlog(service);
                AtomEntry createdEntry = PostNewEntry(service, blogPostUri, Title, Body);
                LoginOK = true;
                break;

            case "wordpress":
                bDescr.BlogType = BlogType.WordPress;
                bDescr.Address  = WPAddress;

                WordPressEngine wpe = new WordPressEngine();
                wpe.PublishNewEntry(bDescr, Title, Body);
                LoginOK = true;
                break;

            case "livejournal":
                bDescr.BlogType = BlogType.LiveJournal;
                bDescr.Address  = "http://www.livejournal.com";

                LiveJournalEngine lje = new LiveJournalEngine();
                lje.PublishNewEntry(bDescr, Title, Body);
                LoginOK = true;
                break;

            default:
                break;
            }

            Result = 0;
        }
        catch (Exception ex)
        {
            Result = 1;
        }

        //if (LoginOK)
        if (true) // always save
        {
            MemberBlogSettings memberBlogSettings = MemberBlogSettings.GetMemberBlogSettingsByMemberID(member.MemberID);

            switch (BlogService)
            {
            case "blogger":
                memberBlogSettings.BloggerUserName   = Username;
                memberBlogSettings.BloggerPassword   = Password;
                memberBlogSettings.BloggerAutoSubmit = AutoSubmit;
                break;

            case "wordpress":
                memberBlogSettings.WordPressUserName   = Username;
                memberBlogSettings.WordPressPassword   = Password;
                memberBlogSettings.WordPressURL        = WPAddress;
                memberBlogSettings.WordPressAutoSubmit = AutoSubmit;
                break;

            case "livejournal":
                memberBlogSettings.LiveJournalUserName   = Username;
                memberBlogSettings.LiveJournalPassword   = Password;
                memberBlogSettings.LiveJournalAutoSubmit = AutoSubmit;
                break;

            default:
                break;
            }

            memberBlogSettings.Save();
        }

        return(Result);
    }
Exemplo n.º 21
0
 void IWizardStep.Show(Form wizardOwner, BlogDescriptor blogDescriptor)
 {
     BlogDescriptor = blogDescriptor;
     PreviewShow(blogDescriptor);
     Show(wizardOwner);
 }