87 lines
2.1 KiB
C#
87 lines
2.1 KiB
C#
using System;
|
|
using System.Configuration;
|
|
using System.IO;
|
|
using System.Xml;
|
|
using BlogServer.Model;
|
|
|
|
namespace BlogServer
|
|
{
|
|
public class BlogConfig
|
|
{
|
|
private readonly Blog _blog;
|
|
private readonly string _blogId;
|
|
private readonly string _blogName;
|
|
private readonly string _homepageUrl;
|
|
private readonly string _username;
|
|
private readonly string _password;
|
|
private readonly string _uploadPath;
|
|
private readonly string _uploadDir;
|
|
|
|
public BlogConfig(XmlElement configEl)
|
|
{
|
|
_homepageUrl = XmlUtil.ReadString(configEl, "homepageUrl", null);
|
|
if (_homepageUrl == null)
|
|
throw new ConfigurationException(GetType().FullName + " property class requires a 'homepageUrl' subelement");
|
|
|
|
string path = XmlUtil.ReadPath(configEl, "path", null);
|
|
if (path == null)
|
|
throw new ConfigurationException(GetType().FullName + " property class requires a 'path' subelement");
|
|
|
|
_blog = new XmlBlog(path);
|
|
_blogId = XmlUtil.ReadString(configEl, "id", Path.GetFileNameWithoutExtension(path));
|
|
_blogName = XmlUtil.ReadString(configEl, "displayName", _blogId);
|
|
|
|
_username = XmlUtil.ReadString(configEl, "username", string.Empty);
|
|
_password = XmlUtil.ReadString(configEl, "password", string.Empty);
|
|
|
|
_uploadPath = XmlUtil.ReadString(configEl, "uploadPath", null);
|
|
_uploadDir = XmlUtil.ReadPath(configEl, "uploadDir", null);
|
|
if (_uploadPath != null ^ _uploadDir != null)
|
|
{
|
|
throw new ConfigurationException(GetType().FullName +
|
|
" property class requires uploadPath and uploadDir to both be present to support newMediaObject");
|
|
}
|
|
}
|
|
|
|
public Blog Blog
|
|
{
|
|
get { return _blog; }
|
|
}
|
|
|
|
public string BlogId
|
|
{
|
|
get { return _blogId; }
|
|
}
|
|
|
|
public string HomepageUrl
|
|
{
|
|
get { return _homepageUrl; }
|
|
}
|
|
|
|
public string BlogName
|
|
{
|
|
get { return _blogName; }
|
|
}
|
|
|
|
public bool CheckUsername(string username)
|
|
{
|
|
return _username == username;
|
|
}
|
|
|
|
public bool CheckPassword(string password)
|
|
{
|
|
return _password == password;
|
|
}
|
|
|
|
public string UploadPath
|
|
{
|
|
get { return _uploadPath; }
|
|
}
|
|
|
|
public string UploadDir
|
|
{
|
|
get { return _uploadDir; }
|
|
}
|
|
}
|
|
}
|