better-staridc-MNBT
1<?php
2// 系统更新:服务器端检查更新(admin/update.php 已检查并注入 $mnbt_update / $mnbt_upcfg),输出注入 boot
3$td_entry = 'update';
4$td_hash = '#/update';
5$td_inject = [];
6
7if (!isset($mnbt_update) || !is_array($mnbt_update)) {
8 // 直接访问本文件时的兜底(正常入口都会带上来)
9 if (!function_exists('mnbt_updater_check')) {
10 include_once dirname(__DIR__, 3) . '/MPHX/github_updater.php';
11 }
12 $mnbt_update = mnbt_updater_check(!empty($_GET['recheck']), 60);
13}
14if (!isset($mnbt_upcfg) || !is_array($mnbt_upcfg)) {
15 $mnbt_upcfg = mnbt_updater_config();
16}
17
18$td_inject['currentVersion'] = $mnbt_update['current'];
19
20// code/ver/msg/uplog 是给已编译的 dist 用的老字段,保持原语义不能改
21$td_info = [
22 'code' => $mnbt_update['ok'] != 1 ? '-1' : ($mnbt_update['can_update'] == 1 ? '1' : '0'),
23 'ver' => $mnbt_update['ok'] == 1 ? $mnbt_update['latest'] : '-',
24 'msg' => $mnbt_update['ok'] != 1
25 ? ('暂时无法检查更新:' . $mnbt_update['error'])
26 : ($mnbt_update['can_update'] == 1 ? '发现新版本,可执行在线覆盖更新' : '当前版本已是最新,无需更新'),
27 'uplog' => (string)$mnbt_update['body'],
28 // 新增字段:下载来源与配置(老 dist 会忽略)
29 'repo' => $mnbt_update['repo'],
30 'tag' => $mnbt_update['tag'],
31 'name' => $mnbt_update['name'],
32 'source' => $mnbt_update['source'],
33 'sourceLabel' => $mnbt_update['source_label'],
34 'assetName' => $mnbt_update['asset_name'],
35 'assetUrl' => $mnbt_update['asset_url'],
36 'assetSize' => $mnbt_update['asset_size'],
37 'publishedAt' => $mnbt_update['published_at'],
38 'canUpdate' => (int)$mnbt_update['can_update'],
39 'error' => $mnbt_update['error'],
40 'fallback' => (int)$mnbt_update['fallback'],
41 'currentVer' => $mnbt_update['current'],
42 'mirrors' => array_values((array)$mnbt_update['mirrors']),
43];
44$td_inject['updateInfo'] = $td_info;
45
46// 更新设置:Token 只回显是否已设置,绝不回显明文
47$td_inject['updaterConfig'] = [
48 'repo' => $mnbt_upcfg['repo'],
49 'mirrors' => array_values($mnbt_upcfg['mirrors']),
50 'hasToken' => $mnbt_upcfg['github_token'] !== '' ? 1 : 0,
51];
52
53include __DIR__ . '/_spa_boot.php';