Companion Auto Update - Version 3.3.3

Version Description

(December 22, 2018) = * New: Set the time for Core updates * New: Welcome screen after plugin activation to help new users find their way * New: Warning icon in the top bar when something is wrong * Improvement: More logs have been added to the status page * Improvement: Redesigned support tab * Improvement: We've checked all the text in the plugin and made some changes to make translating this plugin a little bit easier * Improvement: The mobile design has been improved big time * Fix: Some sites still recieved core update emails even when disabled, this should not happen anymore.

Download this release

Release Info

Developer Papin
Plugin Icon 128x128 Companion Auto Update
Version 3.3.3
Comparing to
See all releases

Code changes from version 3.3.2 to 3.3.3

admin/dashboard.php CHANGED
@@ -40,10 +40,34 @@
40
  $wpdb->query( " UPDATE $table_name SET onoroff = '$wpemails' WHERE name = 'wpemails' " );
41
  $wpdb->query( " UPDATE $table_name SET onoroff = '$menloc' WHERE name = 'menloc' " );
42
 
43
- echo '<div id="message" class="updated"><p><b>'.__('Settings saved', 'companion-auto-update').'.</b></p></div>';
44
 
45
  }
46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  ?>
48
 
49
  <form method="POST">
@@ -72,12 +96,12 @@
72
 
73
  echo '<p><input id="'.$cau_configs[2]->name.'" name="'.$cau_configs[2]->name.'" type="checkbox"';
74
  if( $cau_configs[2]->onoroff == 'on' ) echo 'checked';
75
- echo '/> <label for="'.$cau_configs[2]->name.'">'.__('Auto update minor core updates?', 'companion-auto-update').' <code>4.0.0 > 4.0.1</code></label></p>';
76
 
77
 
78
  echo '<p><input id="'.$cau_configs[3]->name.'" name="'.$cau_configs[3]->name.'" type="checkbox"';
79
  if( $cau_configs[3]->onoroff == 'on' ) echo 'checked';
80
- echo '/> <label for="'.$cau_configs[3]->name.'">'.__('Auto update major core updates?', 'companion-auto-update').' <code>4.0.0 > 4.1.0</code></label></p>';
81
 
82
  echo '<p><input id="'.$cau_configs[8]->name.'" name="'.$cau_configs[8]->name.'" type="checkbox"';
83
  if( $cau_configs[8]->onoroff == 'on' ) echo 'checked';
@@ -90,8 +114,10 @@
90
  </tr>
91
  </table>
92
 
93
- <h2 class="title"><?php _e('Email Notifications', 'companion-auto-update');?></h2>
94
- <p><?php _e('Email notifications are send once a day, you can choose what notifications to send below.', 'companion-auto-update');?></p>
 
 
95
 
96
  <?php
97
  if( $cau_configs[4]->onoroff == '' ) $toemail = get_option('admin_email');
@@ -100,7 +126,7 @@
100
 
101
  <table class="form-table">
102
  <tr>
103
- <th scope="row"><?php _e('Update available', 'companion-auto-update');?></th>
104
  <td>
105
  <p>
106
  <input id="cau_send" name="cau_send" type="checkbox" <?php if( $cau_configs[5]->onoroff == 'on' ) { echo 'checked'; } ?> />
@@ -109,7 +135,7 @@
109
  </td>
110
  </tr>
111
  <tr>
112
- <th scope="row"><?php _e('Successful update', 'companion-auto-update');?></th>
113
  <td>
114
  <p>
115
  <input id="cau_send_update" name="cau_send_update" type="checkbox" <?php if( $cau_configs[6]->onoroff == 'on' ) { echo 'checked'; } ?> />
@@ -118,7 +144,7 @@
118
  </td>
119
  </tr>
120
  <tr>
121
- <th scope="row"><?php _e('Email address', 'companion-auto-update');?></th>
122
  <td>
123
  <p>
124
  <label for="cau_email"><?php _e('To', 'companion-auto-update');?>:</label>
@@ -130,6 +156,8 @@
130
  </tr>
131
  </table>
132
 
 
 
133
  <h2 class="title"><?php _e('Core notifications', 'companion-auto-update');?></h2>
134
  <p><?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');?></p>
135
 
@@ -147,4 +175,6 @@
147
 
148
  <?php wp_nonce_field( 'cau_save_settings' ); ?>
149
 
150
- <?php submit_button(); ?>
 
 
40
  $wpdb->query( " UPDATE $table_name SET onoroff = '$wpemails' WHERE name = 'wpemails' " );
41
  $wpdb->query( " UPDATE $table_name SET onoroff = '$menloc' WHERE name = 'menloc' " );
42
 
43
+ echo '<div id="message" class="updated"><p><b>'.__( 'Settings saved.' ).'</b></p></div>';
44
 
45
  }
46
 
47
+ if( isset( $_GET['welcome'] ) ) {
48
+
49
+ echo '<div class="welcome-to-cau welcome-bg">
50
+ <h2>'.__( 'Welcome to Companion Auto Update', 'companion-auto-update' ).'</h2>
51
+ <div class="welcome-column welcome-column-first welcome-column-half">
52
+ <h3>'.__( 'You\'re set and ready to go', 'companion-auto-update' ).'</h3>
53
+ <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>
54
+ </div><div class="welcome-column welcome-column-quarter">
55
+ <h3>'.__( 'Get Started' ).'</h3>
56
+ <ul>
57
+ <li><a href="'.admin_url( cau_menloc().'?page=cau-settings&tab=pluginlist&cau_page=advanced' ).'">'.__( 'Select plugins', 'companion-auto-update' ).'</a></li>
58
+ <li><a href="'.admin_url( cau_menloc().'?page=cau-settings&tab=schedule&cau_page=advanced' ).'">'.__( 'Advanced settings', 'companion-auto-update' ).'</a></li>
59
+ </ul>
60
+ </div><div class="welcome-column welcome-column-quarter">
61
+ <h3>'.__( 'More Actions' ).'</h3>
62
+ <ul>
63
+ <li><a href="http://codeermeneer.nl/cau_poll/" target="_blank">'.__('Give feedback', 'companion-auto-update').'</a></li>
64
+ <li><a href="https://translate.wordpress.org/projects/wp-plugins/companion-auto-update/" target="_blank">'.__( 'Help us translate', 'companion-auto-update' ).'</a></li>
65
+
66
+ </ul>
67
+ </div>
68
+ </div>';
69
+ }
70
+
71
  ?>
72
 
73
  <form method="POST">
96
 
97
  echo '<p><input id="'.$cau_configs[2]->name.'" name="'.$cau_configs[2]->name.'" type="checkbox"';
98
  if( $cau_configs[2]->onoroff == 'on' ) echo 'checked';
99
+ echo '/> <label for="'.$cau_configs[2]->name.'">'.__('Auto update minor core updates?', 'companion-auto-update').' <code class="majorMinorExplain">4.0.0 > 4.0.1</code></label></p>';
100
 
101
 
102
  echo '<p><input id="'.$cau_configs[3]->name.'" name="'.$cau_configs[3]->name.'" type="checkbox"';
103
  if( $cau_configs[3]->onoroff == 'on' ) echo 'checked';
104
+ echo '/> <label for="'.$cau_configs[3]->name.'">'.__('Auto update major core updates?', 'companion-auto-update').' <code class="majorMinorExplain">4.0.0 > 4.1.0</code></label></p>';
105
 
106
  echo '<p><input id="'.$cau_configs[8]->name.'" name="'.$cau_configs[8]->name.'" type="checkbox"';
107
  if( $cau_configs[8]->onoroff == 'on' ) echo 'checked';
114
  </tr>
115
  </table>
116
 
117
+ <div class="cau_spacing"></div>
118
+
119
+ <h2 class="title"><?php _e( 'Email Notifications', 'companion-auto-update' );?></h2>
120
+ <p><?php _e( 'Email notifications are send once a day, you can choose what notifications to send below.', 'companion-auto-update' );?></p>
121
 
122
  <?php
123
  if( $cau_configs[4]->onoroff == '' ) $toemail = get_option('admin_email');
126
 
127
  <table class="form-table">
128
  <tr>
129
+ <th scope="row"><?php _e( 'Update available', 'companion-auto-update' );?></th>
130
  <td>
131
  <p>
132
  <input id="cau_send" name="cau_send" type="checkbox" <?php if( $cau_configs[5]->onoroff == 'on' ) { echo 'checked'; } ?> />
135
  </td>
136
  </tr>
137
  <tr>
138
+ <th scope="row"><?php _e( 'Successful update', 'companion-auto-update' );?></th>
139
  <td>
140
  <p>
141
  <input id="cau_send_update" name="cau_send_update" type="checkbox" <?php if( $cau_configs[6]->onoroff == 'on' ) { echo 'checked'; } ?> />
144
  </td>
145
  </tr>
146
  <tr>
147
+ <th scope="row"><?php _e( 'Email Address' );?></th>
148
  <td>
149
  <p>
150
  <label for="cau_email"><?php _e('To', 'companion-auto-update');?>:</label>
156
  </tr>
157
  </table>
158
 
159
+ <div class="cau_spacing"></div>
160
+
161
  <h2 class="title"><?php _e('Core notifications', 'companion-auto-update');?></h2>
162
  <p><?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');?></p>
163
 
175
 
176
  <?php wp_nonce_field( 'cau_save_settings' ); ?>
177
 
178
+ <?php submit_button(); ?>
179
+
180
+ </form>
admin/log.php CHANGED
@@ -1,3 +1,2 @@
1
- <p><!-- SPACING --></p>
2
- <h2><?php _e('Update log', 'companion-auto-update'); ?></h2>
3
  <?php cau_fetch_log( 'all', 'table' ); ?>
1
+ <div class="cau_spacing"></div>
 
2
  <?php cau_fetch_log( 'all', 'table' ); ?>
