isset($_COOKIE['mpt']) ? $_COOKIE['mpt'] : false, 'id_token' => isset($_COOKIE['Auth']) ? $_COOKIE['Auth'] : false ); $result['settings'] = organizrSpecialSettings(); break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_auth': switch ($method) { case 'GET': auth(); break; default: //exit(http_response_code(401)); auth(); break; } break; case 'v1_plugin': switch ($method) { case 'POST': case 'GET': // Include all plugin api Calls foreach (glob(__DIR__ . DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR . 'api' . DIRECTORY_SEPARATOR . "*.php") as $filename) { require_once $filename; } break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_image': switch ($method) { case 'GET': getImage(); break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_downloader': switch ($method) { case 'POST': $result['status'] = 'success'; $result['statusText'] = 'success'; $result['data'] = downloader($_POST); break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_import_users': switch ($method) { case 'POST': if (qualifyRequest(1)) { $result['status'] = 'success'; $result['statusText'] = 'success'; $result['data'] = importUsersType($_POST); } else { $result['status'] = 'error'; $result['statusText'] = 'API/Token invalid or not set'; $result['data'] = null; } break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_ombi': switch ($method) { case 'POST': $result['status'] = 'success'; $result['statusText'] = 'success'; $result['data'] = ombiAPI($_POST); break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_plex_join': switch ($method) { case 'POST': $result['status'] = 'success'; $result['statusText'] = 'success'; $result['data'] = plexJoinAPI($_POST); break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_emby_join': switch ($method) { case 'POST': $result['status'] = 'success'; $result['statusText'] = 'success'; $result['data'] = embyJoinAPI($_POST); break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_token_revoke': switch ($method) { case 'POST': $result['status'] = 'success'; $result['statusText'] = 'success'; $result['data'] = revokeToken($_POST); break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_update_db_manual': switch ($method) { case 'GET': if (qualifyRequest(1)) { $result['status'] = 'success'; $result['statusText'] = 'success'; $result['data'] = updateDB($GLOBALS['installedVersion']); } else { $result['status'] = 'error'; $result['statusText'] = 'API/Token invalid or not set'; $result['data'] = null; } break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_version': switch ($method) { case 'GET': $result['status'] = 'success'; $result['statusText'] = 'success'; $result['data'] = $GLOBALS['installedVersion']; break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_ping': switch ($method) { case 'GET': $result['status'] = 'success'; $result['statusText'] = 'success'; $result['data'] = 'pong'; break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_docker_update': switch ($method) { case 'GET': if (qualifyRequest(1)) { $result['status'] = 'success'; $result['statusText'] = 'success'; $result['data'] = dockerUpdate(); } else { $result['status'] = 'error'; $result['statusText'] = 'API/Token invalid or not set'; $result['data'] = null; } break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_windows_update': switch ($method) { case 'GET': if (qualifyRequest(1)) { $result['status'] = 'success'; $result['statusText'] = 'success'; $result['data'] = windowsUpdate(); } else { $result['status'] = 'error'; $result['statusText'] = 'API/Token invalid or not set'; $result['data'] = null; } break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; case 'v1_custom_page': switch ($method) { case 'GET': $customPage = 'customPage'.ucwords($endpoint); $result['status'] = 'success'; $result['statusText'] = 'success'; $result['data'] = $$customPage; break; default: $result['status'] = 'error'; $result['statusText'] = 'The function requested is not defined for method: ' . $method; break; } break; default: //No Function Available $result['status'] = 'error'; $result['statusText'] = 'function requested is not defined'; break; } //Set Default Result if (!$result) { $result['status'] = "error"; $result['error'] = "An error has occurred"; } $result['generationDate'] = $GLOBALS['currentTime']; $result['generationTime'] = formatSeconds(timeExecution()); //return JSON array if ($pretty) { echo '
' . safe_json_encode($result, JSON_PRETTY_PRINT) . ''; } else { exit(safe_json_encode($result, JSON_HEX_QUOT | JSON_HEX_TAG)); }