Version Description
(March 5, 2020) = * We've had to (temporarily) disable the theme filter because it was causing issues on some installations. We'll try to get it working again in a future update. * We should've fixed an issue where on occasion nothing would update * Made some improvements to the "Fix it" button for the AUTOMATIC_UPDATER_DISABLED error * In version 3.4.6 we've changed to HTML emails rather than plain text, in this version you can opt to change it back to plain text emails * Redesigned dashboard: We've changed the dashboard, moved both the settings page and de support page to the dashboard. Please let us know if you like this change or not.
Download this release
Release Info
Developer | Papin |
Plugin | Companion Auto Update |
Version | 3.5.0 |
Comparing to | |
See all releases |
Code changes from version 3.4.8 to 3.5.0
- admin/dashboard.php +498 -130
- admin/pluginlist.php +6 -0
- admin/schedule.php +18 -0
- admin/status.php +35 -3
- backend/images/email.svg +103 -0
- backend/images/help.svg +60 -0
- backend/images/interval.svg +63 -0
- backend/images/love.svg +93 -191
- backend/images/support.svg +50 -69
- backend/images/update.svg +85 -0
- backend/style.css +86 -32
- cau_emails.php +45 -15
- cau_functions.php +9 -5
- companion-auto-update.php +18 -25
- readme.txt +8 -1
admin/dashboard.php
CHANGED
@@ -1,189 +1,557 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
-
if ( !wp_next_scheduled ( 'cau_set_schedule_mail' ) ) {
|
4 |
-
echo '<div id="message" class="error"><p><b>'.__( 'Companion Auto Update was not able to set the event for sending you emails, please re-activate the plugin in order to set the event', 'companion-auto-update' ).'.</b></p></div>';
|
5 |
}
|
6 |
|
7 |
-
|
8 |
-
|
9 |
-
'.__( 'We need you to update to the latest database version', 'companion-auto-update' ).'. <a href="'.cau_url( 'status' ).'&run=db_update" class="button button-alt" style="background: #FFF;">'.__( 'Run updater now', 'companion-auto-update' ).'</a></p></div>';
|
10 |
-
}
|
11 |
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
13 |
|
14 |
-
|
|
|
15 |
|
16 |
-
|
17 |
-
$table_name = $wpdb->prefix . "auto_updates";
|
18 |
|
19 |
-
|
20 |
-
|
21 |
-
if( isset( $_POST['minor'] ) ) $minor = sanitize_text_field( $_POST['minor'] ); else $minor = '';
|
22 |
-
if( isset( $_POST['major'] ) ) $major = sanitize_text_field( $_POST['major'] ); else $major = '';
|
23 |
-
if( isset( $_POST['translations'] ) ) $translations = sanitize_text_field( $_POST['translations'] ); else $translations = '';
|
24 |
-
if( isset( $_POST['cau_send'] ) ) $send = sanitize_text_field( $_POST['cau_send'] ); else $send = '';
|
25 |
-
if( isset( $_POST['cau_send_update'] ) ) $sendupdate = sanitize_text_field( $_POST['cau_send_update'] ); else $sendupdate = '';
|
26 |
-
if( isset( $_POST['wpemails'] ) ) $wpemails = sanitize_text_field( $_POST['wpemails'] ); else $wpemails = '';
|
27 |
-
$email = sanitize_text_field( $_POST['cau_email'] );
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
$
|
35 |
-
$
|
36 |
-
$
|
37 |
-
$
|
|
|
|
|
|
|
|
|
38 |
|
39 |
-
|
|
|
|
|
40 |
|
41 |
}
|
42 |
|
43 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
|
45 |
-
echo '<div class="welcome-to-cau welcome-bg welcome-panel">
|
46 |
-
<h2>'.__( 'Welcome to Companion Auto Update', 'companion-auto-update' ).'</h2>
|
47 |
-
<div class="welcome-column first-column welcome-column-half">
|
48 |
-
<h3>'.__( 'You\'re set and ready to go', 'companion-auto-update' ).'</h3>
|
49 |
-
<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>
|
50 |
-
</div><div class="welcome-column welcome-column-quarter">
|
51 |
-
<h3>'.__( 'Get Started' ).'</h3>
|
52 |
-
<ul>
|
53 |
-
<li><a href="'.cau_url( 'pluginlist' ).'">'.__( 'Select plugins', 'companion-auto-update' ).'</a></li>
|
54 |
-
<li><a href="'.cau_url( 'schedule' ).'">'.__( 'Advanced settings', 'companion-auto-update' ).'</a></li>
|
55 |
-
</ul>
|
56 |
-
</div><div class="welcome-column welcome-column-quarter">
|
57 |
-
<h3>'.__( 'More Actions' ).'</h3>
|
58 |
-
<ul>
|
59 |
-
<li><a href="http://codeermeneer.nl/cau_poll/" target="_blank">'.__('Give feedback', 'companion-auto-update').'</a></li>
|
60 |
-
<li><a href="https://translate.wordpress.org/projects/wp-plugins/companion-auto-update/" target="_blank">'.__( 'Help us translate', 'companion-auto-update' ).'</a></li>
|
61 |
-
|
62 |
-
</ul>
|
63 |
-
</div>
|
64 |
-
</div>';
|
65 |
}
|
66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
?>
|
68 |
|
69 |
<div class="cau-column-wide">
|
70 |
|
71 |
<form method="POST">
|
72 |
|
73 |
-
|
74 |
-
<
|
75 |
-
<
|
76 |
-
|
77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
|
79 |
-
<?php
|
80 |
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
|
85 |
-
|
86 |
-
if( cau_get_db_value( 'themes' ) == 'on' ) echo 'checked';
|
87 |
-
echo '/> <label for="themes">'.__('Auto update themes?', 'companion-auto-update').'</label></p>';
|
88 |
|
89 |
-
|
90 |
-
|
91 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
-
|
94 |
-
if( cau_get_db_value( 'major' ) == 'on' ) echo 'checked';
|
95 |
-
echo '/> <label for="major">'.__('Auto update major core updates?', 'companion-auto-update').' <code class="majorMinorExplain">5.3.0 > 5.4.0</code></label></p>';
|
96 |
|
97 |
-
|
98 |
-
if( cau_get_db_value( 'translations' ) == 'on' ) echo 'checked';
|
99 |
-
echo '/> <label for="translations">'.__('Auto update translation files?', 'companion-auto-update').'</label></p>';
|
100 |
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
-
|
104 |
-
</td>
|
105 |
-
</tr>
|
106 |
-
</table>
|
107 |
|
108 |
-
|
|
|
|
|
109 |
|
110 |
-
|
111 |
-
<p><?php _e( 'Email notifications are send once a day, you can choose what notifications to send below.', 'companion-auto-update' );?></p>
|
112 |
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
<td>
|
122 |
-
<p>
|
123 |
-
<input id="cau_send" name="cau_send" type="checkbox" <?php if( cau_get_db_value( 'send' ) == 'on' ) { echo 'checked'; } ?> />
|
124 |
-
<label for="cau_send"><?php _e('Send me emails when an update is available.', 'companion-auto-update');?></label>
|
125 |
-
</p>
|
126 |
-
</td>
|
127 |
-
</tr>
|
128 |
-
<tr>
|
129 |
-
<th scope="row"><?php _e( 'Successful update', 'companion-auto-update' );?></th>
|
130 |
-
<td>
|
131 |
-
<p>
|
132 |
-
<input id="cau_send_update" name="cau_send_update" type="checkbox" <?php if( cau_get_db_value( 'sendupdate' ) == 'on' ) { echo 'checked'; } ?> />
|
133 |
-
<label for="cau_send_update"><?php _e('Send me emails when something has been updated.', 'companion-auto-update');?></label>
|
134 |
-
</p>
|
135 |
-
</td>
|
136 |
-
</tr>
|
137 |
-
<tr>
|
138 |
-
<th scope="row"><?php _e( 'Email Address' );?></th>
|
139 |
-
<td>
|
140 |
<p>
|
141 |
-
<
|
142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
|
145 |
-
|
146 |
-
</td>
|
147 |
-
</tr>
|
148 |
-
</table>
|
149 |
|
150 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
|
152 |
-
|
153 |
-
<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>
|
154 |
|
155 |
-
|
156 |
-
<tr>
|
157 |
-
<th scope="row"><?php _e('Core notifications', 'companion-auto-update');?></th>
|
158 |
-
<td>
|
159 |
<p>
|
160 |
-
<
|
161 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
</p>
|
163 |
-
|
164 |
-
|
165 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
|
167 |
-
|
168 |
|
169 |
-
|
|
|
170 |
|
171 |
</form>
|
172 |
|
173 |
</div><div class="cau-column-small">
|
174 |
|
175 |
-
<div class="welcome-to-cau
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
<h3><?php _e( 'Like our plugin?', 'companion-auto-update' ); ?></h3>
|
177 |
<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>
|
178 |
-
<a href="https://wordpress.org/support/plugin/companion-auto-update/reviews/#new-post" target="_blank" class="
|
179 |
-
<span class="dashicons dashicons-star-filled"></span>
|
180 |
<?php _e('Rate us (5 stars?)', 'companion-auto-update'); ?>
|
181 |
</a>
|
182 |
-
<a href="<?php echo cau_donateUrl(); ?>" target="_blank" class="
|
183 |
-
<span class="dashicons dashicons-heart"></span>
|
184 |
<?php _e('Donate to help development', 'companion-auto-update'); ?>
|
185 |
</a>
|
186 |
<p style="font-size: 12px; color: #BDBDBD;">Donations via PayPal. Amount can be changed.</p>
|
187 |
</div>
|
188 |
|
189 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
+
if ( !wp_next_scheduled ( 'cau_set_schedule_mail' ) ) {
|
3 |
+
echo '<div id="message" class="error"><p><b>'.__( 'Companion Auto Update was not able to set the event for sending you emails, please re-activate the plugin in order to set the event', 'companion-auto-update' ).'.</b></p></div>';
|
4 |
+
}
|
5 |
+
|
6 |
+
if ( cau_incorrectDatabaseVersion() ) {
|
7 |
+
echo '<div id="message" class="error"><p><b>'.__( 'Companion Auto Update Database Update', 'companion-auto-update' ).' –</b>
|
8 |
+
'.__( 'We need you to update to the latest database version', 'companion-auto-update' ).'. <a href="'.cau_url( 'status' ).'&run=db_update" class="button button-alt" style="background: #FFF;">'.__( 'Run updater now', 'companion-auto-update' ).'</a></p></div>';
|
9 |
+
}
|
10 |
+
|
11 |
+
if( isset( $_POST['submit'] ) ) {
|
12 |
+
|
13 |
+
check_admin_referer( 'cau_save_settings' );
|
14 |
+
|
15 |
+
global $wpdb;
|
16 |
+
$table_name = $wpdb->prefix . "auto_updates";
|
17 |
+
|
18 |
+
// Auto updater
|
19 |
+
if( isset( $_POST['plugins'] ) ) $plugins = sanitize_text_field( $_POST['plugins'] ); else $plugins = '';
|
20 |
+
if( isset( $_POST['themes'] ) ) $themes = sanitize_text_field( $_POST['themes'] ); else $themes = '';
|
21 |
+
if( isset( $_POST['minor'] ) ) $minor = sanitize_text_field( $_POST['minor'] ); else $minor = '';
|
22 |
+
if( isset( $_POST['major'] ) ) $major = sanitize_text_field( $_POST['major'] ); else $major = '';
|
23 |
+
if( isset( $_POST['translations'] ) ) $translations = sanitize_text_field( $_POST['translations'] ); else $translations = '';
|
24 |
+
|
25 |
+
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'plugins'", $plugins ) );
|
26 |
+
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'themes'", $themes ) );
|
27 |
+
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'minor'", $minor ) );
|
28 |
+
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'major'", $major ) );
|
29 |
+
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'translations'", $translations ) );
|
30 |
+
|
31 |
+
// Emails
|
32 |
+
if( isset( $_POST['cau_send'] ) ) $send = sanitize_text_field( $_POST['cau_send'] ); else $send = '';
|
33 |
+
if( isset( $_POST['cau_send_update'] ) ) $sendupdate = sanitize_text_field( $_POST['cau_send_update'] ); else $sendupdate = '';
|
34 |
+
if( isset( $_POST['wpemails'] ) ) $wpemails = sanitize_text_field( $_POST['wpemails'] ); else $wpemails = '';
|
35 |
+
if( isset( $_POST['cau_email'] ) ) $email = sanitize_text_field( $_POST['cau_email'] );
|
36 |
+
if( isset( $_POST['html_or_text'] ) ) $html_or_text = sanitize_text_field( $_POST['html_or_text'] );
|
37 |
+
|
38 |
+
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'email'", $email ) );
|
39 |
+
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'send'", $send ) );
|
40 |
+
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'sendupdate'", $sendupdate ) );
|
41 |
+
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'wpemails'", $wpemails ) );
|
42 |
+
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'html_or_text'", $html_or_text ) );
|
43 |
+
|
44 |
+
// Intervals
|
45 |
+
|
46 |
+
// Set variables
|
47 |
+
$plugin_sc = sanitize_text_field( $_POST['plugin_schedule'] );
|
48 |
+
$theme_sc = sanitize_text_field( $_POST['theme_schedule'] );
|
49 |
+
$core_sc = sanitize_text_field( $_POST['core_schedule'] );
|
50 |
+
$schedule_mail = sanitize_text_field( $_POST['schedule_mail'] );
|
51 |
+
$html_or_text = sanitize_text_field( $_POST['html_or_text'] );
|
52 |
+
|
53 |
+
// First clear schedules
|
54 |
+
wp_clear_scheduled_hook('wp_update_plugins');
|
55 |
+
wp_clear_scheduled_hook('wp_update_themes');
|
56 |
+
wp_clear_scheduled_hook('wp_version_check');
|
57 |
+
wp_clear_scheduled_hook('cau_set_schedule_mail');
|
58 |
+
wp_clear_scheduled_hook('cau_custom_hooks_plugins');
|
59 |
+
wp_clear_scheduled_hook('cau_custom_hooks_themes');
|
60 |
+
|
61 |
+
// Then set the new times
|
62 |
+
|
63 |
+
// Plugins
|
64 |
+
if( $plugin_sc == 'daily' ) {
|
65 |
+
|
66 |
+
$date = date( 'Y-m-d' );
|
67 |
+
$hours = sanitize_text_field( $_POST['pluginScheduleTimeH'] );
|
68 |
+
$minutes = sanitize_text_field( $_POST['pluginScheduleTimeM'] );
|
69 |
+
$seconds = date( 's' );
|
70 |
+
$fullDate = $date.' '.$hours.':'.$minutes.':'.$seconds;
|
71 |
+
$pluginSetTime = strtotime( $fullDate );
|
72 |
+
|
73 |
+
wp_schedule_event( $pluginSetTime, $plugin_sc, 'wp_update_plugins' );
|
74 |
+
wp_schedule_event( $pluginSetTime, $plugin_sc, 'cau_custom_hooks_plugins' );
|
75 |
+
|
76 |
+
} else {
|
77 |
+
|
78 |
+
wp_schedule_event( time(), $plugin_sc, 'wp_update_plugins' );
|
79 |
+
wp_schedule_event( time(), $plugin_sc, 'cau_custom_hooks_plugins' );
|
80 |
|
|
|
|
|
81 |
}
|
82 |
|
83 |
+
// Themes
|
84 |
+
if( $theme_sc == 'daily' ) {
|
|
|
|
|
85 |
|
86 |
+
$dateT = date( 'Y-m-d' );
|
87 |
+
$hoursT = sanitize_text_field( $_POST['ThemeScheduleTimeH'] );
|
88 |
+
$minutesT = sanitize_text_field( $_POST['ThemeScheduleTimeM'] );
|
89 |
+
$secondsT = date( 's' );
|
90 |
+
$fullDateT = $dateT.' '.$hoursT.':'.$minutesT.':'.$secondsT;
|
91 |
+
$themeSetTime = strtotime( $fullDateT );
|
92 |
|
93 |
+
wp_schedule_event( $themeSetTime, $theme_sc, 'wp_update_themes' );
|
94 |
+
wp_schedule_event( $themeSetTime, $theme_sc, 'cau_custom_hooks_themes' );
|
95 |
|
96 |
+
} else {
|
|
|
97 |
|
98 |
+
wp_schedule_event( time(), $theme_sc, 'wp_update_themes' );
|
99 |
+
wp_schedule_event( time(), $theme_sc, 'cau_custom_hooks_themes' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
|
101 |
+
}
|
102 |
+
|
103 |
+
// Core
|
104 |
+
if( $core_sc == 'daily' ) {
|
105 |
+
|
106 |
+
$dateC = date( 'Y-m-d' );
|
107 |
+
$hoursC = sanitize_text_field( $_POST['CoreScheduleTimeH'] );
|
108 |
+
$minutesC = sanitize_text_field( $_POST['CoreScheduleTimeM'] );
|
109 |
+
$secondsC = date( 's' );
|
110 |
+
$fullDateC = $dateC.' '.$hoursC.':'.$minutesC.':'.$secondsC;
|
111 |
+
$coreSetTime = strtotime( $fullDateC );
|
112 |
+
|
113 |
+
wp_schedule_event( $coreSetTime, $core_sc, 'wp_version_check' );
|
114 |
|
115 |
+
} else {
|
116 |
+
|
117 |
+
wp_schedule_event( time(), $core_sc, 'wp_version_check' );
|
118 |
|
119 |
}
|
120 |
|
121 |
+
// Emails
|
122 |
+
if( $schedule_mail == 'daily' ) {
|
123 |
+
|
124 |
+
$dateT = date( 'Y-m-d' );
|
125 |
+
$hoursT = sanitize_text_field( $_POST['timeScheduleEmailTimeH'] );
|
126 |
+
$minutesT = sanitize_text_field( $_POST['timeScheduleEmailTimeM'] );
|
127 |
+
$secondsT = date( 's' );
|
128 |
+
$fullDateT = $dateT.' '.$hoursT.':'.$minutesT.':'.$secondsT;
|
129 |
+
$emailSetTime = strtotime( $fullDateT );
|
130 |
+
|
131 |
+
wp_schedule_event( $emailSetTime, $schedule_mail, 'cau_set_schedule_mail' );
|
132 |
+
|
133 |
+
} else {
|
134 |
+
|
135 |
+
wp_schedule_event( time(), $schedule_mail, 'cau_set_schedule_mail' );
|
136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
}
|
138 |
|
139 |
+
echo '<div id="message" class="updated"><p><b>'.__( 'Settings saved.' ).'</b></p></div>';
|
140 |
+
|
141 |
+
}
|
142 |
+
|
143 |
+
if( isset( $_GET['welcome'] ) ) {
|
144 |
+
|
145 |
+
echo '<div class="welcome-to-cau welcome-bg welcome-panel">
|
146 |
+
<h2>'.__( 'Welcome to Companion Auto Update', 'companion-auto-update' ).'</h2>
|
147 |
+
<div class="welcome-column first-column welcome-column-half">
|
148 |
+
<h3>'.__( 'You\'re set and ready to go', 'companion-auto-update' ).'</h3>
|
149 |
+
<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>
|
150 |
+
</div><div class="welcome-column welcome-column-quarter">
|
151 |
+
<h3>'.__( 'Get Started' ).'</h3>
|
152 |
+
<ul>
|
153 |
+
<li><a href="'.cau_url( 'pluginlist' ).'">'.__( 'Select plugins', 'companion-auto-update' ).'</a></li>
|
154 |
+
<li><a href="'.cau_url( 'schedule' ).'">'.__( 'Advanced settings', 'companion-auto-update' ).'</a></li>
|
155 |
+
</ul>
|
156 |
+
</div><div class="welcome-column welcome-column-quarter">
|
157 |
+
<h3>'.__( 'More Actions' ).'</h3>
|
158 |
+
<ul>
|
159 |
+
<li><a href="http://codeermeneer.nl/cau_poll/" target="_blank">'.__('Give feedback', 'companion-auto-update').'</a></li>
|
160 |
+
<li><a href="https://translate.wordpress.org/projects/wp-plugins/companion-auto-update/" target="_blank">'.__( 'Help us translate', 'companion-auto-update' ).'</a></li>
|
161 |
+
|
162 |
+
</ul>
|
163 |
+
</div>
|
164 |
+
</div>';
|
165 |
+
}
|
166 |
+
|
167 |
+
$plugin_schedule = wp_get_schedule( 'wp_update_plugins' );
|
168 |
+
$theme_schedule = wp_get_schedule( 'wp_update_themes' );
|
169 |
+
$core_schedule = wp_get_schedule( 'wp_version_check' );
|
170 |
+
$schedule_mail = wp_get_schedule( 'cau_set_schedule_mail' );
|
171 |
+
$cs_hooks_p = wp_get_schedule( 'cau_custom_hooks_plugins' );
|
172 |
+
$cs_hooks_t = wp_get_schedule( 'cau_custom_hooks_themes' );
|
173 |
+
$availableIntervals = wp_get_schedules();
|
174 |
+
|
175 |
?>
|
176 |
|
177 |
<div class="cau-column-wide">
|
178 |
|
179 |
<form method="POST">
|
180 |
|
181 |
+
<br />
|
182 |
+
<div id="message" class="cau">
|
183 |
+
<strong>Got a moment?</strong> <a href="https://forms.gle/B5MMJKk8teGQH8pcA" target="_blank" class="tell_me_more">Please tell me if you like the redesigned dashboard.</a>
|
184 |
+
</div>
|
185 |
+
|
186 |
+
<div class="welcome-to-cau update-bg welcome-panel cau-dashboard-box">
|
187 |
+
|
188 |
+
<h2 class="title"><?php _e('Auto Updater', 'companion-auto-update');?></h2>
|
189 |
+
|
190 |
+
<table class="form-table">
|
191 |
+
<tr>
|
192 |
+
<td>
|
193 |
+
<fieldset>
|
194 |
+
|
195 |
+
<?php
|
196 |
+
|
197 |
+
echo '<p><input id="plugins" name="plugins" type="checkbox"';
|
198 |
+
if( cau_get_db_value( 'plugins' ) == 'on' ) echo 'checked';
|
199 |
+
echo '/> <label for="plugins">'.__('Auto update plugins?', 'companion-auto-update').'</label></p>';
|
200 |
+
|
201 |
+
echo '<p><input id="themes" name="themes" type="checkbox"';
|
202 |
+
if( cau_get_db_value( 'themes' ) == 'on' ) echo 'checked';
|
203 |
+
echo '/> <label for="themes">'.__('Auto update themes?', 'companion-auto-update').'</label></p>';
|
204 |
+
|
205 |
+
echo '<p><input id="minor" name="minor" type="checkbox"';
|
206 |
+
if( cau_get_db_value( 'minor' ) == 'on' ) echo 'checked';
|
207 |
+
echo '/> <label for="minor">'.__('Auto update minor core updates?', 'companion-auto-update').' <code class="majorMinorExplain">5.3.0 > 5.3.1</code></label></p>';
|
208 |
+
|
209 |
+
echo '<p><input id="major" name="major" type="checkbox"';
|
210 |
+
if( cau_get_db_value( 'major' ) == 'on' ) echo 'checked';
|
211 |
+
echo '/> <label for="major">'.__('Auto update major core updates?', 'companion-auto-update').' <code class="majorMinorExplain">5.3.0 > 5.4.0</code></label></p>';
|
212 |
+
|
213 |
+
echo '<p><input id="translations" name="translations" type="checkbox"';
|
214 |
+
if( cau_get_db_value( 'translations' ) == 'on' ) echo 'checked';
|
215 |
+
echo '/> <label for="translations">'.__('Auto update translation files?', 'companion-auto-update').'</label></p>';
|
216 |
+
|
217 |
+
?>
|
218 |
+
|
219 |
+
</fieldset>
|
220 |
+
</td>
|
221 |
+
</tr>
|
222 |
+
</table>
|
223 |
+
|
224 |
+
</div>
|
225 |
+
|
226 |
+
<div class="welcome-to-cau email-bg welcome-panel cau-dashboard-box">
|
227 |
+
|
228 |
+
<h2 class="title"><?php _e( 'Email Notifications', 'companion-auto-update' );?></h2>
|
229 |
+
|
230 |
+
<?php
|
231 |
+
if( cau_get_db_value( 'email' ) == '' ) $toemail = get_option('admin_email');
|
232 |
+
else $toemail = cau_get_db_value( 'email' );
|
233 |
+
?>
|
234 |
+
|
235 |
+
<table class="form-table">
|
236 |
+
<tr>
|
237 |
+
<th scope="row"><?php _e( 'Update available', 'companion-auto-update' );?></th>
|
238 |
+
<td>
|
239 |
+
<p>
|
240 |
+
<input id="cau_send" name="cau_send" type="checkbox" <?php if( cau_get_db_value( 'send' ) == 'on' ) { echo 'checked'; } ?> />
|
241 |
+
<label for="cau_send"><?php _e('Send me emails when an update is available.', 'companion-auto-update');?></label>
|
242 |
+
</p>
|
243 |
+
</td>
|
244 |
+
</tr>
|
245 |
+
<tr>
|
246 |
+
<th scope="row"><?php _e( 'Successful update', 'companion-auto-update' );?></th>
|
247 |
+
<td>
|
248 |
+
<p>
|
249 |
+
<input id="cau_send_update" name="cau_send_update" type="checkbox" <?php if( cau_get_db_value( 'sendupdate' ) == 'on' ) { echo 'checked'; } ?> />
|
250 |
+
<label for="cau_send_update"><?php _e('Send me emails when something has been updated.', 'companion-auto-update');?></label>
|
251 |
+
</p>
|
252 |
+
</td>
|
253 |
+
</tr>
|
254 |
+
<tr>
|
255 |
+
<th scope="row"><?php _e( 'Email Address' );?></th>
|
256 |
+
<td>
|
257 |
+
<p>
|
258 |
+
<label for="cau_email"><?php _e('To', 'companion-auto-update');?>:</label>
|
259 |
+
<input type="text" name="cau_email" id="cau_email" class="regular-text" placeholder="<?php echo get_option('admin_email'); ?>" value="<?php echo esc_html( $toemail ); ?>" />
|
260 |
+
</p>
|
261 |
+
|
262 |
+
<p class="description"><?php _e('Seperate email addresses using commas.', 'companion-auto-update');?></p>
|
263 |
+
</td>
|
264 |
+
</tr>
|
265 |
+
<tr>
|
266 |
+
<th scope="row"><?php _e( 'Use HTML in emails?', 'companion-auto-update' );?></th>
|
267 |
+
<td>
|
268 |
+
<p>
|
269 |
+
<select id='html_or_text' name='html_or_text'>
|
270 |
+
<option value='html' <?php if( cau_get_db_value( 'html_or_text' ) == 'html' ) { echo "SELECTED"; } ?>><?php _e( 'Use HTML', 'companion-auto-update' ); ?></option>
|
271 |
+
<option value='text' <?php if( cau_get_db_value( 'html_or_text' ) == 'text' ) { echo "SELECTED"; } ?>><?php _e( 'Use plain text', 'companion-auto-update' ); ?></option>
|
272 |
+
</select>
|
273 |
+
</p>
|
274 |
+
</td>
|
275 |
+
</tr>
|
276 |
+
<tr>
|
277 |
+
<th scope="row">
|
278 |
+
<?php _e('Core notifications', 'companion-auto-update');?>
|
279 |
+
<span class='cau_tooltip'><span class="dashicons dashicons-editor-help"></span>
|
280 |
+
<span class='cau_tooltip_text'><?php _e('Core notifications are handled by WordPress and not by this plugin. You can only disable them, changing your email address in the settings above will not affect these notifications.', 'companion-auto-update');?></span>
|
281 |
+
</span>
|
282 |
+
</th>
|
283 |
+
<td>
|
284 |
+
<p>
|
285 |
+
<input id="wpemails" name="wpemails" type="checkbox" <?php if( cau_get_db_value( 'wpemails' ) == 'on' ) { echo 'checked'; } ?> />
|
286 |
+
<label for="wpemails"><?php _e( 'By default WordPress sends an email when a core update has occurred. Uncheck this box to disable these emails.', 'companion-auto-update' );?></label>
|
287 |
+
</p>
|
288 |
+
</td>
|
289 |
+
</tr>
|
290 |
+
</table>
|
291 |
+
|
292 |
+
</div>
|
293 |
+
|
294 |
+
<div class="welcome-to-cau interval-bg welcome-panel cau-dashboard-box" style="overflow: hidden;">
|
295 |
+
|
296 |
+
<h2 class="title"><?php _e('Intervals', 'companion-auto-update');?></h2>
|
297 |
+
|
298 |
+
<div class="welcome-column welcome-column-quarter">
|
299 |
+
|
300 |
+
<h4><?php _e( 'Plugin update interval', 'companion-auto-update' );?></h4>
|
301 |
+
<p>
|
302 |
+
<select name='plugin_schedule' id='plugin_schedule' class='schedule_interval wide'>
|
303 |
+
<?php foreach ( $availableIntervals as $key => $value ) {
|
304 |
+
foreach ( $value as $display => $interval ) {
|
305 |
+
if( $display == 'display' ) {
|
306 |
+
echo "<option "; if( $plugin_schedule == $key ) { echo "selected "; } echo "value='".$key."'>".$interval."</option>";
|
307 |
+
}
|
308 |
+
}
|
309 |
+
} ?>
|
310 |
+
</select>
|
311 |
+
</p>
|
312 |
+
<div class='timeSchedulePlugins' <?php if( $plugin_schedule != 'daily' ) { echo "style='display: none;'"; } ?> >
|
313 |
|
314 |
+
<?php
|
315 |
|
316 |
+
$setTimePlugins = wp_next_scheduled( 'wp_update_plugins' );
|
317 |
+
$setTimePluginsHour = date( 'H' , $setTimePlugins );
|
318 |
+
$setTimePluginsMin = date( 'i' , $setTimePlugins );
|
319 |
|
320 |
+
?>
|
|
|
|
|
321 |
|
322 |
+
<div class='cau_schedule_input'>
|
323 |
+
<input type='number' max='23' name='pluginScheduleTimeH' value='<?php echo $setTimePluginsHour; ?>' maxlength='2' >
|
324 |
+
</div><div class='cau_schedule_input_div'>
|
325 |
+
:
|
326 |
+
</div><div class='cau_schedule_input'>
|
327 |
+
<input type='number' max='59' name='pluginScheduleTimeM' value='<?php echo $setTimePluginsMin; ?>' maxlength='2' >
|
328 |
+
</div><div class='cau_shedule_notation'>
|
329 |
+
<span class='cau_tooltip'><span class="dashicons dashicons-editor-help"></span>
|
330 |
+
<span class='cau_tooltip_text'><?php _e('At what time should the updater run? Only works when set to <u>daily</u>.', 'companion-auto-update'); ?> - <?php _e( 'Time notation: 24H', 'companion-auto-update'); ?></span>
|
331 |
+
</span>
|
332 |
+
</div>
|
333 |
|
334 |
+
</div>
|
|
|
|
|
335 |
|
336 |
+
</div><div class="welcome-column welcome-column-quarter">
|
|
|
|
|
337 |
|
338 |
+
<h4><?php _e( 'Theme update interval', 'companion-auto-update' );?></h4>
|
339 |
+
<p>
|
340 |
+
<select name='theme_schedule' id='theme_schedule' class='schedule_interval wide'>
|
341 |
+
<?php foreach ( $availableIntervals as $key => $value ) {
|
342 |
+
foreach ( $value as $display => $interval ) {
|
343 |
+
if( $display == 'display' ) {
|
344 |
+
echo "<option "; if( $theme_schedule == $key ) { echo "selected "; } echo "value='".$key."'>".$interval."</option>";
|
345 |
+
}
|
346 |
+
}
|
347 |
+
} ?>
|
348 |
+
</select>
|
349 |
+
</p>
|
350 |
+
<div class='timeScheduleThemes' <?php if( $theme_schedule != 'daily' ) { echo "style='display: none;'"; } ?> >
|
351 |
|
352 |
+
<?php
|
|
|
|
|
|
|
353 |
|
354 |
+
$setTimeThemes = wp_next_scheduled( 'wp_update_themes' );
|
355 |
+
$setTimeThemesHour = date( 'H' , $setTimeThemes );
|
356 |
+
$setTimeThemesMins = date( 'i' , $setTimeThemes );
|
357 |
|
358 |
+
?>
|
|
|
359 |
|
360 |
+
<div class='cau_schedule_input'>
|
361 |
+
<input type='number' max='23' name='ThemeScheduleTimeH' value='<?php echo $setTimeThemesHour; ?>' maxlength='2' >
|
362 |
+
</div><div class='cau_schedule_input_div'>
|
363 |
+
:
|
364 |
+
</div><div class='cau_schedule_input'>
|
365 |
+
<input type='number' max='59' name='ThemeScheduleTimeM' value='<?php echo $setTimeThemesMins; ?>' maxlength='2' >
|
366 |
+
</div><div class='cau_shedule_notation'>
|
367 |
+
<span class='cau_tooltip'><span class="dashicons dashicons-editor-help"></span>
|
368 |
+
<span class='cau_tooltip_text'><?php _e('At what time should the updater run? Only works when set to <u>daily</u>.', 'companion-auto-update'); ?> - <?php _e( 'Time notation: 24H', 'companion-auto-update'); ?></span>
|
369 |
+
</span>
|
370 |
+
</div>
|
371 |
+
</div>
|
372 |
|
373 |
+
</div><div class="welcome-column welcome-column-quarter">
|
374 |
+
|
375 |
+
<h4><?php _e( 'Core update interval', 'companion-auto-update' );?></h4>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
376 |
<p>
|
377 |
+
<select name='core_schedule' id='core_schedule' class='schedule_interval wide'>
|
378 |
+
<?php foreach ( $availableIntervals as $key => $value ) {
|
379 |
+
foreach ( $value as $display => $interval ) {
|
380 |
+
if( $display == 'display' ) {
|
381 |
+
echo "<option "; if( $core_schedule == $key ) { echo "selected "; } echo "value='".$key."'>".$interval."</option>";
|
382 |
+
}
|
383 |
+
}
|
384 |
+
} ?>
|
385 |
+
</select>
|
386 |
</p>
|
387 |
+
<div class='timeScheduleCore' <?php if( $core_schedule != 'daily' ) { echo "style='display: none;'"; } ?> >
|
388 |
+
|
389 |
+
<?php
|
390 |
+
|
391 |
+
$setTimeCore = wp_next_scheduled( 'wp_version_check' );
|
392 |
+
$setTimeCoreHour = date( 'H' , $setTimeCore );
|
393 |
+
$setTimeCoreMins = date( 'i' , $setTimeCore );
|
394 |
|
395 |
+
?>
|
|
|
|
|
|
|
396 |
|
397 |
+
<div class='cau_schedule_input'>
|
398 |
+
<input type='number' max='23' name='CoreScheduleTimeH' value='<?php echo $setTimeCoreHour; ?>' maxlength='2' >
|
399 |
+
</div><div class='cau_schedule_input_div'>
|
400 |
+
:
|
401 |
+
</div><div class='cau_schedule_input'>
|
402 |
+
<input type='number' max='59' name='CoreScheduleTimeM' value='<?php echo $setTimeCoreMins; ?>' maxlength='2' >
|
403 |
+
</div><div class='cau_shedule_notation'>
|
404 |
+
<span class='cau_tooltip'><span class="dashicons dashicons-editor-help"></span>
|
405 |
+
<span class='cau_tooltip_text'><?php _e('At what time should the updater run? Only works when set to <u>daily</u>.', 'companion-auto-update'); ?> - <?php _e( 'Time notation: 24H', 'companion-auto-update'); ?></span>
|
406 |
+
</span>
|
407 |
+
</div>
|
408 |
+
</div>
|
409 |
|
410 |
+
</div><div class="welcome-column welcome-column-quarter">
|
|
|
411 |
|
412 |
+
<h4><?php _e( 'Email Notifications', 'companion-auto-update' );?></h4>
|
|
|
|
|
|
|
413 |
<p>
|
414 |
+
<select id='schedule_mail' name='schedule_mail'>
|
415 |
+
<?php foreach ( $availableIntervals as $key => $value ) {
|
416 |
+
foreach ( $value as $display => $interval ) {
|
417 |
+
if( $display == 'display' ) {
|
418 |
+
echo "<option "; if( $schedule_mail == $key ) { echo "selected "; } echo "value='".$key."'>".$interval."</option>";
|
419 |
+
}
|
420 |
+
}
|
421 |
+
} ?>
|
422 |
+
</select>
|
423 |
</p>
|
424 |
+
<div class='timeScheduleEmail' <?php if( $schedule_mail != 'daily' ) { echo "style='display: none;'"; } ?> >
|
425 |
+
|
426 |
+
<?php
|
427 |
+
|
428 |
+
$setTimeEmails = wp_next_scheduled( 'cau_set_schedule_mail' );
|
429 |
+
$setTimeEmailHour = date( 'H' , $setTimeEmails );
|
430 |
+
$setTimeEmailMins = date( 'i' , $setTimeEmails );
|
431 |
+
|
432 |
+
?>
|
433 |
+
|
434 |
+
<div class='cau_schedule_input'>
|
435 |
+
<input type='number' max='23' name='timeScheduleEmailTimeH' value='<?php echo $setTimeEmailHour; ?>' maxlength='2' >
|
436 |
+
</div><div class='cau_schedule_input_div'>
|
437 |
+
:
|
438 |
+
</div><div class='cau_schedule_input'>
|
439 |
+
<input type='number' max='59' name='timeScheduleEmailTimeM' value='<?php echo $setTimeEmailMins; ?>' maxlength='2' >
|
440 |
+
</div><div class='cau_shedule_notation'>
|
441 |
+
<span class='cau_tooltip'><span class="dashicons dashicons-editor-help"></span>
|
442 |
+
<span class='cau_tooltip_text'><?php _e( 'Time notation: 24H', 'companion-auto-update'); ?></span>
|
443 |
+
</span>
|
444 |
+
</div>
|
445 |
+
</div>
|
446 |
+
|
447 |
+
</div>
|
448 |
|
449 |
+
</div>
|
450 |
|
451 |
+
<?php wp_nonce_field( 'cau_save_settings' ); ?>
|
452 |
+
<?php submit_button(); ?>
|
453 |
|
454 |
</form>
|
455 |
|
456 |
</div><div class="cau-column-small">
|
457 |
|
458 |
+
<div class="welcome-to-cau help-bg welcome-panel cau-dashboard-box">
|
459 |
+
<div class="welcome-column welcome-column.welcome-column-half">
|
460 |
+
<h3><?php _e( 'Help' ); ?></h3>
|
461 |
+
<ul>
|
462 |
+
<li><a href="https://codeermeneer.nl/stuffs/faq-auto-updater/" target="_blank"><?php _e( 'Frequently Asked Questions', 'companion-auto-update' ); ?></a></li>
|
463 |
+
<li><a href="https://wordpress.org/support/plugin/companion-auto-update" target="_blank"><?php _e( 'Support Forums' ); ?></a></li>
|
464 |
+
<li><a href="<?php echo cau_url( 'status' ); ?>"><?php _e( 'Status', 'companion-auto-update' ); ?></a></li>
|
465 |
+
</ul>
|
466 |
+
<br />
|
467 |
+
|
468 |
+
<h3><?php _e( 'Want to contribute?', 'companion-auto-update' ); ?></h3>
|
469 |
+
<ul>
|
470 |
+
<li><a href="http://codeermeneer.nl/cau_poll/" target="_blank"><?php _e( 'Give feedback', 'companion-auto-update' ); ?></a></li>
|
471 |
+
<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>
|
472 |
+
</ul>
|
473 |
+
</div>
|
474 |
+
<div class="welcome-column welcome-column.welcome-column-half">
|
475 |
+
<h3><?php _e( 'Developer?', 'companion-auto-update' ); ?></h3>
|
476 |
+
<ul>
|
477 |
+
<li><a href="https://codeermeneer.nl/documentation/auto-update/" target="_blank"><?php _e( 'Documentation' ); ?></a></li>
|
478 |
+
</ul>
|
479 |
+
</div>
|
480 |
+
</div>
|
481 |
+
|
482 |
+
<div class="welcome-to-cau support-bg welcome-panel cau-dashboard-box">
|
483 |
+
<div class="welcome-column welcome-column">
|
484 |
+
<h3><?php _e('Support', 'companion-auto-update');?></h3>
|
485 |
+
<p><?php _e('Feel free to reach out to us if you have any questions or feedback.', 'companion-auto-update'); ?></p>
|
486 |
+
<p><a href="https://codeermeneer.nl/contact/" target="_blank" class="button button-primary"><?php _e( 'Contact us', 'companion-auto-update' ); ?></a></p>
|
487 |
+
<p><a href="https://codeermeneer.nl/plugins/" target="_blank" class="button button-alt"><?php _e('Check out our other plugins', 'companion-auto-update');?></a></p>
|
488 |
+
</div><div class="welcome-column welcome-column-half">
|
489 |
+
|
490 |
+
</div>
|
491 |
+
</div>
|
492 |
+
|
493 |
+
<div class="welcome-to-cau love-bg cau-show-love welcome-panel cau-dashboard-box">
|
494 |
<h3><?php _e( 'Like our plugin?', 'companion-auto-update' ); ?></h3>
|
495 |
<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>
|
496 |
+
<a href="https://wordpress.org/support/plugin/companion-auto-update/reviews/#new-post" target="_blank" class="button button-alt button-hero">
|
|
|
497 |
<?php _e('Rate us (5 stars?)', 'companion-auto-update'); ?>
|
498 |
</a>
|
499 |
+
<a href="<?php echo cau_donateUrl(); ?>" target="_blank" class="button button-primary button-hero">
|
|
|
500 |
<?php _e('Donate to help development', 'companion-auto-update'); ?>
|
501 |
</a>
|
502 |
<p style="font-size: 12px; color: #BDBDBD;">Donations via PayPal. Amount can be changed.</p>
|
503 |
</div>
|
504 |
|
505 |
</div>
|
506 |
+
|
507 |
+
<script type="text/javascript">
|
508 |
+
|
509 |
+
jQuery( '#plugin_schedule' ).change( function() {
|
510 |
+
|
511 |
+
var selected = jQuery(this).val();
|
512 |
+
|
513 |
+
if( selected == 'daily' ) {
|
514 |
+
jQuery('.timeSchedulePlugins').show();
|
515 |
+
} else {
|
516 |
+
jQuery('.timeSchedulePlugins').hide();
|
517 |
+
}
|
518 |
+
|
519 |
+
});
|
520 |
+
|
521 |
+
jQuery( '#theme_schedule' ).change( function() {
|
522 |
+
|
523 |
+
var selected = jQuery(this).val();
|
524 |
+
|
525 |
+
if( selected == 'daily' ) {
|
526 |
+
jQuery('.timeScheduleThemes').show();
|
527 |
+
} else {
|
528 |
+
jQuery('.timeScheduleThemes').hide();
|
529 |
+
}
|
530 |
+
|
531 |
+
});
|
532 |
+
|
533 |
+
jQuery( '#core_schedule' ).change( function() {
|
534 |
+
|
535 |
+
var selected = jQuery(this).val();
|
536 |
+
|
537 |
+
if( selected == 'daily' ) {
|
538 |
+
jQuery('.timeScheduleCore').show();
|
539 |
+
} else {
|
540 |
+
jQuery('.timeScheduleCore').hide();
|
541 |
+
}
|
542 |
+
|
543 |
+
});
|
544 |
+
|
545 |
+
jQuery( '#schedule_mail' ).change( function() {
|
546 |
+
|
547 |
+
var selected = jQuery(this).val();
|
548 |
+
|
549 |
+
if( selected == 'daily' ) {
|
550 |
+
jQuery('.timeScheduleEmail').show();
|
551 |
+
} else {
|
552 |
+
jQuery('.timeScheduleEmail').hide();
|
553 |
+
}
|
554 |
+
|
555 |
+
});
|
556 |
+
|
557 |
+
</script>
|
admin/pluginlist.php
CHANGED
@@ -35,6 +35,12 @@ switch ( $filter ) {
|
|
35 |
|
36 |
<div style='clear: both;'></div>
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
<p><?php echo sprintf( esc_html__( 'Prevent certain %s from updating automatically. %s that you select here will be skipped by Companion Auto Update and will require manual updating.', 'companion-auto-update' ), strtolower( $filter_name ), $filter_name ); ?></p>
|
39 |
|
40 |
<?php
|
35 |
|
36 |
<div style='clear: both;'></div>
|
37 |
|
38 |
+
<?php if( $filter == 'themes' ) { ?>
|
39 |
+
<div id="message" class="cau">
|
40 |
+
We've had to (temporarily) disable the theme filter because it was causing issues on some installations. We'll try to get it working again in a future update.
|
41 |
+
</div>
|
42 |
+
<?php } ?>
|
43 |
+
|
44 |
<p><?php echo sprintf( esc_html__( 'Prevent certain %s from updating automatically. %s that you select here will be skipped by Companion Auto Update and will require manual updating.', 'companion-auto-update' ), strtolower( $filter_name ), $filter_name ); ?></p>
|
45 |
|
46 |
<?php
|
admin/schedule.php
CHANGED
@@ -4,11 +4,15 @@ if( isset( $_POST['submit'] ) ) {
|
|
4 |
|
5 |
check_admin_referer( 'cau_save_schedule' );
|
6 |
|
|
|
|
|
|
|
7 |
// Set variables
|
8 |
$plugin_sc = sanitize_text_field( $_POST['plugin_schedule'] );
|
9 |
$theme_sc = sanitize_text_field( $_POST['theme_schedule'] );
|
10 |
$core_sc = sanitize_text_field( $_POST['core_schedule'] );
|
11 |
$schedule_mail = sanitize_text_field( $_POST['schedule_mail'] );
|
|
|
12 |
|
13 |
// First clear schedules
|
14 |
wp_clear_scheduled_hook('wp_update_plugins');
|
@@ -96,6 +100,9 @@ if( isset( $_POST['submit'] ) ) {
|
|
96 |
|
97 |
}
|
98 |
|
|
|
|
|
|
|
99 |
echo '<div id="message" class="updated"><p>'.__( 'Settings saved.' ).'</p></div>';
|
100 |
|
101 |
}
|
@@ -280,6 +287,17 @@ $availableIntervals = wp_get_schedules();
|
|
280 |
</div>
|
281 |
</td>
|
282 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
283 |
<tr>
|
284 |
<th scope="row"><?php _e( 'Disable Notifications', 'companion-auto-update' );?></th>
|
285 |
<td>
|
4 |
|
5 |
check_admin_referer( 'cau_save_schedule' );
|
6 |
|
7 |
+
global $wpdb;
|
8 |
+
$table_name = $wpdb->prefix . "auto_updates";
|
9 |
+
|
10 |
// Set variables
|
11 |
$plugin_sc = sanitize_text_field( $_POST['plugin_schedule'] );
|
12 |
$theme_sc = sanitize_text_field( $_POST['theme_schedule'] );
|
13 |
$core_sc = sanitize_text_field( $_POST['core_schedule'] );
|
14 |
$schedule_mail = sanitize_text_field( $_POST['schedule_mail'] );
|
15 |
+
$html_or_text = sanitize_text_field( $_POST['html_or_text'] );
|
16 |
|
17 |
// First clear schedules
|
18 |
wp_clear_scheduled_hook('wp_update_plugins');
|
100 |
|
101 |
}
|
102 |
|
103 |
+
// Use HTML or TEXT
|
104 |
+
$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = %s WHERE name = 'html_or_text'", $html_or_text ) );
|
105 |
+
|
106 |
echo '<div id="message" class="updated"><p>'.__( 'Settings saved.' ).'</p></div>';
|
107 |
|
108 |
}
|
287 |
</div>
|
288 |
</td>
|
289 |
</tr>
|
290 |
+
<tr>
|
291 |
+
<th scope="row"><?php _e( 'Use HTML in emails?', 'companion-auto-update' );?></th>
|
292 |
+
<td>
|
293 |
+
<p>
|
294 |
+
<select id='html_or_text' name='html_or_text'>
|
295 |
+
<option value='html' <?php if( cau_get_db_value( 'html_or_text' ) == 'html' ) { echo "SELECTED"; } ?>><?php _e( 'Use HTML', 'companion-auto-update' ); ?></option>
|
296 |
+
<option value='text' <?php if( cau_get_db_value( 'html_or_text' ) == 'text' ) { echo "SELECTED"; } ?>><?php _e( 'Use plain text', 'companion-auto-update' ); ?></option>
|
297 |
+
</select>
|
298 |
+
</p>
|
299 |
+
</td>
|
300 |
+
</tr>
|
301 |
<tr>
|
302 |
<th scope="row"><?php _e( 'Disable Notifications', 'companion-auto-update' );?></th>
|
303 |
<td>
|
admin/status.php
CHANGED
@@ -344,10 +344,12 @@ function cau_removeErrorLine() {
|
|
344 |
|
345 |
// Lines to check and replace
|
346 |
$revLine = "define('AUTOMATIC_UPDATER_DISABLED', false);"; // We could just remove the line, but replacing it will be safer
|
347 |
-
$
|
|
|
|
|
348 |
|
349 |
// Check for each string if it exists
|
350 |
-
foreach ( $
|
351 |
|
352 |
if( strpos( file_get_contents( $conFile ), $string ) !== false) {
|
353 |
$contents = file_get_contents( $conFile );
|
@@ -425,4 +427,34 @@ if( cau_incompatiblePlugins() ) { ?>
|
|
425 |
|
426 |
</table>
|
427 |
|
428 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
|
345 |
// Lines to check and replace
|
346 |
$revLine = "define('AUTOMATIC_UPDATER_DISABLED', false);"; // We could just remove the line, but replacing it will be safer
|
347 |
+
$posibleLines = array( "define( 'AUTOMATIC_UPDATER_DISABLED', true );", "define( 'AUTOMATIC_UPDATER_DISABLED', minor );" ); // The two base options
|
348 |
+
foreach ( $posibleLines as $value ) array_push( $posibleLines, strtolower( $value ) ); // Support lowercase variants
|
349 |
+
foreach ( $posibleLines as $value ) array_push( $posibleLines, str_replace( ' ', '', $value ) ); // For variants without spaces
|
350 |
|
351 |
// Check for each string if it exists
|
352 |
+
foreach ( $posibleLines as $key => $string ) {
|
353 |
|
354 |
if( strpos( file_get_contents( $conFile ), $string ) !== false) {
|
355 |
$contents = file_get_contents( $conFile );
|
427 |
|
428 |
</table>
|
429 |
|
430 |
+
<table class="autoupdate cau_status_list widefat striped cau_status_warnings">
|
431 |
+
|
432 |
+
<thead>
|
433 |
+
<tr>
|
434 |
+
<th><strong><?php _e( 'Advanced info', 'companion-auto-update' ); ?></strong> ‐ <?php _e( 'For when you need our help fixing an issue.', 'companion-auto-update' ); ?></th>
|
435 |
+
</tr>
|
436 |
+
</thead>
|
437 |
+
<tbody id="the-list">
|
438 |
+
<tr>
|
439 |
+
<td>
|
440 |
+
<div class='button button-primary toggle_advanced_button'>Toggle</div>
|
441 |
+
|
442 |
+
<div class='toggle_advanced_content' style='display: none;'>
|
443 |
+
<?php
|
444 |
+
global $wpdb;
|
445 |
+
$autoupdates = $wpdb->prefix."auto_updates";
|
446 |
+
$cau_configs = $wpdb->get_results( "SELECT * FROM $autoupdates" );
|
447 |
+
|
448 |
+
echo "<pre>";
|
449 |
+
print_r( $cau_configs );
|
450 |
+
echo "</pre>";
|
451 |
+
?>
|
452 |
+
</div>
|
453 |
+
</td>
|
454 |
+
</tr>
|
455 |
+
</tbody>
|
456 |
+
</table>
|
457 |
+
|
458 |
+
</div>
|
459 |
+
|
460 |
+
<script>jQuery( '.toggle_advanced_button' ).click( function() { jQuery( '.toggle_advanced_content' ).toggle(); });</script>
|
backend/images/email.svg
ADDED
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 512 512"
|
17 |
+
style="enable-background:new 0 0 512 512;"
|
18 |
+
xml:space="preserve"
|
19 |
+
sodipodi:docname="email.svg"
|
20 |
+
inkscape:version="0.92.0 r15299"><metadata
|
21 |
+
id="metadata53"><rdf:RDF><cc:Work
|
22 |
+
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
23 |
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
24 |
+
id="defs51" /><sodipodi:namedview
|
25 |
+
pagecolor="#ffffff"
|
26 |
+
bordercolor="#666666"
|
27 |
+
borderopacity="1"
|
28 |
+
objecttolerance="10"
|
29 |
+
gridtolerance="10"
|
30 |
+
guidetolerance="10"
|
31 |
+
inkscape:pageopacity="0"
|
32 |
+
inkscape:pageshadow="2"
|
33 |
+
inkscape:window-width="2560"
|
34 |
+
inkscape:window-height="1017"
|
35 |
+
id="namedview49"
|
36 |
+
showgrid="false"
|
37 |
+
inkscape:zoom="0.65186406"
|
38 |
+
inkscape:cx="-69.611734"
|
39 |
+
inkscape:cy="47.71336"
|
40 |
+
inkscape:window-x="1912"
|
41 |
+
inkscape:window-y="-8"
|
42 |
+
inkscape:window-maximized="1"
|
43 |
+
inkscape:current-layer="Capa_1" /><path
|
44 |
+
style="fill:#ded1f2;fill-opacity:1;stroke-width:1.27565181;stroke:none"
|
45 |
+
d="M 71.046797,255.0733 385.53069,455.21797 c 3.59223,2.65335 7.8376,3.95962 12.08297,3.95962 4.24537,0 8.49074,-1.30627 12.08297,-3.95962 L 724.18052,255.0733 409.85992,14.23025 c -7.26612,-5.429174 -17.2264,-5.429174 -24.49252,0 z"
|
46 |
+
id="path2"
|
47 |
+
inkscape:connector-curvature="0" /><path
|
48 |
+
style="fill:#eceff1;stroke-width:1.27565181"
|
49 |
+
d="M 601.71795,70.148164 H 193.50937 c -22.49229,0 -40.82086,18.328565 -40.82086,40.820856 v 449.02943 c 0,11.26656 9.14388,20.41043 20.41043,20.41043 h 449.02944 c 11.26655,0 20.41042,-9.14387 20.41042,-20.41043 V 110.96902 c 0,-22.492291 -18.28774,-40.820856 -40.82085,-40.820856 z"
|
50 |
+
id="path4"
|
51 |
+
inkscape:connector-curvature="0" /><g
|
52 |
+
id="g12"
|
53 |
+
transform="matrix(1.2756518,0,0,1.2756518,71.046797,70.148164)"><path
|
54 |
+
style="fill:#90a4ae"
|
55 |
+
d="m 144,96 h 224 c 8.832,0 16,-7.168 16,-16 0,-8.832 -7.168,-16 -16,-16 H 144 c -8.832,0 -16,7.168 -16,16 0,8.832 7.168,16 16,16 z"
|
56 |
+
id="path6"
|
57 |
+
inkscape:connector-curvature="0" /><path
|
58 |
+
style="fill:#90a4ae"
|
59 |
+
d="M 368,128 H 144 c -8.832,0 -16,7.168 -16,16 0,8.832 7.168,16 16,16 h 224 c 8.832,0 16,-7.168 16,-16 0,-8.832 -7.168,-16 -16,-16 z"
|
60 |
+
id="path8"
|
61 |
+
inkscape:connector-curvature="0" /><path
|
62 |
+
style="fill:#90a4ae"
|
63 |
+
d="M 272,192 H 144 c -8.832,0 -16,7.168 -16,16 0,8.832 7.168,16 16,16 h 128 c 8.832,0 16,-7.168 16,-16 0,-8.832 -7.168,-16 -16,-16 z"
|
64 |
+
id="path10"
|
65 |
+
inkscape:connector-curvature="0" /></g><path
|
66 |
+
style="fill:#9178b7;fill-opacity:1;stroke-width:1.27565181;stroke:none"
|
67 |
+
d="m 409.69663,455.21797 c -3.59223,2.65335 -7.8376,3.95962 -12.08297,3.95962 -4.24537,0 -8.49074,-1.30627 -12.08297,-3.95962 L 71.046797,255.0733 v 367.38772 c 0,22.53312 18.287744,40.82086 40.820853,40.82086 h 571.49201 c 22.53312,0 40.82086,-18.28774 40.82086,-40.82086 V 255.0733 Z"
|
68 |
+
id="path14"
|
69 |
+
inkscape:connector-curvature="0" /><path
|
70 |
+
style="fill:#9163b7;fill-opacity:1;stroke-width:1.27565181;stroke:none"
|
71 |
+
d="M 683.35966,663.28188 H 111.86765 c -22.900497,0 -40.820853,-17.92036 -40.820853,-40.82086 0,-6.49051 3.102385,-12.61364 8.327455,-16.4508 L 385.53069,401.90593 c 3.59223,-2.65336 7.8376,-3.95962 12.08297,-3.95962 4.24537,0 8.49074,1.30626 12.08297,3.95962 l 306.15643,204.10429 c 5.22507,3.83716 8.32746,9.96029 8.32746,16.4508 0,22.9005 -17.92036,40.82086 -40.82086,40.82086 z"
|
72 |
+
id="path16"
|
73 |
+
inkscape:connector-curvature="0" /><g
|
74 |
+
id="g18"
|
75 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
76 |
+
id="g20"
|
77 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
78 |
+
id="g22"
|
79 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
80 |
+
id="g24"
|
81 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
82 |
+
id="g26"
|
83 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
84 |
+
id="g28"
|
85 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
86 |
+
id="g30"
|
87 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
88 |
+
id="g32"
|
89 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
90 |
+
id="g34"
|
91 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
92 |
+
id="g36"
|
93 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
94 |
+
id="g38"
|
95 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
96 |
+
id="g40"
|
97 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
98 |
+
id="g42"
|
99 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
100 |
+
id="g44"
|
101 |
+
transform="translate(-30.372882,-28.20339)" /><g
|
102 |
+
id="g46"
|
103 |
+
transform="translate(-30.372882,-28.20339)" /></svg>
|
backend/images/help.svg
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2 |
+
<svg
|
3 |
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
4 |
+
xmlns:cc="http://creativecommons.org/ns#"
|
5 |
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
6 |
+
xmlns:svg="http://www.w3.org/2000/svg"
|
7 |
+
xmlns="http://www.w3.org/2000/svg"
|
8 |
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
9 |
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
10 |
+
height="512pt"
|
11 |
+
viewBox="0 0 512 512"
|
12 |
+
width="512pt"
|
13 |
+
version="1.1"
|
14 |
+
id="svg6"
|
15 |
+
sodipodi:docname="help.svg"
|
16 |
+
inkscape:version="0.92.0 r15299">
|
17 |
+
<metadata
|
18 |
+
id="metadata12">
|
19 |
+
<rdf:RDF>
|
20 |
+
<cc:Work
|
21 |
+
rdf:about="">
|
22 |
+
<dc:format>image/svg+xml</dc:format>
|
23 |
+
<dc:type
|
24 |
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
25 |
+
</cc:Work>
|
26 |
+
</rdf:RDF>
|
27 |
+
</metadata>
|
28 |
+
<defs
|
29 |
+
id="defs10" />
|
30 |
+
<sodipodi:namedview
|
31 |
+
pagecolor="#ffffff"
|
32 |
+
bordercolor="#666666"
|
33 |
+
borderopacity="1"
|
34 |
+
objecttolerance="10"
|
35 |
+
gridtolerance="10"
|
36 |
+
guidetolerance="10"
|
37 |
+
inkscape:pageopacity="0"
|
38 |
+
inkscape:pageshadow="2"
|
39 |
+
inkscape:window-width="1920"
|
40 |
+
inkscape:window-height="1017"
|
41 |
+
id="namedview8"
|
42 |
+
showgrid="false"
|
43 |
+
inkscape:zoom="0.69140625"
|
44 |
+
inkscape:cx="367.70267"
|
45 |
+
inkscape:cy="151.29307"
|
46 |
+
inkscape:window-x="-8"
|
47 |
+
inkscape:window-y="-8"
|
48 |
+
inkscape:window-maximized="1"
|
49 |
+
inkscape:current-layer="svg6" />
|
50 |
+
<path
|
51 |
+
d="m 494.10169,605.28813 h -320 c -53.02344,0 -95.999997,-42.97656 -95.999997,-96 v -320 c 0,-53.02344 42.976557,-95.999997 95.999997,-95.999997 h 320 c 53.02344,0 96,42.976557 96,95.999997 v 320 c 0,53.02344 -42.97656,96 -96,96 z m 0,0"
|
52 |
+
id="path2"
|
53 |
+
style="fill:#ded1f2;fill-opacity:1"
|
54 |
+
inkscape:connector-curvature="0" />
|
55 |
+
<path
|
56 |
+
d="m 334.10169,221.28813 c -70.57422,0 -128,57.42578 -128,128 0,70.57422 57.42578,128 128,128 70.57422,0 128,-57.42578 128,-128 0,-70.57422 -57.42578,-128 -128,-128 z m 56,138.67188 h -45.32812 v 45.32812 c 0,5.88672 -4.78516,10.67188 -10.67188,10.67188 -5.88672,0 -10.67187,-4.78516 -10.67187,-10.67188 v -45.32812 h -45.32813 c -5.88672,0 -10.67187,-4.78516 -10.67187,-10.67188 0,-5.88672 4.78515,-10.67187 10.67187,-10.67187 h 45.32813 v -45.32813 c 0,-5.88672 4.78515,-10.67187 10.67187,-10.67187 5.88672,0 10.67188,4.78515 10.67188,10.67187 v 45.32813 h 45.32812 c 5.88672,0 10.67188,4.78515 10.67188,10.67187 0,5.88672 -4.78516,10.67188 -10.67188,10.67188 z m 0,0"
|
57 |
+
id="path4"
|
58 |
+
style="fill:#9178b7;fill-opacity:1"
|
59 |
+
inkscape:connector-curvature="0" />
|
60 |
+
</svg>
|
backend/images/interval.svg
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 512 512"
|
17 |
+
style="enable-background:new 0 0 512 512;"
|
18 |
+
xml:space="preserve"
|
19 |
+
width="512"
|
20 |
+
height="512"
|
21 |
+
sodipodi:docname="interval.svg"
|
22 |
+
inkscape:version="0.92.0 r15299"><metadata
|
23 |
+
id="metadata39"><rdf:RDF><cc:Work
|
24 |
+
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
25 |
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
26 |
+
id="defs37" /><sodipodi:namedview
|
27 |
+
pagecolor="#ffffff"
|
28 |
+
bordercolor="#666666"
|
29 |
+
borderopacity="1"
|
30 |
+
objecttolerance="10"
|
31 |
+
gridtolerance="10"
|
32 |
+
guidetolerance="10"
|
33 |
+
inkscape:pageopacity="0"
|
34 |
+
inkscape:pageshadow="2"
|
35 |
+
inkscape:window-width="1920"
|
36 |
+
inkscape:window-height="1017"
|
37 |
+
id="namedview35"
|
38 |
+
showgrid="false"
|
39 |
+
inkscape:zoom="0.92187498"
|
40 |
+
inkscape:cx="442.11152"
|
41 |
+
inkscape:cy="41.039266"
|
42 |
+
inkscape:window-x="-8"
|
43 |
+
inkscape:window-y="-8"
|
44 |
+
inkscape:window-maximized="1"
|
45 |
+
inkscape:current-layer="g32" /><g
|
46 |
+
id="g32"><circle
|
47 |
+
cx="388.33899"
|
48 |
+
cy="373.15256"
|
49 |
+
r="326.50848"
|
50 |
+
id="circle2"
|
51 |
+
style="fill:#9178b7;fill-opacity:1;stroke-width:1.27542377" /><path
|
52 |
+
d="m 388.33899,124.4449 c -137.13356,0 -248.70763,111.57407 -248.70763,248.70763 0,137.13356 111.57407,249.98305 248.70763,249.98305 137.13356,0 248.70763,-112.84949 248.70763,-249.98305 0,-137.13356 -111.57407,-248.70763 -248.70763,-248.70763 z"
|
53 |
+
id="path6"
|
54 |
+
inkscape:connector-curvature="0"
|
55 |
+
style="fill:#eceff1;fill-opacity:1;stroke-width:1.27542377" /><path
|
56 |
+
d="m 388.33899,200.97033 c -10.57454,0 -19.13136,8.55682 -19.13136,19.13135 v 191.31356 c 0,10.57454 8.55682,19.13136 19.13136,19.13136 10.57454,0 19.13135,-8.55682 19.13135,-19.13136 V 220.10168 c 0,-10.57453 -8.55681,-19.13135 -19.13135,-19.13135 z"
|
57 |
+
id="path10"
|
58 |
+
inkscape:connector-curvature="0"
|
59 |
+
style="fill:#90a4ae;fill-opacity:1;stroke-width:1.27542377" /><path
|
60 |
+
d="M 503.12712,354.02118 H 388.33899 350.07628 c -10.57454,0 -19.13136,8.55681 -19.13136,19.13135 0,10.57454 8.55682,19.13136 19.13136,19.13136 h 38.26271 114.78813 c 10.57454,0 19.13136,-8.55682 19.13136,-19.13136 0,-10.57454 -8.55682,-19.13135 -19.13136,-19.13135 z"
|
61 |
+
id="path14"
|
62 |
+
inkscape:connector-curvature="0"
|
63 |
+
style="fill:#90a4ae;fill-opacity:1;stroke-width:1.27542377" /></g></svg>
|
backend/images/love.svg
CHANGED
@@ -1,6 +1,4 @@
|
|
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#"
|
@@ -9,20 +7,28 @@
|
|
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 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
pagecolor="#ffffff"
|
27 |
bordercolor="#666666"
|
28 |
borderopacity="1"
|
@@ -33,184 +39,80 @@
|
|
33 |
inkscape:pageshadow="2"
|
34 |
inkscape:window-width="1920"
|
35 |
inkscape:window-height="1017"
|
36 |
-
id="
|
37 |
showgrid="false"
|
38 |
-
inkscape:zoom="
|
39 |
-
inkscape:cx="
|
40 |
-
inkscape:cy="
|
41 |
inkscape:window-x="-8"
|
42 |
inkscape:window-y="-8"
|
43 |
inkscape:window-maximized="1"
|
44 |
-
inkscape:current-layer="
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
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>
|
1 |
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
|
|
|
2 |
<svg
|
3 |
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
4 |
xmlns:cc="http://creativecommons.org/ns#"
|
7 |
xmlns="http://www.w3.org/2000/svg"
|
8 |
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
9 |
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
10 |
+
id="Capa_1"
|
11 |
+
enable-background="new 0 0 512 512"
|
12 |
+
height="512"
|
13 |
+
viewBox="0 0 512 512"
|
14 |
+
width="512"
|
15 |
version="1.1"
|
|
|
|
|
|
|
|
|
|
|
16 |
sodipodi:docname="love.svg"
|
17 |
+
inkscape:version="0.92.0 r15299">
|
18 |
+
<metadata
|
19 |
+
id="metadata97">
|
20 |
+
<rdf:RDF>
|
21 |
+
<cc:Work
|
22 |
+
rdf:about="">
|
23 |
+
<dc:format>image/svg+xml</dc:format>
|
24 |
+
<dc:type
|
25 |
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
26 |
+
</cc:Work>
|
27 |
+
</rdf:RDF>
|
28 |
+
</metadata>
|
29 |
+
<defs
|
30 |
+
id="defs95" />
|
31 |
+
<sodipodi:namedview
|
32 |
pagecolor="#ffffff"
|
33 |
bordercolor="#666666"
|
34 |
borderopacity="1"
|
39 |
inkscape:pageshadow="2"
|
40 |
inkscape:window-width="1920"
|
41 |
inkscape:window-height="1017"
|
42 |
+
id="namedview93"
|
43 |
showgrid="false"
|
44 |
+
inkscape:zoom="0.921875"
|
45 |
+
inkscape:cx="212.80055"
|
46 |
+
inkscape:cy="224.02504"
|
47 |
inkscape:window-x="-8"
|
48 |
inkscape:window-y="-8"
|
49 |
inkscape:window-maximized="1"
|
50 |
+
inkscape:current-layer="g52" />
|
51 |
+
<g
|
52 |
+
id="g90">
|
53 |
+
<g
|
54 |
+
id="g88"
|
55 |
+
transform="matrix(1.941682,0,0,1.941682,-258.91443,105.22034)">
|
56 |
+
<g
|
57 |
+
id="g52"
|
58 |
+
style="fill:#eceff1;fill-opacity:1">
|
59 |
+
<path
|
60 |
+
d="m 182.795,15.986 v 165.382 c 0,8.829 7.157,15.986 15.986,15.986 h 20.359 c 2.854,0 5.364,1.885 6.16,4.626 l 11.126,38.317 c 1.404,4.836 7.578,6.242 10.938,2.491 l 38.788,-43.3 c 1.217,-1.358 2.954,-2.134 4.778,-2.134 h 192.658 c 8.829,0 15.986,-7.157 15.986,-15.986 V 15.986 C 499.573,7.157 492.416,0 483.587,0 H 198.781 c -8.829,0 -15.986,7.157 -15.986,15.986 z"
|
61 |
+
id="path50"
|
62 |
+
inkscape:connector-curvature="0"
|
63 |
+
style="fill:#eceff1;fill-opacity:1" />
|
64 |
+
</g>
|
65 |
+
<g
|
66 |
+
id="g56"
|
67 |
+
style="fill:#eceff1;fill-opacity:1">
|
68 |
+
<path
|
69 |
+
d="m 499.569,15.987 v 165.379 c 0,8.835 -7.152,15.987 -15.987,15.987 H 462.94 c 8.835,0 15.987,-7.152 15.987,-15.987 V 15.987 C 478.927,7.153 471.775,0 462.94,0 h 20.641 c 8.835,0 15.988,7.153 15.988,15.987 z"
|
70 |
+
id="path54"
|
71 |
+
inkscape:connector-curvature="0"
|
72 |
+
style="fill:#eceff1;fill-opacity:1" />
|
73 |
+
</g>
|
74 |
+
<g
|
75 |
+
id="g64"
|
76 |
+
style="fill:#9178b7;fill-opacity:1">
|
77 |
+
<path
|
78 |
+
d="m 256.62,39.06 6.423,13.015 c 0.54,1.095 1.585,1.854 2.794,2.03 l 14.363,2.087 c 3.043,0.442 4.259,4.182 2.056,6.329 l -10.393,10.131 c -0.875,0.852 -1.274,2.081 -1.067,3.284 l 2.453,14.305 c 0.52,3.031 -2.662,5.343 -5.384,3.911 l -12.847,-6.754 c -1.081,-0.568 -2.372,-0.568 -3.453,0 l -12.847,6.754 c -2.722,1.431 -5.904,-0.88 -5.384,-3.911 l 2.453,-14.305 c 0.206,-1.204 -0.193,-2.432 -1.067,-3.284 L 224.327,62.521 c -2.202,-2.147 -0.987,-5.887 2.056,-6.329 l 14.363,-2.087 c 1.209,-0.176 2.253,-0.935 2.794,-2.03 l 6.423,-13.015 c 1.364,-2.758 5.296,-2.758 6.657,0 z"
|
79 |
+
id="path58"
|
80 |
+
inkscape:connector-curvature="0"
|
81 |
+
style="fill:#9178b7;fill-opacity:1" />
|
82 |
+
<path
|
83 |
+
d="m 344.511,39.06 6.423,13.015 c 0.54,1.095 1.585,1.854 2.794,2.03 l 14.363,2.087 c 3.043,0.442 4.259,4.182 2.056,6.329 l -10.393,10.131 c -0.875,0.852 -1.274,2.081 -1.067,3.284 l 2.453,14.305 c 0.52,3.031 -2.662,5.343 -5.384,3.911 l -12.847,-6.754 c -1.081,-0.568 -2.372,-0.568 -3.453,0 l -12.847,6.754 c -2.722,1.431 -5.904,-0.88 -5.384,-3.911 l 2.453,-14.305 c 0.206,-1.204 -0.193,-2.432 -1.067,-3.284 L 312.22,62.521 c -2.202,-2.147 -0.987,-5.887 2.056,-6.329 l 14.363,-2.087 c 1.209,-0.176 2.253,-0.935 2.794,-2.03 l 6.423,-13.015 c 1.362,-2.758 5.294,-2.758 6.655,0 z"
|
84 |
+
id="path60"
|
85 |
+
inkscape:connector-curvature="0"
|
86 |
+
style="fill:#9178b7;fill-opacity:1" />
|
87 |
+
<path
|
88 |
+
d="m 432.402,39.06 6.423,13.015 c 0.54,1.095 1.585,1.854 2.794,2.03 l 14.363,2.087 c 3.043,0.442 4.259,4.182 2.056,6.329 l -10.393,10.131 c -0.874,0.852 -1.274,2.081 -1.067,3.284 l 2.453,14.305 c 0.52,3.031 -2.662,5.343 -5.384,3.911 L 430.8,87.398 c -1.081,-0.568 -2.372,-0.568 -3.453,0 L 414.5,94.152 c -2.722,1.431 -5.904,-0.88 -5.384,-3.911 l 2.453,-14.305 c 0.206,-1.204 -0.193,-2.432 -1.067,-3.284 L 400.109,62.521 c -2.202,-2.147 -0.987,-5.887 2.056,-6.329 l 14.363,-2.087 c 1.209,-0.176 2.253,-0.935 2.794,-2.03 l 6.423,-13.015 c 1.363,-2.758 5.296,-2.758 6.657,0 z"
|
89 |
+
id="path62"
|
90 |
+
inkscape:connector-curvature="0"
|
91 |
+
style="fill:#9178b7;fill-opacity:1" />
|
92 |
+
</g>
|
93 |
+
<g
|
94 |
+
id="g76" />
|
95 |
+
<g
|
96 |
+
id="g86">
|
97 |
+
<g
|
98 |
+
id="g80"
|
99 |
+
style="fill:#90a4ae;fill-opacity:1">
|
100 |
+
<path
|
101 |
+
d="M 459.163,137.933 H 220.989 c -4.142,0 -7.5,-3.358 -7.5,-7.5 0,-4.142 3.358,-7.5 7.5,-7.5 h 238.174 c 4.142,0 7.5,3.358 7.5,7.5 0,4.142 -3.358,7.5 -7.5,7.5 z"
|
102 |
+
id="path78"
|
103 |
+
inkscape:connector-curvature="0"
|
104 |
+
style="fill:#90a4ae;fill-opacity:1" />
|
105 |
+
</g>
|
106 |
+
<g
|
107 |
+
id="g84"
|
108 |
+
style="fill:#90a4ae;fill-opacity:1;stroke:none;stroke-opacity:1">
|
109 |
+
<path
|
110 |
+
d="M 340.076,167.863 H 220.989 c -4.142,0 -7.5,-3.358 -7.5,-7.5 0,-4.142 3.358,-7.5 7.5,-7.5 h 119.087 c 4.142,0 7.5,3.358 7.5,7.5 0,4.142 -3.358,7.5 -7.5,7.5 z"
|
111 |
+
id="path82"
|
112 |
+
inkscape:connector-curvature="0"
|
113 |
+
style="fill:#90a4ae;fill-opacity:1;stroke:none;stroke-opacity:1" />
|
114 |
+
</g>
|
115 |
+
</g>
|
116 |
+
</g>
|
117 |
+
</g>
|
118 |
+
</svg>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
backend/images/support.svg
CHANGED
@@ -13,16 +13,15 @@
|
|
13 |
id="Capa_1"
|
14 |
x="0px"
|
15 |
y="0px"
|
16 |
-
viewBox="0 0
|
|
|
17 |
xml:space="preserve"
|
18 |
sodipodi:docname="support.svg"
|
19 |
-
inkscape:version="0.92.0 r15299"
|
20 |
-
|
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"
|
25 |
-
id="
|
26 |
pagecolor="#ffffff"
|
27 |
bordercolor="#666666"
|
28 |
borderopacity="1"
|
@@ -31,85 +30,67 @@
|
|
31 |
guidetolerance="10"
|
32 |
inkscape:pageopacity="0"
|
33 |
inkscape:pageshadow="2"
|
34 |
-
inkscape:window-width="
|
35 |
inkscape:window-height="1017"
|
36 |
-
id="
|
37 |
showgrid="false"
|
38 |
-
inkscape:zoom="
|
39 |
-
inkscape:cx="
|
40 |
-
inkscape:cy="
|
41 |
-
inkscape:window-x="
|
42 |
inkscape:window-y="-8"
|
43 |
inkscape:window-maximized="1"
|
44 |
-
inkscape:current-layer="
|
45 |
-
style="fill:#
|
46 |
-
d="
|
47 |
-
id="
|
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="
|
88 |
id="g42"
|
89 |
-
transform="
|
90 |
id="g44"
|
91 |
-
transform="
|
92 |
id="g46"
|
93 |
-
transform="
|
94 |
id="g48"
|
95 |
-
transform="
|
96 |
id="g50"
|
97 |
-
transform="
|
98 |
id="g52"
|
99 |
-
transform="
|
100 |
id="g54"
|
101 |
-
transform="
|
102 |
id="g56"
|
103 |
-
transform="
|
104 |
id="g58"
|
105 |
-
transform="
|
106 |
id="g60"
|
107 |
-
transform="
|
108 |
id="g62"
|
109 |
-
transform="
|
110 |
id="g64"
|
111 |
-
transform="
|
112 |
id="g66"
|
113 |
-
transform="
|
114 |
id="g68"
|
115 |
-
transform="
|
13 |
id="Capa_1"
|
14 |
x="0px"
|
15 |
y="0px"
|
16 |
+
viewBox="0 0 512 512"
|
17 |
+
style="enable-background:new 0 0 512 512;"
|
18 |
xml:space="preserve"
|
19 |
sodipodi:docname="support.svg"
|
20 |
+
inkscape:version="0.92.0 r15299"><metadata
|
21 |
+
id="metadata75"><rdf:RDF><cc:Work
|
|
|
|
|
22 |
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
23 |
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
24 |
+
id="defs73" /><sodipodi:namedview
|
25 |
pagecolor="#ffffff"
|
26 |
bordercolor="#666666"
|
27 |
borderopacity="1"
|
30 |
guidetolerance="10"
|
31 |
inkscape:pageopacity="0"
|
32 |
inkscape:pageshadow="2"
|
33 |
+
inkscape:window-width="2560"
|
34 |
inkscape:window-height="1017"
|
35 |
+
id="namedview71"
|
36 |
showgrid="false"
|
37 |
+
inkscape:zoom="0.92187498"
|
38 |
+
inkscape:cx="303.79999"
|
39 |
+
inkscape:cy="162.24021"
|
40 |
+
inkscape:window-x="1912"
|
41 |
inkscape:window-y="-8"
|
42 |
inkscape:window-maximized="1"
|
43 |
+
inkscape:current-layer="g22" /><path
|
44 |
+
style="fill:#9178b7;fill-opacity:1;stroke:none"
|
45 |
+
d="m 337.3053,78.237171 c -136.624,0 -247.296005,110.671999 -247.296005,247.295999 0,136.624 110.672005,247.296 247.296005,247.296 136.624,0 247.296,-110.672 247.296,-247.296 0,-136.624 -110.672,-247.295999 -247.296,-247.295999 z m 0,368.575999 c -66.928,0 -121.12,-54.336 -121.12,-121.264 0,-66.928 54.192,-121.12 121.12,-121.12 66.928,0 121.264,54.192 121.264,121.12 0.016,66.912 -54.336,121.264 -121.264,121.264 z"
|
46 |
+
id="path10"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
inkscape:connector-curvature="0" /><g
|
48 |
+
id="g22"
|
49 |
+
transform="translate(81.305295,78.237171)"
|
50 |
+
style="stroke:none"><path
|
51 |
+
style="fill:#eceff1;stroke:#eceff1;stroke-opacity:1;fill-opacity:1"
|
52 |
+
d="m 158.736,19.904 53.776,114.448 c 13.504,-5.2 28.128,-8.16 43.488,-8.16 15.344,0 29.968,2.96 43.488,8.16 L 353.264,19.904 C 323.408,7.12 290.544,0 256,0 221.456,0 188.592,7.12 158.736,19.904 Z"
|
53 |
+
id="path14"
|
54 |
+
inkscape:connector-curvature="0" /><path
|
55 |
+
style="fill:#eceff1;stroke:#eceff1;stroke-opacity:1;fill-opacity:1"
|
56 |
+
d="m 134.88,247.296 c 0,-15.36 2.976,-29.984 8.176,-43.488 L 28.608,150.032 c -12.784,29.856 -19.904,62.72 -19.904,97.264 0,34.544 7.12,67.408 19.904,97.264 L 143.04,290.784 c -5.184,-13.52 -8.16,-28.144 -8.16,-43.488 z"
|
57 |
+
id="path16"
|
58 |
+
inkscape:connector-curvature="0" /><path
|
59 |
+
style="fill:#eceff1;stroke:#eceff1;fill-opacity:1;stroke-opacity:1"
|
60 |
+
d="M 353.264,474.688 299.536,360.368 C 286,365.584 271.36,368.576 256,368.576 c -15.376,0 -30.016,-2.992 -43.552,-8.208 L 158.72,474.704 c 29.856,12.784 62.72,19.904 97.264,19.904 34.56,-0.016 67.424,-7.136 97.28,-19.92 z"
|
61 |
+
id="path18"
|
62 |
+
inkscape:connector-curvature="0" /><path
|
63 |
+
style="fill:#eceff1;stroke:#eceff1;fill-opacity:1;stroke-opacity:1"
|
64 |
+
d="m 377.28,247.296 c 0,15.36 -2.976,30 -8.208,43.536 l 114.32,53.728 c 12.784,-29.856 19.904,-62.72 19.904,-97.264 0,-34.544 -7.12,-67.408 -19.904,-97.264 L 369.056,203.76 c 5.232,13.52 8.224,28.176 8.224,43.536 z"
|
65 |
+
id="path20"
|
66 |
+
inkscape:connector-curvature="0" /></g><g
|
67 |
id="g40"
|
68 |
+
transform="translate(81.305295,78.237171)" /><g
|
69 |
id="g42"
|
70 |
+
transform="translate(81.305295,78.237171)" /><g
|
71 |
id="g44"
|
72 |
+
transform="translate(81.305295,78.237171)" /><g
|
73 |
id="g46"
|
74 |
+
transform="translate(81.305295,78.237171)" /><g
|
75 |
id="g48"
|
76 |
+
transform="translate(81.305295,78.237171)" /><g
|
77 |
id="g50"
|
78 |
+
transform="translate(81.305295,78.237171)" /><g
|
79 |
id="g52"
|
80 |
+
transform="translate(81.305295,78.237171)" /><g
|
81 |
id="g54"
|
82 |
+
transform="translate(81.305295,78.237171)" /><g
|
83 |
id="g56"
|
84 |
+
transform="translate(81.305295,78.237171)" /><g
|
85 |
id="g58"
|
86 |
+
transform="translate(81.305295,78.237171)" /><g
|
87 |
id="g60"
|
88 |
+
transform="translate(81.305295,78.237171)" /><g
|
89 |
id="g62"
|
90 |
+
transform="translate(81.305295,78.237171)" /><g
|
91 |
id="g64"
|
92 |
+
transform="translate(81.305295,78.237171)" /><g
|
93 |
id="g66"
|
94 |
+
transform="translate(81.305295,78.237171)" /><g
|
95 |
id="g68"
|
96 |
+
transform="translate(81.305295,78.237171)" /></svg>
|
backend/images/update.svg
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 505 505"
|
17 |
+
style="enable-background:new 0 0 505 505;"
|
18 |
+
xml:space="preserve"
|
19 |
+
sodipodi:docname="update.svg"
|
20 |
+
inkscape:version="0.92.0 r15299"><metadata
|
21 |
+
id="metadata43"><rdf:RDF><cc:Work
|
22 |
+
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
23 |
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
24 |
+
id="defs41" /><sodipodi:namedview
|
25 |
+
pagecolor="#ffffff"
|
26 |
+
bordercolor="#666666"
|
27 |
+
borderopacity="1"
|
28 |
+
objecttolerance="10"
|
29 |
+
gridtolerance="10"
|
30 |
+
guidetolerance="10"
|
31 |
+
inkscape:pageopacity="0"
|
32 |
+
inkscape:pageshadow="2"
|
33 |
+
inkscape:window-width="1920"
|
34 |
+
inkscape:window-height="1017"
|
35 |
+
id="namedview39"
|
36 |
+
showgrid="false"
|
37 |
+
inkscape:zoom="0.6608998"
|
38 |
+
inkscape:cx="82.86425"
|
39 |
+
inkscape:cy="289.29436"
|
40 |
+
inkscape:window-x="-8"
|
41 |
+
inkscape:window-y="-8"
|
42 |
+
inkscape:window-maximized="1"
|
43 |
+
inkscape:current-layer="Layer_1" /><path
|
44 |
+
style="fill:#ded1f2;fill-opacity:1;stroke-width:1.194754"
|
45 |
+
d="m 54.471192,356.14658 c 0,-166.66819 135.007198,-301.675388 301.675388,-301.675388 166.5487,0 301.67538,135.007198 301.67538,301.675388 0,166.66817 -135.12668,301.67538 -301.67538,301.67538 -166.66819,0 -301.675388,-135.00721 -301.675388,-301.67538 z"
|
46 |
+
id="path2"
|
47 |
+
inkscape:connector-curvature="0" /><path
|
48 |
+
style="fill:#9178b7;fill-opacity:1;stroke-width:1.194754"
|
49 |
+
d="m 287.44822,389.59968 h 18.51868 c 14.33706,0 22.46138,-16.36813 13.85915,-27.83776 l -72.64104,-95.81927 c -6.92957,-9.19961 -20.78872,-9.19961 -27.71829,0 l -72.64105,95.81927 c -8.7217,11.46963 -0.4779,27.83776 13.85915,27.83776 h 16.72655 c 26.04564,120.07278 140.50308,170.25245 226.16694,142.7731 7.52694,-2.3895 6.09324,-13.50072 -1.91161,-14.09809 -78.97324,-5.73482 -122.58176,-74.55265 -114.21848,-128.67501 z"
|
50 |
+
id="path4"
|
51 |
+
inkscape:connector-curvature="0" /><path
|
52 |
+
style="fill:#9178b7;fill-opacity:1;stroke-width:1.194754"
|
53 |
+
d="m 424.84493,322.69346 h -18.51869 c -14.33705,0 -22.46137,16.36813 -13.85914,27.83777 l 72.64104,95.93875 c 6.92957,9.19961 20.78871,9.19961 27.71829,0 l 72.64104,-95.93875 c 8.7217,-11.46964 0.4779,-27.83777 -13.85914,-27.83777 H 534.88177 C 508.71666,202.62069 394.25922,152.44102 308.59536,179.92036 c -7.52695,2.38951 -6.09324,13.50072 1.91161,14.0981 79.09271,5.73482 122.70123,74.55265 114.33796,128.675 z"
|
54 |
+
id="path6"
|
55 |
+
inkscape:connector-curvature="0" /><g
|
56 |
+
id="g8"
|
57 |
+
transform="scale(1.3026177)" /><g
|
58 |
+
id="g10"
|
59 |
+
transform="scale(1.3026177)" /><g
|
60 |
+
id="g12"
|
61 |
+
transform="scale(1.3026177)" /><g
|
62 |
+
id="g14"
|
63 |
+
transform="scale(1.3026177)" /><g
|
64 |
+
id="g16"
|
65 |
+
transform="scale(1.3026177)" /><g
|
66 |
+
id="g18"
|
67 |
+
transform="scale(1.3026177)" /><g
|
68 |
+
id="g20"
|
69 |
+
transform="scale(1.3026177)" /><g
|
70 |
+
id="g22"
|
71 |
+
transform="scale(1.3026177)" /><g
|
72 |
+
id="g24"
|
73 |
+
transform="scale(1.3026177)" /><g
|
74 |
+
id="g26"
|
75 |
+
transform="scale(1.3026177)" /><g
|
76 |
+
id="g28"
|
77 |
+
transform="scale(1.3026177)" /><g
|
78 |
+
id="g30"
|
79 |
+
transform="scale(1.3026177)" /><g
|
80 |
+
id="g32"
|
81 |
+
transform="scale(1.3026177)" /><g
|
82 |
+
id="g34"
|
83 |
+
transform="scale(1.3026177)" /><g
|
84 |
+
id="g36"
|
85 |
+
transform="scale(1.3026177)" /></svg>
|
backend/style.css
CHANGED
@@ -12,6 +12,7 @@
|
|
12 |
/* Welcome screen */
|
13 |
.welcome-to-cau {
|
14 |
background: #FFF;
|
|
|
15 |
margin: 25px 0;
|
16 |
padding: 30px;
|
17 |
background-size: 140px;
|
@@ -21,12 +22,24 @@
|
|
21 |
.welcome-to-cau.welcome-bg {
|
22 |
background-image: url('images/welcome.svg');
|
23 |
}
|
|
|
|
|
|
|
24 |
.welcome-to-cau.support-bg {
|
25 |
background-image: url('images/support.svg');
|
26 |
}
|
27 |
.welcome-to-cau.love-bg {
|
28 |
background-image: url('images/love.svg');
|
29 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
.welcome-to-cau h2 {
|
31 |
margin: 0;
|
32 |
margin-bottom: 25px;
|
@@ -34,6 +47,9 @@
|
|
34 |
font-weight: 400;
|
35 |
line-height: 1.2;
|
36 |
}
|
|
|
|
|
|
|
37 |
.welcome-to-cau h3 {
|
38 |
font-size: 16px;
|
39 |
margin-top: 0;
|
@@ -70,11 +86,36 @@
|
|
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;
|
@@ -88,6 +129,9 @@
|
|
88 |
margin-left: 0px;
|
89 |
margin-top: 10px;
|
90 |
}
|
|
|
|
|
|
|
91 |
.nav-tab {
|
92 |
position: relative;
|
93 |
}
|
@@ -268,38 +312,47 @@ table.rollbacklist td a.versionselectbutton {
|
|
268 |
width: 125px;
|
269 |
padding-left: 5px;
|
270 |
}
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
display: inline-block;
|
275 |
-
padding: 15px 25px;
|
276 |
-
text-decoration: none;
|
277 |
-
border-radius: 3px;
|
278 |
-
border: 1px solid rgba(0,0,0,0.2);
|
279 |
-
font-weight: 500;
|
280 |
-
font-size: 1.1em;
|
281 |
-
margin: 0 10px;
|
282 |
-
}
|
283 |
-
.cau-button:hover {
|
284 |
-
opacity: 0.9;
|
285 |
-
}
|
286 |
-
.cau-button .dashicons {
|
287 |
-
bottom: -2px;
|
288 |
-
}
|
289 |
-
.donate-button {
|
290 |
-
background-color: #9178B7;
|
291 |
-
border-color: #6B5887;
|
292 |
-
color: #FFF;
|
293 |
-
}
|
294 |
-
.rate-button {
|
295 |
-
background: #F7F7F7;
|
296 |
-
color: #735F91;
|
297 |
}
|
298 |
-
|
299 |
-
|
|
|
|
|
300 |
}
|
301 |
-
.
|
302 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
}
|
304 |
|
305 |
/* Responsive */
|
@@ -341,7 +394,7 @@ table.rollbacklist td a.versionselectbutton {
|
|
341 |
|
342 |
/* Scheduling */
|
343 |
.cau_schedule_input {
|
344 |
-
width:
|
345 |
}
|
346 |
|
347 |
/* Custom buttons */
|
@@ -374,9 +427,10 @@ table.rollbacklist td a.versionselectbutton {
|
|
374 |
}
|
375 |
.cau-column-wide {
|
376 |
width: 100%;
|
|
|
377 |
}
|
378 |
.cau-column-small {
|
379 |
-
|
380 |
}
|
381 |
|
382 |
/* Status */
|
12 |
/* Welcome screen */
|
13 |
.welcome-to-cau {
|
14 |
background: #FFF;
|
15 |
+
border: 1px solid #ccd0d4;
|
16 |
margin: 25px 0;
|
17 |
padding: 30px;
|
18 |
background-size: 140px;
|
22 |
.welcome-to-cau.welcome-bg {
|
23 |
background-image: url('images/welcome.svg');
|
24 |
}
|
25 |
+
.welcome-to-cau.help-bg {
|
26 |
+
background-image: url('images/help.svg');
|
27 |
+
}
|
28 |
.welcome-to-cau.support-bg {
|
29 |
background-image: url('images/support.svg');
|
30 |
}
|
31 |
.welcome-to-cau.love-bg {
|
32 |
background-image: url('images/love.svg');
|
33 |
}
|
34 |
+
.welcome-to-cau.update-bg {
|
35 |
+
background-image: url('images/update.svg');
|
36 |
+
}
|
37 |
+
.welcome-to-cau.email-bg {
|
38 |
+
background-image: url('images/email.svg');
|
39 |
+
}
|
40 |
+
.welcome-to-cau.interval-bg {
|
41 |
+
background-image: url('images/interval.svg');
|
42 |
+
}
|
43 |
.welcome-to-cau h2 {
|
44 |
margin: 0;
|
45 |
margin-bottom: 25px;
|
47 |
font-weight: 400;
|
48 |
line-height: 1.2;
|
49 |
}
|
50 |
+
.welcome-to-cau h2.title {
|
51 |
+
margin-bottom: 10px;
|
52 |
+
}
|
53 |
.welcome-to-cau h3 {
|
54 |
font-size: 16px;
|
55 |
margin-top: 0;
|
86 |
padding: 5px;
|
87 |
}
|
88 |
|
89 |
+
/* Overwrite core UI */
|
90 |
+
.cau-column-wide a, .cau-column-small a {
|
91 |
+
color: #9178B7;
|
92 |
+
}
|
93 |
+
.cau-column-wide .button-primary, .cau-column-small .button-primary {
|
94 |
+
background-color: #9178B7!important;
|
95 |
+
border-color: #9178B7!important;
|
96 |
+
}
|
97 |
+
.cau-column-wide .button-alt, .cau-column-small .button-alt {
|
98 |
+
color: #9178B7!important;
|
99 |
+
border-color: #9178B7!important;
|
100 |
+
}
|
101 |
+
.cau-column-wide .button-hero, .cau-column-small .button-hero {
|
102 |
+
font-weight: 500;
|
103 |
+
padding: 15px 30px!important;
|
104 |
+
}
|
105 |
+
#message.cau {
|
106 |
+
border-left: 3px solid #9178B7;
|
107 |
+
background: #DED1F2;
|
108 |
+
color: #9178B7;
|
109 |
+
padding: 15px;
|
110 |
+
}
|
111 |
+
|
112 |
/* Dashboard */
|
113 |
.cau-column-wide {
|
114 |
+
box-sizing: border-box;
|
115 |
display: inline-block;
|
116 |
vertical-align: top;
|
117 |
width: calc(100% - 450px);
|
118 |
+
padding-right: 25px;
|
119 |
}
|
120 |
.cau-column-small {
|
121 |
display: inline-block;
|
129 |
margin-left: 0px;
|
130 |
margin-top: 10px;
|
131 |
}
|
132 |
+
.cau-dashboard-box .welcome-column {
|
133 |
+
padding-right: 25px;
|
134 |
+
}
|
135 |
.nav-tab {
|
136 |
position: relative;
|
137 |
}
|
312 |
width: 125px;
|
313 |
padding-left: 5px;
|
314 |
}
|
315 |
+
.cau_shedule_notation .dashicons {
|
316 |
+
position: relative;
|
317 |
+
bottom: -5px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
}
|
319 |
+
|
320 |
+
/* Tooltip */
|
321 |
+
.cau_tooltip {
|
322 |
+
position: relative;
|
323 |
}
|
324 |
+
.cau_tooltip .cau_tooltip_text {
|
325 |
+
visibility: hidden;
|
326 |
+
background-color: rgba(0,0,0,0.7);
|
327 |
+
color: #FFF;
|
328 |
+
text-align: left;
|
329 |
+
font-size: 14px;
|
330 |
+
padding: 15px;
|
331 |
+
border-radius: 6px;
|
332 |
+
position: absolute;
|
333 |
+
z-index: 1;
|
334 |
+
width: 240px;
|
335 |
+
bottom: 100%;
|
336 |
+
left: 50%;
|
337 |
+
margin-left: -60px;
|
338 |
+
margin-bottom: 10px;
|
339 |
+
opacity: 0;
|
340 |
+
transition: .3s;
|
341 |
+
font-weight: normal;
|
342 |
+
}
|
343 |
+
.cau_tooltip:hover .cau_tooltip_text {
|
344 |
+
visibility: visible;
|
345 |
+
opacity: 1;
|
346 |
+
}
|
347 |
+
.cau_tooltip .cau_tooltip_text::after {
|
348 |
+
content: " ";
|
349 |
+
position: absolute;
|
350 |
+
top: 100%;
|
351 |
+
left: 50%;
|
352 |
+
margin-left: -75px;
|
353 |
+
border-width: 5px;
|
354 |
+
border-style: solid;
|
355 |
+
border-color: rgba(0,0,0,0.7) transparent transparent transparent;
|
356 |
}
|
357 |
|
358 |
/* Responsive */
|
394 |
|
395 |
/* Scheduling */
|
396 |
.cau_schedule_input {
|
397 |
+
width: 75px;
|
398 |
}
|
399 |
|
400 |
/* Custom buttons */
|
427 |
}
|
428 |
.cau-column-wide {
|
429 |
width: 100%;
|
430 |
+
padding-right: 0;
|
431 |
}
|
432 |
.cau-column-small {
|
433 |
+
width: 100%;
|
434 |
}
|
435 |
|
436 |
/* Status */
|
cau_emails.php
CHANGED
@@ -42,20 +42,29 @@ Leaving your site outdated is a security risk so please consider manually updati
|
|
42 |
// Set the content for the emails about recent updates
|
43 |
function cau_updated_message( $type, $updatedList ) {
|
44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
$text = sprintf( esc_html__(
|
46 |
'One or more %1$s on your WordPress site at %2$s have been updated by Companion Auto Update. No further action is needed on your part.
|
47 |
-
|
48 |
), $type, get_site_url() );
|
49 |
|
50 |
-
$text .=
|
|
|
51 |
$text .= sprintf( esc_html__(
|
52 |
'The following %1$s have been updated:', 'companion-auto-update'
|
53 |
), $type );
|
54 |
|
55 |
-
$text .=
|
56 |
$text .= $updatedList;
|
57 |
|
58 |
-
$text .=
|
59 |
$text .= __( "(You'll also recieve this email if you manually updated a plugin or theme)", "companion-auto-update" );
|
60 |
|
61 |
return $text;
|
@@ -134,6 +143,9 @@ function cau_list_plugin_updates() {
|
|
134 |
// Alerts when plugin has been updated
|
135 |
function cau_plugin_updated() {
|
136 |
|
|
|
|
|
|
|
137 |
// Create arrays
|
138 |
$pluginNames = array();
|
139 |
$pluginDates = array();
|
@@ -227,27 +239,45 @@ function cau_plugin_updated() {
|
|
227 |
|
228 |
$totalNumP = 0;
|
229 |
$totalNumT = 0;
|
230 |
-
$updatedListP = '
|
231 |
-
$updatedListT = '
|
|
|
|
|
|
|
|
|
|
|
232 |
|
233 |
foreach ( $pluginDates as $key => $value ) {
|
234 |
-
|
235 |
-
|
|
|
|
|
|
|
|
|
236 |
$totalNumP++;
|
237 |
}
|
|
|
238 |
foreach ( $themeNames as $key => $value ) {
|
239 |
-
|
|
|
|
|
|
|
|
|
240 |
$totalNumT++;
|
241 |
}
|
242 |
|
243 |
-
|
244 |
-
|
|
|
|
|
245 |
|
246 |
// Set the email content type
|
247 |
-
|
248 |
-
|
|
|
|
|
|
|
249 |
}
|
250 |
-
add_filter( 'wp_mail_content_type', 'cau_mail_content_type' );
|
251 |
|
252 |
// If plugins have been updated, send email
|
253 |
if( $totalNumP > 0 ) {
|
@@ -285,7 +315,7 @@ function cau_plugin_updated() {
|
|
285 |
|
286 |
}
|
287 |
|
288 |
-
remove_filter( 'wp_mail_content_type', 'cau_mail_content_type' );
|
289 |
|
290 |
// Prevent duplicate emails by setting the event again
|
291 |
if( $totalNumT > 0 OR $totalNumP > 0 ) {
|
42 |
// Set the content for the emails about recent updates
|
43 |
function cau_updated_message( $type, $updatedList ) {
|
44 |
|
45 |
+
// Check if cau_get_db_value() function exists.
|
46 |
+
if ( !function_exists( 'cau_get_db_value' ) ) require_once( plugin_dir_path( __FILE__ ) . 'cau_function.php' );
|
47 |
+
|
48 |
+
// What markup to use
|
49 |
+
if( cau_get_db_value( 'html_or_text' ) == 'html' ) $break = '<br />';
|
50 |
+
else $break = "\n";
|
51 |
+
|
52 |
+
// The message
|
53 |
$text = sprintf( esc_html__(
|
54 |
'One or more %1$s on your WordPress site at %2$s have been updated by Companion Auto Update. No further action is needed on your part.
|
55 |
+
For more info on what is new visit your dashboard and check the changelog.', 'companion-auto-update'
|
56 |
), $type, get_site_url() );
|
57 |
|
58 |
+
$text .= $break;
|
59 |
+
$text .= $break;
|
60 |
$text .= sprintf( esc_html__(
|
61 |
'The following %1$s have been updated:', 'companion-auto-update'
|
62 |
), $type );
|
63 |
|
64 |
+
$text .= $break;
|
65 |
$text .= $updatedList;
|
66 |
|
67 |
+
$text .= $break;
|
68 |
$text .= __( "(You'll also recieve this email if you manually updated a plugin or theme)", "companion-auto-update" );
|
69 |
|
70 |
return $text;
|
143 |
// Alerts when plugin has been updated
|
144 |
function cau_plugin_updated() {
|
145 |
|
146 |
+
// Check if cau_get_db_value() function exists.
|
147 |
+
if ( !function_exists( 'cau_get_db_value' ) ) require_once( plugin_dir_path( __FILE__ ) . 'cau_function.php' );
|
148 |
+
|
149 |
// Create arrays
|
150 |
$pluginNames = array();
|
151 |
$pluginDates = array();
|
239 |
|
240 |
$totalNumP = 0;
|
241 |
$totalNumT = 0;
|
242 |
+
$updatedListP = '';
|
243 |
+
$updatedListT = '';
|
244 |
+
|
245 |
+
if( cau_get_db_value( 'html_or_text' ) == 'html' ) {
|
246 |
+
$updatedListP .= '<ol>';
|
247 |
+
$updatedListT .= '<ol>';
|
248 |
+
}
|
249 |
|
250 |
foreach ( $pluginDates as $key => $value ) {
|
251 |
+
if( cau_get_db_value( 'html_or_text' ) == 'html' ) {
|
252 |
+
$updatedListP .= "<li><strong>".$pluginNames[$key]." </strong><br />
|
253 |
+
to version ".$pluginVersion[$key]." <a href='https://wordpress.org/plugins/".$pluginSlug[$key]."/#developers'>".__( "Release notes", "companion-auto-update" )."</a></li>";
|
254 |
+
} else {
|
255 |
+
$updatedListP .= "- ".$pluginNames[$key]." to version ".$pluginVersion[$key]."\n";
|
256 |
+
}
|
257 |
$totalNumP++;
|
258 |
}
|
259 |
+
|
260 |
foreach ( $themeNames as $key => $value ) {
|
261 |
+
if( cau_get_db_value( 'html_or_text' ) == 'html' ) {
|
262 |
+
$updatedListT .= "<li>".$themeNames[$key]."</li>";
|
263 |
+
} else {
|
264 |
+
$updatedListT .= "- ".$themeNames[$key]."\n";
|
265 |
+
}
|
266 |
$totalNumT++;
|
267 |
}
|
268 |
|
269 |
+
if( cau_get_db_value( 'html_or_text' ) == 'html' ) {
|
270 |
+
$updatedListP .= '</ol>';
|
271 |
+
$updatedListT .= '</ol>';
|
272 |
+
}
|
273 |
|
274 |
// Set the email content type
|
275 |
+
if( cau_get_db_value( 'html_or_text' ) == 'html' ) {
|
276 |
+
function cau_mail_content_type() {
|
277 |
+
return 'text/html';
|
278 |
+
}
|
279 |
+
add_filter( 'wp_mail_content_type', 'cau_mail_content_type' );
|
280 |
}
|
|
|
281 |
|
282 |
// If plugins have been updated, send email
|
283 |
if( $totalNumP > 0 ) {
|
315 |
|
316 |
}
|
317 |
|
318 |
+
if( cau_get_db_value( 'html_or_text' ) == 'html' ) remove_filter( 'wp_mail_content_type', 'cau_mail_content_type' );
|
319 |
|
320 |
// Prevent duplicate emails by setting the event again
|
321 |
if( $totalNumT > 0 OR $totalNumP > 0 ) {
|
cau_functions.php
CHANGED
@@ -667,11 +667,15 @@ function cau_dontUpdateThemes( $update, $item ) {
|
|
667 |
|
668 |
$themes = themes_donotupdatelist();
|
669 |
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
|
|
|
|
|
|
|
|
675 |
|
676 |
|
677 |
}
|
667 |
|
668 |
$themes = themes_donotupdatelist();
|
669 |
|
670 |
+
if( !empty( $themes ) ) {
|
671 |
+
if ( in_array( $item->slug, $themes ) ) {
|
672 |
+
return false; // Don't update these themes
|
673 |
+
} else {
|
674 |
+
return true; // Always update these themes
|
675 |
+
}
|
676 |
+
} else {
|
677 |
+
return true;
|
678 |
+
}
|
679 |
|
680 |
|
681 |
}
|
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.
|
7 |
* Author: Papin Schipper
|
8 |
* Author URI: http://codeermeneer.nl/
|
9 |
* Contributors: papin
|
@@ -56,7 +56,7 @@ function cau_donateUrl() {
|
|
56 |
|
57 |
// Database version
|
58 |
function cau_db_version() {
|
59 |
-
return '3.5.
|
60 |
}
|
61 |
function cau_database_creation() {
|
62 |
|
@@ -137,6 +137,9 @@ function cau_install_data() {
|
|
137 |
if( !cau_check_if_exists( 'wpemails' ) ) $wpdb->insert( $table_name, array( 'name' => 'wpemails', 'onoroff' => 'on' ) ); // 9
|
138 |
if( !cau_check_if_exists( 'notUpdateListTh' ) ) $wpdb->insert( $table_name, array( 'name' => 'notUpdateListTh', 'onoroff' => '' ) ); // 10
|
139 |
|
|
|
|
|
|
|
140 |
|
141 |
}
|
142 |
register_activation_hook( __FILE__, 'cau_install' );
|
@@ -193,11 +196,11 @@ function cau_frontend() { ?>
|
|
193 |
// Allow only access to these pages
|
194 |
$allowedPages = array(
|
195 |
'dashboard' => __( 'Dashboard' ),
|
196 |
-
'schedule' => __( 'Advanced settings', 'companion-auto-update' ),
|
197 |
'pluginlist' => __( 'Update filter', 'companion-auto-update' ),
|
198 |
'log' => __( 'Update log', 'companion-auto-update' ),
|
199 |
'status' => __( 'Status', 'companion-auto-update' ),
|
200 |
-
'support' => __( 'Support', 'companion-auto-update' )
|
201 |
);
|
202 |
|
203 |
// Show subtabs
|
@@ -266,7 +269,10 @@ function load_cau_sytyles( $hook ) {
|
|
266 |
// WordPress scripts we need
|
267 |
wp_enqueue_style( 'thickbox' );
|
268 |
wp_enqueue_script( 'thickbox' );
|
269 |
-
wp_enqueue_script( 'plugin-install' );
|
|
|
|
|
|
|
270 |
|
271 |
}
|
272 |
add_action( 'admin_enqueue_scripts', 'load_cau_sytyles', 100 );
|
@@ -309,49 +315,43 @@ class CAU_auto_update {
|
|
309 |
// Enable for major updates
|
310 |
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'major'");
|
311 |
foreach ( $configs as $config ) {
|
312 |
-
|
313 |
if( $config->onoroff == 'on' ) add_filter( 'allow_major_auto_core_updates', '__return_true', 1 ); // Turn on
|
314 |
-
|
315 |
-
|
316 |
}
|
317 |
|
318 |
// Enable for minor updates
|
319 |
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'minor'");
|
320 |
foreach ( $configs as $config ) {
|
321 |
-
|
322 |
if( $config->onoroff == 'on' ) add_filter( 'allow_minor_auto_core_updates', '__return_true', 1 ); // Turn on
|
323 |
-
|
324 |
-
|
325 |
}
|
326 |
|
327 |
// Enable for plugins
|
328 |
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'plugins'");
|
329 |
foreach ( $configs as $config ) {
|
330 |
-
|
331 |
if( $config->onoroff == 'on' ) add_filter( 'auto_update_plugin', 'cau_dontUpdatePlugins', 10, 2 ); // Turn on
|
332 |
-
|
333 |
-
|
334 |
}
|
335 |
|
336 |
// Enable for themes
|
337 |
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'themes'");
|
338 |
foreach ( $configs as $config ) {
|
339 |
-
if( $config->onoroff == 'on' ) add_filter( 'auto_update_theme', '
|
340 |
-
|
341 |
}
|
342 |
|
343 |
// Enable for translation files
|
344 |
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'translations'");
|
345 |
foreach ( $configs as $config ) {
|
346 |
if( $config->onoroff == 'on' ) add_filter( 'auto_update_translation', '__return_true', 1 ); // Turn on
|
347 |
-
|
348 |
}
|
349 |
|
350 |
// WP Email Config
|
351 |
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'wpemails'");
|
352 |
foreach ( $configs as $config ) {
|
353 |
if( $config->onoroff == 'on' ) add_filter( 'auto_core_update_send_email', '__return_true' ); // Turn on
|
354 |
-
|
355 |
}
|
356 |
|
357 |
|
@@ -384,10 +384,3 @@ function cau_checkForIssues( $admin_bar ) {
|
|
384 |
|
385 |
}
|
386 |
add_action( 'admin_bar_menu', 'cau_checkForIssues', 150 );
|
387 |
-
|
388 |
-
function cau_checkForIssuesStyle() {
|
389 |
-
|
390 |
-
wp_enqueue_style( 'cau_warning_styles', plugins_url( 'backend/warningbar.css' , __FILE__ ) );
|
391 |
-
|
392 |
-
}
|
393 |
-
add_action( 'admin_enqueue_scripts', 'cau_checkForIssuesStyle', 100 );
|
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.5.0
|
7 |
* Author: Papin Schipper
|
8 |
* Author URI: http://codeermeneer.nl/
|
9 |
* Contributors: papin
|
56 |
|
57 |
// Database version
|
58 |
function cau_db_version() {
|
59 |
+
return '3.5.3';
|
60 |
}
|
61 |
function cau_database_creation() {
|
62 |
|
137 |
if( !cau_check_if_exists( 'wpemails' ) ) $wpdb->insert( $table_name, array( 'name' => 'wpemails', 'onoroff' => 'on' ) ); // 9
|
138 |
if( !cau_check_if_exists( 'notUpdateListTh' ) ) $wpdb->insert( $table_name, array( 'name' => 'notUpdateListTh', 'onoroff' => '' ) ); // 10
|
139 |
|
140 |
+
// Stuff
|
141 |
+
if( !cau_check_if_exists( 'html_or_text' ) ) $wpdb->insert( $table_name, array( 'name' => 'html_or_text', 'onoroff' => 'html' ) ); // 11
|
142 |
+
|
143 |
|
144 |
}
|
145 |
register_activation_hook( __FILE__, 'cau_install' );
|
196 |
// Allow only access to these pages
|
197 |
$allowedPages = array(
|
198 |
'dashboard' => __( 'Dashboard' ),
|
199 |
+
// 'schedule' => __( 'Advanced settings', 'companion-auto-update' ),
|
200 |
'pluginlist' => __( 'Update filter', 'companion-auto-update' ),
|
201 |
'log' => __( 'Update log', 'companion-auto-update' ),
|
202 |
'status' => __( 'Status', 'companion-auto-update' ),
|
203 |
+
// 'support' => __( 'Support', 'companion-auto-update' )
|
204 |
);
|
205 |
|
206 |
// Show subtabs
|
269 |
// WordPress scripts we need
|
270 |
wp_enqueue_style( 'thickbox' );
|
271 |
wp_enqueue_script( 'thickbox' );
|
272 |
+
wp_enqueue_script( 'plugin-install' );
|
273 |
+
|
274 |
+
// Check for issues
|
275 |
+
wp_enqueue_style( 'cau_warning_styles', plugins_url( 'backend/warningbar.css' , __FILE__ ) );
|
276 |
|
277 |
}
|
278 |
add_action( 'admin_enqueue_scripts', 'load_cau_sytyles', 100 );
|
315 |
// Enable for major updates
|
316 |
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'major'");
|
317 |
foreach ( $configs as $config ) {
|
|
|
318 |
if( $config->onoroff == 'on' ) add_filter( 'allow_major_auto_core_updates', '__return_true', 1 ); // Turn on
|
319 |
+
else add_filter( 'allow_major_auto_core_updates', '__return_false', 1 ); // Turn off
|
|
|
320 |
}
|
321 |
|
322 |
// Enable for minor updates
|
323 |
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'minor'");
|
324 |
foreach ( $configs as $config ) {
|
|
|
325 |
if( $config->onoroff == 'on' ) add_filter( 'allow_minor_auto_core_updates', '__return_true', 1 ); // Turn on
|
326 |
+
else add_filter( 'allow_minor_auto_core_updates', '__return_false', 1 ); // Turn off
|
|
|
327 |
}
|
328 |
|
329 |
// Enable for plugins
|
330 |
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'plugins'");
|
331 |
foreach ( $configs as $config ) {
|
|
|
332 |
if( $config->onoroff == 'on' ) add_filter( 'auto_update_plugin', 'cau_dontUpdatePlugins', 10, 2 ); // Turn on
|
333 |
+
else add_filter( 'auto_update_plugin', '__return_false', 1 ); // Turn off
|
|
|
334 |
}
|
335 |
|
336 |
// Enable for themes
|
337 |
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'themes'");
|
338 |
foreach ( $configs as $config ) {
|
339 |
+
if( $config->onoroff == 'on' ) add_filter( 'auto_update_theme', '__return_true' ); // Turn on
|
340 |
+
else add_filter( 'auto_update_theme', '__return_false', 1 ); // Turn off
|
341 |
}
|
342 |
|
343 |
// Enable for translation files
|
344 |
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'translations'");
|
345 |
foreach ( $configs as $config ) {
|
346 |
if( $config->onoroff == 'on' ) add_filter( 'auto_update_translation', '__return_true', 1 ); // Turn on
|
347 |
+
else add_filter( 'auto_update_translation', '__return_false', 1 ); // Turn off
|
348 |
}
|
349 |
|
350 |
// WP Email Config
|
351 |
$configs = $wpdb->get_results( "SELECT * FROM {$table_name} WHERE name = 'wpemails'");
|
352 |
foreach ( $configs as $config ) {
|
353 |
if( $config->onoroff == 'on' ) add_filter( 'auto_core_update_send_email', '__return_true' ); // Turn on
|
354 |
+
else add_filter( 'auto_core_update_send_email', '__return_false' ); // Turn off
|
355 |
}
|
356 |
|
357 |
|
384 |
|
385 |
}
|
386 |
add_action( 'admin_bar_menu', 'cau_checkForIssues', 150 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: auto, automatic, background, update, updates, updating, automatic updates,
|
|
5 |
Requires at least: 3.6.0
|
6 |
Tested up to: 5.3
|
7 |
Requires PHP: 5.1
|
8 |
-
Stable tag: 3.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -68,6 +68,13 @@ Your feedback is what made this plugin what is and what it’ll become so keep t
|
|
68 |
|
69 |
== Changelog ==
|
70 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
= 3.4.8 (January 2, 2020) =
|
72 |
* This update brings a few under the hood changes to ensure better updates in the future
|
73 |
* We've also fixed a (rare) Undefined variable: headers error
|
5 |
Requires at least: 3.6.0
|
6 |
Tested up to: 5.3
|
7 |
Requires PHP: 5.1
|
8 |
+
Stable tag: 3.5.0
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
68 |
|
69 |
== Changelog ==
|
70 |
|
71 |
+
= 3.5.0 (March 5, 2020) =
|
72 |
+
* We've had to (temporarily) disable the theme filter because it was causing issues on some installations. We'll try to get it working again in a future update.
|
73 |
+
* We should've fixed an issue where on occasion nothing would update
|
74 |
+
* Made some improvements to the "Fix it" button for the AUTOMATIC_UPDATER_DISABLED error
|
75 |
+
* In version 3.4.6 we've changed to HTML emails rather than plain text, in this version you can opt to change it back to plain text emails
|
76 |
+
* Redesigned dashboard: We've changed the dashboard, moved both the settings page and de support page to the dashboard. Please let us know if you like this change or not.
|
77 |
+
|
78 |
= 3.4.8 (January 2, 2020) =
|
79 |
* This update brings a few under the hood changes to ensure better updates in the future
|
80 |
* We've also fixed a (rare) Undefined variable: headers error
|