protected override void ShowPage() { pagetitle = "用户控制面板"; creditstax = Scoresets.GetCreditsTax(); extcreditspaylist = Scoresets.GetScorePaySet(0); score = Scoresets.GetValidScoreName(); jscreditsratearray = "<script type=\"text/javascript\">\r\nvar creditsrate = new Array();\r\n"; foreach (DataRow dr in extcreditspaylist.Rows) { jscreditsratearray = jscreditsratearray + "creditsrate[" + dr["id"].ToString() + "] = " + dr["rate"].ToString() + ";\r\n"; } jscreditsratearray = jscreditsratearray + "\r\n</script>"; if (userid == -1) { AddErrLine("你尚未登录"); return; } user = Discuz.Forum.Users.GetUserInfo(userid); if (DNTRequest.IsPost()) { if (ForumUtils.IsCrossSitePost()) { AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } if (Utils.MD5(DNTRequest.GetString("password")) != password) { AddErrLine("密码错误"); return; } int paynum = DNTRequest.GetInt("paynum", 0); if (paynum <= 0) { AddErrLine("数量必须是大于0的整数"); return; } int extcredits1 = DNTRequest.GetInt("extcredits1", 0); int extcredits2 = DNTRequest.GetInt("extcredits2", 0); if (extcredits1 < 1 || extcredits2 < 1 || extcredits1 > 8 || extcredits2 > 8) { AddErrLine("请正确选择要兑换的金币类型!"); return; } if (extcredits1 == extcredits2) { AddErrLine("不能兑换相同类型的金币"); return; } //对交易后的金币增减进行修改设置 UserExtcreditsInfo extcredits1info = Scoresets.GetScoreSet(extcredits1); UserExtcreditsInfo extcredits2info = Scoresets.GetScoreSet(extcredits2); if ((extcredits1info.Name.Trim() == "") || (extcredits2info.Name.Trim() == "")) { AddErrLine("错误的输入!"); return; } UserInfo __userinfo = Discuz.Forum.Users.GetUserInfo(userid); if ((Discuz.Forum.Users.GetUserExtCredits(userid, extcredits1) - paynum) < Scoresets.GetExchangeMinCredits()) { AddErrLine("抱歉, 您的 \"" + extcredits1info.Name + "\" 不足." + Scoresets.GetExchangeMinCredits().ToString()); return; } //计算并更新2个扩展金币的新值 extcredits1rate = extcredits1info.Rate; extcredits2rate = extcredits2info.Rate; float extcredit2paynum = (float)Math.Round(paynum * (extcredits1rate / extcredits2rate) * (1 - creditstax), 2); Discuz.Forum.Users.UpdateUserExtCredits(userid, extcredits1, paynum * -1); Discuz.Forum.Users.UpdateUserExtCredits(userid, extcredits2, extcredit2paynum); CreditsLogs.AddCreditsLog(userid, userid, extcredits1, extcredits2, paynum, extcredit2paynum, Utils.GetDateTime(), 1); SetUrl("usercpcreaditstransferlog.aspx"); SetMetaRefresh(); SetShowBackLink(false); AddMsgLine("金币兑换完毕, 正在返回金币兑换与转帐记录"); } }
protected override void ShowPage() { pagetitle = "用户控制面板"; string jsCreditsRateArray = ""; foreach (DataRow dr in Scoresets.GetScorePaySet(0).Rows) { jsCreditsRateArray += "creditsrate[" + dr["id"] + "] = " + dr["rate"] + ";\r\n"; } jscreditsratearray = string.Format(jscreditsratearray, jsCreditsRateArray); if (!IsLogin()) { return; } if (DNTRequest.IsPost()) { if (ForumUtils.IsCrossSitePost()) { AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } bool isPasswordError = true; switch (config.Passwordmode) { case 1: //动网兼容模式 { isPasswordError = Utils.MD5(DNTRequest.GetString("password")) != password; break; } case 0: //默认模式 { isPasswordError = Utils.MD5(DNTRequest.GetString("password")) != password; break; } default: //第三方加密验证模式 { if (PasswordModeProvider.GetInstance() != null) { isPasswordError = !PasswordModeProvider.GetInstance().CheckPassword(user, DNTRequest.GetString("password")); } break; } } if (isPasswordError) { AddErrLine("密码错误"); return; } int paynum = DNTRequest.GetInt("paynum", 0); if (paynum <= 0) { AddErrLine("数量必须是大于0的整数"); return; } if (DNTRequest.GetInt("extcredits1", 0) < 1 || DNTRequest.GetInt("extcredits2", 0) < 1 || DNTRequest.GetInt("extcredits1", 0) > 8 || DNTRequest.GetInt("extcredits2", 0) > 8) { AddErrLine("请正确选择要兑换的积分类型!"); return; } if (DNTRequest.GetInt("extcredits1", 0) == DNTRequest.GetInt("extcredits2", 0)) { AddErrLine("不能兑换相同类型的积分"); return; } //对交易后的积分增减进行修改设置 UserExtcreditsInfo extcredits1info = Scoresets.GetScoreSet(DNTRequest.GetInt("extcredits1", 0)); UserExtcreditsInfo extcredits2info = Scoresets.GetScoreSet(DNTRequest.GetInt("extcredits2", 0)); if (Utils.StrIsNullOrEmpty(extcredits1info.Name) || Utils.StrIsNullOrEmpty(extcredits2info.Name)) { AddErrLine("错误的输入!"); return; } if ((Users.GetUserExtCredits(userid, DNTRequest.GetInt("extcredits1", 0)) - paynum) < Scoresets.GetExchangeMinCredits()) { AddErrLine("抱歉, 您的 \"" + extcredits1info.Name + "\" 不足." + Scoresets.GetExchangeMinCredits()); return; } UserInfo userInfo = Users.GetUserInfo(userid); float extcredit2paynum = (float)Math.Round(paynum * (extcredits1info.Rate / extcredits2info.Rate) * (1 - creditstax), 2); Users.UpdateUserExtCredits(userid, DNTRequest.GetInt("extcredits1", 0), paynum * -1); Users.UpdateUserExtCredits(userid, DNTRequest.GetInt("extcredits2", 0), extcredit2paynum); CreditsLogs.AddCreditsLog(userid, userid, DNTRequest.GetInt("extcredits1", 0), DNTRequest.GetInt("extcredits2", 0), paynum, extcredit2paynum, Utils.GetDateTime(), 1); SetUrl("usercpcreaditstransferlog.aspx"); SetMetaRefresh(); SetShowBackLink(false); AddMsgLine("积分兑换完毕, 正在返回积分兑换与转帐记录"); } }
protected override void ShowPage() { this.pagetitle = "用户控制面板"; string text = ""; foreach (DataRow dataRow in Scoresets.GetScorePaySet(0).Rows) { object obj = text; text = obj + "creditsrate[" + dataRow["id"] + "] = " + dataRow["rate"] + ";\r\n"; } this.jscreditsratearray = string.Format(this.jscreditsratearray, text); if (!base.IsLogin()) { return; } if (DNTRequest.IsPost()) { if (ForumUtils.IsCrossSitePost()) { base.AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } bool flag = true; //switch (this.config.Passwordmode) //{ // case 0: flag = Utils.MD5(DNTRequest.GetString("password")).EqualIgnoreCase(this.password); // break; // case 1: // flag = (Utils.MD5(DNTRequest.GetString("password")) != this.password); // break; // default: // if (PasswordModeProvider.GetInstance() != null) // { // flag = !PasswordModeProvider.GetInstance().CheckPassword(this.user, DNTRequest.GetString("password")); // } // break; //} if (flag) { base.AddErrLine("密码错误"); return; } int paynum = DNTRequest.GetInt("paynum", 0); if (paynum <= 0) { base.AddErrLine("数量必须是大于0的整数"); return; } if (DNTRequest.GetInt("extcredits1", 0) < 1 || DNTRequest.GetInt("extcredits2", 0) < 1 || DNTRequest.GetInt("extcredits1", 0) > 8 || DNTRequest.GetInt("extcredits2", 0) > 8) { base.AddErrLine("请正确选择要兑换的积分类型!"); return; } if (DNTRequest.GetInt("extcredits1", 0) == DNTRequest.GetInt("extcredits2", 0)) { base.AddErrLine("不能兑换相同类型的积分"); return; } var scoreSet = Scoresets.GetScoreSet(DNTRequest.GetInt("extcredits1", 0)); var scoreSet2 = Scoresets.GetScoreSet(DNTRequest.GetInt("extcredits2", 0)); if (scoreSet.Name.IsNullOrEmpty() || scoreSet2.Name.IsNullOrEmpty()) { base.AddErrLine("错误的输入!"); return; } if (Users.GetUserExtCredits(this.userid, DNTRequest.GetInt("extcredits1", 0)) - (float)paynum < (float)Scoresets.GetExchangeMinCredits()) { base.AddErrLine("抱歉, 您的 \"" + scoreSet.Name + "\" 不足.系统当前规定转帐余额不得小于" + Scoresets.GetExchangeMinCredits()); return; } Users.GetUserInfo(this.userid); var num = (Int32)Math.Round((double)((float)paynum * (scoreSet.Rate / scoreSet2.Rate) * (1f - this.creditstax)), 2); BBX.Entity.User.UpdateUserExtCredits(this.userid, DNTRequest.GetInt("extcredits1", 0), paynum * -1); BBX.Entity.User.UpdateUserExtCredits(this.userid, DNTRequest.GetInt("extcredits2", 0), num); //CreditsLogs.AddCreditsLog(this.userid, this.userid, DNTRequest.GetInt("extcredits1", 0), DNTRequest.GetInt("extcredits2", 0), (float)@int, num, Utils.GetDateTime(), 1); CreditsLog.Add(userid, userid, DNTRequest.GetInt("extcredits1", 0), DNTRequest.GetInt("extcredits2", 0), paynum, num, 1); base.SetUrl("usercpcreaditstransferlog.aspx"); base.SetMetaRefresh(); base.SetShowBackLink(false); base.AddMsgLine("积分兑换完毕, 正在返回积分兑换与转帐记录"); } }