/**
 * retrieves settings option from DB or defaults if they do not exist
 *
 * @return array settings data array
 */
function clgs_get_settings()
{
    $settings_defaults = clgs_settings_defaults();
    if (clgs_is_network_mode()) {
        unset($settings_defaults['manager_role']);
        $settings = get_site_option(CLGS_SETTINGS, array());
    } else {
        $settings = get_option(CLGS_SETTINGS, array());
    }
    $args = wp_parse_args($settings, $settings_defaults);
    // needed?
    return $args;
}
/**
 * writes default settings to DB option
 *
 * @global array $clgs_settings_structure
 *
 * @param bool $network_wide indicates network install
 *
 * @return void
 */
function clgs_add_settings($network_wide)
{
    global $clgs_settings_structure;
    $settings_defaults = clgs_settings_defaults();
    if ($network_wide) {
        unset($settings_defaults['manager_role']);
        unset($clgs_settings_structure['manager_role']);
    } else {
        foreach (clgs_get_settings()['manager_role'] as $key => $name) {
            wp_roles()->add_cap($name, CLGS_CAP);
        }
    }
    add_site_option(CLGS_SETTINGS, $settings_defaults);
}