WPtouch - Version 4.3.24

Version Description

Download this release

Release Info

Developer wptouch
Plugin Icon 128x128 WPtouch
Version 4.3.24
Comparing to
See all releases

Code changes from version 4.3.23 to 4.3.24

admin/customizer/wptouch-customize-control-multiple-checkbox.php CHANGED
@@ -21,7 +21,7 @@ class WPtouch_Customize_Control_Multiple_Checkbox extends WP_Customize_Control {
21
  <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
22
  <?php endif; ?>
23
  <?php if ( ! empty( $this->description ) ) : ?>
24
- <span class="description customize-control-description"><?php echo $this->description; ?></span>
25
  <?php endif; ?>
26
  <?php $multi_values = ! is_array( $this->value() ) ? explode( ',', $this->value() ) : $this->value(); ?>
27
  <ul class="customize-control-selectlist">
21
  <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
22
  <?php endif; ?>
23
  <?php if ( ! empty( $this->description ) ) : ?>
24
+ <span class="description customize-control-description"><?php echo esc_html( $this->description ); ?></span>
25
  <?php endif; ?>
26
  <?php $multi_values = ! is_array( $this->value() ) ? explode( ',', $this->value() ) : $this->value(); ?>
27
  <ul class="customize-control-selectlist">
core/class-wptouch-pro.php CHANGED
@@ -559,7 +559,7 @@ class WPtouchProFour {
559
 
560
  $shortcode_data[ 'page-' . $page ] = $page_shortcode_data;
561
 
562
- echo $content;
563
 
564
  update_post_meta( $this->post[ 'post_id' ], 'wptouch_sc_data', $shortcode_data );
565
  }
@@ -736,7 +736,9 @@ class WPtouchProFour {
736
 
737
  echo '<div class="error">';
738
  foreach( $this->get_critical_notifications() as $notification ) {
739
- echo '<p>' . $notification[0] . '</p>';
 
 
740
  }
741
  echo '</div>';
742
 
@@ -1691,7 +1693,7 @@ class WPtouchProFour {
1691
  switch( $_REQUEST[ 'plugin' ] ) {
1692
  case 'wptouch-pro':
1693
  echo '<div style="padding: 3%">';
1694
- echo "<h2 style=\"font-family:'open sans', sans-serif;\">" . sprintf( __( '%s Changelog', 'wptouch-pro' ), WPTOUCH_PRODUCT_NAME ) . "</h2>";
1695
 
1696
  require_once( WPTOUCH_DIR . '/core/admin-ajax.php' );
1697
 
@@ -2962,7 +2964,7 @@ class WPtouchProFour {
2962
  if ( $query_string ) {
2963
  $query_string = '?' . $query_string;
2964
  }
2965
- header( 'Location: ' . urldecode( $url ) . $query_string );
2966
  }
2967
  die;
2968
  }
@@ -3343,7 +3345,7 @@ class WPtouchProFour {
3343
 
3344
  $setting_name = $this->get_wp_setting_name_for_domain( $domain );
3345
 
3346
- if ( $this->is_domain_site_wide( $domain ) ) {
3347
  WPTOUCH_DEBUG( WPTOUCH_VERBOSE, 'Saving site wide option for domain ' . $domain );
3348
  update_site_option( $setting_name, $settings );
3349
  } else {
559
 
560
  $shortcode_data[ 'page-' . $page ] = $page_shortcode_data;
561
 
562
+ echo wp_kses_post( $content );
563
 
564
  update_post_meta( $this->post[ 'post_id' ], 'wptouch_sc_data', $shortcode_data );
565
  }
736
 
737
  echo '<div class="error">';
738
  foreach( $this->get_critical_notifications() as $notification ) {
739
+ if ( ! empty( $notification[0] ) ) {
740
+ echo '<p>' . esc_html( $notification[0] ) . '</p>';
741
+ }
742
  }
743
  echo '</div>';
744
 
1693
  switch( $_REQUEST[ 'plugin' ] ) {
1694
  case 'wptouch-pro':
1695
  echo '<div style="padding: 3%">';
1696
+ echo "<h2 style=\"font-family:'open sans', sans-serif;\">" . sprintf( __( '%s Changelog', 'wptouch-pro' ), esc_html( WPTOUCH_PRODUCT_NAME ) ) . "</h2>";
1697
 
1698
  require_once( WPTOUCH_DIR . '/core/admin-ajax.php' );
1699
 
2964
  if ( $query_string ) {
2965
  $query_string = '?' . $query_string;
2966
  }
2967
+ header( 'Location: ' . esc_url( urldecode( $url ) . $query_string ) );
2968
  }
2969
  die;
2970
  }
3345
 
3346
  $setting_name = $this->get_wp_setting_name_for_domain( $domain );
3347
 
3348
+ if ( $this->is_domain_site_wide( $domain ) ) {
3349
  WPTOUCH_DEBUG( WPTOUCH_VERBOSE, 'Saving site wide option for domain ' . $domain );
3350
  update_site_option( $setting_name, $settings );
3351
  } else {
core/globals.php CHANGED
@@ -276,16 +276,16 @@ function wptouch_get_bloginfo( $setting_name ) {
276
  $setting = $wptouch_pro->get_current_theme_directory();
277
  break;
278
  case 'theme_root_url':
279
- $setting = $wptouch_pro->get_current_theme_uri();
280
  break;
281
  case 'theme_parent_url':
282
- $setting = $wptouch_pro->change_dir_to_url( $wptouch_pro->get_current_parent_location() );
283
  break;
284
  case 'site_title':
285
  if ( $settings->site_title != '' ) {
286
- $setting = $settings->site_title;
287
  } else {
288
- $setting = get_bloginfo('name');
289
  }
290
  break;
291
  case 'wptouch_directory':
@@ -299,12 +299,12 @@ function wptouch_get_bloginfo( $setting_name ) {
299
  break;
300
  case 'theme_count':
301
  $themes = $wptouch_pro->get_available_themes();
302
- $setting = count( $themes );
303
  break;
304
  case 'icon_set_count':
305
  $icon_sets = $wptouch_pro->get_available_icon_packs();
306
  // Remove the custom icon count
307
- $setting = count( $icon_sets ) - 1;
308
  break;
309
  case 'icon_count':
310
  $icon_sets = $wptouch_pro->get_available_icon_packs();
@@ -315,12 +315,12 @@ function wptouch_get_bloginfo( $setting_name ) {
315
  $icons = $wptouch_pro->get_icons_from_packs( $setname );
316
  $total_icons += count( $icons );
317
  }
318
- $setting = $total_icons;
319
  break;
320
  case 'support_licenses_remaining':
321
  $licenses = $wptouch_pro->bnc_api->user_list_licenses();
322
  if ( $licenses ) {
323
- $setting = $licenses['remaining'];
324
  } else {
325
  $setting = 0;
326
  }
@@ -328,7 +328,7 @@ function wptouch_get_bloginfo( $setting_name ) {
328
  case 'support_licenses_total':
329
  $licenses = $wptouch_pro->bnc_api->get_total_licenses();
330
  if ( $licenses ) {
331
- $setting = $licenses;
332
  } else {
333
  $setting = 0;
334
  }
@@ -336,39 +336,39 @@ function wptouch_get_bloginfo( $setting_name ) {
336
  case 'active_theme_friendly_name':
337
  $theme_info = $wptouch_pro->get_current_theme_info();
338
  if ( $theme_info ) {
339
- $setting = $theme_info->name;
340
  }
341
  break;
342
  case 'rss_url':
343
  if ( $settings->menu_custom_rss_url ) {
344
- $setting = $settings->menu_custom_rss_url;
345
  } else {
346
- $setting = get_bloginfo( 'rss2_url' );
347
  }
348
  break;
349
  case 'warnings':
350
- $setting = wptouch_get_plugin_warning_count();
351
  break;
352
  case 'url':
353
  if ( $settings->homepage_landing != 'none' ) {
354
  if ( $settings->homepage_landing == 'custom' ) {
355
- $setting = $settings->homepage_redirect_custom_target;
356
  } else {
357
  $redirect_target = $settings->homepage_redirect_wp_target;
358
  if ( function_exists( 'icl_object_id' ) ) {
359
  $redirect_target = icl_object_id( $redirect_target, 'page', true );
360
  }
361
- $setting = get_permalink( $redirect_target );
362
  }
363
  } else {
364
- $setting = home_url();
365
  }
366
  break;
367
  case 'search_url':
368
  if ( function_exists( 'home_url' ) ) {
369
- $setting = home_url();
370
  } else {
371
- $setting = get_bloginfo( 'home' );
372
  }
373
 
374
  if ( $wptouch_pro->is_previewing_mobile_theme() ) {
276
  $setting = $wptouch_pro->get_current_theme_directory();
277
  break;
278
  case 'theme_root_url':
279
+ $setting = esc_url( $wptouch_pro->get_current_theme_uri() );
280
  break;
281
  case 'theme_parent_url':
282
+ $setting = esc_url( $wptouch_pro->change_dir_to_url( $wptouch_pro->get_current_parent_location() ) );
283
  break;
284
  case 'site_title':
285
  if ( $settings->site_title != '' ) {
286
+ $setting = esc_html( $settings->site_title );
287
  } else {
288
+ $setting = esc_html( get_bloginfo( 'name' ) );
289
  }
290
  break;
291
  case 'wptouch_directory':
299
  break;
300
  case 'theme_count':
301
  $themes = $wptouch_pro->get_available_themes();
302
+ $setting = esc_html( count( $themes ) );
303
  break;
304
  case 'icon_set_count':
305
  $icon_sets = $wptouch_pro->get_available_icon_packs();
306
  // Remove the custom icon count
307
+ $setting = esc_html( count( $icon_sets ) - 1 );
308
  break;
309
  case 'icon_count':
310
  $icon_sets = $wptouch_pro->get_available_icon_packs();
315
  $icons = $wptouch_pro->get_icons_from_packs( $setname );
316
  $total_icons += count( $icons );
317
  }
318
+ $setting = esc_html( $total_icons );
319
  break;
320
  case 'support_licenses_remaining':
321
  $licenses = $wptouch_pro->bnc_api->user_list_licenses();
322
  if ( $licenses ) {
323
+ $setting = esc_html( $licenses['remaining'] );
324
  } else {
325
  $setting = 0;
326
  }
328
  case 'support_licenses_total':
329
  $licenses = $wptouch_pro->bnc_api->get_total_licenses();
330
  if ( $licenses ) {
331
+ $setting = esc_html( $licenses );
332
  } else {
333
  $setting = 0;
334
  }
336
  case 'active_theme_friendly_name':
337
  $theme_info = $wptouch_pro->get_current_theme_info();
338
  if ( $theme_info ) {
339
+ $setting = esc_html( $theme_info->name );
340
  }
341
  break;
342
  case 'rss_url':
343
  if ( $settings->menu_custom_rss_url ) {
344
+ $setting = esc_url( $settings->menu_custom_rss_url );
345
  } else {
346
+ $setting = esc_url( get_bloginfo( 'rss2_url' ) );
347
  }
348
  break;
349
  case 'warnings':
350
+ $setting = esc_url( wptouch_get_plugin_warning_count() );
351
  break;
352
  case 'url':
353
  if ( $settings->homepage_landing != 'none' ) {
354
  if ( $settings->homepage_landing == 'custom' ) {
355
+ $setting = esc_url( $settings->homepage_redirect_custom_target );
356
  } else {
357
  $redirect_target = $settings->homepage_redirect_wp_target;
358
  if ( function_exists( 'icl_object_id' ) ) {
359
  $redirect_target = icl_object_id( $redirect_target, 'page', true );
360
  }
361
+ $setting = esc_url( get_permalink( $redirect_target ) );
362
  }
363
  } else {
364
+ $setting = esc_url( home_url() );
365
  }
366
  break;
367
  case 'search_url':
368
  if ( function_exists( 'home_url' ) ) {
369
+ $setting = esc_url( home_url() );
370
  } else {
371
+ $setting = esc_url( get_bloginfo( 'home' ) );
372
  }
373
 
374
  if ( $wptouch_pro->is_previewing_mobile_theme() ) {
core/theme.php CHANGED
@@ -26,7 +26,7 @@ function wptouch_title() {
26
  }
27
 
28
  function wptouch_site_title() {
29
- echo wptouch_get_site_title();
30
  }
31
 
32
  function wptouch_get_site_title() {
@@ -42,7 +42,7 @@ function wptouch_the_post() {
42
  }
43
 
44
  function wptouch_the_content() {
45
- echo apply_filters( 'the_content', wptouch_get_content() );
46
  }
47
 
48
  function wptouch_get_content() {
@@ -50,7 +50,7 @@ function wptouch_get_content() {
50
  }
51
 
52
  function wptouch_the_excerpt() {
53
- echo wptouch_get_excerpt();
54
  }
55
 
56
  function wptouch_get_excerpt() {
@@ -68,7 +68,7 @@ function wptouch_get_footer_classes() {
68
  }
69
 
70
  function wptouch_body_classes() {
71
- echo wptouch_get_body_classes();
72
  }
73
 
74
  function wptouch_get_body_classes() {
@@ -125,12 +125,12 @@ function wptouch_canonical_link() {
125
  $permalink = get_permalink( $post->ID );
126
  }
127
 
128
- echo '<link rel="canonical" href="' . $permalink . '" />';
129
  }
130
  }
131
 
132
  function wptouch_the_title() {
133
- echo wptouch_get_title();
134
  }
135
 
136
  function wptouch_get_title() {
@@ -138,7 +138,7 @@ function wptouch_get_title() {
138
  }
139
 
140
  function wptouch_the_permalink() {
141
- echo wptouch_get_the_permalink();
142
  }
143
 
144
  function wptouch_get_the_permalink() {
@@ -146,7 +146,7 @@ function wptouch_get_the_permalink() {
146
  }
147
 
148
  function wptouch_post_classes() {
149
- echo implode( ' ', wptouch_get_post_classes() );
150
  }
151
 
152
  function wptouch_get_post_classes() {
@@ -205,7 +205,7 @@ function wptouch_has_post_thumbnail() {
205
  }
206
 
207
  function wptouch_the_post_thumbnail( $param = false ) {
208
- echo wptouch_get_the_post_thumbnail( $param );
209
  }
210
 
211
  function wptouch_get_the_post_thumbnail( $param = false ) {
@@ -232,7 +232,7 @@ function wptouch_get_the_post_thumbnail( $param = false ) {
232
  }
233
 
234
  function wptouch_content_classes() {
235
- echo implode( ' ', wptouch_get_content_classes() );
236
  }
237
 
238
  function wptouch_get_content_classes() {
@@ -242,7 +242,7 @@ function wptouch_get_content_classes() {
242
  }
243
 
244
  function wptouch_the_time( $format = false, $time = false ) {
245
- echo wptouch_get_the_time( $format, $time );
246
  }
247
 
248
  function wptouch_get_the_time( $format = false, $time = false ) {
@@ -294,7 +294,7 @@ function wptouch_is_custom_page_template() {
294
  }
295
 
296
  function wptouch_the_custom_page_template_id() {
297
- echo wptouch_get_custom_page_template_id();
298
  }
299
 
300
  function wptouch_get_custom_page_template_id() {
@@ -303,7 +303,7 @@ function wptouch_get_custom_page_template_id() {
303
  }
304
 
305
  function wptouch_the_mobile_switch_link() {
306
- echo wptouch_get_mobile_switch_link();
307
  }
308
 
309
  function wptouch_get_mobile_switch_link() {
@@ -321,7 +321,7 @@ function wptouch_use_mobile_switch_link() {
321
  }
322
 
323
  function wptouch_the_footer_message() {
324
- echo wptouch_get_the_footer_message();
325
  }
326
 
327
  function wptouch_get_the_footer_message() {
@@ -340,7 +340,7 @@ function wptouch_have_comments() {
340
  }
341
 
342
  function wptouch_the_comment_count() {
343
- echo wptouch_get_comment_count();
344
  }
345
 
346
  function wptouch_get_comment_count() {
@@ -358,7 +358,7 @@ function wptouch_get_comment_count() {
358
  }
359
 
360
  function wptouch_the_current_page_url() {
361
- echo wptouch_get_current_page_url();
362
  }
363
 
364
  function wptouch_get_current_page_url() {
@@ -397,7 +397,7 @@ function wptouch_ordered_tag_list( $num ) {
397
  if ( $sql ) {
398
  foreach ( $sql as $result ) {
399
  if ( $result ) {
400
- echo "<li><a href=\"" . get_tag_link( $result->term_id ) . "\">" . $result->name . "</a></li>";
401
  }
402
  }
403
  }
26
  }
27
 
28
  function wptouch_site_title() {
29
+ echo esc_html( wptouch_get_site_title() );
30
  }
31
 
32
  function wptouch_get_site_title() {
42
  }
43
 
44
  function wptouch_the_content() {
45
+ echo wp_kses_post( apply_filters( 'the_content', wptouch_get_content() ) );
46
  }
47
 
48
  function wptouch_get_content() {
50
  }
51
 
52
  function wptouch_the_excerpt() {
53
+ echo wp_kses_post( wptouch_get_excerpt() );
54
  }
55
 
56
  function wptouch_get_excerpt() {
68
  }
69
 
70
  function wptouch_body_classes() {
71
+ echo esc_attr( wptouch_get_body_classes() );
72
  }
73
 
74
  function wptouch_get_body_classes() {
125
  $permalink = get_permalink( $post->ID );
126
  }
127
 
128
+ echo '<link rel="canonical" href="' . esc_url( $permalink ) . '" />';
129
  }
130
  }
131
 
132
  function wptouch_the_title() {
133
+ echo esc_html( wptouch_get_title() );
134
  }
135
 
136
  function wptouch_get_title() {
138
  }
139
 
140
  function wptouch_the_permalink() {
141
+ echo esc_url( wptouch_get_the_permalink() );
142
  }
143
 
144
  function wptouch_get_the_permalink() {
146
  }
147
 
148
  function wptouch_post_classes() {
149
+ echo esc_attr( implode( ' ', wptouch_get_post_classes() ) );
150
  }
151
 
152
  function wptouch_get_post_classes() {
205
  }
206
 
207
  function wptouch_the_post_thumbnail( $param = false ) {
208
+ echo wp_kses_post( wptouch_get_the_post_thumbnail( $param ) );
209
  }
210
 
211
  function wptouch_get_the_post_thumbnail( $param = false ) {
232
  }
233
 
234
  function wptouch_content_classes() {
235
+ echo esc_attr( implode( ' ', wptouch_get_content_classes() ) );
236
  }
237
 
238
  function wptouch_get_content_classes() {
242
  }
243
 
244
  function wptouch_the_time( $format = false, $time = false ) {
245
+ echo esc_html( wptouch_get_the_time( $format, $time ) );
246
  }
247
 
248
  function wptouch_get_the_time( $format = false, $time = false ) {
294
  }
295
 
296
  function wptouch_the_custom_page_template_id() {
297
+ echo esc_html( wptouch_get_custom_page_template_id() );
298
  }
299
 
300
  function wptouch_get_custom_page_template_id() {
303
  }
304
 
305
  function wptouch_the_mobile_switch_link() {
306
+ echo esc_url( wptouch_get_mobile_switch_link() );
307
  }
308
 
309
  function wptouch_get_mobile_switch_link() {
321
  }
322
 
323
  function wptouch_the_footer_message() {
324
+ echo wp_kses_post( wptouch_get_the_footer_message() );
325
  }
326
 
327
  function wptouch_get_the_footer_message() {
340
  }
341
 
342
  function wptouch_the_comment_count() {
343
+ echo absint( wptouch_get_comment_count() );
344
  }
345
 
346
  function wptouch_get_comment_count() {
358
  }
359
 
360
  function wptouch_the_current_page_url() {
361
+ echo esc_url( wptouch_get_current_page_url() );
362
  }
363
 
364
  function wptouch_get_current_page_url() {
397
  if ( $sql ) {
398
  foreach ( $sql as $result ) {
399
  if ( $result ) {
400
+ echo wp_kses_post( "<li><a href=\"" . get_tag_link( $result->term_id ) . "\">" . $result->name . "</a></li>" );
401
  }
402
  }
403
  }
lang/wptouch.pot CHANGED
@@ -1,14 +1,14 @@
1
- # Copyright (C) 2017 WPtouch Mobile Plugin
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.23\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
7
- "POT-Creation-Date: 2017-12-27 21:15:40+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
@@ -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:990
381
  msgid "Download"
382
  msgstr ""
383
 
@@ -386,7 +386,7 @@ msgstr ""
386
  #: admin/settings/html/extension-browser-item.php:10
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 core/class-wptouch-pro.php:989
390
  msgid "Installed"
391
  msgstr ""
392
 
@@ -821,7 +821,7 @@ msgstr ""
821
 
822
  #: admin/pages/wptouch-admin-general-settings.php:623
823
  #: admin/settings/html/installed_icon_sets_ajax.php:4
824
- #: core/class-wptouch-pro.php:2185 core/class-wptouch-pro.php:2186
825
  #: core/config.php:54
826
  msgid "Custom Icons"
827
  msgstr ""
@@ -938,7 +938,7 @@ msgstr ""
938
  msgid "No extensions available"
939
  msgstr ""
940
 
941
- #: admin/settings/html/image-upload.php:7 core/class-wptouch-pro.php:982
942
  msgid "Upload Complete!"
943
  msgstr ""
944
 
@@ -957,13 +957,13 @@ msgid ""
957
  msgstr ""
958
 
959
  #: admin/settings/html/installed_icon_sets_ajax.php:25
960
- #: core/class-wptouch-pro.php:988
961
  msgid "Installing"
962
  msgstr ""
963
 
964
  #: admin/settings/html/installed_icon_sets_ajax.php:25
965
  #: admin/settings/html/theme-browser-item-detail.php:3
966
- #: core/admin-extensions.php:365 core/class-wptouch-pro.php:987
967
  msgid "Install"
968
  msgstr ""
969
 
@@ -1175,7 +1175,7 @@ msgstr ""
1175
  msgid "Setup Wizard"
1176
  msgstr ""
1177
 
1178
- #: core/admin-menu.php:49 core/class-wptouch-pro.php:1657
1179
  msgid "Settings"
1180
  msgstr ""
1181
 
@@ -1344,59 +1344,59 @@ msgid ""
1344
  "%s Please visit %sthis article%s for more information on how to fix it."
1345
  msgstr ""
1346
 
1347
- #: core/class-wptouch-pro.php:977
1348
  msgid ""
1349
  "This will reset all WPtouch Pro settings.\n"
1350
  "Are you sure?"
1351
  msgstr ""
1352
 
1353
- #: core/class-wptouch-pro.php:978
1354
  msgid ""
1355
  "This will reset all WPtouch Pro settings and delete the wptouch-data "
1356
  "folder.\n"
1357
  "Are you sure?"
1358
  msgstr ""
1359
 
1360
- #: core/class-wptouch-pro.php:979
1361
  msgid ""
1362
  "This will reset all WPtouch Pro settings, delete the wptouch-data folder, "
1363
  "and deactivate the plugin. Are you sure?"
1364
  msgstr ""
1365
 
1366
- #: core/class-wptouch-pro.php:980
1367
  msgid "The item failed to download for this reason: %reason%"
1368
  msgstr ""
1369
 
1370
- #: core/class-wptouch-pro.php:981
1371
  msgid "You are about to reset your license information. Proceed?"
1372
  msgstr ""
1373
 
1374
- #: core/class-wptouch-pro.php:983
1375
  msgid "Upload Failed: Not a valid image."
1376
  msgstr ""
1377
 
1378
- #: core/class-wptouch-pro.php:984
1379
  msgid ""
1380
  "WPtouch is saving settings. Please do not refresh the page while saving."
1381
  msgstr ""
1382
 
1383
- #: core/class-wptouch-pro.php:985
1384
  msgid "Install Themes"
1385
  msgstr ""
1386
 
1387
- #: core/class-wptouch-pro.php:986
1388
  msgid "Install Extensions"
1389
  msgstr ""
1390
 
1391
- #: core/class-wptouch-pro.php:1694
1392
  msgid "%s Changelog"
1393
  msgstr ""
1394
 
1395
- #: core/class-wptouch-pro.php:3111
1396
  msgid "Directory Problem"
1397
  msgstr ""
1398
 
1399
- #: core/class-wptouch-pro.php:3112
1400
  msgid "One or more required directories could not be created"
1401
  msgstr ""
1402
 
@@ -2361,7 +2361,7 @@ msgid "iPad"
2361
  msgstr ""
2362
 
2363
  #: themes/foundation/modules/tablets/tablets.php:64
2364
- #: themes/foundation/root-functions.php:553
2365
  msgid "%d by %d pixels (PNG)"
2366
  msgstr ""
2367
 
@@ -2381,131 +2381,131 @@ msgstr ""
2381
  msgid "Custom Content"
2382
  msgstr ""
2383
 
2384
- #: themes/foundation/root-functions.php:51
2385
  msgid "Language: "
2386
  msgstr ""
2387
 
2388
- #: themes/foundation/root-functions.php:466
2389
  msgid "Theme Colors"
2390
  msgstr ""
2391
 
2392
- #: themes/foundation/root-functions.php:482
2393
  msgid "Number of posts in post listings"
2394
  msgstr ""
2395
 
2396
- #: themes/foundation/root-functions.php:483
2397
  msgid ""
2398
  "Overrides the WordPress Reading settings for \"Blog pages show at most\""
2399
  msgstr ""
2400
 
2401
- #: themes/foundation/root-functions.php:495
2402
  msgid "Excluded categories"
2403
  msgstr ""
2404
 
2405
- #: themes/foundation/root-functions.php:496
2406
  msgid "Comma separated by category name"
2407
  msgstr ""
2408
 
2409
- #: themes/foundation/root-functions.php:503
2410
  msgid "Excluded tags"
2411
  msgstr ""
2412
 
2413
- #: themes/foundation/root-functions.php:504
2414
  msgid "Comma separated by tag name"
2415
  msgstr ""
2416
 
2417
- #: themes/foundation/root-functions.php:526
2418
  msgid "Blog"
2419
  msgstr ""
2420
 
2421
- #: themes/foundation/root-functions.php:536
2422
- #: themes/foundation/root-functions.php:1356
2423
  msgid "Pages"
2424
  msgstr ""
2425
 
2426
- #: themes/foundation/root-functions.php:547
2427
  msgid "Site Icon"
2428
  msgstr ""
2429
 
2430
- #: themes/foundation/root-functions.php:571
2431
  msgid "Site Logo"
2432
  msgstr ""
2433
 
2434
- #: themes/foundation/root-functions.php:588
2435
  msgid "Header"
2436
  msgstr ""
2437
 
2438
- #: themes/foundation/root-functions.php:602
2439
  msgid "Custom footer content"
2440
  msgstr ""
2441
 
2442
- #: themes/foundation/root-functions.php:603
2443
  msgid "HTML is allowed"
2444
  msgstr ""
2445
 
2446
- #: themes/foundation/root-functions.php:620
2447
  msgid "Footer"
2448
  msgstr ""
2449
 
2450
- #: themes/foundation/root-functions.php:632
2451
  msgid "Custom CSS"
2452
  msgstr ""
2453
 
2454
- #: themes/foundation/root-functions.php:638
2455
  msgid "Custom CSS Declarations"
2456
  msgstr ""
2457
 
2458
- #: themes/foundation/root-functions.php:999
2459
  msgid "search results for '%s'"
2460
  msgstr ""
2461
 
2462
- #: themes/foundation/root-functions.php:1002
2463
  msgid "%sCategories &rsaquo;%s %s"
2464
  msgstr ""
2465
 
2466
- #: themes/foundation/root-functions.php:1004
2467
  msgid "Tags &rsaquo; %s"
2468
  msgstr ""
2469
 
2470
- #: themes/foundation/root-functions.php:1006
2471
- #: themes/foundation/root-functions.php:1008
2472
- #: themes/foundation/root-functions.php:1010
2473
  msgid "Archives &rsaquo; %s"
2474
  msgstr ""
2475
 
2476
- #: themes/foundation/root-functions.php:1024
2477
  msgid "Load more from this category"
2478
  msgstr ""
2479
 
2480
- #: themes/foundation/root-functions.php:1026
2481
  msgid "Load more tagged like this"
2482
  msgstr ""
2483
 
2484
- #: themes/foundation/root-functions.php:1028
2485
  msgid "Load more from this day"
2486
  msgstr ""
2487
 
2488
- #: themes/foundation/root-functions.php:1030
2489
  msgid "Load more from this month"
2490
  msgstr ""
2491
 
2492
- #: themes/foundation/root-functions.php:1032
2493
  msgid "Load more from this year"
2494
  msgstr ""
2495
 
2496
- #: themes/foundation/root-functions.php:1034
2497
  msgid "Load more in this section"
2498
  msgstr ""
2499
 
2500
- #: themes/foundation/root-functions.php:1036
2501
  msgid "Load more entries"
2502
  msgstr ""
2503
 
2504
- #: themes/foundation/root-functions.php:1299
2505
  msgid "Post"
2506
  msgstr ""
2507
 
2508
- #: themes/foundation/root-functions.php:1301
2509
  msgid "Page"
2510
  msgstr ""
2511
 
@@ -2523,9 +2523,9 @@ msgstr ""
2523
  msgid "WPtouch Mobile Plugin"
2524
  msgstr ""
2525
 
2526
- #. #-#-#-#-# wptouch.pot (WPtouch Mobile Plugin 4.3.23) #-#-#-#-#
2527
  #. Plugin URI of the plugin/theme
2528
- #. #-#-#-#-# wptouch.pot (WPtouch Mobile Plugin 4.3.23) #-#-#-#-#
2529
  #. Author URI of the plugin/theme
2530
  msgid "http://www.wptouch.com/"
2531
  msgstr ""
1
+ # Copyright (C) 2018 WPtouch Mobile Plugin
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.24\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
7
+ "POT-Creation-Date: 2018-02-01 22:55:41+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2018-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
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:992
381
  msgid "Download"
382
  msgstr ""
383
 
386
  #: admin/settings/html/extension-browser-item.php:10
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 core/class-wptouch-pro.php:991
390
  msgid "Installed"
391
  msgstr ""
392
 
821
 
822
  #: admin/pages/wptouch-admin-general-settings.php:623
823
  #: admin/settings/html/installed_icon_sets_ajax.php:4
824
+ #: core/class-wptouch-pro.php:2187 core/class-wptouch-pro.php:2188
825
  #: core/config.php:54
826
  msgid "Custom Icons"
827
  msgstr ""
938
  msgid "No extensions available"
939
  msgstr ""
940
 
941
+ #: admin/settings/html/image-upload.php:7 core/class-wptouch-pro.php:984
942
  msgid "Upload Complete!"
943
  msgstr ""
944
 
957
  msgstr ""
958
 
959
  #: admin/settings/html/installed_icon_sets_ajax.php:25
960
+ #: core/class-wptouch-pro.php:990
961
  msgid "Installing"
962
  msgstr ""
963
 
964
  #: admin/settings/html/installed_icon_sets_ajax.php:25
965
  #: admin/settings/html/theme-browser-item-detail.php:3
966
+ #: core/admin-extensions.php:365 core/class-wptouch-pro.php:989
967
  msgid "Install"
968
  msgstr ""
969
 
1175
  msgid "Setup Wizard"
1176
  msgstr ""
1177
 
1178
+ #: core/admin-menu.php:49 core/class-wptouch-pro.php:1659
1179
  msgid "Settings"
1180
  msgstr ""
1181
 
1344
  "%s Please visit %sthis article%s for more information on how to fix it."
1345
  msgstr ""
1346
 
1347
+ #: core/class-wptouch-pro.php:979
1348
  msgid ""
1349
  "This will reset all WPtouch Pro settings.\n"
1350
  "Are you sure?"
1351
  msgstr ""
1352
 
1353
+ #: core/class-wptouch-pro.php:980
1354
  msgid ""
1355
  "This will reset all WPtouch Pro settings and delete the wptouch-data "
1356
  "folder.\n"
1357
  "Are you sure?"
1358
  msgstr ""
1359
 
1360
+ #: core/class-wptouch-pro.php:981
1361
  msgid ""
1362
  "This will reset all WPtouch Pro settings, delete the wptouch-data folder, "
1363
  "and deactivate the plugin. Are you sure?"
1364
  msgstr ""
1365
 
1366
+ #: core/class-wptouch-pro.php:982
1367
  msgid "The item failed to download for this reason: %reason%"
1368
  msgstr ""
1369
 
1370
+ #: core/class-wptouch-pro.php:983
1371
  msgid "You are about to reset your license information. Proceed?"
1372
  msgstr ""
1373
 
1374
+ #: core/class-wptouch-pro.php:985
1375
  msgid "Upload Failed: Not a valid image."
1376
  msgstr ""
1377
 
1378
+ #: core/class-wptouch-pro.php:986
1379
  msgid ""
1380
  "WPtouch is saving settings. Please do not refresh the page while saving."
1381
  msgstr ""
1382
 
1383
+ #: core/class-wptouch-pro.php:987
1384
  msgid "Install Themes"
1385
  msgstr ""
1386
 
1387
+ #: core/class-wptouch-pro.php:988
1388
  msgid "Install Extensions"
1389
  msgstr ""
1390
 
1391
+ #: core/class-wptouch-pro.php:1696
1392
  msgid "%s Changelog"
1393
  msgstr ""
1394
 
1395
+ #: core/class-wptouch-pro.php:3113
1396
  msgid "Directory Problem"
1397
  msgstr ""
1398
 
1399
+ #: core/class-wptouch-pro.php:3114
1400
  msgid "One or more required directories could not be created"
1401
  msgstr ""
1402
 
2361
  msgstr ""
2362
 
2363
  #: themes/foundation/modules/tablets/tablets.php:64
2364
+ #: themes/foundation/root-functions.php:554
2365
  msgid "%d by %d pixels (PNG)"
2366
  msgstr ""
2367
 
2381
  msgid "Custom Content"
2382
  msgstr ""
2383
 
2384
+ #: themes/foundation/root-functions.php:52
2385
  msgid "Language: "
2386
  msgstr ""
2387
 
2388
+ #: themes/foundation/root-functions.php:467
2389
  msgid "Theme Colors"
2390
  msgstr ""
2391
 
2392
+ #: themes/foundation/root-functions.php:483
2393
  msgid "Number of posts in post listings"
2394
  msgstr ""
2395
 
2396
+ #: themes/foundation/root-functions.php:484
2397
  msgid ""
2398
  "Overrides the WordPress Reading settings for \"Blog pages show at most\""
2399
  msgstr ""
2400
 
2401
+ #: themes/foundation/root-functions.php:496
2402
  msgid "Excluded categories"
2403
  msgstr ""
2404
 
2405
+ #: themes/foundation/root-functions.php:497
2406
  msgid "Comma separated by category name"
2407
  msgstr ""
2408
 
2409
+ #: themes/foundation/root-functions.php:504
2410
  msgid "Excluded tags"
2411
  msgstr ""
2412
 
2413
+ #: themes/foundation/root-functions.php:505
2414
  msgid "Comma separated by tag name"
2415
  msgstr ""
2416
 
2417
+ #: themes/foundation/root-functions.php:527
2418
  msgid "Blog"
2419
  msgstr ""
2420
 
2421
+ #: themes/foundation/root-functions.php:537
2422
+ #: themes/foundation/root-functions.php:1357
2423
  msgid "Pages"
2424
  msgstr ""
2425
 
2426
+ #: themes/foundation/root-functions.php:548
2427
  msgid "Site Icon"
2428
  msgstr ""
2429
 
2430
+ #: themes/foundation/root-functions.php:572
2431
  msgid "Site Logo"
2432
  msgstr ""
2433
 
2434
+ #: themes/foundation/root-functions.php:589
2435
  msgid "Header"
2436
  msgstr ""
2437
 
2438
+ #: themes/foundation/root-functions.php:603
2439
  msgid "Custom footer content"
2440
  msgstr ""
2441
 
2442
+ #: themes/foundation/root-functions.php:604
2443
  msgid "HTML is allowed"
2444
  msgstr ""
2445
 
2446
+ #: themes/foundation/root-functions.php:621
2447
  msgid "Footer"
2448
  msgstr ""
2449
 
2450
+ #: themes/foundation/root-functions.php:633
2451
  msgid "Custom CSS"
2452
  msgstr ""
2453
 
2454
+ #: themes/foundation/root-functions.php:639
2455
  msgid "Custom CSS Declarations"
2456
  msgstr ""
2457
 
2458
+ #: themes/foundation/root-functions.php:1000
2459
  msgid "search results for '%s'"
2460
  msgstr ""
2461
 
2462
+ #: themes/foundation/root-functions.php:1003
2463
  msgid "%sCategories &rsaquo;%s %s"
2464
  msgstr ""
2465
 
2466
+ #: themes/foundation/root-functions.php:1005
2467
  msgid "Tags &rsaquo; %s"
2468
  msgstr ""
2469
 
2470
+ #: themes/foundation/root-functions.php:1007
2471
+ #: themes/foundation/root-functions.php:1009
2472
+ #: themes/foundation/root-functions.php:1011
2473
  msgid "Archives &rsaquo; %s"
2474
  msgstr ""
2475
 
2476
+ #: themes/foundation/root-functions.php:1025
2477
  msgid "Load more from this category"
2478
  msgstr ""
2479
 
2480
+ #: themes/foundation/root-functions.php:1027
2481
  msgid "Load more tagged like this"
2482
  msgstr ""
2483
 
2484
+ #: themes/foundation/root-functions.php:1029
2485
  msgid "Load more from this day"
2486
  msgstr ""
2487
 
2488
+ #: themes/foundation/root-functions.php:1031
2489
  msgid "Load more from this month"
2490
  msgstr ""
2491
 
2492
+ #: themes/foundation/root-functions.php:1033
2493
  msgid "Load more from this year"
2494
  msgstr ""
2495
 
2496
+ #: themes/foundation/root-functions.php:1035
2497
  msgid "Load more in this section"
2498
  msgstr ""
2499
 
2500
+ #: themes/foundation/root-functions.php:1037
2501
  msgid "Load more entries"
2502
  msgstr ""
2503
 
2504
+ #: themes/foundation/root-functions.php:1300
2505
  msgid "Post"
2506
  msgstr ""
2507
 
2508
+ #: themes/foundation/root-functions.php:1302
2509
  msgid "Page"
2510
  msgstr ""
2511
 
2523
  msgid "WPtouch Mobile Plugin"
2524
  msgstr ""
2525
 
2526
+ #. #-#-#-#-# wptouch.pot (WPtouch Mobile Plugin 4.3.24) #-#-#-#-#
2527
  #. Plugin URI of the plugin/theme
2528
+ #. #-#-#-#-# wptouch.pot (WPtouch Mobile Plugin 4.3.24) #-#-#-#-#
2529
  #. Author URI of the plugin/theme
2530
  msgid "http://www.wptouch.com/"
2531
  msgstr ""
readme.txt CHANGED
@@ -2,7 +2,7 @@
2
  Contributors: wptouch, sureswiftcapital, 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.23
6
  Tested up to: 4.9
7
  License: GPLv2
8
 
@@ -33,6 +33,10 @@ For more information visit [WPtouch.com](http://www.wptouch.com/?utm_campaign=wp
33
 
34
  == Changelog ==
35
 
 
 
 
 
36
  = Version 4.3.23 (Dec 27, 2017) =
37
 
38
  * Fixed: URL typo.
2
  Contributors: wptouch, sureswiftcapital, 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.24
6
  Tested up to: 4.9
7
  License: GPLv2
8
 
33
 
34
  == Changelog ==
35
 
36
+ = Version 4.3.24 (Feb 1st, 2018) =
37
+
38
+ * Fixed: Added additional sanitization and escaping to data pulled saved to and pulled from the database.
39
+
40
  = Version 4.3.23 (Dec 27, 2017) =
41
 
42
  * Fixed: URL typo.
themes/bauhaus/default/attachment.php CHANGED
@@ -34,7 +34,7 @@
34
  }?>
35
 
36
  <a href="<?php echo esc_url( $next_attachment_url ); ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment">
37
- <?php echo wp_get_attachment_image( $post->ID, array( 800, 800 ) ); ?>
38
  </a>
39
 
40
  <?php if ( !empty( $post->post_excerpt ) ) { ?>
34
  }?>
35
 
36
  <a href="<?php echo esc_url( $next_attachment_url ); ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment">
37
+ <?php echo wp_kses_post( wp_get_attachment_image( $post->ID, array( 800, 800 ) ) ); ?>
38
  </a>
39
 
40
  <?php if ( !empty( $post->post_excerpt ) ) { ?>
themes/bauhaus/default/functions.php CHANGED
@@ -318,7 +318,7 @@ function bauhaus_featured_slider() {
318
 
319
  if ( $slides->post_count > 0 ) {
320
 
321
- echo '<div class="carousel list-carousel ' . implode( ' ', $classes ) .'">';
322
 
323
  while ( $slides->have_posts() ) {
324
  $slides->the_post();
318
 
319
  if ( $slides->post_count > 0 ) {
320
 
321
+ echo '<div class="carousel list-carousel ' . esc_attr( implode( ' ', $classes ) ) .'">';
322
 
323
  while ( $slides->have_posts() ) {
324
  $slides->the_post();
themes/bauhaus/default/header.php CHANGED
@@ -2,7 +2,7 @@
2
  <html <?php language_attributes(); ?>>
3
  <head>
4
  <meta charset="<?php bloginfo( 'charset' ); ?>">
5
- <title><?php wp_title( ' | ', true, 'right' ); ?></title>
6
  <?php wptouch_head(); ?>
7
  <?php
8
  if ( !is_single() && !is_archive() && !is_page() && !is_search() ) {
2
  <html <?php language_attributes(); ?>>
3
  <head>
4
  <meta charset="<?php bloginfo( 'charset' ); ?>">
5
+ <title><?php echo esc_html( wp_title( ' | ', false, 'right' ) ); ?></title>
6
  <?php wptouch_head(); ?>
7
  <?php
8
  if ( !is_single() && !is_archive() && !is_page() && !is_search() ) {
themes/bauhaus/readme.txt CHANGED
@@ -2,7 +2,7 @@ Theme Name: Bauhaus
2
  Theme URI: http://www.wptouch.com/themes/bauhaus
3
  Author: WPtouch
4
  Description: Clean, modern, functional design. Great for all types of WordPress sites.
5
- Version: 2.2.2
6
  Depends on: 4.3
7
  Framework: 2.0
8
  Tags: smartphone
@@ -25,6 +25,10 @@ Bauhaus is one of our more flexible themes, and is designed to easily take on th
25
 
26
  == Changelog ==
27
 
 
 
 
 
28
  = Version 2.2.2 =
29
 
30
  * Fixed: Fix HTML output issue in readme.txt file.
2
  Theme URI: http://www.wptouch.com/themes/bauhaus
3
  Author: WPtouch
4
  Description: Clean, modern, functional design. Great for all types of WordPress sites.
5
+ Version: 2.2.3
6
  Depends on: 4.3
7
  Framework: 2.0
8
  Tags: smartphone
25
 
26
  == Changelog ==
27
 
28
+ = Version 2.2.3 =
29
+
30
+ * Added: Additional output escaping.
31
+
32
  = Version 2.2.2 =
33
 
34
  * Fixed: Fix HTML output issue in readme.txt file.
themes/bauhaus/root-functions.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- define( 'BAUHAUS_THEME_VERSION', '2.2.2' );
4
  define( 'BAUHAUS_SETTING_DOMAIN', 'bauhaus' );
5
  define( 'BAUHAUS_DIR', wptouch_get_bloginfo( 'theme_root_directory' ) );
6
  define( 'BAUHAUS_URL', wptouch_get_bloginfo( 'theme_parent_url' ) );
@@ -641,7 +641,7 @@ function bauhaus_handle_the_thumbnail( $current_thumbnail ) {
641
  global $post;
642
 
643
  $image = get_post_meta( $post->ID, $settings->bauhaus_thumbnail_custom_field, true );
644
- echo $image;
645
  }
646
 
647
  return $current_thumbnail;
1
  <?php
2
 
3
+ define( 'BAUHAUS_THEME_VERSION', '2.2.3' );
4
  define( 'BAUHAUS_SETTING_DOMAIN', 'bauhaus' );
5
  define( 'BAUHAUS_DIR', wptouch_get_bloginfo( 'theme_root_directory' ) );
6
  define( 'BAUHAUS_URL', wptouch_get_bloginfo( 'theme_parent_url' ) );
641
  global $post;
642
 
643
  $image = get_post_meta( $post->ID, $settings->bauhaus_thumbnail_custom_field, true );
644
+ echo wp_kses_post( $image );
645
  }
646
 
647
  return $current_thumbnail;
themes/foundation/root-functions.php CHANGED
@@ -19,6 +19,7 @@ add_filter( 'wptouch_admin_page_render_wptouch-admin-theme-settings', 'foundatio
19
  add_filter( 'wptouch_setting_version_compare', 'foundation_setting_version_compare', 10, 2 );
20
  add_filter( 'wptouch_body_classes', 'foundation_body_classes' );
21
  add_filter( 'wptouch_the_content', 'foundation_insert_multipage_links' );
 
22
 
23
  // fix for JetPack
24
  add_filter( 'jetpack_check_mobile', 'foundation_override_jetpack_check_mobile' );
@@ -51,11 +52,11 @@ function foundation_add_wpml_lang_switcher() {
51
  echo '<strong>' . __( 'Language: ', 'wptouch-pro' ) . '</strong>';
52
  echo '<select>';
53
  foreach ( $data as $lang => $item ) {
54
- echo '<option value="' . $item['url'] . '"';
55
  if ( $item["active"] ) {
56
  echo " selected";
57
  }
58
- echo '>' . $item['native_name'] . '</option>';
59
  }
60
  echo '</select>';
61
  echo '</div></div>';
@@ -280,7 +281,7 @@ function foundation_handle_footer() {
280
  /**
281
  * Filters the custom footer message obtained from the custom footer section.
282
  *
283
- * @param string $settings->custom_footer_message The footer message.
284
  */
285
  $message = apply_filters( 'foundation_footer_message', $settings->custom_footer_message );
286
 
@@ -331,7 +332,7 @@ function foundation_handle_footer() {
331
  'step' => true,
332
  'width' => true,
333
  );
334
- $allowed_tags['script'] = array(
335
  'async' => true,
336
  'crossorigin' => true,
337
  'defer' => true,
@@ -346,7 +347,7 @@ function foundation_handle_footer() {
346
  * Filters the custom footer message obtained from the custom footer section.
347
  *
348
  * @param string $output_message The footer message for output.
349
- * @param array $allowed_tags The allowed tags for the sanitization function.
350
  */
351
  echo wp_kses( apply_filters( 'foundation_footer_message_output', $output_message ), $allowed_tags );
352
  }
@@ -358,7 +359,7 @@ function foundation_handle_custom_css_declarations() {
358
  /**
359
  * Filters the custom css declarations from the customizer settings.
360
  *
361
- * @param string $settings->custom_css_declarations The css declarations.
362
  */
363
  $styles = apply_filters( 'foundation_custom_css_declarations', $settings->custom_css_declarations );
364
  $trimmed_styles = trim( $styles );
@@ -436,7 +437,7 @@ function foundation_setup_viewport() {
436
  if ( $settings->allow_zoom == true ) {
437
  $zoomState = 'yes';
438
  }
439
- echo '<meta name="viewport" content="initial-scale=1.0, maximum-scale=3.0, user-scalable=' . $zoomState . ', width=device-width" />';
440
  }
441
 
442
  function foundation_render_theme_settings( $page_options ) {
@@ -673,7 +674,7 @@ function foundation_maybe_output_homescreen_icon( $image, $width, $height, $pixe
673
  $size_string = '';
674
  }
675
 
676
- echo '<link rel="apple-touch-icon-precomposed" ' . $size_string . ' href="' . esc_url( foundation_prepare_uploaded_file_url( $image ) ) . '" />' . "\n";
677
  }
678
  }
679
 
@@ -688,7 +689,7 @@ function foundation_setup_homescreen_icons() {
688
  foundation_maybe_output_homescreen_icon( $settings->ipad_icon_retina, 57, 57, 1 );
689
 
690
  // Default (if no icon added in admin, or icon isn't formatted correctly, and as a catch-all)
691
- echo '<link rel="apple-touch-icon-precomposed" href="' . WPTOUCH_DEFAULT_HOMESCREEN_ICON . '" />' . "\n";
692
  } else {
693
  // iPhone / Android home screen icons
694
  foundation_maybe_output_homescreen_icon( $settings->iphone_icon_retina, 192, 192, 2 );
@@ -699,7 +700,7 @@ function foundation_setup_homescreen_icons() {
699
 
700
  // Default (if no icon added in admin, or icon isn't formatted correctly, and as a catch-all)
701
  if ( ! $has_icon ) {
702
- echo '<link rel="apple-touch-icon-precomposed" href="' . WPTOUCH_DEFAULT_HOMESCREEN_ICON . '" />' . "\n";
703
  }
704
  }
705
  }
@@ -708,7 +709,7 @@ function foundation_setup_smart_app_banner() {
708
  $settings = foundation_get_settings();
709
  $appID = $settings->smart_app_banner;
710
  if ( $appID ) {
711
- echo '<meta name="apple-itunes-app" content="app-id=' . $appID . '" />' . "\n";
712
  }
713
  }
714
 
@@ -760,7 +761,7 @@ function foundation_load_theme_modules() {
760
  /**
761
  * Filters the theme support setting.
762
  *
763
- * @param array $theme_data->theme_support The theme support data.
764
  */
765
  $theme_data->theme_support = apply_filters( 'wptouch_theme_support', $theme_data->theme_support );
766
 
@@ -995,19 +996,19 @@ function wptouch_fdn_archive_title_text() {
995
  echo '<div class="archive-text">';
996
  }
997
  if ( is_search() ) {
998
- echo $total_results . '&nbsp;';
999
  echo sprintf( __( "search results for '%s'", "wptouch-pro" ), get_search_query() );
1000
  }
1001
  if ( is_category() ) {
1002
- echo sprintf( __( "%sCategories &rsaquo;%s %s", "wptouch-pro" ), '<span class="type">', '</span>', single_cat_title( "", false ) );
1003
  } elseif ( is_tag() ) {
1004
- echo sprintf( __( "Tags &rsaquo; %s", "wptouch-pro" ), single_tag_title( " ", false ) );
1005
  } elseif ( is_day() ) {
1006
- echo sprintf( __( "Archives &rsaquo; %s", "wptouch-pro" ), get_the_time( 'F jS, Y' ) );
1007
  } elseif ( is_month() ) {
1008
- echo sprintf( __( "Archives &rsaquo; %s", "wptouch-pro" ), get_the_time( 'F, Y' ) );
1009
  } elseif ( is_year() ) {
1010
- echo sprintf( __( "Archives &rsaquo; %s", "wptouch-pro" ), get_the_time( 'Y' ) );
1011
  } elseif ( get_post_type() ) {
1012
  }
1013
  if ( ! ( is_home() || is_single() ) ) {
@@ -1073,10 +1074,10 @@ function wptouch_fdn_ordered_cat_list( $num, $include_count = true, $taxonomy =
1073
  continue;
1074
  }
1075
 
1076
- echo "<li><a href=\"" . $link . "\">" . $result->name;
1077
 
1078
  if ( $include_count ) {
1079
- echo " <span>(" . $result->count . ")</span></a>";
1080
  }
1081
 
1082
  echo '</a>';
@@ -1193,7 +1194,7 @@ function wptouch_fdn_hierarchical_cat_list( $num, $include_count = true, $taxono
1193
  $html = apply_filters( 'wp_list_categories', $output, $r );
1194
 
1195
  if ( $r['echo'] ) {
1196
- echo $html;
1197
  } else {
1198
  return $html;
1199
  }
@@ -1221,7 +1222,7 @@ function wptouch_fdn_ordered_tag_list( $num ) {
1221
  if ( $sql ) {
1222
  foreach ( $sql as $result ) {
1223
  if ( $result ) {
1224
- echo "<li><a href=\"" . get_tag_link( $result->term_id ) . "\">" . $result->name . " <span>(" . $result->count . ")</span></a></li>";
1225
  }
1226
  }
1227
  }
@@ -1415,3 +1416,22 @@ function foundation_add_meta_theme_color() {
1415
  function foundation_override_jetpack_check_mobile() {
1416
  return false;
1417
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  add_filter( 'wptouch_setting_version_compare', 'foundation_setting_version_compare', 10, 2 );
20
  add_filter( 'wptouch_body_classes', 'foundation_body_classes' );
21
  add_filter( 'wptouch_the_content', 'foundation_insert_multipage_links' );
22
+ add_filter( 'wptouch_update_settings', 'foundation_sanitize_wptouch_settings' );
23
 
24
  // fix for JetPack
25
  add_filter( 'jetpack_check_mobile', 'foundation_override_jetpack_check_mobile' );
52
  echo '<strong>' . __( 'Language: ', 'wptouch-pro' ) . '</strong>';
53
  echo '<select>';
54
  foreach ( $data as $lang => $item ) {
55
+ echo '<option value="' . esc_url( $item['url'] ) . '"';
56
  if ( $item["active"] ) {
57
  echo " selected";
58
  }
59
+ echo '>' . esc_html( $item['native_name'] ) . '</option>';
60
  }
61
  echo '</select>';
62
  echo '</div></div>';
281
  /**
282
  * Filters the custom footer message obtained from the custom footer section.
283
  *
284
+ * @param string $settings ->custom_footer_message The footer message.
285
  */
286
  $message = apply_filters( 'foundation_footer_message', $settings->custom_footer_message );
287
 
332
  'step' => true,
333
  'width' => true,
334
  );
335
+ $allowed_tags['script'] = array(
336
  'async' => true,
337
  'crossorigin' => true,
338
  'defer' => true,
347
  * Filters the custom footer message obtained from the custom footer section.
348
  *
349
  * @param string $output_message The footer message for output.
350
+ * @param array $allowed_tags The allowed tags for the sanitization function.
351
  */
352
  echo wp_kses( apply_filters( 'foundation_footer_message_output', $output_message ), $allowed_tags );
353
  }
359
  /**
360
  * Filters the custom css declarations from the customizer settings.
361
  *
362
+ * @param string $settings ->custom_css_declarations The css declarations.
363
  */
364
  $styles = apply_filters( 'foundation_custom_css_declarations', $settings->custom_css_declarations );
365
  $trimmed_styles = trim( $styles );
437
  if ( $settings->allow_zoom == true ) {
438
  $zoomState = 'yes';
439
  }
440
+ echo '<meta name="viewport" content="initial-scale=1.0, maximum-scale=3.0, user-scalable=' . esc_attr( $zoomState ) . ', width=device-width" />';
441
  }
442
 
443
  function foundation_render_theme_settings( $page_options ) {
674
  $size_string = '';
675
  }
676
 
677
+ echo '<link rel="apple-touch-icon-precomposed" ' . esc_html( $size_string ) . ' href="' . esc_url( foundation_prepare_uploaded_file_url( $image ) ) . '" />' . "\n";
678
  }
679
  }
680
 
689
  foundation_maybe_output_homescreen_icon( $settings->ipad_icon_retina, 57, 57, 1 );
690
 
691
  // Default (if no icon added in admin, or icon isn't formatted correctly, and as a catch-all)
692
+ echo '<link rel="apple-touch-icon-precomposed" href="' . esc_url( WPTOUCH_DEFAULT_HOMESCREEN_ICON ) . '" />' . "\n";
693
  } else {
694
  // iPhone / Android home screen icons
695
  foundation_maybe_output_homescreen_icon( $settings->iphone_icon_retina, 192, 192, 2 );
700
 
701
  // Default (if no icon added in admin, or icon isn't formatted correctly, and as a catch-all)
702
  if ( ! $has_icon ) {
703
+ echo '<link rel="apple-touch-icon-precomposed" href="' . esc_url( WPTOUCH_DEFAULT_HOMESCREEN_ICON ) . '" />' . "\n";
704
  }
705
  }
706
  }
709
  $settings = foundation_get_settings();
710
  $appID = $settings->smart_app_banner;
711
  if ( $appID ) {
712
+ echo '<meta name="apple-itunes-app" content="app-id=' . esc_attr( $appID ) . '" />' . "\n";
713
  }
714
  }
715
 
761
  /**
762
  * Filters the theme support setting.
763
  *
764
+ * @param array $theme_data ->theme_support The theme support data.
765
  */
766
  $theme_data->theme_support = apply_filters( 'wptouch_theme_support', $theme_data->theme_support );
767
 
996
  echo '<div class="archive-text">';
997
  }
998
  if ( is_search() ) {
999
+ echo intval( $total_results ) . '&nbsp;';
1000
  echo sprintf( __( "search results for '%s'", "wptouch-pro" ), get_search_query() );
1001
  }
1002
  if ( is_category() ) {
1003
+ echo sprintf( __( "%sCategories &rsaquo;%s %s", "wptouch-pro" ), '<span class="type">', '</span>', esc_html( single_cat_title( "", false ) ) );
1004
  } elseif ( is_tag() ) {
1005
+ echo sprintf( __( "Tags &rsaquo; %s", "wptouch-pro" ), esc_html( single_tag_title( " ", false ) ) );
1006
  } elseif ( is_day() ) {
1007
+ echo sprintf( __( "Archives &rsaquo; %s", "wptouch-pro" ), esc_html( get_the_time( 'F jS, Y' ) ) );
1008
  } elseif ( is_month() ) {
1009
+ echo sprintf( __( "Archives &rsaquo; %s", "wptouch-pro" ), esc_html( get_the_time( 'F, Y' ) ) );
1010
  } elseif ( is_year() ) {
1011
+ echo sprintf( __( "Archives &rsaquo; %s", "wptouch-pro" ), esc_html( get_the_time( 'Y' ) ) );
1012
  } elseif ( get_post_type() ) {
1013
  }
1014
  if ( ! ( is_home() || is_single() ) ) {
1074
  continue;
1075
  }
1076
 
1077
+ echo "<li><a href=\"" . esc_url( $link ) . "\">" . $result->name;
1078
 
1079
  if ( $include_count ) {
1080
+ echo " <span>(" . intval( $result->count ) . ")</span></a>";
1081
  }
1082
 
1083
  echo '</a>';
1194
  $html = apply_filters( 'wp_list_categories', $output, $r );
1195
 
1196
  if ( $r['echo'] ) {
1197
+ echo wp_kses_post( $html );
1198
  } else {
1199
  return $html;
1200
  }
1222
  if ( $sql ) {
1223
  foreach ( $sql as $result ) {
1224
  if ( $result ) {
1225
+ echo "<li><a href=\"" . esc_url( get_tag_link( $result->term_id ) ) . "\">" . esc_url( $result->name ) . " <span>(" . intval( $result->count ) . ")</span></a></li>";
1226
  }
1227
  }
1228
  }
1416
  function foundation_override_jetpack_check_mobile() {
1417
  return false;
1418
  }
1419
+
1420
+ /**
1421
+ * Sanitize settings data for XSS before DB save/update.
1422
+ *
1423
+ * @param object $settings The WPtouch settings.
1424
+ *
1425
+ * @return object
1426
+ */
1427
+ function foundation_sanitize_wptouch_settings( $settings ) {
1428
+ if ( ! empty( $settings->homepage_redirect_custom_target ) ) {
1429
+ $settings->homepage_redirect_custom_target = esc_url_raw( $settings->homepage_redirect_custom_target );
1430
+ }
1431
+
1432
+ if ( ! empty( $settings->site_title ) ) {
1433
+ $settings->site_title = sanitize_text_field( $settings->site_title );
1434
+ }
1435
+
1436
+ return $settings;
1437
+ }
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.23
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.23' );
18
 
19
  define( 'WPTOUCH_BASE_NAME', basename( __FILE__, '.php' ) . '.php' );
20
  define( 'WPTOUCH_DIR', WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . basename( __FILE__, '.php' ) );
2
  /*
3
  Plugin Name: WPtouch Mobile Plugin
4
  Plugin URI: http://www.wptouch.com/
5
+ Version: 4.3.24
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.24' );
18
 
19
  define( 'WPTOUCH_BASE_NAME', basename( __FILE__, '.php' ) . '.php' );
20
  define( 'WPTOUCH_DIR', WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . basename( __FILE__, '.php' ) );