diff --git a/admin/backend_settings.php b/admin/backend_settings.php index a61eba1..e4138ee 100644 --- a/admin/backend_settings.php +++ b/admin/backend_settings.php @@ -1,17 +1,6 @@ prepare("SELECT setting_value FROM system_settings WHERE setting_key = ?"); - $stmt->execute([$key]); - $val = $stmt->fetchColumn(); - return $val !== false ? $val : $default; - } catch (Exception $e) { - return $default; - } -} - if ($_SERVER['REQUEST_METHOD'] === 'POST') { $settings = [ 'email_verification_enabled' => $_POST['email_verification_enabled'] ?? '0', @@ -56,18 +45,42 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $stmt->execute([$favicon_path, $favicon_path]); } } + + // Handle certificate upload if provided + if (isset($_FILES['certificate_files']) && !empty($_FILES['certificate_files']['name'][0])) { + $paths = []; + foreach ($_FILES['certificate_files']['name'] as $i => $name) { + if ($_FILES['certificate_files']['error'][$i] === 0) { + $ext = pathinfo($name, PATHINFO_EXTENSION); + $filename = 'certificate_' . time() . '_' . $i . '.' . $ext; + $target = __DIR__ . '/../assets/images/' . $filename; + if (!is_dir(__DIR__ . '/../assets/images/')) { + mkdir(__DIR__ . '/../assets/images/', 0777, true); + } + if (move_uploaded_file($_FILES['certificate_files']['tmp_name'][$i], $target)) { + $paths[] = '/assets/images/' . $filename; + } + } + } + if (!empty($paths)) { + $certificate_path = json_encode($paths); + $stmt = db()->prepare("INSERT INTO system_settings (setting_key, setting_value) VALUES ('site_certificate', ?) ON DUPLICATE KEY UPDATE setting_value = ?"); + $stmt->execute([$certificate_path, $certificate_path]); + } + } $success = true; } -$email_verify = getLocalSetting('email_verification_enabled', '0'); -$site_logo = getLocalSetting('site_logo', ''); -$site_favicon = getLocalSetting('site_favicon', ''); -$trc20_addr = getLocalSetting('usdt_trc20_address', ''); -$erc20_addr = getLocalSetting('usdt_erc20_address', ''); -$bep20_addr = getLocalSetting('usdt_bep20_address', ''); -$service_link = getLocalSetting('service_link', ''); -$site_name = getLocalSetting('site_name', 'Byro'); +$email_verify = getSetting('email_verification_enabled', '0'); +$site_logo = getSetting('site_logo', ''); +$site_favicon = getSetting('site_favicon', ''); +$site_certificate = getSetting('site_certificate', ''); +$trc20_addr = getSetting('usdt_trc20_address', ''); +$erc20_addr = getSetting('usdt_erc20_address', ''); +$bep20_addr = getSetting('usdt_bep20_address', ''); +$service_link = getSetting('service_link', ''); +$site_name = getSetting('site_name', 'Byro'); $title = '后台设置'; ob_start(); @@ -101,7 +114,7 @@ ob_start();
- +
@@ -122,6 +135,27 @@ ob_start();
上传后将同步更新浏览器标签页图标。建议使用 32x32 或 64x64 的正方形图片。
+
+ +
+ +
+ +
+ +
+ +
+ + +
+
支持多选。上传后,用户可在个人中心点击“注册证书”查看所有证书。
+
+
充值地址配置
diff --git a/admin/layout.php b/admin/layout.php index 9ef20e2..f0a1bc6 100644 --- a/admin/layout.php +++ b/admin/layout.php @@ -33,24 +33,9 @@ function renderAdminPage($content, $title = '后台管理') { global $admin, $lang; $current_page = basename($_SERVER['PHP_SELF']); - $site_logo = '/assets/images/logo.png'; - $site_favicon = ''; - $site_name = 'Byro'; - try { - $stmt = db()->prepare("SELECT setting_value FROM system_settings WHERE setting_key = 'site_logo'"); - $stmt->execute(); - $val = $stmt->fetchColumn(); - if ($val) $site_logo = $val; - - $stmt = db()->prepare("SELECT setting_value FROM system_settings WHERE setting_key = 'site_favicon'"); - $stmt->execute(); - $val = $stmt->fetchColumn(); - $site_favicon = $val ?: $site_logo; - - $stmt = db()->prepare("SELECT setting_value FROM system_settings WHERE setting_key = 'site_name'"); - $stmt->execute(); - $site_name = $stmt->fetchColumn() ?: 'Byro'; - } catch (Exception $e) {} + $site_logo = getSetting('site_logo', '/assets/images/logo.png'); + $site_favicon = getSetting('site_favicon', $site_logo); + $site_name = getSetting('site_name', 'Byro'); ?> @@ -153,7 +138,7 @@ function renderAdminPage($content, $title = '后台管理') {