deleted plugin Companion Auto Update
version 3.9.2
@ -1,577 +0,0 @@
|
||||
<?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
|
||||
$plugins = isset( $_POST['plugins'] ) ? sanitize_text_field( $_POST['plugins'] ) : '';
|
||||
$themes = isset( $_POST['themes'] ) ? sanitize_text_field( $_POST['themes'] ) : '';
|
||||
$minor = isset( $_POST['minor'] ) ? sanitize_text_field( $_POST['minor'] ) : '';
|
||||
$major = isset( $_POST['major'] ) ? sanitize_text_field( $_POST['major'] ) : '';
|
||||
$translations = isset( $_POST['translations'] ) ? sanitize_text_field( $_POST['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
|
||||
$send = isset( $_POST['cau_send'] ) ? sanitize_text_field( $_POST['cau_send'] ) : '';
|
||||
$sendupdate = isset( $_POST['cau_send_update'] ) ? sanitize_text_field( $_POST['cau_send_update'] ) : '';
|
||||
$sendoutdated = isset( $_POST['cau_send_outdated'] ) ? sanitize_text_field( $_POST['cau_send_outdated'] ) : '';
|
||||
$wpemails = isset( $_POST['wpemails'] ) ? sanitize_text_field( $_POST['wpemails'] ) : '';
|
||||
$email = isset( $_POST['cau_email'] ) ? sanitize_text_field( $_POST['cau_email'] ) : '';
|
||||
$html_or_text = isset( $_POST['html_or_text'] ) ? sanitize_text_field( $_POST['html_or_text'] ) : 'html';
|
||||
$dbupdateemails = isset( $_POST['dbupdateemails'] ) ? sanitize_text_field( $_POST['dbupdateemails'] ) : '';
|
||||
|
||||
$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 ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'dbupdateemails'", $dbupdateemails ) );
|
||||
|
||||
// Advanced
|
||||
$allow_editor = isset( $_POST['allow_editor'] ) ? sanitize_text_field( $_POST['allow_editor'] ) : '';
|
||||
$allow_author = isset( $_POST['allow_author'] ) ? sanitize_text_field( $_POST['allow_author'] ) : '';
|
||||
$advanced_info_emails = isset( $_POST['advanced_info_emails'] ) ? sanitize_text_field( $_POST['advanced_info_emails'] ) : '';
|
||||
$plugin_links_emails = isset( $_POST['plugin_links_emails'] ) ? sanitize_text_field( $_POST['plugin_links_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 ) );
|
||||
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'plugin_links_emails'", $plugin_links_emails ) );
|
||||
|
||||
// Delay
|
||||
$update_delay = isset( $_POST['update_delay'] ) ? sanitize_text_field( $_POST['update_delay'] ) : '';
|
||||
$update_delay_days = isset( $_POST['update_delay_days'] ) ? sanitize_text_field( $_POST['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['update_notifications'] );
|
||||
$outdated_notifier = sanitize_text_field( $_POST['outdated_notifier'] );
|
||||
|
||||
// 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' );
|
||||
wp_clear_scheduled_hook( 'cau_outdated_notifier' );
|
||||
|
||||
// Then set the new times
|
||||
|
||||
// Plugins
|
||||
if( $plugin_sc == 'daily' ) {
|
||||
|
||||
$date = date( 'Y-m-d' );
|
||||
$hours = sanitize_text_field( $_POST['plugin_schedule-sethour'] );
|
||||
$minutes = sanitize_text_field( $_POST['plugin_schedule-setminutes'] );
|
||||
$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['theme_schedule-sethour'] );
|
||||
$minutesT = sanitize_text_field( $_POST['theme_schedule-setminutes'] );
|
||||
$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['core_schedule-sethour'] );
|
||||
$minutesC = sanitize_text_field( $_POST['core_schedule-setminutes'] );
|
||||
$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' );
|
||||
}
|
||||
|
||||
// Update notifications
|
||||
if( $schedule_mail == 'daily' ) {
|
||||
|
||||
$dateT = date( 'Y-m-d' );
|
||||
$hoursT = sanitize_text_field( $_POST['update_notifications-sethour'] );
|
||||
$minutesT = sanitize_text_field( $_POST['update_notifications-setminutes'] );
|
||||
$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' );
|
||||
}
|
||||
|
||||
// Outdated notifications
|
||||
if( $outdated_notifier == 'daily' ) {
|
||||
|
||||
$dateT = date( 'Y-m-d' );
|
||||
$hoursT = sanitize_text_field( $_POST['outdated_notifier-sethour'] );
|
||||
$minutesT = sanitize_text_field( $_POST['outdated_notifier-setminutes'] );
|
||||
$secondsT = date( 's' );
|
||||
$fullDateT = $dateT.' '.$hoursT.':'.$minutesT.':'.$secondsT;
|
||||
$emailSetTime = strtotime( $fullDateT );
|
||||
|
||||
wp_schedule_event( $emailSetTime, $outdated_notifier, 'cau_outdated_notifier' );
|
||||
|
||||
} else {
|
||||
wp_schedule_event( time(), $outdated_notifier, 'cau_outdated_notifier' );
|
||||
}
|
||||
|
||||
|
||||
echo '<div id="message" class="updated"><p><b>'.__( 'Settings saved.' ).'</b></p></div>';
|
||||
|
||||
}
|
||||
|
||||
// Welcome screen for first time viewers
|
||||
if( isset( $_GET['welcome'] ) ) {
|
||||
echo '<div class="welcome-to-cau welcome-bg" 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>';
|
||||
}
|
||||
|
||||
$cs_hooks_p = wp_get_schedule( 'cau_custom_hooks_plugins' );
|
||||
$cs_hooks_t = wp_get_schedule( 'cau_custom_hooks_themes' );
|
||||
|
||||
?>
|
||||
|
||||
<div class="cau-dashboard cau-column-wide">
|
||||
|
||||
<form method="POST">
|
||||
|
||||
<div class="welcome-to-cau update-bg cau-dashboard-box">
|
||||
|
||||
<h2 class="title"><?php _e('Auto Updater', 'companion-auto-update');?></h2>
|
||||
|
||||
<table class="form-table">
|
||||
<tr>
|
||||
<td>
|
||||
<fieldset>
|
||||
|
||||
<?php
|
||||
|
||||
$plugins_on = ( cau_get_db_value( 'plugins' ) == 'on' ) ? "CHECKED" : "";
|
||||
$themes_on = ( cau_get_db_value( 'themes' ) == 'on' ) ? "CHECKED" : "";
|
||||
$minor_on = ( cau_get_db_value( 'minor' ) == 'on' ) ? "CHECKED" : "";
|
||||
$major_on = ( cau_get_db_value( 'major' ) == 'on' ) ? "CHECKED" : "";
|
||||
$translations_on = ( cau_get_db_value( 'translations' ) == 'on' ) ? "CHECKED" : "";
|
||||
|
||||
echo "<p><input id='plugins' name='plugins' type='checkbox' {$plugins_on}/><label for='plugins'>".__( 'Auto update plugins?', 'companion-auto-update' )."</label></p>";
|
||||
echo "<p><input id='themes' name='themes' type='checkbox' {$themes_on}/><label for='themes'>".__( 'Auto update themes?', 'companion-auto-update' )."</label></p>";
|
||||
echo "<p><input id='minor' name='minor' type='checkbox' {$minor_on}/><label for='minor'>".__( 'Auto update minor core updates?', 'companion-auto-update' )." <code class='majorMinorExplain'>6.0.0 > 6.0.1</code></label></p>";
|
||||
echo "<p><input id='major' name='major' type='checkbox' {$major_on}/><label for='major'>".__( 'Auto update major core updates?', 'companion-auto-update' )." <code class='majorMinorExplain'>6.0.0 > 6.1.0</code></label></p>";
|
||||
echo "<p><input id='translations' name='translations' type='checkbox' {$translations_on}/><label for='translations'>".__( 'Auto update translation files?', 'companion-auto-update' )."</label></p>";
|
||||
|
||||
?>
|
||||
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="welcome-to-cau email-bg cau-dashboard-box">
|
||||
|
||||
<h2 class="title"><?php _e( 'Email Notifications', 'companion-auto-update' );?></h2>
|
||||
|
||||
<?php
|
||||
|
||||
$db_email = cau_get_db_value( 'email' );
|
||||
$toemail = ( $db_email == '' ) ? get_option( 'admin_email' ) : $db_email;
|
||||
|
||||
$hot = cau_get_db_value( 'html_or_text' );
|
||||
|
||||
?>
|
||||
|
||||
<table class="form-table">
|
||||
<tr>
|
||||
<th scope="row"><?php _e( 'Update notifications', '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>
|
||||
<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( 'Check for 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 the 3 latest major versions of WordPress.', 'companion-auto-update' );?></label>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><?php _e( 'Email Address', 'companion-auto-update' );?></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( $hot == 'html' ) { echo "SELECTED"; } ?>><?php _e( 'Use HTML', 'companion-auto-update' ); ?></option>
|
||||
<option value='text' <?php if( $hot == '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>
|
||||
<p>
|
||||
<label for="plugin_links_emails"><input name="plugin_links_emails" type="checkbox" id="plugin_links_emails" <?php if( cau_get_db_value( 'plugin_links_emails' ) == 'on' ) { echo "CHECKED"; } ?>> <?php _e( 'Show links to WordPress.org pages', '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>
|
||||
<tr>
|
||||
<th scope="row"><?php _e( 'Database update required', 'companion-auto-update' );?></th>
|
||||
<td>
|
||||
<p>
|
||||
<input id="dbupdateemails" name="dbupdateemails" type="checkbox" <?php if( cau_get_db_value( 'dbupdateemails' ) == 'on' ) { echo 'checked'; } ?> />
|
||||
<label for="dbupdateemails"><?php _e( 'Sometimes we\'ll need your help updating our database version to the latest version, check this box to allow us to send you an email about this.', 'companion-auto-update' ); ?></label>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="welcome-to-cau interval-bg cau-dashboard-box" style="overflow: hidden;">
|
||||
|
||||
<h2 class="title"><?php _e( 'Intervals', 'companion-auto-update' );?></h2>
|
||||
|
||||
<?php
|
||||
|
||||
function cau_show_interval_selection( $identiefier, $schedule ) {
|
||||
|
||||
// Get the info
|
||||
$setValue = wp_get_schedule( $schedule );
|
||||
$setTime = wp_next_scheduled( $schedule );
|
||||
$setHour = date( 'H' , $setTime );
|
||||
$setMinutes = date( 'i' , $setTime );
|
||||
|
||||
// Show interval selection
|
||||
echo "<p>";
|
||||
echo "<select name='$identiefier' id='$identiefier' class='schedule_interval wide interval_scheduler' data-timeblock='$identiefier'>";
|
||||
foreach ( cau_wp_get_schedules() as $key => $value ) {
|
||||
echo "<option "; if( $setValue == $key ) { echo "selected "; } echo "value='".$key."'>".$value."</option>";
|
||||
}
|
||||
echo "</select>";
|
||||
echo "</p>";
|
||||
|
||||
// Set the time when daily is selected
|
||||
echo "<div class='timeblock-$identiefier' style='display: none;'>";
|
||||
|
||||
echo "<div class='cau_schedule_input'>
|
||||
<input type='number' min='0' max='23' name='".$identiefier."-sethour' value='$setHour' maxlength='2' >
|
||||
</div><div class='cau_schedule_input_div'>
|
||||
:
|
||||
</div><div class='cau_schedule_input'>
|
||||
<input type='number' min='0' max='59' name='".$identiefier."-setminutes' value='$setMinutes' maxlength='2' >
|
||||
</div><div class='cau_shedule_notation'>
|
||||
<span class='cau_tooltip'><span class='dashicons dashicons-editor-help'></span>
|
||||
<span class='cau_tooltip_text'>".__( 'At what time should the updater run? Only works when set to <u>daily</u>.', 'companion-auto-update' )." - ".__( 'Time notation: 24H', 'companion-auto-update' )."</span>
|
||||
</span>
|
||||
</div>";
|
||||
|
||||
echo "</div>";
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<div class="welcome-column">
|
||||
|
||||
<h4><?php _e( 'Plugin update interval', 'companion-auto-update' );?></h4>
|
||||
<?php cau_show_interval_selection( 'plugin_schedule', 'wp_update_plugins' ); ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="welcome-column">
|
||||
|
||||
<h4><?php _e( 'Theme update interval', 'companion-auto-update' );?></h4>
|
||||
<?php cau_show_interval_selection( 'theme_schedule', 'wp_update_themes' ); ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="welcome-column">
|
||||
|
||||
<h4><?php _e( 'Core update interval', 'companion-auto-update' );?></h4>
|
||||
<?php cau_show_interval_selection( 'core_schedule', 'wp_version_check' ); ?>
|
||||
|
||||
</div>
|
||||
|
||||
<p></p>
|
||||
|
||||
<div class="welcome-column">
|
||||
|
||||
<h4><?php _e( 'Update notifications', 'companion-auto-update' );?></h4>
|
||||
<?php cau_show_interval_selection( 'update_notifications', 'cau_set_schedule_mail' ); ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="welcome-column">
|
||||
|
||||
<h4><?php _e( 'Outdated software', 'companion-auto-update' );?></h4>
|
||||
<?php cau_show_interval_selection( 'outdated_notifier', 'cau_outdated_notifier' ); ?>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="welcome-to-cau advanced-bg cau-dashboard-box">
|
||||
|
||||
<h2 class="title"><?php _e( 'Advanced settings', 'companion-auto-update' ); ?></h2>
|
||||
|
||||
<?php
|
||||
|
||||
// Access
|
||||
$accessallowed = cau_allowed_user_rights_array();
|
||||
$has_editor = in_array( 'editor', $accessallowed ) ? true : false;
|
||||
$has_author = in_array( 'author', $accessallowed ) ? true : false;
|
||||
|
||||
// Update delays
|
||||
$has_updatedelay = ( cau_get_db_value( 'update_delay' ) == 'on' ) ? true : false;
|
||||
|
||||
?>
|
||||
|
||||
<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', 'companion-auto-update' ); ?></label></p>
|
||||
<p><label for="allow_editor"><input name="allow_editor" type="checkbox" id="allow_editor" <?php if( $has_editor ) { echo "CHECKED"; } ?>><?php _e( 'Editor', 'companion-auto-update' ); ?></label></p>
|
||||
<p><label for="allow_author"><input name="allow_author" type="checkbox" id="allow_author" <?php if( $has_author ) { echo "CHECKED"; } ?>><?php _e( 'Author', 'companion-auto-update' ); ?></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 echo $has_updatedelay ? "CHECKED" : ""; ?> ><?php _e( 'Delay updates', 'companion-auto-update' ); ?></label></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='update_delay_days_block' <?php echo !$has_updatedelay ? "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>
|
||||
<p><small><strong>Please note:</strong> Delaying updates does not work with WordPress updates yet.</small></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<?php wp_nonce_field( 'cau_save_settings' ); ?>
|
||||
|
||||
<div class="cau_save_button">
|
||||
<?php submit_button(); ?>
|
||||
</div>
|
||||
<div class="cau_save_button__space"></div>
|
||||
|
||||
<script>jQuery( '.cau-dashboard input, .cau-dashboard select, .cau-dashboard textarea' ).on( 'change', function() { jQuery('.cau_save_button').addClass( 'fixed_button' ); } );</script>
|
||||
|
||||
</form>
|
||||
|
||||
</div><div class="cau-column-small">
|
||||
|
||||
<div class="welcome-to-cau help-bg 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 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 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;"><?php _e( 'Donations via PayPal. Amount can be changed.', 'companion-auto-update'); ?></p>
|
||||
</div>
|
||||
|
||||
<div class="welcome-to-cau cau-dashboard-box">
|
||||
<h3><span style='background: #EBE3F7; color: #BCADD3; padding: 1px 5px; border-radius: 3px; font-size: .8em'>Plugin Promotion</span></h3>
|
||||
<h3>Keep your site fast with our Revision Manager</h3>
|
||||
<p>Post Revisions are great, but will also slow down your site. Take back control over revisions with Companion Revision Manager!</p>
|
||||
<a href="https://codeermeneer.nl/portfolio/plugin/companion-revision-manager/" target="_blank" class="button button-alt">Read more</a>
|
||||
</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( '.interval_scheduler' ).change( function() {
|
||||
|
||||
var selected = jQuery(this).val(); // Selected value
|
||||
var timeblock = jQuery(this).data( 'timeblock' ); // Corresponding time block
|
||||
|
||||
if( selected == 'daily' ) {
|
||||
jQuery( '.timeblock-'+timeblock ).show();
|
||||
} else {
|
||||
jQuery( '.timeblock-'+timeblock ).hide();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
jQuery( '.interval_scheduler' ).each( function() {
|
||||
|
||||
var selected = jQuery(this).val(); // Selected value
|
||||
var timeblock = jQuery(this).data( 'timeblock' ); // Corresponding time block
|
||||
|
||||
if( selected == 'daily' ) {
|
||||
jQuery( '.timeblock-'+timeblock ).show();
|
||||
} else {
|
||||
jQuery( '.timeblock-'+timeblock ).hide();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -1,19 +0,0 @@
|
||||
<?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' );
|
@ -1,185 +0,0 @@
|
||||
<?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>
|
@ -1,2 +0,0 @@
|
||||
<?php
|
||||
// Currently working on this
|
@ -1,435 +0,0 @@
|
||||
<?php
|
||||
|
||||
// Define globals
|
||||
global $wpdb;
|
||||
|
||||
// Define variables
|
||||
$dateFormat = get_option( 'date_format' );
|
||||
$dateFormat .= ' '.get_option( 'time_format' );
|
||||
$table_name = $wpdb->prefix . "auto_updates";
|
||||
$schedules = wp_get_schedules();
|
||||
$interval_names = cau_wp_get_schedules();
|
||||
|
||||
// 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 {
|
||||
|
||||
$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>";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
|
||||
<div class="cau_status_page">
|
||||
|
||||
<?php
|
||||
|
||||
$events = array(
|
||||
0 => array(
|
||||
'name' => __( 'Events', 'companion-auto-update' ),
|
||||
'fields' => array(
|
||||
'plugins' => __( 'Plugins', 'companion-auto-update' ),
|
||||
'themes' => __( 'Themes', 'companion-auto-update' ),
|
||||
'minor' => __( 'Core (Minor)', 'companion-auto-update' ),
|
||||
'major' => __( 'Core (Major)', 'companion-auto-update' ),
|
||||
'send' => __( 'Update available', 'companion-auto-update' ),
|
||||
'sendupdate' => __( 'Successful update', 'companion-auto-update' ),
|
||||
'wpemails' => __( 'Core notifications', 'companion-auto-update' ),
|
||||
'update_delay' => __( 'Log updater', 'companion-auto-update' ),
|
||||
),
|
||||
'values' => array(
|
||||
'plugins' => 'wp_update_plugins',
|
||||
'themes' => 'wp_update_themes',
|
||||
'minor' => 'wp_version_check',
|
||||
'major' => 'wp_version_check',
|
||||
'send' => 'cau_set_schedule_mail',
|
||||
'sendupdate' => 'cau_set_schedule_mail',
|
||||
'wpemails' => 'cau_set_schedule_mail',
|
||||
'update_delay' => 'cau_log_updater',
|
||||
),
|
||||
'explain' => array(
|
||||
'plugins' => __('Auto update plugins?', 'companion-auto-update'),
|
||||
'themes' => __('Auto update themes?', 'companion-auto-update'),
|
||||
'minor' => __('Auto update minor core updates?', 'companion-auto-update'),
|
||||
'major' => __('Auto update major core updates?', 'companion-auto-update'),
|
||||
'send' => __( 'Will notify you of available updates.', 'companion-auto-update' ),
|
||||
'sendupdate' => __( 'Will notify you after successful updates.', 'companion-auto-update' ),
|
||||
'wpemails' => __( 'The default WordPress notifications.', 'companion-auto-update' ),
|
||||
'update_delay' => __( 'Will keep track of the update log and make sure updates are delayed when needed.', 'companion-auto-update' ),
|
||||
)
|
||||
),
|
||||
);
|
||||
|
||||
$__sta = __( 'Status', 'companion-auto-update' );
|
||||
$__int = __( 'Interval', 'companion-auto-update' );
|
||||
$__nxt = __( 'Next', 'companion-auto-update' );
|
||||
|
||||
foreach( $events as $event => $info ) {
|
||||
|
||||
echo "<table class='cau_status_list widefat striped'>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='cau_status_name' colspan='2'><strong>{$info['name']}</strong></th>
|
||||
<th class='cau_status_active_state'><strong>{$__sta}</strong></th>
|
||||
<th class='cau_status_interval'><strong>{$__int}</strong></th>
|
||||
<th class='cau_status_next'><strong>{$__nxt}</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id='the-list'>";
|
||||
|
||||
foreach ( $info['fields'] as $key => $value ) {
|
||||
|
||||
$is_on = ( cau_get_db_value( $key ) == 'on' && wp_get_schedule( $info['values'][$key] ) ) ? true : false;
|
||||
$__status = $is_on ? 'enabled' : 'warning';
|
||||
$__icon = $is_on ? 'yes-alt' : 'marker';
|
||||
$__text = $is_on ? __( 'Enabled', 'companion-auto-update' ) : __( 'Disabled', 'companion-auto-update' );
|
||||
$__interval = $is_on ? $interval_names[wp_get_schedule( $info['values'][$key] )] : '‐';
|
||||
$__next = $is_on ? date_i18n( $dateFormat, wp_next_scheduled( $info['values'][$key] ) ) : '‐';
|
||||
$__exp = !empty( $info['explain'][$key] ) ? '<br /><small>'.$info['explain'][$key].'</small>' : '';
|
||||
$__nxt = __( 'Next', 'companion-auto-update' );
|
||||
|
||||
echo "<tr>
|
||||
<td class='cau_status_icon'><span class='dashicons dashicons-$__icon cau_$__status'></span></td>
|
||||
<td class='cau_status_name'><strong>$value</strong>$__exp</td>
|
||||
<td class='cau_status_active_state'><span class='cau_$__status'>$__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>";
|
||||
|
||||
}
|
||||
|
||||
echo "</tbody>
|
||||
|
||||
</table>";
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<table class="cau_status_list widefat striped cau_status_warnings">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="cau_plugin_issue_name" colspan="5"><strong><?php _e( 'Status' ); ?></strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="the-list">
|
||||
|
||||
<!-- checkAutomaticUpdaterDisabled -->
|
||||
<tr>
|
||||
<td class='cau_status_icon'><span class="dashicons dashicons-update"></span></td>
|
||||
<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>
|
||||
|
||||
<!-- Connection with WP.org -->
|
||||
<tr>
|
||||
<td class='cau_status_icon'><span class="dashicons dashicons-wordpress"></span></td>
|
||||
<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>
|
||||
|
||||
<!-- ignore_seo check -->
|
||||
<tr <?php if( cau_get_db_value( 'ignore_seo' ) == 'yes' ) { echo "class='report_hidden'"; } ?> >
|
||||
<td class='cau_status_icon'><span class="dashicons dashicons-search"></span></td>
|
||||
<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>
|
||||
|
||||
<!-- ignore_cron check -->
|
||||
<tr <?php if( cau_get_db_value( 'ignore_cron' ) == 'yes' ) { echo "class='report_hidden'"; } ?> >
|
||||
<td class='cau_status_icon'><span class="dashicons dashicons-admin-generic"></span></td>
|
||||
<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>
|
||||
|
||||
<!-- wp_version_check -->
|
||||
<tr>
|
||||
<td class='cau_status_icon'><span class="dashicons dashicons-wordpress-alt"></span></td>
|
||||
<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>
|
||||
|
||||
<!-- VCD -->
|
||||
<tr>
|
||||
<td class='cau_status_icon'><span class="dashicons dashicons-open-folder"></span></td>
|
||||
<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="5"><strong><?php _e( 'Systeminfo', 'companion-auto-update' ); ?></strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="the-list">
|
||||
|
||||
<tr>
|
||||
<td class='cau_status_icon'><span class="dashicons dashicons-wordpress"></span></td>
|
||||
<td>WordPress</td>
|
||||
<td><?php echo get_bloginfo( 'version' ); ?></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr <?php if( version_compare( PHP_VERSION, '5.1.0', '<' ) ) { echo "class='inactive'"; } ?>>
|
||||
<td class='cau_status_icon'><span class="dashicons dashicons-media-code"></span></td>
|
||||
<td>PHP</td>
|
||||
<td><?php echo phpversion(); ?> <code>(Required: 5.1.0 or up)</code></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr <?php if( cau_incorrectDatabaseVersion() ) { echo "class='inactive'"; } ?>>
|
||||
<td class='cau_status_icon'><span class="dashicons dashicons-database"></span></td>
|
||||
<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_icon'><span class="dashicons dashicons-calendar"></span></td>
|
||||
<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 } ?>
|
||||
|
||||
<!-- Advanced info -->
|
||||
<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'><?php _e( 'Toggle', 'companion-auto-update' ); ?></div>
|
||||
<div class='toggle_advanced_content' style='display: none;'>
|
||||
<?php
|
||||
$cau_configs = $wpdb->get_results( "SELECT * FROM $table_name" );
|
||||
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>
|
||||
|
||||
<!-- Delay updates -->
|
||||
<table class="autoupdate cau_status_list widefat striped cau_status_warnings">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th><strong><?php _e( 'Delay updates', 'companion-auto-update' ); ?></strong> ‐ <?php echo ( cau_get_db_value( 'update_delay' ) == 'on' ) ? __( 'Enabled', 'companion-auto-update' ).' ('.sprintf( esc_html__( '%s days', 'companion-auto-update' ).')', cau_get_db_value( 'update_delay_days' ) ) : __( 'Disabled', 'companion-auto-update' ); ?></th>
|
||||
<th><?php _e( 'Till', 'companion-auto-update' ); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="the-list">
|
||||
<?php
|
||||
|
||||
$updateLog = "{$wpdb->prefix}update_log";
|
||||
$put_on_hold = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$updateLog} WHERE put_on_hold <> '%s'", '0' ) );
|
||||
|
||||
foreach ( $put_on_hold as $plugin ) {
|
||||
|
||||
$__name = $plugin->slug;
|
||||
$__poh = $plugin->put_on_hold;
|
||||
$__udd = ( cau_get_db_value( 'update_delay_days' ) != '' ) ? cau_get_db_value( 'update_delay_days' ) : '2';
|
||||
$__date = date_i18n( $dateFormat, strtotime( "+".$__udd." days", $__poh ) );
|
||||
|
||||
echo "<tr>
|
||||
<td>{$__name}</td>
|
||||
<td>{$__date}</td>
|
||||
</tr>";
|
||||
}
|
||||
|
||||
echo empty( $put_on_hold ) ? "<tr><td>".__( 'No plugins have been put on hold.', 'companion-auto-update' )."</td></tr>" : "";
|
||||
|
||||
?>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</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>";
|
||||
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="417pt"
|
||||
viewBox="0 -46 417.81333 417"
|
||||
width="417pt"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="check.svg"
|
||||
inkscape:version="0.92.0 r15299">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.42446043"
|
||||
inkscape:cx="278"
|
||||
inkscape:cy="278"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="m 185.111,248.00297 c -2.2287,2.2418 -5.26943,3.49257 -8.42804,3.49257 -3.15861,0 -6.19935,-1.25077 -8.42805,-3.49257 l -67.30869,-67.31961 c -6.985172,-6.98517 -6.985172,-18.31207 0,-25.28413 l 8.42805,-8.43023 c 6.98735,-6.98518 18.30114,-6.98518 25.28632,0 l 42.02237,42.02454 113.55053,-113.552722 c 6.98736,-6.985172 18.31207,-6.985172 25.28633,0 l 8.42805,8.43023 c 6.98516,6.985175 6.98516,18.309882 0,25.284142 z m 0,0"
|
||||
id="path2"
|
||||
style="fill:#9178b7;fill-opacity:1;stroke-width:0.55881381"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
Before Width: | Height: | Size: 2.1 KiB |
@ -1,96 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 505 505"
|
||||
style="enable-background:new 0 0 505 505;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="email.svg"
|
||||
inkscape:version="0.92.0 r15299"><metadata
|
||||
id="metadata43"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs41" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview39"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.6608998"
|
||||
inkscape:cx="-110.05455"
|
||||
inkscape:cy="410.34145"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1"
|
||||
borderlayer="true" /><path
|
||||
style="fill:#ded1f2;fill-opacity:1;stroke-width:1.194754"
|
||||
d="m 54.471192,356.14658 c 0,-166.66819 135.007198,-301.675388 301.675388,-301.675388 166.5487,0 301.67538,135.007198 301.67538,301.675388 0,166.66817 -135.12668,301.67538 -301.67538,301.67538 -166.66819,0 -301.675388,-135.00721 -301.675388,-301.67538 z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0" /><g
|
||||
id="g8"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g10"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g12"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g14"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g16"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g18"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g20"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g22"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g24"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g26"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g28"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g30"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g32"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g34"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g36"
|
||||
transform="scale(1.3026177)" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 281.76716,529.19554 c 27.99462,9.77382 58.38437,-1.99616 72.99376,-26.55557 L 241.14037,462.9714 c -3.82831,28.32342 12.63218,56.45033 40.62679,66.22414 z m 0,0"
|
||||
id="path4"
|
||||
style="fill:#9178b7;fill-opacity:1;stroke-width:1.53536594" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 454.97461,381.50764 c -0.0736,-0.0257 -0.11887,-0.0415 -0.18687,-0.0653 -59.67543,-20.8346 -91.29336,-86.33378 -70.45084,-146.03188 5.72511,-16.39813 14.92428,-30.59236 26.36198,-42.26448 -3.29602,-1.51283 -6.65995,-2.92233 -10.15928,-4.14406 -59.766,-20.86622 -125.15573,10.65649 -146.03184,70.45084 l -15.05215,43.11307 c -10.68122,30.59363 -34.17187,54.79029 -64.63445,66.47768 -10.17733,3.96817 -17.38414,13.4202 -18.20325,24.79116 -0.9164,13.28721 8.329,25.17993 20.89938,29.56865 l 251.64586,87.85762 c 13.1706,4.59829 28.58431,0.40642 35.75467,-11.56127 5.54241,-9.2518 5.48702,-20.48337 0.002,-29.68445 -15.90548,-26.7325 -19.22019,-58.96007 -9.94599,-88.50764 z m 0,0"
|
||||
id="path6"
|
||||
style="fill:#9178b7;fill-opacity:1;stroke-width:1.53536594" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 569.88056,300.18973 c -14.90587,42.69409 -61.59697,65.2195 -104.29102,50.31364 -42.69409,-14.90587 -65.21947,-61.59696 -50.3136,-104.29106 14.90586,-42.69403 61.59693,-65.21944 104.29101,-50.31357 42.69406,14.90586 65.21947,61.59694 50.31361,104.29099 z m 0,0"
|
||||
id="path8"
|
||||
style="fill:#9178b7;fill-opacity:1;stroke-width:1.53536594" /><rect
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:0.78431373;fill-rule:evenodd;stroke:none;stroke-width:5.62767839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="rect4504"
|
||||
width="768.56519"
|
||||
height="678.05548"
|
||||
x="-61.99469"
|
||||
y="-11.059112" /></svg>
|
Before Width: | Height: | Size: 4.8 KiB |
@ -1,67 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="512pt"
|
||||
viewBox="0 0 512 512"
|
||||
width="512pt"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="help.svg"
|
||||
inkscape:version="0.92.0 r15299">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.69140625"
|
||||
inkscape:cx="132.67442"
|
||||
inkscape:cy="151.29307"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="m 494.10169,605.28813 h -320 c -53.02344,0 -95.999997,-42.97656 -95.999997,-96 v -320 c 0,-53.02344 42.976557,-95.999997 95.999997,-95.999997 h 320 c 53.02344,0 96,42.976557 96,95.999997 v 320 c 0,53.02344 -42.97656,96 -96,96 z m 0,0"
|
||||
id="path2"
|
||||
style="fill:#ded1f2;fill-opacity:1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 334.10169,221.28813 c -70.57422,0 -128,57.42578 -128,128 0,70.57422 57.42578,128 128,128 70.57422,0 128,-57.42578 128,-128 0,-70.57422 -57.42578,-128 -128,-128 z m 56,138.67188 h -45.32812 v 45.32812 c 0,5.88672 -4.78516,10.67188 -10.67188,10.67188 -5.88672,0 -10.67187,-4.78516 -10.67187,-10.67188 v -45.32812 h -45.32813 c -5.88672,0 -10.67187,-4.78516 -10.67187,-10.67188 0,-5.88672 4.78515,-10.67187 10.67187,-10.67187 h 45.32813 v -45.32813 c 0,-5.88672 4.78515,-10.67187 10.67187,-10.67187 5.88672,0 10.67188,4.78515 10.67188,10.67187 v 45.32813 h 45.32812 c 5.88672,0 10.67188,4.78515 10.67188,10.67187 0,5.88672 -4.78516,10.67188 -10.67188,10.67188 z m 0,0"
|
||||
id="path4"
|
||||
style="fill:#9178b7;fill-opacity:1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<rect
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:0.78431373;fill-rule:evenodd;stroke:none;stroke-width:4.51278925;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="rect4504"
|
||||
width="614.39001"
|
||||
height="545.42297"
|
||||
x="38.296513"
|
||||
y="74.407166" />
|
||||
</svg>
|
Before Width: | Height: | Size: 3.1 KiB |
@ -1,69 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 512 512"
|
||||
style="enable-background:new 0 0 512 512;"
|
||||
xml:space="preserve"
|
||||
width="512"
|
||||
height="512"
|
||||
sodipodi:docname="interval.svg"
|
||||
inkscape:version="0.92.0 r15299"><metadata
|
||||
id="metadata39"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs37" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview35"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.46093749"
|
||||
inkscape:cx="369.01074"
|
||||
inkscape:cy="360.3966"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g32" /><g
|
||||
id="g32"><circle
|
||||
cx="388.33899"
|
||||
cy="373.15256"
|
||||
r="326.50848"
|
||||
id="circle2"
|
||||
style="fill:#9178b7;fill-opacity:1;stroke-width:1.27542377" /><path
|
||||
d="m 388.33899,124.4449 c -137.13356,0 -248.70763,111.57407 -248.70763,248.70763 0,137.13356 111.57407,249.98305 248.70763,249.98305 137.13356,0 248.70763,-112.84949 248.70763,-249.98305 0,-137.13356 -111.57407,-248.70763 -248.70763,-248.70763 z"
|
||||
id="path6"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#eceff1;fill-opacity:1;stroke-width:1.27542377" /><path
|
||||
d="m 388.33899,200.97033 c -10.57454,0 -19.13136,8.55682 -19.13136,19.13135 v 191.31356 c 0,10.57454 8.55682,19.13136 19.13136,19.13136 10.57454,0 19.13135,-8.55682 19.13135,-19.13136 V 220.10168 c 0,-10.57453 -8.55681,-19.13135 -19.13135,-19.13135 z"
|
||||
id="path10"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#90a4ae;fill-opacity:1;stroke-width:1.27542377" /><path
|
||||
d="M 503.12712,354.02118 H 388.33899 350.07628 c -10.57454,0 -19.13136,8.55681 -19.13136,19.13135 0,10.57454 8.55682,19.13136 19.13136,19.13136 h 38.26271 114.78813 c 10.57454,0 19.13136,-8.55682 19.13136,-19.13136 0,-10.57454 -8.55682,-19.13135 -19.13136,-19.13135 z"
|
||||
id="path14"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#90a4ae;fill-opacity:1;stroke-width:1.27542377" /><rect
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:0.78431373;fill-rule:evenodd;stroke:none;stroke-width:5.62767839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="rect4504"
|
||||
width="768.56519"
|
||||
height="678.05548"
|
||||
x="-17.638517"
|
||||
y="36.294277" /></g></svg>
|
Before Width: | Height: | Size: 3.5 KiB |
@ -1,116 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="Capa_1"
|
||||
enable-background="new 0 0 512 512"
|
||||
height="512"
|
||||
viewBox="0 0 512 512"
|
||||
width="512"
|
||||
version="1.1"
|
||||
sodipodi:docname="love.svg"
|
||||
inkscape:version="0.92.0 r15299">
|
||||
<metadata
|
||||
id="metadata97">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs95" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview93"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.4609375"
|
||||
inkscape:cx="-161.41471"
|
||||
inkscape:cy="87.761635"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g88" />
|
||||
<g
|
||||
id="g90">
|
||||
<g
|
||||
id="g88"
|
||||
transform="matrix(1.941682,0,0,1.941682,-258.91443,105.22034)">
|
||||
<g
|
||||
id="g52"
|
||||
style="fill:#eceff1;fill-opacity:1">
|
||||
<path
|
||||
d="m 182.795,15.986 v 165.382 c 0,8.829 7.157,15.986 15.986,15.986 h 20.359 c 2.854,0 5.364,1.885 6.16,4.626 l 11.126,38.317 c 1.404,4.836 7.578,6.242 10.938,2.491 l 38.788,-43.3 c 1.217,-1.358 2.954,-2.134 4.778,-2.134 h 192.658 c 8.829,0 15.986,-7.157 15.986,-15.986 V 15.986 C 499.573,7.157 492.416,0 483.587,0 H 198.781 c -8.829,0 -15.986,7.157 -15.986,15.986 z"
|
||||
id="path50"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#eceff1;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g64"
|
||||
style="fill:#9178b7;fill-opacity:1">
|
||||
<path
|
||||
d="m 256.62,39.06 6.423,13.015 c 0.54,1.095 1.585,1.854 2.794,2.03 l 14.363,2.087 c 3.043,0.442 4.259,4.182 2.056,6.329 l -10.393,10.131 c -0.875,0.852 -1.274,2.081 -1.067,3.284 l 2.453,14.305 c 0.52,3.031 -2.662,5.343 -5.384,3.911 l -12.847,-6.754 c -1.081,-0.568 -2.372,-0.568 -3.453,0 l -12.847,6.754 c -2.722,1.431 -5.904,-0.88 -5.384,-3.911 l 2.453,-14.305 c 0.206,-1.204 -0.193,-2.432 -1.067,-3.284 L 224.327,62.521 c -2.202,-2.147 -0.987,-5.887 2.056,-6.329 l 14.363,-2.087 c 1.209,-0.176 2.253,-0.935 2.794,-2.03 l 6.423,-13.015 c 1.364,-2.758 5.296,-2.758 6.657,0 z"
|
||||
id="path58"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#9178b7;fill-opacity:1" />
|
||||
<path
|
||||
d="m 344.511,39.06 6.423,13.015 c 0.54,1.095 1.585,1.854 2.794,2.03 l 14.363,2.087 c 3.043,0.442 4.259,4.182 2.056,6.329 l -10.393,10.131 c -0.875,0.852 -1.274,2.081 -1.067,3.284 l 2.453,14.305 c 0.52,3.031 -2.662,5.343 -5.384,3.911 l -12.847,-6.754 c -1.081,-0.568 -2.372,-0.568 -3.453,0 l -12.847,6.754 c -2.722,1.431 -5.904,-0.88 -5.384,-3.911 l 2.453,-14.305 c 0.206,-1.204 -0.193,-2.432 -1.067,-3.284 L 312.22,62.521 c -2.202,-2.147 -0.987,-5.887 2.056,-6.329 l 14.363,-2.087 c 1.209,-0.176 2.253,-0.935 2.794,-2.03 l 6.423,-13.015 c 1.362,-2.758 5.294,-2.758 6.655,0 z"
|
||||
id="path60"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#9178b7;fill-opacity:1" />
|
||||
<path
|
||||
d="m 432.402,39.06 6.423,13.015 c 0.54,1.095 1.585,1.854 2.794,2.03 l 14.363,2.087 c 3.043,0.442 4.259,4.182 2.056,6.329 l -10.393,10.131 c -0.874,0.852 -1.274,2.081 -1.067,3.284 l 2.453,14.305 c 0.52,3.031 -2.662,5.343 -5.384,3.911 L 430.8,87.398 c -1.081,-0.568 -2.372,-0.568 -3.453,0 L 414.5,94.152 c -2.722,1.431 -5.904,-0.88 -5.384,-3.911 l 2.453,-14.305 c 0.206,-1.204 -0.193,-2.432 -1.067,-3.284 L 400.109,62.521 c -2.202,-2.147 -0.987,-5.887 2.056,-6.329 l 14.363,-2.087 c 1.209,-0.176 2.253,-0.935 2.794,-2.03 l 6.423,-13.015 c 1.363,-2.758 5.296,-2.758 6.657,0 z"
|
||||
id="path62"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#9178b7;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g76" />
|
||||
<g
|
||||
id="g86">
|
||||
<g
|
||||
id="g80"
|
||||
style="fill:#90a4ae;fill-opacity:1">
|
||||
<path
|
||||
d="M 459.163,137.933 H 220.989 c -4.142,0 -7.5,-3.358 -7.5,-7.5 0,-4.142 3.358,-7.5 7.5,-7.5 h 238.174 c 4.142,0 7.5,3.358 7.5,7.5 0,4.142 -3.358,7.5 -7.5,7.5 z"
|
||||
id="path78"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#90a4ae;fill-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g84"
|
||||
style="fill:#90a4ae;fill-opacity:1;stroke:none;stroke-opacity:1">
|
||||
<path
|
||||
d="M 340.076,167.863 H 220.989 c -4.142,0 -7.5,-3.358 -7.5,-7.5 0,-4.142 3.358,-7.5 7.5,-7.5 h 119.087 c 4.142,0 7.5,3.358 7.5,7.5 0,4.142 -3.358,7.5 -7.5,7.5 z"
|
||||
id="path82"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#90a4ae;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
<rect
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:0.78431373;fill-rule:evenodd;stroke:none;stroke-width:2.89835215;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="rect4504"
|
||||
width="395.82443"
|
||||
height="349.21036"
|
||||
x="139.90385"
|
||||
y="-53.375328" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 6.0 KiB |
@ -1,124 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 505 505"
|
||||
style="enable-background:new 0 0 505 505;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="settings.svg"
|
||||
inkscape:version="0.92.0 r15299"><metadata
|
||||
id="metadata43"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs41" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview39"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.3304499"
|
||||
inkscape:cx="-433.02666"
|
||||
inkscape:cy="120.52743"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1" /><path
|
||||
style="fill:#ded1f2;fill-opacity:1;stroke-width:1.194754"
|
||||
d="m 54.471192,356.14658 c 0,-166.66819 135.007198,-301.675388 301.675388,-301.675388 166.5487,0 301.67538,135.007198 301.67538,301.675388 0,166.66817 -135.12668,301.67538 -301.67538,301.67538 -166.66819,0 -301.675388,-135.00721 -301.675388,-301.67538 z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0" /><g
|
||||
id="g8"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g10"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g12"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g14"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g16"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g18"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g20"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g22"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g24"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g26"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g28"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g30"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g32"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g34"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g36"
|
||||
transform="scale(1.3026177)" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g8-7"
|
||||
style="fill:#90a4ae;fill-opacity:1" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g48" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g50" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g52" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g54" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g56" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g58" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g60" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g62" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g64" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g66" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g68" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g70" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g72" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g74" /><g
|
||||
transform="translate(107.14129,82.560247)"
|
||||
id="g76" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 407.30702,633.58604 h -30.82827 c -24.93373,0 -45.22015,-20.28545 -45.22015,-45.21919 v -10.42958 c -10.60035,-3.38666 -20.89946,-7.66173 -30.79371,-12.78202 l -7.39118,7.39117 c -17.90135,17.92343 -46.57672,17.39768 -63.95808,-0.007 L 207.3268,550.75171 c -17.41207,-17.39287 -17.91288,-46.05864 0.006,-63.95809 l 7.38543,-7.38542 c -5.12029,-9.89424 -9.3944,-20.19143 -12.78202,-30.79371 h -10.42863 c -24.93276,0 -45.21918,-20.28546 -45.21918,-45.21918 v -30.82908 c 0,-24.93372 20.28642,-45.21919 45.22014,-45.21919 h 10.42862 c 3.38764,-10.60132 7.66174,-20.89946 12.78203,-30.79371 l -7.39118,-7.39022 c -17.90807,-17.88889 -17.41399,-46.55754 0.006,-63.95809 l 21.79075,-21.78979 c 17.42166,-17.44565 46.0903,-17.88122 63.95713,0.006 l 7.38447,7.38446 c 9.89423,-5.11933 20.19335,-9.3944 30.7937,-12.78202 v -10.42863 c 0,-24.93373 20.28546,-45.21918 45.22014,-45.21918 h 30.82827 c 24.93373,0 45.21919,20.28545 45.21919,45.21918 v 10.42958 c 10.60035,3.38667 20.89946,7.66174 30.7937,12.78203 l 7.39119,-7.39118 c 17.90135,-17.92343 46.57672,-17.39768 63.95809,0.007 l 21.78882,21.78787 c 17.41207,17.39289 17.91287,46.05866 -0.009,63.9581 l -7.38543,7.38542 c 5.12029,9.89425 9.3944,20.19143 12.78202,30.79371 h 10.42864 c 24.93372,0 45.22013,20.28546 45.22013,45.21919 v 30.8292 c 0,24.93373 -20.28641,45.21919 -45.22013,45.21919 h -10.42864 c -3.38762,10.60132 -7.66173,20.89946 -12.78202,30.7937 l 7.39119,7.39119 c 17.90806,17.88888 17.41397,46.55754 -0.009,63.95809 l -21.79074,21.78978 c -17.42166,17.44565 -46.09031,17.88122 -63.95713,-0.006 l -7.38447,-7.38447 c -9.89424,5.11933 -20.19335,9.3944 -30.7937,12.78202 v 10.42959 c 0,24.93181 -20.28546,45.21726 -45.22014,45.21726 z M 305.27626,534.93141 c 13.74525,8.12896 28.53914,14.27005 43.97005,18.2525 6.35504,1.63961 10.79512,7.37104 10.79512,13.93426 v 21.24868 c 0,9.06341 7.37486,16.43733 16.43827,16.43733 h 30.82828 c 9.0634,0 16.43827,-7.37392 16.43827,-16.43733 v -21.24868 c 0,-6.56322 4.44008,-12.29465 10.79512,-13.93426 15.43091,-3.98245 30.2248,-10.12354 43.97005,-18.2525 5.65564,-3.34445 12.8559,-2.43494 17.50224,2.21141 l 15.05101,15.05196 c 6.48934,6.49702 16.91029,6.34639 23.24039,0.007 l 21.80417,-21.80321 c 6.31474,-6.30707 6.5258,-16.72994 0.009,-23.24136 L 541.06052,492.0995 c -4.6454,-4.64538 -5.5549,-11.8466 -2.21141,-17.50128 8.12895,-13.7443 14.26908,-28.53818 18.25154,-43.97005 1.64057,-6.35504 7.37199,-10.79416 13.93425,-10.79416 h 21.24774 c 9.06341,0 16.43827,-7.37391 16.43827,-16.43732 v -30.82921 c 0,-9.06341 -7.37486,-16.43731 -16.43827,-16.43731 H 571.0349 c -6.56322,0 -12.29368,-4.44009 -13.93425,-10.79416 -3.98246,-15.43188 -10.12355,-30.22576 -18.25154,-43.97005 -3.34349,-5.65468 -2.43399,-12.8559 2.21141,-17.50129 l 15.05195,-15.05195 c 6.50661,-6.49895 6.3368,-16.91798 0.009,-23.24136 l -21.80131,-21.80239 c -6.31955,-6.32818 -16.74241,-6.51334 -23.24136,-0.006 l -15.05675,15.05771 c -4.64539,4.64634 -11.84853,5.55586 -17.50224,2.21141 -13.74526,-8.12897 -28.53914,-14.27005 -43.97006,-18.25251 -6.35502,-1.6396 -10.79512,-7.37103 -10.79512,-13.93426 v -21.2506 c 0,-9.06341 -7.37486,-16.43733 -16.43827,-16.43733 h -30.82827 c -9.06341,0 -16.43828,7.37392 -16.43828,16.43733 v 21.24868 c 0,6.56323 -4.44008,12.29467 -10.79512,13.93427 -15.43091,3.98245 -30.22479,10.12354 -43.97004,18.2525 -5.6566,3.34348 -12.85686,2.43398 -17.50225,-2.21141 L 272.73141,223.7668 c -6.48936,-6.49702 -16.91126,-6.34639 -23.2404,-0.007 l -21.80418,21.80322 c -6.31473,6.30707 -6.5258,16.72898 -0.006,23.24136 l 15.05771,15.05771 c 4.64538,4.64539 5.55489,11.84661 2.2114,17.50128 -8.12896,13.7443 -14.26909,28.53818 -18.25154,43.97005 -1.64056,6.35503 -7.372,10.79415 -13.93426,10.79415 h -21.24868 c -9.06341,9.7e-4 -16.43829,7.37488 -16.43829,16.43829 v 30.82921 c 0,9.06341 7.37488,16.43731 16.43829,16.43731 h 21.24772 c 6.56322,0 12.2937,4.44008 13.93426,10.79416 3.98245,15.43188 10.12354,30.22576 18.25154,43.97005 3.34349,5.65468 2.43398,12.8559 -2.2114,17.50129 l -15.05196,15.05195 c -6.50662,6.49895 -6.33681,16.91798 -0.006,23.24136 l 21.80225,21.80225 c 6.31954,6.32818 16.74241,6.51335 23.24136,0.006 l 15.05674,-15.05771 c 3.42313,-3.42215 10.54472,-6.32625 17.50321,-2.21044 z"
|
||||
id="path2-7"
|
||||
style="fill:#9178b7;fill-opacity:1;stroke-width:0.95939529" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 391.89337,494.85747 c -58.9328,0 -106.87666,-47.94482 -106.87666,-106.87664 0,-58.93182 47.94386,-106.87664 106.87666,-106.87664 58.93278,0 106.87664,47.94482 106.87664,106.87664 0,58.93182 -47.94386,106.87664 -106.87664,106.87664 z m 0,-184.97142 c -43.06248,0 -78.0948,35.03329 -78.0948,78.09478 0,43.0615 35.03328,78.09478 78.0948,78.09478 43.0615,0 78.09478,-35.03328 78.09478,-78.09478 0,-43.06149 -35.03232,-78.09478 -78.09478,-78.09478 z"
|
||||
id="path4-6"
|
||||
style="fill:#9178b7;fill-opacity:1;stroke-width:0.95939529" /><rect
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:0.78431373;fill-rule:evenodd;stroke:none;stroke-width:5.62767839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="rect4504"
|
||||
width="768.56519"
|
||||
height="678.05548"
|
||||
x="-25.146145"
|
||||
y="32.319691" /></svg>
|
Before Width: | Height: | Size: 9.3 KiB |
@ -1,102 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 512 512"
|
||||
style="enable-background:new 0 0 512 512;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="support.svg"
|
||||
inkscape:version="0.92.0 r15299"><metadata
|
||||
id="metadata75"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs73" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview71"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.92187498"
|
||||
inkscape:cx="127.5288"
|
||||
inkscape:cy="162.24021"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g22" /><path
|
||||
style="fill:#9178b7;fill-opacity:1;stroke:none"
|
||||
d="m 374.18666,111.86429 c -136.624,0 -247.29601,110.672 -247.29601,247.296 0,136.624 110.67201,247.296 247.29601,247.296 136.624,0 247.296,-110.672 247.296,-247.296 0,-136.624 -110.672,-247.296 -247.296,-247.296 z m 0,368.576 c -66.928,0 -121.12,-54.336 -121.12,-121.264 0,-66.928 54.192,-121.12 121.12,-121.12 66.928,0 121.264,54.192 121.264,121.12 0.016,66.912 -54.336,121.264 -121.264,121.264 z"
|
||||
id="path10"
|
||||
inkscape:connector-curvature="0" /><g
|
||||
id="g22"
|
||||
transform="translate(81.305295,78.237171)"
|
||||
style="stroke:none"><path
|
||||
style="fill:#eceff1;fill-opacity:1;stroke:#eceff1;stroke-opacity:1"
|
||||
d="m 195.61736,53.531119 53.776,114.448001 c 13.504,-5.2 28.128,-8.16 43.488,-8.16 15.344,0 29.968,2.96 43.488,8.16 l 53.776,-114.448001 c -29.856,-12.784 -62.72,-19.904 -97.264,-19.904 -34.544,0 -67.408,7.12 -97.264,19.904 z"
|
||||
id="path14"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#eceff1;fill-opacity:1;stroke:#eceff1;stroke-opacity:1"
|
||||
d="m 171.76136,280.92312 c 0,-15.36 2.976,-29.984 8.176,-43.488 l -114.448003,-53.776 c -12.784,29.856 -19.904,62.72 -19.904,97.264 0,34.544 7.12,67.408 19.904,97.264 l 114.432003,-53.776 c -5.184,-13.52 -8.16,-28.144 -8.16,-43.488 z"
|
||||
id="path16"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#eceff1;fill-opacity:1;stroke:#eceff1;stroke-opacity:1"
|
||||
d="m 390.14536,508.31512 -53.728,-114.32 c -13.536,5.216 -28.176,8.208 -43.536,8.208 -15.376,0 -30.016,-2.992 -43.552,-8.208 l -53.728,114.336 c 29.856,12.784 62.72,19.904 97.264,19.904 34.56,-0.016 67.424,-7.136 97.28,-19.92 z"
|
||||
id="path18"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#eceff1;fill-opacity:1;stroke:#eceff1;stroke-opacity:1"
|
||||
d="m 414.16136,280.92312 c 0,15.36 -2.976,30 -8.208,43.536 l 114.32,53.728 c 12.784,-29.856 19.904,-62.72 19.904,-97.264 0,-34.544 -7.12,-67.408 -19.904,-97.264 l -114.336,53.728 c 5.232,13.52 8.224,28.176 8.224,43.536 z"
|
||||
id="path20"
|
||||
inkscape:connector-curvature="0" /><rect
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:0.78431373;fill-rule:evenodd;stroke:none;stroke-width:5.62767839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="rect4504"
|
||||
width="768.56519"
|
||||
height="678.05548"
|
||||
x="-178.1302"
|
||||
y="-39.773388" /></g><g
|
||||
id="g40"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g42"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g44"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g46"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g48"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g50"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g52"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g54"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g56"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g58"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g60"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g62"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g64"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g66"
|
||||
transform="translate(81.305295,78.237171)" /><g
|
||||
id="g68"
|
||||
transform="translate(81.305295,78.237171)" /></svg>
|
Before Width: | Height: | Size: 5.2 KiB |
@ -1,91 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 505 505"
|
||||
style="enable-background:new 0 0 505 505;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="update.svg"
|
||||
inkscape:version="0.92.0 r15299"><metadata
|
||||
id="metadata43"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs41" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview39"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.6608998"
|
||||
inkscape:cx="-41.965565"
|
||||
inkscape:cy="289.29436"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1" /><path
|
||||
style="fill:#ded1f2;fill-opacity:1;stroke-width:1.194754"
|
||||
d="m 54.471192,356.14658 c 0,-166.66819 135.007198,-301.675388 301.675388,-301.675388 166.5487,0 301.67538,135.007198 301.67538,301.675388 0,166.66817 -135.12668,301.67538 -301.67538,301.67538 -166.66819,0 -301.675388,-135.00721 -301.675388,-301.67538 z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#9178b7;fill-opacity:1;stroke-width:1.194754"
|
||||
d="m 287.44822,389.59968 h 18.51868 c 14.33706,0 22.46138,-16.36813 13.85915,-27.83776 l -72.64104,-95.81927 c -6.92957,-9.19961 -20.78872,-9.19961 -27.71829,0 l -72.64105,95.81927 c -8.7217,11.46963 -0.4779,27.83776 13.85915,27.83776 h 16.72655 c 26.04564,120.07278 140.50308,170.25245 226.16694,142.7731 7.52694,-2.3895 6.09324,-13.50072 -1.91161,-14.09809 -78.97324,-5.73482 -122.58176,-74.55265 -114.21848,-128.67501 z"
|
||||
id="path4"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#9178b7;fill-opacity:1;stroke-width:1.194754"
|
||||
d="m 424.84493,322.69346 h -18.51869 c -14.33705,0 -22.46137,16.36813 -13.85914,27.83777 l 72.64104,95.93875 c 6.92957,9.19961 20.78871,9.19961 27.71829,0 l 72.64104,-95.93875 c 8.7217,-11.46964 0.4779,-27.83777 -13.85914,-27.83777 H 534.88177 C 508.71666,202.62069 394.25922,152.44102 308.59536,179.92036 c -7.52695,2.38951 -6.09324,13.50072 1.91161,14.0981 79.09271,5.73482 122.70123,74.55265 114.33796,128.675 z"
|
||||
id="path6"
|
||||
inkscape:connector-curvature="0" /><g
|
||||
id="g8"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g10"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g12"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g14"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g16"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g18"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g20"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g22"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g24"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g26"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g28"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g30"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g32"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g34"
|
||||
transform="scale(1.3026177)" /><g
|
||||
id="g36"
|
||||
transform="scale(1.3026177)" /><rect
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:0.78431373;fill-rule:evenodd;stroke:none;stroke-width:5.62767839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
|
||||
id="rect4504"
|
||||
width="768.56519"
|
||||
height="678.05548"
|
||||
x="-71.073227"
|
||||
y="-6.5198488" /></svg>
|
Before Width: | Height: | Size: 4.4 KiB |
@ -1,181 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 512.001 512.001"
|
||||
style="enable-background:new 0 0 512.001 512.001;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="welcome.svg"
|
||||
inkscape:version="0.92.0 r15299"><metadata
|
||||
id="metadata99"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs97" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview95"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.3037256"
|
||||
inkscape:cx="154.95189"
|
||||
inkscape:cy="223.3697"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Capa_1" /><circle
|
||||
style="fill:#ded1f2;fill-opacity:1;stroke-width:0.8621738"
|
||||
cx="256.00003"
|
||||
cy="252.93185"
|
||||
r="220.71649"
|
||||
id="circle2" /><g
|
||||
id="g20"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)"><path
|
||||
style="fill:#34abe0"
|
||||
d="m 469.869,206.196 c -3.882,0 -7.029,-3.147 -7.029,-7.029 v -11.259 c 0,-3.882 3.147,-7.029 7.029,-7.029 3.882,0 7.029,3.147 7.029,7.029 v 11.259 c -0.001,3.883 -3.148,7.029 -7.029,7.029 z"
|
||||
id="path4"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#34abe0"
|
||||
d="m 469.869,263.776 c -3.882,0 -7.029,-3.147 -7.029,-7.029 V 245.49 c 0,-3.882 3.147,-7.029 7.029,-7.029 3.882,0 7.029,3.147 7.029,7.029 v 11.258 c -0.001,3.881 -3.148,7.028 -7.029,7.028 z"
|
||||
id="path6"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#34abe0"
|
||||
d="m 504.288,229.358 h -11.259 c -3.882,0 -7.029,-3.147 -7.029,-7.029 0,-3.882 3.147,-7.029 7.029,-7.029 h 11.259 c 3.882,0 7.029,3.147 7.029,7.029 0,3.881 -3.148,7.029 -7.029,7.029 z"
|
||||
id="path8"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#34abe0"
|
||||
d="M 446.707,229.358 H 435.45 c -3.882,0 -7.029,-3.147 -7.029,-7.029 0,-3.882 3.147,-7.029 7.029,-7.029 h 11.258 c 3.882,0 7.029,3.147 7.029,7.029 -0.002,3.881 -3.148,7.029 -7.03,7.029 z"
|
||||
id="path10"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#34abe0"
|
||||
d="m 391.867,22.724 c -3.882,0 -7.029,-3.147 -7.029,-7.029 V 7.029 c 0,-3.882 3.147,-7.029 7.029,-7.029 3.882,0 7.029,3.147 7.029,7.029 v 8.666 c 0,3.883 -3.147,7.029 -7.029,7.029 z"
|
||||
id="path12"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#34abe0"
|
||||
d="m 391.867,67.048 c -3.882,0 -7.029,-3.147 -7.029,-7.029 v -8.666 c 0,-3.882 3.147,-7.029 7.029,-7.029 3.882,0 7.029,3.147 7.029,7.029 v 8.666 c 0,3.882 -3.147,7.029 -7.029,7.029 z"
|
||||
id="path14"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#34abe0"
|
||||
d="m 418.362,40.553 h -8.666 c -3.882,0 -7.029,-3.147 -7.029,-7.029 0,-3.882 3.147,-7.029 7.029,-7.029 h 8.666 c 3.882,0 7.029,3.147 7.029,7.029 0,3.882 -3.147,7.029 -7.029,7.029 z"
|
||||
id="path16"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#34abe0"
|
||||
d="m 374.038,40.553 h -8.666 c -3.882,0 -7.029,-3.147 -7.029,-7.029 0,-3.882 3.147,-7.029 7.029,-7.029 h 8.666 c 3.882,0 7.029,3.147 7.029,7.029 0,3.882 -3.147,7.029 -7.029,7.029 z"
|
||||
id="path18"
|
||||
inkscape:connector-curvature="0" /></g><path
|
||||
style="fill:#9178b7;fill-opacity:1;stroke-width:0.8621738"
|
||||
d="m 298.98111,139.77931 c -1.09841,0 -2.21061,-0.29831 -3.21073,-0.92511 -2.83569,-1.77694 -3.69529,-5.51619 -1.9192,-8.35187 8.88986,-14.19398 16.29077,-28.09049 21.99663,-41.303308 1.32689,-3.071925 4.89112,-4.486752 7.96563,-3.160729 3.07192,1.326886 4.48762,4.893699 3.15987,7.965625 -5.94815,13.774092 -13.63787,28.218092 -22.85278,42.931942 -1.14842,1.83643 -3.12107,2.84345 -5.13942,2.84345 z"
|
||||
id="path22"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#34abe0;stroke-width:0.8621738"
|
||||
d="m 221.49065,234.60809 c -1.61572,0 -3.22798,-0.64233 -4.42037,-1.91403 -2.28993,-2.44081 -2.1675,-6.27489 0.27331,-8.56569 0.27849,-0.26124 28.13963,-26.53427 55.9456,-63.72931 2.00368,-2.6805 5.80157,-3.2297 8.48293,-1.22514 2.68049,2.00368 3.22884,5.80156 1.22514,8.48291 -28.47845,38.09258 -56.19562,64.21816 -57.36214,65.3114 -1.17083,1.09583 -2.65895,1.63986 -4.14447,1.63986 z"
|
||||
id="path24"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#f9f9f9;stroke-width:0.8621738"
|
||||
d="m 275.09631,243.34881 c -1.64503,0 -3.28488,-0.6656 -4.47986,-1.97782 -2.25372,-2.47358 -2.07784,-6.30594 0.3966,-8.5614 28.21033,-25.71433 84.0654,-71.36126 141.18269,-88.17193 3.20988,-0.94408 6.57925,0.89148 7.52419,4.10223 0.94495,3.21073 -0.89149,6.57924 -4.10222,7.52419 -54.78597,16.12438 -108.99946,60.49098 -136.43987,85.50264 -1.16308,1.05961 -2.62446,1.58209 -4.08153,1.58209 z"
|
||||
id="path26"
|
||||
inkscape:connector-curvature="0" /><g
|
||||
id="g32"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)"><path
|
||||
style="fill:#9178b7;fill-opacity:1"
|
||||
d="m 290.023,308.794 c -2.069,0 -4.119,-0.909 -5.507,-2.655 -2.416,-3.039 -1.91,-7.461 1.128,-9.875 2.334,-1.855 58.024,-45.266 133.17,-30.816 3.812,0.732 6.308,4.417 5.575,8.229 -0.732,3.813 -4.415,6.314 -8.229,5.575 -68.879,-13.246 -121.248,27.602 -121.769,28.017 -1.292,1.025 -2.835,1.525 -4.368,1.525 z"
|
||||
id="path28"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="fill:#9178b7;fill-opacity:1"
|
||||
d="m 194.779,177.404 c -1.061,0 -2.137,-0.24 -3.148,-0.749 -3.469,-1.742 -4.869,-5.966 -3.126,-9.435 11.361,-22.624 23.205,-58.429 15.111,-100.516 -0.734,-3.812 1.763,-7.496 5.575,-8.229 3.811,-0.734 7.496,1.763 8.229,5.575 8.84,45.966 -4.013,84.906 -16.353,109.479 -1.234,2.456 -3.713,3.875 -6.288,3.875 z"
|
||||
id="path30"
|
||||
inkscape:connector-curvature="0" /></g><path
|
||||
style="fill:#f9f9f9;stroke-width:0.8621738"
|
||||
d="m 282.19114,351.70423 -99.61988,49.64742 -57.9993,28.91818 C 95.167528,408.4413 71.374975,379.46881 55.771353,345.91991 l 9.59427,-19.25148 45.683997,-91.6646 18.10738,-36.33287 z"
|
||||
id="path34"
|
||||
inkscape:connector-curvature="0" /><g
|
||||
id="g42"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)"><path
|
||||
style="fill:#9178b7;fill-opacity:1"
|
||||
d="M 76.667,438.689 C 54.839,417.258 36.825,391.94 23.764,363.864 v -0.01 l 11.139,-22.329 z"
|
||||
id="path38"
|
||||
inkscape:connector-curvature="0" /><polygon
|
||||
style="fill:#9178b7;fill-opacity:1"
|
||||
points="170.839,428.138 152.074,384.51 87.885,235.211 108.888,193.068 237.301,321.481 286.379,370.559 "
|
||||
id="polygon40" /></g><path
|
||||
style="fill:#f9f9f9;stroke-width:0.8621738"
|
||||
d="M 268.15494,353.91226 126.94639,212.70371 c -6.84393,-6.84395 -6.84393,-17.93926 0,-24.78319 v 0 c 6.84394,-6.84394 17.93925,-6.84394 24.78318,0 l 141.2077,141.20769 c 6.84394,6.84393 6.84394,17.93925 0,24.78318 v 0 c -6.84308,6.84394 -17.93925,6.84394 -24.78233,8.7e-4 z"
|
||||
id="path46"
|
||||
inkscape:connector-curvature="0" /><circle
|
||||
style="fill:#f9f9f9;stroke-width:0.8621738"
|
||||
cx="176.15497"
|
||||
cy="142.5831"
|
||||
r="6.0602198"
|
||||
id="circle50" /><circle
|
||||
style="fill:#9178b7;fill-opacity:1;stroke-width:0.8621738"
|
||||
cx="257.1355"
|
||||
cy="119.44839"
|
||||
r="6.0602198"
|
||||
id="circle52" /><circle
|
||||
style="fill:#34abe0;stroke-width:0.8621738"
|
||||
cx="356.29495"
|
||||
cy="137.62819"
|
||||
r="6.0602198"
|
||||
id="circle54" /><g
|
||||
id="g60"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)"><circle
|
||||
style="fill:#f9f9f9"
|
||||
cx="372.328"
|
||||
cy="323.53201"
|
||||
r="7.0289998"
|
||||
id="circle56" /><path
|
||||
style="fill:#f9f9f9"
|
||||
d="m 254.9,10.029 8.735,7.769 c 0.739,0.657 1.753,0.909 2.714,0.673 L 277.7,15.68 c 2.418,-0.595 4.468,1.841 3.469,4.122 l -4.69,10.708 c -0.397,0.906 -0.322,1.949 0.199,2.789 l 6.163,9.934 c 1.312,2.116 -0.371,4.818 -2.848,4.574 L 268.36,46.656 c -0.984,-0.097 -1.953,0.296 -2.59,1.051 l -7.543,8.931 c -1.607,1.902 -4.697,1.136 -5.23,-1.296 l -2.5,-11.42 c -0.211,-0.965 -0.885,-1.766 -1.8,-2.139 l -10.824,-4.415 c -2.305,-0.94 -2.532,-4.116 -0.383,-5.374 l 10.088,-5.907 c 0.854,-0.499 1.406,-1.387 1.479,-2.373 l 0.854,-11.659 c 0.178,-2.483 3.128,-3.681 4.989,-2.026 z"
|
||||
id="path58"
|
||||
inkscape:connector-curvature="0" /></g><path
|
||||
style="fill:#9178b7;fill-opacity:1;stroke-width:0.8621738"
|
||||
d="m 454.29051,92.257154 5.2722,11.110836 c 0.44574,0.93977 1.32516,1.60019 2.35201,1.76486 l 12.14113,1.95542 c 2.58566,0.41643 3.57199,3.61768 1.66831,5.41703 l -8.93729,8.44672 c -0.75613,0.71474 -1.11134,1.75453 -0.95184,2.7831 l 1.89161,12.15148 c 0.40263,2.58824 -2.3365,4.51434 -4.63592,3.25987 l -10.79527,-5.89036 c -0.91391,-0.49834 -2.01232,-0.51559 -2.94088,-0.0448 l -10.97202,5.55411 c -2.33649,1.18291 -5.01613,-0.82682 -4.53331,-3.40213 l 2.26579,-12.08682 c 0.19226,-1.02253 -0.13278,-2.07352 -0.86562,-2.81069 l -8.67261,-8.71916 c -1.84677,-1.85712 -0.76303,-5.02561 1.83384,-5.36272 l 12.19545,-1.58036 c 1.03117,-0.13364 1.93127,-0.76648 2.40633,-1.69159 l 5.61276,-10.941845 c 1.19323,-2.331318 4.54279,-2.278727 5.66533,0.08708 z"
|
||||
id="path62"
|
||||
inkscape:connector-curvature="0" /><g
|
||||
id="g64"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g66"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g68"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g70"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g72"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g74"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g76"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g78"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g80"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g82"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g84"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g86"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g88"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g90"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /><g
|
||||
id="g92"
|
||||
transform="matrix(0.86217384,0,0,0.86217384,35.283516,32.215367)" /></svg>
|
Before Width: | Height: | Size: 12 KiB |
@ -1,582 +0,0 @@
|
||||
/* Default Stylings */
|
||||
.nowrap {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.cau_spacing {
|
||||
height: 25px;
|
||||
}
|
||||
.cau_support_buttons {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* Welcome screen */
|
||||
.welcome-to-cau {
|
||||
background: #FFF;
|
||||
border: 1px solid #CCD0D4;
|
||||
margin: 25px 0;
|
||||
padding: 30px;
|
||||
background-size: 140px;
|
||||
background-position: left bottom;
|
||||
background-repeat: no-repeat;
|
||||
box-shadow: 0 1px 1px rgba(0,0,0,.04);
|
||||
}
|
||||
.welcome-to-cau .welcome-image {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-image: url('images/welcome.svg');
|
||||
background-size: contain;
|
||||
background-position: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.welcome-to-cau .welcome-content {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: calc(100% - 100px);
|
||||
padding-left: 25px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.welcome-to-cau .welcome-content strong {
|
||||
color: #000;
|
||||
}
|
||||
.welcome-to-cau .welcome-content p {
|
||||
margin: 2px 0;
|
||||
}
|
||||
.welcome-to-cau.help-bg {
|
||||
background-image: url('images/help.svg');
|
||||
}
|
||||
.welcome-to-cau.support-bg {
|
||||
background-image: url('images/support.svg');
|
||||
}
|
||||
.welcome-to-cau.love-bg {
|
||||
background-image: url('images/love.svg');
|
||||
}
|
||||
.welcome-to-cau.update-bg {
|
||||
background-image: url('images/update.svg');
|
||||
}
|
||||
.welcome-to-cau.email-bg {
|
||||
background-image: url('images/email.svg');
|
||||
}
|
||||
.welcome-to-cau.interval-bg {
|
||||
background-image: url('images/interval.svg');
|
||||
}
|
||||
.welcome-to-cau.advanced-bg {
|
||||
background-image: url('images/settings.svg');
|
||||
}
|
||||
.welcome-to-cau h2 {
|
||||
margin: 0;
|
||||
margin-bottom: 25px;
|
||||
font-size: 21px;
|
||||
font-weight: 400;
|
||||
line-height: 1.2;
|
||||
}
|
||||
.welcome-to-cau h2.title {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.welcome-to-cau h3 {
|
||||
font-size: 16px;
|
||||
margin-top: 0;
|
||||
}
|
||||
.welcome-to-cau a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.welcome-to-cau .welcome-column {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.welcome-to-cau.cau-show-love .welcome-column {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.welcome-to-cau .welcome-column.welcome-column-first {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
.first-column {
|
||||
padding-left: 140px;
|
||||
}
|
||||
.welcome-to-cau .welcome-column.welcome-column-half {
|
||||
width: 50%;
|
||||
}
|
||||
.welcome-to-cau .welcome-column.welcome-column-third {
|
||||
width: 33%;
|
||||
}
|
||||
.welcome-to-cau .welcome-column.welcome-column-quarter {
|
||||
width: 25%;
|
||||
}
|
||||
.welcome-to-cau a.minimal-button {
|
||||
display: inline-block;
|
||||
padding: 5px;
|
||||
}
|
||||
select.schedule_interval {
|
||||
max-width: 90%;
|
||||
width: 225px;
|
||||
}
|
||||
.cau_save_button.fixed_button {
|
||||
background: #FFF;
|
||||
box-sizing: border-box;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
margin-left: -25px;
|
||||
z-index: 1001;
|
||||
padding: 5px;
|
||||
box-shadow: 0 -8px 16px 0 rgb(85 93 102 / 30%);
|
||||
}
|
||||
.cau_save_button.fixed_button p.submit {
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.cau_save_button.fixed_button p.submit input {
|
||||
width: 100%;
|
||||
max-width: 250px;
|
||||
height: 100%;
|
||||
padding: 5px;
|
||||
}
|
||||
.cau_save_button__space {
|
||||
height: 75px;
|
||||
}
|
||||
|
||||
/* Overwrite core UI */
|
||||
/*.cau_content input[type="checkbox"]:checked::before {
|
||||
content: "";
|
||||
background: url( 'images/check.svg' );
|
||||
background-size: contain;
|
||||
background-position: center center;
|
||||
}*/
|
||||
.cau_content a {
|
||||
color: #9178B7;
|
||||
}
|
||||
.cau_content a.nav-tab {
|
||||
color: #23282D;
|
||||
}
|
||||
.cau_content .button-primary {
|
||||
background-color: #9178B7!important;
|
||||
border-color: #9178B7!important;
|
||||
}
|
||||
.cau_content .button-alt {
|
||||
color: #9178B7!important;
|
||||
border-color: #9178B7!important;
|
||||
}
|
||||
.cau_content .button-hero {
|
||||
font-weight: 500;
|
||||
padding: 2px 15px!important;
|
||||
}
|
||||
#message.cau {
|
||||
background: #FFF;
|
||||
border: 1px solid #CCD0D4;
|
||||
border-left-width: 4px;
|
||||
border-left-color: #9178B7;
|
||||
box-shadow: 0 1px 1px rgba(0,0,0,.04);
|
||||
margin: 25px 0px 5px 0;
|
||||
padding: 15px;
|
||||
}
|
||||
#message.cau a, #message.cau strong {
|
||||
color: #9178B7;
|
||||
}
|
||||
|
||||
/* Dashboard */
|
||||
.cau-column-wide {
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
width: calc(100% - 450px);
|
||||
padding-right: 25px;
|
||||
}
|
||||
.cau-column-small {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
width: 450px;
|
||||
}
|
||||
.cau-dashboard-box {
|
||||
background-position: right bottom;
|
||||
}
|
||||
.cau-column-wide .cau-dashboard-box {
|
||||
padding-right: 125px;
|
||||
}
|
||||
.cau-dashboard-box a {
|
||||
margin-left: 0px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.cau-dashboard-box .welcome-column {
|
||||
padding-right: 25px;
|
||||
}
|
||||
.support-sidebar-list {
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.cau_content .nav-tab {
|
||||
position: relative;
|
||||
}
|
||||
.cau_content .nav-tab .cau_melding {
|
||||
display: inline-block;
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
border-radius: 10px;
|
||||
margin-left: 5px;
|
||||
position: relative;
|
||||
bottom: -1px;
|
||||
}
|
||||
.cau_content .nav-tab .cau_melding.level-okay {
|
||||
background: #7AD03A;
|
||||
}
|
||||
.cau_content .nav-tab .cau_melding.level-low {
|
||||
background: #FFBA00;
|
||||
}
|
||||
.cau_content .nav-tab .cau_melding.level-high {
|
||||
background: #FF0000;
|
||||
}
|
||||
|
||||
/* Table Styling */
|
||||
.cau_content .widefat td {
|
||||
vertical-align: middle!important;
|
||||
}
|
||||
table.autoupdate th.head-plugin {
|
||||
min-width: 250px;
|
||||
}
|
||||
table.autoupdate th.head-status {
|
||||
min-width: 150px;
|
||||
}
|
||||
table.autoupdate th.check-column {
|
||||
position: relative;
|
||||
min-width: 55px;
|
||||
}
|
||||
table.autoupdate tr.inactive {
|
||||
background: #FEF7F1;
|
||||
}
|
||||
table.autoupdate tr.active .check-column {
|
||||
border-left: 3px solid transparent;
|
||||
}
|
||||
table.autoupdate tr.inactive .check-column {
|
||||
border-left: 3px solid #D54E21;
|
||||
}
|
||||
table.autoupdate tr.inactive td.column-status p {
|
||||
color: #BF3D3C;
|
||||
}
|
||||
table.autoupdate tr.active td.column-status p {
|
||||
color: #000;
|
||||
}
|
||||
table.autoupdate tr td.column-description p {
|
||||
overflow: hidden;
|
||||
max-height: 18px;
|
||||
}
|
||||
|
||||
/* Update Log */
|
||||
table.autoupdatelog {
|
||||
margin-top: 25px;
|
||||
}
|
||||
table.autoupdatelog strong {
|
||||
color: #000;
|
||||
}
|
||||
table.autoupdatelog .dashicons {
|
||||
color: #00A0D2;
|
||||
}
|
||||
|
||||
/* Status */
|
||||
table.cau_status_list {
|
||||
margin-top: 25px;
|
||||
}
|
||||
table.cau_status_list:not(.no_column_width) th, table.cau_status_list:not(.no_column_width) td {
|
||||
width: 25%;
|
||||
}
|
||||
.cau_enabled {
|
||||
color: #7AD03A;
|
||||
}
|
||||
.cau_disabled {
|
||||
color: #FF0000;
|
||||
}
|
||||
.cau_warning {
|
||||
color: #FFBA00;
|
||||
}
|
||||
.cau_mobile_prefix {
|
||||
display: none;
|
||||
}
|
||||
table.cau_status_list .cau_status_icon {
|
||||
width: 50px!important;
|
||||
}
|
||||
table.cau_status_list .cau_status_icon .dashicons, table.cau_status_list .cau_status_icon .dashicons-before:before {
|
||||
height: 25px;
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
/* Rollback list */
|
||||
table.rollbacklist {
|
||||
max-width: 650px;
|
||||
}
|
||||
table.rollbacklist td {
|
||||
vertical-align: middle;
|
||||
}
|
||||
table.rollbacklist td a.versionselectbutton {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Plugin list */
|
||||
.pluginListButtons {
|
||||
display: block;
|
||||
padding: 15px 0;
|
||||
}
|
||||
.pluginListButtons p.submit {
|
||||
display: inline-block;
|
||||
margin: 0!important;
|
||||
padding: 0!important;
|
||||
}
|
||||
.cau_content #the-list input[type="checkbox"]:not(:checked), .cau_content #the-list input[type="checkbox"]:checked {
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
z-index: 100;
|
||||
display: block;
|
||||
opacity: 0;
|
||||
}
|
||||
.cau_content #the-list input[type="checkbox"]:not(:checked) + label, .cau_content #the-list input[type="checkbox"]:checked + label {
|
||||
position: absolute;
|
||||
top: 15px;
|
||||
left: 12px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.cau_content #the-list input[type="checkbox"]:not(:checked) + label:before, .cau_content #the-list input[type="checkbox"]:checked + label:before, .cau_content #the-list input[type="checkbox"]:not(:checked) + label:after, .cau_content #the-list input[type="checkbox"]:checked + label:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
}
|
||||
.cau_content #the-list input[type="checkbox"]:not(:checked) + label:before, .cau_content #the-list input[type="checkbox"]:checked + label:before {
|
||||
left: 0;
|
||||
top: -3px;
|
||||
width: 30px;
|
||||
height: 16px;
|
||||
background: transparent;
|
||||
border: 2px solid #9178B7;
|
||||
border-radius: 15px;
|
||||
transition: background-color .2s;
|
||||
}
|
||||
.cau_content #the-list input[type="checkbox"]:not(:checked) + label:after, .cau_content #the-list input[type="checkbox"]:checked + label:after {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
transition: all .2s;
|
||||
border-radius: 500px;
|
||||
background: transparent;
|
||||
border: 2px solid #9178B7;
|
||||
top: 1px;
|
||||
left: 5px;
|
||||
}
|
||||
.cau_content #the-list input[type="checkbox"]:not(:checked) + label:before {
|
||||
background: #9178B7;
|
||||
border: 2px solid #9178B7;
|
||||
}
|
||||
.cau_content #the-list input[type="checkbox"]:not(:checked) + label:after {
|
||||
background: #9178B7;
|
||||
border-color: #FFF;
|
||||
left: 18px;
|
||||
}
|
||||
|
||||
/* Scheduling */
|
||||
.cau_schedule_input {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 50px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
.cau_schedule_input input {
|
||||
max-width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
.cau_schedule_input_div {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
padding: 0 6px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.cau_shedule_notation {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 125px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
.cau_shedule_notation .dashicons {
|
||||
position: relative;
|
||||
bottom: -5px;
|
||||
}
|
||||
|
||||
/* Tooltip */
|
||||
.cau_tooltip {
|
||||
position: relative;
|
||||
}
|
||||
.cau_tooltip .cau_tooltip_text {
|
||||
visibility: hidden;
|
||||
background-color: rgba(0,0,0,0.7);
|
||||
color: #FFF;
|
||||
text-align: left;
|
||||
font-size: 14px;
|
||||
padding: 15px;
|
||||
border-radius: 6px;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
width: 240px;
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
margin-left: -60px;
|
||||
margin-bottom: 10px;
|
||||
opacity: 0;
|
||||
transition: .3s;
|
||||
font-weight: normal;
|
||||
}
|
||||
.cau_tooltip:hover .cau_tooltip_text {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
.cau_tooltip .cau_tooltip_text::after {
|
||||
content: " ";
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 50%;
|
||||
margin-left: -75px;
|
||||
border-width: 5px;
|
||||
border-style: solid;
|
||||
border-color: rgba(0,0,0,0.7) transparent transparent transparent;
|
||||
}
|
||||
|
||||
/* Responsive */
|
||||
@media screen and (max-width: 1400px) {
|
||||
|
||||
.cau-column-wide {
|
||||
width: calc(100% - 350px);
|
||||
}
|
||||
.cau-column-small {
|
||||
width: 350px;
|
||||
}
|
||||
.welcome-to-cau .welcome-column.welcome-column-quarter {
|
||||
width: 50%;
|
||||
padding-bottom: 35px;
|
||||
}
|
||||
.cau-column-small .welcome-to-cau {
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
}
|
||||
@media screen and (max-width: 1150px) {
|
||||
|
||||
.cau-column-wide, .cau-column-small {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
}
|
||||
@media screen and (max-width: 1000px) {
|
||||
|
||||
/* Basics */
|
||||
.cau_hide_on_mobile, table.autoupdate thead {
|
||||
display: none!important;
|
||||
}
|
||||
.form-table td fieldset p {
|
||||
display: block;
|
||||
padding: 5px 0;
|
||||
}
|
||||
.form-table td fieldset input[type="checkbox"] {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 25px;
|
||||
}
|
||||
.form-table td fieldset label {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: calc(100% - 40px);
|
||||
box-sizing: border-box;
|
||||
padding-left: 5px;
|
||||
}
|
||||
.cau_content .nav-tab-wrapper {
|
||||
position: relative;
|
||||
top: -20px;
|
||||
border-bottom: 1px solid #CCC!important;
|
||||
padding-bottom: 15px!important;
|
||||
margin-bottom: 0px!important;
|
||||
}
|
||||
.cau_content .nav-tab {
|
||||
font-size: 12px;
|
||||
margin: 5px 5px 0 0!important;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Scheduling */
|
||||
.cau_schedule_input {
|
||||
width: 75px;
|
||||
}
|
||||
|
||||
/* Custom buttons */
|
||||
.cau-button {
|
||||
display: block;
|
||||
text-align: center;
|
||||
margin: 5px 0;
|
||||
}
|
||||
.cau-button .dashicons {
|
||||
float: left;
|
||||
}
|
||||
|
||||
/* Dashboard */
|
||||
.welcome-to-cau {
|
||||
background-position: right bottom;
|
||||
}
|
||||
.welcome-to-cau.love-bg {
|
||||
background-image: none;
|
||||
}
|
||||
.welcome-to-cau .welcome-column {
|
||||
min-width: 100%;
|
||||
}
|
||||
.welcome-to-cau .welcome-column.welcome-column-first {
|
||||
padding-left: 0px;
|
||||
}
|
||||
.cau-column-wide .cau-dashboard-box {
|
||||
padding-right: 30px;
|
||||
padding-bottom: 125px
|
||||
}
|
||||
.majorMinorExplain {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Status */
|
||||
table.cau_status_list .cau_status_name {
|
||||
display: inline-block;
|
||||
width: 50%;
|
||||
box-sizing: border-box;
|
||||
font-weight: 500;
|
||||
}
|
||||
table.cau_status_list .cau_status_interval {
|
||||
display: none;
|
||||
}
|
||||
table.cau_status_list th.cau_status_next {
|
||||
display: none;
|
||||
}
|
||||
table.cau_status_list td.cau_status_next {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
table.cau_status_list .cau_status_active_state {
|
||||
display: inline-block;
|
||||
width: 50%;
|
||||
box-sizing: border-box;
|
||||
text-align: right;
|
||||
}
|
||||
.cau_mobile_prefix {
|
||||
display: inline-block;
|
||||
padding-right: 5px;
|
||||
}
|
||||
table.cau_status_list.cau_status_warnings td {
|
||||
display: block;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
table.cau_status_list.cau_status_warnings th.cau_plugin_issue_explain, table.cau_status_list.cau_status_warnings th.cau_plugin_issue_fixit {
|
||||
display: none;
|
||||
}
|
||||
table.cau_status_list.cau_status_warnings td.cau_plugin_issue_name {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
#wpadminbar #wp-admin-bar-cau-has-issues .ab-icon:before {
|
||||
/*content: "\f463";*/
|
||||
content: "\f332";
|
||||
top: 3px;
|
||||
}
|
||||
#wpadminbar #wp-admin-bar-cau-has-issues .cau-level-low {
|
||||
/*color: #FFBA00;*/
|
||||
}
|
||||
#wpadminbar #wp-admin-bar-cau-has-issues .cau-level-high {
|
||||
color: #FF0000;
|
||||
}
|
@ -1,526 +0,0 @@
|
||||
<?php
|
||||
|
||||
// Check if emails should be send or not
|
||||
function cau_check_updates_mail() {
|
||||
|
||||
// Notify of pending updates
|
||||
if( cau_get_db_value( 'send' ) == 'on' ) {
|
||||
cau_list_theme_updates(); // Check for theme updates
|
||||
cau_list_plugin_updates(); // Check for plugin updates
|
||||
}
|
||||
|
||||
// Notify of completed updates
|
||||
if( cau_get_db_value( 'sendupdate' ) == 'on' && cau_get_db_value( 'plugins' ) == 'on' ) {
|
||||
cau_plugin_updated(); // Check for updated plugins
|
||||
}
|
||||
|
||||
// Notify of required db update
|
||||
if( cau_get_db_value( 'dbupdateemails' ) == 'on' ) {
|
||||
cau_notify_outofdate_db();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Notify of out of date software
|
||||
function cau_outdated_notifier_mail() {
|
||||
if( cau_get_db_value( 'sendoutdated' ) == 'on' ) {
|
||||
cau_list_outdated_software(); // Check for oudated plugins
|
||||
}
|
||||
}
|
||||
|
||||
// Ge the emailadresses it should be send to
|
||||
function cau_set_email() {
|
||||
|
||||
$emailArray = array();
|
||||
|
||||
if( cau_get_db_value( 'email' ) == '' ) {
|
||||
array_push( $emailArray, get_option('admin_email') );
|
||||
} else {
|
||||
$emailAdresses = cau_get_db_value( 'email' );
|
||||
$list = explode( ", ", $emailAdresses );
|
||||
foreach ( $list as $key ) {
|
||||
array_push( $emailArray, $list );
|
||||
}
|
||||
}
|
||||
|
||||
return $emailArray;
|
||||
|
||||
}
|
||||
|
||||
// Mail format
|
||||
function cau_is_html() {
|
||||
if ( !function_exists( 'cau_get_db_value' ) ) require_once( plugin_dir_path( __FILE__ ) . 'cau_function.php' );
|
||||
return ( cau_get_db_value( 'html_or_text' ) == 'html' ) ? true : false;
|
||||
}
|
||||
|
||||
// Set the content for the emails about pending updates
|
||||
function cau_outdated_message( $single, $plural, $list ) {
|
||||
|
||||
// WP version
|
||||
$wpversion = get_bloginfo( 'version' );
|
||||
|
||||
// Base text
|
||||
$text = sprintf( esc_html__( "You have %s on your WordPress site at %s that have not been tested with the latest 3 major releases of WordPress.", "companion-auto-update" ), $plural, get_site_url() );
|
||||
$text .= "\n";
|
||||
$text .= "\n";
|
||||
|
||||
// The list
|
||||
if( !empty( $list ) ) {
|
||||
|
||||
$text .= sprintf( esc_html__( "The following %s have not been tested with WordPress %s:", "companion-auto-update" ), $plural, $wpversion );
|
||||
$text .= "\n";
|
||||
$text .= "\n";
|
||||
|
||||
foreach ( $list as $plugin => $version ) {
|
||||
if( $version == '' ) $version = __( "Unknown", "companion-auto-update" );
|
||||
$text .= "- ".sprintf( esc_html__( "%s tested up to: %s", "companion-auto-update" ), $plugin, $version )."\n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $text;
|
||||
|
||||
}
|
||||
|
||||
// Set the content for the emails about pending updates
|
||||
function cau_pending_message( $single, $plural, $list ) {
|
||||
|
||||
// What markup to use
|
||||
if( cau_is_html() ) $break = '<br />';
|
||||
else $break = "\n";
|
||||
|
||||
// Base text
|
||||
$text = sprintf( esc_html__( 'You have pending %1$s updates on your WordPress site at %2$s.', 'companion-auto-update' ), $single, get_site_url() );
|
||||
$text .= $break;
|
||||
|
||||
if( !empty( $list ) ) {
|
||||
|
||||
$text .= $break;
|
||||
$text .= sprintf( esc_html__( 'The following %1$s have new versions available.', 'companion-auto-update' ), $plural );
|
||||
$text .= $break;
|
||||
|
||||
if( cau_is_html() ) $text .= "<ol>";
|
||||
foreach ( $list as $key => $value ) {
|
||||
if( cau_is_html() ) {
|
||||
$text .= "<li>$value</li>";
|
||||
} else {
|
||||
$text .= "-$value\n";
|
||||
}
|
||||
}
|
||||
if( cau_is_html() ) $text .= "</ol>";
|
||||
|
||||
$text .= $break;
|
||||
}
|
||||
|
||||
$text .= __( 'Leaving your site outdated is a security risk so please consider manually updating them.', 'companion-auto-update' );
|
||||
$text .= $break;
|
||||
|
||||
// End
|
||||
$text .= sprintf( esc_html__( 'Head over to %1$s and check the ones you want to update.', 'companion-auto-update' ), get_admin_url().'update-core.php' );
|
||||
|
||||
return $text;
|
||||
|
||||
}
|
||||
|
||||
// Set the content for the emails about recent updates
|
||||
function cau_updated_message( $type, $updatedList ) {
|
||||
|
||||
// What markup to use
|
||||
if( cau_is_html() ) $break = '<br />';
|
||||
else $break = "\n";
|
||||
|
||||
// The message
|
||||
$text = sprintf( esc_html__(
|
||||
'One or more %1$s on your WordPress site at %2$s have been updated by Companion Auto Update. No further action is needed on your part.
|
||||
For more info on what is new visit your dashboard and check the changelog.', 'companion-auto-update'
|
||||
), $type, get_site_url() );
|
||||
|
||||
$text .= $break;
|
||||
$text .= $break;
|
||||
$text .= sprintf( esc_html__(
|
||||
'The following %1$s have been updated:', 'companion-auto-update'
|
||||
), $type );
|
||||
|
||||
$text .= $break;
|
||||
$text .= $updatedList;
|
||||
|
||||
$text .= $break;
|
||||
$text .= __( "(You'll also receive this email if you manually updated a plugin or theme)", "companion-auto-update" );
|
||||
|
||||
return $text;
|
||||
|
||||
}
|
||||
|
||||
// Checks if plugins are out of date
|
||||
function cau_list_outdated_software() {
|
||||
|
||||
// Check if cau_get_db_value() function exists.
|
||||
if ( !function_exists( 'cau_get_db_value' ) ) require_once( plugin_dir_path( __FILE__ ) . 'cau_function.php' );
|
||||
|
||||
// Set up mail
|
||||
$subject = '['.get_bloginfo( 'name' ).'] ' . __( 'You have outdated plugins on your site.', 'companion-auto-update' );
|
||||
$type = __( 'plugin', 'companion-auto-update' );
|
||||
$type_plural = __( 'plugins', 'companion-auto-update' );
|
||||
$message = cau_outdated_message( $type, $type_plural, cau_list_outdated() );
|
||||
|
||||
// Send to all addresses
|
||||
foreach ( cau_set_email() as $key => $value ) {
|
||||
foreach ( $value as $k => $v ) {
|
||||
wp_mail( $v, $subject, $message );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Checks if theme updates are available
|
||||
function cau_list_theme_updates() {
|
||||
|
||||
global $wpdb;
|
||||
$table_name = $wpdb->prefix . "auto_updates";
|
||||
|
||||
$configs = $wpdb->get_results( "SELECT * FROM $table_name WHERE name = 'themes'");
|
||||
foreach ( $configs as $config ) {
|
||||
|
||||
if( $config->onoroff != 'on' ) {
|
||||
|
||||
// Check for required files
|
||||
if ( !function_exists( 'get_theme_updates' ) ) {
|
||||
require_once ABSPATH . 'wp-admin/includes/update.php';
|
||||
}
|
||||
|
||||
// Begin
|
||||
$themes = get_theme_updates();
|
||||
$list = array();
|
||||
|
||||
if ( !empty( $themes ) ) {
|
||||
|
||||
foreach ( $themes as $stylesheet => $theme ) {
|
||||
array_push( $list, $theme->get( 'Name' ) );
|
||||
}
|
||||
|
||||
$subject = '[' . get_bloginfo( 'name' ) . '] ' . __( 'Theme update available.', 'companion-auto-update' );
|
||||
$type = __('theme', 'companion-auto-update');
|
||||
$type_plural = __('themes', 'companion-auto-update');
|
||||
$message = cau_pending_message( $type, $type_plural, $list );
|
||||
|
||||
foreach ( cau_set_email() as $key => $value) {
|
||||
foreach ($value as $k => $v) {
|
||||
wp_mail( $v, $subject, $message );
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Checks if plugin updates are available
|
||||
function cau_list_plugin_updates() {
|
||||
|
||||
global $wpdb;
|
||||
$table_name = $wpdb->prefix . "auto_updates";
|
||||
|
||||
$configs = $wpdb->get_results( "SELECT * FROM $table_name WHERE name = 'plugins'");
|
||||
foreach ( $configs as $config ) {
|
||||
|
||||
if( $config->onoroff != 'on' ) {
|
||||
|
||||
require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
|
||||
|
||||
// Make sure get_plugin_updates() and get_plugins() are defined
|
||||
if ( !function_exists( 'get_plugin_updates' ) OR !function_exists( 'get_plugins' ) ) {
|
||||
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
||||
require_once ABSPATH . 'wp-admin/includes/update.php';
|
||||
}
|
||||
|
||||
// Begin
|
||||
$plugins = get_plugin_updates();
|
||||
|
||||
if ( !empty( $plugins ) ) {
|
||||
|
||||
$list = array();
|
||||
foreach ( (array) $plugins as $plugin_file => $plugin_data ) {
|
||||
$plugin_data = (object) _get_plugin_data_markup_translate( $plugin_file, (array) $plugin_data, false, true );
|
||||
$name = $plugin_data->Name;
|
||||
array_push( $list, $name );
|
||||
}
|
||||
|
||||
$subject = '[' . get_bloginfo( 'name' ) . '] ' . __( 'Plugin update available.', 'companion-auto-update' );
|
||||
$type = __( 'plugin', 'companion-auto-update' );
|
||||
$type_plural = __( 'plugins', 'companion-auto-update' );
|
||||
$message = cau_pending_message( $type, $type_plural, $list );
|
||||
|
||||
foreach ( cau_set_email() as $key => $value) {
|
||||
foreach ($value as $k => $v) {
|
||||
wp_mail( $v, $subject, $message );
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Alerts when plugin has been updated
|
||||
function cau_plugin_updated() {
|
||||
|
||||
// Check if cau_get_db_value() function exists.
|
||||
if ( !function_exists( 'cau_get_db_value' ) ) require_once( plugin_dir_path( __FILE__ ) . 'cau_function.php' );
|
||||
|
||||
// Set the correct timezone for emails
|
||||
date_default_timezone_set( cau_get_proper_timezone() );
|
||||
|
||||
// Create arrays
|
||||
$pluginNames = array();
|
||||
$pluginDates = array();
|
||||
$pluginVersion = array();
|
||||
$pluginSlug = array();
|
||||
$pluginTimes = array();
|
||||
$themeNames = array();
|
||||
$themeDates = array();
|
||||
$themeTimes = array();
|
||||
|
||||
// Where to look for plugins
|
||||
$plugdir = plugin_dir_path( __DIR__ );
|
||||
if ( !function_exists( 'get_plugins' ) ) require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); // Check if get_plugins() function exists.
|
||||
$allPlugins = get_plugins();
|
||||
|
||||
// Where to look for themes
|
||||
$themedir = get_theme_root();
|
||||
$allThemes = wp_get_themes();
|
||||
|
||||
// Mail schedule
|
||||
$schedule_mail = wp_get_schedule( 'cau_set_schedule_mail' );
|
||||
|
||||
// Loop trough all plugins
|
||||
foreach ( $allPlugins as $key => $value ) {
|
||||
|
||||
// Get plugin data
|
||||
$fullPath = $plugdir.'/'.$key;
|
||||
$getFile = $path_parts = pathinfo( $fullPath );
|
||||
$pluginData = get_plugin_data( $fullPath );
|
||||
|
||||
// Get the slug
|
||||
$explosion = explode( '/', $key );
|
||||
$actualSlug = array_shift( $explosion );
|
||||
|
||||
// Get last update date
|
||||
$fileDate = date ( 'YmdHi', filemtime( $fullPath ) );
|
||||
|
||||
switch ( $schedule_mail ) {
|
||||
case 'hourly':
|
||||
$lastday = date( 'YmdHi', strtotime( '-1 hour', time() ) );
|
||||
break;
|
||||
case 'twicedaily':
|
||||
$lastday = date( 'YmdHi', strtotime( '-12 hours', time() ) );
|
||||
break;
|
||||
default:
|
||||
$lastday = date( 'YmdHi', strtotime( '-1 day', time() ) );
|
||||
break;
|
||||
}
|
||||
|
||||
$dateFormat = get_option( 'date_format' );
|
||||
$timestamp = date_i18n( $dateFormat, filemtime( $fullPath ) );
|
||||
$timestamp .= ' - '.date( 'H:i', filemtime( $fullPath ) );
|
||||
|
||||
if( $fileDate >= $lastday ) {
|
||||
|
||||
// Get plugin name
|
||||
foreach ( $pluginData as $dataKey => $dataValue ) {
|
||||
if( $dataKey == 'Name') {
|
||||
array_push( $pluginNames , $dataValue );
|
||||
}
|
||||
if( $dataKey == 'Version') {
|
||||
array_push( $pluginVersion , $dataValue );
|
||||
}
|
||||
}
|
||||
|
||||
array_push( $pluginDates, $fileDate );
|
||||
array_push( $pluginSlug, $actualSlug );
|
||||
array_push( $pluginTimes, $timestamp );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Loop trough all themes
|
||||
foreach ( $allThemes as $key => $value ) {
|
||||
|
||||
// Get theme data
|
||||
$fullPath = $themedir.'/'.$key;
|
||||
$getFile = $path_parts = pathinfo( $fullPath );
|
||||
|
||||
// Get last update date
|
||||
$dateFormat = get_option( 'date_format' );
|
||||
$fileDate = date ( 'YmdHi', filemtime( $fullPath ) );
|
||||
|
||||
if( $schedule_mail == 'hourly' ) {
|
||||
$lastday = date( 'YmdHi', strtotime( '-1 hour', time() ) );
|
||||
} elseif( $schedule_mail == 'twicedaily' ) {
|
||||
$lastday = date( 'YmdHi', strtotime( '-12 hours', time() ) );
|
||||
} elseif( $schedule_mail == 'daily' ) {
|
||||
$lastday = date( 'YmdHi', strtotime( '-1 day', time() ) );
|
||||
}
|
||||
|
||||
$dateFormat = get_option( 'date_format' );
|
||||
$timestamp = date_i18n( $dateFormat, filemtime( $fullPath ) );
|
||||
$timestamp .= ' - '.date( 'H:i', filemtime( $fullPath ) );
|
||||
|
||||
if( $fileDate >= $lastday ) {
|
||||
array_push( $themeNames, $path_parts['filename'] );
|
||||
array_push( $themeDates, $fileDate );
|
||||
array_push( $themeTimes, $timestamp );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$totalNumP = 0;
|
||||
$totalNumT = 0;
|
||||
$updatedListP = '';
|
||||
$updatedListT = '';
|
||||
|
||||
if( cau_get_db_value( 'html_or_text' ) == 'html' ) {
|
||||
$updatedListP .= '<ol>';
|
||||
$updatedListT .= '<ol>';
|
||||
}
|
||||
|
||||
foreach ( $pluginDates as $key => $value ) {
|
||||
|
||||
// Set up some var
|
||||
$plugin_name = $pluginNames[$key];
|
||||
$plugin_slug = $pluginSlug[$key];
|
||||
$to_version = __( "to version", "companion-auto-update" ).' '.$pluginVersion[$key];
|
||||
$more_info_arr = array( __( "Time of update", "companion-auto-update" ) => $pluginTimes[$key] );
|
||||
|
||||
// Plugin links
|
||||
if( cau_get_db_value( 'plugin_links_emails' ) == 'on' ) {
|
||||
$more_info_arr[__( "Plugin details", "companion-auto-update" )] = "<a href='https://wordpress.org/plugins/{$plugin_slug}/'>".__( "Visit", "companion-auto-update" )."</a>";
|
||||
$more_info_arr[__( "Release notes", "companion-auto-update" )] = "<a href='https://wordpress.org/plugins/{$plugin_slug}/#developers'>".__( "Visit", "companion-auto-update" )."</a>";
|
||||
$more_info_arr[__( "Support", "companion-auto-update" )] = "<a href='https://wordpress.org/support/plugin/{$plugin_slug}/'>".__( "Visit", "companion-auto-update" )."</a>";
|
||||
}
|
||||
|
||||
// Email format
|
||||
$use_html = ( cau_get_db_value( 'html_or_text' ) == 'html' ) ? true : false;
|
||||
|
||||
// Email content
|
||||
$updatedListP .= $use_html ? "<li>" : "-"; // Start row
|
||||
|
||||
$updatedListP .= $use_html ? "<strong>{$plugin_name}</strong> " : "{$plugin_name} "; // Show plugin name
|
||||
$updatedListP .= $to_version; // To version
|
||||
|
||||
// Get advanced info
|
||||
if( cau_get_db_value( 'advanced_info_emails' ) == 'on' ) {
|
||||
foreach( $more_info_arr as $label => $value ) {
|
||||
$updatedListP .= $use_html ? "<br />{$label}: {$value}" : "\n{$label}: {$value}";
|
||||
}
|
||||
}
|
||||
|
||||
$updatedListP .= $use_html ? "</li>" : "\n"; // End row
|
||||
|
||||
$totalNumP++;
|
||||
}
|
||||
|
||||
foreach ( $themeNames as $key => $value ) {
|
||||
|
||||
if( cau_get_db_value( 'html_or_text' ) == 'html' ) {
|
||||
|
||||
$more_info = '';
|
||||
if( cau_get_db_value( 'advanced_info_emails' ) == 'on' ) $more_info = "<br /><span style='opacity: 0.5;'>".__( "Time of update", "companion-auto-update" ).": ".$themeTimes[$key]."</span>";
|
||||
$updatedListT .= "<li><strong>".$themeNames[$key]."</strong>".$more_info."</li>";
|
||||
|
||||
} else {
|
||||
$updatedListT .= "- ".$themeNames[$key]."\n";
|
||||
}
|
||||
|
||||
$totalNumT++;
|
||||
}
|
||||
|
||||
if( cau_get_db_value( 'html_or_text' ) == 'html' ) {
|
||||
$updatedListP .= '</ol>';
|
||||
$updatedListT .= '</ol>';
|
||||
}
|
||||
|
||||
// Set the email content type
|
||||
if( cau_get_db_value( 'html_or_text' ) == 'html' ) {
|
||||
function cau_mail_content_type() {
|
||||
return 'text/html';
|
||||
}
|
||||
add_filter( 'wp_mail_content_type', 'cau_mail_content_type' );
|
||||
}
|
||||
|
||||
// If plugins have been updated, send email
|
||||
if( $totalNumP > 0 ) {
|
||||
|
||||
// E-mail content
|
||||
$subject = '[' . get_bloginfo( 'name' ) . '] ' . __('One or more plugins have been updated.', 'companion-auto-update');
|
||||
$type = __('plugins', 'companion-auto-update');
|
||||
$message = cau_updated_message( $type, $updatedListP );
|
||||
|
||||
// Send to all addresses
|
||||
foreach ( cau_set_email() as $key => $value) {
|
||||
foreach ($value as $k => $v) {
|
||||
wp_mail( $v, $subject, $message );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// If themes have been updated, send email
|
||||
if( $totalNumT > 0 ) {
|
||||
|
||||
// E-mail content
|
||||
$subject = '[' . get_bloginfo( 'name' ) . '] ' . __('One or more themes have been updated.', 'companion-auto-update');
|
||||
$type = __('themes', 'companion-auto-update');
|
||||
$message = cau_updated_message( $type, $updatedListT );
|
||||
|
||||
// Send to all addresses
|
||||
foreach ( cau_set_email() as $key => $value) {
|
||||
foreach ($value as $k => $v) {
|
||||
wp_mail( $v, $subject, $message );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if( cau_get_db_value( 'html_or_text' ) == 'html' ) remove_filter( 'wp_mail_content_type', 'cau_mail_content_type' );
|
||||
|
||||
// Prevent duplicate emails by setting the event again
|
||||
if( $totalNumT > 0 OR $totalNumP > 0 ) {
|
||||
if( $schedule_mail == 'hourly' ) {
|
||||
wp_clear_scheduled_hook('cau_set_schedule_mail');
|
||||
wp_schedule_event( strtotime( '+1 hour', time() ) , 'hourly', 'cau_set_schedule_mail' );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function cau_notify_outofdate_db() {
|
||||
|
||||
// Check if cau_get_db_value() function exists.
|
||||
if ( !function_exists( 'cau_get_db_value' ) ) require_once( plugin_dir_path( __FILE__ ) . 'cau_function.php' );
|
||||
|
||||
// Database requires an update
|
||||
if ( cau_incorrectDatabaseVersion() ) {
|
||||
|
||||
// Set up mail
|
||||
$subject = '[' . get_bloginfo( 'name' ) . '] ' . __( 'We need your help with something', 'companion-auto-update' );
|
||||
$message = __( 'Hi there! We need your help updating the database of Companion Auto Update to the latest version. No rush, old features will continue to work but some new features might not work until you update the database.', 'companion-auto-update' );
|
||||
|
||||
// Send to all addresses
|
||||
foreach ( cau_set_email() as $key => $value ) {
|
||||
foreach ( $value as $k => $v ) {
|
||||
wp_mail( $v, $subject, $message );
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -1,420 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Plugin Name: Companion Auto Update
|
||||
* Plugin URI: http://codeermeneer.nl/portfolio/companion-auto-update/
|
||||
* Description: This plugin auto updates all plugins, all themes and the wordpress core.
|
||||
* Version: 3.9.2
|
||||
* Author: Papin Schipper
|
||||
* Author URI: http://codeermeneer.nl/
|
||||
* Contributors: papin
|
||||
* License: GPLv2 or later
|
||||
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
||||
* Text Domain: companion-auto-update
|
||||
* Domain Path: /languages/
|
||||
*/
|
||||
|
||||
// Disable direct access
|
||||
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
|
||||
|
||||
// Load translations
|
||||
function cau_init() {
|
||||
load_plugin_textdomain( 'companion-auto-update', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); // Load language files (for backwards compat mostly)
|
||||
add_filter( 'plugins_auto_update_enabled', '__return_false' ); // Turn off default WP5.5 plugin update features to avoid confusion
|
||||
add_filter( 'themes_auto_update_enabled', '__return_false' ); // Turn off default WP5.5 theme update features to avoid confusion
|
||||
}
|
||||
add_action( 'init', 'cau_init' );
|
||||
|
||||
// Set up the database and required schedules
|
||||
function cau_install( $network_wide ) {
|
||||
|
||||
if ( is_multisite() && $network_wide ) {
|
||||
global $wpdb;
|
||||
$blog_ids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" );
|
||||
foreach ( $blog_ids as $blog_id ) {
|
||||
switch_to_blog( $blog_id );
|
||||
cau_database_creation();
|
||||
restore_current_blog();
|
||||
}
|
||||
} else {
|
||||
cau_database_creation();
|
||||
}
|
||||
|
||||
if (! wp_next_scheduled ( 'cau_set_schedule_mail' )) wp_schedule_event( time(), 'daily', 'cau_set_schedule_mail'); // Set schedule for basic notifcations
|
||||
if (! wp_next_scheduled ( 'cau_custom_hooks_plugins' )) wp_schedule_event( time(), 'daily', 'cau_custom_hooks_plugins'); // Run custom hooks on plugin updates
|
||||
if (! wp_next_scheduled ( 'cau_custom_hooks_themes' )) wp_schedule_event( time(), 'daily', 'cau_custom_hooks_themes'); // Run custom hooks on theme updates
|
||||
if (! wp_next_scheduled ( 'cau_log_updater' )) wp_schedule_event( ( time() - 1800 ), 'daily', 'cau_log_updater'); // Keep the log up to date
|
||||
if (! wp_next_scheduled ( 'cau_outdated_notifier' )) wp_schedule_event( time(), 'daily', 'cau_outdated_notifier'); // Set schedule for basic notifcations
|
||||
}
|
||||
|
||||
add_action( 'cau_set_schedule_mail', 'cau_check_updates_mail' );
|
||||
add_action( 'cau_outdated_notifier', 'cau_outdated_notifier_mail' );
|
||||
add_action( 'wp_update_plugins', 'cau_run_custom_hooks_p' );
|
||||
add_action( 'wp_update_themes', 'cau_run_custom_hooks_t' );
|
||||
add_action( 'wp_version_check', 'cau_run_custom_hooks_c' );
|
||||
|
||||
// Hourly event to keep the log up to date
|
||||
function cau_keep_log_uptodate() {
|
||||
cau_savePluginInformation(); // Check for new plugins and themes
|
||||
cau_check_delayed(); // Check for plugin delays
|
||||
}
|
||||
add_action( 'cau_log_updater', 'cau_keep_log_uptodate' );
|
||||
|
||||
// Redirect to welcome screen on activation of plugin
|
||||
function cau_pluginActivateWelcome() {
|
||||
add_option( 'cau_redirectToWelcomeScreen', true );
|
||||
}
|
||||
register_activation_hook(__FILE__, 'cau_pluginActivateWelcome');
|
||||
|
||||
// Redirect to welcome screen on activation of plugin
|
||||
function cau_pluginRedirectWelcomeScreen() {
|
||||
if ( get_option( 'cau_redirectToWelcomeScreen', false ) ) {
|
||||
delete_option( 'cau_redirectToWelcomeScreen' );
|
||||
if( !isset( $_GET['activate-multi'] ) ) {
|
||||
wp_redirect( admin_url( cau_menloc().'?page=cau-settings&welcome=1' ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
add_action( 'admin_init', 'cau_pluginRedirectWelcomeScreen' );
|
||||
|
||||
// Donate url
|
||||
function cau_donateUrl() {
|
||||
return 'https://www.paypal.me/dakel/10/';
|
||||
}
|
||||
|
||||
// Database version
|
||||
function cau_db_version() {
|
||||
return '3.8.3';
|
||||
}
|
||||
|
||||
function cau_database_creation() {
|
||||
|
||||
global $wpdb;
|
||||
|
||||
// Plugin db info
|
||||
$cau_db_version = cau_db_version();
|
||||
$autoupdates = $wpdb->prefix."auto_updates";
|
||||
$updateLog = $wpdb->prefix."update_log";
|
||||
|
||||
// WordPress db info
|
||||
$charset_collate = $wpdb->get_charset_collate();
|
||||
|
||||
// DB table creation queries
|
||||
$sql = "CREATE TABLE $autoupdates ( id INT(9) NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, onoroff TEXT NOT NULL, UNIQUE KEY id (id) ) $charset_collate;";
|
||||
$sql2 = "CREATE TABLE $updateLog ( id INT(9) NOT NULL AUTO_INCREMENT, slug VARCHAR(255) NOT NULL, oldVersion VARCHAR(10) NOT NULL, newVersion VARCHAR(10) NOT NULL, method VARCHAR(10) NOT NULL, put_on_hold VARCHAR(100) DEFAULT '0', UNIQUE KEY id (id) ) $charset_collate;";
|
||||
|
||||
// Create DB tables
|
||||
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
||||
dbDelta( $sql );
|
||||
dbDelta( $sql2 );
|
||||
|
||||
// Database version
|
||||
add_option( "cau_db_version", "$cau_db_version" );
|
||||
|
||||
// Insert data
|
||||
cau_install_data();
|
||||
}
|
||||
|
||||
// Check if database table exists before creating
|
||||
function cau_check_if_exists( $whattocheck, $id = 'name', $db_table = 'auto_updates' ) {
|
||||
|
||||
global $wpdb;
|
||||
|
||||
$table_name = $wpdb->prefix.$db_table;
|
||||
$rows = $wpdb->get_col( "SELECT COUNT(*) as num_rows FROM {$table_name} WHERE {$id} = '{$whattocheck}'" );
|
||||
$check = $rows[0];
|
||||
|
||||
return ( $check > 0 ) ? true : false;
|
||||
|
||||
}
|
||||
|
||||
// Insert date into database
|
||||
function cau_install_data() {
|
||||
|
||||
global $wpdb;
|
||||
|
||||
$table_name = $wpdb->prefix . "auto_updates";
|
||||
$toemail = get_option('admin_email');
|
||||
|
||||
// Update configs
|
||||
if( !cau_check_if_exists( 'plugins' ) ) $wpdb->insert( $table_name, array( 'name' => 'plugins', 'onoroff' => 'on' ) );
|
||||
if( !cau_check_if_exists( 'themes' ) ) $wpdb->insert( $table_name, array( 'name' => 'themes', 'onoroff' => 'on' ) );
|
||||
if( !cau_check_if_exists( 'minor' ) ) $wpdb->insert( $table_name, array( 'name' => 'minor', 'onoroff' => 'on' ) );
|
||||
if( !cau_check_if_exists( 'major' ) ) $wpdb->insert( $table_name, array( 'name' => 'major', 'onoroff' => '' ) );
|
||||
|
||||
// Email configs
|
||||
if( !cau_check_if_exists( 'email' ) ) $wpdb->insert( $table_name, array( 'name' => 'email', 'onoroff' => '' ) );
|
||||
if( !cau_check_if_exists( 'send' ) ) $wpdb->insert( $table_name, array( 'name' => 'send', 'onoroff' => '' ) );
|
||||
if( !cau_check_if_exists( 'sendupdate' ) ) $wpdb->insert( $table_name, array( 'name' => 'sendupdate', 'onoroff' => '' ) );
|
||||
if( !cau_check_if_exists( 'sendoutdated' ) ) $wpdb->insert( $table_name, array( 'name' => 'sendoutdated', 'onoroff' => '' ) );
|
||||
|
||||
// Advanced
|
||||
if( !cau_check_if_exists( 'notUpdateList' ) ) $wpdb->insert( $table_name, array( 'name' => 'notUpdateList', 'onoroff' => '' ) );
|
||||
if( !cau_check_if_exists( 'translations' ) ) $wpdb->insert( $table_name, array( 'name' => 'translations', 'onoroff' => 'on' ) );
|
||||
if( !cau_check_if_exists( 'wpemails' ) ) $wpdb->insert( $table_name, array( 'name' => 'wpemails', 'onoroff' => 'on' ) );
|
||||
if( !cau_check_if_exists( 'notUpdateListTh' ) ) $wpdb->insert( $table_name, array( 'name' => 'notUpdateListTh', 'onoroff' => '' ) );
|
||||
|
||||
// Stuff
|
||||
if( !cau_check_if_exists( 'html_or_text' ) ) $wpdb->insert( $table_name, array( 'name' => 'html_or_text', 'onoroff' => 'html' ) );
|
||||
if( !cau_check_if_exists( 'dbupdateemails' ) ) $wpdb->insert( $table_name, array( 'name' => 'dbupdateemails', 'onoroff' => '' ) );
|
||||
|
||||
// Advanced
|
||||
if( !cau_check_if_exists( 'allow_administrator' ) ) $wpdb->insert( $table_name, array( 'name' => 'allow_administrator', 'onoroff' => 'on' ) );
|
||||
if( !cau_check_if_exists( 'allow_editor' ) ) $wpdb->insert( $table_name, array( 'name' => 'allow_editor', 'onoroff' => '' ) );
|
||||
if( !cau_check_if_exists( 'allow_author' ) ) $wpdb->insert( $table_name, array( 'name' => 'allow_author', 'onoroff' => '' ) );
|
||||
if( !cau_check_if_exists( 'ignore_seo' ) ) $wpdb->insert( $table_name, array( 'name' => 'ignore_seo', 'onoroff' => '' ) );
|
||||
if( !cau_check_if_exists( 'ignore_cron' ) ) $wpdb->insert( $table_name, array( 'name' => 'ignore_cron', 'onoroff' => '' ) );
|
||||
if( !cau_check_if_exists( 'advanced_info_emails' ) ) $wpdb->insert( $table_name, array( 'name' => 'advanced_info_emails', 'onoroff' => '' ) );
|
||||
if( !cau_check_if_exists( 'update_delay' ) ) $wpdb->insert( $table_name, array( 'name' => 'update_delay', 'onoroff' => '' ) );
|
||||
if( !cau_check_if_exists( 'update_delay_days' ) ) $wpdb->insert( $table_name, array( 'name' => 'update_delay_days', 'onoroff' => '' ) );
|
||||
if( !cau_check_if_exists( 'plugin_links_emails' ) ) $wpdb->insert( $table_name, array( 'name' => 'plugin_links_emails', 'onoroff' => '' ) );
|
||||
|
||||
}
|
||||
register_activation_hook( __FILE__, 'cau_install' );
|
||||
|
||||
// Clear everything on deactivation
|
||||
function cau_remove() {
|
||||
|
||||
// Delete tables
|
||||
global $wpdb;
|
||||
$autoupdates = $wpdb->prefix."auto_updates";
|
||||
$updateLog = $wpdb->prefix."update_log";
|
||||
$wpdb->query( "DROP TABLE IF EXISTS $autoupdates" );
|
||||
$wpdb->query( "DROP TABLE IF EXISTS $updateLog" );
|
||||
|
||||
// Clear schedules
|
||||
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' );
|
||||
|
||||
// Restore WordPress 5.5 default update functionality
|
||||
add_filter( 'plugins_auto_update_enabled', '__return_true' );
|
||||
add_filter( 'themes_auto_update_enabled', '__return_true' );
|
||||
add_filter( 'auto_plugin_update_send_email', '__return_true' );
|
||||
add_filter( 'auto_theme_update_send_email', '__return_true' );
|
||||
|
||||
}
|
||||
register_deactivation_hook( __FILE__, 'cau_remove' );
|
||||
|
||||
// Update
|
||||
function cau_update_db_check() {
|
||||
|
||||
$cau_db_version = cau_db_version();
|
||||
|
||||
if ( get_site_option( 'cau_db_version' ) != $cau_db_version ) {
|
||||
|
||||
cau_database_creation();
|
||||
|
||||
// In 3.7.2 we've added $wpdb->get_charset_collate
|
||||
if( get_site_option( 'cau_db_version' ) < '3.7.2' ) {
|
||||
|
||||
global $wpdb;
|
||||
$autoupdates = $wpdb->prefix."auto_updates";
|
||||
$updateLog = $wpdb->prefix."update_log";
|
||||
$db_charset = constant( 'DB_CHARSET' );
|
||||
$wpdb->query( "ALTER TABLE $autoupdates CONVERT TO CHARACTER SET $db_charset" );
|
||||
$wpdb->query( "ALTER TABLE $updateLog CONVERT TO CHARACTER SET $db_charset" );
|
||||
}
|
||||
update_option( "cau_db_version", $cau_db_version );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
add_action( 'upgrader_process_complete', 'cau_update_db_check' );
|
||||
|
||||
// Manual update
|
||||
function cau_manual_update() {
|
||||
cau_update_db_check();
|
||||
}
|
||||
|
||||
// Load custom functions
|
||||
require_once( plugin_dir_path( __FILE__ ) . 'cau_functions.php' );
|
||||
|
||||
// Add plugin to menu
|
||||
function register_cau_menu_page() {
|
||||
if( cau_allowed_user_rights() ) add_submenu_page( cau_menloc() , __( 'Auto Updater', 'companion-auto-update' ), __( 'Auto Updater', 'companion-auto-update' ), 'manage_options', 'cau-settings', 'cau_frontend' );
|
||||
}
|
||||
add_action( 'admin_menu', 'register_cau_menu_page' );
|
||||
|
||||
// Settings page
|
||||
function cau_frontend() {
|
||||
|
||||
echo "<div class='wrap cau_content_wrap cau_content'>
|
||||
<h1 class='wp-heading-inline'>".__( 'Companion Auto Update', 'companion-auto-update' )."</h1>
|
||||
<hr class='wp-header-end'>";
|
||||
|
||||
// Make sure the correct timezone is used
|
||||
date_default_timezone_set( cau_get_proper_timezone() );
|
||||
|
||||
// Allow only access to these pages
|
||||
$allowedPages = array(
|
||||
'dashboard' => __( 'Dashboard' ),
|
||||
'pluginlist' => __( 'Update filter', 'companion-auto-update' ),
|
||||
'log' => __( 'Update log', 'companion-auto-update' ),
|
||||
'status' => __( 'Status', 'companion-auto-update' ),
|
||||
);
|
||||
|
||||
// Show subtabs
|
||||
echo "<h2 class='nav-tab-wrapper wp-clearfix'>";
|
||||
|
||||
foreach ( $allowedPages as $page => $title ) {
|
||||
echo "<a href='".cau_url( $page )."' id='tab-".$page."' class='nav-tab "._active_tab( $page )."'>".$title;
|
||||
if( $page == 'status' ) echo cau_pluginHasIssues() ? "<span class='cau_melding level-".cau_pluginIssueLevels()."'></span>" : "<span class='cau_melding level-okay'></span>"; // Show status icon
|
||||
echo "</a>";
|
||||
}
|
||||
|
||||
echo "</h2>";
|
||||
|
||||
// Show page content
|
||||
if( !isset( $_GET['tab'] ) ) {
|
||||
$requestedPage = 'dashboard';
|
||||
echo "<script>jQuery('#tab-dashboard').addClass('nav-tab-active');</script>"; // Set active tab class
|
||||
} else {
|
||||
$requestedPage = sanitize_key( $_GET['tab'] );
|
||||
}
|
||||
|
||||
if( array_key_exists( $requestedPage, $allowedPages ) ) {
|
||||
require_once( plugin_dir_path( __FILE__ ) . 'admin/'.$requestedPage.'.php' );
|
||||
} else {
|
||||
wp_die( 'You\'re not allowed to view <strong>'.$requestedPage.'</strong>.' );
|
||||
}
|
||||
|
||||
echo '</div>';
|
||||
|
||||
}
|
||||
|
||||
// Add a widget to the dashboard.
|
||||
function cau_add_widget() {
|
||||
if ( cau_allowed_user_rights() ) wp_add_dashboard_widget( 'cau-update-log', __('Update log', 'companion-auto-update'), 'cau_widget' );
|
||||
}
|
||||
add_action( 'wp_dashboard_setup', 'cau_add_widget' );
|
||||
|
||||
// Widget content
|
||||
function cau_widget() {
|
||||
echo '<style>table.autoupdatewidget { border: 0px solid transparent; border-bottom: 1px solid #EEEEEE; margin: 0 -12px; width: calc(100% + 24px); } table.autoupdatewidget tr td { border-top: 1px solid #EEEEEE; padding: 9px 12px 5px 12px; background: #FAFAFA; } .cau_divide { display: inline-block; color: #E7E0DF; padding: 0 2px; } </style>';
|
||||
echo '<p>'.__('Below are the last 7 updates ran on this site. Includes plugins and themes, both automatically updated and manually updated.', 'companion-auto-update').'</p>';
|
||||
cau_fetch_log( '7' );
|
||||
echo '<p><a href="'.cau_url( 'log' ).'">'.__( 'View full changelog', 'companion-auto-update' ).'</a> <span class="cau_divide">|</span> <a href="'.cau_url( 'dashboard' ).'">'.__( 'Settings' ).'</a></p>';
|
||||
}
|
||||
|
||||
// Load admin styles
|
||||
function load_cau_global_styles( $hook ) {
|
||||
wp_enqueue_style( 'cau_admin_styles', plugins_url( 'backend/style.css' , __FILE__ ) ); // Plugin scripts
|
||||
wp_enqueue_style( 'cau_warning_styles', plugins_url( 'backend/warningbar.css' , __FILE__ ) ); // Check for issues
|
||||
}
|
||||
add_action( 'admin_enqueue_scripts', 'load_cau_global_styles', 99 );
|
||||
|
||||
// Load admin styles
|
||||
function load_cau_page_styles( $hook ) {
|
||||
|
||||
// Only load on plugins' pages
|
||||
if( $hook != 'tools_page_cau-settings' && $hook != 'index_page_cau-settings' ) return;
|
||||
|
||||
// WordPress scripts we need
|
||||
wp_enqueue_style( 'thickbox' );
|
||||
wp_enqueue_script( 'thickbox' );
|
||||
wp_enqueue_script( 'plugin-install' );
|
||||
}
|
||||
add_action( 'admin_enqueue_scripts', 'load_cau_page_styles', 100 );
|
||||
|
||||
// Send e-mails
|
||||
require_once( plugin_dir_path( __FILE__ ) . 'cau_emails.php' );
|
||||
|
||||
// Add settings link on plugin page
|
||||
function cau_settings_link( $links ) {
|
||||
|
||||
$settings_link = '<a href="'.cau_url( 'dashboard' ).'">'.__( 'Settings' ).'</a>';
|
||||
$settings_link2 = '<a href="https://translate.wordpress.org/projects/wp-plugins/companion-auto-update">'.__( 'Help us translate', 'companion-auto-update' ).'</a>';
|
||||
$settings_link3 = '<a href="'.cau_donateUrl().'">'.__( 'Donate to help development', 'companion-auto-update' ).'</a>';
|
||||
|
||||
array_unshift( $links, $settings_link2 );
|
||||
array_unshift( $links, $settings_link3 );
|
||||
if( cau_allowed_user_rights() ) array_unshift( $links, $settings_link );
|
||||
|
||||
return $links;
|
||||
|
||||
}
|
||||
$plugin = plugin_basename(__FILE__);
|
||||
add_filter( "plugin_action_links_$plugin", "cau_settings_link" );
|
||||
|
||||
// Auto Update Class
|
||||
class CAU_auto_update {
|
||||
|
||||
// Enable Update filters
|
||||
public function __construct() {
|
||||
add_action( 'plugins_loaded', array( &$this, 'CAU_auto_update_filters' ), 1 );
|
||||
}
|
||||
|
||||
public function CAU_auto_update_filters() {
|
||||
|
||||
global $wpdb;
|
||||
$table_name = $wpdb->prefix . "auto_updates";
|
||||
|
||||
// Disable WP emails
|
||||
add_filter( 'auto_plugin_update_send_email', '__return_false' ); // Plugin updates
|
||||
add_filter( 'auto_theme_update_send_email', '__return_false' ); // Theme updates
|
||||
|
||||
// Enable for major updates
|
||||
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'major'");
|
||||
foreach ( $configs as $config ) {
|
||||
if( $config->onoroff == 'on' ) add_filter( 'allow_major_auto_core_updates', '__return_true', 1 ); // Turn on
|
||||
else add_filter( 'allow_major_auto_core_updates', '__return_false', 1 ); // Turn off
|
||||
}
|
||||
|
||||
// Enable for minor updates
|
||||
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'minor'");
|
||||
foreach ( $configs as $config ) {
|
||||
if( $config->onoroff == 'on' ) add_filter( 'allow_minor_auto_core_updates', '__return_true', 1 ); // Turn on
|
||||
else add_filter( 'allow_minor_auto_core_updates', '__return_false', 1 ); // Turn off
|
||||
}
|
||||
|
||||
// Enable for plugins
|
||||
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'plugins'");
|
||||
foreach ( $configs as $config ) {
|
||||
if( $config->onoroff == 'on' ) add_filter( 'auto_update_plugin', 'cau_dontUpdatePlugins', 10, 2 ); // Turn on
|
||||
else add_filter( 'auto_update_plugin', '__return_false', 1 ); // Turn off
|
||||
}
|
||||
|
||||
// Enable for themes
|
||||
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'themes'");
|
||||
foreach ( $configs as $config ) {
|
||||
if( $config->onoroff == 'on' ) add_filter( 'auto_update_theme', '__return_true' ); // Turn on
|
||||
else add_filter( 'auto_update_theme', '__return_false', 1 ); // Turn off
|
||||
}
|
||||
|
||||
// Enable for translation files
|
||||
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'translations'");
|
||||
foreach ( $configs as $config ) {
|
||||
if( $config->onoroff == 'on' ) add_filter( 'auto_update_translation', '__return_true', 1 ); // Turn on
|
||||
else add_filter( 'auto_update_translation', '__return_false', 1 ); // Turn off
|
||||
}
|
||||
|
||||
// WP Email Config
|
||||
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'wpemails'");
|
||||
foreach ( $configs as $config ) {
|
||||
if( $config->onoroff == 'on' ) add_filter( 'auto_core_update_send_email', '__return_true', 1 ); // Turn on
|
||||
else add_filter( 'auto_core_update_send_email', '__return_false', 1 ); // Turn off
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
new CAU_auto_update();
|
||||
|
||||
// Check for issues
|
||||
function cau_checkForIssues( $admin_bar ) {
|
||||
if( cau_pluginHasIssues() && is_admin() && cau_pluginIssueLevels() == 'high' ) {
|
||||
$admin_bar->add_menu( array(
|
||||
'id' => 'cau-has-issues',
|
||||
'title' => '<span class="ab-icon"></span><span class="cau-level-'.cau_pluginIssueLevels().'">'.cau_pluginIssueCount().'</span>',
|
||||
'href' => cau_url( 'status' ),
|
||||
'meta' => array(
|
||||
'target' => '_self',
|
||||
'title' => __( 'Companion Auto Update ran into a critical error. View the status log for more info.', 'companion-auto-update' ),
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
add_action( 'admin_bar_menu', 'cau_checkForIssues', 150 );
|
@ -1,2 +0,0 @@
|
||||
<?php
|
||||
# Silence is golden.
|
@ -1,62 +0,0 @@
|
||||
# Copyright (C) 2016 Companion Auto Update
|
||||
# This file is distributed under the same license as the Companion Auto Update package.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Companion Auto Update 1.0\n"
|
||||
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/companion-auto-"
|
||||
"update\n"
|
||||
"POT-Creation-Date: 2016-05-24 08:16:37+00:00\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"PO-Revision-Date: 2016-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
||||
#: companion_portfolio.php:96
|
||||
msgid "Auto Updater"
|
||||
msgstr ""
|
||||
|
||||
#: companion_portfolio.php:122
|
||||
msgid "Auto update plugins?"
|
||||
msgstr ""
|
||||
|
||||
#: companion_portfolio.php:122
|
||||
msgid "Auto update themes?"
|
||||
msgstr ""
|
||||
|
||||
#: companion_portfolio.php:122
|
||||
msgid "Auto update minor core updates?"
|
||||
msgstr ""
|
||||
|
||||
#: companion_portfolio.php:122
|
||||
msgid "Auto update major core updates?"
|
||||
msgstr ""
|
||||
|
||||
#: companion_portfolio.php:125
|
||||
msgid "Settings saved"
|
||||
msgstr ""
|
||||
|
||||
#: companion_portfolio.php:125
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#. Plugin Name of the plugin/theme
|
||||
msgid "Companion Auto Update"
|
||||
msgstr ""
|
||||
|
||||
#. #-#-#-#-# plugin.pot (Companion Auto Update 1.0) #-#-#-#-#
|
||||
#. Plugin URI of the plugin/theme
|
||||
#. #-#-#-#-# plugin.pot (Companion Auto Update 1.0) #-#-#-#-#
|
||||
#. Author URI of the plugin/theme
|
||||
msgid "https://qreative-web.com"
|
||||
msgstr ""
|
||||
|
||||
#. Description of the plugin/theme
|
||||
msgid ""
|
||||
"This plugin auto updates all plugins, all themes and the wordpress core."
|
||||
msgstr ""
|
||||
|
||||
#. Author of the plugin/theme
|
||||
msgid "Qreative-Web"
|
||||
msgstr ""
|
@ -1,4 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Nothing to see here
|
||||
*/
|
@ -1,206 +0,0 @@
|
||||
=== Companion Auto Update ===
|
||||
Contributors: Papin, qweb
|
||||
Donate link: https://www.paypal.me/dakel/10/
|
||||
Tags: auto, automatic, background, update, updates, updating, automatic updates, automatic background updates, easy update, wordpress update, theme update, plugin update, up-to-date, security, update latest version, update core, update wp, update wp core, major updates, minor updates, update to new version, update core, update plugin, update plugins, update plugins automatically, update theme, plugin, theme, advance, control, mail, notifations, enable
|
||||
Requires at least: 5.3.0
|
||||
Tested up to: 6.5
|
||||
Requires PHP: 5.1
|
||||
Stable tag: 3.9.2
|
||||
License: GPLv2 or later
|
||||
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
|
||||
Manage all updates on your WordPress site. Stay in the know with several optional e-mail notifications and logs. For free.
|
||||
|
||||
== Description ==
|
||||
|
||||
Companion Auto Update is a powerful and completely free plugin that allows you to manage all the updates on your WordPress site. Our aim is to give you the best control over these updates and stay in the know at all times.
|
||||
|
||||
We understand that you might not always be able to check if your WordPress site has any updates that need to be installed. Especially when you maintain multiple websites keeping them up-to-date can be a lot of work. This plugin can help you with that. We'll keep your site up-to-date and keep you posted about what's happening and notify you when we need your help with something.
|
||||
|
||||
If you have a feature suggestion or idea you’d like to see in the plugin, we’d love to hear about it! [Suggest a Feature](https://codeermeneer.nl/contact/)
|
||||
|
||||
= Main features =
|
||||
1. Auto-updating for plugins, themes, core and translation files
|
||||
1. Set at what time you wish to update
|
||||
1. Filter plugins and themes to not be updated
|
||||
1. E-mail notifications about old software, pending updates and completed updates
|
||||
1. An update log with all updates
|
||||
1. Option to delay automatic updates with an x number of days
|
||||
|
||||
= Full control over everything =
|
||||
Full control, that's what this plugin is all about. With this plugin you can enable (or disable) automatic updating for plugins, themes, WordPress core updates (both minor and major can be changed separately) and for translation files. Don't want to run the updater for all plugins? Don't worry, just disable auto updating for the plugins you'd like to skip and we can even notify you when there's an update for these plugins so you can go and update them yourself.
|
||||
|
||||
= Scheduling =
|
||||
By default we'll check for updates twice a day but you can change this to several different options if you'd like. When choosing to update on a daily basis you can even select at what time you'd like it to run. Besides the updaters you can also schedule te notifications, want to update every hour but only recieve notifications once a day? No problem!
|
||||
Sometimes developers will push an update that will cause errors on your site, they'll often fix it within a day but if the updater has run in the mean time it can cause all kinds of issues. Now you can choose to delay updates with an x number of days to prevent this from happening.
|
||||
|
||||
= Know what's happening =
|
||||
We want you to know what's happening on your website. This plugin offers settings for various email notifications. We can send you an email when an update is available, when a plugin has been updated or when wordpress has been updated.
|
||||
But if you don't want to recieve emails about this you can still log in and view the changelog to see what happened.
|
||||
|
||||
== Installation ==
|
||||
|
||||
How to install Companion Auto Update
|
||||
|
||||
= Manual install =
|
||||
1. Download Companion Auto Update.
|
||||
1. Upload the 'Companion Auto Update' directory to your '/wp-content/plugins/' directory.
|
||||
1. Activate Companion Auto Update from your Plugins page.
|
||||
|
||||
= Via WordPress =
|
||||
1. Search for 'Companion Auto Update'.
|
||||
1. Click install.
|
||||
1. Activate.
|
||||
|
||||
= Settings =
|
||||
Settings can be found trough Tools > Auto Updater
|
||||
|
||||
== Frequently Asked Questions ==
|
||||
|
||||
= Check our website for the FAQ =
|
||||
|
||||
[https://codeermeneer.nl/documentation/auto-update/faq-auto-updater/](https://codeermeneer.nl/documentation/auto-update/faq-auto-updater/)
|
||||
|
||||
= What features can I expect to see in the future? =
|
||||
|
||||
Your feedback is what made this plugin what is and what it’ll become so keep the feedback coming! To see what features you've suggested and what we're working on [read our blogpost here](https://codeermeneer.nl/blog/companion-auto-update-and-its-future/)
|
||||
|
||||
= What's the difference between WordPress 5.5 and this plugin? =
|
||||
|
||||
WordPress 5.5 was released recently and it packs tons of new features. One of those features is auto-updates for plugins and themes. Something Companion Auto Update does too.
|
||||
So obviously, some of you wondered what the difference would be between the default WordPress method and the one offered by Companion Auto Update and I figured I’d quickly write a blog about it, explaining the differences.
|
||||
|
||||
[You can read this blogpost here](https://codeermeneer.nl/blog/wordpress-5-5-versus-companion-auto-update/)
|
||||
|
||||
|
||||
== Screenshots ==
|
||||
|
||||
1. Full control over what to update and when to recieve notifications
|
||||
2. Disable auto-updating for certain plugins and/or themes
|
||||
3. Advanced scheduling options for updating and notifcations
|
||||
4. Keep track of updates with the update log
|
||||
|
||||
== Changelog ==
|
||||
|
||||
= 3.9.2 (June 11, 2024) =
|
||||
* Fixed some more undefined variables
|
||||
* Declared support for WP6.5
|
||||
|
||||
= 3.9.1 (March 8, 2024) =
|
||||
* Fixed: Undefined variable $totalNum
|
||||
|
||||
= 3.9.0 (February 2, 2024) =
|
||||
* Fixed: Fatal error during Cron
|
||||
* Fixed: PHP deprecated error for PHP 8 and up
|
||||
|
||||
= 3.8.9 (January 9, 2024) =
|
||||
* Fixed error: Call to undefined function is_plugin_active()
|
||||
|
||||
= 3.8.8 (December 19, 2023) =
|
||||
* Fixed a few minor bugs
|
||||
* Made some performance improvements
|
||||
* We now require at least WordPress 5.3
|
||||
|
||||
= 3.8.7.1 (September 28, 2022) =
|
||||
* Tweak: Extended function_exists check with get_plugins() for the fatal error when trying to send update emails
|
||||
|
||||
= 3.8.7 (September 12, 2022) =
|
||||
* Fix: Fatal error when trying to send update emails
|
||||
|
||||
= 3.8.6 (August 11, 2022) =
|
||||
* Tweak: Code optimization for better performance
|
||||
|
||||
= 3.8.5 (March 17, 2022) =
|
||||
* New: Added more checks on the status page and added an explanation to some of them.
|
||||
* New: Added an list of delayed updates on the status page to help with troubleshooting.
|
||||
* Tweak: Made some improvements to the update delay feature.
|
||||
* Tweak: Added a notice to explain that update delay does not work with WordPress update currently.
|
||||
* Tweak: Improved code on the status page to be more reliable.
|
||||
|
||||
= 3.8.4 (February 2, 2022) =
|
||||
* Tweak: Fixed a few styling errors with WP5.9
|
||||
|
||||
= 3.8.3 (December 9, 2021) =
|
||||
* New: Plugin update e-mails now have an option to link to a few important pages
|
||||
* Fix: Error: Undefined index: dbupdateemails
|
||||
* Fix: Error: A non-numeric value encountered
|
||||
|
||||
= 3.8.2 (July 1, 2021) =
|
||||
* Fix: Error: Call to undefined function get_plugin_updates()
|
||||
|
||||
= 3.8.1 (June 4, 2021) =
|
||||
* New: Be notified when we need your help updating to a new database version [Feature Request](https://wordpress.org/support/topic/feature-request-839/)
|
||||
* Tweak: Made some under the hood performance improvements
|
||||
|
||||
= 3.8.0 (January 14, 2021) =
|
||||
* New: Better handling of plugins with an unknown WP version
|
||||
* New: More intervals for notifications
|
||||
* Fix: Call to undefined function errors
|
||||
|
||||
= 3.7.1.1 (November 2, 2020) =
|
||||
* Fix: Type in wp_next_scheduled
|
||||
|
||||
= 3.7.1 (October 30, 2020) =
|
||||
* Fix: PHP Warning: strtotime() expects parameter 2 to be integer, string given
|
||||
|
||||
= 3.7 (September 8, 2020) =
|
||||
* New: Delay updates with an x number of days
|
||||
* New: Be notified of plugins that have not been tested with the latest 3 major releases of WordPress.
|
||||
* New: Choose to see more info in the emails (like the time at which the update happened)
|
||||
* Fix: "Contact for support" button will work again
|
||||
* Fix: Fixed a few PHP errors
|
||||
* Tweak: Made improvements to the "Fix it" button for the "All automatic updates are disabled" error.
|
||||
* Tweak: You can now choose to ignore the "Search Engine Visibility" and "Cronjobs" warnings
|
||||
* Tweak: Reports on the Site Health page will only show a summary and point to the status page for more information and possible fixes
|
||||
* Tweak: Removed cronjob check and Search Engine Visibility check from site health
|
||||
* Tweak: E-mails are now fully translatable
|
||||
* Tweak: Renamed Core notifications to WordPress notifications
|
||||
* Tweak: WordPress plugin and theme update notifications are now disabled
|
||||
|
||||
Also: Check out what features we're working on at [our blogpost](https://codeermeneer.nl/blog/companion-auto-update-and-its-future/)
|
||||
|
||||
= 3.6 (August 12, 2020) =
|
||||
* New: Added an "after core update" hook [More info](https://codeermeneer.nl/documentation/codex-auto-updater/)
|
||||
* New: Select which userroles can access settings. (Defaults to only administrators)
|
||||
* Tweak: Added Theme and Core update method the log
|
||||
* Tweak: Few WordPress 5.5 improvements
|
||||
|
||||
= 3.5.5 (August 5, 2020) =
|
||||
* Fix: Added better multisite support
|
||||
* Tweak: We've added a bunch more checks to the status page and you can now see more passed checks.
|
||||
* Support for WordPress 5.5
|
||||
|
||||
= 3.5.4.1 (June 20, 2020) =
|
||||
* Fix: Sometimes the hour settings for intervals wouldn't show up
|
||||
|
||||
= 3.5.4 (June 19, 2020) =
|
||||
* New: See translations in the update log
|
||||
* New: We've added a few checks to WordPress' Site Health page
|
||||
* Fix: Error with Companion Auto Update Database Update
|
||||
* Fix: Schedule interval duplicates
|
||||
|
||||
= 3.5.3 (June 5, 2020) =
|
||||
* New: We're working on a better update log. You should see the Update method (Manual/Automatic) in the log now. (Only works for Plugins right now)
|
||||
Please report any issues with this feature over at our sticky post: [Problems with the Update method in the new update log?](https://wordpress.org/support/topic/problems-with-the-update-method-in-the-new-update-log/)
|
||||
* Fix: Not able to see checks in boxes (reverted back to before it all went wrong)
|
||||
* Fix: Error date_default_timezone_set(): Timezone ID +00:00 is invalid
|
||||
* Tweak: The status tab will no longer show turned-off settings as an error
|
||||
* Tweak: Made some improvements to the "Update pending" emails, you can now see a list of all pending updates and go directly to the update page.
|
||||
|
||||
= 3.5.2 (April 1, 2020) =
|
||||
* Fix: Not able to see checks in boxes
|
||||
|
||||
= 3.5.1 (March 25, 2020) =
|
||||
* Tweak: You seem to like the new dashboard, we've fixed a few issues regarding the responsiveness of the design. We've also tweaked the icons to be a bit more transparant.
|
||||
* Tweak: We've added the release notes link to Plain text emails
|
||||
* Tweak: Fixed a few typos
|
||||
* Tweak: Various minor security improvements
|
||||
|
||||
= 3.5.0 (March 5, 2020) =
|
||||
* New: In version 3.4.6 we've changed to HTML emails rather than plain text, in this version you can opt to change it back to plain text emails
|
||||
* Fix: We've 'fixed an issue where on occasion nothing would update
|
||||
* Tweak: Made some improvements to the "Fix it" button for the AUTOMATIC_UPDATER_DISABLED error
|
||||
* Tweak: We've changed the dashboard, moved both the settings page and de support page to the dashboard. Please let us know if you like this change or not.
|
||||
* Bug: 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.
|
||||
|
||||
[View full changelog](https://codeermeneer.nl/stuffs/auto-updater-changelog/)
|