# ---------------------- # get_licensing_features # ---------------------- # Returns the active licensing features "lite", "pro" or "enterprise" subroutine(get_licensing_features, ( string licensing_features = "enterprise"; # default bool trial_is_active = false; if (node_exists("volatile.licensing.features.trial") and node_value("volatile.licensing.features.trial")) then ( trial_is_active = true; ); if (!trial_is_active) then ( # get features from volatile.licensing node if (node_exists("volatile.licensing.features.enterprise") and node_value("volatile.licensing.features.enterprise")) then ( licensing_features = "enterprise"; ) else if (node_exists("volatile.licensing.features.pro") and node_value("volatile.licensing.features.pro")) then ( licensing_features = "pro"; ) else ( licensing_features = "lite"; ) ) else ( # if trial_is_active get the features from node preferences.miscellaneous.trial_licensing_features if (node_exists("preferences.miscellaneous.trial_licensing_features")) then ( licensing_features = node_value("preferences.miscellaneous.trial_licensing_features"); ); ); licensing_features; ));