From 5503b253c210dd05bf9c0438c2842d8a423ad3e1 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Thu, 20 Jul 2023 14:12:01 -0700 Subject: [PATCH] refactor(plg): upc server state data simplify --- .../dynamix.my.servers/data/server-state.php | 11 ++ .../dynamix.my.servers/include/myservers2.php | 113 +----------------- .../dynamix.my.servers/include/state.php | 84 +++++++++++++ 3 files changed, 99 insertions(+), 109 deletions(-) create mode 100644 plugin/source/dynamix.unraid.net/usr/local/emhttp/plugins/dynamix.my.servers/data/server-state.php create mode 100644 plugin/source/dynamix.unraid.net/usr/local/emhttp/plugins/dynamix.my.servers/include/state.php diff --git a/plugin/source/dynamix.unraid.net/usr/local/emhttp/plugins/dynamix.my.servers/data/server-state.php b/plugin/source/dynamix.unraid.net/usr/local/emhttp/plugins/dynamix.my.servers/data/server-state.php new file mode 100644 index 000000000..055028646 --- /dev/null +++ b/plugin/source/dynamix.unraid.net/usr/local/emhttp/plugins/dynamix.my.servers/data/server-state.php @@ -0,0 +1,11 @@ + 'UNKNOWN_ERROR', - "invalid" => 'INVALID', - "nokeyserver" => 'NO_KEY_SERVER', - "withdrawn" => 'WITHDRAWN', -]; - -// read flashbackup ini file -$flashbackup_ini = '/var/local/emhttp/flashbackup.ini'; -$flashbackup_status = (file_exists($flashbackup_ini)) ? @parse_ini_file($flashbackup_ini) : []; - -$nginx = parse_ini_file('/var/local/emhttp/nginx.ini'); - -// base OS only, plugin not installed • show ad for plugin -$connectPluginInstalled = ''; -if (file_exists('/var/lib/pkgtools/packages/dynamix.unraid.net')) $connectPluginInstalled = 'dynamix.unraid.net.plg'; -if (file_exists('/var/lib/pkgtools/packages/dynamix.unraid.net.staging')) $connectPluginInstalled = 'dynamix.unraid.net.staging.plg'; -// plugin install failed if the unraid-api file doesn't fully install • append failure detected so we can show warning about failed install via UPC -if ($connectPluginInstalled && !file_exists('/usr/local/sbin/unraid-api')) $connectPluginInstalled .= '_installFailed'; - -$pluginVersion = file_exists('/var/log/plugins/dynamix.unraid.net.plg') - ? trim(@exec('/usr/local/sbin/plugin version /var/log/plugins/dynamix.unraid.net.plg 2>/dev/null')) - : (file_exists('/var/log/plugins/dynamix.unraid.net.staging.plg') - ? trim(@exec('/usr/local/sbin/plugin version /var/log/plugins/dynamix.unraid.net.staging.plg 2>/dev/null')) - : 'base-' . $var['version']); - -$myservers_flash_cfg_path='/boot/config/plugins/dynamix.my.servers/myservers.cfg'; -$myservers = file_exists($myservers_flash_cfg_path) ? @parse_ini_file($myservers_flash_cfg_path,true) : []; - -$serverData = [ - "apiKey" => $myservers['upc']['apikey'] ?? '', - "apiVersion" => $myservers['api']['version'] ?? '', - "avatar" => (!empty($myservers['remote']['avatar']) && $connectPluginInstalled) ? $myservers['remote']['avatar'] : '', - "config" => [ - 'valid' => ($var['configValid'] === 'yes'), - 'error' => isset($configErrorEnum[$var['configValid']]) ? $configErrorEnum[$var['configValid']] : 'UNKNOWN_ERROR', - ], - "connectPluginInstalled" => $connectPluginInstalled, - "csrf" => $var['csrf_token'], - "description" => $var['COMMENT'] ?? '', - "deviceCount" => $var['deviceCount'], - "email" => $myservers['remote']['email'] ?? '', - "expireTime" => 1000 * (($var['regTy'] === 'Trial' || strstr($var['regTy'], 'expired')) ? $var['regTm2'] : 0), - "extraOrigins" => explode(',', $myservers['api']['extraOrigins'] ?? ''), - "flashProduct" => $var['flashProduct'], - "flashVendor" => $var['flashVendor'], - "flashBackupActivated" => empty($flashbackup_status['activated']) ? '' : 'true', - "guid" => $var['flashGUID'], - "hasRemoteApikey" => !empty($myservers['remote']['apikey']), - "internalPort" => $_SERVER['SERVER_PORT'], - "keyfile" => empty($var['regFILE']) ? '' : str_replace(['+', '/', '='], ['-', '_', ''], trim(base64_encode(@file_get_contents($var['regFILE'])))), - "lanIp" => ipaddr(), - "locale" => ($_SESSION['locale']) ? $_SESSION['locale'] : 'en_US', - "model" => $var['SYS_MODEL'], - "name" => $var['NAME'], - "osVersion" => $var['version'], - "pluginVersion" => $pluginVersion, - "protocol" => $_SERVER['REQUEST_SCHEME'], - "regGen" => (int)$var['regGen'], - "regGuid" => $var['regGUID'], - "registered" => (!empty($myservers['remote']['username']) && $connectPluginInstalled), - "registeredTime" => $myservers['remote']['regWizTime'] ?? '', - "site" => $_SERVER['REQUEST_SCHEME'] . "://" . $_SERVER['HTTP_HOST'], - "state" => strtoupper(empty($var['regCheck']) ? $var['regTy'] : $var['regCheck']), - "theme" => [ - "banner" => !empty($display['banner']), - "bannerGradient" => $display['showBannerGradient'] === 'yes' ?? false, - "bgColor" => ($backgnd) ? '#' . $backgnd : '', - "descriptionShow" => (!empty($display['headerdescription']) && $display['headerdescription'] !== 'no'), - "metaColor" => ($display['headermetacolor'] ?? '') ? '#' . $display['headermetacolor'] : '', - "name" => $display['theme'], - "textColor" => ($header) ? '#' . $header : '', - ], - "ts" => time(), - "uptime" => 1000 * (time() - round(strtok(exec("cat /proc/uptime"), ' '))), - "username" => (!empty($myservers['remote']['username']) && $connectPluginInstalled) ? $myservers['remote']['username'] : '', - "wanFQDN" => $nginx['NGINX_WANFQDN'] ?? '', -]; - -echo ""; +$docroot = $docroot ?? $_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp'; +require_once("$docroot/plugins/dynamix.my.servers/include/state.php"); +// var_dump($serverState); +echo ""; ?>