index.aspx.cs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. using iNethinkCMS.BLL;
  2. using iNethinkCMS.Command;
  3. using iNethinkCMS.Helper;
  4. using iNethinkCMS.Model;
  5. using iNethinkCMS.Web.UI;
  6. using System;
  7. namespace iNethinkCMS.Web.plugs.digg
  8. {
  9. public class index : BasePage
  10. {
  11. private Model_iNethinkCMS_Plugs_Digg model = new Model_iNethinkCMS_Plugs_Digg();
  12. private BLL_iNethinkCMS_Plugs_Digg bll = new BLL_iNethinkCMS_Plugs_Digg();
  13. private Model_iNethinkCMS_Content Model_iNethinkCMS_Content = new Model_iNethinkCMS_Content();
  14. private BLL_iNethinkCMS_Content BLL_iNethinkCMS_Content = new BLL_iNethinkCMS_Content();
  15. private string tmpSQL;
  16. private string vXmlPath = "/plugs/digg/setting.xml";
  17. private string vState;
  18. private string vDiggMaxPoint;
  19. private string vTimeinterval;
  20. private string vUserDisModel;
  21. private string vCookieKey;
  22. protected void Page_Load(object sender, EventArgs e)
  23. {
  24. this.vState = XMLHelper.GetXmlAttribute(base.Server.MapPath(this.vXmlPath), "//plugs//config//key[@name=\"state\"]", "value").Value.Trim();
  25. this.vDiggMaxPoint = XMLHelper.GetXmlAttribute(base.Server.MapPath(this.vXmlPath), "//plugs//config//key[@name=\"diggmaxpoint\"]", "value").Value.Trim();
  26. this.vTimeinterval = XMLHelper.GetXmlAttribute(base.Server.MapPath(this.vXmlPath), "//plugs//config//key[@name=\"timeinterval\"]", "value").Value.Trim();
  27. this.vUserDisModel = XMLHelper.GetXmlAttribute(base.Server.MapPath(this.vXmlPath), "//plugs//config//key[@name=\"userdismodel\"]", "value").Value.Trim();
  28. this.vCookieKey = XMLHelper.GetXmlAttribute(base.Server.MapPath(this.vXmlPath), "//plugs//config//key[@name=\"cookiekey\"]", "value").Value.Trim();
  29. if (this.vState == "0")
  30. {
  31. base.Response.Write("<H3>投票功能尚未开启!</H3>");
  32. base.Response.End();
  33. }
  34. string a = (base.Request.QueryString["Act"] != null) ? base.Request.QueryString["Act"] : "";
  35. if (a == "contentdigg")
  36. {
  37. int num = (!Command_Validate.IsNumber(base.Request["sTitleId"])) ? -1 : int.Parse(base.Request["sTitleId"]);
  38. int num2 = (!Command_Validate.IsNumber(base.Request["sDiggPoint"])) ? -1 : int.Parse(base.Request["sDiggPoint"]);
  39. if (num < 0 || num2 < 0)
  40. {
  41. base.Response.End();
  42. }
  43. if (num2 > int.Parse(this.vDiggMaxPoint))
  44. {
  45. base.Response.Write("E001");
  46. base.Response.End();
  47. }
  48. this.Model_iNethinkCMS_Content = this.BLL_iNethinkCMS_Content.GetModel(num);
  49. if (this.Model_iNethinkCMS_Content == null)
  50. {
  51. base.Response.Write("E002");
  52. base.Response.End();
  53. }
  54. if (this.Model_iNethinkCMS_Content.IsDigg != 1)
  55. {
  56. base.Response.Write("E003");
  57. base.Response.End();
  58. }
  59. string text = string.Concat(new object[]
  60. {
  61. this.vCookieKey,
  62. "_LastTime_",
  63. Command_Function.GetUserIp(),
  64. "_",
  65. num
  66. });
  67. if (int.Parse(this.vTimeinterval) > 0)
  68. {
  69. string text2 = Command_Session.Get(text);
  70. string cookie = Command_Cookie.GetCookie(text);
  71. if (int.Parse(this.vUserDisModel) >= 0 && (int)SQLHelper.GetSingle(string.Concat(new object[]
  72. {
  73. "Select Count([ID]) as diggCount From [iNethinkCMS_Plugs_Digg] Where [DiggIP] = '",
  74. Command_Function.GetUserIp(),
  75. "' And DateDiff(ss,[DiggTime],'",
  76. DateTime.Now,
  77. "') < ",
  78. this.vTimeinterval
  79. })) > 0)
  80. {
  81. base.Response.Write("E000");
  82. base.Response.End();
  83. }
  84. if (int.Parse(this.vUserDisModel) >= 1 && Command_Validate.IsDateTime(cookie))
  85. {
  86. DateTime dateTime = DateTime.Parse(cookie);
  87. TimeSpan timeSpan = new TimeSpan(DateTime.Now.Ticks - dateTime.Ticks);
  88. if (timeSpan.TotalSeconds <= (double)int.Parse(this.vTimeinterval))
  89. {
  90. base.Response.Write("E000");
  91. base.Response.End();
  92. }
  93. }
  94. if (int.Parse(this.vUserDisModel) >= 2 && Command_Validate.IsDateTime(text2))
  95. {
  96. DateTime dateTime = DateTime.Parse(text2);
  97. TimeSpan timeSpan = new TimeSpan(DateTime.Now.Ticks - dateTime.Ticks);
  98. if (timeSpan.TotalSeconds <= (double)int.Parse(this.vTimeinterval))
  99. {
  100. base.Response.Write("E000");
  101. base.Response.End();
  102. }
  103. }
  104. }
  105. this.model.Tid = new int?(num);
  106. this.model.DiggIP = Command_Function.GetUserIp();
  107. this.model.DiggPoint = new int?(num2);
  108. this.model.DiggTime = new DateTime?(DateTime.Now);
  109. this.model.CookieSessionKey = text;
  110. this.bll.Add(this.model);
  111. SQLHelper.ExecuteSql(string.Concat(new object[]
  112. {
  113. "Update [iNethinkCMS_Content] Set [DiggNumber] = [DiggNumber] + ",
  114. num2,
  115. " Where [ID] = ",
  116. num
  117. }));
  118. int num3 = 0;
  119. this.Model_iNethinkCMS_Content = this.BLL_iNethinkCMS_Content.GetModel(num);
  120. if (this.Model_iNethinkCMS_Content != null)
  121. {
  122. num3 = this.Model_iNethinkCMS_Content.DiggNumber.Value;
  123. }
  124. Command_Session.Add(text, DateTime.Now.ToString());
  125. Command_Cookie.SaveCookie(text, DateTime.Now.ToString(), 720.0);
  126. base.Response.Write(num3);
  127. }
  128. }
  129. }
  130. }