BlogEngine - MultiPost v0.1.4

Обновил расширение для BlogEngine позволяющее постить одновременно сразу в несколько блогомест. Качать архив файлов тут. Архив содержит 3 вещи, которые нужно поместить в корень вашего блога заменив старое - 1) папку admin с измененным файлом Settings, я там исправил ошибку с редактированием настроек 2) папку App_Code - в ней содержится код расширения, который вы сможете поправить, если нужно 3) Папку bin, которая содержит библиотеку BlogsAPI, в которой реализована работа с основными(lj,liru,yaru,blogsmail) блогохостингами.

Не забудте внести изменения в web.config, как я писал ранее, а то не будет работать с Яндексом.

Сейчас там реализовано копирование постов на Лиру и Яру. Но если есть желание, то можно дописать свой класс для копирования постов куда угодно, который имеет интерфейс IBlogHosting и поместить его в namespace MultiPostExtension.Blogs:
Copy Source | Copy HTML
  1. public interface IBlogHosting
  2.     {
  3.         /// <summary>
  4.         /// NameOf
  5.         /// </summary>
  6.         String Name
  7.         {
  8.             get;
  9.         }
  10.  
  11.         /// <summary>
  12.         /// Settings
  13.         /// </summary>
  14.         SettingsCollection Defaults();
  15.  
  16.  
  17.         /// <summary>
  18.         /// Logging action
  19.         /// </summary>
  20.         /// <returns>isSuccess</returns>
  21.         Boolean PublishItem(IPublishable post);
  22.  
  23.     }

В моем случае реализация для Лиру выглядит достаточно просто:
Copy Source | Copy HTML
  1. namespace MultiPostExtension.Blogs
  2. {
  3.  
  4.     #region using
  5.  
  6.     using System;
  7.     using System.IO;
  8.     using System.Web;
  9.     using System.Net;
  10.     using System.Text;
  11.     using BlogEngine.Core;
  12.     using BlogEngine.Core.Web.Controls;
  13.     using System.Threading;
  14.     using BlogsAPI;
  15.  
  16.     #endregion
  17.  
  18. /// <summary>
  19. /// Design a post to somewhere
  20. /// </summary>
  21.     public class LiveInternet : BlogHosting, IBlogHosting
  22.     {
  23.         /// <summary>
  24.         /// NameOf
  25.         /// </summary>
  26.         public String Name
  27.         {
  28.             get
  29.             {
  30.                 return "LiveInternet";
  31.             }
  32.         }
  33.  
  34.         /// <summary>
  35.         /// Defs
  36.         /// </summary>
  37.         /// <returns></returns>
  38.         public SettingsCollection Defaults()
  39.         {
  40.             SettingsCollection sc = new SettingsCollection();
  41.             sc.Add("true");
  42.             sc.Add(" ");
  43.             sc.Add(this.Name);
  44.             sc.Add("flashr");
  45.             sc.Add("");
  46.             sc.Add("noneed");
  47.             sc.Add("1");
  48.             sc.Add(PostType.Public.ToString());
  49.             return sc;
  50.         }
  51.  
  52.         /// <summary>
  53.         /// Constructor with params
  54.         /// </summary>
  55.         /// <param name="sets"></param>
  56.         public LiveInternet(SettingsCollection settings)
  57.         {
  58.             this.Hostname = "liveinternet.ru";
  59.             this.blogSettings = settings;
  60.         }
  61.  
  62.         /// <summary>
  63.         /// Making it published
  64.         /// </summary>
  65.         /// <param name="post">Object of Post</param>
  66.         public Boolean PublishItem(IPublishable post)
  67.         {
  68.             Boolean bRet = false;
  69.             if (this.AttemptsCount++ < this.blogSettings.Attempts)
  70.             {
  71.                 if (this.MakePost(post))
  72.                 {
  73.                     bRet = true;
  74.                 }
  75.             }
  76.             else
  77.             {
  78.                 throw new NotSupportedException("Too many fails for " + post.Title);
  79.             }
  80.             return bRet;
  81.         }
  82.  
  83.         /// <summary>
  84.         /// Hidden actions 
  85.         /// </summary>
  86.         /// <param name="post">Published content</param>
  87.         /// <returns></returns>
  88.         private Boolean MakePost(IPublishable post)
  89.         {
  90.             BlogPost blogPost = new BlogPost(){
  91.                  Subject = post.Title,
  92.                  Body = post.Content,
  93.                  type = post.IsPublished?PostType.Public:PostType.Private
  94.             };
  95.             //adding tags
  96.             blogPost.Attributes.Add(new PostAttribute(PostParams.Tags.ToString(),GetTags(post.Categories)));
  97.  
  98.             BlogsAPI.Sites.Liveinternet liru = new BlogsAPI.Sites.Liveinternet();
  99.             return liru.MakePost(new UserAccaunt(
  100.                 this.blogSettings.Login,
  101.                 this.blogSettings.Password
  102.                 ), blogPost
  103.                 ).Success;
  104.         }
  105.     }
  106. }

