using iNethinkCMS.BLL;
using iNethinkCMS.Command;
using iNethinkCMS.Helper;
using iNethinkCMS.Model;
using iNethinkCMS.Web.UI;
using System;
namespace iNethinkCMS.Web.plugs.digg
{
public class index : BasePage
{
private Model_iNethinkCMS_Plugs_Digg model = new Model_iNethinkCMS_Plugs_Digg();
private BLL_iNethinkCMS_Plugs_Digg bll = new BLL_iNethinkCMS_Plugs_Digg();
private Model_iNethinkCMS_Content Model_iNethinkCMS_Content = new Model_iNethinkCMS_Content();
private BLL_iNethinkCMS_Content BLL_iNethinkCMS_Content = new BLL_iNethinkCMS_Content();
private string tmpSQL;
private string vXmlPath = "/plugs/digg/setting.xml";
private string vState;
private string vDiggMaxPoint;
private string vTimeinterval;
private string vUserDisModel;
private string vCookieKey;
protected void Page_Load(object sender, EventArgs e)
{
this.vState = XMLHelper.GetXmlAttribute(base.Server.MapPath(this.vXmlPath), "//plugs//config//key[@name=\"state\"]", "value").Value.Trim();
this.vDiggMaxPoint = XMLHelper.GetXmlAttribute(base.Server.MapPath(this.vXmlPath), "//plugs//config//key[@name=\"diggmaxpoint\"]", "value").Value.Trim();
this.vTimeinterval = XMLHelper.GetXmlAttribute(base.Server.MapPath(this.vXmlPath), "//plugs//config//key[@name=\"timeinterval\"]", "value").Value.Trim();
this.vUserDisModel = XMLHelper.GetXmlAttribute(base.Server.MapPath(this.vXmlPath), "//plugs//config//key[@name=\"userdismodel\"]", "value").Value.Trim();
this.vCookieKey = XMLHelper.GetXmlAttribute(base.Server.MapPath(this.vXmlPath), "//plugs//config//key[@name=\"cookiekey\"]", "value").Value.Trim();
if (this.vState == "0")
{
base.Response.Write("
投票功能尚未开启!
");
base.Response.End();
}
string a = (base.Request.QueryString["Act"] != null) ? base.Request.QueryString["Act"] : "";
if (a == "contentdigg")
{
int num = (!Command_Validate.IsNumber(base.Request["sTitleId"])) ? -1 : int.Parse(base.Request["sTitleId"]);
int num2 = (!Command_Validate.IsNumber(base.Request["sDiggPoint"])) ? -1 : int.Parse(base.Request["sDiggPoint"]);
if (num < 0 || num2 < 0)
{
base.Response.End();
}
if (num2 > int.Parse(this.vDiggMaxPoint))
{
base.Response.Write("E001");
base.Response.End();
}
this.Model_iNethinkCMS_Content = this.BLL_iNethinkCMS_Content.GetModel(num);
if (this.Model_iNethinkCMS_Content == null)
{
base.Response.Write("E002");
base.Response.End();
}
if (this.Model_iNethinkCMS_Content.IsDigg != 1)
{
base.Response.Write("E003");
base.Response.End();
}
string text = string.Concat(new object[]
{
this.vCookieKey,
"_LastTime_",
Command_Function.GetUserIp(),
"_",
num
});
if (int.Parse(this.vTimeinterval) > 0)
{
string text2 = Command_Session.Get(text);
string cookie = Command_Cookie.GetCookie(text);
if (int.Parse(this.vUserDisModel) >= 0 && (int)SQLHelper.GetSingle(string.Concat(new object[]
{
"Select Count([ID]) as diggCount From [iNethinkCMS_Plugs_Digg] Where [DiggIP] = '",
Command_Function.GetUserIp(),
"' And DateDiff(ss,[DiggTime],'",
DateTime.Now,
"') < ",
this.vTimeinterval
})) > 0)
{
base.Response.Write("E000");
base.Response.End();
}
if (int.Parse(this.vUserDisModel) >= 1 && Command_Validate.IsDateTime(cookie))
{
DateTime dateTime = DateTime.Parse(cookie);
TimeSpan timeSpan = new TimeSpan(DateTime.Now.Ticks - dateTime.Ticks);
if (timeSpan.TotalSeconds <= (double)int.Parse(this.vTimeinterval))
{
base.Response.Write("E000");
base.Response.End();
}
}
if (int.Parse(this.vUserDisModel) >= 2 && Command_Validate.IsDateTime(text2))
{
DateTime dateTime = DateTime.Parse(text2);
TimeSpan timeSpan = new TimeSpan(DateTime.Now.Ticks - dateTime.Ticks);
if (timeSpan.TotalSeconds <= (double)int.Parse(this.vTimeinterval))
{
base.Response.Write("E000");
base.Response.End();
}
}
}
this.model.Tid = new int?(num);
this.model.DiggIP = Command_Function.GetUserIp();
this.model.DiggPoint = new int?(num2);
this.model.DiggTime = new DateTime?(DateTime.Now);
this.model.CookieSessionKey = text;
this.bll.Add(this.model);
SQLHelper.ExecuteSql(string.Concat(new object[]
{
"Update [iNethinkCMS_Content] Set [DiggNumber] = [DiggNumber] + ",
num2,
" Where [ID] = ",
num
}));
int num3 = 0;
this.Model_iNethinkCMS_Content = this.BLL_iNethinkCMS_Content.GetModel(num);
if (this.Model_iNethinkCMS_Content != null)
{
num3 = this.Model_iNethinkCMS_Content.DiggNumber.Value;
}
Command_Session.Add(text, DateTime.Now.ToString());
Command_Cookie.SaveCookie(text, DateTime.Now.ToString(), 720.0);
base.Response.Write(num3);
}
}
}
}