function get_system_confs() { $result = []; $configs = get_confs('push-settings', 'system'); $configs = @$configs['push-settings']['system']; if (empty($configs)) { return []; } $type_descs = []; foreach ($configs as $conf) { $key = $conf['key']; $value = $conf['value']; if ($conf['type'] === 'integer') { $value = intval($value); } elseif ($conf['type'] === 'date') { $value = format_time($value); } elseif ($conf['type'] === 'json') { $value = json_decode($value); } if ($conf['array'] === 'yes') { if (!array_key_exists($key, $result)) { $result[$key] = []; } $items =& $result[$key]; if (!in_array($value, $items)) { $items[] = $value; } } else { $result[$key] = $value; } $type_descs[$key] = $conf['type']; } $result['type_desc'] = $type_descs; return $result; }
function get_positions() { $posi_list = get_confs('push-settings', 'positions', '名称'); $posi_list = $posi_list['push-settings']['positions']; global $field_settings, $posi_vals; $result = replace_keys($posi_list, function ($key) use($field_settings) { $res = @$field_settings[$key]; return empty($res) ? $key : $res; }); foreach ($result as $cap => &$item) { foreach ($item as $key => &$value) { if (is_string($value)) { if (array_key_exists($value, $posi_vals)) { $value = $posi_vals[$value]; } } } } return $result; }