Метки:   Категории:Blogs | BlogEngine | Code


blog comments powered by Disqus

Добавить комментарий

Кто я?

Программист. Я слежу за блогосферой и знаю, как будет развиваться интернет. Когда у меня есть время я даже прилагаю для этого усилия. Подробнее

Последние комментарии

Не отображать

Topbot at FeedsBurner

Облако тэгов

Мои Твиты

Twitter марта 20, 20:32
⚫️Тематика черного цвета для России http://dlvr.it/R1DKm7 https://twitter.com/f1ashr/status/1108466259765555200/photo/1

Twitter марта 20, 20:32
Автоматическое информирование о выходе новых сезонов http://dlvr.it/R1DKlZ

Twitter марта 20, 20:32
Голосовой набор тэгов http://dlvr.it/R1DKlv

Twitter марта 19, 20:27
Ради дружбы с Индией http://dlvr.it/R18YMd

Twitter марта 19, 20:27
Вконтакте 7 лет http://dlvr.it/R18YKm

Twitter марта 19, 20:27
Разбор фильма Дивергент2 Инсургент http://dlvr.it/R18YLy https://twitter.com/f1ashr/status/1108102729656762369/photo/1

Twitter марта 15, 12:51
Фильтр по стране на Ютубе http://dlvr.it/R0tgZq https://twitter.com/f1ashr/status/1106538299487739905/photo/1

Twitter марта 14, 12:25
Роскомнадзор и Криптовалюты http://dlvr.it/R0pqG6

Twitter марта 5, 19:59
Россияне встречают рассвет индийской йогой http://dlvr.it/R0DszD https://twitter.com/f1ashr/status/1103022131506425856/photo/1

Twitter февраля 24, 09:53
Что интересного есть в греческом языке? http://dlvr.it/QzZ2dK

Twitter февраля 24, 09:53
Ретро-поезд на угле с надписью СССР http://dlvr.it/QzZ2cT https://twitter.com/f1ashr/status/1099608139756843009/photo/1

Twitter февраля 24, 09:53
Следующий шаг криптовалют http://dlvr.it/QzZ2Y4 https://twitter.com/f1ashr/status/1099608134694256641/photo/1

Twitter февраля 23, 09:49
Рутин тутин Путин http://dlvr.it/QzWBXG

Twitter февраля 23, 09:49
Индия: Чем славится индийская культура? http://dlvr.it/QzWBVK https://twitter.com/f1ashr/status/1099244865022357506/photo/1

Twitter февраля 23, 09:49
Главное изменение в Твиттере http://dlvr.it/QzWBX9

Twitter февраля 12, 09:04
Роскомнадзор достучался до Azure http://dlvr.it/QyjSPS

Twitter февраля 6, 07:58
Про жизнь в Южной Осетии http://dlvr.it/QyHTwx

Twitter февраля 6, 07:58
Хиллари против Трампа в Америке и приход женщин во власть http://dlvr.it/QyHTxG https://twitter.com/f1ashr/status/1093056334906281985/photo/1

Twitter февраля 6, 07:58
Powering Down Google Reader http://dlvr.it/QyHTvM

Twitter февраля 4, 22:48
Разбор сериала Медичи: Повелители Флоренции http://dlvr.it/QyBKWh https://twitter.com/f1ashr/status/1092555544953466880/photo/1

Мой твиттер

Копирайт

Все мысли, высказанные в блоге, являются моим мнением и за это мнение меня никто не забанит! Кроме того, никто не имеет право копировать материалы блога без использования ctrl+C/V!

© Copyright 2008