using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; public partial class Admin_Background_Style : System.Web.UI.Page { DBAccess.DBAccess ClSqlCmd; public void Page_Load(object sender, EventArgs e) { ClSqlCmd = new DBAccess.DBAccess(System.Configuration.ConfigurationSettings.AppSettings["SE_ConnectionString"]); /////////////////////////////////////////////////////////////////////////// if (!Page.IsPostBack) { GetData(); } } private Size NewthumbSize(int currentwidth, int currentheight, int MaxWH) { //Calculate the Size of the New image Double tempMultiplier; Size NewSize = new Size(); if (currentheight > currentwidth) // portrait { if (currentheight > MaxWH) { NewSize = new Size(Convert.ToInt32(currentwidth * MaxWH / currentheight), Convert.ToInt32(currentheight * MaxWH / currentheight)); } else { NewSize = new Size(Convert.ToInt32(currentwidth), Convert.ToInt32(currentheight)); } } else { if (currentwidth > MaxWH) { NewSize = new Size(Convert.ToInt32(currentwidth * MaxWH / currentwidth), Convert.ToInt32(currentheight * MaxWH / currentwidth)); } else { NewSize = new Size(Convert.ToInt32(currentwidth), Convert.ToInt32(currentheight)); } } return NewSize; } private string ImgRes_Save(string filepath, string id, int MaxWH) { System.Drawing.Image g = System.Drawing.Image.FromFile(filepath); ImageFormat thisFormat = g.RawFormat; Size thumbSize = new Size(); thumbSize = NewthumbSize(g.Width, g.Height, MaxWH); //create a new Bitmap the size of the new image Bitmap imgOutput = new Bitmap(thumbSize.Width, thumbSize.Height); //create a new graphic from the Bitmap Graphics graphic = Graphics.FromImage((System.Drawing.Image)imgOutput); graphic.SmoothingMode = SmoothingMode.HighQuality; graphic.InterpolationMode = InterpolationMode.HighQualityBicubic; graphic.PixelOffsetMode = PixelOffsetMode.HighQuality; //draw the newly resized image graphic.DrawImage(g, 0, 0, thumbSize.Width, thumbSize.Height); System.IO.FileStream fs = new FileStream(Request.MapPath("") + "\\Photos_Swfs\\" + id.ToString() + "_" + MaxWH.ToString() + filepath.Substring(filepath.LastIndexOf(".")), FileMode.OpenOrCreate); //imgOutput.Save(Response.OutputStream, thisFormat); //output to the user imgOutput.Save(fs, thisFormat); //output to the user //tidy up //dispose and free up the resources graphic.Dispose(); g.Dispose(); imgOutput.Dispose(); fs.Dispose(); g = null; return id.ToString() + "_" + MaxWH.ToString() + filepath.Substring(filepath.LastIndexOf(".")); } void GetData() { DataSet DS = ClSqlCmd.DataSetSel(@" SELECT [ModuleStyle_ID] ,[" + Request.Params["T"].Trim().Replace("'", "''") + @"_BackGround_ID] FROM [dbo].[__StandardEngine_T_ModuleStyles] where [Module_ID]=" + System.Configuration.ConfigurationSettings.AppSettings["SE_ModuleID"]); if (DS.Tables.Count > 0 && DS.Tables[0].Rows.Count > 0) { DataSet DS_Sub = new DataSet(); if (DS.Tables[0].Rows[0][Request.Params["T"].Trim().Replace("'", "''") + "_BackGround_ID"] != Convert.DBNull) { #region Get Data DS_Sub = ClSqlCmd.DataSetSel(@" SELECT [BackGround_ID] ,[background_color] ,[background_image] ,[background_repeat] ,[background_position_Hor] ,[background_position_Ver] ,[background_attachment] FROM [dbo].[__StandardEngine_T_BackGround] where [BackGround_ID]=" + DS.Tables[0].Rows[0][Request.Params["T"].Trim().Replace("'", "''") + "_BackGround_ID"].ToString()); #endregion #region Set Data if (DS_Sub.Tables.Count > 0 && DS_Sub.Tables[0].Rows.Count > 0) { if (DS_Sub.Tables[0].Rows[0]["background_color"] != Convert.DBNull) txt_background_color.Value = DS_Sub.Tables[0].Rows[0]["background_color"].ToString(); if (DS_Sub.Tables[0].Rows[0]["background_image"] != Convert.DBNull && DS_Sub.Tables[0].Rows[0]["background_image"].ToString() != "") { hdn_background_image.Value = DS_Sub.Tables[0].Rows[0]["background_image"].ToString(); img_background_image.ImageUrl = "../Photos_Swfs/" + DS_Sub.Tables[0].Rows[0]["background_image"].ToString(); tr_background_image.Visible = true; } else { hdn_background_image.Value = ""; img_background_image.ImageUrl = ""; tr_background_image.Visible = false; } if (DS_Sub.Tables[0].Rows[0]["background_repeat"] != Convert.DBNull) ddl_background_repeat.Value = DS_Sub.Tables[0].Rows[0]["background_repeat"].ToString(); if (DS_Sub.Tables[0].Rows[0]["background_position_Hor"] != Convert.DBNull) ddl_background_position_Hor.Value = DS_Sub.Tables[0].Rows[0]["background_position_Hor"].ToString(); if (DS_Sub.Tables[0].Rows[0]["background_position_Ver"] != Convert.DBNull) ddl_background_position_Ver.Value = DS_Sub.Tables[0].Rows[0]["background_position_Ver"].ToString(); if (DS_Sub.Tables[0].Rows[0]["background_attachment"] != Convert.DBNull) ddl_background_attachment.Value = DS_Sub.Tables[0].Rows[0]["background_attachment"].ToString(); } #endregion } } } protected void Button1_Click(object sender, EventArgs e) { DataSet DS = ClSqlCmd.DataSetSel(@" SELECT [ModuleStyle_ID] ,[" + Request.Params["T"].Trim().Replace("'", "''") + @"_BackGround_ID] FROM [dbo].[__StandardEngine_T_ModuleStyles] where [Module_ID]=" + System.Configuration.ConfigurationSettings.AppSettings["SE_ModuleID"]); if (DS.Tables.Count < 0 || DS.Tables[0].Rows.Count <= 0) { #region Insert New ModuleStyles ClSqlCmd.CommandExc(@" Insert into [dbo].[__StandardEngine_T_ModuleStyles] ( [ModuleStyle_ID] ,[Module_ID] ) values ( dbo.__StandardEngine_F_MaxID_ModuleStyles()+1 ," + System.Configuration.ConfigurationSettings.AppSettings["SE_ModuleID"] + @" )"); #endregion } else { #region Update in current ModuleStyles to NULL ClSqlCmd.CommandExc(@" update [dbo].[__StandardEngine_T_ModuleStyles] set [" + Request.Params["T"].Trim().Replace("'", "''") + @"_BackGround_ID]=NULL where [Module_ID]=" + System.Configuration.ConfigurationSettings.AppSettings["SE_ModuleID"]); #endregion //////////////////////////////////////////////////////////////////// if (DS.Tables[0].Rows[0][Request.Params["T"].Trim().Replace("'", "''") + "_BackGround_ID"] != Convert.DBNull) { #region Delete Current ClSqlCmd.CommandExc(@" Delete FROM [dbo].[__StandardEngine_T_BackGround] where [BackGround_ID]=" + DS.Tables[0].Rows[0][Request.Params["T"].Trim().Replace("'", "''") + "_BackGround_ID"].ToString()); #endregion } } #region Variables string str_BackGround_ID; string str_background_color; string str_background_image; string str_background_repeat; string str_background_position_Hor; string str_background_position_Ver; string str_background_attachment; #endregion //Get template style text string str_Style_Txt = System.IO.File.ReadAllText(Request.MapPath("") + "/../Templates/Background.css"); str_Style_Txt = str_Style_Txt.Replace("", Request.Params["T"].Trim().Replace("'", "''")); #region Deal with Prev BG File // Delete current banner file if (fil_background_image.Value != "" && img_background_image.ImageUrl != "") { try { System.IO.File.Delete(Request.MapPath("") + "\\" + img_background_image.ImageUrl); } catch { } } if (cb_background_image_Delete.Checked && img_background_image.ImageUrl != "") { try { System.IO.File.Delete(Request.MapPath("") + "\\" + img_background_image.ImageUrl); } catch { } } #endregion //Save new BG file #region Save BG File str_background_image=""; if (fil_background_image.Value != "") { #region Upload file if (fil_background_image.Value != "") { System.Web.UI.HtmlControls.HtmlInputFile File = fil_background_image; string str_fil_PicFileName = "BGPhoto_" + System.Configuration.ConfigurationSettings.AppSettings["SE_ModuleID"] + fil_background_image.PostedFile.FileName.Substring(fil_background_image.PostedFile.FileName.LastIndexOf(".")); File.PostedFile.SaveAs(Request.MapPath("") + "\\..\\Photos_Swfs\\" + str_fil_PicFileName); //str_Photo_URL_Large = "N'" + ImgRes_Save(Request.MapPath("") + "\\..\\Photos_Swfs\\" + str_fil_PicFileName, str_Photo_ID + fil_Photo_URL_Large.PostedFile.FileName.Substring(fil_Photo_URL_Large.PostedFile.FileName.LastIndexOf(".")), 1000) + "'"; hdn_background_image.Value = "url(../Photos_Swfs/" + str_fil_PicFileName + ")"; str_background_image = "N'" + str_fil_PicFileName + "'"; //System.IO.File.Delete(Request.MapPath("") + "\\..\\Photos_Swfs\\" + str_fil_PicFileName); } #endregion } else if (!cb_background_image_Delete.Checked && hdn_background_image.Value != "") { str_background_image = "N'" + hdn_background_image.Value + "'"; hdn_background_image.Value = "url(../Photos_Swfs/" + hdn_background_image.Value + ")"; } else { str_background_image = "NULL"; hdn_background_image.Value = "none"; } #endregion #region Insert _BackGround_ID str_BackGround_ID = ClSqlCmd.DataSetSel("select dbo.__StandardEngine_F_MaxID_BackGround()+1").Tables[0].Rows[0][0].ToString(); str_background_color = txt_background_color.Value!=""? ("N'" + txt_background_color.Value.Replace("'","''") + "'"):"NULL"; str_background_repeat = "N'" + ddl_background_repeat.Value + "'"; str_background_position_Hor = "N'" + ddl_background_position_Hor.Value + "'"; str_background_position_Ver = "N'" + ddl_background_position_Ver.Value + "'"; str_background_attachment = "N'" + ddl_background_attachment.Value + "'"; ClSqlCmd.CommandExc(@" INSERT INTO [dbo].[__StandardEngine_T_BackGround] ([BackGround_ID] ,[background_color] ,[background_image] ,[background_repeat] ,[background_position_Hor] ,[background_position_Ver] ,[background_attachment]) VALUES ( " + str_BackGround_ID + @", " + str_background_color + @", " + str_background_image + @", " + str_background_repeat + @", " + str_background_position_Hor + @", " + str_background_position_Ver + @", " + str_background_attachment + @" )"); #region Update style text str_Style_Txt = str_Style_Txt.Replace("", txt_background_color.Value); str_Style_Txt = str_Style_Txt.Replace("", hdn_background_image.Value); str_Style_Txt = str_Style_Txt.Replace("", ddl_background_repeat.Value); str_Style_Txt = str_Style_Txt.Replace("", ddl_background_position_Hor.Value); str_Style_Txt = str_Style_Txt.Replace("", ddl_background_position_Ver.Value); str_Style_Txt = str_Style_Txt.Replace("", ddl_background_attachment.Value); #endregion #endregion #region update current ModuleStyles ClSqlCmd.CommandExc(@" update [dbo].[__StandardEngine_T_ModuleStyles] set [" + Request.Params["T"].Trim().Replace("'", "''") + @"_BackGround_ID]=" + str_BackGround_ID + @" where [Module_ID]=" + System.Configuration.ConfigurationSettings.AppSettings["SE_ModuleID"]); #endregion #region write css files System.IO.File.WriteAllText(Request.MapPath("") + "/../CSS/" + Request.Params["T"].Trim().Replace("'", "") + ".css", str_Style_Txt); #endregion /////////////////////////////////////////////////////////////////////// if (Request.Params["retP"] != null && Request.Params["retP"] != "") { Response.Redirect(Server.UrlDecode(Request.Params["retP"])); } } }