installed plugin Companion Auto Update
version 3.7.1.1
This commit is contained in:
616
wp-content/plugins/companion-auto-update/admin/dashboard.php
Normal file
616
wp-content/plugins/companion-auto-update/admin/dashboard.php
Normal file
@ -0,0 +1,616 @@
|
||||
<?php
|
||||
|
||||
// Event schedules failed
|
||||
if ( !wp_next_scheduled ( 'cau_set_schedule_mail' ) ) {
|
||||
echo '<div id="message" class="error"><p><b>'.__( 'Companion Auto Update was not able to set the event for sending you emails, please re-activate the plugin in order to set the event', 'companion-auto-update' ).'.</b></p></div>';
|
||||
}
|
||||
|
||||
// Database requires an update
|
||||
if ( cau_incorrectDatabaseVersion() ) {
|
||||
echo '<div id="message" class="error"><p><b>'.__( 'Companion Auto Update Database Update', 'companion-auto-update' ).' –</b>
|
||||
'.__( 'We need you to update to the latest database version', 'companion-auto-update' ).'. <a href="'.cau_url( 'status' ).'&run=db_update" class="button button-alt" style="background: #FFF;">'.__( 'Run updater now', 'companion-auto-update' ).'</a></p></div>';
|
||||
}
|
||||
|
||||
// Update log DB is empty
|
||||
if ( cau_updateLogDBisEmpty() ) {
|
||||
echo '<div id="message" class="error"><p><b>'.__( 'Companion Auto Update Database Update', 'companion-auto-update' ).' –</b>
|
||||
'.__( 'We need to add some information to your database', 'companion-auto-update' ).'. <a href="'.cau_url( 'status' ).'&run=db_info_update" class="button button-alt" style="background: #FFF;">'.__( 'Run updater now', 'companion-auto-update' ).'</a></p></div>';
|
||||
}
|
||||
|
||||
// Save settings
|
||||
if( isset( $_POST['submit'] ) ) {
|
||||
|
||||
check_admin_referer( 'cau_save_settings' );
|
||||
|
||||
global $wpdb;
|
||||
$table_name = $wpdb->prefix . "auto_updates";
|
||||
|
||||
// Auto updater
|
||||
if( isset( $_POST['plugins'] ) ) $plugins = sanitize_text_field( $_POST['plugins'] ); else $plugins = '';
|
||||
if( isset( $_POST['themes'] ) ) $themes = sanitize_text_field( $_POST['themes'] ); else $themes = '';
|
||||
if( isset( $_POST['minor'] ) ) $minor = sanitize_text_field( $_POST['minor'] ); else $minor = '';
|
||||
if( isset( $_POST['major'] ) ) $major = sanitize_text_field( $_POST['major'] ); else $major = '';
|
||||
if( isset( $_POST['translations'] ) ) $translations = sanitize_text_field( $_POST['translations'] ); else $translations = '';
|
||||
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'plugins'", $plugins ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'themes'", $themes ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'minor'", $minor ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'major'", $major ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'translations'", $translations ) );
|
||||
|
||||
// Emails
|
||||
if( isset( $_POST['cau_send'] ) ) $send = sanitize_text_field( $_POST['cau_send'] ); else $send = '';
|
||||
if( isset( $_POST['cau_send_update'] ) ) $sendupdate = sanitize_text_field( $_POST['cau_send_update'] ); else $sendupdate = '';
|
||||
if( isset( $_POST['cau_send_outdated'] ) ) $sendoutdated = sanitize_text_field( $_POST['cau_send_outdated'] ); else $sendoutdated = '';
|
||||
if( isset( $_POST['wpemails'] ) ) $wpemails = sanitize_text_field( $_POST['wpemails'] ); else $wpemails = '';
|
||||
if( isset( $_POST['cau_email'] ) ) $email = sanitize_text_field( $_POST['cau_email'] );
|
||||
if( isset( $_POST['html_or_text'] ) ) $html_or_text = sanitize_text_field( $_POST['html_or_text'] );
|
||||
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'email'", $email ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'send'", $send ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'sendupdate'", $sendupdate ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'sendoutdated'", $sendoutdated ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'wpemails'", $wpemails ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'html_or_text'", $html_or_text ) );
|
||||
|
||||
// Advanced
|
||||
if( isset( $_POST['allow_editor'] ) ) $allow_editor = sanitize_text_field( $_POST['allow_editor'] ); else $allow_editor = '';
|
||||
if( isset( $_POST['allow_author'] ) ) $allow_author = sanitize_text_field( $_POST['allow_author'] ); else $allow_author = '';
|
||||
if( isset( $_POST['advanced_info_emails'] ) ) $advanced_info_emails = sanitize_text_field( $_POST['advanced_info_emails'] ); else $advanced_info_emails = '';
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'allow_editor'", $allow_editor ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'allow_author'", $allow_author ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'advanced_info_emails'", $advanced_info_emails ) );
|
||||
|
||||
// Delay
|
||||
if( isset( $_POST['update_delay'] ) ) $update_delay = sanitize_text_field( $_POST['update_delay'] ); else $update_delay = '';
|
||||
if( isset( $_POST['update_delay_days'] ) ) $update_delay_days = sanitize_text_field( $_POST['update_delay_days'] ); else $update_delay_days = '';
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'update_delay'", $update_delay ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'update_delay_days'", $update_delay_days ) );
|
||||
|
||||
// Intervals
|
||||
|
||||
// Set variables
|
||||
$plugin_sc = sanitize_text_field( $_POST['plugin_schedule'] );
|
||||
$theme_sc = sanitize_text_field( $_POST['theme_schedule'] );
|
||||
$core_sc = sanitize_text_field( $_POST['core_schedule'] );
|
||||
$schedule_mail = sanitize_text_field( $_POST['schedule_mail'] );
|
||||
$html_or_text = sanitize_text_field( $_POST['html_or_text'] );
|
||||
|
||||
// First clear schedules
|
||||
wp_clear_scheduled_hook('wp_update_plugins');
|
||||
wp_clear_scheduled_hook('wp_update_themes');
|
||||
wp_clear_scheduled_hook('wp_version_check');
|
||||
wp_clear_scheduled_hook('cau_set_schedule_mail');
|
||||
wp_clear_scheduled_hook('cau_custom_hooks_plugins');
|
||||
wp_clear_scheduled_hook('cau_custom_hooks_themes');
|
||||
wp_clear_scheduled_hook('cau_log_updater');
|
||||
|
||||
// Then set the new times
|
||||
|
||||
// Plugins
|
||||
if( $plugin_sc == 'daily' ) {
|
||||
|
||||
$date = date( 'Y-m-d' );
|
||||
$hours = sanitize_text_field( $_POST['pluginScheduleTimeH'] );
|
||||
$minutes = sanitize_text_field( $_POST['pluginScheduleTimeM'] );
|
||||
$seconds = date( 's' );
|
||||
$fullDate = $date.' '.$hours.':'.$minutes.':'.$seconds;
|
||||
$pluginSetTime = strtotime( $fullDate );
|
||||
|
||||
wp_schedule_event( $pluginSetTime, $plugin_sc, 'wp_update_plugins' );
|
||||
wp_schedule_event( $pluginSetTime, $plugin_sc, 'cau_custom_hooks_plugins' );
|
||||
wp_schedule_event( ( $pluginSetTime - 1800 ), $plugin_sc, 'cau_log_updater' );
|
||||
|
||||
} else {
|
||||
|
||||
wp_schedule_event( time(), $plugin_sc, 'wp_update_plugins' );
|
||||
wp_schedule_event( time(), $plugin_sc, 'cau_custom_hooks_plugins' );
|
||||
wp_schedule_event( ( time() - 1800 ), $plugin_sc, 'cau_log_updater' );
|
||||
|
||||
}
|
||||
|
||||
// Themes
|
||||
if( $theme_sc == 'daily' ) {
|
||||
|
||||
$dateT = date( 'Y-m-d' );
|
||||
$hoursT = sanitize_text_field( $_POST['ThemeScheduleTimeH'] );
|
||||
$minutesT = sanitize_text_field( $_POST['ThemeScheduleTimeM'] );
|
||||
$secondsT = date( 's' );
|
||||
$fullDateT = $dateT.' '.$hoursT.':'.$minutesT.':'.$secondsT;
|
||||
$themeSetTime = strtotime( $fullDateT );
|
||||
|
||||
wp_schedule_event( $themeSetTime, $theme_sc, 'wp_update_themes' );
|
||||
wp_schedule_event( $themeSetTime, $theme_sc, 'cau_custom_hooks_themes' );
|
||||
|
||||
} else {
|
||||
|
||||
wp_schedule_event( time(), $theme_sc, 'wp_update_themes' );
|
||||
wp_schedule_event( time(), $theme_sc, 'cau_custom_hooks_themes' );
|
||||
|
||||
}
|
||||
|
||||
// Core
|
||||
if( $core_sc == 'daily' ) {
|
||||
|
||||
$dateC = date( 'Y-m-d' );
|
||||
$hoursC = sanitize_text_field( $_POST['CoreScheduleTimeH'] );
|
||||
$minutesC = sanitize_text_field( $_POST['CoreScheduleTimeM'] );
|
||||
$secondsC = date( 's' );
|
||||
$fullDateC = $dateC.' '.$hoursC.':'.$minutesC.':'.$secondsC;
|
||||
$coreSetTime = strtotime( $fullDateC );
|
||||
|
||||
wp_schedule_event( $coreSetTime, $core_sc, 'wp_version_check' );
|
||||
|
||||
} else {
|
||||
|
||||
wp_schedule_event( time(), $core_sc, 'wp_version_check' );
|
||||
|
||||
}
|
||||
|
||||
// Emails
|
||||
if( $schedule_mail == 'daily' ) {
|
||||
|
||||
$dateT = date( 'Y-m-d' );
|
||||
$hoursT = sanitize_text_field( $_POST['timeScheduleEmailTimeH'] );
|
||||
$minutesT = sanitize_text_field( $_POST['timeScheduleEmailTimeM'] );
|
||||
$secondsT = date( 's' );
|
||||
$fullDateT = $dateT.' '.$hoursT.':'.$minutesT.':'.$secondsT;
|
||||
$emailSetTime = strtotime( $fullDateT );
|
||||
|
||||
wp_schedule_event( $emailSetTime, $schedule_mail, 'cau_set_schedule_mail' );
|
||||
|
||||
} else {
|
||||
|
||||
wp_schedule_event( time(), $schedule_mail, 'cau_set_schedule_mail' );
|
||||
|
||||
}
|
||||
|
||||
echo '<div id="message" class="updated"><p><b>'.__( 'Settings saved.' ).'</b></p></div>';
|
||||
|
||||
}
|
||||
|
||||
if( isset( $_GET['welcome'] ) ) {
|
||||
|
||||
echo '<div class="welcome-to-cau welcome-bg welcome-panel" style="margin-bottom: 0px;">
|
||||
<div class="welcome-image">
|
||||
</div><div class="welcome-content">
|
||||
|
||||
<h3>'.__( 'Welcome to Companion Auto Update', 'companion-auto-update' ).'</h3>
|
||||
<br />
|
||||
<p><strong>'.__( 'You\'re set and ready to go', 'companion-auto-update' ).'</strong></p>
|
||||
<p>'.__( 'The plugin is all set and ready to go with the recommended settings, but if you\'d like you can change them below.' ).'</p>
|
||||
<br />
|
||||
<p><strong>'.__( 'Get Started' ).': </strong> <a href="'.cau_url( 'pluginlist' ).'">'.__( 'Update filter', 'companion-auto-update' ).'</a> |
|
||||
<strong>'.__( 'More Actions' ).': </strong> <a href="http://codeermeneer.nl/cau_poll/" target="_blank">'.__('Give feedback', 'companion-auto-update').'</a> - <a href="https://translate.wordpress.org/projects/wp-plugins/companion-auto-update/" target="_blank">'.__( 'Help us translate', 'companion-auto-update' ).'</a></p>
|
||||
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
$plugin_schedule = wp_get_schedule( 'wp_update_plugins' );
|
||||
$theme_schedule = wp_get_schedule( 'wp_update_themes' );
|
||||
$core_schedule = wp_get_schedule( 'wp_version_check' );
|
||||
$schedule_mail = wp_get_schedule( 'cau_set_schedule_mail' );
|
||||
$cs_hooks_p = wp_get_schedule( 'cau_custom_hooks_plugins' );
|
||||
$cs_hooks_t = wp_get_schedule( 'cau_custom_hooks_themes' );
|
||||
$availableIntervals = cau_wp_get_schedules();
|
||||
|
||||
?>
|
||||
|
||||
<div class="cau-column-wide">
|
||||
|
||||
<form method="POST">
|
||||
|
||||
<div class="welcome-to-cau update-bg welcome-panel cau-dashboard-box">
|
||||
|
||||
<h2 class="title"><?php _e('Auto Updater', 'companion-auto-update');?></h2>
|
||||
|
||||
<table class="form-table">
|
||||
<tr>
|
||||
<td>
|
||||
<fieldset>
|
||||
|
||||
<?php
|
||||
|
||||
echo '<p><input id="plugins" name="plugins" type="checkbox"';
|
||||
if( cau_get_db_value( 'plugins' ) == 'on' ) echo 'checked';
|
||||
echo '/> <label for="plugins">'.__('Auto update plugins?', 'companion-auto-update').'</label></p>';
|
||||
|
||||
echo '<p><input id="themes" name="themes" type="checkbox"';
|
||||
if( cau_get_db_value( 'themes' ) == 'on' ) echo 'checked';
|
||||
echo '/> <label for="themes">'.__('Auto update themes?', 'companion-auto-update').'</label></p>';
|
||||
|
||||
echo '<p><input id="minor" name="minor" type="checkbox"';
|
||||
if( cau_get_db_value( 'minor' ) == 'on' ) echo 'checked';
|
||||
echo '/> <label for="minor">'.__('Auto update minor core updates?', 'companion-auto-update').' <code class="majorMinorExplain">5.3.0 > 5.3.1</code></label></p>';
|
||||
|
||||
echo '<p><input id="major" name="major" type="checkbox"';
|
||||
if( cau_get_db_value( 'major' ) == 'on' ) echo 'checked';
|
||||
echo '/> <label for="major">'.__('Auto update major core updates?', 'companion-auto-update').' <code class="majorMinorExplain">5.3.0 > 5.4.0</code></label></p>';
|
||||
|
||||
echo '<p><input id="translations" name="translations" type="checkbox"';
|
||||
if( cau_get_db_value( 'translations' ) == 'on' ) echo 'checked';
|
||||
echo '/> <label for="translations">'.__('Auto update translation files?', 'companion-auto-update').'</label></p>';
|
||||
|
||||
?>
|
||||
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="welcome-to-cau email-bg welcome-panel cau-dashboard-box">
|
||||
|
||||
<h2 class="title"><?php _e( 'Email Notifications', 'companion-auto-update' );?></h2>
|
||||
|
||||
<?php
|
||||
if( cau_get_db_value( 'email' ) == '' ) $toemail = get_option('admin_email');
|
||||
else $toemail = cau_get_db_value( 'email' );
|
||||
?>
|
||||
|
||||
<table class="form-table">
|
||||
<tr>
|
||||
<th scope="row"><?php _e( 'Update available', 'companion-auto-update' );?></th>
|
||||
<td>
|
||||
<p>
|
||||
<input id="cau_send" name="cau_send" type="checkbox" <?php if( cau_get_db_value( 'send' ) == 'on' ) { echo 'checked'; } ?> />
|
||||
<label for="cau_send"><?php _e('Send me emails when an update is available.', 'companion-auto-update');?></label>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><?php _e( 'Successful update', 'companion-auto-update' );?></th>
|
||||
<td>
|
||||
<p>
|
||||
<input id="cau_send_update" name="cau_send_update" type="checkbox" <?php if( cau_get_db_value( 'sendupdate' ) == 'on' ) { echo 'checked'; } ?> />
|
||||
<label for="cau_send_update"><?php _e( 'Send me emails when something has been updated.', 'companion-auto-update' );?></label>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><?php _e( 'Outdated software', 'companion-auto-update' );?></th>
|
||||
<td>
|
||||
<p>
|
||||
<input id="cau_send_outdated" name="cau_send_outdated" type="checkbox" <?php if( cau_get_db_value( 'sendoutdated' ) == 'on' ) { echo 'checked'; } ?> />
|
||||
<label for="cau_send_outdated"><?php _e( 'Be notified of plugins that have not been tested with your current version of WordPress.', 'companion-auto-update' );?></label>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><?php _e( 'Email Address' );?></th>
|
||||
<td>
|
||||
<p>
|
||||
<label for="cau_email"><?php _e( 'To', 'companion-auto-update' ); ?>:</label>
|
||||
<input type="text" name="cau_email" id="cau_email" class="regular-text" placeholder="<?php echo get_option('admin_email'); ?>" value="<?php echo esc_html( $toemail ); ?>" />
|
||||
</p>
|
||||
|
||||
<p class="description"><?php _e('Seperate email addresses using commas.', 'companion-auto-update');?></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><?php _e( 'Use HTML in emails?', 'companion-auto-update' );?></th>
|
||||
<td>
|
||||
<p>
|
||||
<select id='html_or_text' name='html_or_text'>
|
||||
<option value='html' <?php if( cau_get_db_value( 'html_or_text' ) == 'html' ) { echo "SELECTED"; } ?>><?php _e( 'Use HTML', 'companion-auto-update' ); ?></option>
|
||||
<option value='text' <?php if( cau_get_db_value( 'html_or_text' ) == 'text' ) { echo "SELECTED"; } ?>><?php _e( 'Use plain text', 'companion-auto-update' ); ?></option>
|
||||
</select>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><?php _e( 'Show more info in emails', 'companion-auto-update' );?></th>
|
||||
<td>
|
||||
<p>
|
||||
<label for="advanced_info_emails"><input name="advanced_info_emails" type="checkbox" id="advanced_info_emails" <?php if( cau_get_db_value( 'advanced_info_emails' ) == 'on' ) { echo "CHECKED"; } ?>> <?php _e( 'Show the time of the update', 'companion-auto-update' ); ?></label>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<?php _e( 'WordPress notifications', 'companion-auto-update' );?>
|
||||
<span class='cau_tooltip'><span class="dashicons dashicons-editor-help"></span>
|
||||
<span class='cau_tooltip_text'>
|
||||
<?php _e( 'Core notifications are handled by WordPress and not by this plugin. You can only disable them, changing your email address in the settings above will not affect these notifications.', 'companion-auto-update' );?>
|
||||
</span>
|
||||
</span>
|
||||
</th>
|
||||
<td>
|
||||
<p>
|
||||
<input id="wpemails" name="wpemails" type="checkbox" <?php if( cau_get_db_value( 'wpemails' ) == 'on' ) { echo 'checked'; } ?> />
|
||||
<label for="wpemails"><?php _e( 'By default WordPress sends an email when a core update has occurred. Uncheck this box to disable these emails.', 'companion-auto-update' ); ?></label>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="welcome-to-cau interval-bg welcome-panel cau-dashboard-box" style="overflow: hidden;">
|
||||
|
||||
<h2 class="title"><?php _e('Intervals', 'companion-auto-update');?></h2>
|
||||
|
||||
<div class="welcome-column welcome-column-quarter">
|
||||
|
||||
<h4><?php _e( 'Plugin update interval', 'companion-auto-update' );?></h4>
|
||||
<p>
|
||||
<select name='plugin_schedule' id='plugin_schedule' class='schedule_interval wide'>
|
||||
<?php foreach ( $availableIntervals as $key => $value ) {
|
||||
echo "<option "; if( $plugin_schedule == $key ) { echo "selected "; } echo "value='".$key."'>".$value."</option>";
|
||||
} ?>
|
||||
</select>
|
||||
</p>
|
||||
<div class='timeSchedulePlugins' <?php if( $plugin_schedule != 'daily' ) { echo "style='display: none;'"; } ?> >
|
||||
|
||||
<?php
|
||||
|
||||
$setTimePlugins = wp_next_scheduled( 'wp_update_plugins' );
|
||||
$setTimePluginsHour = date( 'H' , $setTimePlugins );
|
||||
$setTimePluginsMin = date( 'i' , $setTimePlugins );
|
||||
|
||||
?>
|
||||
|
||||
<div class='cau_schedule_input'>
|
||||
<input type='number' min='0' max='23' name='pluginScheduleTimeH' value='<?php echo $setTimePluginsHour; ?>' maxlength='2' >
|
||||
</div><div class='cau_schedule_input_div'>
|
||||
:
|
||||
</div><div class='cau_schedule_input'>
|
||||
<input type='number' min='0' max='59' name='pluginScheduleTimeM' value='<?php echo $setTimePluginsMin; ?>' maxlength='2' >
|
||||
</div><div class='cau_shedule_notation'>
|
||||
<span class='cau_tooltip'><span class="dashicons dashicons-editor-help"></span>
|
||||
<span class='cau_tooltip_text'><?php _e('At what time should the updater run? Only works when set to <u>daily</u>.', 'companion-auto-update'); ?> - <?php _e( 'Time notation: 24H', 'companion-auto-update'); ?></span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div><div class="welcome-column welcome-column-quarter">
|
||||
|
||||
<h4><?php _e( 'Theme update interval', 'companion-auto-update' );?></h4>
|
||||
<p>
|
||||
<select name='theme_schedule' id='theme_schedule' class='schedule_interval wide'>
|
||||
<?php foreach ( $availableIntervals as $key => $value ) {
|
||||
echo "<option "; if( $theme_schedule == $key ) { echo "selected "; } echo "value='".$key."'>".$value."</option>";
|
||||
} ?>
|
||||
</select>
|
||||
</p>
|
||||
<div class='timeScheduleThemes' <?php if( $theme_schedule != 'daily' ) { echo "style='display: none;'"; } ?> >
|
||||
|
||||
<?php
|
||||
|
||||
$setTimeThemes = wp_next_scheduled( 'wp_update_themes' );
|
||||
$setTimeThemesHour = date( 'H' , $setTimeThemes );
|
||||
$setTimeThemesMins = date( 'i' , $setTimeThemes );
|
||||
|
||||
?>
|
||||
|
||||
<div class='cau_schedule_input'>
|
||||
<input type='number' min='0' max='23' name='ThemeScheduleTimeH' value='<?php echo $setTimeThemesHour; ?>' maxlength='2' >
|
||||
</div><div class='cau_schedule_input_div'>
|
||||
:
|
||||
</div><div class='cau_schedule_input'>
|
||||
<input type='number' min='0' max='59' name='ThemeScheduleTimeM' value='<?php echo $setTimeThemesMins; ?>' maxlength='2' >
|
||||
</div><div class='cau_shedule_notation'>
|
||||
<span class='cau_tooltip'><span class="dashicons dashicons-editor-help"></span>
|
||||
<span class='cau_tooltip_text'><?php _e('At what time should the updater run? Only works when set to <u>daily</u>.', 'companion-auto-update'); ?> - <?php _e( 'Time notation: 24H', 'companion-auto-update'); ?></span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><div class="welcome-column welcome-column-quarter">
|
||||
|
||||
<h4><?php _e( 'Core update interval', 'companion-auto-update' );?></h4>
|
||||
<p>
|
||||
<select name='core_schedule' id='core_schedule' class='schedule_interval wide'>
|
||||
<?php foreach ( $availableIntervals as $key => $value ) {
|
||||
echo "<option "; if( $core_schedule == $key ) { echo "selected "; } echo "value='".$key."'>".$value."</option>";
|
||||
} ?>
|
||||
</select>
|
||||
</p>
|
||||
<div class='timeScheduleCore' <?php if( $core_schedule != 'daily' ) { echo "style='display: none;'"; } ?> >
|
||||
|
||||
<?php
|
||||
|
||||
$setTimeCore = wp_next_scheduled( 'wp_version_check' );
|
||||
$setTimeCoreHour = date( 'H' , $setTimeCore );
|
||||
$setTimeCoreMins = date( 'i' , $setTimeCore );
|
||||
|
||||
?>
|
||||
|
||||
<div class='cau_schedule_input'>
|
||||
<input type='number' min='0' max='23' name='CoreScheduleTimeH' value='<?php echo $setTimeCoreHour; ?>' maxlength='2' >
|
||||
</div><div class='cau_schedule_input_div'>
|
||||
:
|
||||
</div><div class='cau_schedule_input'>
|
||||
<input type='number' min='0' max='59' name='CoreScheduleTimeM' value='<?php echo $setTimeCoreMins; ?>' maxlength='2' >
|
||||
</div><div class='cau_shedule_notation'>
|
||||
<span class='cau_tooltip'><span class="dashicons dashicons-editor-help"></span>
|
||||
<span class='cau_tooltip_text'><?php _e('At what time should the updater run? Only works when set to <u>daily</u>.', 'companion-auto-update'); ?> - <?php _e( 'Time notation: 24H', 'companion-auto-update'); ?></span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><div class="welcome-column welcome-column-quarter">
|
||||
|
||||
<h4><?php _e( 'Email Notifications', 'companion-auto-update' );?></h4>
|
||||
<p>
|
||||
<select id='schedule_mail' name='schedule_mail' class='schedule_interval wide'>
|
||||
<?php foreach ( $availableIntervals as $key => $value ) {
|
||||
echo "<option "; if( $schedule_mail == $key ) { echo "selected "; } echo "value='".$key."'>".$value."</option>";
|
||||
} ?>
|
||||
</select>
|
||||
</p>
|
||||
<div class='timeScheduleEmail' <?php if( $schedule_mail != 'daily' ) { echo "style='display: none;'"; } ?> >
|
||||
|
||||
<?php
|
||||
|
||||
$setTimeEmails = wp_next_scheduled( 'cau_set_schedule_mail' );
|
||||
$setTimeEmailHour = date( 'H' , $setTimeEmails );
|
||||
$setTimeEmailMins = date( 'i' , $setTimeEmails );
|
||||
|
||||
?>
|
||||
|
||||
<div class='cau_schedule_input'>
|
||||
<input type='number' min='0' max='23' name='timeScheduleEmailTimeH' value='<?php echo $setTimeEmailHour; ?>' maxlength='2' >
|
||||
</div><div class='cau_schedule_input_div'>
|
||||
:
|
||||
</div><div class='cau_schedule_input'>
|
||||
<input type='number' min='0' max='59' name='timeScheduleEmailTimeM' value='<?php echo $setTimeEmailMins; ?>' maxlength='2' >
|
||||
</div><div class='cau_shedule_notation'>
|
||||
<span class='cau_tooltip'><span class="dashicons dashicons-editor-help"></span>
|
||||
<span class='cau_tooltip_text'><?php _e( 'Time notation: 24H', 'companion-auto-update'); ?></span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="welcome-to-cau advanced-bg welcome-panel cau-dashboard-box">
|
||||
|
||||
<h2 class="title"><?php _e( 'Advanced settings', 'companion-auto-update' ); ?></h2>
|
||||
|
||||
<table class="form-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><label><?php _e( 'Allow access to:', 'companion-auto-update' ); ?></label></th>
|
||||
<td>
|
||||
<p><label for="allow_administrator"><input name="allow_administrator" type="checkbox" id="allow_administrator" disabled="" checked=""><?php _e( 'Administrator' ); ?></label></p>
|
||||
<p><label for="allow_editor"><input name="allow_editor" type="checkbox" id="allow_editor" <?php if( cau_get_db_value( 'allow_editor' ) == 'on' ) { echo "CHECKED"; } ?>><?php _e( 'Editor' ); ?></label></p>
|
||||
<p><label for="allow_author"><input name="allow_author" type="checkbox" id="allow_author" <?php if( cau_get_db_value( 'allow_author' ) == 'on' ) { echo "CHECKED"; } ?>><?php _e( 'Author' ); ?></label></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label><?php _e( 'Delay updates', 'companion-auto-update' ); ?></label></th>
|
||||
<td>
|
||||
<p><label for="update_delay"><input name="update_delay" type="checkbox" id="update_delay" <?php if( cau_get_db_value( 'update_delay' ) == 'on' ) { echo "CHECKED"; } ?>><?php _e( 'Delay updates' ); ?></label></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='update_delay_days_block' <?php if( cau_get_db_value( 'update_delay' ) != 'on' ) { echo "class='disabled_option'"; } ?>>
|
||||
<th scope="row"><label><?php _e( 'Number of days', 'companion-auto-update' ); ?></label></th>
|
||||
<td>
|
||||
<input type="number" min="0" max="31" name="update_delay_days" id="update_delay_days" class="regular-text" value="<?php echo cau_get_db_value( 'update_delay_days' ); ?>" />
|
||||
<p><?php _e( 'For how many days should updates be put on hold?', 'companion-auto-update' ); ?></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<?php wp_nonce_field( 'cau_save_settings' ); ?>
|
||||
<?php submit_button(); ?>
|
||||
|
||||
</form>
|
||||
|
||||
</div><div class="cau-column-small">
|
||||
|
||||
<div class="welcome-to-cau help-bg welcome-panel cau-dashboard-box">
|
||||
<div class="welcome-column welcome-column.welcome-column-half">
|
||||
<h3 class="support-sidebar-title"><?php _e( 'Help' ); ?></h3>
|
||||
<ul class="support-sidebar-list">
|
||||
<li><a href="https://codeermeneer.nl/stuffs/faq-auto-updater/" target="_blank"><?php _e( 'Frequently Asked Questions', 'companion-auto-update' ); ?></a></li>
|
||||
<li><a href="https://wordpress.org/support/plugin/companion-auto-update" target="_blank"><?php _e( 'Support Forums' ); ?></a></li>
|
||||
</ul>
|
||||
|
||||
<h3 class="support-sidebar-title"><?php _e( 'Want to contribute?', 'companion-auto-update' ); ?></h3>
|
||||
<ul class="support-sidebar-list">
|
||||
<li><a href="http://codeermeneer.nl/cau_poll/" target="_blank"><?php _e( 'Give feedback', 'companion-auto-update' ); ?></a></li>
|
||||
<li><a href="https://codeermeneer.nl/blog/companion-auto-update-and-its-future/" target="_blank"><?php _e( 'Feature To-Do List', 'companion-auto-update' ); ?></a></li>
|
||||
<li><a href="https://translate.wordpress.org/projects/wp-plugins/companion-auto-update/" target="_blank"><?php _e( 'Help us translate', 'companion-auto-update' ); ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="welcome-column welcome-column.welcome-column-half">
|
||||
<h3 class="support-sidebar-title"><?php _e( 'Developer?', 'companion-auto-update' ); ?></h3>
|
||||
<ul class="support-sidebar-list">
|
||||
<li><a href="https://codeermeneer.nl/documentation/auto-update/" target="_blank"><?php _e( 'Documentation' ); ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="welcome-to-cau support-bg welcome-panel cau-dashboard-box">
|
||||
<div class="welcome-column welcome-column">
|
||||
<h3><?php _e('Support', 'companion-auto-update');?></h3>
|
||||
<p><?php _e('Feel free to reach out to us if you have any questions or feedback.', 'companion-auto-update'); ?></p>
|
||||
<p><a href="https://codeermeneer.nl/contact/" target="_blank" class="button button-primary"><?php _e( 'Contact us', 'companion-auto-update' ); ?></a></p>
|
||||
<p><a href="https://codeermeneer.nl/plugins/" target="_blank" class="button button-alt"><?php _e('Check out our other plugins', 'companion-auto-update');?></a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="welcome-to-cau love-bg cau-show-love welcome-panel cau-dashboard-box">
|
||||
<h3><?php _e( 'Like our plugin?', 'companion-auto-update' ); ?></h3>
|
||||
<p><?php _e('Companion Auto Update is free to use. It has required a great deal of time and effort to develop and you can help support this development by making a small donation.<br />You get useful software and we get to carry on making it better.', 'companion-auto-update'); ?></p>
|
||||
<a href="https://wordpress.org/support/plugin/companion-auto-update/reviews/#new-post" target="_blank" class="button button-alt button-hero">
|
||||
<?php _e('Rate us (5 stars?)', 'companion-auto-update'); ?>
|
||||
</a>
|
||||
<a href="<?php echo cau_donateUrl(); ?>" target="_blank" class="button button-primary button-hero">
|
||||
<?php _e('Donate to help development', 'companion-auto-update'); ?>
|
||||
</a>
|
||||
<p style="font-size: 12px; color: #BDBDBD;">Donations via PayPal. Amount can be changed.</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.disabled_option {
|
||||
opacity: .5;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
jQuery( '#update_delay' ).change( function() {
|
||||
jQuery( '#update_delay_days_block' ).toggleClass( 'disabled_option' );
|
||||
});
|
||||
|
||||
jQuery( '#plugin_schedule' ).change( function() {
|
||||
|
||||
var selected = jQuery(this).val();
|
||||
|
||||
if( selected == 'daily' ) {
|
||||
jQuery('.timeSchedulePlugins').show();
|
||||
} else {
|
||||
jQuery('.timeSchedulePlugins').hide();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
jQuery( '#theme_schedule' ).change( function() {
|
||||
|
||||
var selected = jQuery(this).val();
|
||||
|
||||
if( selected == 'daily' ) {
|
||||
jQuery('.timeScheduleThemes').show();
|
||||
} else {
|
||||
jQuery('.timeScheduleThemes').hide();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
jQuery( '#core_schedule' ).change( function() {
|
||||
|
||||
var selected = jQuery(this).val();
|
||||
|
||||
if( selected == 'daily' ) {
|
||||
jQuery('.timeScheduleCore').show();
|
||||
} else {
|
||||
jQuery('.timeScheduleCore').hide();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
jQuery( '#schedule_mail' ).change( function() {
|
||||
|
||||
var selected = jQuery(this).val();
|
||||
|
||||
if( selected == 'daily' ) {
|
||||
jQuery('.timeScheduleEmail').show();
|
||||
} else {
|
||||
jQuery('.timeScheduleEmail').hide();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
</script>
|
19
wp-content/plugins/companion-auto-update/admin/log.php
Normal file
19
wp-content/plugins/companion-auto-update/admin/log.php
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
if( isset( $_GET['filter'] ) ) {
|
||||
$filter = $_GET['filter'];
|
||||
} else {
|
||||
$filter = 'all';
|
||||
}
|
||||
?>
|
||||
|
||||
<ul class="subsubsub">
|
||||
<li><a <?php if( $filter == 'all' ) { echo "class='current'"; } ?> href='<?php echo cau_url( 'log&filter=all' ); ?>'><?php _e( 'View full changelog', 'companion-auto-update' ); ?></a></li> |
|
||||
<li><a <?php if( $filter == 'plugins' ) { echo "class='current'"; } ?> href='<?php echo cau_url( 'log&filter=plugins' ); ?>'><?php _e( 'Plugins', 'companion-auto-update' ); ?></a></li> |
|
||||
<li><a <?php if( $filter == 'themes' ) { echo "class='current'"; } ?> href='<?php echo cau_url( 'log&filter=themes' ); ?>'><?php _e( 'Themes', 'companion-auto-update' ); ?></a></li> |
|
||||
<li><a <?php if( $filter == 'translations' ) { echo "class='current'"; } ?> href='<?php echo cau_url( 'log&filter=translations' ); ?>'><?php _e( 'Translations', 'companion-auto-update' ); ?></a></li>
|
||||
</ul>
|
||||
|
||||
<div class='cau_spacing'></div>
|
||||
|
||||
<?php
|
||||
cau_fetch_log( 'all', 'table' );
|
185
wp-content/plugins/companion-auto-update/admin/pluginlist.php
Normal file
185
wp-content/plugins/companion-auto-update/admin/pluginlist.php
Normal file
@ -0,0 +1,185 @@
|
||||
<?php
|
||||
|
||||
// Get selected filter type
|
||||
if( isset( $_GET['filter'] ) ) {
|
||||
$filter = sanitize_key( $_GET['filter'] );
|
||||
} else {
|
||||
$filter = 'plugins';
|
||||
}
|
||||
|
||||
// Select correct database row
|
||||
switch ( $filter ) {
|
||||
case 'themes':
|
||||
$db_table = 'notUpdateListTh';
|
||||
$filter_name = __( 'Themes', 'companion-auto-update' );
|
||||
$filterFunction = wp_get_themes();
|
||||
break;
|
||||
case 'plugins':
|
||||
$db_table = 'notUpdateList';
|
||||
$filter_name = __( 'Plugins', 'companion-auto-update' );
|
||||
$filterFunction = get_plugins();
|
||||
break;
|
||||
default:
|
||||
$db_table = 'notUpdateList';
|
||||
$filter_name = __( 'Plugins', 'companion-auto-update' );
|
||||
$filterFunction = get_plugins();
|
||||
break;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<ul class="subsubsub">
|
||||
<li><a <?php if( $filter == 'plugins' ) { echo "class='current'"; } ?> href='<?php echo cau_url( 'pluginlist&filter=plugins' ); ?>'><?php _e( 'Plugins', 'companion-auto-update' ); ?></a></li> |
|
||||
<li><a <?php if( $filter == 'themes' ) { echo "class='current'"; } ?> href='<?php echo cau_url( 'pluginlist&filter=themes' ); ?>'><?php _e( 'Themes', 'companion-auto-update' ); ?></a></li>
|
||||
</ul>
|
||||
|
||||
<div style='clear: both;'></div>
|
||||
|
||||
<?php if( $filter == 'themes' ) { ?>
|
||||
<div id="message" class="cau">
|
||||
We've had to (temporarily) disable the theme filter because it was causing issues on some installations. We'll try to get it working again in a future update.
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<p><?php echo sprintf( esc_html__( 'Prevent certain %s from updating automatically. %s that you select here will be skipped by Companion Auto Update and will require manual updating.', 'companion-auto-update' ), strtolower( $filter_name ), $filter_name ); ?></p>
|
||||
|
||||
<?php
|
||||
|
||||
global $wpdb;
|
||||
$table_name = $wpdb->prefix."auto_updates";
|
||||
|
||||
// Save list
|
||||
if( isset( $_POST['submit'] ) ) {
|
||||
|
||||
check_admin_referer( 'cau_save_pluginlist' );
|
||||
|
||||
$noUpdateList = '';
|
||||
$i = 0;
|
||||
$noUpdateCount = 0;
|
||||
|
||||
if( isset( $_POST['post'] ) ) {
|
||||
$noUpdateCount = count( $_POST['post'] );
|
||||
}
|
||||
|
||||
if( $noUpdateCount > 0 ) {
|
||||
foreach ( $_POST['post'] as $key ) {
|
||||
$noUpdateList .= sanitize_text_field( $key );
|
||||
$i++;
|
||||
if( $i != $noUpdateCount ) $noUpdateList .= ', ';
|
||||
}
|
||||
}
|
||||
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = '%s' WHERE name = '%s'", $noUpdateList, $db_table ) );
|
||||
echo '<div id="message" class="updated"><p><b>'.__( 'Succes', 'companion-auto-update' ).' –</b> '.sprintf( esc_html__( '%1$s %2$s have been added to the no-update-list', 'companion-auto-update' ), $noUpdateCount, strtolower( $filter_name ) ).'.</p></div>';
|
||||
}
|
||||
|
||||
|
||||
// Reset list
|
||||
if( isset( $_POST['reset'] ) ) {
|
||||
|
||||
check_admin_referer( 'cau_save_pluginlist' );
|
||||
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = '%s' WHERE name = %s", "", $db_table ) );
|
||||
echo '<div id="message" class="updated"><p><b>'.__( 'Succes', 'companion-auto-update' ).' –</b> '.sprintf( esc_html__( 'The no-update-list has been reset, all %s will be auto-updated from now on', 'companion-auto-update' ), strtolower( $filter_name ) ).'.</p></div>';
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
|
||||
<form method="POST">
|
||||
|
||||
<div class='pluginListButtons'>
|
||||
<?php submit_button(); ?>
|
||||
<input type='submit' name='reset' id='reset' class='button button-alt' value='<?php _e( "Reset list", "companion-auto-update" ); ?>'>
|
||||
</div>
|
||||
|
||||
<table class="wp-list-table widefat autoupdate striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<th class="head-plugin"><strong><?php _e( 'Name', 'companion-auto-update' ); ?></strong></th>
|
||||
<th class="head-status"><strong><?php _e( 'Status', 'companion-auto-update' ); ?></strong></th>
|
||||
<th class="head-description"><strong><?php _e( 'Description' ); ?></strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="the-list">
|
||||
|
||||
<?php
|
||||
|
||||
foreach ( $filterFunction as $key => $value ) {
|
||||
|
||||
$slug = $key;
|
||||
$explosion = explode( '/', $slug );
|
||||
$actualSlug = array_shift( $explosion );
|
||||
$slug_hash = md5( $slug[0] );
|
||||
|
||||
if( $filter == 'themes' ) {
|
||||
|
||||
$theme = wp_get_theme( $actualSlug );
|
||||
$name = $theme->get( 'Name' );
|
||||
$description = $theme->get( 'Description' );
|
||||
|
||||
} else {
|
||||
|
||||
foreach ( $value as $k => $v ) {
|
||||
|
||||
if( $k == "Name" ) $name = $v;
|
||||
if( $k == "Description" ) $description = $v;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if( in_array( $actualSlug, donotupdatelist( $filter ) ) ) {
|
||||
|
||||
$class = 'inactive';
|
||||
$checked = 'CHECKED';
|
||||
$statusicon = 'no';
|
||||
$statusName = 'disabled';
|
||||
|
||||
} else {
|
||||
|
||||
$class = 'active';
|
||||
$checked = '';
|
||||
$statusicon = 'yes';
|
||||
$statusName = 'enabled';
|
||||
}
|
||||
|
||||
echo '<tr id="post-'.$slug_hash.'" class="'.$class.'">
|
||||
|
||||
<th class="check-column">
|
||||
<label class="screen-reader-text" for="cb-select-'.$slug_hash.'">Select '. $name .'</label>
|
||||
<input id="cb-select-'.$slug_hash.'" type="checkbox" name="post[]" value="'.$actualSlug.'" '.$checked.' ><label></label>
|
||||
<div class="locked-indicator"></div>
|
||||
</th>
|
||||
|
||||
<td class="column-name">
|
||||
<p style="margin-bottom: 0px;"><strong>'. $name .'</strong></p>
|
||||
<small class="description" style="opacity: 0.5; margin-bottom: 3px;">'.$actualSlug.'</small>
|
||||
</td>
|
||||
|
||||
<td class="cau_hide_on_mobile column-status">
|
||||
<p><span class="nowrap">'.__( 'Auto Updater', 'companion-auto-update' ).': <span class="cau_'.$statusName.'"><span class="dashicons dashicons-'.$statusicon.'"></span></span></span></p>
|
||||
</td>
|
||||
|
||||
<td class="cau_hide_on_mobile column-description">
|
||||
<p>'.$description.'</p>
|
||||
</td>
|
||||
|
||||
</tr>';
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<?php wp_nonce_field( 'cau_save_pluginlist' ); ?>
|
||||
|
||||
<div class='pluginListButtons'>
|
||||
<?php submit_button(); ?>
|
||||
<input type='submit' name='reset' id='reset' class='button button-alt' value='<?php _e( "Reset list", "companion-auto-update" ); ?>'>
|
||||
</div>
|
||||
|
||||
</form>
|
@ -0,0 +1,2 @@
|
||||
<?php
|
||||
// Currently working on this
|
404
wp-content/plugins/companion-auto-update/admin/status.php
Normal file
404
wp-content/plugins/companion-auto-update/admin/status.php
Normal file
@ -0,0 +1,404 @@
|
||||
<?php
|
||||
|
||||
// Update the database
|
||||
if( isset( $_GET['run'] ) && $_GET['run'] == 'db_update' ) {
|
||||
cau_manual_update();
|
||||
echo '<div id="message" class="updated"><p><b>'.__( 'Database update completed' ).'</b></p></div>';
|
||||
}
|
||||
|
||||
if( isset( $_GET['run'] ) && $_GET['run'] == 'db_info_update' ) {
|
||||
cau_savePluginInformation();
|
||||
echo '<div id="message" class="updated"><p><b>'.__( 'Database information update completed' ).'</b></p></div>';
|
||||
}
|
||||
|
||||
if( isset( $_GET['ignore_report'] ) ) {
|
||||
|
||||
$report_to_ignore = sanitize_text_field( $_GET['ignore_report'] );
|
||||
$allowedValues = array( 'seo', 'cron' );
|
||||
|
||||
if( !in_array( $report_to_ignore, $allowedValues ) ) {
|
||||
wp_die( 'Trying to cheat eh?' );
|
||||
} else {
|
||||
global $wpdb;
|
||||
$table_name = $wpdb->prefix . "auto_updates";
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE {$table_name} SET onoroff = %s WHERE name = 'ignore_$report_to_ignore'", 'yes' ) );
|
||||
$__ignored = __( 'This report will now be ignored', 'companion-auto-update' );
|
||||
echo "<div id='message' class='updated'><p><b>$__ignored</b></p></div>";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Variables
|
||||
$dateFormat = get_option( 'date_format' );
|
||||
$dateFormat .= ' '.get_option( 'time_format' );
|
||||
global $wpdb;
|
||||
$table_name = $wpdb->prefix . "auto_updates";
|
||||
$schedules = wp_get_schedules();
|
||||
|
||||
?>
|
||||
|
||||
<div class="cau_status_page">
|
||||
|
||||
<table class="cau_status_list widefat striped">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="cau_status_name"><strong><?php _e( 'Auto Updater', 'companion-auto-update' ); ?></strong></th>
|
||||
<th class="cau_status_active_state"><strong><?php _e( 'Status', 'companion-auto-update' ); ?></strong></th>
|
||||
<th class="cau_status_interval"><strong><?php _e( 'Interval', 'companion-auto-update' ); ?></strong></th>
|
||||
<th class="cau_status_next"><strong><?php _e( 'Next', 'companion-auto-update' ); ?></strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="the-list">
|
||||
<?php
|
||||
|
||||
$auto_updaters = array(
|
||||
'plugins' => __( 'Plugins', 'companion-auto-update' ),
|
||||
'themes' => __( 'Themes', 'companion-auto-update' ),
|
||||
'minor' => __( 'Core (Minor)', 'companion-auto-update' ),
|
||||
'major' => __( 'Core (Major)', 'companion-auto-update' )
|
||||
);
|
||||
|
||||
$eventNames = array(
|
||||
'plugins' => 'wp_update_plugins',
|
||||
'themes' => 'wp_update_themes',
|
||||
'minor' => 'wp_version_check',
|
||||
'major' => 'wp_version_check'
|
||||
);
|
||||
|
||||
foreach ( $auto_updaters as $key => $value ) {
|
||||
|
||||
if( cau_get_db_value( $key ) == 'on' ) {
|
||||
$__status = 'enabled';
|
||||
$__icon = 'yes-alt';
|
||||
$__text = __( 'Enabled', 'companion-auto-update' );
|
||||
$__interval = wp_get_schedule( $eventNames[$key] );
|
||||
$__next = date_i18n( $dateFormat, wp_next_scheduled( $eventNames[$key] ) );
|
||||
} else {
|
||||
$__status = 'disabled';
|
||||
$__icon = 'marker';
|
||||
$__text = __( 'Disabled', 'companion-auto-update' );
|
||||
$__interval = '‐';
|
||||
$__next = '‐';
|
||||
}
|
||||
|
||||
$__nxt = __( 'Next', 'companion-auto-update' );
|
||||
|
||||
echo "<tr>
|
||||
<td class='cau_status_name'>$value</td>
|
||||
<td class='cau_status_active_state'><span class='cau_$__status'><span class='dashicons dashicons-$__icon'></span> $__text</span></td>
|
||||
<td class='cau_status_interval'>$__interval</td>
|
||||
<td class='cau_status_next'><span class='cau_mobile_prefix'>$__nxt: </span>$__next</td>
|
||||
</tr>";
|
||||
}
|
||||
|
||||
?>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
<table class="cau_status_list widefat striped">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="cau_status_name"><strong><?php _e( 'Email Notifications', 'companion-auto-update' ); ?></strong></th>
|
||||
<th class="cau_status_active_state"><strong><?php _e( 'Status', 'companion-auto-update' ); ?></strong></th>
|
||||
<th class="cau_status_interval"><strong><?php _e( 'Interval', 'companion-auto-update' ); ?></strong></th>
|
||||
<th class="cau_status_next"><strong><?php _e( 'Next', 'companion-auto-update' ); ?></strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="the-list">
|
||||
<?php
|
||||
|
||||
$other_events = array(
|
||||
'send' => __( 'Update available', 'companion-auto-update' ),
|
||||
'sendupdate' => __( 'Successful update', 'companion-auto-update' ),
|
||||
'wpemails' => __( 'Core notifications', 'companion-auto-update' )
|
||||
);
|
||||
|
||||
$other_eventNames = array(
|
||||
'send' => 'cau_set_schedule_mail',
|
||||
'sendupdate' => 'cau_set_schedule_mail',
|
||||
'wpemails' => 'cau_set_schedule_mail',
|
||||
);
|
||||
|
||||
foreach ( $other_events as $key => $value ) {
|
||||
|
||||
if( cau_get_db_value( $key ) == 'on' ) {
|
||||
$__status = 'enabled';
|
||||
$__icon = 'yes-alt';
|
||||
$__text = __( 'Enabled', 'companion-auto-update' );
|
||||
$__interval = wp_get_schedule( $other_eventNames[$key] );
|
||||
$__next = date_i18n( $dateFormat, wp_next_scheduled( $other_eventNames[$key] ) );
|
||||
} else {
|
||||
$__status = 'warning';
|
||||
$__icon = 'marker';
|
||||
$__text = __( 'Disabled', 'companion-auto-update' );
|
||||
$__interval = '‐';
|
||||
$__next = '‐';
|
||||
}
|
||||
|
||||
$__nxt = __( 'Next', 'companion-auto-update' );
|
||||
|
||||
echo "<tr>
|
||||
<td class='cau_status_name'>$value</td>
|
||||
<td class='cau_status_active_state'><span class='cau_$__status'><span class='dashicons dashicons-$__icon'></span> $__text</span></td>
|
||||
<td class='cau_status_interval'>$__interval</td>
|
||||
<td class='cau_status_next'><span class='cau_mobile_prefix'>$__nxt: </span>$__next</td>
|
||||
</tr>";
|
||||
}
|
||||
|
||||
?>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
<table class="cau_status_list widefat striped cau_status_warnings">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="cau_plugin_issue_name" colspan="4"><strong><?php _e( 'Status' ); ?></strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="the-list">
|
||||
|
||||
<tr>
|
||||
<td><?php _e( 'Auto updates', 'companion-auto-update' ); ?></td>
|
||||
<?php if ( checkAutomaticUpdaterDisabled() ) { ?>
|
||||
<td class="cau_status_active_state"><span class='cau_disabled'><span class="dashicons dashicons-no"></span> <?php _e( 'All automatic updates are disabled', 'companion-auto-update' ); ?></span></td>
|
||||
<td>
|
||||
<form method="POST">
|
||||
<?php wp_nonce_field( 'cau_fixit' ); ?>
|
||||
<button type="submit" name="fixit" class="button button-primary"><?php _e( 'Fix it', 'companion-auto-update' ); ?></button>
|
||||
<a href="https://codeermeneer.nl/documentation/known-issues-fixes/#updates_disabled" target="_blank" class="button"><?php _e( 'How to fix this', 'companion-auto-update' ); ?></a>
|
||||
</form>
|
||||
</td>
|
||||
<?php } else { ?>
|
||||
<td class="cau_status_active_state"><span class='cau_enabled'><span class="dashicons dashicons-yes-alt"></span> <?php _e( 'No issues detected', 'companion-auto-update' ); ?></span></td>
|
||||
<td></td>
|
||||
<?php } ?>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><?php _e( 'Connection with WordPress.org', 'companion-auto-update' ); ?></td>
|
||||
<?php if( wp_http_supports( array( 'ssl' ) ) == '1' ) {
|
||||
$__text = __( 'No issues detected', 'companion-auto-update' );
|
||||
echo "<td colspan='3' class='cau_status_active_state'><span class='cau_enabled'><span class='dashicons dashicons-yes-alt'></span> $__text</span></td>";
|
||||
} else {
|
||||
$__text = __( 'Disabled', 'companion-auto-update' );
|
||||
echo "<td colspan='3' class='cau_status_active_state'><span class='cau_disabled'><span class='dashicons dashicons-no'></span> $__text</span></td>";
|
||||
} ?>
|
||||
</tr>
|
||||
|
||||
<tr <?php if( cau_get_db_value( 'ignore_seo' ) == 'yes' ) { echo "class='report_hidden'"; } ?> >
|
||||
<td><?php _e( 'Search Engine Visibility', 'companion-auto-update' ); ?></td>
|
||||
<?php if( get_option( 'blog_public' ) == 0 ) { ?>
|
||||
<td colspan="2" class="cau_status_active_state">
|
||||
<span class='cau_warning'><span class="dashicons dashicons-warning"></span></span>
|
||||
<?php _e( 'You’ve chosen to discourage Search Engines from indexing your site. Auto-updating works best on sites with more traffic, consider enabling indexing for your site.', 'companion-auto-update' ); ?>
|
||||
</td>
|
||||
<td>
|
||||
<a href="<?php echo admin_url( 'options-reading.php' ); ?>" class="button"><?php _e( 'Fix it', 'companion-auto-update' ); ?></a>
|
||||
<a href="<?php echo cau_url( 'status' ); ?>&ignore_report=seo" class="button button-alt"><?php _e( 'Ignore this report', 'companion-auto-update' ); ?></a>
|
||||
</td>
|
||||
<?php } else { ?>
|
||||
<td colspan="3" class="cau_status_active_state"><span class='cau_enabled'><span class="dashicons dashicons-yes-alt"></span> <?php _e( 'No issues detected', 'companion-auto-update' ); ?></span></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
|
||||
<tr <?php if( cau_get_db_value( 'ignore_cron' ) == 'yes' ) { echo "class='report_hidden'"; } ?> >
|
||||
<td><?php _e( 'Cronjobs', 'companion-auto-update' ); ?></td>
|
||||
<?php if( checkCronjobsDisabled() ) { ?>
|
||||
<td class="cau_status_active_state"><span class='cau_warning'><span class="dashicons dashicons-warning"></span> <?php _e( 'Disabled', 'companion-auto-update' ); ?></span></td>
|
||||
<td><code>DISABLE_WP_CRON true</code></td>
|
||||
<td>
|
||||
<a href="https://codeermeneer.nl/contact/" class="button"><?php _e( 'Contact for support', 'companion-auto-update' ); ?></a>
|
||||
<a href="<?php echo cau_url( 'status' ); ?>&ignore_report=cron" class="button button-alt"><?php _e( 'Ignore this report', 'companion-auto-update' ); ?></a>
|
||||
</td>
|
||||
<?php } else { ?>
|
||||
<td colspan="3" class="cau_status_active_state"><span class='cau_enabled'><span class="dashicons dashicons-yes-alt"></span> <?php _e( 'No issues detected', 'companion-auto-update' ); ?></span></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>wp_version_check</td>
|
||||
<?php if ( !has_filter( 'wp_version_check', 'wp_version_check' ) ) { ?>
|
||||
<td colspan="2" class="cau_status_active_state"><span class='cau_disabled'><span class="dashicons dashicons-no"></span> <?php _e( 'A plugin has prevented updates by disabling wp_version_check', 'companion-auto-update' ); ?></span></td>
|
||||
<td><a href="https://codeermeneer.nl/contact/" class="button"><?php _e( 'Contact for support', 'companion-auto-update' ); ?></a></td>
|
||||
<?php } else { ?>
|
||||
<td colspan="3" class="cau_status_active_state"><span class='cau_enabled'><span class="dashicons dashicons-yes-alt"></span> <?php _e( 'No issues detected' , 'companion-auto-update' ); ?></span></td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>VCS</td>
|
||||
<td colspan="3" class="cau_status_active_state"><span class='cau_<?php echo cau_test_is_vcs_checkout( ABSPATH )['status']; ?>'><span class="dashicons dashicons-<?php echo cau_test_is_vcs_checkout( ABSPATH )['icon']; ?>"></span> <?php echo cau_test_is_vcs_checkout( ABSPATH )['description']; ?></span></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
<table class="autoupdate cau_status_list widefat striped cau_status_warnings">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="4"><strong><?php _e( 'Systeminfo', 'companion-auto-update' ); ?></strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="the-list">
|
||||
<tr>
|
||||
<td>WordPress</td>
|
||||
<td><?php echo get_bloginfo( 'version' ); ?></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PHP</td>
|
||||
<td><?php echo phpversion(); ?></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr <?php if( cau_incorrectDatabaseVersion() ) { echo "class='inactive'"; } ?>>
|
||||
<td>Database</td>
|
||||
<td><?php echo get_option( "cau_db_version" ); ?> <code>(Latest: <?php echo cau_db_version(); ?>)</code></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cau_status_name"><?php _e( 'Timezone' ); ?></td>
|
||||
<td class="cau_status_active_state"><?php echo cau_get_proper_timezone(); ?> (GMT <?php echo get_option('gmt_offset'); ?>) - <?php echo date_default_timezone_get(); ?></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
<?php
|
||||
// If has incomptable plugins
|
||||
if( cau_incompatiblePlugins() ) { ?>
|
||||
|
||||
<table class="cau_status_list no_column_width widefat striped cau_status_warnings">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="cau_plugin_issue_name" colspan="4"><strong><?php _e( 'Possible plugin issues', 'companion-auto-update' ); ?></strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="the-list">
|
||||
<?php
|
||||
foreach ( cau_incompatiblePluginlist() as $key => $value ) {
|
||||
if( is_plugin_active( $key ) ) {
|
||||
echo '<tr>
|
||||
<td class="cau_plugin_issue_name"><strong>'.$key.'</strong></td>
|
||||
<td colspan="2" class="cau_plugin_issue_explain">'.$value.'</td>
|
||||
<td class="cau_plugin_issue_fixit"><a href="https://codeermeneer.nl/documentation/known-issues-fixes/#plugins" target="_blank" class="button">'.__( 'How to fix this', 'companion-auto-update' ).'</a></td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<table class="autoupdate cau_status_list widefat striped cau_status_warnings">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th><strong><?php _e( 'Advanced info', 'companion-auto-update' ); ?></strong> ‐ <?php _e( 'For when you need our help fixing an issue.', 'companion-auto-update' ); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="the-list">
|
||||
<tr>
|
||||
<td>
|
||||
<div class='button button-primary toggle_advanced_button'>Toggle</div>
|
||||
|
||||
<div class='toggle_advanced_content' style='display: none;'>
|
||||
<?php
|
||||
global $wpdb;
|
||||
$autoupdates = $wpdb->prefix."auto_updates";
|
||||
$cau_configs = $wpdb->get_results( "SELECT * FROM $autoupdates" );
|
||||
array_push( $cau_configs, "WordPress: ".get_bloginfo( 'version' ) );
|
||||
array_push( $cau_configs, "PHP: ".phpversion() );
|
||||
array_push( $cau_configs, "DB: ".get_option( "cau_db_version" ).' / '.cau_db_version() );
|
||||
|
||||
echo "<textarea style='width: 100%; height: 750px;'>";
|
||||
print_r( $cau_configs );
|
||||
echo "</textarea>";
|
||||
?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<script>jQuery( '.toggle_advanced_button' ).click( function() { jQuery( '.toggle_advanced_content' ).toggle(); });</script>
|
||||
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
||||
// Remove the line
|
||||
if( isset( $_POST['fixit'] ) ) {
|
||||
check_admin_referer( 'cau_fixit' );
|
||||
cau_removeErrorLine();
|
||||
}
|
||||
|
||||
// Get wp-config location
|
||||
function cau_configFile() {
|
||||
|
||||
// Config file
|
||||
if ( file_exists( ABSPATH . 'wp-config.php') ) {
|
||||
$conFile = ABSPATH . 'wp-config.php';
|
||||
} else {
|
||||
$conFile = dirname(ABSPATH) . '/wp-config.php';
|
||||
}
|
||||
|
||||
return $conFile;
|
||||
|
||||
}
|
||||
|
||||
// Change the AUTOMATIC_UPDATER_DISABLED line
|
||||
function cau_removeErrorLine() {
|
||||
|
||||
// Config file
|
||||
$conFile = cau_configFile();
|
||||
|
||||
// Lines to check and replace
|
||||
$revLine = "define('AUTOMATIC_UPDATER_DISABLED', false);"; // We could just remove the line, but replacing it will be safer
|
||||
$posibleLines = array( "define( 'AUTOMATIC_UPDATER_DISABLED', true );", "define( 'AUTOMATIC_UPDATER_DISABLED', minor );" ); // The two base options
|
||||
foreach ( $posibleLines as $value ) array_push( $posibleLines, strtolower( $value ) ); // Support lowercase variants
|
||||
foreach ( $posibleLines as $value ) array_push( $posibleLines, str_replace( ' ', '', $value ) ); // For variants without spaces
|
||||
|
||||
$melding = __( "We couldn't fix the error for you. Please contact us for further support", 'companion-auto-update' ).'.';
|
||||
$meldingS = 'error';
|
||||
|
||||
// Check for each string if it exists
|
||||
foreach ( $posibleLines as $key => $string ) {
|
||||
|
||||
if( strpos( file_get_contents( $conFile ), $string ) !== false) {
|
||||
$contents = file_get_contents( $conFile );
|
||||
$contents = str_replace( $string, $revLine, $contents );
|
||||
file_put_contents( $conFile, $contents );
|
||||
$melding = __( "We've fixed the error for you", 'companion-auto-update' ).' :)';
|
||||
$meldingS = 'updated';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
echo "<div id='message' class='$meldingS'><p><strong>$melding</strong></p></div>";
|
||||
|
||||
}
|
||||
|
||||
?>
|
Reference in New Issue
Block a user