public static function register_default_settings()
{
if (Falcon::is_network_mode()) {
self::register_network_settings();
}
add_settings_section('bbsub_options_notifications', 'Default Notification Settings', array(get_class(), 'output_default_settings_header'), 'bbsub_options');
$connectors = Falcon::get_connectors();
foreach ($connectors as $type => $connector) {
if (!is_callable(array($connector, 'get_available_settings'))) {
continue;
}
$args = array('type' => $type, 'connector' => $connector);
add_settings_field('falcon_options_notifications-' . $type, $connector->get_name(), array(get_class(), 'output_default_settings'), 'bbsub_options', 'bbsub_options_notifications', $args);
$available = $connector->get_available_settings();
self::$available[$type] = $available;
foreach ($available as $key => $title) {
$setting_key = self::key_for_setting($type, 'notifications.' . $key);
register_setting('bbsub_options', $setting_key);
// Add the filter ourselves, so that we can specify two params
add_filter("sanitize_option_{$setting_key}", array(get_class(), 'sanitize_notification_option'), 10, 2);
// Save the key for later
self::$registered_settings[$setting_key] = array($type, $key);
}
}
}