using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace yaf.pages.admin
{
///
/// Summary description for smilies_import.
///
public partial class smilies_import : AdminPage
{
protected void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
PageLinks.AddLink(BoardSettings.Name,Forum.GetLink(Pages.forum));
PageLinks.AddLink("Administration",Forum.GetLink(Pages.admin_admin));
PageLinks.AddLink("Smilies Import","");
BindData();
}
}
private void BindData()
{
using(DataTable dt = new DataTable("Files"))
{
dt.Columns.Add("FileID",typeof(long));
dt.Columns.Add("FileName",typeof(string));
DataRow dr = dt.NewRow();
dr["FileID"] = 0;
dr["FileName"] = "Select File (*.pak)";
dt.Rows.Add(dr);
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(Request.MapPath(String.Format("{0}images/emoticons",Data.ForumRoot)));
System.IO.FileInfo[] files = dir.GetFiles("*.pak");
long nFileID = 1;
foreach(System.IO.FileInfo file in files)
{
dr = dt.NewRow();
dr["FileID"] = nFileID++;
dr["FileName"] = file.Name;
dt.Rows.Add(dr);
}
File.DataSource = dt;
File.DataValueField = "FileID";
File.DataTextField = "FileName";
}
DataBind();
}
private void import_Click(object sender, System.EventArgs e)
{
if(long.Parse(File.SelectedValue)<1)
{
AddLoadMessage("You must select a .pak file to import.");
return;
}
string sFileName = Request.MapPath(String.Format("{0}images/emoticons/{1}",Data.ForumRoot,File.SelectedItem.Text));
string sSplit = System.Text.RegularExpressions.Regex.Escape("=+:");
using(System.IO.StreamReader file = new System.IO.StreamReader(sFileName))
{
// Delete existing smilies?
if(DeleteExisting.Checked)
DB.smiley_delete(null);
do
{
string sLine = file.ReadLine();
if(sLine==null)
break;
string[] split = System.Text.RegularExpressions.Regex.Split(sLine, sSplit, System.Text.RegularExpressions.RegexOptions.None);
if(split.Length==3)
DB.smiley_save(null,PageBoardID,split[2],split[0],split[1],0);
} while(true);
file.Close();
}
Forum.Redirect(Pages.admin_smilies);
}
private void cancel_Click(object sender, System.EventArgs e)
{
Forum.Redirect(Pages.admin_smilies);
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
import.Click += new System.EventHandler(import_Click);
cancel.Click += new System.EventHandler(cancel_Click);
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
}
#endregion
}
}