'', 'callerid' => '', 'callid' => '', 'ax25_ui' => true, 'connect_on_start' => true, ]; $web_ini = max25_web_ini_path(); $web = @parse_ini_file($web_ini, true, INI_SCANNER_RAW); $sec = []; if (is_array($web)) { $sec = $web['session'] ?? []; if (isset($sec['device'])) { $defaults['device'] = trim((string)$sec['device']); } if (isset($sec['callerid']) && trim((string)$sec['callerid']) !== '') { $defaults['callerid'] = strtoupper(trim((string)$sec['callerid'])); } if (isset($sec['callid']) && trim((string)$sec['callid']) !== '') { $defaults['callid'] = strtoupper(trim((string)$sec['callid'])); } if (isset($sec['ax25_ui'])) { $defaults['ax25_ui'] = max25_web_parse_bool((string)$sec['ax25_ui'], true); } if (isset($sec['connect_on_start'])) { $defaults['connect_on_start'] = max25_web_parse_bool((string)$sec['connect_on_start'], true); } $max25d_ini = trim((string)($web['max25-web-terminal']['max25d_ini'] ?? '')); } else { $max25d_ini = ''; } if ($max25d_ini === '') { $env = getenv('MAX25D_INI'); $max25d_ini = ($env !== false && $env !== '') ? $env : '/etc/max25/max25d.ini'; } if (!is_readable($max25d_ini)) { return $defaults; } $md = @parse_ini_file($max25d_ini, true, INI_SCANNER_RAW); if (!is_array($md)) { return $defaults; } $modem = $md['modem'] ?? []; $devices = $md['devices'] ?? []; if ($defaults['device'] === '') { if (isset($devices['default'])) { $defaults['device'] = trim((string)$devices['default']); } elseif (isset($md['daemon']['device'])) { $defaults['device'] = trim((string)$md['daemon']['device']); } } if ($defaults['callerid'] === '' && isset($modem['callerid'])) { $defaults['callerid'] = strtoupper(trim((string)$modem['callerid'])); } if ($defaults['callid'] === '' && isset($modem['callid'])) { $defaults['callid'] = strtoupper(trim((string)$modem['callid'])); } if (!isset($sec['ax25_ui']) && isset($modem['ax25_ui'])) { $defaults['ax25_ui'] = max25_web_parse_bool((string)$modem['ax25_ui'], true); } return $defaults; }