1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- // 公共助手函数
- if (!function_exists('__lm')) {
- /**
- * @param array|object $data 数据源
- * @param string $name 字段名
- * @return string
- */
- function __lm($data, string $name): string
- {
- $allowed_langs = [1, 2];
- $lang = in_array((int)($_COOKIE['lang'] ?? 1), $allowed_langs) ? (int)$_COOKIE['lang'] : 1;
- $field = ($lang == 2) ? 'e_'.$name : $name;
- $value = '';
- if (is_array($data)) {
- $value = $data[$field] ?? $data[$name] ?? '';
- } elseif (is_object($data)) {
- $value = $data->$field ?? $data->$name ?? '';
- }
- return htmlspecialchars((string)$value, ENT_QUOTES, 'UTF-8');
- }
- }
- if (!function_exists('__lang')) {
- /**
- * @param string $name 语言键
- * @param string $sign 插件标识
- * @return string
- */
- function __lang(string $name, string $sign = 'wwh'): string
- {
- // 参数过滤
- $sign = preg_replace('/[^a-z0-9_-]/i', '', $sign);
- $allowed_langs = ['zh-cn', 'en'];
- $lang = (int)($_COOKIE['lang'] ?? 1) == 2 ? 'en' : 'zh-cn';
- $lang = in_array($lang, $allowed_langs) ? $lang : 'zh-cn';
- // 路径构建
- $file = ADDON_PATH . "{$sign}/lang/{$lang}.php";
- if (!is_file($file)) {
- $file = ROOT_PATH . "addons/{$sign}/lang/{$lang}.php";
- }
- // 安全加载
- if (is_file($file)) {
- $data = include $file;
- if (is_array($data)) {
- return htmlspecialchars($data[$name] ?? $name, ENT_QUOTES, 'UTF-8');
- }
- }
- return htmlspecialchars($name, ENT_QUOTES, 'UTF-8');
- }
- }
|