Files
17168ERP/web/admin/item/setting.aspx.cs
2025-08-29 01:27:25 +08:00

212 lines
8.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
public partial class admin_item_setting : MyWeb.config
{
MyWeb.encrypt encrypt = new MyWeb.encrypt();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
MyWeb.sql sql = new MyWeb.sql();
DataTable dt = sql.selectTable(db, p_name, "Select * from company where num=1");
if (dt.Rows.Count > 0) {
com_name.Text = dt.Rows[0]["com_name"].ToString();
email.Text = dt.Rows[0]["com_mail"].ToString();
bcc_mail.Text = dt.Rows[0]["bcc_mail"].ToString();
pic_url.Text = dt.Rows[0]["pic_url"].ToString();
smtp_url.Text = dt.Rows[0]["smtp_url"].ToString();
smtp_port.Text = dt.Rows[0]["smtp_port"].ToString();
smtp_ssl.Checked = (dt.Rows[0]["smtp_ssl"].ToString() == "Y" ? true : false);
use_sender.Checked = (dt.Rows[0]["use_sender"].ToString() == "Y" ? true : false);
smtp_user.Text = dt.Rows[0]["smtp_user"].ToString();
if (!isStrNull(dt.Rows[0]["smtp_password"]))
smtp_password.Text = encrypt.DecryptAutoKey(dt.Rows[0]["smtp_password"].ToString());
smtp_def.SelectedValue = dt.Rows[0]["smtp_def"].ToString();
menu.Checked = (bool)dt.Rows[0]["menu"];
log_class.Checked = (bool)dt.Rows[0]["log_class"];
if (dt.Rows[0]["log_menu"]!=null){
string log_menu="," + dt.Rows[0]["log_menu"].ToString();
for (int i=0; i<shop_kind1.Items.Count;i++){
string value="," + shop_kind1.Items[i].Value + ",";
if (log_menu.IndexOf(value,0)>-1){
shop_kind1.Items[i].Selected=true;
}
}
}
}
if (ValString(admin.info.group) == "EZ")
{
PlaceHolder1.Visible = true;
PlaceHolder2.Visible = true;
}
}
smtp_password.Attributes.Add("value", smtp_password.Text);
}
protected void Button1_Click(object sender, EventArgs e)
{
mailtest.Text = "";
L_msg.Text = "";
MyWeb.sql sql = new MyWeb.sql();
OleDbConnection sqlConn = sql.conn(db, p_name);
try{
sqlConn.Open();
UpdateSetOptions(sqlConn);
ScriptMsgTop("操作成功!", msgIcon.success);
//L_msg.Text = "設定資料變更完成!";
}catch (Exception ex){
ScriptMsgTop("操作失敗!", msgIcon.error);
L_msg.Type = alert_type.danger;
L_msg.Text = ex.Message;
}finally{
sqlConn.Close(); sqlConn.Dispose();
}
}
protected void UpdateSetOptions(OleDbConnection sqlConn)
{
string log_menu = "";
for (int i = 0; i < shop_kind1.Items.Count; i++)
{
string value = "," + shop_kind1.Items[i].Value + ",";
if (shop_kind1.Items[i].Selected)
{
shop_kind1.Items[i].Selected = true;
log_menu = log_menu + shop_kind1.Items[i].Value + ",";
}
}
MyWeb.sql sql = new MyWeb.sql();
string cu = "com_name,com_mail,bcc_mail,pic_url,menu,log_class,log_menu,smtp_url,smtp_port,smtp_ssl,use_sender,smtp_user,smtp_password,smtp_def";
OleDbCommand sqlCmd = new OleDbCommand("", sqlConn);
sqlCmd.CommandText = "UPDATE company SET " + sql.mark2(cu) + " WHERE num=1";
sqlCmd.Parameters.Add(new OleDbParameter("com_name", com_name.Text.Trim()));
sqlCmd.Parameters.Add(new OleDbParameter("com_mail", email.Text.Trim()));
sqlCmd.Parameters.Add(new OleDbParameter("bcc_mail", bcc_mail.Text.Trim()));
sqlCmd.Parameters.Add(new OleDbParameter("pic_url", pic_url.Text.Trim()));
sqlCmd.Parameters.Add(new OleDbParameter("menu", (menu.Checked ? 1 : 0)));
sqlCmd.Parameters.Add(new OleDbParameter("log_class", (log_class.Checked ? 1 : 0)));
sqlCmd.Parameters.Add(new OleDbParameter("log_menu", log_menu));
sqlCmd.Parameters.Add(new OleDbParameter("smtp_url", smtp_url.Text.Trim()));
sqlCmd.Parameters.Add(new OleDbParameter("smtp_port", smtp_port.Text.Trim()));
sqlCmd.Parameters.Add(new OleDbParameter("smtp_ssl", (smtp_ssl.Checked ? "Y" : "N")));
sqlCmd.Parameters.Add(new OleDbParameter("use_sender", (use_sender.Checked ? "Y" : "N")));
sqlCmd.Parameters.Add(new OleDbParameter("smtp_user", smtp_user.Text.Trim()));
sqlCmd.Parameters.Add(new OleDbParameter("smtp_password", !isStrNull(smtp_password.Text.Trim()) ? encrypt.EncryptAutoKey(smtp_password.Text.Trim()) : (object)DBNull.Value));
sqlCmd.Parameters.Add(new OleDbParameter("smtp_def", smtp_def.SelectedValue));
sqlCmd.ExecuteNonQuery();
HttpContext.Current.Application[scc + "WebInfo"] = null;
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("~/admin/index2.aspx");
}
protected void sqlrun_Click(object sender, EventArgs e)
{
if (this.sqltxt.Text == null)
{
ScriptMsg("請填寫sql指令", "", msgIcon.warning);
}
else {
OleDbCommand cmd;
OleDbConnection conn = new OleDbConnection(db);
try{
conn.Open();
cmd = new OleDbCommand(sqltxt.Text, conn);
cmd.ExecuteNonQuery();
ScriptMsg("執行成功!", "", msgIcon.success);
}
catch (Exception ex)
{
ScriptMsg("執行失敗!", "", msgIcon.error);
}
finally
{
conn.Close();
conn.Dispose();
}
}
}
#region
protected void mailsend_Click(object sender, EventArgs e)
{
mailtest.Text = ""; mailtest.ForeColor = System.Drawing.Color.Red;
MyWeb.sql sql = new MyWeb.sql();
OleDbConnection sqlConn = sql.conn(db, p_name);
try
{
sqlConn.Open();
UpdateSetOptions(sqlConn);
}
catch (Exception ex)
{
mailtest.Text = ex.Message;
}
finally
{
sqlConn.Close();
sqlConn.Dispose();
}
MyWeb.company company = new MyWeb.company();
string mailSubject = company.name + "【信件發送測試】";
string Detail = "<table width='650' border='1' align='center' cellpadding='0' cellspacing='0' bordercolorlight='#CCCCCC' bordercolordark='#FFFFFF'>";
Detail += "<tr><td bgcolor='#a9c95a' height='30'><div align='center'><font color='#FFFFFF' size='2'>信件發送測試</font></div></td></tr>";
Detail += "<tr><td>";
Detail += "<table width='90%' border='0' align='center' cellpadding='0' cellspacing='0'>";
Detail += "<tr><td><font color='#333333' size='2'>親愛的管理者您好:<br>如果您收到這封信代表您網站的SMTP設定正確</font></td></tr>";
Detail += "<tr><td>此信為系統自動發送,請勿回覆,謝謝!";
Detail += "</td></tr></table>";
Detail += "</td></tr></table>";
//寄給管理者和BCC
MyWeb.emailSystem emailSystem = new MyWeb.emailSystem();
if (emailSystem.send(company.email, company.bcc, company.name + "<" + company.email + ">", mailSubject, Detail))
{
ScriptMsgTop("寄出成功!", msgIcon.success);
mailtest.ForeColor = System.Drawing.Color.Green;
}
else
{
ScriptMsgTop("寄出失敗!", msgIcon.error);
mailtest.Text = emailSystem.log;
}
}
#endregion
}