echo sprintf(__('Podlove Module "%s" could not be found and has been deactivated.', 'podlove'), $module_name);
                ?>
					</p>
				</div>
				<?php 
            });
        }
    }
});
// Add core modules to "activated modules" to ensure:
// 1. they are active
// 2. activation hook gets fired
add_filter('pre_update_option_podlove_active_modules', function ($new_val, $old_val) {
    // bring in form
    $core_modules = [];
    foreach (Modules\Base::get_core_module_names() as $module) {
        $core_modules[$module] = "on";
    }
    return array_merge($new_val, $core_modules);
}, 10, 2);
// fire activation and deactivation hooks for modules
add_action('update_option_podlove_active_modules', function ($old_val, $new_val) {
    $deactivated_modules = array_keys(array_diff_assoc($old_val, $new_val));
    $activated_modules = array_keys(array_diff_assoc($new_val, $old_val));
    if ($deactivated_modules) {
        foreach ($deactivated_modules as $deactivated_module) {
            Log::get()->addInfo('Deactivate module "' . $deactivated_module . '"');
            do_action('podlove_module_was_deactivated', $deactivated_module);
            do_action('podlove_module_was_deactivated_' . $deactivated_module);
        }
    }