admin/pluginlist.php CHANGED
@@ -37,7 +37,7 @@ if( isset( $_POST['reset'] ) ) {
37
  <form method="POST">
38
 
39
  <p>
40
- <input type='submit' name='submit' id='submit' class='button button-primary' value='<?php _e( "Save changes", "companion-auto-update" ); ?>'>
41
  <input type='submit' name='reset' id='reset' class='button button-alt' value='<?php _e( "Reset list", "companion-auto-update" ); ?>'>
42
  </p>
43
 
@@ -47,7 +47,7 @@ if( isset( $_POST['reset'] ) ) {
47
  <td>&nbsp;</td>
48
  <th class="head-plugin"><strong><?php _e('Plugin', 'companion-auto-update'); ?></strong></th>
49
  <th class="head-status"><strong><?php _e('Status', 'companion-auto-update'); ?></strong></th>
50
- <th class="head-description"><strong><?php _e('Description', 'companion-auto-update'); ?></strong></th>
51
  </tr>
52
  </thead>
53
 
@@ -73,14 +73,15 @@ if( isset( $_POST['reset'] ) ) {
73
 
74
  $class = 'inactive';
75
  $checked = 'CHECKED';
76
- $status = __( 'Auto-updating: disabled' , 'companion-auto-update' );
 
77
 
78
  } else {
79
 
80
  $class = 'active';
81
  $checked = '';
82
- $status = __( 'Auto-updating: enabled' , 'companion-auto-update' );
83
-
84
  }
85
 
86
  echo '<tr id="post-'.$slug_hash.'" class="'.$class.'">
@@ -96,7 +97,7 @@ if( isset( $_POST['reset'] ) ) {
96
  </td>
97
 
98
  <td class="cau_hide_on_mobile column-status">
99
- <p>'. $status .'</p>
100
  </td>
101
 
102
  <td class="cau_hide_on_mobile column-description">
@@ -114,7 +115,7 @@ if( isset( $_POST['reset'] ) ) {
114
  <?php wp_nonce_field( 'cau_save_pluginlis' ); ?>
115
 
116
  <p>
117
- <input type='submit' name='submit' id='submit' class='button button-primary' value='<?php _e( "Save changes", "companion-auto-update" ); ?>'>
118
  <input type='submit' name='reset' id='reset' class='button button-alt' value='<?php _e( "Reset list", "companion-auto-update" ); ?>'>
119
  </p>
120
 
37
  <form method="POST">
38
 
39
  <p>
40
+ <input type='submit' name='submit' id='submit' class='button button-primary' value='<?php _e( "Save Changes" ); ?>'>
41
  <input type='submit' name='reset' id='reset' class='button button-alt' value='<?php _e( "Reset list", "companion-auto-update" ); ?>'>
42
  </p>
43
 
47
  <td>&nbsp;</td>
48
  <th class="head-plugin"><strong><?php _e('Plugin', 'companion-auto-update'); ?></strong></th>
49
  <th class="head-status"><strong><?php _e('Status', 'companion-auto-update'); ?></strong></th>
50
+ <th class="head-description"><strong><?php _e('Description'); ?></strong></th>
51
  </tr>
52
  </thead>
53
 
73
 
74
  $class = 'inactive';
75
  $checked = 'CHECKED';
76
+ $statusicon = 'no';
77
+ $statusName = 'disabled';
78
 
79
  } else {
80
 
81
  $class = 'active';
82
  $checked = '';
83
+ $statusicon = 'yes';
84
+ $statusName = 'enabled';
85
  }
86
 
87
  echo '<tr id="post-'.$slug_hash.'" class="'.$class.'">
97
  </td>
98
 
99
  <td class="cau_hide_on_mobile column-status">
100
+ <p><span class="nowrap">'.__( 'Auto Updater', 'companion-auto-update' ).': <span class="cau_'.$statusName.'"><span class="dashicons dashicons-'.$statusicon.'"></span></span></span></p>
101
  </td>
102
 
103
  <td class="cau_hide_on_mobile column-description">
115
  <?php wp_nonce_field( 'cau_save_pluginlis' ); ?>
116
 
117
  <p>
118
+ <input type='submit' name='submit' id='submit' class='button button-primary' value='<?php _e( "Save Changes" ); ?>'>
119
  <input type='submit' name='reset' id='reset' class='button button-alt' value='<?php _e( "Reset list", "companion-auto-update" ); ?>'>
120
  </p>
121
 
admin/schedule.php CHANGED
@@ -27,6 +27,8 @@ if( isset( $_POST['submit'] ) ) {
27
  wp_clear_scheduled_hook('cau_custom_hooks_themes');
28
 
29
  // Then set the new times
 
 
30
  if( $plugin_sc == 'daily' ) {
31
 
32
  $date = date( 'Y-m-d' );
@@ -45,6 +47,8 @@ if( isset( $_POST['submit'] ) ) {
45
  wp_schedule_event( time(), $plugin_sc, 'cau_custom_hooks_plugins' );
46
 
47
  }
 
 
48
  if( $theme_sc == 'daily' ) {
49
 
50
  $dateT = date( 'Y-m-d' );
@@ -64,7 +68,24 @@ if( isset( $_POST['submit'] ) ) {
64
 
65
  }
66
 
67
- wp_schedule_event( time(), $core_sc, 'wp_version_check' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  wp_schedule_event( time(), $schedule_mail, 'cau_set_schedule_mail' );
69
 
70
  header( "Location: ".cau_menloc()."?page=cau-settings&tab=schedule&showmessage=true" );
@@ -73,137 +94,178 @@ if( isset( $_POST['submit'] ) ) {
73
 
74
  if( isset( $_GET['showmessage'] ) ) {
75
 
76
- echo '<div id="message" class="updated"><p>'.__('Changes were saved.', 'companion-auto-update').'</p></div>';
77
-
78
- } else {
79
 
80
- echo '<div class="warning"><p class="warningText"><strong>'.__( 'Warning', 'companion-auto-update' ).'</strong> &dash; '.__( 'Changing these settings may affect your sites perfomance.', 'companion-auto-update' ).'</p></div>';
81
-
82
- }
83
 
84
  ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
 
86
- <form method="POST">
87
-
88
- <h2 class="title"><?php _e('Updating', 'companion-auto-update');?></h2>
89
- <?php _e('How often should the auto updater kick in? (Default twice daily)', 'companion-auto-update'); ?>
90
- <table class="form-table">
91
- <tr>
92
- <th scope="row"><?php _e('Plugin update interval', 'companion-auto-update');?></th>
93
- <td>
94
- <p>
95
- <select name='plugin_schedule' id='plugin_schedule'>
96
- <option value='hourly' <?php if( $plugin_schedule == 'hourly' ) { echo "SELECTED"; } ?> ><?php _e('Hourly', 'companion-auto-update');?></option>
97
- <option value='twicedaily' <?php if( $plugin_schedule == 'twicedaily' ) { echo "SELECTED"; } ?> ><?php _e('Twice Daily', 'companion-auto-update');?></option>
98
- <option value='daily' <?php if( $plugin_schedule == 'daily' ) { echo "SELECTED"; } ?> ><?php _e('Daily', 'companion-auto-update');?></option>
99
- </select>
100
- </p>
101
- <div class='timeSchedulePlugins' <?php if( $plugin_schedule != 'daily' ) { echo "style='display: none;'"; } ?> >
102
-
103
- <?php
104
-
105
- $setTimePlugins = wp_next_scheduled( 'wp_update_plugins' );
106
- $setTimePluginsHour = date( 'H' , $setTimePlugins );
107
- $setTimePluginsMin = date( 'i' , $setTimePlugins );
108
-
109
- ?>
110
-
111
- <div class='cau_schedule_input'>
112
- <input type='text' name='pluginScheduleTimeH' value='<?php echo $setTimePluginsHour; ?>' maxlength='2' >
113
- </div><div class='cau_schedule_input_div'>
114
- :
115
- </div><div class='cau_schedule_input'>
116
- <input type='text' name='pluginScheduleTimeM' value='<?php echo $setTimePluginsMin; ?>' maxlength='2' >
117
- </div><div class='cau_shedule_notation'>
118
- <b><?php _e('Time notation: 24H', 'companion-auto-update'); ?></b>
119
  </div>
120
-
121
- <p class='description'><?php _e('At what time should the updater run? Only works when set to <u>daily</u>.', 'companion-auto-update'); ?> </p>
122
-
123
- </div>
124
- </td>
125
- </tr>
126
- <tr>
127
- <th scope="row"><?php _e('Theme update interval', 'companion-auto-update');?></th>
128
- <td>
129
- <p>
130
-
131
- <select name='theme_schedule' id='theme_schedule'>
132
- <option value='hourly' <?php if( $theme_schedule == 'hourly' ) { echo "SELECTED"; } ?> ><?php _e('Hourly', 'companion-auto-update');?></option>
133
- <option value='twicedaily' <?php if( $theme_schedule == 'twicedaily' ) { echo "SELECTED"; } ?> ><?php _e('Twice Daily', 'companion-auto-update');?></option>
134
- <option value='daily' <?php if( $theme_schedule == 'daily' ) { echo "SELECTED"; } ?> ><?php _e('Daily', 'companion-auto-update');?></option>
135
- </select>
136
- </p>
137
- <div class='timeScheduleThemes' <?php if( $theme_schedule != 'daily' ) { echo "style='display: none;'"; } ?> >
138
-
139
- <?php
140
-
141
- $setTimeThemes = wp_next_scheduled( 'wp_update_themes' );
142
- $setTimeThemesHour = date( 'H' , $setTimeThemes );
143
- $setTimeThemesMins = date( 'i' , $setTimeThemes );
144
-
145
- ?>
146
-
147
- <div class='cau_schedule_input'>
148
- <input type='text' name='ThemeScheduleTimeH' value='<?php echo $setTimeThemesHour; ?>' maxlength='2' >
149
- </div><div class='cau_schedule_input_div'>
150
- :
151
- </div><div class='cau_schedule_input'>
152
- <input type='text' name='ThemeScheduleTimeM' value='<?php echo $setTimeThemesMins; ?>' maxlength='2' >
153
- </div><div class='cau_shedule_notation'>
154
- <b><?php _e('Time notation: 24H', 'companion-auto-update'); ?></b>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
155
  </div>
156
-
157
- <p class='description'><?php _e('At what time should the updater run? Only works when set to <u>daily</u>.', 'companion-auto-update'); ?> </p>
158
- </div>
159
- </td>
160
- </tr>
161
- <tr>
162
- <th scope="row"><?php _e('Core update interval', 'companion-auto-update');?></th>
163
- <td>
164
- <p>
165
- <select name='core_schedule'>
166
- <option value='hourly' <?php if( $core_schedule == 'hourly' ) { echo "SELECTED"; } ?> ><?php _e('Hourly', 'companion-auto-update');?></option>
167
- <option value='twicedaily' <?php if( $core_schedule == 'twicedaily' ) { echo "SELECTED"; } ?> ><?php _e('Twice Daily', 'companion-auto-update');?></option>
168
- <option value='daily' <?php if( $core_schedule == 'daily' ) { echo "SELECTED"; } ?> ><?php _e('Daily', 'companion-auto-update');?></option>
169
- </select>
170
- </p>
171
- </td>
172
- </tr>
173
- </table>
174
-
175
- <h2 class="title"><?php _e('Email Notifications', 'companion-auto-update');?></h2>
176
- <?php _e('How often should notifications be send? (Default daily)', 'companion-auto-update'); ?>
177
- <table class="form-table">
178
- <tr>
179
- <th scope="row"><?php _e('Email Notifications', 'companion-auto-update');?></th>
180
- <td>
181
- <p>
182
- <select name='schedule_mail'>
183
- <option value='hourly' <?php if( $mail_sc == 'hourly' ) { echo "SELECTED"; } ?> ><?php _e('Hourly', 'companion-auto-update');?></option>
184
- <option value='twicedaily' <?php if( $mail_sc == 'twicedaily' ) { echo "SELECTED"; } ?> ><?php _e('Twice Daily', 'companion-auto-update');?></option>
185
- <option value='daily' <?php if( $mail_sc == 'daily' ) { echo "SELECTED"; } ?> ><?php _e('Daily', 'companion-auto-update');?></option>
186
- </select>
187
- </p>
188
- </td>
189
- </tr>
190
- <tr>
191
- <th scope="row"><?php _e('Disable Notifications', 'companion-auto-update');?></th>
192
- <td>
193
- <p>
194
- <?php _e('To disable email notifications go to the dashboard and uncheck everything under "Email Notifications".', 'companion-auto-update');?>
195
- </p>
196
- </td>
197
- </tr>
198
- </table>
199
-
200
- <?php wp_nonce_field( 'cau_save_schedule' ); ?>
201
-
202
- <p><!-- SPACING --></p>
203
-
204
- <input type='submit' name='submit' id='submit' class='button button-primary' value='<?php _e( "Save changes", "companion-auto-update" ); ?>'>
205
-
206
- </form>
 
 
 
 
207
 
208
  <script type="text/javascript">
209
 
@@ -217,7 +279,6 @@ if( isset( $_GET['showmessage'] ) ) {
217
  jQuery('.timeSchedulePlugins').hide();
218
  }
219
 
220
-
221
  });
222
 
223
  jQuery( '#theme_schedule' ).change( function() {
@@ -230,6 +291,17 @@ if( isset( $_GET['showmessage'] ) ) {
230
  jQuery('.timeScheduleThemes').hide();
231
  }
232
 
 
 
 
 
 
 
 
 
 
 
 
233
 
234
  });
235
 
27
  wp_clear_scheduled_hook('cau_custom_hooks_themes');
28
 
29
  // Then set the new times
30
+
31
+ // Plugins
32
  if( $plugin_sc == 'daily' ) {
33
 
34
  $date = date( 'Y-m-d' );
47
  wp_schedule_event( time(), $plugin_sc, 'cau_custom_hooks_plugins' );
48
 
49
  }
50
+
51
+ // Themes
52
  if( $theme_sc == 'daily' ) {
53
 
54
  $dateT = date( 'Y-m-d' );
68
 
69
  }
70
 
71
+ // Core
72
+ if( $core_sc == 'daily' ) {
73
+
74
+ $dateC = date( 'Y-m-d' );
75
+ $hoursC = $_POST['CoreScheduleTimeH'];
76
+ $minutesC = $_POST['CoreScheduleTimeM'];
77
+ $secondsC = date( 's' );
78
+ $fullDateC = $dateC.' '.$hoursC.':'.$minutesC.':'.$secondsC;
79
+ $coreSetTime = strtotime( $fullDateC );
80
+
81
+ wp_schedule_event( $coreSetTime, $core_sc, 'wp_version_check' );
82
+
83
+ } else {
84
+
85
+ wp_schedule_event( time(), $core_sc, 'wp_version_check' );
86
+
87
+ }
88
+
89
  wp_schedule_event( time(), $schedule_mail, 'cau_set_schedule_mail' );
90
 
91
  header( "Location: ".cau_menloc()."?page=cau-settings&tab=schedule&showmessage=true" );
94
 
95
  if( isset( $_GET['showmessage'] ) ) {
96
 
97
+ echo '<div id="message" class="updated"><p>'.__( 'Settings saved.' ).'</p></div>';
 
 
98
 
99
+ }
 
 
100
 
101
  ?>
102
+ <div style="clear: both;"></div>
103
+
104
+ <div class="cau-column-wide">
105
+ <form method="POST">
106
+
107
+ <p>
108
+ <?php _e( 'How often should the auto updater kick in? (Default twice daily)', 'companion-auto-update' ); ?>.<br />
109
+ <i><?php _e( 'Changing these settings may affect your sites perfomance.', 'companion-auto-update' ); ?></i>
110
+ </p>
111
+ <table class="form-table">
112
+ <tr>
113
+ <th scope="row"><?php _e( 'Plugin update interval', 'companion-auto-update' );?></th>
114
+ <td>
115
+ <p>
116
+ <select name='plugin_schedule' id='plugin_schedule'>
117
+ <option value='hourly' <?php if( $plugin_schedule == 'hourly' ) { echo "SELECTED"; } ?> ><?php _e('Hourly', 'companion-auto-update');?></option>
118
+ <option value='twicedaily' <?php if( $plugin_schedule == 'twicedaily' ) { echo "SELECTED"; } ?> ><?php _e('Twice Daily', 'companion-auto-update');?></option>
119
+ <option value='daily' <?php if( $plugin_schedule == 'daily' ) { echo "SELECTED"; } ?> ><?php _e('Daily', 'companion-auto-update');?></option>
120
+ </select>
121
+ </p>
122
+ <div class='timeSchedulePlugins' <?php if( $plugin_schedule != 'daily' ) { echo "style='display: none;'"; } ?> >
123
+
124
+ <?php
125
+
126
+ $setTimePlugins = wp_next_scheduled( 'wp_update_plugins' );
127
+ $setTimePluginsHour = date( 'H' , $setTimePlugins );
128
+ $setTimePluginsMin = date( 'i' , $setTimePlugins );
129
+
130
+ ?>
131
+
132
+ <div class='cau_schedule_input'>
133
+ <input type='text' name='pluginScheduleTimeH' value='<?php echo $setTimePluginsHour; ?>' maxlength='2' >
134
+ </div><div class='cau_schedule_input_div'>
135
+ :
136
+ </div><div class='cau_schedule_input'>
137
+ <input type='text' name='pluginScheduleTimeM' value='<?php echo $setTimePluginsMin; ?>' maxlength='2' >
138
+ </div><div class='cau_shedule_notation'>
139
+ <b><?php _e('Time notation: 24H', 'companion-auto-update'); ?></b>
140
+ </div>
141
+
142
+ <p class='description'><?php _e('At what time should the updater run? Only works when set to <u>daily</u>.', 'companion-auto-update'); ?> </p>
143
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  </div>
145
+ </td>
146
+ </tr>
147
+ <tr>
148
+ <th scope="row"><?php _e( 'Theme update interval', 'companion-auto-update' );?></th>
149
+ <td>
150
+ <p>
151
+
152
+ <select name='theme_schedule' id='theme_schedule'>
153
+ <option value='hourly' <?php if( $theme_schedule == 'hourly' ) { echo "SELECTED"; } ?> ><?php _e('Hourly', 'companion-auto-update');?></option>
154
+ <option value='twicedaily' <?php if( $theme_schedule == 'twicedaily' ) { echo "SELECTED"; } ?> ><?php _e('Twice Daily', 'companion-auto-update');?></option>
155
+ <option value='daily' <?php if( $theme_schedule == 'daily' ) { echo "SELECTED"; } ?> ><?php _e('Daily', 'companion-auto-update');?></option>
156
+ </select>
157
+ </p>
158
+ <div class='timeScheduleThemes' <?php if( $theme_schedule != 'daily' ) { echo "style='display: none;'"; } ?> >
159
+
160
+ <?php
161
+
162
+ $setTimeThemes = wp_next_scheduled( 'wp_update_themes' );
163
+ $setTimeThemesHour = date( 'H' , $setTimeThemes );
164
+ $setTimeThemesMins = date( 'i' , $setTimeThemes );
165
+
166
+ ?>
167
+
168
+ <div class='cau_schedule_input'>
169
+ <input type='text' name='ThemeScheduleTimeH' value='<?php echo $setTimeThemesHour; ?>' maxlength='2' >
170
+ </div><div class='cau_schedule_input_div'>
171
+ :
172
+ </div><div class='cau_schedule_input'>
173
+ <input type='text' name='ThemeScheduleTimeM' value='<?php echo $setTimeThemesMins; ?>' maxlength='2' >
174
+ </div><div class='cau_shedule_notation'>
175
+ <b><?php _e('Time notation: 24H', 'companion-auto-update'); ?></b>
176
+ </div>
177
+
178
+ <p class='description'><?php _e( 'At what time should the updater run? Only works when set to <u>daily</u>.', 'companion-auto-update' ); ?> </p>
179
+ </div>
180
+ </td>
181
+ </tr>
182
+ <tr>
183
+ <th scope="row"><?php _e( 'Core update interval', 'companion-auto-update' );?></th>
184
+ <td>
185
+ <p>
186
+ <select name='core_schedule' id='core_schedule'>
187
+ <option value='hourly' <?php if( $core_schedule == 'hourly' ) { echo "SELECTED"; } ?> ><?php _e('Hourly', 'companion-auto-update');?></option>
188
+ <option value='twicedaily' <?php if( $core_schedule == 'twicedaily' ) { echo "SELECTED"; } ?> ><?php _e('Twice Daily', 'companion-auto-update');?></option>
189
+ <option value='daily' <?php if( $core_schedule == 'daily' ) { echo "SELECTED"; } ?> ><?php _e('Daily', 'companion-auto-update');?></option>
190
+ </select>
191
+ </p>
192
+ <div class='timeScheduleCore' <?php if( $core_schedule != 'daily' ) { echo "style='display: none;'"; } ?> >
193
+
194
+ <?php
195
+
196
+ $setTimeCore = wp_next_scheduled( 'wp_version_check' );
197
+ $setTimeCoreHour = date( 'H' , $setTimeCore );
198
+ $setTimeCoreMins = date( 'i' , $setTimeCore );
199
+
200
+ ?>
201
+
202
+ <div class='cau_schedule_input'>
203
+ <input type='text' name='CoreScheduleTimeH' value='<?php echo $setTimeCoreHour; ?>' maxlength='2' >
204
+ </div><div class='cau_schedule_input_div'>
205
+ :
206
+ </div><div class='cau_schedule_input'>
207
+ <input type='text' name='CoreScheduleTimeM' value='<?php echo $setTimeCoreMins; ?>' maxlength='2' >
208
+ </div><div class='cau_shedule_notation'>
209
+ <b><?php _e('Time notation: 24H', 'companion-auto-update'); ?></b>
210
+ </div>
211
+
212
+ <p class='description'><?php _e( 'At what time should the updater run? Only works when set to <u>daily</u>.', 'companion-auto-update' ); ?> </p>
213
  </div>
214
+ </td>
215
+ </tr>
216
+ </table>
217
+
218
+ <div class="cau_spacing"></div>
219
+
220
+ <h2 class="title"><?php _e( 'Email Notifications', 'companion-auto-update' );?></h2>
221
+ <?php _e( 'How often should notifications be send? (Default daily)', 'companion-auto-update' ); ?>
222
+ <table class="form-table">
223
+ <tr>
224
+ <th scope="row"><?php _e( 'Email Notifications', 'companion-auto-update' );?></th>
225
+ <td>
226
+ <p>
227
+ <select name='schedule_mail'>
228
+ <option value='hourly' <?php if( $mail_sc == 'hourly' ) { echo "SELECTED"; } ?> ><?php _e('Hourly', 'companion-auto-update');?></option>
229
+ <option value='twicedaily' <?php if( $mail_sc == 'twicedaily' ) { echo "SELECTED"; } ?> ><?php _e('Twice Daily', 'companion-auto-update');?></option>
230
+ <option value='daily' <?php if( $mail_sc == 'daily' ) { echo "SELECTED"; } ?> ><?php _e('Daily', 'companion-auto-update');?></option>
231
+ </select>
232
+ </p>
233
+ </td>
234
+ </tr>
235
+ <tr>
236
+ <th scope="row"><?php _e( 'Disable Notifications', 'companion-auto-update' );?></th>
237
+ <td>
238
+ <p>
239
+ <?php _e('To disable email notifications go to the dashboard and uncheck everything under "Email Notifications".', 'companion-auto-update');?>
240
+ </p>
241
+ </td>
242
+ </tr>
243
+ </table>
244
+
245
+ <?php wp_nonce_field( 'cau_save_schedule' ); ?>
246
+
247
+ <p><!-- SPACING --></p>
248
+
249
+ <input type='submit' name='submit' id='submit' class='button button-primary' value='<?php _e( "Save Changes" ); ?>'>
250
+
251
+ </form>
252
+
253
+ </div><div class="cau-column-small">
254
+
255
+ <div class="welcome-to-cau love-bg cau-show-love cau-dashboard-box">
256
+ <h3><?php _e( 'Like our plugin?', 'companion-auto-update' ); ?></h3>
257
+ <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>
258
+ <a href="<?php echo cau_donateUrl(); ?>" target="_blank" class="cau-button donate-button">
259
+ <span class="dashicons dashicons-heart"></span>
260
+ <?php _e('Donate to help development', 'companion-auto-update'); ?>
261
+ </a>
262
+ <a href="https://wordpress.org/support/plugin/companion-auto-update/reviews/#new-post" target="_blank" class="cau-button rate-button">
263
+ <span class="dashicons dashicons-star-filled"></span>
264
+ <?php _e('Rate us (5 stars?)', 'companion-auto-update'); ?>
265
+ </a>
266
+ </div>
267
+
268
+ </div>
269
 
270
  <script type="text/javascript">
271
 
279
  jQuery('.timeSchedulePlugins').hide();
280
  }
281
 
 
282
  });
283
 
284
  jQuery( '#theme_schedule' ).change( function() {
291
  jQuery('.timeScheduleThemes').hide();
292
  }
293
 
294
+ });
295
+
296
+ jQuery( '#core_schedule' ).change( function() {
297
+
298
+ var selected = jQuery(this).val();
299
+
300
+ if( selected == 'daily' ) {
301
+ jQuery('.timeScheduleCore').show();
302
+ } else {
303
+ jQuery('.timeScheduleCore').hide();
304
+ }
305
 
306
  });
307
 
admin/status.php CHANGED
@@ -6,26 +6,6 @@
6
  global $wpdb;
7
  $table_name = $wpdb->prefix . "auto_updates";
8
 
9
- // Major updates
10
- $configs = $wpdb->get_results( "SELECT * FROM $table_name WHERE name = 'major'");
11
- foreach ( $configs as $config ) {
12
-
13
- if( $config->onoroff == 'on' && wp_get_schedule( 'wp_version_check' ) ) {
14
- $majorUpdates = true;
15
- $majorStatus = 'enabled';
16
- $majorIcon = 'yes';
17
- $majorInterval = wp_get_schedule( 'wp_version_check' );
18
- $majorNext = date_i18n( $dateFormat, wp_next_scheduled( 'wp_version_check' ) );
19
- } else {
20
- $majorUpdates = false;
21
- $majorStatus = 'disabled';
22
- $majorIcon = 'no';
23
- $majorInterval = '&dash;';
24
- $majorNext = '&dash;';
25
- }
26
-
27
- }
28
-
29
  // Minor updates
30
  $configs = $wpdb->get_results( "SELECT * FROM $table_name WHERE name = 'minor'");
31
  foreach ( $configs as $config ) {
@@ -46,6 +26,26 @@
46
 
47
  }
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  // Plugin updates
50
  $configs = $wpdb->get_results( "SELECT * FROM $table_name WHERE name = 'plugins'");
51
  foreach ( $configs as $config ) {
@@ -102,41 +102,43 @@
102
 
103
  <h2><?php _e('Status', 'companion-auto-update'); ?></h2>
104
 
 
 
105
  <table class="cau_status_list widefat striped">
106
 
107
  <thead>
108
  <tr>
109
- <th><strong><?php _e('Updaters', 'companion-auto-update'); ?></strong></th>
110
- <th><strong><?php _e('Active?', 'companion-auto-update'); ?></strong></th>
111
- <th><strong><?php _e('Interval', 'companion-auto-update'); ?></strong></th>
112
- <th><strong><?php _e('Next', 'companion-auto-update'); ?></strong></th>
113
  </tr>
114
  </thead>
115
 
116
  <tbody id="the-list">
117
  <tr>
118
- <td><?php _e('Plugins', 'companion-auto-update'); ?></td>
119
- <td><span class='cau_<?php echo $pluginsStatus; ?>'><span class="dashicons dashicons-<?php echo $pluginsIcon; ?>"></span></span></td>
120
- <td><?php echo $pluginsInterval; ?></td>
121
- <td><?php echo $pluginsNext; ?></td>
122
  </tr>
123
  <tr>
124
- <td><?php _e('Themes', 'companion-auto-update'); ?></td>
125
- <td><span class='cau_<?php echo $themesStatus; ?>'><span class="dashicons dashicons-<?php echo $themesIcon; ?>"></span></span></td>
126
- <td><?php echo $themesInterval; ?></td>
127
- <td><?php echo $themesNext; ?></td>
128
  </tr>
129
  <tr>
130
- <td><?php _e('Core (Major)', 'companion-auto-update'); ?></td>
131
- <td><span class='cau_<?php echo $majorStatus; ?>'><span class="dashicons dashicons-<?php echo $majorIcon; ?>"></span></span></td>
132
- <td><?php echo $majorInterval; ?></td>
133
- <td><?php echo $majorNext; ?></td>
134
  </tr>
135
  <tr>
136
- <td><?php _e('Core (Minor)', 'companion-auto-update'); ?></td>
137
- <td><span class='cau_<?php echo $minorStatus; ?>'><span class="dashicons dashicons-<?php echo $minorIcon; ?>"></span></span></td>
138
- <td><?php echo $minorInterval; ?></td>
139
- <td><?php echo $minorNext; ?></td>
140
  </tr>
141
  </tbody>
142
 
@@ -146,19 +148,19 @@
146
 
147
  <thead>
148
  <tr>
149
- <th><strong><?php _e('Other', 'companion-auto-update'); ?></strong></th>
150
- <th><strong><?php _e('Active?', 'companion-auto-update'); ?></strong></th>
151
- <th><strong><?php _e('Interval', 'companion-auto-update'); ?></strong></th>
152
- <th><strong><?php _e('Next', 'companion-auto-update'); ?></strong></th>
153
  </tr>
154
  </thead>
155
 
156
  <tbody id="the-list">
157
  <tr>
158
- <td><?php _e('Notifications', 'companion-auto-update'); ?></td>
159
- <td><span class='cau_<?php echo $setScheduleStatus; ?>'><span class="dashicons dashicons-<?php echo $setScheduleIcon; ?>"></span></span></td>
160
- <td><?php echo $setScheduleInterval; ?></td>
161
- <td><?php echo $setScheduleNext; ?></td>
162
  </tr>
163
  </tbody>
164
 
@@ -166,25 +168,57 @@
166
 
167
  <?php
168
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
  if( checkAutomaticUpdaterDisabled() ) { ?>
170
 
171
- <table class="cau_status_list widefat striped">
172
 
173
  <thead>
174
  <tr>
175
- <th colspan="2"><strong><?php _e('Global', 'companion-auto-update'); ?></strong></th>
176
- <th><strong><?php _e('Fix it', 'companion-auto-update'); ?></strong></th>
 
177
  </tr>
178
  </thead>
179
 
180
  <tbody id="the-list">
181
  <tr>
182
- <td><span class='cau_disabled'><span class="dashicons dashicons-no"></span> Error</span></td>
183
- <td>
184
- <?php _e('Updating is globally disabled.', 'companion-auto-update'); ?>
185
  </td>
186
- <td>
187
- <form method="POST"><button type="submit" name="fixit" class="button button-alt"><?php _e('Fix it', 'companion-auto-update'); ?></button></form>
 
 
 
188
  </td>
189
  </tr>
190
  </tbody>
@@ -196,7 +230,7 @@ if( checkAutomaticUpdaterDisabled() ) { ?>
196
  // Remove the line
197
  if( isset( $_POST['fixit'] ) ) {
198
  cau_removeErrorLine();
199
- echo "<div id='message' class='updated'><p><strong>".__( 'Error fixed', 'companion-auto-update' )."</strong> &dash; ".__( 'Everything should work just fine again :)', 'companion-auto-update' )."</p></div>";
200
  }
201
 
202
  // Get wp-config location
@@ -220,8 +254,8 @@ function cau_removeErrorLine() {
220
  $conFile = cau_configFile();
221
 
222
  // Lines to check and replace
223
- $revLine = "define( 'AUTOMATIC_UPDATER_DISABLED', false );"; // We could just remove the line, but replacing it will be safer
224
- $oldLine = array( "define('AUTOMATIC_UPDATER_DISABLED', true );", "define('AUTOMATIC_UPDATER_DISABLED', minor );", "define('automatic_updater_disabled', true );", "define('automatic_updater_disabled', minor );" );
225
 
226
  // Check for each string if it exists
227
  foreach ( $oldLine as $key => $string ) {
@@ -236,40 +270,41 @@ function cau_removeErrorLine() {
236
 
237
  }
238
 
239
- function cau_incompatiblePlugins() {
240
-
241
- if( is_plugin_active( 'better-wp-security/better-wp-security.php' ) ) {
242
- return true;
243
- } else {
244
- return false;
245
- }
246
-
247
- }
248
-
249
  if( cau_incompatiblePlugins() ) { ?>
250
 
251
  <p>&nbsp;</p>
252
  <h2 style="margin-bottom: 3px"><?php _e('Possible plugin issues', 'companion-auto-update'); ?></h2>
253
  <span class='cau_disabled'><?php _e("You're using one or more plugins that <i>might</i> cause issues.", "companion-auto-update"); ?></span>
254
 
255
- <table class="cau_status_list widefat striped">
256
 
257
  <thead>
258
  <tr>
259
- <th><strong><?php _e('Plugin name', 'companion-auto-update'); ?></strong></th>
260
- <th><strong><?php _e('How to fix', 'companion-auto-update'); ?></strong></th>
 
261
  </tr>
262
  </thead>
263
 
264
  <tbody id="the-list">
265
- <?php if( is_plugin_active( 'better-wp-security/better-wp-security.php' ) ) { ?>
266
- <tr>
267
- <td>iThemes Security</td>
268
- <td><a href="<?php echo admin_url( 'tools.php?page=cau-settings&tab=support' ); ?>"><?php _e('Contact for support', 'companion-auto-update'); ?></a></td>
269
- </tr>
270
- <?php } ?>
 
 
 
 
 
 
 
271
  </tbody>
272
 
273
  </table>
274
 
275
- <?php } ?>
 
 
6
  global $wpdb;
7
  $table_name = $wpdb->prefix . "auto_updates";
8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  // Minor updates
10
  $configs = $wpdb->get_results( "SELECT * FROM $table_name WHERE name = 'minor'");
11
  foreach ( $configs as $config ) {
26
 
27
  }
28
 
29
+ // Major updates
30
+ $configs = $wpdb->get_results( "SELECT * FROM $table_name WHERE name = 'major'");
31
+ foreach ( $configs as $config ) {
32
+
33
+ if( $config->onoroff == 'on' && wp_get_schedule( 'wp_version_check' ) ) {
34
+ $majorUpdates = true;
35
+ $majorStatus = 'enabled';
36
+ $majorIcon = 'yes';
37
+ $majorInterval = wp_get_schedule( 'wp_version_check' );
38
+ $majorNext = date_i18n( $dateFormat, wp_next_scheduled( 'wp_version_check' ) );
39
+ } else {
40
+ $majorUpdates = false;
41
+ $majorStatus = 'disabled';
42
+ $majorIcon = 'no';
43
+ $majorInterval = '&dash;';
44
+ $majorNext = '&dash;';
45
+ }
46
+
47
+ }
48
+
49
  // Plugin updates
50
  $configs = $wpdb->get_results( "SELECT * FROM $table_name WHERE name = 'plugins'");
51
  foreach ( $configs as $config ) {
102
 
103
  <h2><?php _e('Status', 'companion-auto-update'); ?></h2>
104
 
105
+ <div class="cau_status_page">
106
+
107
  <table class="cau_status_list widefat striped">
108
 
109
  <thead>
110
  <tr>
111
+ <th width="300" class="cau_status_name"><strong><?php _e('Updaters', 'companion-auto-update'); ?></strong></th>
112
+ <th class="cau_status_active_state"><strong><?php _e('Active?', 'companion-auto-update'); ?></strong></th>
113
+ <th class="cau_status_interval"><strong><?php _e('Interval', 'companion-auto-update'); ?></strong></th>
114
+ <th class="cau_status_next"><strong><?php _e('Next', 'companion-auto-update'); ?></strong></th>
115
  </tr>
116
  </thead>
117
 
118
  <tbody id="the-list">
119
  <tr>
120
+ <td class="cau_status_name"><?php _e('Plugins', 'companion-auto-update'); ?></td>
121
+ <td class="cau_status_active_state"><span class='cau_<?php echo $pluginsStatus; ?>'><span class="dashicons dashicons-<?php echo $pluginsIcon; ?>"></span></span></td>
122
+ <td class="cau_status_interval"><?php echo $pluginsInterval; ?></td>
123
+ <td class="cau_status_next"><span class="cau_mobile_prefix"><?php _e( 'Next', 'companion-auto-update' ); ?>: </span><?php echo $pluginsNext; ?></td>
124
  </tr>
125
  <tr>
126
+ <td class="cau_status_name"><?php _e('Themes', 'companion-auto-update'); ?></td>
127
+ <td class="cau_status_active_state"><span class='cau_<?php echo $themesStatus; ?>'><span class="dashicons dashicons-<?php echo $themesIcon; ?>"></span></span></td>
128
+ <td class="cau_status_interval"><?php echo $themesInterval; ?></td>
129
+ <td class="cau_status_next"><span class="cau_mobile_prefix"><?php _e( 'Next', 'companion-auto-update' ); ?>: </span><?php echo $themesNext; ?></td>
130
  </tr>
131
  <tr>
132
+ <td class="cau_status_name"><?php _e('Core (Minor)', 'companion-auto-update'); ?></td>
133
+ <td class="cau_status_active_state"><span class='cau_<?php echo $minorStatus; ?>'><span class="dashicons dashicons-<?php echo $minorIcon; ?>"></span></span></td>
134
+ <td class="cau_status_interval"><?php echo $minorInterval; ?></td>
135
+ <td class="cau_status_next"><span class="cau_mobile_prefix"><?php _e( 'Next', 'companion-auto-update' ); ?>: </span><?php echo $minorNext; ?></td>
136
  </tr>
137
  <tr>
138
+ <td class="cau_status_name"><?php _e('Core (Major)', 'companion-auto-update'); ?></td>
139
+ <td class="cau_status_active_state"><span class='cau_<?php echo $majorStatus; ?>'><span class="dashicons dashicons-<?php echo $majorIcon; ?>"></span></span></td>
140
+ <td class="cau_status_interval"><?php echo $majorInterval; ?></td>
141
+ <td class="cau_status_next"><span class="cau_mobile_prefix"><?php _e( 'Next', 'companion-auto-update' ); ?>: </span><?php echo $majorNext; ?></td>
142
  </tr>
143
  </tbody>
144
 
148
 
149
  <thead>
150
  <tr>
151
+ <th width="300" class="cau_status_name"><strong><?php _e('Other', 'companion-auto-update'); ?></strong></th>
152
+ <th class="cau_status_active_state"><strong><?php _e('Active?', 'companion-auto-update'); ?></strong></th>
153
+ <th class="cau_status_interval"><strong><?php _e('Interval', 'companion-auto-update'); ?></strong></th>
154
+ <th class="cau_status_next"><strong><?php _e('Next', 'companion-auto-update'); ?></strong></th>
155
  </tr>
156
  </thead>
157
 
158
  <tbody id="the-list">
159
  <tr>
160
+ <td class="cau_status_name"><?php _e( 'Email Notifications', 'companion-auto-update' ); ?></td>
161
+ <td class="cau_status_active_state"><span class='cau_<?php echo $setScheduleStatus; ?>'><span class="dashicons dashicons-<?php echo $setScheduleIcon; ?>"></span></span></td>
162
+ <td class="cau_status_interval"><?php echo $setScheduleInterval; ?></td>
163
+ <td class="cau_status_next"><span class="cau_mobile_prefix"><?php _e( 'Next', 'companion-auto-update' ); ?>: </span><?php echo $setScheduleNext; ?></td>
164
  </tr>
165
  </tbody>
166
 
168
 
169
  <?php
170
 
171
+ if( get_option( 'blog_public' ) == 0 ) { ?>
172
+
173
+ <table class="cau_status_list widefat striped cau_status_warnings">
174
+
175
+ <thead>
176
+ <tr>
177
+ <th class="cau_plugin_issue_name"><strong><?php _e( 'Search Engine Visibility' ); ?></strong></th>
178
+ <th class="cau_plugin_issue_explain"> </th>
179
+ <th class="cau_plugin_issue_fixit"><strong><?php _e( 'Fix it', 'companion-auto-update' ); ?></strong></th>
180
+ </tr>
181
+ </thead>
182
+
183
+ <tbody id="the-list">
184
+ <tr>
185
+ <td class="cau_plugin_issue_name"><span class='cau_warning'><span class="dashicons dashicons-warning"></span> <?php _e( 'Warning', 'companion-auto-update' ); ?></span></td>
186
+ <td class="cau_plugin_issue_explain">
187
+ <?php _e( 'Search Engines are discouraged to index your site, because this plugin only works on sites with traffic we can\'t guarantee that everything will update now.', 'companion-auto-update' ); ?>
188
+ </td>
189
+ <td class="cau_plugin_issue_fixit">
190
+ <a href="<?php echo admin_url( 'options-reading.php' ); ?>" class="button button-alt"><?php _e( 'Fix it', 'companion-auto-update' ); ?></a>
191
+ </td>
192
+ </tr>
193
+ </tbody>
194
+
195
+ </table>
196
+
197
+ <?php }
198
+
199
  if( checkAutomaticUpdaterDisabled() ) { ?>
200
 
201
+ <table class="cau_status_list widefat striped cau_status_warnings">
202
 
203
  <thead>
204
  <tr>
205
+ <th class="cau_plugin_issue_name"><strong><?php _e( 'Critical Error', 'companion-auto-update' ); ?></strong></th>
206
+ <th class="cau_plugin_issue_explain"> </th>
207
+ <th class="cau_plugin_issue_fixit"><strong><?php _e( 'How to fix', 'companion-auto-update' ); ?></strong></th>
208
  </tr>
209
  </thead>
210
 
211
  <tbody id="the-list">
212
  <tr>
213
+ <td class="cau_plugin_issue_name"><span class='cau_disabled'><span class="dashicons dashicons-no"></span> <?php _e( 'Critical Error', 'companion-auto-update' ); ?></span></td>
214
+ <td class="cau_plugin_issue_explain">
215
+ <?php _e( 'Updating is globally disabled.', 'companion-auto-update' ); ?>
216
  </td>
217
+ <td class="cau_plugin_issue_fixit">
218
+ <form method="POST">
219
+ <button type="submit" name="fixit" class="button button-primary"><?php _e( 'Fix it', 'companion-auto-update' ); ?></button>
220
+ <a href="<?php echo admin_url( cau_menloc().'?page=cau-settings&tab=support' ); ?>" class="button"><?php _e( 'Contact for support', 'companion-auto-update' ); ?></a>
221
+ </form>
222
  </td>
223
  </tr>
224
  </tbody>
230
  // Remove the line
231
  if( isset( $_POST['fixit'] ) ) {
232
  cau_removeErrorLine();
233
+ echo "<div id='message' class='updated'><p><strong>".__( 'Error fixed', 'companion-auto-update' )."</strong></p></div>";
234
  }
235
 
236
  // Get wp-config location
254
  $conFile = cau_configFile();
255
 
256
  // Lines to check and replace
257
+ $revLine = "define('AUTOMATIC_UPDATER_DISABLED', false);"; // We could just remove the line, but replacing it will be safer
258
+ $oldLine = array( "define('AUTOMATIC_UPDATER_DISABLED', true);", "define('AUTOMATIC_UPDATER_DISABLED', minor);","define('automatic_updater_disabled', true);", "define('automatic_updater_disabled', minor);" );
259
 
260
  // Check for each string if it exists
261
  foreach ( $oldLine as $key => $string ) {
270
 
271
  }
272
 
273
+ // If has incomptable plugins
 
 
 
 
 
 
 
 
 
274
  if( cau_incompatiblePlugins() ) { ?>
275
 
276
  <p>&nbsp;</p>
277
  <h2 style="margin-bottom: 3px"><?php _e('Possible plugin issues', 'companion-auto-update'); ?></h2>
278
  <span class='cau_disabled'><?php _e("You're using one or more plugins that <i>might</i> cause issues.", "companion-auto-update"); ?></span>
279
 
280
+ <table class="cau_status_list widefat striped cau_status_warnings">
281
 
282
  <thead>
283
  <tr>
284
+ <th class="cau_plugin_issue_name"><strong><?php _e( 'Name', 'companion-auto-update' ); ?></strong></th>
285
+ <th class="cau_plugin_issue_explain"><strong><?php _e( 'Possible issue', 'companion-auto-update' ); ?></strong></th>
286
+ <th class="cau_plugin_issue_fixit"><strong><?php _e( 'How to fix', 'companion-auto-update' ); ?></strong></th>
287
  </tr>
288
  </thead>
289
 
290
  <tbody id="the-list">
291
+ <?php
292
+ foreach ( cau_incompatiblePluginlist() as $key => $value ) {
293
+ if( is_plugin_active( $key ) ) {
294
+
295
+ echo '<tr>
296
+ <td class="cau_plugin_issue_name">'.$key.'</td>
297
+ <td class="cau_plugin_issue_explain">'.$value.'</td>
298
+ <td class="cau_plugin_issue_fixit"><a href="'.admin_url( cau_menloc().'?page=cau-settings&tab=support' ).'" class="button">'.__( 'Contact for support', 'companion-auto-update' ).'</a></td>
299
+ </tr>';
300
+
301
+ }
302
+ }
303
+ ?>
304
  </tbody>
305
 
306
  </table>
307
 
308
+ <?php } ?>
309
+
310
+ </div>
admin/support.php CHANGED
@@ -1,63 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
 
2
- <h2 class="title"><?php _e('Support', 'companion-auto-update');?></h2>
3
- <?php _e('Feel free to reach out to us if you have any questions or feedback.', 'companion-auto-update'); ?>
 
 
 
 
 
 
 
 
4
 
5
-
6
- <table class="form-table cau_support">
7
-
8
- <tr>
9
- <th scope="row"><?php _e('FAQ', 'companion-auto-update');?></th>
10
- <td>
11
- <a href="https://codeermeneer.nl/stuffs/faq-auto-updater/" target="_blank" class="button"><span class="dashicons dashicons-editor-help"></span> <?php _e('Frequently Asked Questions', 'companion-auto-update'); ?></a>
12
- </td>
13
- </tr>
14
- <tr>
15
- <th scope="row"><?php _e('Give feedback', 'companion-auto-update');?></th>
16
- <td>
17
- <a href="http://codeermeneer.nl/cau_poll/" target="_blank" class="button"><span class="dashicons dashicons-format-status"></span> <?php _e('Give feedback', 'companion-auto-update'); ?></a>
18
- <a href="https://wordpress.org/support/plugin/companion-auto-update" target="_blank" class="button"><span class="dashicons dashicons-megaphone"></span> <?php _e('WordPress Support Forum', 'companion-auto-update'); ?></a>
19
- </td>
20
- </tr>
21
- <tr>
22
- <th scope="row"><?php _e('Contact us', 'companion-auto-update');?></th>
23
- <td>
24
- <a href="http://codeermeneer.nl/contact/" target="_blank" class="button"><span class="dashicons dashicons-email"></span> <?php _e('Email', 'companion-auto-update'); ?></a>
25
- <a href="http://twitter.com/papino120/" target="_blank" class="button"><span class="dashicons dashicons-twitter"></span> Twitter</a>
26
- </td>
27
- </tr>
28
- <tr>
29
- <th scope="row"><?php _e('Want to contribute?', 'companion-auto-update');?></th>
30
- <td>
31
- <a href="https://translate.wordpress.org/projects/wp-plugins/companion-auto-update/" target="_blank" class="button"><span class="dashicons dashicons-welcome-learn-more"></span> <?php _e('Help us translate', 'companion-auto-update'); ?></a>
32
- </td>
33
- </tr>
34
- <tr>
35
- <th scope="row"><?php _e('Check out our other plugins', 'companion-auto-update');?></th>
36
- <td>
37
- <a href="https://codeermeneer.nl/plugins/" target="_blank" class="button"><span class="dashicons dashicons-category"></span> <?php _e('View portfolio', 'companion-auto-update'); ?></a>
38
- </td>
39
- </tr>
40
- <tr>
41
- <th scope="row"><?php _e('Developer?', 'companion-auto-update');?></th>
42
- <td>
43
- <a href="https://codeermeneer.nl/stuffs/codex-auto-updater/" target="_blank" class="button"><span class="dashicons dashicons-media-code"></span> <?php _e('Check out our codex', 'companion-auto-update'); ?></a>
44
- </td>
45
- </tr>
46
-
47
- </table>
48
-
49
- <h2 class="title"><?php _e('Like our plugin?', 'companion-auto-update');?></h2>
50
- <?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'); ?>
51
-
52
- <p class="cau_support">
53
- <a href="<?php echo cau_donateUrl(); ?>" target="_blank" class="button button-primary donate-button">
54
- <span class="dashicons dashicons-heart"></span>
55
- <?php _e('Donate to help development', 'companion-auto-update'); ?>
56
- </a>
57
- <a href="https://wordpress.org/support/plugin/companion-auto-update/reviews/#new-post" target="_blank" class="button rate-button">
58
- <span class="dashicons dashicons-star-filled"></span>
59
- <?php _e('Rate us (5 stars?)', 'companion-auto-update'); ?>
60
- </a>
61
- </p>
62
-
63
-
1
+ <div class="welcome-to-cau support-bg">
2
+ <div class="welcome-column welcome-column-first welcome-column welcome-column-half">
3
+ <div class="welcome-column welcome-column welcome-column-third">
4
+ <h3><?php _e( 'Help' ); ?></h3>
5
+ <ul>
6
+ <li><a href="https://codeermeneer.nl/stuffs/faq-auto-updater/" target="_blank"><?php _e( 'Frequently Asked Questions', 'companion-auto-update' ); ?></a></li>
7
+ <li><a href="https://wordpress.org/support/plugin/companion-auto-update" target="_blank"><?php _e( 'Support Forums' ); ?></a></li>
8
+ <li><a href="<?php echo admin_url( cau_menloc().'?page=cau-settings&tab=status&cau_page=system' ); ?>"><?php _e( 'Systeminfo', 'companion-auto-update' ); ?> &raquo; <?php _e( 'Status', 'companion-auto-update' ); ?></a></li>
9
+ </ul>
10
+ </div><div class="welcome-column welcome-column welcome-column-third">
11
+ <h3><?php _e( 'Want to contribute?', 'companion-auto-update' ); ?></h3>
12
+ <ul>
13
+ <li><a href="http://codeermeneer.nl/cau_poll/" target="_blank"><?php _e( 'Give feedback', 'companion-auto-update' ); ?></a></li>
14
+ <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>
15
+ </ul>
16
+ </div><div class="welcome-column welcome-column welcome-column-third">
17
+ <h3><?php _e( 'Developer?', 'companion-auto-update' ); ?></h3>
18
+ <ul>
19
+ <li><a href="https://codeermeneer.nl/stuffs/codex-auto-updater/" target="_blank"><?php _e( 'Documentation' ); ?></a></li>
20
+ </ul>
21
+ </div>
22
+ </div>
23
+ </div>
24
 
25
+ <div class="welcome-to-cau welcome-bg">
26
+ <div class="welcome-column welcome-column-first welcome-column welcome-column-half">
27
+ <h3><?php _e('Support', 'companion-auto-update');?></h3>
28
+ <p><?php _e('Feel free to reach out to us if you have any questions or feedback.', 'companion-auto-update'); ?></p>
29
+ <a href="https://codeermeneer.nl/contact/" target="_blank" class="button"><?php _e( 'Contact us', 'companion-auto-update' ); ?></a>
30
+ <a href="https://codeermeneer.nl/plugins/" target="_blank" class="minimal-button"><?php _e('Check out our other plugins', 'companion-auto-update');?></a>
31
+ </div><div class="welcome-column welcome-column-half">
32
+
33
+ </div>
34
+ </div>
35
 
36
+ <div class="welcome-to-cau love-bg cau-show-love">
37
+ <div class="welcome-column welcome-column-first welcome-column welcome-column-half">
38
+ <h3><?php _e( 'Like our plugin?', 'companion-auto-update' ); ?></h3>
39
+ <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>
40
+ </div><div class="welcome-column welcome-column welcome-column-half">
41
+ <a href="<?php echo cau_donateUrl(); ?>" target="_blank" class="cau-button donate-button">
42
+ <span class="dashicons dashicons-heart"></span>
43
+ <?php _e('Donate to help development', 'companion-auto-update'); ?>
44
+ </a>
45
+ <a href="https://wordpress.org/support/plugin/companion-auto-update/reviews/#new-post" target="_blank" class="cau-button rate-button">
46
+ <span class="dashicons dashicons-star-filled"></span>
47
+ <?php _e('Rate us (5 stars?)', 'companion-auto-update'); ?>
48
+ </a>
49
+ </div>
50
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
backend/images/love.svg ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ version="1.1"
13
+ id="Layer_1"
14
+ x="0px"
15
+ y="0px"
16
+ viewBox="0 0 250 250"
17
+ xml:space="preserve"
18
+ sodipodi:docname="love.svg"
19
+ inkscape:version="0.92.0 r15299"
20
+ width="250"
21
+ height="250"><metadata
22
+ id="metadata69"><rdf:RDF><cc:Work
23
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
24
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
25
+ id="defs67" /><sodipodi:namedview
26
+ pagecolor="#ffffff"
27
+ bordercolor="#666666"
28
+ borderopacity="1"
29
+ objecttolerance="10"
30
+ gridtolerance="10"
31
+ guidetolerance="10"
32
+ inkscape:pageopacity="0"
33
+ inkscape:pageshadow="2"
34
+ inkscape:window-width="1920"
35
+ inkscape:window-height="1017"
36
+ id="namedview65"
37
+ showgrid="false"
38
+ inkscape:zoom="1.84375"
39
+ inkscape:cx="126.95637"
40
+ inkscape:cy="64.884077"
41
+ inkscape:window-x="-8"
42
+ inkscape:window-y="-8"
43
+ inkscape:window-maximized="1"
44
+ inkscape:current-layer="Layer_1" /><path
45
+ sodipodi:type="star"
46
+ style="opacity:1;fill:#e5ac51;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.55905533;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
47
+ id="path4558-1"
48
+ sodipodi:sides="5"
49
+ sodipodi:cx="-161.62712"
50
+ sodipodi:cy="-89.525429"
51
+ sodipodi:r1="46.974003"
52
+ sodipodi:r2="29.4527"
53
+ sodipodi:arg1="1.0471976"
54
+ sodipodi:arg2="1.6755161"
55
+ inkscape:flatsided="false"
56
+ inkscape:rounded="0.23"
57
+ inkscape:randomized="0"
58
+ d="m -138.14012,-48.844748 c -5.7573,3.323978 -19.95411,-10.694425 -26.56565,-11.389326 -6.61154,-0.694901 -23.4127,10.065482 -28.3531,5.617131 -4.94039,-4.448351 4.00485,-22.282243 2.62266,-28.784926 -1.38219,-6.502682 -16.80776,-19.156401 -14.1038,-25.229611 2.70397,-6.07321 22.42924,-3.07676 28.18654,-6.40074 5.7573,-3.32397 13.02493,-21.90478 19.63647,-21.20988 6.61154,0.6949 9.85719,20.3807 14.79758,24.82905 4.9404,4.44835 24.85762,5.6185 26.23981,12.121179 1.38219,6.502682 -16.33716,15.672725 -19.04113,21.745935 -2.70397,6.07321 2.33792,25.37721 -3.41938,28.701188 z"
59
+ transform="matrix(0.91878622,0.16509578,-0.16509578,0.91878622,340.69743,196.7037)" /><path
60
+ sodipodi:type="star"
61
+ style="opacity:1;fill:#e5ac51;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.55905533;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
62
+ id="path4558-1-9-0"
63
+ sodipodi:sides="5"
64
+ sodipodi:cx="-161.62712"
65
+ sodipodi:cy="-89.525429"
66
+ sodipodi:r1="46.974003"
67
+ sodipodi:r2="29.4527"
68
+ sodipodi:arg1="1.0471976"
69
+ sodipodi:arg2="1.6755161"
70
+ inkscape:flatsided="false"
71
+ inkscape:rounded="0.23"
72
+ inkscape:randomized="0"
73
+ d="m -138.14012,-48.844748 c -5.7573,3.323978 -19.95411,-10.694425 -26.56565,-11.389326 -6.61154,-0.694901 -23.4127,10.065482 -28.3531,5.617131 -4.94039,-4.448351 4.00485,-22.282243 2.62266,-28.784926 -1.38219,-6.502682 -16.80776,-19.156401 -14.1038,-25.229611 2.70397,-6.07321 22.42924,-3.07676 28.18654,-6.40074 5.7573,-3.32397 13.02493,-21.90478 19.63647,-21.20988 6.61154,0.6949 9.85719,20.3807 14.79758,24.82905 4.9404,4.44835 24.85762,5.6185 26.23981,12.121179 1.38219,6.502682 -16.33716,15.672725 -19.04113,21.745935 -2.70397,6.07321 2.33792,25.37721 -3.41938,28.701188 z"
74
+ transform="matrix(0.91878622,0.16509578,-0.16509578,0.91878622,268.19383,170.33927)" /><path
75
+ sodipodi:type="star"
76
+ style="opacity:1;fill:#e5ac51;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.55905533;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
77
+ id="path4558-1-9"
78
+ sodipodi:sides="5"
79
+ sodipodi:cx="-161.62712"
80
+ sodipodi:cy="-89.525429"
81
+ sodipodi:r1="46.974003"
82
+ sodipodi:r2="29.4527"
83
+ sodipodi:arg1="1.0471976"
84
+ sodipodi:arg2="1.6755161"
85
+ inkscape:flatsided="false"
86
+ inkscape:rounded="0.23"
87
+ inkscape:randomized="0"
88
+ d="m -138.14012,-48.844748 c -5.7573,3.323978 -19.95411,-10.694425 -26.56565,-11.389326 -6.61154,-0.694901 -23.4127,10.065482 -28.3531,5.617131 -4.94039,-4.448351 4.00485,-22.282243 2.62266,-28.784926 -1.38219,-6.502682 -16.80776,-19.156401 -14.1038,-25.229611 2.70397,-6.07321 22.42924,-3.07676 28.18654,-6.40074 5.7573,-3.32397 13.02493,-21.90478 19.63647,-21.20988 6.61154,0.6949 9.85719,20.3807 14.79758,24.82905 4.9404,4.44835 24.85762,5.6185 26.23981,12.121179 1.38219,6.502682 -16.33716,15.672725 -19.04113,21.745935 -2.70397,6.07321 2.33792,25.37721 -3.41938,28.701188 z"
89
+ transform="matrix(0.91878622,0.16509578,-0.16509578,0.91878622,311.76617,151.67028)" /><g
90
+ id="g14"
91
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
92
+ id="g25"
93
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
94
+ id="g34"
95
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
96
+ id="g36"
97
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
98
+ id="g38"
99
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
100
+ id="g40"
101
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
102
+ id="g42"
103
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
104
+ id="g44"
105
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
106
+ id="g46"
107
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
108
+ id="g48"
109
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
110
+ id="g50"
111
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
112
+ id="g52"
113
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
114
+ id="g54"
115
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
116
+ id="g56"
117
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
118
+ id="g58"
119
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
120
+ id="g60"
121
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
122
+ id="g62"
123
+ transform="matrix(0.32576223,0,0,0.32576223,527.80426,-6.6491677)" /><g
124
+ id="g40-0"
125
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
126
+ id="g42-4"
127
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
128
+ id="g44-8"
129
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
130
+ id="g46-3"
131
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
132
+ id="g48-2"
133
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
134
+ id="g50-7"
135
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
136
+ id="g52-5"
137
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
138
+ id="g54-7"
139
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
140
+ id="g56-0"
141
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
142
+ id="g58-5"
143
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
144
+ id="g60-4"
145
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
146
+ id="g62-0"
147
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
148
+ id="g64"
149
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
150
+ id="g66"
151
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><g
152
+ id="g68"
153
+ transform="matrix(0.58927702,0,0,0.58927702,-2.343465,23.363276)" /><path
154
+ style="fill:#ff5a59;stroke-width:0.54081887"
155
+ d="M 19.102947,326.15087 H 181.75206 l -2.74141,-19.78044 -11.20468,-80.86109 -1.27471,-9.21555 C 164.36581,200.6625 151.0011,189.0203 135.22055,189.0203 H 65.633925 c -15.780559,0 -29.14528,11.6422 -31.310714,27.27349 l -1.274705,9.21555 -11.204694,80.86109 z"
156
+ id="path2"
157
+ inkscape:connector-curvature="0" /><path
158
+ style="fill:#9178b7;fill-opacity:1;stroke-width:0.46266809"
159
+ d="m 38.291322,330.06808 122.868758,0.64821 -2.16561,-43.17409 -6.47449,-54.82038 -1.00697,-8.53789 c -1.71062,-14.48185 -12.26822,-25.26795 -24.73425,-25.26795 H 71.807954 c -12.466045,0 -23.023658,10.7861 -24.734274,25.26795 l -1.006965,8.53789 -6.474495,65.19179 z"
160
+ id="path2-8"
161
+ inkscape:connector-curvature="0"
162
+ sodipodi:nodetypes="cccccsscccc" /><path
163
+ style="fill:#ff5a59;stroke-width:0.54081887"
164
+ d="m 146.33708,203.22436 -8.80075,10.9981 c -1.87664,2.34552 -4.7181,3.71055 -7.7218,3.71055 H 100.4275 71.04049 c -3.003714,0 -5.845175,-1.36557 -7.721824,-3.71055 l -8.800741,-10.9981 v -5.06638 h 91.819155 z"
165
+ id="path12"
166
+ inkscape:connector-curvature="0" /><path
167
+ style="fill:#f7c097;fill-opacity:1;stroke-width:0.54081887"
168
+ d="m 117.06417,172.30197 v 32.50699 c 0,9.18798 -7.44869,16.63668 -16.63667,16.63668 v 0 c -9.18797,0 -16.636669,-7.4487 -16.636669,-16.63668 v -32.50699 z"
169
+ id="path14"
170
+ inkscape:connector-curvature="0" /><path
171
+ style="fill:#f9dc6a;stroke-width:0.54081887"
172
+ d="M 156.34007,86.107334 V 136.38131 H 44.514937 V 81.705609 c 0,-11.061369 8.967315,-20.028686 20.028691,-20.028686 h 8.131211 l 0.615446,-1.26768 C 76.604432,53.584108 83.524752,49.251609 91.11189,49.251609 h 28.37299 c 20.35426,0 36.85519,16.500924 36.85519,36.855725 z"
173
+ id="path16"
174
+ inkscape:connector-curvature="0" /><path
175
+ style="fill:#e5ac51;stroke-width:0.54081887"
176
+ d="m 64.543628,61.676382 h 8.131211 l 0.615446,-1.26768 C 76.604432,53.58465 83.524752,49.251609 91.11189,49.251609 h 9.19285 c -7.58662,0 -14.506937,4.333041 -17.821066,11.157634 l -0.615454,1.26768 h -8.131222 c -11.061356,0 -20.028672,8.967317 -20.028672,20.028686 V 136.38185 H 44.515478 V 81.705609 C 44.514937,70.6437 53.482252,61.676382 64.543628,61.676382 Z"
177
+ id="path18"
178
+ inkscape:connector-curvature="0" /><path
179
+ style="fill:#ffccaa;stroke-width:0.54081887"
180
+ d="m 36.998106,134.49007 v 4.79328 c 0,5.59531 4.535843,10.13116 10.131154,10.13116 h 9.978107 c 0.59274,11.45021 5.620184,21.73442 13.404737,29.15122 7.784543,7.41191 18.317546,11.96128 29.915396,11.96128 23.19627,0 42.14008,-18.20234 43.32014,-41.1125 h 9.97811 c 5.59531,0 10.13116,-4.53585 10.13116,-10.13116 v -4.79328 c 0,-5.5953 -4.53585,-10.13115 -10.13116,-10.13115 h -9.91592 V 106.24689 H 107.39 c -17.32622,0 -31.723351,-12.526448 -34.624302,-29.019802 C 72.51368,75.79554 70.806303,75.204425 69.728459,76.179521 61.937968,83.226392 57.04517,93.416502 57.04517,104.75099 v 19.60739 h -9.91591 c -5.595311,5.4e-4 -10.131154,4.53639 -10.131154,10.13169 z"
181
+ id="path20"
182
+ inkscape:connector-curvature="0" /><path
183
+ style="fill:#f7c097;fill-opacity:1;stroke-width:0.54081887"
184
+ d="m 47.12926,124.35892 h 9.91591 v -19.60793 c 0,-11.334488 4.892798,-21.524598 12.683289,-28.570928 1.077844,-0.975095 2.785762,-0.383981 3.037239,1.047566 0.473219,2.688953 1.256322,5.26974 2.303338,7.710996 -3.480162,5.789467 -5.488218,12.564305 -5.488218,19.812906 v 19.60793 l 0.06223,25.05559 c 0.592739,11.45021 5.619651,21.73388 13.404736,29.15068 6.355706,6.05122 14.543706,10.19174 23.647306,11.50917 -2.04645,0.29637 -4.13889,0.45265 -6.26754,0.45265 -11.5984,0 -22.130861,-4.54937 -29.915405,-11.96128 -7.784553,-7.41679 -12.811997,-17.70047 -13.404736,-29.15069 h -9.978108 c -5.595311,0 -10.131153,-4.53584 -10.131153,-10.13115 v -4.79328 c 0,-5.59584 4.535842,-10.13223 10.131153,-10.13223 z"
185
+ id="path22"
186
+ inkscape:connector-curvature="0" /><g
187
+ id="g40-2"
188
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
189
+ id="g42-2"
190
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
191
+ id="g44-0"
192
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
193
+ id="g46-0"
194
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
195
+ id="g48-8"
196
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
197
+ id="g50-1"
198
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
199
+ id="g52-50"
200
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
201
+ id="g54-2"
202
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
203
+ id="g56-00"
204
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
205
+ id="g58-3"
206
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
207
+ id="g60-40"
208
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
209
+ id="g62-04"
210
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
211
+ id="g64-2"
212
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
213
+ id="g66-5"
214
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /><g
215
+ id="g68-8"
216
+ transform="matrix(0.58927702,0,0,0.58927702,-3.970584,23.363271)" /></svg>
backend/images/support.svg ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ version="1.1"
13
+ id="Capa_1"
14
+ x="0px"
15
+ y="0px"
16
+ viewBox="0 0 250 250"
17
+ xml:space="preserve"
18
+ sodipodi:docname="support.svg"
19
+ inkscape:version="0.92.0 r15299"
20
+ width="250"
21
+ height="250"><metadata
22
+ id="metadata83"><rdf:RDF><cc:Work
23
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
24
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
25
+ id="defs81" /><sodipodi:namedview
26
+ pagecolor="#ffffff"
27
+ bordercolor="#666666"
28
+ borderopacity="1"
29
+ objecttolerance="10"
30
+ gridtolerance="10"
31
+ guidetolerance="10"
32
+ inkscape:pageopacity="0"
33
+ inkscape:pageshadow="2"
34
+ inkscape:window-width="1920"
35
+ inkscape:window-height="1017"
36
+ id="namedview79"
37
+ showgrid="false"
38
+ inkscape:zoom="1.3037281"
39
+ inkscape:cx="17.393161"
40
+ inkscape:cy="168.05467"
41
+ inkscape:window-x="-8"
42
+ inkscape:window-y="-8"
43
+ inkscape:window-maximized="1"
44
+ inkscape:current-layer="Capa_1" /><path
45
+ style="fill:#f0e4d6;stroke-width:0.50869882"
46
+ d="M 225.01212,9.9054729 H 167.6243 c -9.75176,0 -17.65796,7.9061981 -17.65796,17.6579601 V 71.70831 c 0,9.751761 7.9062,17.657961 17.65796,17.657961 h 13.24346 V 111.4387 L 202.9402,89.366271 h 22.07244 c 9.75174,0 17.65794,-7.9062 17.65794,-17.657961 V 27.563433 c -5e-4,-9.751762 -7.9067,-17.6579601 -17.65846,-17.6579601 z"
47
+ id="path2-7"
48
+ inkscape:connector-curvature="0" /><path
49
+ style="fill:#ebdcca;stroke-width:0.50869882"
50
+ d="m 234.03542,12.457104 c -18.21853,43.429659 -54.05076,63.577187 -77.96826,72.494676 3.18701,2.829889 7.29728,4.401255 11.55714,4.414491 h 13.24346 V 111.4387 L 202.9402,89.366271 h 22.07244 c 9.75174,0 17.65794,-7.9062 17.65794,-17.657961 V 27.563433 c -0.0138,-6.206644 -3.29382,-11.945783 -8.63516,-15.106329 z"
51
+ id="path4-2"
52
+ inkscape:connector-curvature="0" /><path
53
+ style="fill:#ff5a59;stroke-width:0.54081887"
54
+ d="M 23.486639,322.97602 H 186.13575 l -2.74141,-19.78044 -11.20468,-80.86109 -1.27471,-9.21555 C 168.7495,197.48765 155.38479,185.84545 139.60424,185.84545 H 70.017617 c -15.780559,0 -29.145281,11.6422 -31.310715,27.27349 l -1.274705,9.21555 -11.204693,80.86109 z"
55
+ id="path2"
56
+ inkscape:connector-curvature="0" /><path
57
+ style="fill:#9178b7;fill-opacity:1;stroke-width:0.46266809"
58
+ d="m 42.675013,326.89323 122.868757,0.64821 -2.16561,-43.17409 -6.47449,-54.82038 -1.00697,-8.53789 c -1.71062,-14.48185 -12.26822,-25.26795 -24.73425,-25.26795 H 76.191646 c -12.466045,0 -23.023658,10.7861 -24.734274,25.26795 l -1.006965,8.53789 -6.474496,65.19179 z"
59
+ id="path2-8"
60
+ inkscape:connector-curvature="0"
61
+ sodipodi:nodetypes="cccccsscccc" /><path
62
+ style="fill:#ff5a59;stroke-width:0.54081887"
63
+ d="m 150.72077,200.04951 -8.80075,10.9981 c -1.87664,2.34552 -4.7181,3.71055 -7.7218,3.71055 H 104.81119 75.424182 c -3.003714,0 -5.845175,-1.36557 -7.721824,-3.71055 l -8.800741,-10.9981 v -5.06638 h 91.819153 z"
64
+ id="path12"
65
+ inkscape:connector-curvature="0" /><path
66
+ style="fill:#f7c097;fill-opacity:1;stroke-width:0.54081887"
67
+ d="m 121.44786,169.12712 v 32.50699 c 0,9.18798 -7.44869,16.63668 -16.63667,16.63668 v 0 c -9.187971,0 -16.636667,-7.4487 -16.636667,-16.63668 v -32.50699 z"
68
+ id="path14"
69
+ inkscape:connector-curvature="0" /><path
70
+ style="fill:#f9dc6a;stroke-width:0.54081887"
71
+ d="M 160.72376,82.932489 V 133.20646 H 48.898629 V 78.530764 c 0,-11.061369 8.967315,-20.028686 20.028691,-20.028686 h 8.131211 l 0.615446,-1.26768 C 80.988124,50.409263 87.908444,46.076764 95.495585,46.076764 h 28.372985 c 20.35426,0 36.85519,16.500924 36.85519,36.855725 z"
72
+ id="path16"
73
+ inkscape:connector-curvature="0" /><path
74
+ style="fill:#e5ac51;stroke-width:0.54081887"
75
+ d="m 68.92732,58.501537 h 8.131211 l 0.615446,-1.26768 C 80.988124,50.409805 87.908444,46.076764 95.495585,46.076764 h 9.192845 c -7.586615,0 -14.506935,4.333041 -17.821064,11.157634 l -0.615454,1.26768 H 78.12069 c -11.061356,0 -20.028672,8.967317 -20.028672,20.028686 V 133.207 H 48.89917 V 78.530764 C 48.898629,67.468855 57.865944,58.501537 68.92732,58.501537 Z"
76
+ id="path18"
77
+ inkscape:connector-curvature="0" /><path
78
+ style="fill:#ffccaa;stroke-width:0.54081887"
79
+ d="m 41.381797,131.31522 v 4.79328 c 0,5.59531 4.535843,10.13116 10.131155,10.13116 h 9.978107 c 0.59274,11.45021 5.620184,21.73442 13.404737,29.15122 7.784543,7.41191 18.317542,11.96128 29.915394,11.96128 23.19627,0 42.14008,-18.20234 43.32014,-41.1125 h 9.97811 c 5.59531,0 10.13116,-4.53585 10.13116,-10.13116 v -4.79328 c 0,-5.5953 -4.53585,-10.13115 -10.13116,-10.13115 h -9.91592 v -18.11203 h -36.41983 c -17.326213,0 -31.723349,-12.526443 -34.6243,-29.019797 C 76.897372,72.620695 75.189995,72.02958 74.112151,73.004676 66.32166,80.051547 61.428862,90.241657 61.428862,101.57614 v 19.60739 h -9.91591 c -5.595312,5.4e-4 -10.131155,4.53639 -10.131155,10.13169 z"
80
+ id="path20"
81
+ inkscape:connector-curvature="0" /><path
82
+ style="fill:#f7c097;fill-opacity:1;stroke-width:0.54081887"
83
+ d="m 51.512952,121.18407 h 9.91591 v -19.60793 c 0,-11.334483 4.892798,-21.524593 12.683289,-28.570923 1.077844,-0.975095 2.785762,-0.383981 3.037239,1.047566 0.473219,2.688953 1.256322,5.26974 2.303338,7.710996 -3.480162,5.789467 -5.488218,12.564305 -5.488218,19.812901 v 19.60793 l 0.06223,25.05559 c 0.592739,11.45021 5.619651,21.73388 13.404736,29.15068 6.35571,6.05122 14.543704,10.19174 23.647304,11.50917 -2.04645,0.29637 -4.13889,0.45265 -6.26754,0.45265 -11.598402,0 -22.130859,-4.54937 -29.915403,-11.96128 -7.784553,-7.41679 -12.811997,-17.70047 -13.404736,-29.15069 h -9.978108 c -5.595312,0 -10.131154,-4.53584 -10.131154,-10.13115 v -4.79328 c 0,-5.59584 4.535842,-10.13223 10.131154,-10.13223 z"
84
+ id="path22"
85
+ inkscape:connector-curvature="0" /><g
86
+ id="g40"
87
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
88
+ id="g42"
89
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
90
+ id="g44"
91
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
92
+ id="g46"
93
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
94
+ id="g48"
95
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
96
+ id="g50"
97
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
98
+ id="g52"
99
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
100
+ id="g54"
101
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
102
+ id="g56"
103
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
104
+ id="g58"
105
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
106
+ id="g60"
107
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
108
+ id="g62"
109
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
110
+ id="g64"
111
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
112
+ id="g66"
113
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /><g
114
+ id="g68"
115
+ transform="matrix(0.58927702,0,0,0.58927702,-23.586892,20.188426)" /></svg>
backend/images/welcome.svg ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ version="1.1"
13
+ id="Capa_1"
14
+ x="0px"
15
+ y="0px"
16
+ viewBox="0 0 250 250"
17
+ xml:space="preserve"
18
+ sodipodi:docname="welcome.svg"
19
+ inkscape:version="0.92.0 r15299"
20
+ width="250"
21
+ height="250"><metadata
22
+ id="metadata75"><rdf:RDF><cc:Work
23
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
24
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
25
+ id="defs73" /><sodipodi:namedview
26
+ pagecolor="#ffffff"
27
+ bordercolor="#666666"
28
+ borderopacity="1"
29
+ objecttolerance="10"
30
+ gridtolerance="10"
31
+ guidetolerance="10"
32
+ inkscape:pageopacity="0"
33
+ inkscape:pageshadow="2"
34
+ inkscape:window-width="1920"
35
+ inkscape:window-height="1017"
36
+ id="namedview71"
37
+ showgrid="false"
38
+ inkscape:zoom="1.84375"
39
+ inkscape:cx="57.618317"
40
+ inkscape:cy="66.459728"
41
+ inkscape:window-x="-8"
42
+ inkscape:window-y="-8"
43
+ inkscape:window-maximized="1"
44
+ inkscape:current-layer="Capa_1" /><path
45
+ style="fill:#ff5a59;stroke-width:0.47996318"
46
+ d="M 51.623145,250 H 195.97015 l -2.43293,-17.55465 -9.94388,-71.76218 -1.13127,-8.17857 C 180.54029,138.63222 168.67944,128.30006 154.6746,128.30006 H 92.91822 c -14.00485,0 -25.8657,10.33216 -27.78747,24.20454 l -1.13127,8.17857 -9.943882,71.76218 z"
47
+ id="path2"
48
+ inkscape:connector-curvature="0" /><path
49
+ style="fill:#9178b7;fill-opacity:1;stroke-width:0.47996318"
50
+ d="m 40.22114,218.09973 c 2.347499,6.82027 7.341036,11.86085 13.834458,14.34562 2.944094,1.12647 6.200162,1.72738 9.660222,1.72738 H 78.64843 V 213.82086 H 63.71582 c -3.44086,0 -3.989937,-1.5906 -4.254877,-2.3571 -1.027121,-2.98201 -0.302856,-9.33385 4.827467,-18.19877 3.46438,-5.98706 9.92036,-14.79534 21.80041,-25.68139 V 250 h 75.41565 v -82.41592 c 11.88005,10.88605 18.33556,19.69385 21.80041,25.68139 5.13081,8.86492 5.85459,15.21676 4.82747,18.19877 -0.26494,0.7665 -0.81402,2.3571 -4.25487,2.3571 h -14.93262 v 20.35187 h 14.93262 c 3.46005,0 6.71612,-0.60091 9.66022,-1.72738 6.4939,-2.48477 11.48695,-7.52583 13.83445,-14.34562 2.3523,-6.82508 3.1428,-18.44019 -6.45118,-35.02436 -4.24095,-7.33143 -10.03411,-14.81454 -17.32763,-22.39172 -4.83227,-5.03097 -10.33217,-10.10034 -16.4661,-15.19323 -3.56852,-2.95801 -8.0605,-4.58605 -12.69406,-4.58605 H 93.15964 c -4.63357,0 -9.12506,1.62804 -12.69407,4.58605 -6.13393,5.09241 -11.63383,10.16178 -16.46609,15.19323 -7.293525,7.57766 -13.086681,15.06029 -17.327635,22.39172 -9.593504,16.58369 -8.803005,28.19832 -6.450705,35.02388 z"
51
+ id="path4"
52
+ inkscape:connector-curvature="0" /><g
53
+ id="g10"
54
+ transform="matrix(-0.47996317,0,0,0.47996317,246.66722,4.2588548)"><path
55
+ style="fill:#914cb7;fill-opacity:1"
56
+ d="m 416.688,372.563 c -8.836,-15.275 -20.906,-30.866 -36.102,-46.653 -10.068,-10.482 -21.527,-21.044 -34.307,-31.654 -7.435,-6.163 -16.794,-9.556 -26.448,-9.556 h -16.215 c 9.005,0 17.734,3.392 24.669,9.556 11.921,10.61 22.609,21.172 32,31.654 14.174,15.788 25.433,31.378 33.674,46.653 18.644,34.553 17.108,58.753 12.537,72.973 -4.562,14.21 -14.266,24.712 -26.886,29.889 -5.721,2.347 -12.049,3.599 -18.773,3.599 h 20.34 c 7.209,0 13.993,-1.253 20.127,-3.599 13.53,-5.177 23.933,-15.68 28.824,-29.889 4.902,-14.221 6.549,-38.42 -13.44,-72.973 z"
57
+ id="path6"
58
+ inkscape:connector-curvature="0" /><path
59
+ style="fill:#914cb7;fill-opacity:1"
60
+ d="m 331.818,479.024 v -42.403 h 2.746 v -96.334 c -4.96,-5.701 -10.658,-11.784 -17.205,-18.216 V 512 h 17.205 v -32.976 z"
61
+ id="path8"
62
+ inkscape:connector-curvature="0" /></g><path
63
+ style="fill:#ff5a59;stroke-width:0.47996318"
64
+ d="m 164.54024,140.90581 -7.81044,9.76053 c -1.66547,2.0816 -4.1872,3.29303 -6.85291,3.29303 H 123.79665 97.71641 c -2.66572,0 -5.18744,-1.21191 -6.85292,-3.29303 l -7.81044,-9.76053 v -4.49629 h 81.48719 z"
65
+ id="path12"
66
+ inkscape:connector-curvature="0" /><path
67
+ style="fill:#f7c097;stroke-width:0.47996318;fill-opacity:1"
68
+ d="m 138.56127,113.46296 v 28.84914 c 0,8.1541 -6.61053,14.76463 -14.76462,14.76463 v 0 c -8.1541,0 -14.76463,-6.61053 -14.76463,-14.76463 v -28.84914 z"
69
+ id="path14"
70
+ inkscape:connector-curvature="0" /><path
71
+ style="fill:#f9dc6a;stroke-width:0.47996318"
72
+ d="M 173.41764,36.967385 V 81.584282 H 74.17565 V 33.060965 c 0,-9.816687 7.95827,-17.774956 17.77496,-17.774956 h 7.21625 l 0.54619,-1.125034 c 2.94122,-6.0571352 9.08283,-9.9021202 15.81623,-9.9021202 h 25.18031 c 18.06389,0 32.70805,14.6441562 32.70805,32.7085302 z"
73
+ id="path16"
74
+ inkscape:connector-curvature="0" /><path
75
+ style="fill:#e5ac51;stroke-width:0.47996318"
76
+ d="m 91.95061,15.285529 h 7.21625 l 0.54619,-1.125034 c 2.94122,-6.0561752 9.08283,-9.9016402 15.81623,-9.9016402 h 8.15842 c -6.73293,0 -12.87454,3.845465 -15.81575,9.9021202 l -0.5462,1.125034 h -7.21625 c -9.81668,0 -17.77495,7.958269 -17.77495,17.774956 V 81.584762 H 74.17613 V 33.060965 c -4.8e-4,-9.817167 7.95779,-17.775436 17.77448,-17.775436 z"
77
+ id="path18"
78
+ inkscape:connector-curvature="0" /><path
79
+ style="fill:#ffccaa;stroke-width:0.47996318"
80
+ d="m 67.50465,79.905851 v 4.253913 c 0,4.965699 4.02545,8.99115 8.99115,8.99115 h 8.85532 c 0.52604,10.161776 4.98777,19.288756 11.89636,25.870976 6.90859,6.57789 16.25636,10.61534 26.54917,10.61534 20.5861,0 37.39825,-16.15412 38.44553,-36.486316 h 8.85532 c 4.9657,0 8.99115,-4.025451 8.99115,-8.99115 v -4.253913 c 0,-4.965699 -4.02545,-8.99115 -8.99115,-8.99115 h -8.80013 V 54.840734 h -32.32168 c -15.37658,0 -28.15368,-11.116907 -30.7282,-25.754344 -0.22366,-1.270463 -1.73891,-1.795062 -2.69547,-0.929689 -6.91387,6.25392 -11.2561,15.297387 -11.2561,25.356455 V 70.914221 H 76.4958 c -4.9657,4.8e-4 -8.99115,4.025931 -8.99115,8.99163 z"
81
+ id="path20"
82
+ inkscape:connector-curvature="0" /><path
83
+ style="fill:#f7c097;stroke-width:0.47996318;fill-opacity:1"
84
+ d="m 76.4958,70.914701 h 8.80012 V 53.513156 c 0,-10.059068 4.34223,-19.102535 11.2561,-25.355975 0.95656,-0.865373 2.47229,-0.340774 2.69547,0.929689 0.41997,2.386377 1.11496,4.676761 2.04416,6.843315 -3.08856,5.138006 -4.87066,11.150504 -4.87066,17.583451 v 17.401545 l 0.0552,22.236213 c 0.52604,10.161776 4.9873,19.288276 11.89637,25.870496 5.64053,5.37031 12.90717,9.04491 20.98639,10.2141 -1.81618,0.26302 -3.67316,0.40172 -5.56229,0.40172 -10.29329,0 -19.64058,-4.03745 -26.54917,-10.61534 C 90.3389,112.44015 85.87717,103.31365 85.35113,93.151874 h -8.85532 c -4.9657,0 -8.99115,-4.025451 -8.99115,-8.99115 v -4.253913 c 0,-4.966179 4.02545,-8.99211 8.99115,-8.99211 z"
85
+ id="path22"
86
+ inkscape:connector-curvature="0" /><g
87
+ id="g38"
88
+ transform="matrix(-0.47996317,0,0,0.47996317,246.66722,4.2588548)"><path
89
+ style="fill:#ffccaa"
90
+ d="m 339.53,427.621 h -9.661 c -7.246,0 -13.12,5.874 -13.12,13.12 v 33.966 c 0,7.246 5.874,13.119 13.12,13.119 h 9.661 c 5.82,0 10.538,-4.718 10.538,-10.538 v -39.129 c 0,-5.82 -4.718,-10.538 -10.538,-10.538 z"
91
+ id="path34"
92
+ inkscape:connector-curvature="0" /><path
93
+ style="fill:#ffccaa"
94
+ d="m 172.47,427.621 h 9.661 c 7.246,0 13.12,5.874 13.12,13.12 v 33.966 c 0,7.246 -5.874,13.119 -13.12,13.119 h -9.661 c -5.82,0 -10.538,-4.718 -10.538,-10.538 v -39.129 c 0,-5.82 4.718,-10.538 10.538,-10.538 z"
95
+ id="path36"
96
+ inkscape:connector-curvature="0" /></g><g
97
+ id="g40"
98
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
99
+ id="g42"
100
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
101
+ id="g44"
102
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
103
+ id="g46"
104
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
105
+ id="g48"
106
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
107
+ id="g50"
108
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
109
+ id="g52"
110
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
111
+ id="g54"
112
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
113
+ id="g56"
114
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
115
+ id="g58"
116
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
117
+ id="g60"
118
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
119
+ id="g62"
120
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
121
+ id="g64"
122
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
123
+ id="g66"
124
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /><g
125
+ id="g68"
126
+ transform="matrix(0.47996317,0,0,0.47996317,0.926051,4.2588548)" /></svg>
backend/style.css CHANGED
@@ -1,21 +1,98 @@
1
  /* Default Stylings */
2
- div.warning {
3
- background: #9178B7;
4
- color: #FFF;
5
- padding: 10px 15px;
6
- margin-top: 15px;
7
- border-radius: 3px;
 
8
  display: inline-block;
9
  }
10
- p.warningText {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  margin: 0;
12
- padding: 0;
 
 
 
13
  }
14
- .cau_support_buttons {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  display: inline-block;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  }
17
 
18
  /* Table Styling */
 
 
 
19
  table.autoupdate th.head-plugin {
20
  min-width: 250px;
21
  }
@@ -41,6 +118,10 @@ table.autoupdate tr.inactive td.column-status p {
41
  table.autoupdate tr.active td.column-status p {
42
  color: #000;
43
  }
 
 
 
 
44
 
45
  /* Update Log */
46
  table.autoupdatelog strong {
@@ -60,6 +141,12 @@ table.cau_status_list {
60
  .cau_disabled {
61
  color: #FF0000;
62
  }
 
 
 
 
 
 
63
 
64
  /* Rollback list */
65
  table.rollbacklist {
@@ -124,6 +211,8 @@ table.rollbacklist td a.versionselectbutton {
124
  border-color: #FFF;
125
  left: 18px;
126
  }
 
 
127
  .cau_schedule_input {
128
  display: inline-block;
129
  vertical-align: middle;
@@ -145,56 +234,154 @@ table.rollbacklist td a.versionselectbutton {
145
  width: 125px;
146
  padding-left: 5px;
147
  }
148
- .cau_support .dashicons {
149
- position: relative;
150
- bottom: -6px;
151
- font-size: 1.3em;
 
 
 
 
 
 
 
152
  }
153
- .cau_content_wrap .buttonIsLoading {
154
- background: #DDD!important;
155
  }
156
- .cau_content_wrap .buttonIsLoading img {
157
- position: relative;
158
- bottom: -3px;
159
- }
160
- .cau_content_wrap .button-primary.disabled {
161
- background-color: #DDD!important;
162
- border-color: #BDBDBD!important;
163
- color: rgba(0,0,0,0.7)!important;
164
- text-shadow: none!important;
165
- }
166
- .cau_support .donate-button {
167
- padding: 10px 15px;
168
- height: auto;
169
- box-shadow: none!important;
170
- text-shadow: none!important;
171
  background-color: #9178B7;
172
  border-color: #6B5887;
173
  color: #FFF;
174
  }
175
- .cau_support .donate-button:hover {
176
- background-color: #796597;
177
- border-color: #5B4C72;
178
- color: #FFF;
179
  }
180
- .cau_support .donate-button:active {
181
- background-color: #796597;
182
- border-color: #5B4C72;
183
  }
184
- .cau_support .rate-button {
185
- padding: 10px 20px;
186
- height: auto;
187
- color: #735F91!important;
188
  }
189
 
 
190
  @media screen and (max-width: 1000px) {
191
- .cau_support_buttons, .cau_hide_on_mobile, table.autoupdate thead {
 
 
192
  display: none!important;
193
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  .cau_schedule_input {
195
  width: 50px;
196
  }
197
- .cau_support .dashicons {
198
- bottom: 0px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200
  }
1
  /* Default Stylings */
2
+ .nowrap {
3
+ white-space: nowrap;
4
+ }
5
+ .cau_spacing {
6
+ height: 25px;
7
+ }
8
+ .cau_support_buttons {
9
  display: inline-block;
10
  }
11
+
12
+ /* Welcome screen */
13
+ .welcome-to-cau {
14
+ background: #FFF;
15
+ border: 1px solid #E5E5E5;
16
+ box-shadow: 0 1px 1px rgba(0,0,0,0.04);
17
+ margin: 25px 0;
18
+ padding: 30px;
19
+ background-size: 140px;
20
+ background-position: left bottom;
21
+ background-repeat: no-repeat;
22
+ }
23
+ .welcome-to-cau.welcome-bg {
24
+ background-image: url('images/welcome.svg');
25
+ }
26
+ .welcome-to-cau.support-bg {
27
+ background-image: url('images/support.svg');
28
+ }
29
+ .welcome-to-cau.love-bg {
30
+ background-image: url('images/love.svg');
31
+ }
32
+ .welcome-to-cau h2 {
33
  margin: 0;
34
+ margin-bottom: 25px;
35
+ font-size: 21px;
36
+ font-weight: 400;
37
+ line-height: 1.2;
38
  }
39
+ .welcome-to-cau h3 {
40
+ font-size: 16px;
41
+ }
42
+ .welcome-to-cau a {
43
+ text-decoration: none;
44
+ }
45
+ .welcome-to-cau .welcome-column {
46
+ display: inline-block;
47
+ vertical-align: top;
48
+ }
49
+ .welcome-to-cau.cau-show-love .welcome-column {
50
+ vertical-align: middle;
51
+ }
52
+ .welcome-to-cau .welcome-column.welcome-column-first {
53
+ padding-left: 140px;
54
+ box-sizing: border-box;
55
+ }
56
+ .welcome-to-cau.cau-show-love .welcome-column.welcome-column-half:not(.welcome-column-first) {
57
+ text-align: right;
58
+ }
59
+ .welcome-to-cau .welcome-column.welcome-column-half {
60
+ width: 50%;
61
+ }
62
+ .welcome-to-cau .welcome-column.welcome-column-third {
63
+ width: 33%;
64
+ }
65
+ .welcome-to-cau .welcome-column.welcome-column-quarter {
66
+ width: 25%;
67
+ }
68
+ .welcome-to-cau a.minimal-button {
69
  display: inline-block;
70
+ padding: 5px;
71
+ }
72
+
73
+ /* Dashboard */
74
+ .cau-column-wide {
75
+ display: inline-block;
76
+ vertical-align: top;
77
+ width: calc(100% - 450px);
78
+ }
79
+ .cau-column-small {
80
+ display: inline-block;
81
+ vertical-align: top;
82
+ width: 450px;
83
+ }
84
+ .cau-dashboard-box {
85
+ background-position: right bottom;
86
+ }
87
+ .cau-dashboard-box a {
88
+ margin-left: 0px;
89
+ margin-top: 10px;
90
  }
91
 
92
  /* Table Styling */
93
+ .widefat td {
94
+ vertical-align: middle!important;
95
+ }
96
  table.autoupdate th.head-plugin {
97
  min-width: 250px;
98
  }
118
  table.autoupdate tr.active td.column-status p {
119
  color: #000;
120
  }
121
+ table.autoupdate tr td.column-description p {
122
+ overflow: hidden;
123
+ max-height: 18px;
124
+ }
125
 
126
  /* Update Log */
127
  table.autoupdatelog strong {
141
  .cau_disabled {
142
  color: #FF0000;
143
  }
144
+ .cau_warning {
145
+ color: #FFBA00;
146
+ }
147
+ .cau_mobile_prefix {
148
+ display: none;
149
+ }
150
 
151
  /* Rollback list */
152
  table.rollbacklist {
211
  border-color: #FFF;
212
  left: 18px;
213
  }
214
+
215
+ /* Scheduling */
216
  .cau_schedule_input {
217
  display: inline-block;
218
  vertical-align: middle;
234
  width: 125px;
235
  padding-left: 5px;
236
  }
237
+
238
+ /* Custom buttons */
239
+ .cau-button {
240
+ display: inline-block;
241
+ padding: 15px 25px;
242
+ text-decoration: none;
243
+ border-radius: 3px;
244
+ border: 1px solid rgba(0,0,0,0.2);
245
+ font-weight: 500;
246
+ font-size: 1.1em;
247
+ margin: 0 10px;
248
  }
249
+ .cau-button:hover {
250
+ opacity: 0.9;
251
  }
252
+ .cau-button .dashicons {
253
+ bottom: -2px;
254
+ }
255
+ .donate-button {
 
 
 
 
 
 
 
 
 
 
 
256
  background-color: #9178B7;
257
  border-color: #6B5887;
258
  color: #FFF;
259
  }
260
+ .rate-button {
261
+ background: #F7F7F7;
262
+ color: #735F91;
 
263
  }
264
+ .donate-button:hover {
265
+ color: #FFF;
 
266
  }
267
+ .rate-button:hover {
268
+ color: #735F91;
 
 
269
  }
270
 
271
+ /* Responsive */
272
  @media screen and (max-width: 1000px) {
273
+
274
+ /* Basics */
275
+ .cau_hide_on_mobile, table.autoupdate thead {
276
  display: none!important;
277
  }
278
+ .form-table td fieldset p {
279
+ display: block;
280
+ padding: 5px 0;
281
+ }
282
+ .form-table td fieldset input[type="checkbox"] {
283
+ display: inline-block;
284
+ vertical-align: middle;
285
+ width: 25px;
286
+ }
287
+ .form-table td fieldset label {
288
+ display: inline-block;
289
+ vertical-align: middle;
290
+ width: calc(100% - 40px);
291
+ box-sizing: border-box;
292
+ padding-left: 5px;
293
+ }
294
+ .nav-tab-wrapper {
295
+ position: relative;
296
+ top: -20px;
297
+ border-bottom: 1px solid #CCC!important;
298
+ padding-bottom: 15px!important;
299
+ margin-bottom: 0px!important;
300
+ }
301
+ .nav-tab {
302
+ font-size: 12px;
303
+ margin: 5px 5px 0 0!important;
304
+ box-sizing: border-box;
305
+ text-align: center;
306
+ }
307
+
308
+ /* Scheduling */
309
  .cau_schedule_input {
310
  width: 50px;
311
  }
312
+
313
+ /* Custom buttons */
314
+ .cau-button {
315
+ display: block;
316
+ text-align: center;
317
+ margin: 5px 0;
318
+ }
319
+ .cau-button .dashicons {
320
+ float: left;
321
+ }
322
+
323
+ /* Welcome screen */
324
+ .welcome-to-cau {
325
+ background-position: right bottom;
326
+ }
327
+ .welcome-to-cau.love-bg {
328
+ background-image: none;
329
+ }
330
+ .welcome-to-cau .welcome-column {
331
+ min-width: 100%;
332
  }
333
+ .welcome-to-cau .welcome-column.welcome-column-first {
334
+ padding-left: 0px;
335
+ }
336
+
337
+ /* Dashboard */
338
+ .majorMinorExplain {
339
+ display: none;
340
+ }
341
+ .cau-column-wide {
342
+ width: 100%;
343
+ }
344
+ .cau-column-small {
345
+ display: none;
346
+ }
347
+
348
+ /* Status */
349
+ table.cau_status_list .cau_status_name {
350
+ display: inline-block;
351
+ width: 50%;
352
+ box-sizing: border-box;
353
+ font-weight: 500;
354
+ }
355
+ table.cau_status_list .cau_status_interval {
356
+ display: none;
357
+ }
358
+ table.cau_status_list th.cau_status_next {
359
+ display: none;
360
+ }
361
+ table.cau_status_list td.cau_status_next {
362
+ display: block;
363
+ width: 100%;
364
+ }
365
+ table.cau_status_list .cau_status_active_state {
366
+ display: inline-block;
367
+ width: 50%;
368
+ box-sizing: border-box;
369
+ text-align: right;
370
+ }
371
+ .cau_mobile_prefix {
372
+ display: inline-block;
373
+ padding-right: 5px;
374
+ }
375
+ table.cau_status_list.cau_status_warnings td {
376
+ display: block;
377
+ width: 100%;
378
+ box-sizing: border-box;
379
+ }
380
+ table.cau_status_list.cau_status_warnings th.cau_plugin_issue_explain, table.cau_status_list.cau_status_warnings th.cau_plugin_issue_fixit {
381
+ display: none;
382
+ }
383
+ table.cau_status_list.cau_status_warnings td.cau_plugin_issue_name {
384
+ font-weight: 500;
385
+ }
386
+
387
  }
backend/warningbar.css ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #wpadminbar #wp-admin-bar-cau-has-issues .ab-icon:before {
2
+ /*content: "\f463";*/
3
+ content: "\f332";
4
+ top: 3px;
5
+ }
6
+ #wpadminbar #wp-admin-bar-cau-has-issues .cau-warning-icon {
7
+ font-size: 0!important;
8
+ }
9
+ #wpadminbar #wp-admin-bar-cau-has-issues .cau-warning-icon:after {
10
+ content: "";
11
+ display: inline-block;
12
+ background: #DDD;
13
+ color: transparent;
14
+ width: 13px;
15
+ height: 13px;
16
+ border-radius: 10px;
17
+ position: relative;
18
+ bottom: -2px;
19
+ }
20
+ #wpadminbar #wp-admin-bar-cau-has-issues .cau-warning-icon.cau-level-high:after {
21
+ background: #FF0000;
22
+ }
23
+ #wpadminbar #wp-admin-bar-cau-has-issues .cau-warning-icon.cau-level-low:after {
24
+ background: #FFBA00;
25
+ }
26
+ #wpadminbar #wp-admin-bar-cau-has-issues .cau-warning-title.cau-title-level-high {
27
+ padding-right: 2px;
28
+ }
cau_functions.php CHANGED
@@ -1,5 +1,61 @@
1
  <?php
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  // Run custom hooks on plugin update
4
  function cau_run_custom_hooks_p() {
5
 
1
  <?php
2
 
3
+ // List of incompatible plugins
4
+ function cau_incompatiblePluginlist() {
5
+
6
+ // Pluginlist, write as Plugin path => Issue
7
+ $pluginList = array(
8
+ 'better-wp-security/better-wp-security.php' => 'May block auto-updating for everything.',
9
+ 'updraftplus/updraftplus.php' => 'Does not update automatically, needs to be done manually. Causes no issues with other plugins.'
10
+ );
11
+
12
+ return $pluginList;
13
+
14
+ }
15
+ function cau_incompatiblePlugins() {
16
+
17
+ $return = false;
18
+
19
+ foreach ( cau_incompatiblePluginlist() as $key => $value ) {
20
+ if( is_plugin_active( $key ) ) {
21
+ $return = true;
22
+ }
23
+ }
24
+
25
+ return $return;
26
+
27
+ }
28
+
29
+ // Check if has issues
30
+ function cau_pluginHasIssues() {
31
+
32
+ $return = false;
33
+
34
+ if( cau_incompatiblePlugins() OR get_option( 'blog_public' ) == 0 ) {
35
+ $return = true;
36
+ $level = 'low';
37
+ }
38
+
39
+ if( checkAutomaticUpdaterDisabled() ) {
40
+ $return = true;
41
+ $level = 'high';
42
+ }
43
+
44
+ return $return;
45
+ }
46
+ function cau_pluginIssueLevels() {
47
+
48
+ if( cau_incompatiblePlugins() OR get_option( 'blog_public' ) == 0 ) {
49
+ $level = 'low';
50
+ }
51
+
52
+ if( checkAutomaticUpdaterDisabled() ) {
53
+ $level = 'high';
54
+ }
55
+
56
+ return $level;
57
+ }
58
+
59
  // Run custom hooks on plugin update
60
  function cau_run_custom_hooks_p() {
61
 
companion-auto-update.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Companion Auto Update
4
  * Plugin URI: http://codeermeneer.nl/portfolio/companion-auto-update/
5
  * Description: This plugin auto updates all plugins, all themes and the wordpress core.
6
- * Version: 3.3.2
7
  * Author: Papin Schipper
8
  * Author URI: http://codeermeneer.nl/
9
  * Contributors: papin
@@ -33,6 +33,22 @@ add_action('cau_set_schedule_mail', 'cau_check_updates_mail');
33
  add_action('cau_custom_hooks_plugins', 'cau_run_custom_hooks_p');
34
  add_action('cau_custom_hooks_themes', 'cau_run_custom_hooks_t');
35
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  // Donate url
37
  function cau_donateUrl() {
38
  return 'https://www.paypal.me/dakel/5/';
@@ -149,17 +165,17 @@ function cau_frontend() { ?>
149
  <h1 class="wp-heading-inline"><?php _e('Auto Updater', 'companion-auto-update'); ?></h1>
150
 
151
  <div class='cau_support_buttons'>
152
- <a href="<?php echo cau_donateUrl(); ?>" target="_blank" class="donate-button page-title-action"><?php _e('Donate to help development', 'companion-auto-update'); ?></a>
153
  </div>
154
 
155
  <hr class="wp-header-end">
156
 
157
  <h2 class="nav-tab-wrapper wp-clearfix">
158
- <a href="<?php echo cau_menloc(); ?>?page=cau-settings" class="nav-tab <?php active_tab(''); ?>"><?php _e('Dashboard', 'companion-auto-update'); ?></a>
159
  <a href="<?php echo cau_menloc(); ?>?page=cau-settings&amp;tab=schedule&cau_page=advanced" class="nav-tab <?php active_tab('schedule', 'tab'); ?>"><?php _e('Advanced settings', 'companion-auto-update'); ?></a>
160
  <a href="<?php echo cau_menloc(); ?>?page=cau-settings&amp;tab=pluginlist&cau_page=advanced" class="nav-tab <?php active_tab('pluginlist', 'tab'); ?>"><?php _e('Select plugins', 'companion-auto-update'); ?></a>
161
- <a href="<?php echo cau_menloc(); ?>?page=cau-settings&amp;tab=log&amp;cau_page=system" class="nav-tab <?php active_tab('system', 'cau_page'); ?>"><?php _e('Systeminfo', 'companion-auto-update'); ?></a>
162
- <a href="<?php echo cau_menloc(); ?>?page=cau-settings&amp;tab=support" class="nav-tab <?php active_tab('support'); ?>"><?php _e('Support & Feedback', 'companion-auto-update'); ?></a>
163
  </h2>
164
 
165
  <?php
@@ -169,7 +185,7 @@ function cau_frontend() { ?>
169
 
170
  <ul class="subsubsub">
171
  <li><a class="<?php active_subtab('log'); ?>" href="<?php echo cau_menloc(); ?>?page=cau-settings&amp;tab=log&amp;cau_page=system"><?php _e('Update log', 'companion-auto-update'); ?></a> | </li>
172
- <li><a class="<?php active_subtab('status'); ?>" href="<?php echo cau_menloc(); ?>?page=cau-settings&amp;tab=status&amp;cau_page=system"><?php _e('Status', 'companion-auto-update'); ?></a></li>
173
  </ul>
174
 
175
  <br class="clear" />
@@ -213,7 +229,7 @@ function cau_widget() {
213
  echo '<p>
214
  <a href="'.get_admin_url().''.cau_menloc().'?page=cau-settings&tab=log">'.__('View full changelog', 'companion-auto-update').'</a>
215
  <span class="cau_divide">|</span>
216
- <a href="'.get_admin_url().''.cau_menloc().'?page=cau-settings">'.__('Configure auto updating', 'companion-auto-update').'</a>
217
  </p>';
218
 
219
  }
@@ -225,7 +241,7 @@ function load_cau_sytyles( $hook ) {
225
  wp_enqueue_style( 'cau_admin_styles', plugins_url( 'backend/style.css' , __FILE__ ) );
226
 
227
  }
228
- add_action( 'admin_enqueue_scripts', 'load_cau_sytyles' );
229
 
230
  // Send e-mails
231
  require_once( plugin_dir_path( __FILE__ ) . 'cau_emails.php' );
@@ -233,14 +249,12 @@ require_once( plugin_dir_path( __FILE__ ) . 'cau_emails.php' );
233
  // Add settings link on plugin page
234
  function cau_settings_link( $links ) {
235
 
236
- $settings_link = '<a href="'.get_admin_url().''.cau_menloc().'?page=cau-settings">'.__('Settings', 'companion-auto-update' ).'</a>';
237
- $settings_link2 = '<a href="https://translate.wordpress.org/projects/wp-plugins/companion-auto-update">'.__('Translate', 'companion-auto-update' ).'</a>';
238
- $settings_link3 = '<a href="'.cau_donateUrl().'">'.__('Donate', 'companion-auto-update' ).'</a>';
239
- $settings_link4 = '<a href="http://codeermeneer.nl/cau_poll/">'.__('Feedback', 'companion-auto-update' ).'</a>';
240
 
241
  array_unshift( $links, $settings_link2 );
242
  array_unshift( $links, $settings_link3 );
243
- array_unshift( $links, $settings_link4 );
244
  array_unshift( $links, $settings_link );
245
 
246
  return $links;
@@ -249,24 +263,6 @@ function cau_settings_link( $links ) {
249
  $plugin = plugin_basename(__FILE__);
250
  add_filter( "plugin_action_links_$plugin", "cau_settings_link" );
251
 
252
- // Check for critical errors
253
- function cau_critical_errors() {
254
-
255
- if( checkAutomaticUpdaterDisabled() ) {
256
- return true;
257
- } else {
258
- return false;
259
- }
260
-
261
- }
262
-
263
- // Show the errors
264
- if( cau_critical_errors() ) {
265
- if( is_admin() ) {
266
- echo "<div class='error'><p><strong>".__( 'Critical Error', 'companion-auto-update' )."</strong> &dash; ".__( 'Companion Auto Update ran into a critical error. View the status log for more info.', 'companion-auto-update' )." <a href='".admin_url('tools.php?page=cau-settings&tab=status&cau_page=system')."'>Status log</a></p></div>";
267
- }
268
- }
269
-
270
  // Auto Update Class
271
  class CAU_auto_update {
272
 
@@ -324,10 +320,10 @@ class CAU_auto_update {
324
  }
325
 
326
  // WP Email Config
327
- $configs = $wpdb->get_results( "SELECT * FROM $table_name WHERE name = 'wpemail'");
328
  foreach ( $configs as $config ) {
329
- if( $config->onoroff == 'on' ) add_filter( 'auto_core_update_send_email', '__return_true', 1 ); // Turn on
330
- if( $config->onoroff != 'on' ) add_filter( 'auto_core_update_send_email', '__return_false', 1 ); // Turn off
331
  }
332
 
333
 
@@ -336,4 +332,37 @@ class CAU_auto_update {
336
  }
337
  new CAU_auto_update();
338
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
339
  ?>
3
  * Plugin Name: Companion Auto Update
4
  * Plugin URI: http://codeermeneer.nl/portfolio/companion-auto-update/
5
  * Description: This plugin auto updates all plugins, all themes and the wordpress core.
6
+ * Version: 3.3.3
7
  * Author: Papin Schipper
8
  * Author URI: http://codeermeneer.nl/
9
  * Contributors: papin
33
  add_action('cau_custom_hooks_plugins', 'cau_run_custom_hooks_p');
34
  add_action('cau_custom_hooks_themes', 'cau_run_custom_hooks_t');
35
 
36
+ // Redirect to welcome screen on activation of plugin
37
+ function cau_pluginActivateWelcome() {
38
+ add_option( 'cau_redirectToWelcomeScreen', true );
39
+ }
40
+ register_activation_hook(__FILE__, 'cau_pluginActivateWelcome');
41
+
42
+ function cau_pluginRedirectWelcomeScreen() {
43
+ if ( get_option( 'cau_redirectToWelcomeScreen', false ) ) {
44
+ delete_option( 'cau_redirectToWelcomeScreen' );
45
+ if( !isset( $_GET['activate-multi'] ) ) {
46
+ wp_redirect( admin_url( cau_menloc().'?page=cau-settings&welcome=1' ) );
47
+ }
48
+ }
49
+ }
50
+ add_action('admin_init', 'cau_pluginRedirectWelcomeScreen');
51
+
52
  // Donate url
53
  function cau_donateUrl() {
54
  return 'https://www.paypal.me/dakel/5/';
165
  <h1 class="wp-heading-inline"><?php _e('Auto Updater', 'companion-auto-update'); ?></h1>
166
 
167
  <div class='cau_support_buttons'>
168
+ <a href="<?php echo cau_donateUrl(); ?>" target="_blank" class="donate-button page-title-action cau_hide_on_mobile"><?php _e('Donate to help development', 'companion-auto-update'); ?></a>
169
  </div>
170
 
171
  <hr class="wp-header-end">
172
 
173
  <h2 class="nav-tab-wrapper wp-clearfix">
174
+ <a href="<?php echo cau_menloc(); ?>?page=cau-settings" class="nav-tab <?php active_tab(''); ?>"><?php _e('Dashboard' ); ?></a>
175
  <a href="<?php echo cau_menloc(); ?>?page=cau-settings&amp;tab=schedule&cau_page=advanced" class="nav-tab <?php active_tab('schedule', 'tab'); ?>"><?php _e('Advanced settings', 'companion-auto-update'); ?></a>
176
  <a href="<?php echo cau_menloc(); ?>?page=cau-settings&amp;tab=pluginlist&cau_page=advanced" class="nav-tab <?php active_tab('pluginlist', 'tab'); ?>"><?php _e('Select plugins', 'companion-auto-update'); ?></a>
177
+ <a href="<?php echo cau_menloc(); ?>?page=cau-settings&amp;tab=log&amp;cau_page=system" class="systeminfoTab nav-tab <?php active_tab('system', 'cau_page'); ?>"><?php _e('Systeminfo', 'companion-auto-update'); ?></a>
178
+ <a href="<?php echo cau_menloc(); ?>?page=cau-settings&amp;tab=support" class="nav-tab <?php active_tab('support'); ?>"><?php _e('Support', 'companion-auto-update'); ?></a>
179
  </h2>
180
 
181
  <?php
185
 
186
  <ul class="subsubsub">
187
  <li><a class="<?php active_subtab('log'); ?>" href="<?php echo cau_menloc(); ?>?page=cau-settings&amp;tab=log&amp;cau_page=system"><?php _e('Update log', 'companion-auto-update'); ?></a> | </li>
188
+ <li><a class="systeminfoSubtab <?php active_subtab('status'); ?>" href="<?php echo cau_menloc(); ?>?page=cau-settings&amp;tab=status&amp;cau_page=system"><?php _e('Status', 'companion-auto-update'); ?></a></li>
189
  </ul>
190
 
191
  <br class="clear" />
229
  echo '<p>
230
  <a href="'.get_admin_url().''.cau_menloc().'?page=cau-settings&tab=log">'.__('View full changelog', 'companion-auto-update').'</a>
231
  <span class="cau_divide">|</span>
232
+ <a href="'.get_admin_url().''.cau_menloc().'?page=cau-settings">'.__( 'Settings' ).'</a>
233
  </p>';
234
 
235
  }
241
  wp_enqueue_style( 'cau_admin_styles', plugins_url( 'backend/style.css' , __FILE__ ) );
242
 
243
  }
244
+ add_action( 'admin_enqueue_scripts', 'load_cau_sytyles', 100 );
245
 
246
  // Send e-mails
247
  require_once( plugin_dir_path( __FILE__ ) . 'cau_emails.php' );
249
  // Add settings link on plugin page
250
  function cau_settings_link( $links ) {
251
 
252
+ $settings_link = '<a href="'.get_admin_url().''.cau_menloc().'?page=cau-settings">'.__( 'Settings' ).'</a>';
253
+ $settings_link2 = '<a href="https://translate.wordpress.org/projects/wp-plugins/companion-auto-update">'.__( 'Help us translate', 'companion-auto-update' ).'</a>';
254
+ $settings_link3 = '<a href="'.cau_donateUrl().'">'.__( 'Donate to help development', 'companion-auto-update' ).'</a>';
 
255
 
256
  array_unshift( $links, $settings_link2 );
257
  array_unshift( $links, $settings_link3 );
 
258
  array_unshift( $links, $settings_link );
259
 
260
  return $links;
263
  $plugin = plugin_basename(__FILE__);
264
  add_filter( "plugin_action_links_$plugin", "cau_settings_link" );
265
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
266
  // Auto Update Class
267
  class CAU_auto_update {
268
 
320
  }
321
 
322
  // WP Email Config
323
+ $configs = $wpdb->get_results( "SELECT * FROM $table_name WHERE name = 'wpemails'");
324
  foreach ( $configs as $config ) {
325
+ if( $config->onoroff == 'on' ) add_filter( 'auto_core_update_send_email', '__return_true' ); // Turn on
326
+ if( $config->onoroff != 'on' ) add_filter( 'auto_core_update_send_email', '__return_false' ); // Turn off
327
  }
328
 
329
 
332
  }
333
  new CAU_auto_update();
334
 
335
+ // Check for issues
336
+ function cau_checkForIssues( $admin_bar ) {
337
+
338
+ if( cau_pluginHasIssues() ) {
339
+
340
+ if( cau_pluginIssueLevels() == 'high' ) {
341
+ $cauWaningBarTitle = __( 'Companion Auto Update ran into a critical error. View the status log for more info.', 'companion-auto-update' );
342
+ } else {
343
+ $cauWaningBarTitle = '';
344
+ }
345
+
346
+ $admin_bar->add_menu( array(
347
+ 'id' => 'cau-has-issues',
348
+ 'title' => '<span class="ab-icon"></span><span class="cau-warning-icon cau-level-'.cau_pluginIssueLevels().'">&bull;</span>',
349
+ 'href' => admin_url( cau_menloc().'?page=cau-settings&tab=status&cau_page=system' ),
350
+ 'meta' => array(
351
+ 'target' => '_self',
352
+ 'title' => $cauWaningBarTitle,
353
+ ),
354
+ ));
355
+
356
+ }
357
+
358
+ }
359
+ add_action( 'admin_bar_menu', 'cau_checkForIssues', 150 );
360
+
361
+ function cau_checkForIssuesStyle() {
362
+
363
+ wp_enqueue_style( 'cau_warning_styles', plugins_url( 'backend/warningbar.css' , __FILE__ ) );
364
+
365
+ }
366
+ add_action( 'admin_enqueue_scripts', 'cau_checkForIssuesStyle', 100 );
367
+
368
  ?>
languages/index.php ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Nothing to see here
4
+ */
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.me/dakel/5/
4
  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
5
  Requires at least: 3.5.0
6
  Tested up to: 5.0
7
- Stable tag: 3.3.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -71,9 +71,18 @@ For some reason this plugin seems to have trouble with updating themes by Elegan
71
 
72
  == Changelog ==
73
 
 
 
 
 
 
 
 
 
 
 
74
  = 3.3.2 (December 20, 2018) =
75
  * Global error? No need to contact us anymore, let the plugin fix it for you!
76
- * Some sites still recieved core update emails even when disabled, this should not happen anymore.
77
 
78
  = 3.3.1 (November 15, 2018) =
79
  * Fix: Can't Find constant error
4
  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
5
  Requires at least: 3.5.0
6
  Tested up to: 5.0
7
+ Stable tag: 3.3.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
71
 
72
  == Changelog ==
73
 
74
+ = 3.3.3 (December 22, 2018) =
75
+ * New: Set the time for Core updates
76
+ * New: Welcome screen after plugin activation to help new users find their way
77
+ * New: Warning icon in the top bar when something is wrong
78
+ * Improvement: More logs have been added to the status page
79
+ * Improvement: Redesigned support tab
80
+ * Improvement: We've checked all the text in the plugin and made some changes to make translating this plugin a little bit easier
81
+ * Improvement: The mobile design has been improved big time
82
+ * Fix: Some sites still recieved core update emails even when disabled, this should not happen anymore.
83
+
84
  = 3.3.2 (December 20, 2018) =
85
  * Global error? No need to contact us anymore, let the plugin fix it for you!
 
86
 
87
  = 3.3.1 (November 15, 2018) =
88
  * Fix: Can't Find constant error