Backup/Discuz.Web/admin/rapidset/onlineupgrade.aspx.cs
(开头部分) 6KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.IO;
using System.Web.UI.WebControls;
using System.Xml;
using Discuz.Common;
using Discuz.Config;
using Discuz.Web.Admin.AutoUpdateManager;
namespace Discuz.Web.Admin
{
/// <summary>
/// 单个生成模板页面
/// </summary>
public class onlineupgrade : AdminPage
{
protected System.Web.UI.WebControls.Label info = new Label();
protected bool isNew = false;
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
try
{
//合并升级信息
MergeUpgradeInfo();
//获取官方升级版本列表,并存放到本地upgrade/versionlist.config中
AutoUpdate autoUpdate = new AutoUpdate();
string fileContnet = autoUpdate.GetVersionList();
StreamWriter writer = new StreamWriter(Utils.GetMapPath(BaseConfigs.GetForumPath.ToLower() + "config/upgradeini.config"));
writer.Write(fileContnet.Replace("\n", "\r\n"));
writer.Close();
//取本地更新版本号与官方的最新版本号比较,如果官方有更新,则提示有升级
XmlDocument lastupdate = new XmlDocument();
lastupdate.Load(Utils.GetMapPath(BaseConfigs.GetForumPath.ToLower() + "config/localupgradeini.config"));
DateTime build = StrToDateTime(lastupdate.SelectSingleNode("/localupgrade/requiredupgrade").InnerText);
XmlDocument currentupdate = new XmlDocument();
currentupdate.LoadXml(fileContnet);
XmlNodeList items = currentupdate.SelectNodes("/versionlist/" + BaseConfigs.GetDbType.ToLower() + "/requiredupgrade/item");
XmlNode lastItem = items.Item(items.Count - 1);
DateTime version = StrToDateTime(lastItem["version"].InnerText);
isNew = version > build;
if (isNew)
{
info.Text = "<span style='font-size:20px;padding:0px 0px 15px 0px;display:block;'>检测到最新版本:" + lastItem["versiondescription"].InnerText + "</span>" +
"<div style='border: 1px dotted rgb(219, 221, 211);background: #FFFFCC'>" + lastItem["description"].InnerText + "</div>";
string script = "var versionList = [";
foreach (XmlNode item in items)
{
if (StrToDateTime(item.FirstChild.InnerText) > build)
{
script += "{\"version\":\"" + item["version"].InnerText + "\",\"versiondescription\":\"" + item["versiondescription"].InnerText + "\",\"link\":\"" + item["link"].InnerText + "\"},";
}
}
script = script.TrimEnd(',') + "];";
base.RegisterStartupScript("", "<script>" + script + "</script>");
}
else
{
info.Text = "暂无新版本可更新!";
后面还有 70 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
