329 lines
15 KiB
C#
329 lines
15 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Web;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using System.Text.RegularExpressions;
|
||
using System.Globalization;
|
||
using System.Security.Cryptography;
|
||
using System.Text;
|
||
namespace Mtxfw.VipSite
|
||
{
|
||
public partial class Admin_Member_xsxt_add : Mtxfw.Utility.MemberBase
|
||
{
|
||
public Mtxfw.Utility.Config config0 = new Mtxfw.Utility.Config("");
|
||
public Mtxfw.DAL.Article daoArt = new Mtxfw.DAL.Article();
|
||
protected Mtxfw.DAL.user_Goods_lb daolb = new Mtxfw.DAL.user_Goods_lb();
|
||
public String strTitle = "",strBody = "", Signature = "";
|
||
public int gtype = 0;
|
||
protected override void OnLoad(EventArgs e)
|
||
{
|
||
base.OnLoad(e);
|
||
string hostname = Request.Url.Host;
|
||
|
||
|
||
if (!IsPostBack)
|
||
{
|
||
if (Session["IFPassword"] == null)
|
||
{
|
||
Response.Redirect("/Member_IFPassword.aspx?Url=/Admin_Member_xsxt.aspx");
|
||
}
|
||
if (IFStores != 1)
|
||
{
|
||
Mtxfw.Utility.Tools.Message("您没有权限!", "/gl.aspx");
|
||
}
|
||
if (MemberJS.IndexOf("新手学堂") == -1)
|
||
{
|
||
Mtxfw.Utility.Tools.Message("您没有权限!", "/gl.aspx");
|
||
}
|
||
DropType.DataSource = daolb.GetList("utype=2");
|
||
DropType.DataBind();
|
||
Data_Bind();
|
||
}
|
||
Btn_Insert.Click += delegate(object s, EventArgs ex)
|
||
{
|
||
Mtxfw.Model.Article model = new Mtxfw.Model.Article();
|
||
model.senderid = 0;
|
||
model.receiverid = 0;
|
||
model.Title = Text_Title.Text;
|
||
model.ParentID = 24;
|
||
model.CategoryId = DropType.SelectedItem.Value;
|
||
model.AddTime = DateTime.Now;
|
||
model.Author = hiddenphoto.Value;
|
||
|
||
model.Content = Hidd_myEditor.Value;
|
||
model.Paths = "";
|
||
model.Content2 = Text_content2.Text;
|
||
model.Paths2 = "";
|
||
model.KeyWords = "";
|
||
model.media_id = "";
|
||
model.thumb_media_id = "";
|
||
model.wtype = Convert.ToInt32(Text_Num.Text);
|
||
model.wtype2 = Convert.ToInt32(Text_Num2.Text);
|
||
string strzd = daoArt.Getzd("max(LinkID)", "ParentID=" + model.ParentID).ToString();
|
||
if (strzd != "")
|
||
{
|
||
model.LinkID = (Convert.ToInt32(strzd)+1);
|
||
}
|
||
else
|
||
{
|
||
model.LinkID = 0;
|
||
}
|
||
model.Seef = 0;
|
||
model.gtype = gtype;
|
||
string strContent =model.Content;
|
||
Regex R = new Regex("<source src=\"([\\S\\s\\t\\n]*?)\" type=\"video/mp4\"/>");
|
||
Match M = R.Match(strContent);
|
||
if (M.Success)
|
||
{
|
||
string strResult0 = M.Groups[1].ToString();
|
||
if (strResult0.IndexOf("https://fv.pmhapp.cn/mdavideo/") != -1)
|
||
{
|
||
// 文件名
|
||
string Key = strResult0.Replace("https://fv.pmhapp.cn/", "");
|
||
|
||
Qiniu.Storage.Config config = new Qiniu.Storage.Config();
|
||
config.Zone = Qiniu.Storage.Zone.ZONE_CN_South;
|
||
|
||
bool force = false;
|
||
// 队列名称,如果没有,请设置为null
|
||
// 另请参阅https://qiniu.kf5.com/hc/kb/article/112978/
|
||
string pipeline = "default.sys";
|
||
// 接收处理结果通知的URL,另请参阅
|
||
string notifyUrl = "";
|
||
// 要保存的目标空间
|
||
string dstBucket = config0.qiniuScope;
|
||
string dstKey = Key.Replace("mdavideo/", "mdadvideo/");
|
||
string saveAsUri = Qiniu.Util.Base64.UrlSafeBase64Encode(dstBucket + ":" + dstKey);
|
||
// 需要执行的数据处理,例如视频转码
|
||
string fopM = "avthumb/mp4"; //示例: "avthumb/mp4";
|
||
// 使用管道'|'命令,将处理结果saveas另存
|
||
string fops = fopM + "|saveas/" + saveAsUri;
|
||
// 这个示例单独使用了一个Settings类,其中包含AccessKey和SecretKey
|
||
// 实际应用中,请自行设置您的AccessKey和SecretKey
|
||
Qiniu.Util.Mac mac = new Qiniu.Util.Mac(config0.qiniuAccessKey, config0.qiniuSecretKey);
|
||
Qiniu.Storage.OperationManager ox = new Qiniu.Storage.OperationManager(mac, config);
|
||
Qiniu.Storage.PfopResult result = ox.Pfop(dstBucket, Key, fops, pipeline, notifyUrl, force);
|
||
if (result.Code == 200)
|
||
{
|
||
model.thumb_media_id = result.PersistentId;
|
||
model.Content = model.Content.Replace("<source src=\"" + strResult0 + "\" type=\"video/mp4\"/>", "<source src=\"" + strResult0.Replace("mdavideo/", "mdadvideo/") + "\" type=\"video/mp4\"/>");
|
||
|
||
}
|
||
}
|
||
}
|
||
daoArt.Add(model);
|
||
Model.User_CZ_log logmodel = new Model.User_CZ_log();
|
||
logmodel.MemberId = Card;
|
||
logmodel.AddTime = DateTime.Now;
|
||
logmodel.IP = Mtxfw.Utility.Common.GetIP;
|
||
logmodel.Body = "添加新手学堂教程,标题:" + model.Title + "";
|
||
logmodel.UType = 0;
|
||
logmodel.gtype = gtype;
|
||
new DAL.User_CZ_log().Add(logmodel);
|
||
|
||
if (Session["UploadFileIng"] != null)
|
||
{
|
||
string[] stra = Session["UploadFileIng"].ToString().Split(',');
|
||
foreach (string str in stra)
|
||
{
|
||
if (str.Trim() != "")
|
||
{
|
||
if (model.Content.IndexOf(str.Trim()) == -1)
|
||
{
|
||
if (System.IO.File.Exists(Server.MapPath(str.Trim())))
|
||
{
|
||
System.IO.File.Delete(Server.MapPath(str.Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
Session.Remove("UploadFileIng");
|
||
}
|
||
if (Session["UploadFileIng0"] != null)
|
||
{
|
||
string[] stra = Session["UploadFileIng0"].ToString().Split(',');
|
||
foreach (string str in stra)
|
||
{
|
||
if (str.Trim() != "")
|
||
{
|
||
if (model.Author != str.Trim())
|
||
{
|
||
if (System.IO.File.Exists(Server.MapPath(str.Trim())))
|
||
{
|
||
System.IO.File.Delete(Server.MapPath(str.Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
Session.Remove("UploadFileIng0");
|
||
}
|
||
System.Collections.IDictionaryEnumerator CacheEnum = Cache.GetEnumerator();
|
||
while (CacheEnum.MoveNext())
|
||
{
|
||
Cache.Remove(CacheEnum.Key.ToString());
|
||
}
|
||
ClientScript.RegisterStartupScript(this.GetType(), "", "<script type='text/javascript'>alert('添加教程成功!');location.replace('" + Hidd_Url.Value + "')</script>");
|
||
};
|
||
|
||
Btn_Update.Click += delegate(object s, EventArgs ex)
|
||
{
|
||
Int32 ID = int.Parse(Request.QueryString["ID"]);
|
||
Mtxfw.Model.Article model = daoArt.GetModel(ID);
|
||
model.CategoryId = DropType.SelectedItem.Value;
|
||
model.Title = Text_Title.Text;
|
||
model.Author = hiddenphoto.Value;
|
||
model.Content = Hidd_myEditor.Value;
|
||
model.wtype = Convert.ToInt32(Text_Num.Text);
|
||
model.wtype2 = Convert.ToInt32(Text_Num2.Text);
|
||
string strContent =model.Content;
|
||
Regex R = new Regex("<source src=\"([\\S\\s\\t\\n]*?)\" type=\"video/mp4\"/>");
|
||
Match M = R.Match(strContent);
|
||
if (M.Success)
|
||
{
|
||
string strResult0 = M.Groups[1].ToString();
|
||
if (strResult0.IndexOf("https://fv.pmhapp.cn/mdavideo/") != -1)
|
||
{
|
||
// 文件名
|
||
string Key = strResult0.Replace("https://fv.pmhapp.cn/", "");
|
||
|
||
Qiniu.Storage.Config config = new Qiniu.Storage.Config();
|
||
config.Zone = Qiniu.Storage.Zone.ZONE_CN_South;
|
||
|
||
bool force = false;
|
||
// 队列名称,如果没有,请设置为null
|
||
// 另请参阅https://qiniu.kf5.com/hc/kb/article/112978/
|
||
string pipeline = "default.sys";
|
||
// 接收处理结果通知的URL,另请参阅
|
||
string notifyUrl = "";
|
||
// 要保存的目标空间
|
||
string dstBucket = config0.qiniuScope;
|
||
string dstKey = Key.Replace("mdavideo/", "mdadvideo/");
|
||
string saveAsUri = Qiniu.Util.Base64.UrlSafeBase64Encode(dstBucket + ":" + dstKey);
|
||
// 需要执行的数据处理,例如视频转码
|
||
string fopM = "avthumb/mp4"; //示例: "avthumb/mp4";
|
||
// 使用管道'|'命令,将处理结果saveas另存
|
||
string fops = fopM + "|saveas/" + saveAsUri;
|
||
// 这个示例单独使用了一个Settings类,其中包含AccessKey和SecretKey
|
||
// 实际应用中,请自行设置您的AccessKey和SecretKey
|
||
Qiniu.Util.Mac mac = new Qiniu.Util.Mac(config0.qiniuAccessKey, config0.qiniuSecretKey);
|
||
Qiniu.Storage.OperationManager ox = new Qiniu.Storage.OperationManager(mac, config);
|
||
Qiniu.Storage.PfopResult result = ox.Pfop(dstBucket, Key, fops, pipeline, notifyUrl, force);
|
||
if (result.Code == 200)
|
||
{
|
||
model.thumb_media_id = result.PersistentId;
|
||
model.Content = model.Content.Replace("<source src=\"" + strResult0 + "\" type=\"video/mp4\"/>", "<source src=\"" + strResult0.Replace("mdavideo/", "mdadvideo/") + "\" type=\"video/mp4\"/>");
|
||
|
||
}
|
||
}
|
||
}
|
||
daoArt.Update(model);
|
||
|
||
Model.User_CZ_log logmodel = new Model.User_CZ_log();
|
||
logmodel.MemberId = Card;
|
||
logmodel.AddTime = DateTime.Now;
|
||
logmodel.IP = Mtxfw.Utility.Common.GetIP;
|
||
logmodel.Body = "修改新手学堂教程,标题:" + model.Title + "";
|
||
logmodel.UType = 0;
|
||
logmodel.gtype = gtype;
|
||
new DAL.User_CZ_log().Add(logmodel);
|
||
if (Session["UploadFileIng"] != null)
|
||
{
|
||
string[] stra = Session["UploadFileIng"].ToString().Split(',');
|
||
foreach (string str in stra)
|
||
{
|
||
if (str.Trim() != "")
|
||
{
|
||
if (model.Content.IndexOf(str.Trim()) == -1)
|
||
{
|
||
if (System.IO.File.Exists(Server.MapPath(str.Trim())))
|
||
{
|
||
System.IO.File.Delete(Server.MapPath(str.Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
Session.Remove("UploadFileIng");
|
||
}
|
||
if (Session["UploadFileIng0"] != null)
|
||
{
|
||
string[] stra = Session["UploadFileIng0"].ToString().Split(',');
|
||
foreach (string str in stra)
|
||
{
|
||
if (str.Trim() != "")
|
||
{
|
||
if (model.Author!=str.Trim())
|
||
{
|
||
if (System.IO.File.Exists(Server.MapPath(str.Trim())))
|
||
{
|
||
System.IO.File.Delete(Server.MapPath(str.Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
Session.Remove("UploadFileIng0");
|
||
}
|
||
System.Collections.IDictionaryEnumerator CacheEnum = Cache.GetEnumerator();
|
||
while (CacheEnum.MoveNext())
|
||
{
|
||
Cache.Remove(CacheEnum.Key.ToString());
|
||
}
|
||
ClientScript.RegisterStartupScript(this.GetType(), "", "<script type='text/javascript'>alert('更新教程成功!');location.replace('" + Hidd_Url.Value + "')</script>");
|
||
};
|
||
}
|
||
private byte[] hash_hmac_byte(string signatureString, string secretKey)
|
||
{
|
||
var enc = Encoding.UTF8;
|
||
HMACSHA1 hmac = new HMACSHA1(enc.GetBytes(secretKey));
|
||
hmac.Initialize();
|
||
byte[] buffer = enc.GetBytes(signatureString);
|
||
return hmac.ComputeHash(buffer);
|
||
}
|
||
protected void Data_Bind()
|
||
{
|
||
if (Request.UrlReferrer != null)
|
||
{
|
||
Hidd_Url.Value = Request.UrlReferrer.ToString();
|
||
}
|
||
else
|
||
{
|
||
Hidd_Url.Value = "Admin_Member_gong2.aspx";
|
||
}
|
||
|
||
if (Request.QueryString["ID"] == null)
|
||
{
|
||
strTitle = "添加教程";
|
||
Page.Title = strTitle + " - " + GetWebName;
|
||
Btn_Update.Visible = false;
|
||
}
|
||
else
|
||
{
|
||
strTitle = "更新教程";
|
||
Page.Title = strTitle + " - " + GetWebName;
|
||
Btn_Insert.Visible = false;
|
||
|
||
Mtxfw.Model.Article model = daoArt.GetModel(int.Parse(Request.QueryString["ID"]));
|
||
if (model != null)
|
||
{
|
||
Text_Title.Text = model.Title;
|
||
Text_Num.Text = model.wtype.ToString();
|
||
Text_Num2.Text = model.wtype2.ToString();
|
||
strBody = model.Content;
|
||
for (int i = 0; i < DropType.Items.Count; i++)
|
||
{
|
||
if (DropType.Items[i].Value == model.CategoryId)
|
||
{
|
||
DropType.Items[i].Selected = true;
|
||
}
|
||
else
|
||
{
|
||
DropType.Items[i].Selected = false;
|
||
}
|
||
}
|
||
hiddenphoto.Value = model.Author;
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
} |