function SourceTypes()
{
    static $s_types = null;
    if (is_null($s_types)) {
        $s_types = array();
        foreach (SourceVCS::all() as $t_type => $t_vcs) {
            $s_types[$t_type] = $t_vcs->show_type();
        }
        asort($s_types);
    }
    return $s_types;
}
} else {
    plugin_config_delete('buglink_regex_2');
}
if (!$f_bugfix_reset_1) {
    maybe_set_option('bugfix_regex_1', $f_bugfix_regex_1);
} else {
    plugin_config_delete('bugfix_regex_1');
}
if (!$f_bugfix_reset_2) {
    maybe_set_option('bugfix_regex_2', $f_bugfix_regex_2);
} else {
    plugin_config_delete('bugfix_regex_2');
}
maybe_set_option('bugfix_status', $f_bugfix_status);
maybe_set_option('bugfix_resolution', $f_bugfix_resolution);
maybe_set_option('bugfix_status_pvm', $f_bugfix_status_pvm);
maybe_set_option('bugfix_handler', $f_bugfix_handler);
maybe_set_option('bugfix_message', $f_bugfix_message);
maybe_set_option('bugfix_message_view_status', $f_bugfix_message_view_status);
maybe_set_option('remote_checkin', $f_remote_checkin);
maybe_set_option('checkin_urls', serialize($t_checkin_urls));
maybe_set_option('remote_imports', $f_remote_imports);
maybe_set_option('import_urls', serialize($t_import_urls));
maybe_set_option('api_key', $f_api_key);
foreach (SourceVCS::all() as $t_type => $t_vcs) {
    if ($t_vcs->configuration) {
        $t_vcs->update_config();
    }
}
form_security_purge('plugin_Source_manage_config');
print_successful_redirect(plugin_page('manage_config_page', true));