installed plugin Companion Auto Update version 3.7.1.1

This commit is contained in:
2020-11-06 15:42:39 +00:00
committed by Gitium
parent 460fef3e47
commit 9aa90fc14e
23 changed files with 5187 additions and 0 deletions

View 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' ).' &ndash;</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' ).' &ndash;</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> &nbsp; | &nbsp;
<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>

View 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' );

View 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' ).' &ndash;</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' ).' &ndash;</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>&nbsp;</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>

View File

@ -0,0 +1,2 @@
<?php
// Currently working on this

View 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 = '&dash;';
$__next = '&dash;';
}
$__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 = '&dash;';
$__next = '&dash;';
}
$__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( 'Youve 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> &dash; <?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>";
}
?>