WPtouch - Version 4.1.6

Version Description

Download this release

Release Info

Developer bravenewcode
Plugin Icon 128x128 WPtouch
Version 4.1.6
Comparing to
See all releases

Code changes from version 4.1.5 to 4.1.6

admin/js/wptouch-admin-4.js CHANGED
@@ -850,7 +850,7 @@ function wptouchTriggerSave( callback ) {
850
  success: function() {
851
  // Done saving, allow reload
852
  saving = false;
853
-
854
  // Animate the admin spinner out
855
  jQuery( '#admin-spinner' ).animate({
856
  opacity: 0
@@ -858,7 +858,8 @@ function wptouchTriggerSave( callback ) {
858
 
859
  if ( typeof( callback ) !== 'undefined' ) {
860
  callback();
861
- };
 
862
  },
863
  cache: false
864
  });
@@ -869,23 +870,24 @@ function wptouchAdminSetupSave(){
869
  var wptouchAdminForm = jQuery( '#wptouch-settings-form' );
870
 
871
  if ( wptouchAdminForm.length ) {
872
- // Toggles, textareas & selects
873
- wptouchAdminForm.on( 'change.ajaxed', 'input[type="checkbox"]:not(#translate_admin):not(#multisite_control):not(#wptouch-addon-deployment input), textarea, select:not(#force_locale):not(#force_network_locale):not(#wptouch-addon-deployment select)', function(){
874
- wptouchTriggerSave();
875
- });
876
 
877
  // text inputs, debounced to save after 250 millisecond delay
878
- var textInputDebounceSave = wptouchAdminDebounce( function(){
879
- wptouchTriggerSave();
880
- }, 250 );
 
 
881
 
882
- // Make sure we debounce saving on text inputs
883
- wptouchAdminForm.on( 'keyup', 'input[type="text"]:not(.add-entry,.license-inputs)', textInputDebounceSave );
 
 
 
 
 
884
 
885
- // Multiline / Newline
886
- jQuery( '.multiline' ).on( 'click', 'a.add, a.remove', function(){
887
- wptouchTriggerSave();
888
  });
 
889
  }
890
 
891
  // Handle special case of saving setting relatedto the admin language
850
  success: function() {
851
  // Done saving, allow reload
852
  saving = false;
853
+ // console.log( 'saved' )
854
  // Animate the admin spinner out
855
  jQuery( '#admin-spinner' ).animate({
856
  opacity: 0
858
 
859
  if ( typeof( callback ) !== 'undefined' ) {
860
  callback();
861
+ return false;
862
+ };
863
  },
864
  cache: false
865
  });
870
  var wptouchAdminForm = jQuery( '#wptouch-settings-form' );
871
 
872
  if ( wptouchAdminForm.length ) {
 
 
 
 
873
 
874
  // text inputs, debounced to save after 250 millisecond delay
875
+ var debounceSave = wptouchAdminDebounce( function(){
876
+ if ( !jQuery( this ).hasClass( 'no-save' ) ){
877
+ wptouchTriggerSave();
878
+ }
879
+ }, 1000 );
880
 
881
+ jQuery( window ).load( function(){
882
+ // Toggles, textareas & selects
883
+
884
+ wptouchAdminForm.on( 'change.autosave keyup.autosave', 'input[type="checkbox"]:not(.no-save):not(#translate_admin):not(#multisite_control):not(#wptouch-addon-deployment input), textarea, select:not(#force_locale):not(#force_network_locale):not(#wptouch-addon-deployment select), input[type="text"]:not(.add-entry,.license-inputs)', debounceSave );
885
+
886
+ // Multiline / Newline
887
+ jQuery( '.multiline' ).on( 'click', 'a.add, a.remove', debounceSave );
888
 
 
 
 
889
  });
890
+
891
  }
892
 
893
  // Handle special case of saving setting relatedto the admin language
admin/settings/html/updates-available.php CHANGED
@@ -4,7 +4,7 @@
4
  <?php echo sprintf( __( 'Your server configuration is preventing WPtouch Pro from installing and updating from the Cloud. %sPlease visit %sthis article%s to follow the steps to enable Cloud install, or you can manually download and install into the wptouch-data/%s directory.', 'wptouch-pro' ), '<br /><br />', '<a href="https://support.wptouch.com/support/solutions/articles/5000525305-themes-or-extensions-cannot-be-downloaded">', '</a>', 'extensions' ); ?>
5
  </div>
6
  <?php } elseif ( !wptouch_should_show_license_nag() ) { ?>
7
- <button class="update-all" data-loading-text="<?php _e( 'Updating', 'wptouch-pro' ); ?>&hellip;"><?php _e( 'Update All', 'wptouch-pro' ); ?></button>
8
  <?php } ?>
9
 
10
  <?php if ( function_exists( 'wptouch_is_update_available' ) && wptouch_is_update_available() != WPTOUCH_VERSION ) { ?>
@@ -31,7 +31,7 @@
31
  <?php if ( wptouch_cloud_theme_update_available() ) { ?>
32
  <li>
33
  <?php if ( !wptouch_should_show_license_nag() && !wptouch_can_cloud_install( true ) ) { ?>
34
- <a class="button download theme" href="<?php wptouch_the_theme_download_url(); ?>">
35
  <?php _e( 'Download', 'wptouch-pro' ); ?>
36
  </a>
37
  <?php } ?>
4
  <?php echo sprintf( __( 'Your server configuration is preventing WPtouch Pro from installing and updating from the Cloud. %sPlease visit %sthis article%s to follow the steps to enable Cloud install, or you can manually download and install into the wptouch-data/%s directory.', 'wptouch-pro' ), '<br /><br />', '<a href="https://support.wptouch.com/support/solutions/articles/5000525305-themes-or-extensions-cannot-be-downloaded">', '</a>', 'extensions' ); ?>
5
  </div>
6
  <?php } elseif ( !wptouch_should_show_license_nag() ) { ?>
7
+ <button class="update-all no-save" data-loading-text="<?php _e( 'Updating', 'wptouch-pro' ); ?>&hellip;"><?php _e( 'Update All', 'wptouch-pro' ); ?></button>
8
  <?php } ?>
9
 
10
  <?php if ( function_exists( 'wptouch_is_update_available' ) && wptouch_is_update_available() != WPTOUCH_VERSION ) { ?>
31
  <?php if ( wptouch_cloud_theme_update_available() ) { ?>
32
  <li>
33
  <?php if ( !wptouch_should_show_license_nag() && !wptouch_can_cloud_install( true ) ) { ?>
34
+ <a class="button download theme no-save" href="<?php wptouch_the_theme_download_url(); ?>">
35
  <?php _e( 'Download', 'wptouch-pro' ); ?>
36
  </a>
37
  <?php } ?>
core/class-wptouch-pro.php CHANGED
@@ -393,7 +393,16 @@ class WPtouchProFour {
393
 
394
  if ( is_singular() && ( !is_object( $woocommerce ) || !( is_account_page() || is_cart() || is_checkout() ) ) ) {
395
  $should_regenerate = true;
 
 
396
  $shortcode_data = get_post_meta( get_the_ID(), 'wptouch_sc_data', true );
 
 
 
 
 
 
 
397
  if ( $shortcode_data ) {
398
  if ( $shortcode_data->has_desktop_shortcode ) {
399
  if ( $shortcode_data->valid_until > time() ) {
@@ -422,7 +431,9 @@ class WPtouchProFour {
422
  $styles_object = wp_styles();
423
  update_post_meta( get_the_ID(), 'wptouch_sc_styles', $styles_object->queue );
424
 
425
- $content = '<div class="wptouch-sc-content" data-post-id="' . get_the_ID() . '"></div><div style="display: none;" class="wptouch-orig-content">' . $content . '</div>';
 
 
426
  } else {
427
  $content = wptexturize( $content );
428
 
@@ -493,23 +504,28 @@ class WPtouchProFour {
493
  }
494
 
495
  $post = get_post( $this->post[ 'post_id' ] );
 
496
  $post_content = $this->post[ 'post_content' ];
497
 
498
  if ( $post ) {
 
 
499
  // Save data for later
500
- $shortcode_data = new stdClass;
501
 
502
- $shortcode_data->has_desktop_shortcode = 1;
503
 
504
  // Prevent mobile content from overriding this
505
  remove_action( 'the_content', 'wptouch_addon_the_content_mobile_content', 1 );
506
  $content = apply_filters( 'the_content', $post_content );
507
 
508
- $shortcode_data->scripts = $this->desktop_shortcode_get_assets( $this->post[ 'post_id' ], 'scripts' );
509
- $shortcode_data->styles = $this->desktop_shortcode_get_assets( $this->post[ 'post_id' ], 'styles' );
 
 
 
510
 
511
- $shortcode_data->valid_until = time() + 3600*24;
512
- $shortcode_data->shortcode_content = $content;
513
 
514
  echo $content;
515
 
393
 
394
  if ( is_singular() && ( !is_object( $woocommerce ) || !( is_account_page() || is_cart() || is_checkout() ) ) ) {
395
  $should_regenerate = true;
396
+ global $page;
397
+
398
  $shortcode_data = get_post_meta( get_the_ID(), 'wptouch_sc_data', true );
399
+
400
+ if ( is_array( $shortcode_data ) && isset( $shortcode_data[ 'page-' . $page ] ) ) {
401
+ $shortcode_data = $shortcode_data[ 'page-' . $page ];
402
+ } else {
403
+ $shortcode_data = false;
404
+ }
405
+
406
  if ( $shortcode_data ) {
407
  if ( $shortcode_data->has_desktop_shortcode ) {
408
  if ( $shortcode_data->valid_until > time() ) {
431
  $styles_object = wp_styles();
432
  update_post_meta( get_the_ID(), 'wptouch_sc_styles', $styles_object->queue );
433
 
434
+ global $page;
435
+
436
+ $content = '<div class="wptouch-sc-content" data-post-id="' . get_the_ID() . '" data-page="' . $page . '"></div><div style="display: none;" class="wptouch-orig-content">' . $content . '</div>';
437
  } else {
438
  $content = wptexturize( $content );
439
 
504
  }
505
 
506
  $post = get_post( $this->post[ 'post_id' ] );
507
+ $page = $this->post[ 'page' ];
508
  $post_content = $this->post[ 'post_content' ];
509
 
510
  if ( $post ) {
511
+ $shortcode_data = get_post_meta( $this->post[ 'post_id' ], 'wptouch_sc_data', true );
512
+
513
  // Save data for later
514
+ $page_shortcode_data = new stdClass;
515
 
516
+ $page_shortcode_data->has_desktop_shortcode = 1;
517
 
518
  // Prevent mobile content from overriding this
519
  remove_action( 'the_content', 'wptouch_addon_the_content_mobile_content', 1 );
520
  $content = apply_filters( 'the_content', $post_content );
521
 
522
+ $page_shortcode_data->scripts = $this->desktop_shortcode_get_assets( $this->post[ 'post_id' ], 'scripts' );
523
+ $page_shortcode_data->styles = $this->desktop_shortcode_get_assets( $this->post[ 'post_id' ], 'styles' );
524
+
525
+ $page_shortcode_data->valid_until = time() + 3600*24;
526
+ $page_shortcode_data->shortcode_content = $content;
527
 
528
+ $shortcode_data[ 'page-' . $page ] = $page_shortcode_data;
 
529
 
530
  echo $content;
531
 
include/js/wptouch.js CHANGED
@@ -38,10 +38,13 @@ function doWPtouchReady() {
38
  // We have a shortcode
39
  var params = {
40
  post_id: shortcodeDiv.attr( 'data-post-id' ),
 
41
  post_content: jQuery( '.wptouch-orig-content' ).html(),
42
  post_nonce: wptouchMain.security_nonce
43
  };
44
 
 
 
45
  jQuery.post( wptouchMain.current_shortcode_url + '&current_time=' + jQuery.now(), params, function( result ) {
46
  shortcodeDiv.html( result );
47
  jQuery( document ).trigger( 'wptouch_ajax_content_loaded' );
38
  // We have a shortcode
39
  var params = {
40
  post_id: shortcodeDiv.attr( 'data-post-id' ),
41
+ page: shortcodeDiv.attr( 'data-page' ),
42
  post_content: jQuery( '.wptouch-orig-content' ).html(),
43
  post_nonce: wptouchMain.security_nonce
44
  };
45
 
46
+ console.log( params );
47
+
48
  jQuery.post( wptouchMain.current_shortcode_url + '&current_time=' + jQuery.now(), params, function( result ) {
49
  shortcodeDiv.html( result );
50
  jQuery( document ).trigger( 'wptouch_ajax_content_loaded' );
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.1.5\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
7
- "POT-Creation-Date: 2016-06-17 17:28:43+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -374,7 +374,7 @@ msgstr ""
374
  #: admin/pages/custom/wptouch-admin-wizard.php:179
375
  #: admin/settings/html/theme-browser-item-detail.php:52
376
  #: admin/settings/html/updates-available.php:35
377
- #: admin/settings/html/updates-available.php:71 core/class-wptouch-pro.php:940
378
  msgid "Download"
379
  msgstr ""
380
 
@@ -384,7 +384,7 @@ msgstr ""
384
  #: admin/settings/html/installed_icon_sets_ajax.php:13
385
  #: admin/settings/html/installed_icon_sets_ajax.php:26
386
  #: admin/settings/html/theme-browser-item.php:12
387
- #: core/class-wptouch-pro.php:939
388
  msgid "Installed"
389
  msgstr ""
390
 
@@ -802,7 +802,7 @@ msgstr ""
802
 
803
  #: admin/pages/wptouch-admin-general-settings.php:591
804
  #: admin/settings/html/installed_icon_sets_ajax.php:4
805
- #: core/class-wptouch-pro.php:2135 core/class-wptouch-pro.php:2136
806
  #: core/config.php:54
807
  msgid "Custom Icons"
808
  msgstr ""
@@ -910,7 +910,7 @@ msgstr ""
910
  msgid "No extensions available"
911
  msgstr ""
912
 
913
- #: admin/settings/html/image-upload.php:7 core/class-wptouch-pro.php:932
914
  msgid "Upload Complete!"
915
  msgstr ""
916
 
@@ -929,13 +929,13 @@ msgid ""
929
  msgstr ""
930
 
931
  #: admin/settings/html/installed_icon_sets_ajax.php:25
932
- #: core/class-wptouch-pro.php:938
933
  msgid "Installing"
934
  msgstr ""
935
 
936
  #: admin/settings/html/installed_icon_sets_ajax.php:25
937
  #: admin/settings/html/theme-browser-item-detail.php:3
938
- #: core/admin-extensions.php:363 core/class-wptouch-pro.php:937
939
  msgid "Install"
940
  msgstr ""
941
 
@@ -1147,7 +1147,7 @@ msgstr ""
1147
  msgid "Setup Wizard"
1148
  msgstr ""
1149
 
1150
- #: core/admin-menu.php:48 core/class-wptouch-pro.php:1607
1151
  msgid "Settings"
1152
  msgstr ""
1153
 
@@ -1248,131 +1248,131 @@ msgstr ""
1248
  msgid "Reset Settings"
1249
  msgstr ""
1250
 
1251
- #: core/class-wptouch-pro.php:619
1252
  msgid ""
1253
  "Automatic theme migration from wp-content/uploads/wptouch-data directory "
1254
  "failed. Please manually move these folders to wp-content/wptouch-data: %s"
1255
  msgstr ""
1256
 
1257
- #: core/class-wptouch-pro.php:638
1258
  msgid ""
1259
  "%sWPtouch: %s was recently disabled, but is still affecting your website and "
1260
  "caching pages.%s"
1261
  msgstr ""
1262
 
1263
- #: core/class-wptouch-pro.php:639
1264
  msgid ""
1265
  "%sPlease reactivate the plugin, disable page caching, then deactivate the "
1266
  "plugin again to correct this issue.%s"
1267
  msgstr ""
1268
 
1269
- #: core/class-wptouch-pro.php:640 core/class-wptouch-pro.php:649
1270
  msgid ""
1271
  "%sFixing this issue prevents cached desktop pages being served to mobile "
1272
  "devices and vice-versa.%s"
1273
  msgstr ""
1274
 
1275
- #: core/class-wptouch-pro.php:641 core/class-wptouch-pro.php:650
1276
  msgid ""
1277
  "%sOnce fixed, this message will be dismissed automatically. Until fixed, "
1278
  "%sWPtouch will not be shown%s to mobile visitors, and cannot be previewed.%s"
1279
  msgstr ""
1280
 
1281
- #: core/class-wptouch-pro.php:648
1282
  msgid "%sWPtouch: %s needs to be configured to work correctly with WPtouch.%s"
1283
  msgstr ""
1284
 
1285
- #: core/class-wptouch-pro.php:651
1286
  msgid ""
1287
  "%sTo fix the issue, follow our %sstep-by-step setup guide%s on support."
1288
  "wptouch.com%s"
1289
  msgstr ""
1290
 
1291
- #: core/class-wptouch-pro.php:663
1292
  msgid "WPtouch Repair Required"
1293
  msgstr ""
1294
 
1295
- #: core/class-wptouch-pro.php:670
1296
  msgid "Your mobile theme was either broken or missing."
1297
  msgstr ""
1298
 
1299
- #: core/class-wptouch-pro.php:671
1300
  msgid "We downloaded a fresh copy for you."
1301
  msgstr ""
1302
 
1303
- #: core/class-wptouch-pro.php:672 core/class-wptouch-pro.php:682
1304
  msgid "OK"
1305
  msgstr ""
1306
 
1307
- #: core/class-wptouch-pro.php:675
1308
  msgid ""
1309
  "We were unable to install your WPtouch Pro theme from the Cloud. %s Please "
1310
  "visit %sthis article%s for more information."
1311
  msgstr ""
1312
 
1313
- #: core/class-wptouch-pro.php:678
1314
  msgid "WPtouch Server Issue"
1315
  msgstr ""
1316
 
1317
- #: core/class-wptouch-pro.php:680
1318
  msgid ""
1319
  "Your server setup is preventing WPtouch Pro from installing from the Cloud. "
1320
  "%s Please visit %sthis article%s for more information on how to fix it."
1321
  msgstr ""
1322
 
1323
- #: core/class-wptouch-pro.php:927
1324
  msgid ""
1325
  "This will reset all WPtouch Pro settings.\n"
1326
  "Are you sure?"
1327
  msgstr ""
1328
 
1329
- #: core/class-wptouch-pro.php:928
1330
  msgid ""
1331
  "This will reset all WPtouch Pro settings and delete the wptouch-data "
1332
  "folder.\n"
1333
  "Are you sure?"
1334
  msgstr ""
1335
 
1336
- #: core/class-wptouch-pro.php:929
1337
  msgid ""
1338
  "This will reset all WPtouch Pro settings, delete the wptouch-data folder, "
1339
  "and deactivate the plugin. Are you sure?"
1340
  msgstr ""
1341
 
1342
- #: core/class-wptouch-pro.php:930
1343
  msgid "The item failed to download for this reason: %reason%"
1344
  msgstr ""
1345
 
1346
- #: core/class-wptouch-pro.php:931
1347
  msgid "You are about to reset your license information. Proceed?"
1348
  msgstr ""
1349
 
1350
- #: core/class-wptouch-pro.php:933
1351
  msgid "Upload Failed: Not a valid image."
1352
  msgstr ""
1353
 
1354
- #: core/class-wptouch-pro.php:934
1355
  msgid ""
1356
  "WPtouch is saving settings. Please do not refresh the page while saving."
1357
  msgstr ""
1358
 
1359
- #: core/class-wptouch-pro.php:935
1360
  msgid "Install Themes"
1361
  msgstr ""
1362
 
1363
- #: core/class-wptouch-pro.php:936
1364
  msgid "Install Extensions"
1365
  msgstr ""
1366
 
1367
- #: core/class-wptouch-pro.php:1644
1368
  msgid "%s Changelog"
1369
  msgstr ""
1370
 
1371
- #: core/class-wptouch-pro.php:3061
1372
  msgid "Directory Problem"
1373
  msgstr ""
1374
 
1375
- #: core/class-wptouch-pro.php:3062
1376
  msgid "One or more required directories could not be created"
1377
  msgstr ""
1378
 
@@ -2294,7 +2294,7 @@ msgid "Blog"
2294
  msgstr ""
2295
 
2296
  #: themes/foundation/root-functions.php:445
2297
- #: themes/foundation/root-functions.php:1212
2298
  msgid "Pages"
2299
  msgstr ""
2300
 
@@ -2326,57 +2326,57 @@ msgstr ""
2326
  msgid "Custom CSS Declarations"
2327
  msgstr ""
2328
 
2329
- #: themes/foundation/root-functions.php:877
2330
  msgid "search results for '%s'"
2331
  msgstr ""
2332
 
2333
- #: themes/foundation/root-functions.php:879
2334
  msgid "%sCategories &rsaquo;%s %s"
2335
  msgstr ""
2336
 
2337
- #: themes/foundation/root-functions.php:881
2338
  msgid "Tags &rsaquo; %s"
2339
  msgstr ""
2340
 
2341
- #: themes/foundation/root-functions.php:883
2342
- #: themes/foundation/root-functions.php:885
2343
- #: themes/foundation/root-functions.php:887
2344
  msgid "Archives &rsaquo; %s"
2345
  msgstr ""
2346
 
2347
- #: themes/foundation/root-functions.php:902
2348
  msgid "Load more from this category"
2349
  msgstr ""
2350
 
2351
- #: themes/foundation/root-functions.php:904
2352
  msgid "Load more tagged like this"
2353
  msgstr ""
2354
 
2355
- #: themes/foundation/root-functions.php:906
2356
  msgid "Load more from this day"
2357
  msgstr ""
2358
 
2359
- #: themes/foundation/root-functions.php:908
2360
  msgid "Load more from this month"
2361
  msgstr ""
2362
 
2363
- #: themes/foundation/root-functions.php:910
2364
  msgid "Load more from this year"
2365
  msgstr ""
2366
 
2367
- #: themes/foundation/root-functions.php:912
2368
  msgid "Load more in this section"
2369
  msgstr ""
2370
 
2371
- #: themes/foundation/root-functions.php:914
2372
  msgid "Load more entries"
2373
  msgstr ""
2374
 
2375
- #: themes/foundation/root-functions.php:1161
2376
  msgid "Post"
2377
  msgstr ""
2378
 
2379
- #: themes/foundation/root-functions.php:1163
2380
  msgid "Page"
2381
  msgstr ""
2382
 
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.1.6\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
7
+ "POT-Creation-Date: 2016-06-30 15:06:38+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
374
  #: admin/pages/custom/wptouch-admin-wizard.php:179
375
  #: admin/settings/html/theme-browser-item-detail.php:52
376
  #: admin/settings/html/updates-available.php:35
377
+ #: admin/settings/html/updates-available.php:71 core/class-wptouch-pro.php:956
378
  msgid "Download"
379
  msgstr ""
380
 
384
  #: admin/settings/html/installed_icon_sets_ajax.php:13
385
  #: admin/settings/html/installed_icon_sets_ajax.php:26
386
  #: admin/settings/html/theme-browser-item.php:12
387
+ #: core/class-wptouch-pro.php:955
388
  msgid "Installed"
389
  msgstr ""
390
 
802
 
803
  #: admin/pages/wptouch-admin-general-settings.php:591
804
  #: admin/settings/html/installed_icon_sets_ajax.php:4
805
+ #: core/class-wptouch-pro.php:2151 core/class-wptouch-pro.php:2152
806
  #: core/config.php:54
807
  msgid "Custom Icons"
808
  msgstr ""
910
  msgid "No extensions available"
911
  msgstr ""
912
 
913
+ #: admin/settings/html/image-upload.php:7 core/class-wptouch-pro.php:948
914
  msgid "Upload Complete!"
915
  msgstr ""
916
 
929
  msgstr ""
930
 
931
  #: admin/settings/html/installed_icon_sets_ajax.php:25
932
+ #: core/class-wptouch-pro.php:954
933
  msgid "Installing"
934
  msgstr ""
935
 
936
  #: admin/settings/html/installed_icon_sets_ajax.php:25
937
  #: admin/settings/html/theme-browser-item-detail.php:3
938
+ #: core/admin-extensions.php:363 core/class-wptouch-pro.php:953
939
  msgid "Install"
940
  msgstr ""
941
 
1147
  msgid "Setup Wizard"
1148
  msgstr ""
1149
 
1150
+ #: core/admin-menu.php:48 core/class-wptouch-pro.php:1623
1151
  msgid "Settings"
1152
  msgstr ""
1153
 
1248
  msgid "Reset Settings"
1249
  msgstr ""
1250
 
1251
+ #: core/class-wptouch-pro.php:635
1252
  msgid ""
1253
  "Automatic theme migration from wp-content/uploads/wptouch-data directory "
1254
  "failed. Please manually move these folders to wp-content/wptouch-data: %s"
1255
  msgstr ""
1256
 
1257
+ #: core/class-wptouch-pro.php:654
1258
  msgid ""
1259
  "%sWPtouch: %s was recently disabled, but is still affecting your website and "
1260
  "caching pages.%s"
1261
  msgstr ""
1262
 
1263
+ #: core/class-wptouch-pro.php:655
1264
  msgid ""
1265
  "%sPlease reactivate the plugin, disable page caching, then deactivate the "
1266
  "plugin again to correct this issue.%s"
1267
  msgstr ""
1268
 
1269
+ #: core/class-wptouch-pro.php:656 core/class-wptouch-pro.php:665
1270
  msgid ""
1271
  "%sFixing this issue prevents cached desktop pages being served to mobile "
1272
  "devices and vice-versa.%s"
1273
  msgstr ""
1274
 
1275
+ #: core/class-wptouch-pro.php:657 core/class-wptouch-pro.php:666
1276
  msgid ""
1277
  "%sOnce fixed, this message will be dismissed automatically. Until fixed, "
1278
  "%sWPtouch will not be shown%s to mobile visitors, and cannot be previewed.%s"
1279
  msgstr ""
1280
 
1281
+ #: core/class-wptouch-pro.php:664
1282
  msgid "%sWPtouch: %s needs to be configured to work correctly with WPtouch.%s"
1283
  msgstr ""
1284
 
1285
+ #: core/class-wptouch-pro.php:667
1286
  msgid ""
1287
  "%sTo fix the issue, follow our %sstep-by-step setup guide%s on support."
1288
  "wptouch.com%s"
1289
  msgstr ""
1290
 
1291
+ #: core/class-wptouch-pro.php:679
1292
  msgid "WPtouch Repair Required"
1293
  msgstr ""
1294
 
1295
+ #: core/class-wptouch-pro.php:686
1296
  msgid "Your mobile theme was either broken or missing."
1297
  msgstr ""
1298
 
1299
+ #: core/class-wptouch-pro.php:687
1300
  msgid "We downloaded a fresh copy for you."
1301
  msgstr ""
1302
 
1303
+ #: core/class-wptouch-pro.php:688 core/class-wptouch-pro.php:698
1304
  msgid "OK"
1305
  msgstr ""
1306
 
1307
+ #: core/class-wptouch-pro.php:691
1308
  msgid ""
1309
  "We were unable to install your WPtouch Pro theme from the Cloud. %s Please "
1310
  "visit %sthis article%s for more information."
1311
  msgstr ""
1312
 
1313
+ #: core/class-wptouch-pro.php:694
1314
  msgid "WPtouch Server Issue"
1315
  msgstr ""
1316
 
1317
+ #: core/class-wptouch-pro.php:696
1318
  msgid ""
1319
  "Your server setup is preventing WPtouch Pro from installing from the Cloud. "
1320
  "%s Please visit %sthis article%s for more information on how to fix it."
1321
  msgstr ""
1322
 
1323
+ #: core/class-wptouch-pro.php:943
1324
  msgid ""
1325
  "This will reset all WPtouch Pro settings.\n"
1326
  "Are you sure?"
1327
  msgstr ""
1328
 
1329
+ #: core/class-wptouch-pro.php:944
1330
  msgid ""
1331
  "This will reset all WPtouch Pro settings and delete the wptouch-data "
1332
  "folder.\n"
1333
  "Are you sure?"
1334
  msgstr ""
1335
 
1336
+ #: core/class-wptouch-pro.php:945
1337
  msgid ""
1338
  "This will reset all WPtouch Pro settings, delete the wptouch-data folder, "
1339
  "and deactivate the plugin. Are you sure?"
1340
  msgstr ""
1341
 
1342
+ #: core/class-wptouch-pro.php:946
1343
  msgid "The item failed to download for this reason: %reason%"
1344
  msgstr ""
1345
 
1346
+ #: core/class-wptouch-pro.php:947
1347
  msgid "You are about to reset your license information. Proceed?"
1348
  msgstr ""
1349
 
1350
+ #: core/class-wptouch-pro.php:949
1351
  msgid "Upload Failed: Not a valid image."
1352
  msgstr ""
1353
 
1354
+ #: core/class-wptouch-pro.php:950
1355
  msgid ""
1356
  "WPtouch is saving settings. Please do not refresh the page while saving."
1357
  msgstr ""
1358
 
1359
+ #: core/class-wptouch-pro.php:951
1360
  msgid "Install Themes"
1361
  msgstr ""
1362
 
1363
+ #: core/class-wptouch-pro.php:952
1364
  msgid "Install Extensions"
1365
  msgstr ""
1366
 
1367
+ #: core/class-wptouch-pro.php:1660
1368
  msgid "%s Changelog"
1369
  msgstr ""
1370
 
1371
+ #: core/class-wptouch-pro.php:3077
1372
  msgid "Directory Problem"
1373
  msgstr ""
1374
 
1375
+ #: core/class-wptouch-pro.php:3078
1376
  msgid "One or more required directories could not be created"
1377
  msgstr ""
1378
 
2294
  msgstr ""
2295
 
2296
  #: themes/foundation/root-functions.php:445
2297
+ #: themes/foundation/root-functions.php:1217
2298
  msgid "Pages"
2299
  msgstr ""
2300
 
2326
  msgid "Custom CSS Declarations"
2327
  msgstr ""
2328
 
2329
+ #: themes/foundation/root-functions.php:882
2330
  msgid "search results for '%s'"
2331
  msgstr ""
2332
 
2333
+ #: themes/foundation/root-functions.php:884
2334
  msgid "%sCategories &rsaquo;%s %s"
2335
  msgstr ""
2336
 
2337
+ #: themes/foundation/root-functions.php:886
2338
  msgid "Tags &rsaquo; %s"
2339
  msgstr ""
2340
 
2341
+ #: themes/foundation/root-functions.php:888
2342
+ #: themes/foundation/root-functions.php:890
2343
+ #: themes/foundation/root-functions.php:892
2344
  msgid "Archives &rsaquo; %s"
2345
  msgstr ""
2346
 
2347
+ #: themes/foundation/root-functions.php:907
2348
  msgid "Load more from this category"
2349
  msgstr ""
2350
 
2351
+ #: themes/foundation/root-functions.php:909
2352
  msgid "Load more tagged like this"
2353
  msgstr ""
2354
 
2355
+ #: themes/foundation/root-functions.php:911
2356
  msgid "Load more from this day"
2357
  msgstr ""
2358
 
2359
+ #: themes/foundation/root-functions.php:913
2360
  msgid "Load more from this month"
2361
  msgstr ""
2362
 
2363
+ #: themes/foundation/root-functions.php:915
2364
  msgid "Load more from this year"
2365
  msgstr ""
2366
 
2367
+ #: themes/foundation/root-functions.php:917
2368
  msgid "Load more in this section"
2369
  msgstr ""
2370
 
2371
+ #: themes/foundation/root-functions.php:919
2372
  msgid "Load more entries"
2373
  msgstr ""
2374
 
2375
+ #: themes/foundation/root-functions.php:1166
2376
  msgid "Post"
2377
  msgstr ""
2378
 
2379
+ #: themes/foundation/root-functions.php:1168
2380
  msgid "Page"
2381
  msgstr ""
2382
 
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: bravenewcode, duanestorey, dalemugford, mkuplens
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.1.5
6
- Tested up to: 4.5
7
  License: GPLv2
8
 
9
  Make your WordPress website mobile-friendly with just a few clicks.
@@ -33,6 +33,11 @@ For more information visit [WPtouch.com](http://www.wptouch.com/?utm_campaign=wp
33
 
34
  == Changelog ==
35
 
 
 
 
 
 
36
  = Version 4.1.5 (June 17, 2016) =
37
 
38
  * Added: Option to choose which page the featured slider is shown on (Bauhaus, certain configurations)
2
  Contributors: bravenewcode, duanestorey, dalemugford, mkuplens
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.1.6
6
+ Tested up to: 4.5.3
7
  License: GPLv2
8
 
9
  Make your WordPress website mobile-friendly with just a few clicks.
33
 
34
  == Changelog ==
35
 
36
+ = Version 4.1.6 (June 30, 2016) =
37
+
38
+ * Updated: Autosave in admin panel is now a little more robust and optimized.
39
+ * Changed: Replaced library used for off-canvas menu in some themes (now using Slideout)
40
+
41
  = Version 4.1.5 (June 17, 2016) =
42
 
43
  * Added: Option to choose which page the featured slider is shown on (Bauhaus, certain configurations)
themes/bauhaus/default/bauhaus.js CHANGED
@@ -10,7 +10,6 @@ function doBauhausReady() {
10
  bauhausVideoUnwrap();
11
  bauhausHandleSearch();
12
  bauhausHandlePostImgs();
13
- bauhausCheckForPushIt();
14
  }
15
 
16
  // Spice up the appearance of Foundation's Featured Slider
@@ -90,15 +89,4 @@ function bauhausHandleSearch() {
90
  }
91
  }
92
 
93
- function bauhausOffCanvasMods(){
94
- jQuery( '.wptouch-login-wrap' ).detach().appendTo( 'body' );
95
- }
96
-
97
- function bauhausCheckForPushIt(){
98
- if ( jQuery.fn.pushIt ) {
99
- jQuery( 'body' ).pushIt( { menuWidth: '270' } );
100
- bauhausOffCanvasMods();
101
- }
102
- }
103
-
104
  jQuery( document ).ready( function() { doBauhausReady(); } );
10
  bauhausVideoUnwrap();
11
  bauhausHandleSearch();
12
  bauhausHandlePostImgs();
 
13
  }
14
 
15
  // Spice up the appearance of Foundation's Featured Slider
89
  }
90
  }
91
 
 
 
 
 
 
 
 
 
 
 
 
92
  jQuery( document ).ready( function() { doBauhausReady(); } );
themes/bauhaus/readme.txt CHANGED
@@ -2,8 +2,8 @@ Theme Name: Bauhaus
2
  Theme URI: http://www.wptouch.com/themes/bauhaus
3
  Author: BraveNewCode Inc.
4
  Description: Clean, modern, functional design. Great for all types of WordPress sites.
5
- Version: 1.6.8
6
- Depends on: 4.0
7
  Framework: 2.0
8
  Tags: smartphone
9
 
@@ -23,6 +23,10 @@ Bauhaus is one of our more flexible themes, and is designed to easily take on th
23
 
24
  == Changelog ==
25
 
 
 
 
 
26
  = Version 1.6.8 =
27
 
28
  * Changed: Custom field-based thumbnails are now displayed in post listings, related posts, featured slider, and at top of posts.
@@ -66,4 +70,4 @@ Bauhaus is one of our more flexible themes, and is designed to easily take on th
66
 
67
  = Version 1.6 =
68
 
69
- * Updated: Compatible with WPtouch Pro 4
2
  Theme URI: http://www.wptouch.com/themes/bauhaus
3
  Author: BraveNewCode Inc.
4
  Description: Clean, modern, functional design. Great for all types of WordPress sites.
5
+ Version: 1.6.9
6
+ Depends on: 4.1.6
7
  Framework: 2.0
8
  Tags: smartphone
9
 
23
 
24
  == Changelog ==
25
 
26
+ = Version 1.6.9 =
27
+
28
+ * Changed: Replaced library used for off-canvas menu (now using Slideout.js)
29
+
30
  = Version 1.6.8 =
31
 
32
  * Changed: Custom field-based thumbnails are now displayed in post listings, related posts, featured slider, and at top of posts.
70
 
71
  = Version 1.6 =
72
 
73
+ * Updated: Compatible with WPtouch Pro 4
themes/bauhaus/root-functions.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- define( 'BAUHAUS_THEME_VERSION', '1.6.8' );
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' ) );
@@ -445,7 +445,7 @@ function bauhaus_if_off_canvas_enabled(){
445
  $settings = bauhaus_get_settings();
446
 
447
  if ( $settings->bauhaus_menu_style == 'off-canvas' ) {
448
- foundation_add_theme_support( 'pushit' );
449
  }
450
  }
451
 
@@ -508,4 +508,4 @@ function bauhaus_featured_slider_settings( $featured_slider_settings ) {
508
  }
509
 
510
  return $featured_slider_settings;
511
- }
1
  <?php
2
 
3
+ define( 'BAUHAUS_THEME_VERSION', '1.6.9' );
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' ) );
445
  $settings = bauhaus_get_settings();
446
 
447
  if ( $settings->bauhaus_menu_style == 'off-canvas' ) {
448
+ foundation_add_theme_support( 'slideout' );
449
  }
450
  }
451
 
508
  }
509
 
510
  return $featured_slider_settings;
511
+ }
themes/foundation/modules/base/base.js CHANGED
@@ -124,10 +124,15 @@ function wptouchFdnSetupShowHideToggles() {
124
  }
125
 
126
  jQuery( this ).toggleClass( 'toggle-open' );
127
- jQuery( '#' + targetId ).attr( 'data-source-click', linkId ).webkitSlideToggle();
 
 
 
128
 
129
  e.preventDefault();
130
- e.stopImmediatePropagation();
 
 
131
  });
132
  });
133
  }
@@ -204,4 +209,4 @@ function wptouchFdnBaseReady() {
204
  wptouchFdnSetupWPML();
205
  }
206
 
207
- jQuery( document ).ready( function() { wptouchFdnBaseReady(); } );
124
  }
125
 
126
  jQuery( this ).toggleClass( 'toggle-open' );
127
+
128
+ if ( !jQuery( '.pushit' ).hasClass( 'slideout-menu' ) ) {
129
+ jQuery( '#' + targetId ).attr( 'data-source-click', linkId ).webkitSlideToggle();
130
+ }
131
 
132
  e.preventDefault();
133
+ if ( !jQuery( '.pushit' ).hasClass( 'slideout-menu' ) || jQuery( this ).attr( 'id' ) != 'menu-toggle' ) {
134
+ e.stopImmediatePropagation();
135
+ }
136
  });
137
  });
138
  }
209
  wptouchFdnSetupWPML();
210
  }
211
 
212
+ jQuery( document ).ready( function() { wptouchFdnBaseReady(); } );
themes/foundation/modules/slideout/slideout-helper.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(function(){
2
+ // only init if Slideout module is loaded
3
+ if ( typeof( Slideout ) !== 'undefined' ) {
4
+
5
+ // setup slideout for each .menu-btn
6
+ jQuery( '.pushit' ).each( function( index, trigger ) {
7
+
8
+ // init slideout
9
+ var slideout = new Slideout({
10
+ 'panel': jQuery( '.page-wrapper' )[0],
11
+ 'menu': jQuery( trigger )[0],
12
+ 'touch': false,
13
+ 'side': jQuery( trigger ).hasClass( 'pushit-left' ) ? 'left' : 'right',
14
+ 'duration': 330
15
+ });
16
+
17
+ // toggle slideout open/close on menu button click
18
+ var btnTarget = jQuery ( '.menu-btn[data-menu-target="' + jQuery( trigger ).find( "> div" ).attr( "id" ) + '"]' );
19
+ btnTarget.on( 'click', function( e ) {
20
+ e.preventDefault();
21
+ slideout.toggle();
22
+ });
23
+
24
+ // when slideout is open, close it if the .page-wrapper is clicked
25
+ slideout.on( 'open', function() {
26
+ jQuery( '.page-wrapper' ).one(deviceHasTouchSupport() ? 'touchstart' : 'click', function( e ) {
27
+ e.preventDefault();
28
+ e.stopImmediatePropagation();
29
+ if ( !jQuery(this).hasClass('menu-btn') ) {
30
+ if ( slideout.isOpen() ) {
31
+ slideout.close();
32
+ }
33
+ }
34
+ });
35
+
36
+ if ( deviceHasTouchSupport() ) {
37
+ jQuery( '.page-wrapper' ).one('touchend', function( e ) {
38
+ e.preventDefault();
39
+ e.stopImmediatePropagation();
40
+ });
41
+ }
42
+ });
43
+
44
+ // special handling of left and right menus
45
+ if ( jQuery( '.pushit' ).length > 1 && jQuery( this ).hasClass('pushit-right') ) {
46
+ jQuery( '.pushit-right' ).hide();
47
+
48
+ slideout.on( 'close', function() {
49
+ jQuery( '.pushit-right' ).hide();
50
+ });
51
+
52
+ slideout.on( 'beforeopen', function() {
53
+ jQuery( '.pushit-right' ).show();
54
+ });
55
+ }
56
+ });
57
+ }
58
+
59
+ // tests browser for touch support
60
+ function deviceHasTouchSupport() {
61
+ return 'ontouchstart' in document.documentElement;
62
+ }
63
+ });
themes/foundation/modules/slideout/slideout.css ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .slideout-menu {
2
+ position: fixed;
3
+ left: 0;
4
+ top: 0;
5
+ bottom: 0;
6
+ right: 0;
7
+ z-index: 0;
8
+ width: 256px;
9
+ overflow-y: auto;
10
+ -webkit-overflow-scrolling: touch;
11
+ display: none;
12
+ }
13
+
14
+ .slideout-menu.pushit-right {
15
+ left: auto;
16
+ }
17
+
18
+ .slideout-panel {
19
+ position:relative;
20
+ z-index: 1;
21
+ will-change: transform;
22
+ }
23
+
24
+ .slideout-open,
25
+ .slideout-open body,
26
+ .slideout-open .slideout-panel {
27
+ overflow: hidden;
28
+ }
29
+
30
+ .slideout-open .slideout-menu {
31
+ display: block;
32
+ }
themes/foundation/modules/slideout/slideout.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.Slideout=t()}}(function(){var t,e,n;return function i(t,e,n){function o(r,a){if(!e[r]){if(!t[r]){var u=typeof require=="function"&&require;if(!a&&u)return u(r,!0);if(s)return s(r,!0);var l=new Error("Cannot find module '"+r+"'");throw l.code="MODULE_NOT_FOUND",l}var f=e[r]={exports:{}};t[r][0].call(f.exports,function(e){var n=t[r][1][e];return o(n?n:e)},f,f.exports,i,t,e,n)}return e[r].exports}var s=typeof require=="function"&&require;for(var r=0;r<n.length;r++)o(n[r]);return o}({1:[function(t,e,n){"use strict";var i=t("decouple");var o=t("emitter");var s;var r=false;var a=window.document;var u=a.documentElement;var l=window.navigator.msPointerEnabled;var f={start:l?"MSPointerDown":"touchstart",move:l?"MSPointerMove":"touchmove",end:l?"MSPointerUp":"touchend"};var h=function v(){var t=/^(Webkit|Khtml|Moz|ms|O)(?=[A-Z])/;var e=a.getElementsByTagName("script")[0].style;for(var n in e){if(t.test(n)){return"-"+n.match(t)[0].toLowerCase()+"-"}}if("WebkitOpacity"in e){return"-webkit-"}if("KhtmlOpacity"in e){return"-khtml-"}return""}();function c(t,e){for(var n in e){if(e[n]){t[n]=e[n]}}return t}function p(t,e){t.prototype=c(t.prototype||{},e.prototype)}function d(t){t=t||{};this._startOffsetX=0;this._currentOffsetX=0;this._opening=false;this._moved=false;this._opened=false;this._preventOpen=false;this._touch=t.touch===undefined?true:t.touch&&true;this.panel=t.panel;this.menu=t.menu;if(this.panel.className.search("slideout-panel")===-1){this.panel.className+=" slideout-panel"}if(this.menu.className.search("slideout-menu")===-1){this.menu.className+=" slideout-menu"}this._fx=t.fx||"ease";this._duration=parseInt(t.duration,10)||300;this._tolerance=parseInt(t.tolerance,10)||70;this._padding=this._translateTo=parseInt(t.padding,10)||256;this._orientation=t.side==="right"?-1:1;this._translateTo*=this._orientation;if(this._touch){this._initTouchEvents()}}p(d,o);d.prototype.open=function(){var t=this;this.emit("beforeopen");if(u.className.search("slideout-open")===-1){u.className+=" slideout-open"}this._setTransition();this._translateXTo(this._translateTo);this._opened=true;setTimeout(function(){t.panel.style.transition=t.panel.style["-webkit-transition"]="";t.emit("open")},this._duration+50);return this};d.prototype.close=function(){var t=this;if(!this.isOpen()&&!this._opening){return this}this.emit("beforeclose");this._setTransition();this._translateXTo(0);this._opened=false;setTimeout(function(){u.className=u.className.replace(/ slideout-open/,"");t.panel.style.transition=t.panel.style["-webkit-transition"]=t.panel.style[h+"transform"]=t.panel.style.transform="";t.emit("close")},this._duration+50);return this};d.prototype.toggle=function(){return this.isOpen()?this.close():this.open()};d.prototype.isOpen=function(){return this._opened};d.prototype._translateXTo=function(t){this._currentOffsetX=t;this.panel.style[h+"transform"]=this.panel.style.transform="translateX("+t+"px)";return this};d.prototype._setTransition=function(){this.panel.style[h+"transition"]=this.panel.style.transition=h+"transform "+this._duration+"ms "+this._fx;return this};d.prototype._initTouchEvents=function(){var t=this;this._onScrollFn=i(a,"scroll",function(){if(!t._moved){clearTimeout(s);r=true;s=setTimeout(function(){r=false},250)}});this._preventMove=function(e){if(t._moved){e.preventDefault()}};a.addEventListener(f.move,this._preventMove);this._resetTouchFn=function(e){if(typeof e.touches==="undefined"){return}t._moved=false;t._opening=false;t._startOffsetX=e.touches[0].pageX;t._preventOpen=!t._touch||!t.isOpen()&&t.menu.clientWidth!==0};this.panel.addEventListener(f.start,this._resetTouchFn);this._onTouchCancelFn=function(){t._moved=false;t._opening=false};this.panel.addEventListener("touchcancel",this._onTouchCancelFn);this._onTouchEndFn=function(){if(t._moved){t.emit("translateend");t._opening&&Math.abs(t._currentOffsetX)>t._tolerance?t.open():t.close()}t._moved=false};this.panel.addEventListener(f.end,this._onTouchEndFn);this._onTouchMoveFn=function(e){if(r||t._preventOpen||typeof e.touches==="undefined"){return}var n=e.touches[0].clientX-t._startOffsetX;var i=t._currentOffsetX=n;if(Math.abs(i)>t._padding){return}if(Math.abs(n)>20){t._opening=true;var o=n*t._orientation;if(t._opened&&o>0||!t._opened&&o<0){return}if(!t._moved){t.emit("translatestart")}if(o<=0){i=n+t._padding*t._orientation;t._opening=false}if(!t._moved&&u.className.search("slideout-open")===-1){u.className+=" slideout-open"}t.panel.style[h+"transform"]=t.panel.style.transform="translateX("+i+"px)";t.emit("translate",i);t._moved=true}};this.panel.addEventListener(f.move,this._onTouchMoveFn);return this};d.prototype.enableTouch=function(){this._touch=true;return this};d.prototype.disableTouch=function(){this._touch=false;return this};d.prototype.destroy=function(){this.close();a.removeEventListener(f.move,this._preventMove);this.panel.removeEventListener(f.start,this._resetTouchFn);this.panel.removeEventListener("touchcancel",this._onTouchCancelFn);this.panel.removeEventListener(f.end,this._onTouchEndFn);this.panel.removeEventListener(f.move,this._onTouchMoveFn);a.removeEventListener("scroll",this._onScrollFn);this.open=this.close=function(){};return this};e.exports=d},{decouple:2,emitter:3}],2:[function(t,e,n){"use strict";var i=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)}}();function o(t,e,n){var o,s=false;function r(t){o=t;a()}function a(){if(!s){i(u);s=true}}function u(){n.call(t,o);s=false}t.addEventListener(e,r,false);return r}e.exports=o},{}],3:[function(t,e,n){"use strict";var i=function(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}};n.__esModule=true;var o=function(){function t(){i(this,t)}t.prototype.on=function e(t,n){this._eventCollection=this._eventCollection||{};this._eventCollection[t]=this._eventCollection[t]||[];this._eventCollection[t].push(n);return this};t.prototype.once=function n(t,e){var n=this;function i(){n.off(t,i);e.apply(this,arguments)}i.listener=e;this.on(t,i);return this};t.prototype.off=function o(t,e){var n=undefined;if(!this._eventCollection||!(n=this._eventCollection[t])){return this}n.forEach(function(t,i){if(t===e||t.listener===e){n.splice(i,1)}});if(n.length===0){delete this._eventCollection[t]}return this};t.prototype.emit=function s(t){var e=this;for(var n=arguments.length,i=Array(n>1?n-1:0),o=1;o<n;o++){i[o-1]=arguments[o]}var s=undefined;if(!this._eventCollection||!(s=this._eventCollection[t])){return this}s=s.slice(0);s.forEach(function(t){return t.apply(e,i)});return this};return t}();n["default"]=o;e.exports=n["default"]},{}]},{},[1])(1)});
themes/foundation/modules/slideout/slideout.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ add_action( 'foundation_module_init_mobile', 'foundation_slideout_init' );
4
+
5
+ function foundation_slideout_init() {
6
+
7
+ // Slideout CSS
8
+ wp_register_style( 'foundation_slideout', foundation_get_base_module_url() . '/slideout/slideout.css' );
9
+
10
+ wp_enqueue_style(
11
+ 'foundation_slideout',
12
+ foundation_get_base_module_url() . '/slideout/slideout.css',
13
+ '',
14
+ md5( FOUNDATION_VERSION )
15
+ );
16
+
17
+ // Slideout JS
18
+ wp_enqueue_script(
19
+ 'foundation_slideout',
20
+ foundation_get_base_module_url() . '/slideout/slideout.js',
21
+ array( 'jquery' ),
22
+ md5( FOUNDATION_VERSION ),
23
+ true
24
+ );
25
+
26
+ // Slideout Helper JS
27
+ wp_enqueue_script(
28
+ 'foundation_slideout_helper',
29
+ foundation_get_base_module_url() . '/slideout/slideout-helper.js',
30
+ array( 'foundation_slideout' ),
31
+ md5( FOUNDATION_VERSION ),
32
+ true
33
+ );
34
+ }
themes/foundation/root-functions.php CHANGED
@@ -655,6 +655,11 @@ function foundation_load_theme_modules() {
655
  if ( count( $theme_data->theme_support ) ) {
656
  foreach( $theme_data->theme_support as $module ) {
657
 
 
 
 
 
 
658
  $bootstrap_file = dirname( __FILE__ ) . '/modules/' . $module . '/' . $module . '.php';
659
  $defined_name = 'WPTOUCH_MODULE_' . str_replace( '-', '_', strtoupper( $module ) ) . '_INSTALLED';
660
 
655
  if ( count( $theme_data->theme_support ) ) {
656
  foreach( $theme_data->theme_support as $module ) {
657
 
658
+ $allow_module_load = apply_filters( 'wptouch_allow_module_' . $module, true );
659
+ if ( !$allow_module_load ) {
660
+ continue;
661
+ }
662
+
663
  $bootstrap_file = dirname( __FILE__ ) . '/modules/' . $module . '/' . $module . '.php';
664
  $defined_name = 'WPTOUCH_MODULE_' . str_replace( '-', '_', strtoupper( $module ) ) . '_INSTALLED';
665
 
wptouch.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: WPtouch Mobile Plugin
4
  Plugin URI: http://www.wptouch.com/
5
- Version: 4.1.5
6
  Description: Make a beautiful mobile-friendly version of your website with just a few clicks
7
  Author: BraveNewCode Inc.
8
  Author URI: http://www.bravenewcode.com/
@@ -14,7 +14,7 @@
14
 
15
  function wptouch_create_four_object() {
16
  if ( !defined( 'WPTOUCH_IS_PRO' ) ) {
17
- define( 'WPTOUCH_VERSION', '4.1.5' );
18
 
19
  define( 'WPTOUCH_BASE_NAME', basename( __FILE__, '.php' ) . '.php' );
20
  define( 'WPTOUCH_DIR', WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . basename( __FILE__, '.php' ) );
@@ -129,4 +129,4 @@ if ( !is_wptouch_pro_active() ) {
129
  function wptouch_is_update_available() {
130
  return false;
131
  }
132
- }
2
  /*
3
  Plugin Name: WPtouch Mobile Plugin
4
  Plugin URI: http://www.wptouch.com/
5
+ Version: 4.1.6
6
  Description: Make a beautiful mobile-friendly version of your website with just a few clicks
7
  Author: BraveNewCode Inc.
8
  Author URI: http://www.bravenewcode.com/
14
 
15
  function wptouch_create_four_object() {
16
  if ( !defined( 'WPTOUCH_IS_PRO' ) ) {
17
+ define( 'WPTOUCH_VERSION', '4.1.6' );
18
 
19
  define( 'WPTOUCH_BASE_NAME', basename( __FILE__, '.php' ) . '.php' );
20
  define( 'WPTOUCH_DIR', WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . basename( __FILE__, '.php' ) );
129
  function wptouch_is_update_available() {
130
  return false;
131
  }
132
+ }