Version Description
Download this release
Release Info
Developer | wptouch |
Plugin | WPtouch |
Version | 4.3.14 |
Comparing to | |
See all releases |
Code changes from version 4.3.13.1 to 4.3.14
- admin/js/wptouch-admin-remodal.js +31 -0
- core/class-wptouch-pro.php +2 -0
- core/compat.php +61 -7
- core/theme.php +3 -39
- lang/wptouch.pot +41 -59
- readme.txt +7 -1
- wptouch.php +2 -45
admin/js/wptouch-admin-remodal.js
CHANGED
@@ -231,9 +231,40 @@ function wptouchHandleNewsletterNoticeDismiss() {
|
|
231 |
} );
|
232 |
}
|
233 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
function wptouchSitewideAdminReady(){
|
235 |
wptouchHandleLicensePanel();
|
236 |
wptouchHandleNewsletterNoticeDismiss();
|
|
|
|
|
237 |
}
|
238 |
|
239 |
jQuery( document ).ready( function() {
|
231 |
} );
|
232 |
}
|
233 |
|
234 |
+
function wptouchHandleThemeIncompatibilityDismiss() {
|
235 |
+
jQuery( '#wpbody-content' ).on( 'click', '.js-theme-incompatibility-notice .notice-dismiss', function () {
|
236 |
+
jQuery.ajax({
|
237 |
+
url: ajaxurl,
|
238 |
+
data: {
|
239 |
+
action: 'disable_theme_incompatibility_notice'
|
240 |
+
},
|
241 |
+
done: function() {
|
242 |
+
// Do nothing.
|
243 |
+
}
|
244 |
+
});
|
245 |
+
} );
|
246 |
+
}
|
247 |
+
|
248 |
+
function wptouchHandlePluginIncompatibilityDismiss() {
|
249 |
+
jQuery( '#wpbody-content' ).on( 'click', '.js-plugin-incompatibility-notice .notice-dismiss', function () {
|
250 |
+
jQuery.ajax({
|
251 |
+
url: ajaxurl,
|
252 |
+
data: {
|
253 |
+
action: 'disable_plugin_incompatibility_notice',
|
254 |
+
plugin: jQuery( '.js-wptouch-incompatible-plugin-name' ).val()
|
255 |
+
},
|
256 |
+
done: function() {
|
257 |
+
// Do nothing.
|
258 |
+
}
|
259 |
+
});
|
260 |
+
} );
|
261 |
+
}
|
262 |
+
|
263 |
function wptouchSitewideAdminReady(){
|
264 |
wptouchHandleLicensePanel();
|
265 |
wptouchHandleNewsletterNoticeDismiss();
|
266 |
+
wptouchHandleThemeIncompatibilityDismiss();
|
267 |
+
wptouchHandlePluginIncompatibilityDismiss();
|
268 |
}
|
269 |
|
270 |
jQuery( document ).ready( function() {
|
core/class-wptouch-pro.php
CHANGED
@@ -157,6 +157,8 @@ class WPtouchProFour {
|
|
157 |
|
158 |
// Delete one off admin notices flags.
|
159 |
delete_option( 'wptouch-disable-free-newsletter-notice' );
|
|
|
|
|
160 |
|
161 |
do_action( 'wptouch_after_self_destruct' );
|
162 |
}
|
157 |
|
158 |
// Delete one off admin notices flags.
|
159 |
delete_option( 'wptouch-disable-free-newsletter-notice' );
|
160 |
+
delete_option( '_wptouch-disable-theme-incompat-notice' );
|
161 |
+
delete_option( '_wptouch-disable-plugin-incompat-notice' );
|
162 |
|
163 |
do_action( 'wptouch_after_self_destruct' );
|
164 |
}
|
core/compat.php
CHANGED
@@ -110,11 +110,11 @@ function wptouch_mwp_perform_update( $update ){
|
|
110 |
}
|
111 |
|
112 |
function wptouch_maybe_show_notice_about_incompatible_themes() {
|
113 |
-
if (
|
114 |
return;
|
115 |
}
|
116 |
?>
|
117 |
-
<div class="notice notice-error is-dismissible">
|
118 |
<p><?php echo wp_kses_post( sprintf( __( 'The current theme is not compatible with WPtouch. Some features may not function properly. Check out %1$sthis support article%2$s for more information.', 'wptouch-pro' ), '<a href="https://support.wptouch.com/support/solutions/articles/5000523490">', '</a>' ) ); ?></p>
|
119 |
<button type="button" class="notice-dismiss">
|
120 |
<span class="screen-reader-text"><?php esc_html_e( 'Dismiss this notice.', 'wptouch-pro' ); ?></span>
|
@@ -124,9 +124,28 @@ function wptouch_maybe_show_notice_about_incompatible_themes() {
|
|
124 |
}
|
125 |
add_action( 'admin_notices', 'wptouch_maybe_show_notice_about_incompatible_themes' );
|
126 |
|
127 |
-
function
|
128 |
$current_theme = get_option( 'stylesheet' );
|
129 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
$incompatiable_themes = array( 'divi', 'architectos', 'classipress', 'geotheme', 'headway', 'swagger', 'clear', 'avada' );
|
131 |
|
132 |
/**
|
@@ -138,19 +157,33 @@ function wptouch_is_active_theme_incompatible() {
|
|
138 |
$incompatiable_themes = apply_filters( 'wptouch_incompatible_themes', $incompatiable_themes );
|
139 |
|
140 |
if ( in_array( strtolower( $current_theme ), $incompatiable_themes ) ) {
|
141 |
-
$
|
142 |
}
|
143 |
|
144 |
-
return $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
145 |
}
|
|
|
146 |
|
147 |
function wptouch_maybe_show_notice_about_incompatible_plugins() {
|
148 |
if ( false === $incompatible_plugin = wptouch_get_active_incompatible_plugins() ) {
|
149 |
return;
|
150 |
}
|
|
|
|
|
|
|
|
|
151 |
?>
|
152 |
-
<div class="notice notice-error is-dismissible">
|
153 |
<p><?php echo wp_kses_post( sprintf( __( 'The %1$s plugin is not compatible with WPtouch. Some features may not function properly. Check out %2$sthis support article%3$s for more information.', 'wptouch-pro' ), $incompatible_plugin, '<a href="https://support.wptouch.com/support/solutions/articles/5000523490">', '</a>' ) ); ?></p>
|
|
|
154 |
<button type="button" class="notice-dismiss">
|
155 |
<span class="screen-reader-text"><?php esc_html_e( 'Dismiss this notice.', 'wptouch-pro' ); ?></span>
|
156 |
</button>
|
@@ -159,6 +192,10 @@ function wptouch_maybe_show_notice_about_incompatible_plugins() {
|
|
159 |
}
|
160 |
add_action( 'admin_notices', 'wptouch_maybe_show_notice_about_incompatible_plugins' );
|
161 |
|
|
|
|
|
|
|
|
|
162 |
/**
|
163 |
* For now (4.3.13) the only incompatible plugin we want to display an alert for is Visual Composer.
|
164 |
*
|
@@ -196,3 +233,20 @@ function wptouch_get_active_incompatible_plugins() {
|
|
196 |
|
197 |
return $is_incompatible_plugin_active;
|
198 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
}
|
111 |
|
112 |
function wptouch_maybe_show_notice_about_incompatible_themes() {
|
113 |
+
if ( wptouch_is_active_theme_compatible() || wptouch_has_theme_incompatibility_notice_been_dismissed() ) {
|
114 |
return;
|
115 |
}
|
116 |
?>
|
117 |
+
<div class="notice notice-error is-dismissible js-theme-incompatibility-notice">
|
118 |
<p><?php echo wp_kses_post( sprintf( __( 'The current theme is not compatible with WPtouch. Some features may not function properly. Check out %1$sthis support article%2$s for more information.', 'wptouch-pro' ), '<a href="https://support.wptouch.com/support/solutions/articles/5000523490">', '</a>' ) ); ?></p>
|
119 |
<button type="button" class="notice-dismiss">
|
120 |
<span class="screen-reader-text"><?php esc_html_e( 'Dismiss this notice.', 'wptouch-pro' ); ?></span>
|
124 |
}
|
125 |
add_action( 'admin_notices', 'wptouch_maybe_show_notice_about_incompatible_themes' );
|
126 |
|
127 |
+
function wptouch_has_theme_incompatibility_notice_been_dismissed() {
|
128 |
$current_theme = get_option( 'stylesheet' );
|
129 |
+
return wptouch_is_value_in_options_array( $current_theme, '_wptouch-disable-theme-incompat-notice' );
|
130 |
+
}
|
131 |
+
|
132 |
+
function wptouch_is_value_in_options_array( $value, $option_name ) {
|
133 |
+
$options_array = get_option( $option_name, array() );
|
134 |
+
|
135 |
+
if ( ! is_array( $options_array ) ) {
|
136 |
+
return false;
|
137 |
+
}
|
138 |
+
|
139 |
+
if ( in_array( $value, $options_array ) ) {
|
140 |
+
return true;
|
141 |
+
}
|
142 |
+
|
143 |
+
return false;
|
144 |
+
}
|
145 |
+
|
146 |
+
function wptouch_is_active_theme_compatible() {
|
147 |
+
$current_theme = get_option( 'stylesheet' );
|
148 |
+
$is_theme_compatible = true;
|
149 |
$incompatiable_themes = array( 'divi', 'architectos', 'classipress', 'geotheme', 'headway', 'swagger', 'clear', 'avada' );
|
150 |
|
151 |
/**
|
157 |
$incompatiable_themes = apply_filters( 'wptouch_incompatible_themes', $incompatiable_themes );
|
158 |
|
159 |
if ( in_array( strtolower( $current_theme ), $incompatiable_themes ) ) {
|
160 |
+
$is_theme_compatible = false;
|
161 |
}
|
162 |
|
163 |
+
return $is_theme_compatible;
|
164 |
+
}
|
165 |
+
|
166 |
+
function wptouch_disable_theme_incompatibility_notice() {
|
167 |
+
$current_theme = get_option( 'stylesheet' );
|
168 |
+
$current_theme_incompat_notices = get_option( '_wptouch-disable-theme-incompat-notice', array() );
|
169 |
+
|
170 |
+
$current_theme_incompat_notices[] = $current_theme;
|
171 |
+
update_option( '_wptouch-disable-theme-incompat-notice', $current_theme_incompat_notices, false );
|
172 |
}
|
173 |
+
add_action( 'wp_ajax_disable_theme_incompatibility_notice', 'wptouch_disable_theme_incompatibility_notice' );
|
174 |
|
175 |
function wptouch_maybe_show_notice_about_incompatible_plugins() {
|
176 |
if ( false === $incompatible_plugin = wptouch_get_active_incompatible_plugins() ) {
|
177 |
return;
|
178 |
}
|
179 |
+
|
180 |
+
if ( wptouch_incompatible_plugin_notice_has_been_dismissed( $incompatible_plugin ) ) {
|
181 |
+
return;
|
182 |
+
}
|
183 |
?>
|
184 |
+
<div class="notice notice-error is-dismissible js-plugin-incompatibility-notice">
|
185 |
<p><?php echo wp_kses_post( sprintf( __( 'The %1$s plugin is not compatible with WPtouch. Some features may not function properly. Check out %2$sthis support article%3$s for more information.', 'wptouch-pro' ), $incompatible_plugin, '<a href="https://support.wptouch.com/support/solutions/articles/5000523490">', '</a>' ) ); ?></p>
|
186 |
+
<input type="hidden" class="js-wptouch-incompatible-plugin-name" value="<?php echo esc_html( $incompatible_plugin ); ?>">
|
187 |
<button type="button" class="notice-dismiss">
|
188 |
<span class="screen-reader-text"><?php esc_html_e( 'Dismiss this notice.', 'wptouch-pro' ); ?></span>
|
189 |
</button>
|
192 |
}
|
193 |
add_action( 'admin_notices', 'wptouch_maybe_show_notice_about_incompatible_plugins' );
|
194 |
|
195 |
+
function wptouch_incompatible_plugin_notice_has_been_dismissed( $plugin_name ) {
|
196 |
+
return wptouch_is_value_in_options_array( $plugin_name, '_wptouch-disable-plugin-incompat-notice' );
|
197 |
+
}
|
198 |
+
|
199 |
/**
|
200 |
* For now (4.3.13) the only incompatible plugin we want to display an alert for is Visual Composer.
|
201 |
*
|
233 |
|
234 |
return $is_incompatible_plugin_active;
|
235 |
}
|
236 |
+
|
237 |
+
function wptouch_disable_plugin_incompatibility_notice() {
|
238 |
+
if ( empty( $_GET['plugin'] ) ) {
|
239 |
+
return;
|
240 |
+
}
|
241 |
+
|
242 |
+
$plugin_name = sanitize_text_field( wp_unslash( $_GET['plugin'] ) );
|
243 |
+
if ( empty( $plugin_name ) ) {
|
244 |
+
return;
|
245 |
+
}
|
246 |
+
|
247 |
+
$dismissed_plugin_incompat_notices = get_option( '_wptouch-disable-plugin-incompat-notice', array() );
|
248 |
+
$dismissed_plugin_incompat_notices[] = $plugin_name;
|
249 |
+
|
250 |
+
update_option( '_wptouch-disable-plugin-incompat-notice', $dismissed_plugin_incompat_notices, false );
|
251 |
+
}
|
252 |
+
add_action( 'wp_ajax_disable_plugin_incompatibility_notice', 'wptouch_disable_plugin_incompatibility_notice' );
|
core/theme.php
CHANGED
@@ -365,42 +365,6 @@ function wptouch_get_current_page_url() {
|
|
365 |
return apply_filters( 'wptouch_current_page_url', $_SERVER['REQUEST_URI'] );
|
366 |
}
|
367 |
|
368 |
-
function wptouch_hex_char_to_digit( $hex_char ) {
|
369 |
-
switch( $hex_char ) {
|
370 |
-
case 'a':
|
371 |
-
return 10;
|
372 |
-
case 'b':
|
373 |
-
return 11;
|
374 |
-
case 'c':
|
375 |
-
return 12;
|
376 |
-
case 'd':
|
377 |
-
return 13;
|
378 |
-
case 'e':
|
379 |
-
return 14;
|
380 |
-
case 'f':
|
381 |
-
return 15;
|
382 |
-
default:
|
383 |
-
return $hex_char;
|
384 |
-
}
|
385 |
-
}
|
386 |
-
|
387 |
-
function wptouch_hex_to_num( $hex ) {
|
388 |
-
$hex = ltrim( $hex, '0' );
|
389 |
-
|
390 |
-
$digit_1 = substr( $hex, 0, 1 );
|
391 |
-
$digit_2 = substr( $hex, 1, 1 );
|
392 |
-
|
393 |
-
if ( empty( $digit_1 ) ) {
|
394 |
-
$digit_1 = 0;
|
395 |
-
}
|
396 |
-
|
397 |
-
if ( empty( $digit_2 ) ) {
|
398 |
-
$digit_2 = 0;
|
399 |
-
}
|
400 |
-
|
401 |
-
return wptouch_hex_char_to_digit( $digit_1 ) * 16 + wptouch_hex_char_to_digit( $digit_2 );
|
402 |
-
}
|
403 |
-
|
404 |
function wptouch_hex_to_luma( $hex ) {
|
405 |
// assumes 6 character long hex strings
|
406 |
$hex = strtolower( ltrim( $hex, '#' ) );
|
@@ -415,9 +379,9 @@ function wptouch_hex_to_luma( $hex ) {
|
|
415 |
$blue_hex = substr( $hex, 2, 1) . substr( $hex, 2, 1);
|
416 |
}
|
417 |
|
418 |
-
$red =
|
419 |
-
$green =
|
420 |
-
$blue =
|
421 |
|
422 |
$luma = round( 0.30 * $red + 0.59 * $green + 0.11 * $blue );
|
423 |
|
365 |
return apply_filters( 'wptouch_current_page_url', $_SERVER['REQUEST_URI'] );
|
366 |
}
|
367 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
368 |
function wptouch_hex_to_luma( $hex ) {
|
369 |
// assumes 6 character long hex strings
|
370 |
$hex = strtolower( ltrim( $hex, '#' ) );
|
379 |
$blue_hex = substr( $hex, 2, 1) . substr( $hex, 2, 1);
|
380 |
}
|
381 |
|
382 |
+
$red = hexdec( $red_hex );
|
383 |
+
$green = hexdec( $green_hex );
|
384 |
+
$blue = hexdec( $blue_hex );
|
385 |
|
386 |
$luma = round( 0.30 * $red + 0.59 * $green + 0.11 * $blue );
|
387 |
|
lang/wptouch.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the WPtouch Mobile Plugin package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: WPtouch Mobile Plugin 4.3.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
|
7 |
-
"POT-Creation-Date: 2017-03-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -377,7 +377,7 @@ msgstr ""
|
|
377 |
#: admin/pages/custom/wptouch-admin-wizard.php:179
|
378 |
#: admin/settings/html/theme-browser-item-detail.php:52
|
379 |
#: admin/settings/html/updates-available.php:35
|
380 |
-
#: admin/settings/html/updates-available.php:71 core/class-wptouch-pro.php:
|
381 |
msgid "Download"
|
382 |
msgstr ""
|
383 |
|
@@ -387,7 +387,7 @@ msgstr ""
|
|
387 |
#: admin/settings/html/installed_icon_sets_ajax.php:13
|
388 |
#: admin/settings/html/installed_icon_sets_ajax.php:26
|
389 |
#: admin/settings/html/theme-browser-item.php:12
|
390 |
-
#: core/class-wptouch-pro.php:
|
391 |
msgid "Installed"
|
392 |
msgstr ""
|
393 |
|
@@ -805,7 +805,7 @@ msgstr ""
|
|
805 |
|
806 |
#: admin/pages/wptouch-admin-general-settings.php:593
|
807 |
#: admin/settings/html/installed_icon_sets_ajax.php:4
|
808 |
-
#: core/class-wptouch-pro.php:
|
809 |
#: core/config.php:54
|
810 |
msgid "Custom Icons"
|
811 |
msgstr ""
|
@@ -922,7 +922,7 @@ msgstr ""
|
|
922 |
msgid "No extensions available"
|
923 |
msgstr ""
|
924 |
|
925 |
-
#: admin/settings/html/image-upload.php:7 core/class-wptouch-pro.php:
|
926 |
msgid "Upload Complete!"
|
927 |
msgstr ""
|
928 |
|
@@ -941,13 +941,13 @@ msgid ""
|
|
941 |
msgstr ""
|
942 |
|
943 |
#: admin/settings/html/installed_icon_sets_ajax.php:25
|
944 |
-
#: core/class-wptouch-pro.php:
|
945 |
msgid "Installing"
|
946 |
msgstr ""
|
947 |
|
948 |
#: admin/settings/html/installed_icon_sets_ajax.php:25
|
949 |
#: admin/settings/html/theme-browser-item-detail.php:3
|
950 |
-
#: core/admin-extensions.php:365 core/class-wptouch-pro.php:
|
951 |
msgid "Install"
|
952 |
msgstr ""
|
953 |
|
@@ -1159,7 +1159,7 @@ msgstr ""
|
|
1159 |
msgid "Setup Wizard"
|
1160 |
msgstr ""
|
1161 |
|
1162 |
-
#: core/admin-menu.php:49 core/class-wptouch-pro.php:
|
1163 |
msgid "Settings"
|
1164 |
msgstr ""
|
1165 |
|
@@ -1256,131 +1256,131 @@ msgstr ""
|
|
1256 |
msgid "Reset Settings"
|
1257 |
msgstr ""
|
1258 |
|
1259 |
-
#: core/class-wptouch-pro.php:
|
1260 |
msgid ""
|
1261 |
"Automatic theme migration from wp-content/uploads/wptouch-data directory "
|
1262 |
"failed. Please manually move these folders to wp-content/wptouch-data: %s"
|
1263 |
msgstr ""
|
1264 |
|
1265 |
-
#: core/class-wptouch-pro.php:
|
1266 |
msgid ""
|
1267 |
"%sWPtouch: %s was recently disabled, but is still affecting your website and "
|
1268 |
"caching pages.%s"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
-
#: core/class-wptouch-pro.php:
|
1272 |
msgid ""
|
1273 |
"%sPlease reactivate the plugin, disable page caching, then deactivate the "
|
1274 |
"plugin again to correct this issue.%s"
|
1275 |
msgstr ""
|
1276 |
|
1277 |
-
#: core/class-wptouch-pro.php:
|
1278 |
msgid ""
|
1279 |
"%sFixing this issue prevents cached desktop pages being served to mobile "
|
1280 |
"devices and vice-versa.%s"
|
1281 |
msgstr ""
|
1282 |
|
1283 |
-
#: core/class-wptouch-pro.php:
|
1284 |
msgid ""
|
1285 |
"%sOnce fixed, this message will be dismissed automatically. Until fixed, "
|
1286 |
"%sWPtouch will not be shown%s to mobile visitors, and cannot be previewed.%s"
|
1287 |
msgstr ""
|
1288 |
|
1289 |
-
#: core/class-wptouch-pro.php:
|
1290 |
msgid "%sWPtouch: %s needs to be configured to work correctly with WPtouch.%s"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
-
#: core/class-wptouch-pro.php:
|
1294 |
msgid ""
|
1295 |
"%sTo fix the issue, follow our %sstep-by-step setup guide%s on support."
|
1296 |
"wptouch.com%s"
|
1297 |
msgstr ""
|
1298 |
|
1299 |
-
#: core/class-wptouch-pro.php:
|
1300 |
msgid "WPtouch Repair Required"
|
1301 |
msgstr ""
|
1302 |
|
1303 |
-
#: core/class-wptouch-pro.php:
|
1304 |
msgid "Your mobile theme was either broken or missing."
|
1305 |
msgstr ""
|
1306 |
|
1307 |
-
#: core/class-wptouch-pro.php:
|
1308 |
msgid "We downloaded a fresh copy for you."
|
1309 |
msgstr ""
|
1310 |
|
1311 |
-
#: core/class-wptouch-pro.php:
|
1312 |
msgid "OK"
|
1313 |
msgstr ""
|
1314 |
|
1315 |
-
#: core/class-wptouch-pro.php:
|
1316 |
msgid ""
|
1317 |
"We were unable to install your WPtouch Pro theme from the Cloud. %s Please "
|
1318 |
"visit %sthis article%s for more information."
|
1319 |
msgstr ""
|
1320 |
|
1321 |
-
#: core/class-wptouch-pro.php:
|
1322 |
msgid "WPtouch Server Issue"
|
1323 |
msgstr ""
|
1324 |
|
1325 |
-
#: core/class-wptouch-pro.php:
|
1326 |
msgid ""
|
1327 |
"Your server setup is preventing WPtouch Pro from installing from the Cloud. "
|
1328 |
"%s Please visit %sthis article%s for more information on how to fix it."
|
1329 |
msgstr ""
|
1330 |
|
1331 |
-
#: core/class-wptouch-pro.php:
|
1332 |
msgid ""
|
1333 |
"This will reset all WPtouch Pro settings.\n"
|
1334 |
"Are you sure?"
|
1335 |
msgstr ""
|
1336 |
|
1337 |
-
#: core/class-wptouch-pro.php:
|
1338 |
msgid ""
|
1339 |
"This will reset all WPtouch Pro settings and delete the wptouch-data "
|
1340 |
"folder.\n"
|
1341 |
"Are you sure?"
|
1342 |
msgstr ""
|
1343 |
|
1344 |
-
#: core/class-wptouch-pro.php:
|
1345 |
msgid ""
|
1346 |
"This will reset all WPtouch Pro settings, delete the wptouch-data folder, "
|
1347 |
"and deactivate the plugin. Are you sure?"
|
1348 |
msgstr ""
|
1349 |
|
1350 |
-
#: core/class-wptouch-pro.php:
|
1351 |
msgid "The item failed to download for this reason: %reason%"
|
1352 |
msgstr ""
|
1353 |
|
1354 |
-
#: core/class-wptouch-pro.php:
|
1355 |
msgid "You are about to reset your license information. Proceed?"
|
1356 |
msgstr ""
|
1357 |
|
1358 |
-
#: core/class-wptouch-pro.php:
|
1359 |
msgid "Upload Failed: Not a valid image."
|
1360 |
msgstr ""
|
1361 |
|
1362 |
-
#: core/class-wptouch-pro.php:
|
1363 |
msgid ""
|
1364 |
"WPtouch is saving settings. Please do not refresh the page while saving."
|
1365 |
msgstr ""
|
1366 |
|
1367 |
-
#: core/class-wptouch-pro.php:
|
1368 |
msgid "Install Themes"
|
1369 |
msgstr ""
|
1370 |
|
1371 |
-
#: core/class-wptouch-pro.php:
|
1372 |
msgid "Install Extensions"
|
1373 |
msgstr ""
|
1374 |
|
1375 |
-
#: core/class-wptouch-pro.php:
|
1376 |
msgid "%s Changelog"
|
1377 |
msgstr ""
|
1378 |
|
1379 |
-
#: core/class-wptouch-pro.php:
|
1380 |
msgid "Directory Problem"
|
1381 |
msgstr ""
|
1382 |
|
1383 |
-
#: core/class-wptouch-pro.php:
|
1384 |
msgid "One or more required directories could not be created"
|
1385 |
msgstr ""
|
1386 |
|
@@ -1391,11 +1391,11 @@ msgid ""
|
|
1391 |
"information."
|
1392 |
msgstr ""
|
1393 |
|
1394 |
-
#: core/compat.php:120 core/compat.php:
|
1395 |
msgid "Dismiss this notice."
|
1396 |
msgstr ""
|
1397 |
|
1398 |
-
#: core/compat.php:
|
1399 |
msgid ""
|
1400 |
"The %1$s plugin is not compatible with WPtouch. Some features may not "
|
1401 |
"function properly. Check out %2$sthis support article%3$s for more "
|
@@ -2496,31 +2496,13 @@ msgstr ""
|
|
2496 |
msgid "Page"
|
2497 |
msgstr ""
|
2498 |
|
2499 |
-
#: wptouch.php:
|
2500 |
-
msgid ""
|
2501 |
-
"%sSign-up to to get WPtouch news, updates and changes via your user email "
|
2502 |
-
"address:%s"
|
2503 |
-
msgstr ""
|
2504 |
-
|
2505 |
-
#: wptouch.php:160
|
2506 |
-
msgid ""
|
2507 |
-
"%sNEW! WPtouch now supports live editing in the WordPress Customizer!%s "
|
2508 |
-
"Check it out: <a href=\"%s?"
|
2509 |
-
"wptouch_free_message_419=1&utm_source=free_admin&utm_medium=website&utm_term=dale&utm_campaign=admin_notice"
|
2510 |
-
"\">Customize WPtouch Now →</a> %s"
|
2511 |
-
msgstr ""
|
2512 |
-
|
2513 |
-
#: wptouch.php:161
|
2514 |
-
msgid "%sSign-up to to get WPtouch news, updates and changes via email:%s"
|
2515 |
-
msgstr ""
|
2516 |
-
|
2517 |
-
#: wptouch.php:195
|
2518 |
msgid ""
|
2519 |
"Thanks for using WPtouch! If you'd like to sign up for news and updates from "
|
2520 |
"the team you can %1$ssubscribe to our newsletter%2$s."
|
2521 |
msgstr ""
|
2522 |
|
2523 |
-
#: wptouch.php:
|
2524 |
msgid "Dismiss this notice (permanently)."
|
2525 |
msgstr ""
|
2526 |
|
@@ -2528,9 +2510,9 @@ msgstr ""
|
|
2528 |
msgid "WPtouch Mobile Plugin"
|
2529 |
msgstr ""
|
2530 |
|
2531 |
-
#. #-#-#-#-# wptouch.pot (WPtouch Mobile Plugin 4.3.
|
2532 |
#. Plugin URI of the plugin/theme
|
2533 |
-
#. #-#-#-#-# wptouch.pot (WPtouch Mobile Plugin 4.3.
|
2534 |
#. Author URI of the plugin/theme
|
2535 |
msgid "http://www.wptouch.com/"
|
2536 |
msgstr ""
|
2 |
# This file is distributed under the same license as the WPtouch Mobile Plugin package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: WPtouch Mobile Plugin 4.3.14\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
|
7 |
+
"POT-Creation-Date: 2017-03-21 15:09:19+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
377 |
#: admin/pages/custom/wptouch-admin-wizard.php:179
|
378 |
#: admin/settings/html/theme-browser-item-detail.php:52
|
379 |
#: admin/settings/html/updates-available.php:35
|
380 |
+
#: admin/settings/html/updates-available.php:71 core/class-wptouch-pro.php:972
|
381 |
msgid "Download"
|
382 |
msgstr ""
|
383 |
|
387 |
#: admin/settings/html/installed_icon_sets_ajax.php:13
|
388 |
#: admin/settings/html/installed_icon_sets_ajax.php:26
|
389 |
#: admin/settings/html/theme-browser-item.php:12
|
390 |
+
#: core/class-wptouch-pro.php:971
|
391 |
msgid "Installed"
|
392 |
msgstr ""
|
393 |
|
805 |
|
806 |
#: admin/pages/wptouch-admin-general-settings.php:593
|
807 |
#: admin/settings/html/installed_icon_sets_ajax.php:4
|
808 |
+
#: core/class-wptouch-pro.php:2167 core/class-wptouch-pro.php:2168
|
809 |
#: core/config.php:54
|
810 |
msgid "Custom Icons"
|
811 |
msgstr ""
|
922 |
msgid "No extensions available"
|
923 |
msgstr ""
|
924 |
|
925 |
+
#: admin/settings/html/image-upload.php:7 core/class-wptouch-pro.php:964
|
926 |
msgid "Upload Complete!"
|
927 |
msgstr ""
|
928 |
|
941 |
msgstr ""
|
942 |
|
943 |
#: admin/settings/html/installed_icon_sets_ajax.php:25
|
944 |
+
#: core/class-wptouch-pro.php:970
|
945 |
msgid "Installing"
|
946 |
msgstr ""
|
947 |
|
948 |
#: admin/settings/html/installed_icon_sets_ajax.php:25
|
949 |
#: admin/settings/html/theme-browser-item-detail.php:3
|
950 |
+
#: core/admin-extensions.php:365 core/class-wptouch-pro.php:969
|
951 |
msgid "Install"
|
952 |
msgstr ""
|
953 |
|
1159 |
msgid "Setup Wizard"
|
1160 |
msgstr ""
|
1161 |
|
1162 |
+
#: core/admin-menu.php:49 core/class-wptouch-pro.php:1639
|
1163 |
msgid "Settings"
|
1164 |
msgstr ""
|
1165 |
|
1256 |
msgid "Reset Settings"
|
1257 |
msgstr ""
|
1258 |
|
1259 |
+
#: core/class-wptouch-pro.php:649
|
1260 |
msgid ""
|
1261 |
"Automatic theme migration from wp-content/uploads/wptouch-data directory "
|
1262 |
"failed. Please manually move these folders to wp-content/wptouch-data: %s"
|
1263 |
msgstr ""
|
1264 |
|
1265 |
+
#: core/class-wptouch-pro.php:668
|
1266 |
msgid ""
|
1267 |
"%sWPtouch: %s was recently disabled, but is still affecting your website and "
|
1268 |
"caching pages.%s"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
+
#: core/class-wptouch-pro.php:669
|
1272 |
msgid ""
|
1273 |
"%sPlease reactivate the plugin, disable page caching, then deactivate the "
|
1274 |
"plugin again to correct this issue.%s"
|
1275 |
msgstr ""
|
1276 |
|
1277 |
+
#: core/class-wptouch-pro.php:670 core/class-wptouch-pro.php:679
|
1278 |
msgid ""
|
1279 |
"%sFixing this issue prevents cached desktop pages being served to mobile "
|
1280 |
"devices and vice-versa.%s"
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: core/class-wptouch-pro.php:671 core/class-wptouch-pro.php:680
|
1284 |
msgid ""
|
1285 |
"%sOnce fixed, this message will be dismissed automatically. Until fixed, "
|
1286 |
"%sWPtouch will not be shown%s to mobile visitors, and cannot be previewed.%s"
|
1287 |
msgstr ""
|
1288 |
|
1289 |
+
#: core/class-wptouch-pro.php:678
|
1290 |
msgid "%sWPtouch: %s needs to be configured to work correctly with WPtouch.%s"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
+
#: core/class-wptouch-pro.php:681
|
1294 |
msgid ""
|
1295 |
"%sTo fix the issue, follow our %sstep-by-step setup guide%s on support."
|
1296 |
"wptouch.com%s"
|
1297 |
msgstr ""
|
1298 |
|
1299 |
+
#: core/class-wptouch-pro.php:693
|
1300 |
msgid "WPtouch Repair Required"
|
1301 |
msgstr ""
|
1302 |
|
1303 |
+
#: core/class-wptouch-pro.php:700
|
1304 |
msgid "Your mobile theme was either broken or missing."
|
1305 |
msgstr ""
|
1306 |
|
1307 |
+
#: core/class-wptouch-pro.php:701
|
1308 |
msgid "We downloaded a fresh copy for you."
|
1309 |
msgstr ""
|
1310 |
|
1311 |
+
#: core/class-wptouch-pro.php:702 core/class-wptouch-pro.php:712
|
1312 |
msgid "OK"
|
1313 |
msgstr ""
|
1314 |
|
1315 |
+
#: core/class-wptouch-pro.php:705
|
1316 |
msgid ""
|
1317 |
"We were unable to install your WPtouch Pro theme from the Cloud. %s Please "
|
1318 |
"visit %sthis article%s for more information."
|
1319 |
msgstr ""
|
1320 |
|
1321 |
+
#: core/class-wptouch-pro.php:708
|
1322 |
msgid "WPtouch Server Issue"
|
1323 |
msgstr ""
|
1324 |
|
1325 |
+
#: core/class-wptouch-pro.php:710
|
1326 |
msgid ""
|
1327 |
"Your server setup is preventing WPtouch Pro from installing from the Cloud. "
|
1328 |
"%s Please visit %sthis article%s for more information on how to fix it."
|
1329 |
msgstr ""
|
1330 |
|
1331 |
+
#: core/class-wptouch-pro.php:959
|
1332 |
msgid ""
|
1333 |
"This will reset all WPtouch Pro settings.\n"
|
1334 |
"Are you sure?"
|
1335 |
msgstr ""
|
1336 |
|
1337 |
+
#: core/class-wptouch-pro.php:960
|
1338 |
msgid ""
|
1339 |
"This will reset all WPtouch Pro settings and delete the wptouch-data "
|
1340 |
"folder.\n"
|
1341 |
"Are you sure?"
|
1342 |
msgstr ""
|
1343 |
|
1344 |
+
#: core/class-wptouch-pro.php:961
|
1345 |
msgid ""
|
1346 |
"This will reset all WPtouch Pro settings, delete the wptouch-data folder, "
|
1347 |
"and deactivate the plugin. Are you sure?"
|
1348 |
msgstr ""
|
1349 |
|
1350 |
+
#: core/class-wptouch-pro.php:962
|
1351 |
msgid "The item failed to download for this reason: %reason%"
|
1352 |
msgstr ""
|
1353 |
|
1354 |
+
#: core/class-wptouch-pro.php:963
|
1355 |
msgid "You are about to reset your license information. Proceed?"
|
1356 |
msgstr ""
|
1357 |
|
1358 |
+
#: core/class-wptouch-pro.php:965
|
1359 |
msgid "Upload Failed: Not a valid image."
|
1360 |
msgstr ""
|
1361 |
|
1362 |
+
#: core/class-wptouch-pro.php:966
|
1363 |
msgid ""
|
1364 |
"WPtouch is saving settings. Please do not refresh the page while saving."
|
1365 |
msgstr ""
|
1366 |
|
1367 |
+
#: core/class-wptouch-pro.php:967
|
1368 |
msgid "Install Themes"
|
1369 |
msgstr ""
|
1370 |
|
1371 |
+
#: core/class-wptouch-pro.php:968
|
1372 |
msgid "Install Extensions"
|
1373 |
msgstr ""
|
1374 |
|
1375 |
+
#: core/class-wptouch-pro.php:1676
|
1376 |
msgid "%s Changelog"
|
1377 |
msgstr ""
|
1378 |
|
1379 |
+
#: core/class-wptouch-pro.php:3093
|
1380 |
msgid "Directory Problem"
|
1381 |
msgstr ""
|
1382 |
|
1383 |
+
#: core/class-wptouch-pro.php:3094
|
1384 |
msgid "One or more required directories could not be created"
|
1385 |
msgstr ""
|
1386 |
|
1391 |
"information."
|
1392 |
msgstr ""
|
1393 |
|
1394 |
+
#: core/compat.php:120 core/compat.php:188
|
1395 |
msgid "Dismiss this notice."
|
1396 |
msgstr ""
|
1397 |
|
1398 |
+
#: core/compat.php:185
|
1399 |
msgid ""
|
1400 |
"The %1$s plugin is not compatible with WPtouch. Some features may not "
|
1401 |
"function properly. Check out %2$sthis support article%3$s for more "
|
2496 |
msgid "Page"
|
2497 |
msgstr ""
|
2498 |
|
2499 |
+
#: wptouch.php:152
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2500 |
msgid ""
|
2501 |
"Thanks for using WPtouch! If you'd like to sign up for news and updates from "
|
2502 |
"the team you can %1$ssubscribe to our newsletter%2$s."
|
2503 |
msgstr ""
|
2504 |
|
2505 |
+
#: wptouch.php:154
|
2506 |
msgid "Dismiss this notice (permanently)."
|
2507 |
msgstr ""
|
2508 |
|
2510 |
msgid "WPtouch Mobile Plugin"
|
2511 |
msgstr ""
|
2512 |
|
2513 |
+
#. #-#-#-#-# wptouch.pot (WPtouch Mobile Plugin 4.3.14) #-#-#-#-#
|
2514 |
#. Plugin URI of the plugin/theme
|
2515 |
+
#. #-#-#-#-# wptouch.pot (WPtouch Mobile Plugin 4.3.14) #-#-#-#-#
|
2516 |
#. Author URI of the plugin/theme
|
2517 |
msgid "http://www.wptouch.com/"
|
2518 |
msgstr ""
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: wptouch, duanestorey, dalemugford, adamdipardo, oxymoron
|
3 |
Tags: wptouch, iphone, ipod, bravenewcode, mobile, mobile-friendly, android, blackberry, smartphone, responsive, design, mobile plugin, ios, mobile theme
|
4 |
Requires at least: 4.2
|
5 |
-
Stable tag: 4.3.
|
6 |
Tested up to: 4.7
|
7 |
License: GPLv2
|
8 |
|
@@ -33,6 +33,12 @@ For more information visit [WPtouch.com](http://www.wptouch.com/?utm_campaign=wp
|
|
33 |
|
34 |
== Changelog ==
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
= Version 4.3.13.1 (March 8, 2017) =
|
37 |
|
38 |
* Fixed: Bug where if you dismissed the newsletter signup outside of the WPtouch settings area it would continue to show the notice.
|
2 |
Contributors: wptouch, duanestorey, dalemugford, adamdipardo, oxymoron
|
3 |
Tags: wptouch, iphone, ipod, bravenewcode, mobile, mobile-friendly, android, blackberry, smartphone, responsive, design, mobile plugin, ios, mobile theme
|
4 |
Requires at least: 4.2
|
5 |
+
Stable tag: 4.3.14
|
6 |
Tested up to: 4.7
|
7 |
License: GPLv2
|
8 |
|
33 |
|
34 |
== Changelog ==
|
35 |
|
36 |
+
= Version 4.3.14 (March 20, 2017) =
|
37 |
+
|
38 |
+
* Fixed: Updated functionality for theme incompatibility notice to be permanently dismissed.
|
39 |
+
* Fixed: Updated functionality for plugin incompatibility notice to be permanently dismissed.
|
40 |
+
* Fixed: Bug where automatically-chosen font colors were wrong.
|
41 |
+
|
42 |
= Version 4.3.13.1 (March 8, 2017) =
|
43 |
|
44 |
* Fixed: Bug where if you dismissed the newsletter signup outside of the WPtouch settings area it would continue to show the notice.
|
wptouch.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: WPtouch Mobile Plugin
|
4 |
Plugin URI: http://www.wptouch.com/
|
5 |
-
Version: 4.3.
|
6 |
Description: Make a beautiful mobile-friendly version of your website with just a few clicks.
|
7 |
Author: WPtouch
|
8 |
Author URI: http://www.wptouch.com/
|
@@ -14,7 +14,7 @@
|
|
14 |
|
15 |
function wptouch_create_four_object() {
|
16 |
if ( !defined( 'WPTOUCH_IS_PRO' ) ) {
|
17 |
-
define( 'WPTOUCH_VERSION', '4.3.
|
18 |
|
19 |
define( 'WPTOUCH_BASE_NAME', basename( __FILE__, '.php' ) . '.php' );
|
20 |
define( 'WPTOUCH_DIR', WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . basename( __FILE__, '.php' ) );
|
@@ -140,49 +140,6 @@ function wptouch_free_get_random_site( $amount ) {
|
|
140 |
return $result % $amount;
|
141 |
}
|
142 |
|
143 |
-
function wptouch_free_admin_notice() {
|
144 |
-
global $current_user;
|
145 |
-
$user_id = $current_user->ID;
|
146 |
-
|
147 |
-
if ( current_user_can( 'activate_plugins' ) ) {
|
148 |
-
$random_num = wptouch_free_get_random_site( 2 );
|
149 |
-
if ( !get_user_meta( $user_id, 'wptouch_free_message_419', true ) ) {
|
150 |
-
echo '<div style="position:relative;" class="notice notice-success">';
|
151 |
-
switch( $random_num ) {
|
152 |
-
case 0:
|
153 |
-
$current_user = wp_get_current_user();
|
154 |
-
echo '<p><form action="http://wptouch.createsend.com/t/t/s/xurhlk/" method="post" id="subForm"><input id="fieldName" name="cm-name" type="hidden" value="' . $current_user->first_name . ' ' . $current_user->last_name . '" /><input id="fieldEmail" name="cm-xurhlk-xurhlk" type="hidden" value="' . $current_user->user_email . '" />' . sprintf( __( '%sSign-up to to get WPtouch news, updates and changes via your user email address:%s', 'wptouch' ), '<strong>', '</strong>' ) . '<button class="button button-secondary" type="submit" style="margin-left: 10px; margin-top:-5px;">Subscribe →</button></form></p>';
|
155 |
-
echo '<a style="text-decoration:none;" class="notice-dismiss" href="' . admin_url( 'admin.php?page=wptouch-admin-general-settings&wptouch_free_message_419=1' ) . '"></a>';
|
156 |
-
break;
|
157 |
-
case 1:
|
158 |
-
$current_user = wp_get_current_user();
|
159 |
-
$customizer_url = admin_url( 'customize.php' );
|
160 |
-
echo '<p>' . sprintf( __( '%sNEW! WPtouch now supports live editing in the WordPress Customizer!%s Check it out: <a href="%s?wptouch_free_message_419=1&utm_source=free_admin&utm_medium=website&utm_term=dale&utm_campaign=admin_notice">Customize WPtouch Now →</a> %s', 'wptouch' ), '<strong>', '</strong>', $customizer_url, '<a style="text-decoration:none;" class="notice-dismiss" href="' . admin_url( 'admin.php?page=wptouch-admin-general-settings&wptouch_free_message_419=1' ) . '"></a>' ) . '</p>';
|
161 |
-
echo '<p><form action="http://wptouch.createsend.com/t/t/s/xurhlk/" method="post" id="subForm"><input id="fieldName" name="cm-name" type="hidden" value="' . $current_user->first_name . ' ' . $current_user->last_name . '" /><input id="fieldEmail" name="cm-xurhlk-xurhlk" type="hidden" value="' . $current_user->user_email . '" />' . sprintf( __( '%sSign-up to to get WPtouch news, updates and changes via email:%s', 'wptouch' ), '<strong>', '</strong>' ) . '<button class="button button-secondary" type="submit" style="margin-left: 10px; margin-top:-5px;">Subscribe →</button></form></p>';
|
162 |
-
echo '<a style="text-decoration:none;" class="notice-dismiss" href="' . admin_url( 'admin.php?page=wptouch-admin-general-settings&wptouch_free_message_419=1' ) . '"></a>';
|
163 |
-
break;
|
164 |
-
}
|
165 |
-
echo '</div>';
|
166 |
-
}
|
167 |
-
}
|
168 |
-
}
|
169 |
-
|
170 |
-
function wptouch_free_admin_notice_dismiss() {
|
171 |
-
global $current_user;
|
172 |
-
$user_id = $current_user->ID;
|
173 |
-
|
174 |
-
/* If user clicks to ignore the notice, add that to their user meta */
|
175 |
-
if ( isset( $_GET[ 'wptouch_free_message_419' ] ) && $_GET[ 'wptouch_free_message_419' ] == '1' ) {
|
176 |
-
setcookie( 'wptouch_customizer_mode', 'mobile', 0, '/' );
|
177 |
-
|
178 |
-
update_user_meta( $user_id, 'wptouch_free_message_419', '1' );
|
179 |
-
}
|
180 |
-
|
181 |
-
}
|
182 |
-
|
183 |
-
add_action( 'admin_init', 'wptouch_free_admin_notice_dismiss' );
|
184 |
-
//add_action( 'admin_notices', 'wptouch_free_admin_notice' );
|
185 |
-
|
186 |
/**
|
187 |
* Display free newsletter notice + link to users.
|
188 |
*/
|
2 |
/*
|
3 |
Plugin Name: WPtouch Mobile Plugin
|
4 |
Plugin URI: http://www.wptouch.com/
|
5 |
+
Version: 4.3.14
|
6 |
Description: Make a beautiful mobile-friendly version of your website with just a few clicks.
|
7 |
Author: WPtouch
|
8 |
Author URI: http://www.wptouch.com/
|
14 |
|
15 |
function wptouch_create_four_object() {
|
16 |
if ( !defined( 'WPTOUCH_IS_PRO' ) ) {
|
17 |
+
define( 'WPTOUCH_VERSION', '4.3.14' );
|
18 |
|
19 |
define( 'WPTOUCH_BASE_NAME', basename( __FILE__, '.php' ) . '.php' );
|
20 |
define( 'WPTOUCH_DIR', WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . basename( __FILE__, '.php' ) );
|
140 |
return $result % $amount;
|
141 |
}
|
142 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
/**
|
144 |
* Display free newsletter notice + link to users.
|
145 |
*/
|