';
// Check for options that also disable force updates
$options = MPSUM_Updates_Manager::get_options('core');
// Show a notice if all updates are disabled
if (isset($options['all_updates']) && 'off' == $options['all_updates']) {
printf('
%s
', esc_html__('All updates are disabled.', 'stops-core-theme-and-plugin-updates').' '.esc_html__('Please re-enable all updates for force updates to work.', 'stops-core-theme-and-plugin-updates'));
}
// Show a notice if automatic updates are off
if (!MPSUM_Utils::get_instance()->is_automatic_updates_enabled()) {
printf('
%s
', esc_html__('Automatic updates are off, so Force updates will not work.', 'stops-core-theme-and-plugin-updates'));
}
// Show a warning if delay updates is above zero
if (isset($options['delay_updates']) && $options['delay_updates'] > 0) {
printf('
%s
', esc_html__('Delayed updates are on, so some assets may not be updated automatically.', 'stops-core-theme-and-plugin-updates'));
}
// Begin output
printf('
', esc_html__('Force updates will request automatic updates of your plugins, core, themes, and translations immediately.', 'stops-core-theme-and-plugin-updates').' '.esc_html__('This is useful for debugging and checking that automatic updates are working as intended.', 'stops-core-theme-and-plugin-updates').' '.esc_html__('By default, WordPress checks for updates every 12 hours.', 'stops-core-theme-and-plugin-updates').' '.esc_html__('Running force updates will, if successful, cause updates to happen immediately.', 'stops-core-theme-and-plugin-updates'));
$updates = array();
if (current_user_can('update_core')) $updates[] = __('core', 'stops-core-theme-and-plugin-updates');
if (current_user_can('update_plugins')) $updates[] = __('plugin', 'stops-core-theme-and-plugin-updates');
if (current_user_can('update_themes')) $updates[] = __('theme', 'stops-core-theme-and-plugin-updates');
if (current_user_can('update_themes') || current_user_can('update_plugins')) $updates[] = __('translation', 'stops-core-theme-and-plugin-updates');
if (!$updates) {
printf('
%s
', esc_html__("You don't have sufficient user capabilities to force automatic updates.", 'stops-core-theme-and-plugin-updates'));
} else {
$allowed_entities = '';
$delimiter = '';
foreach ($updates as $i => $update) {
$allowed_entities .= $delimiter.($allowed_entities ? ' ' : '').$update;
$delimiter = ',';
if ($allowed_entities && count($updates)-1 == $i+1) $delimiter = ' '.__('and', 'stops-core-theme-and-plugin-updates');
}
/* Translators: %s: Allowed update types. */
if (count($updates) < 4) printf('
%s
', sprintf(esc_html__("You can only force %s automatic updates due to insufficient user capabilities you have for the website.", 'stops-core-theme-and-plugin-updates'), ''.esc_html($allowed_entities).''));
}
$utils = MPSUM_Utils::get_instance();
$updraftplus = $utils->is_installed('updraftplus');
if (true === $updraftplus['installed'] && true === $updraftplus['active']) {
global $updraftplus_admin;
if (is_a($updraftplus_admin, 'UpdraftPlus_Admin') && is_callable(array($updraftplus_admin, 'add_backup_scaffolding'))) {
printf('', esc_html__('Take a backup first (with UpdraftPlus)', 'stops-core-theme-and-plugin-updates'));
$updraftplus_admin->add_backup_scaffolding(__('Take a backup before update', 'stops-core-theme-and-plugin-updates'), array($updraftplus_admin, 'backupnow_modal_contents'));
}
} else {
if (true === $updraftplus['installed'] && false === $updraftplus['active']) {
$can_activate = is_multisite() ? current_user_can('manage_network_plugins') : current_user_can('activate_plugins');
if ($can_activate) {
$activate_link = is_multisite() ? network_admin_url('plugins.php?action=activate&plugin='.$updraftplus['name']) : self_admin_url('plugins.php?action=activate&plugin='.$updraftplus['name']);
$url = esc_url(wp_nonce_url(
$activate_link,
'activate-plugin_'.$updraftplus['name']
));
$url_text = __('Follow this link to activate it.', 'stops-core-theme-and-plugin-updates');
$anchor = "{$url_text}";
}
$required_plugin = __('Take a backup with UpdraftPlus before updating.', 'stops-core-theme-and-plugin-updates');
printf('
%s %s
', esc_html($required_plugin), wp_kses($anchor, array('a' => array('href' => array()))));
} else {
if (current_user_can('install_plugins')) {
$url = esc_url(wp_nonce_url(
is_multisite() ? network_admin_url('update.php?action=install-plugin&plugin=updraftcentral') : self_admin_url('update.php?action=install-plugin&plugin=updraftplus'),
'install-plugin_updraftplus'
));
$url_text = __('Follow this link to install it.', 'stops-core-theme-and-plugin-updates');
$anchor = "{$url_text}";
$required_plugin = __('You can take backups using UpdraftPlus before updating.', 'stops-core-theme-and-plugin-updates');
printf('