@@ -585,6 +585,7 @@ public static function apply_config_defaults(backup_controller $controller) {
585
585
'backup_import_activities ' => 'activities ' ,
586
586
'backup_import_blocks ' => 'blocks ' ,
587
587
'backup_import_filters ' => 'filters ' ,
588
+ 'backup_import_badges ' => 'badges ' ,
588
589
'backup_import_calendarevents ' => 'calendarevents ' ,
589
590
'backup_import_permissions ' => 'permissions ' ,
590
591
'backup_import_questionbank ' => 'questionbank ' ,
@@ -605,6 +606,8 @@ public static function apply_config_defaults(backup_controller $controller) {
605
606
'questionbank '
606
607
);
607
608
self ::force_enable_settings ($ controller , $ settings );
609
+ // Badges are not included by default when duplicating activities.
610
+ self ::force_settings ($ controller , ['badges ' ], false );
608
611
}
609
612
break ;
610
613
case backup::MODE_AUTOMATED :
@@ -645,9 +648,19 @@ public static function apply_config_defaults(backup_controller $controller) {
645
648
* @param array $settings a map from admin config names to setting names (Config name => Setting name)
646
649
*/
647
650
private static function force_enable_settings (backup_controller $ controller , array $ settings ) {
651
+ self ::force_settings ($ controller , $ settings , true );
652
+ }
653
+
654
+ /**
655
+ * Set these settings to the given $value. No defaults from admin settings.
656
+ *
657
+ * @param backup_controller $controller The backup controller.
658
+ * @param array $settings a map from admin config names to setting names (Config name => Setting name).
659
+ * @param mixed $value the value to set the settings to.
660
+ */
661
+ private static function force_settings (backup_controller $ controller , array $ settings , $ value ) {
648
662
$ plan = $ controller ->get_plan ();
649
663
foreach ($ settings as $ config => $ settingname ) {
650
- $ value = true ;
651
664
if ($ plan ->setting_exists ($ settingname )) {
652
665
$ setting = $ plan ->get_setting ($ settingname );
653
666
// We do not allow this setting to be locked for a duplicate function.
0 commit comments