Version Description
Download this release
Release Info
Developer | bravenewcode |
Plugin | WPtouch |
Version | 3.5.4 |
Comparing to | |
See all releases |
Code changes from version 3.4.10 to 3.5.4
- admin/css/wptouch-admin-3.css +15 -159
- admin/js/wptouch-admin-3.js +30 -3
- admin/settings/html/checklist.php +25 -0
- admin/settings/html/theme-browser-ajax.php +2 -0
- admin/settings/html/theme-browser-item.php +11 -4
- admin/settings/html/theme-browser.php +8 -0
- admin/settings/include/checklist.php +12 -0
- core/admin-ajax.php +1 -1
- core/admin-backup-restore.php +22 -4
- core/admin-page-templates.php +4 -3
- core/admin-render.php +1 -1
- core/admin-themes.php +1 -2
- core/bncid.php +5 -3
- core/class-bncapi.php +4 -2
- core/class-wptouch-pro.php +38 -12
- core/config.php +9 -2
- core/theme.php +1 -1
- include/js/wptouch.js +4 -4
- lang/wptouch-pro-sk_SK.pot +2335 -0
- lang/wptouch.pot +114 -89
- readme.txt +34 -19
- themes/bauhaus/default/search.php +1 -1
- themes/bauhaus/default/style.css +5 -0
- themes/foundation/default/header.php +1 -4
- themes/foundation/default/home-template.php +3 -4
- themes/foundation/default/one-comment.php +10 -2
- themes/foundation/default/page.php +1 -1
- themes/foundation/default/search.php +1 -1
- themes/foundation/default/style.css +7 -1
- themes/foundation/modules/base/base.js +3 -5
- themes/foundation/modules/fastclick/fastclick.js +745 -758
- themes/foundation/modules/fastclick/fastclick.min.js +1 -1
- themes/foundation/modules/google-fonts/google-fonts.php +1 -1
- themes/foundation/modules/hammer/hammer.fakemultitouch.js +0 -101
- themes/foundation/modules/hammer/hammer.min.js +2 -8
- themes/foundation/modules/hammer/hammer.php +2 -10
- themes/foundation/modules/hammer/wptouch.hammer.js +8 -0
- themes/foundation/modules/pushit/pushit.css +1 -1
- themes/foundation/modules/pushit/pushit.js +55 -29
- themes/foundation/modules/tappable/wptouch.tappable.js +1 -1
- themes/foundation/modules/webapp/webapp.php +38 -1
- themes/foundation/readme.txt +1 -1
- themes/foundation/root-functions.php +25 -25
- wptouch.php +2 -2
admin/css/wptouch-admin-3.css
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
-
/* @override
|
|
|
|
|
|
|
|
|
2 |
|
3 |
/* @group General */
|
4 |
|
@@ -83,7 +87,7 @@
|
|
83 |
font-weight: bold;
|
84 |
font-size: 9px;
|
85 |
display: inline-block;
|
86 |
-
overflow: hidden;
|
87 |
background-color: #369;
|
88 |
}
|
89 |
|
@@ -942,102 +946,12 @@ input#preview.disabled {
|
|
942 |
float: right;
|
943 |
}
|
944 |
|
945 |
-
/* @group Free */
|
946 |
-
|
947 |
.wptouch-free #touchboard-left {
|
948 |
margin-right: 265px;
|
949 |
overflow: hidden;
|
950 |
text-align: center;
|
951 |
-
background-color: #f9f9fa;
|
952 |
-
}
|
953 |
-
|
954 |
-
|
955 |
-
.wptouch-free #touchboard-left .phones img {
|
956 |
-
padding-top: 10px;
|
957 |
-
width: auto;
|
958 |
-
max-width: 90%;
|
959 |
-
margin-left: 5%;
|
960 |
-
margin-right: 5%;
|
961 |
-
}
|
962 |
-
|
963 |
-
.wptouch-free #touchboard-left .hero-text {
|
964 |
-
padding-bottom: 40px;
|
965 |
}
|
966 |
|
967 |
-
.wptouch-free #touchboard-left .hero-text h1 {
|
968 |
-
font-weight: 200;
|
969 |
-
font-style: normal;
|
970 |
-
font-size: 400%;
|
971 |
-
margin: 0;
|
972 |
-
padding: 0;
|
973 |
-
line-height: 1.4em;
|
974 |
-
letter-spacing: -2px;
|
975 |
-
color: #565656;
|
976 |
-
}
|
977 |
-
|
978 |
-
.wptouch-free #touchboard-left .hero-text h2 {
|
979 |
-
color: #888;
|
980 |
-
font-weight: 100;
|
981 |
-
font-style: normal;
|
982 |
-
font-size: 140%;
|
983 |
-
padding: 0;
|
984 |
-
}
|
985 |
-
|
986 |
-
.wptouch-free #touchboard-left .hero-text h2 em {
|
987 |
-
font-weight: bold;
|
988 |
-
}
|
989 |
-
|
990 |
-
.wptouch-free #touchboard-left .hero-text h4 {
|
991 |
-
font-weight: 200;
|
992 |
-
font-style: normal;
|
993 |
-
font-size: 14px;
|
994 |
-
color: #888;
|
995 |
-
margin: 15px 0;
|
996 |
-
line-height: 1em;
|
997 |
-
}
|
998 |
-
|
999 |
-
.wptouch-free #touchboard-left .flex-item h5 {
|
1000 |
-
font-weight: 200;
|
1001 |
-
font-size: 18px;
|
1002 |
-
line-height: 1.2em;
|
1003 |
-
}
|
1004 |
-
|
1005 |
-
.wptouch-free .flex-container {
|
1006 |
-
display: -webkit-flex;
|
1007 |
-
display: -moz-flex;
|
1008 |
-
display: flex;
|
1009 |
-
-webkit-flex-flow: row wrap;
|
1010 |
-
-moz-flex-flow: row wrap;
|
1011 |
-
flex-flow: row wrap;
|
1012 |
-
border-top: 1px dashed #cad2d5;
|
1013 |
-
background-color: rgba(255,255,255,.9);
|
1014 |
-
padding-bottom: 20px;
|
1015 |
-
padding-top: 20px;
|
1016 |
-
}
|
1017 |
-
|
1018 |
-
.wptouch-free .flex-item {
|
1019 |
-
-webkit-flex: 1 0 20%;
|
1020 |
-
-moz-flex: 1 0 20%;
|
1021 |
-
flex: 1 0 20%;
|
1022 |
-
text-align: left;
|
1023 |
-
margin-right: 15px;
|
1024 |
-
margin-left: 15px;
|
1025 |
-
padding: 30px 0 0;
|
1026 |
-
}
|
1027 |
-
|
1028 |
-
.wptouch-free .flex-item i {
|
1029 |
-
color: #abb9c6;
|
1030 |
-
line-height: .5em;
|
1031 |
-
font-size: 4.5em;
|
1032 |
-
}
|
1033 |
-
|
1034 |
-
.wptouch-free .flex-item p {
|
1035 |
-
line-height: 1.4em;
|
1036 |
-
color: #565e63;
|
1037 |
-
font-size: 1.1em;
|
1038 |
-
}
|
1039 |
-
/* @end */
|
1040 |
-
|
1041 |
/* @group Right Side */
|
1042 |
|
1043 |
/* @group Quick Links */
|
@@ -2233,6 +2147,9 @@ textarea#homepage_message {
|
|
2233 |
.cloud-browser .cloud .view {
|
2234 |
display: none;
|
2235 |
}
|
|
|
|
|
|
|
2236 |
|
2237 |
/* @end */
|
2238 |
|
@@ -2545,7 +2462,7 @@ textarea#homepage_message {
|
|
2545 |
|
2546 |
/* @group Coffee */
|
2547 |
|
2548 |
-
.admin-color-coffee #wptouch-settings-area h2.logo-title,.admin-color-coffee #wptouch-settings-area .wptouch-section h3,
|
2549 |
.admin-color-coffee #wptouch-settings-area #license-area-left h3 {
|
2550 |
color: #46403C;
|
2551 |
}
|
@@ -2554,7 +2471,7 @@ textarea#homepage_message {
|
|
2554 |
color: #9EA476;
|
2555 |
}
|
2556 |
|
2557 |
-
.admin-color-coffee #wptouch-settings-area #wptouch-admin-menu a.active,
|
2558 |
.admin-color-coffee #wptouch-settings-area .advanced {
|
2559 |
background-color: #59524C;
|
2560 |
}
|
@@ -2571,7 +2488,7 @@ textarea#homepage_message {
|
|
2571 |
|
2572 |
/* @group Ectoplasm */
|
2573 |
|
2574 |
-
.admin-color-ectoplasm #wptouch-settings-area h2.logo-title,.admin-color-ectoplasm #wptouch-settings-area .wptouch-section h3,
|
2575 |
.admin-color-ectoplasm #wptouch-settings-area #license-area-left h3 {
|
2576 |
color: #413256;
|
2577 |
}
|
@@ -2596,7 +2513,7 @@ textarea#homepage_message {
|
|
2596 |
|
2597 |
/* @group Midnight */
|
2598 |
|
2599 |
-
.admin-color-midnight #wptouch-settings-area h2.logo-title,.admin-color-midnight #wptouch-settings-area .wptouch-section h3,
|
2600 |
.admin-color-midnight #wptouch-settings-area #license-area-left h3 {
|
2601 |
color: #25282b;
|
2602 |
}
|
@@ -2621,7 +2538,7 @@ textarea#homepage_message {
|
|
2621 |
|
2622 |
/* @group Midnight */
|
2623 |
|
2624 |
-
.admin-color-ocean #wptouch-settings-area h2.logo-title,.admin-color-ocean #wptouch-settings-area .wptouch-section h3,
|
2625 |
.admin-color-ocean #wptouch-settings-area #license-area-left h3 {
|
2626 |
color: #637c83;
|
2627 |
}
|
@@ -2646,7 +2563,7 @@ textarea#homepage_message {
|
|
2646 |
|
2647 |
/* @group Sunrise */
|
2648 |
|
2649 |
-
.admin-color-sunrise #wptouch-settings-area h2.logo-title,.admin-color-sunrise #wptouch-settings-area .wptouch-section h3,
|
2650 |
.admin-color-sunrise #wptouch-settings-area #license-area-left h3 {
|
2651 |
color: #b23d3b;
|
2652 |
}
|
@@ -2670,60 +2587,6 @@ textarea#homepage_message {
|
|
2670 |
/* @end */
|
2671 |
|
2672 |
|
2673 |
-
/* @end */
|
2674 |
-
|
2675 |
-
/* @group Upgrade */
|
2676 |
-
|
2677 |
-
#upgrade-area {
|
2678 |
-
margin-left: -22px;
|
2679 |
-
margin-right: -20px;
|
2680 |
-
text-align: center;
|
2681 |
-
}
|
2682 |
-
|
2683 |
-
#upgrade-area img {
|
2684 |
-
max-width: 95%;
|
2685 |
-
}
|
2686 |
-
|
2687 |
-
#upgrade-area h1 {
|
2688 |
-
font-size: 5em;
|
2689 |
-
font-weight: 300;
|
2690 |
-
letter-spacing: -2px;
|
2691 |
-
margin-bottom: 20px;
|
2692 |
-
}
|
2693 |
-
|
2694 |
-
#upgrade-area h2 {
|
2695 |
-
color: #7b7b7b;
|
2696 |
-
margin-bottom: 25px;
|
2697 |
-
}
|
2698 |
-
|
2699 |
-
#upgrade-area img.upgrade-button {
|
2700 |
-
margin-bottom: 30px;
|
2701 |
-
}
|
2702 |
-
|
2703 |
-
#upgrade-area h1 span {
|
2704 |
-
font-weight: 600;
|
2705 |
-
}
|
2706 |
-
|
2707 |
-
#upgrade-area h5 {
|
2708 |
-
font-weight: bold;
|
2709 |
-
font-size: 1.2em;
|
2710 |
-
}
|
2711 |
-
|
2712 |
-
#upgrade-area .flex-item {
|
2713 |
-
-webkit-flex: 1 0 15%;
|
2714 |
-
-moz-flex: 1 0 15%;
|
2715 |
-
flex: 1 0 15%;
|
2716 |
-
text-align: left;
|
2717 |
-
margin-right: 30px;
|
2718 |
-
margin-left: 30px;
|
2719 |
-
padding: 0;
|
2720 |
-
}
|
2721 |
-
|
2722 |
-
#upgrade-area .flex-container {
|
2723 |
-
margin-bottom: -100px;
|
2724 |
-
padding-bottom: 100px;
|
2725 |
-
}
|
2726 |
-
|
2727 |
/* @end */
|
2728 |
|
2729 |
@media all and (max-width: 700px) {
|
@@ -2731,13 +2594,6 @@ textarea#homepage_message {
|
|
2731 |
font-size: 20px;
|
2732 |
}
|
2733 |
|
2734 |
-
#upgrade-area .flex-item {
|
2735 |
-
-webkit-flex: 1 0 90%;
|
2736 |
-
-moz-flex: 1 0 90%;
|
2737 |
-
flex: 1 0 90%;
|
2738 |
-
text-align: center;
|
2739 |
-
}
|
2740 |
-
|
2741 |
.dropdown, #wptouch-settings-content .overview-right-wrap {
|
2742 |
display: none;
|
2743 |
}
|
1 |
+
/* @override
|
2 |
+
http://wptp3.local.com/wp-content/plugins/wptouch-pro-3/admin/css/wptouch-admin-3.css?ver=3.4.4
|
3 |
+
https://wptp3.local.com/wp-content/plugins/wptouch-pro-3/admin/css/wptouch-admin-3.css?ver=3.4.9
|
4 |
+
http://wptp3.local.com/wp-content/plugins/wptouch-pro-3/admin/css/wptouch-admin-3.css?ver=3.5
|
5 |
+
*/
|
6 |
|
7 |
/* @group General */
|
8 |
|
87 |
font-weight: bold;
|
88 |
font-size: 9px;
|
89 |
display: inline-block;
|
90 |
+
overflow: hidden;
|
91 |
background-color: #369;
|
92 |
}
|
93 |
|
946 |
float: right;
|
947 |
}
|
948 |
|
|
|
|
|
949 |
.wptouch-free #touchboard-left {
|
950 |
margin-right: 265px;
|
951 |
overflow: hidden;
|
952 |
text-align: center;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
953 |
}
|
954 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
955 |
/* @group Right Side */
|
956 |
|
957 |
/* @group Quick Links */
|
2147 |
.cloud-browser .cloud .view {
|
2148 |
display: none;
|
2149 |
}
|
2150 |
+
.cloud-browser .cloud .view.webkit {
|
2151 |
+
display: block;
|
2152 |
+
}
|
2153 |
|
2154 |
/* @end */
|
2155 |
|
2462 |
|
2463 |
/* @group Coffee */
|
2464 |
|
2465 |
+
.admin-color-coffee #wptouch-settings-area h2.logo-title,.admin-color-coffee #wptouch-settings-area .wptouch-section h3,
|
2466 |
.admin-color-coffee #wptouch-settings-area #license-area-left h3 {
|
2467 |
color: #46403C;
|
2468 |
}
|
2471 |
color: #9EA476;
|
2472 |
}
|
2473 |
|
2474 |
+
.admin-color-coffee #wptouch-settings-area #wptouch-admin-menu a.active,
|
2475 |
.admin-color-coffee #wptouch-settings-area .advanced {
|
2476 |
background-color: #59524C;
|
2477 |
}
|
2488 |
|
2489 |
/* @group Ectoplasm */
|
2490 |
|
2491 |
+
.admin-color-ectoplasm #wptouch-settings-area h2.logo-title,.admin-color-ectoplasm #wptouch-settings-area .wptouch-section h3,
|
2492 |
.admin-color-ectoplasm #wptouch-settings-area #license-area-left h3 {
|
2493 |
color: #413256;
|
2494 |
}
|
2513 |
|
2514 |
/* @group Midnight */
|
2515 |
|
2516 |
+
.admin-color-midnight #wptouch-settings-area h2.logo-title,.admin-color-midnight #wptouch-settings-area .wptouch-section h3,
|
2517 |
.admin-color-midnight #wptouch-settings-area #license-area-left h3 {
|
2518 |
color: #25282b;
|
2519 |
}
|
2538 |
|
2539 |
/* @group Midnight */
|
2540 |
|
2541 |
+
.admin-color-ocean #wptouch-settings-area h2.logo-title,.admin-color-ocean #wptouch-settings-area .wptouch-section h3,
|
2542 |
.admin-color-ocean #wptouch-settings-area #license-area-left h3 {
|
2543 |
color: #637c83;
|
2544 |
}
|
2563 |
|
2564 |
/* @group Sunrise */
|
2565 |
|
2566 |
+
.admin-color-sunrise #wptouch-settings-area h2.logo-title,.admin-color-sunrise #wptouch-settings-area .wptouch-section h3,
|
2567 |
.admin-color-sunrise #wptouch-settings-area #license-area-left h3 {
|
2568 |
color: #b23d3b;
|
2569 |
}
|
2587 |
/* @end */
|
2588 |
|
2589 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2590 |
/* @end */
|
2591 |
|
2592 |
@media all and (max-width: 700px) {
|
2594 |
font-size: 20px;
|
2595 |
}
|
2596 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2597 |
.dropdown, #wptouch-settings-content .overview-right-wrap {
|
2598 |
display: none;
|
2599 |
}
|
admin/js/wptouch-admin-3.js
CHANGED
@@ -394,7 +394,7 @@ function wptouchHandleMenuArea(){
|
|
394 |
// Handle "Check All"
|
395 |
|
396 |
jQuery( '#menu-set-options' ).on( 'click', 'a.check-all', function( e ) {
|
397 |
-
|
398 |
// Check all items that *aren't* checked already
|
399 |
if ( !jQuery( this ).is( ':checked' ) ) {
|
400 |
jQuery( this ).click();
|
@@ -404,7 +404,7 @@ function wptouchHandleMenuArea(){
|
|
404 |
|
405 |
// Now handle "Check None"
|
406 |
}).on( 'click', 'a.check-none', function( e ) {
|
407 |
-
|
408 |
// Check all items that *are* checked already
|
409 |
if ( jQuery( this ).is( ':checked' ) ) {
|
410 |
jQuery( this ).trigger( 'click' );
|
@@ -840,7 +840,7 @@ var wptouchPreviewWindow;
|
|
840 |
// The Preview Pop-Up Window
|
841 |
function wptouchPreviewWindow(){
|
842 |
|
843 |
-
var previewEl = jQuery( '
|
844 |
|
845 |
if ( wptouchIsWebKit() ) {
|
846 |
previewEl.on( 'click', function( e ) {
|
@@ -1067,6 +1067,9 @@ function wptouchLoadThemes() {
|
|
1067 |
} else {
|
1068 |
themesDiv.find( '.load' ).parent().replaceWith( result );
|
1069 |
|
|
|
|
|
|
|
1070 |
jQuery( '#setup-themes-browser' ).on( 'click', 'a.download, a.upgrade', function( e ) {
|
1071 |
var pressedButton = jQuery( this );
|
1072 |
var installURL = jQuery( this ).attr( 'data-url' );
|
@@ -1153,6 +1156,28 @@ function wptouchAdminHandleGeneral() {
|
|
1153 |
wptouchCheckToggle( '#show_wptouch_in_footer', '#setting-add_referral_code' );
|
1154 |
}
|
1155 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1156 |
function wptouchShowProItems() {
|
1157 |
jQuery( '.wptouch-free #foundation-page-webapp' ).find( 'div, li' ).show();
|
1158 |
jQuery( '.wptouch-free #foundation-page-webapp div.progress' ).hide();
|
@@ -1192,6 +1217,8 @@ function wptouchAdminReady() {
|
|
1192 |
wptouchLoadThemes();
|
1193 |
wptouchLoadAddons();
|
1194 |
|
|
|
|
|
1195 |
wptouchShowProItems();
|
1196 |
}
|
1197 |
|
394 |
// Handle "Check All"
|
395 |
|
396 |
jQuery( '#menu-set-options' ).on( 'click', 'a.check-all', function( e ) {
|
397 |
+
jQuery( '.menu-item-list:visible' ).find( 'input' ).each( function() {
|
398 |
// Check all items that *aren't* checked already
|
399 |
if ( !jQuery( this ).is( ':checked' ) ) {
|
400 |
jQuery( this ).click();
|
404 |
|
405 |
// Now handle "Check None"
|
406 |
}).on( 'click', 'a.check-none', function( e ) {
|
407 |
+
jQuery( '.menu-item-list:visible' ).find( 'input' ).each( function() {
|
408 |
// Check all items that *are* checked already
|
409 |
if ( jQuery( this ).is( ':checked' ) ) {
|
410 |
jQuery( this ).trigger( 'click' );
|
840 |
// The Preview Pop-Up Window
|
841 |
function wptouchPreviewWindow(){
|
842 |
|
843 |
+
var previewEl = jQuery( '.preview-button' );
|
844 |
|
845 |
if ( wptouchIsWebKit() ) {
|
846 |
previewEl.on( 'click', function( e ) {
|
1067 |
} else {
|
1068 |
themesDiv.find( '.load' ).parent().replaceWith( result );
|
1069 |
|
1070 |
+
wptouchPreviewWindow();
|
1071 |
+
wptouchHandleThemePreview();
|
1072 |
+
|
1073 |
jQuery( '#setup-themes-browser' ).on( 'click', 'a.download, a.upgrade', function( e ) {
|
1074 |
var pressedButton = jQuery( this );
|
1075 |
var installURL = jQuery( this ).attr( 'data-url' );
|
1156 |
wptouchCheckToggle( '#show_wptouch_in_footer', '#setting-add_referral_code' );
|
1157 |
}
|
1158 |
|
1159 |
+
function wptouchHandleThemePreview() {
|
1160 |
+
function triggerPreview( targetImage ) {
|
1161 |
+
jQuery( '#' + targetImage.attr( 'id' ) + '-preview' ).trigger( 'click' );
|
1162 |
+
}
|
1163 |
+
|
1164 |
+
if ( wptouchIsWebKit() ) {
|
1165 |
+
jQuery( '#setup-themes-browser .view' ).addClass( 'webkit' ).text( WPtouchCustom.open_theme_demo );
|
1166 |
+
jQuery( '#setup-themes-browser' ).find( '.image-wrapper' ).on( 'click', 'img' , function( e ) {
|
1167 |
+
e.preventDefault();
|
1168 |
+
e.stopImmediatePropagation();
|
1169 |
+
triggerPreview( jQuery( this ) );
|
1170 |
+
});
|
1171 |
+
|
1172 |
+
jQuery( '#setup-themes-browser' ).find( '.image-wrapper' ).on( 'click', '.view' , function( e ) {
|
1173 |
+
e.preventDefault();
|
1174 |
+
e.stopImmediatePropagation();
|
1175 |
+
triggerPreview( jQuery( this ).siblings( 'img' ).first() );
|
1176 |
+
});
|
1177 |
+
|
1178 |
+
}
|
1179 |
+
}
|
1180 |
+
|
1181 |
function wptouchShowProItems() {
|
1182 |
jQuery( '.wptouch-free #foundation-page-webapp' ).find( 'div, li' ).show();
|
1183 |
jQuery( '.wptouch-free #foundation-page-webapp div.progress' ).hide();
|
1217 |
wptouchLoadThemes();
|
1218 |
wptouchLoadAddons();
|
1219 |
|
1220 |
+
wptouchHandleThemePreview();
|
1221 |
+
|
1222 |
wptouchShowProItems();
|
1223 |
}
|
1224 |
|
admin/settings/html/checklist.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="check-group">
|
2 |
+
|
3 |
+
<label class="checklist" for="<?php wptouch_admin_the_setting_name(); ?>">
|
4 |
+
<?php if ( wptouch_get_locale() == 'fr_FR' ) { ?>
|
5 |
+
<?php wptouch_admin_the_setting_desc(); ?> :
|
6 |
+
<?php } else { ?>
|
7 |
+
<?php wptouch_admin_the_setting_desc(); ?>:
|
8 |
+
<?php } ?>
|
9 |
+
</label>
|
10 |
+
<?php if ( wptouch_admin_setting_has_tooltip() ) { ?>
|
11 |
+
<i class="wptouch-tooltip icon-info-sign" title="<?php wptouch_admin_the_setting_tooltip(); ?>"></i>
|
12 |
+
<?php } ?>
|
13 |
+
<?php if ( wptouch_admin_get_setting_level() == WPTOUCH_SETTING_ADVANCED ) { ?> <span class="advanced"><?php _e( 'Advanced', 'wptouch-pro' ); ?></span><?php } ?>
|
14 |
+
<?php if ( wptouch_admin_is_setting_new() ) { ?>
|
15 |
+
<span class="new"><?php _e( 'New', 'wptouch-pro' ); ?></span>
|
16 |
+
<?php } ?>
|
17 |
+
<?php include( WPTOUCH_DIR . '/include/html/pro.php' ); ?>
|
18 |
+
|
19 |
+
<?php while ( wptouch_admin_has_list_options() ) { ?>
|
20 |
+
<?php wptouch_admin_the_list_option(); ?>
|
21 |
+
|
22 |
+
<p><input type="checkbox" id="<?php wptouch_admin_the_setting_name(); ?>-<?php wptouch_admin_the_list_option_key(); ?>" name="<?php wptouch_admin_the_encoded_setting_name(); ?>[]" value="<?php wptouch_admin_the_list_option_key(); ?>"<?php if ( wptouch_admin_is_checklist_option_selected() ) echo " checked"; ?>> <label for="<?php wptouch_admin_the_setting_name(); ?>-<?php wptouch_admin_the_list_option_key(); ?>"><?php wptouch_admin_the_list_option_desc(); ?></label></p>
|
23 |
+
<?php } ?>
|
24 |
+
<input type="hidden" name="checklist-<?php wptouch_admin_the_setting_name(); ?>" value="1">
|
25 |
+
</div>
|
admin/settings/html/theme-browser-ajax.php
CHANGED
@@ -3,6 +3,8 @@
|
|
3 |
|
4 |
<?php wptouch_rewind_themes(); ?>
|
5 |
|
|
|
|
|
6 |
<?php while ( wptouch_has_themes( true ) ) { ?>
|
7 |
<?php wptouch_the_theme(); ?>
|
8 |
<?php if ( wptouch_is_theme_in_cloud() ) { ?>
|
3 |
|
4 |
<?php wptouch_rewind_themes(); ?>
|
5 |
|
6 |
+
<?php $cloud_themes = wptouch_get_available_cloud_themes(); ?>
|
7 |
+
|
8 |
<?php while ( wptouch_has_themes( true ) ) { ?>
|
9 |
<?php wptouch_the_theme(); ?>
|
10 |
<?php if ( wptouch_is_theme_in_cloud() ) { ?>
|
admin/settings/html/theme-browser-item.php
CHANGED
@@ -1,13 +1,20 @@
|
|
1 |
<li class="<?php wptouch_the_theme_classes(); ?>">
|
2 |
<?php if ( wptouch_get_theme_screenshot() ) { ?>
|
3 |
<div class="image-wrapper">
|
|
|
|
|
|
|
4 |
<?php if ( wptouch_is_theme_in_cloud() ) { ?>
|
5 |
-
<img src="<?php wptouch_the_theme_screenshot(); ?>" alt="<?php wptouch_the_theme_title(); ?>" />
|
6 |
-
|
|
|
|
|
7 |
<?php } else { ?>
|
8 |
<a href="#" data-toggle="modal" data-target="#modal-<?php echo wptouch_convert_to_class_name( wptouch_get_theme_title() ); ?>">
|
9 |
-
<img src="<?php wptouch_the_theme_screenshot(); ?>" alt="<?php wptouch_the_theme_title(); ?>" />
|
10 |
-
|
|
|
|
|
11 |
</a>
|
12 |
<?php } ?>
|
13 |
|
1 |
<li class="<?php wptouch_the_theme_classes(); ?>">
|
2 |
<?php if ( wptouch_get_theme_screenshot() ) { ?>
|
3 |
<div class="image-wrapper">
|
4 |
+
<?php if ( isset( $cloud_themes[ wptouch_convert_to_class_name( wptouch_get_theme_title() ) ] ) && wptouch_get_theme_title() != 'Scaffold' ) { ?>
|
5 |
+
<input type="hidden" id="<?php echo wptouch_convert_to_class_name( wptouch_get_theme_title() ); ?>-preview" class="preview-button" data-url="http://demo.wptouch.com/<?php echo wptouch_convert_to_class_name( wptouch_get_theme_title() ); ?>?wptouch_preview_theme=enabled" value="Preview" />
|
6 |
+
<?php } ?>
|
7 |
<?php if ( wptouch_is_theme_in_cloud() ) { ?>
|
8 |
+
<img src="<?php wptouch_the_theme_screenshot(); ?>" alt="<?php wptouch_the_theme_title(); ?>" id="<?php echo wptouch_convert_to_class_name( wptouch_get_theme_title() ); ?>" />
|
9 |
+
<?php if ( isset( $cloud_themes[ wptouch_convert_to_class_name( wptouch_get_theme_title() ) ] ) && wptouch_get_theme_title() != 'Scaffold' ) { ?>
|
10 |
+
<span class="view"><?php _e( 'Click to view screenshots', 'wptouch-pro' ); ?></span>
|
11 |
+
<?php } ?>
|
12 |
<?php } else { ?>
|
13 |
<a href="#" data-toggle="modal" data-target="#modal-<?php echo wptouch_convert_to_class_name( wptouch_get_theme_title() ); ?>">
|
14 |
+
<img src="<?php wptouch_the_theme_screenshot(); ?>" alt="<?php wptouch_the_theme_title(); ?>" id="<?php echo wptouch_convert_to_class_name( wptouch_get_theme_title() ); ?>" />
|
15 |
+
<?php if ( isset( $cloud_themes[ wptouch_convert_to_class_name( wptouch_get_theme_title() ) ] ) && wptouch_get_theme_title() != 'Scaffold' ) { ?>
|
16 |
+
<span class="view"><?php _e( 'Click to view screenshots', 'wptouch-pro' ); ?></span>
|
17 |
+
<?php } ?>
|
18 |
</a>
|
19 |
<?php } ?>
|
20 |
|
admin/settings/html/theme-browser.php
CHANGED
@@ -1,6 +1,14 @@
|
|
1 |
<?php if ( !wptouch_can_cloud_install( true ) ) { ?>
|
2 |
<div class="cloud-update-issue"><i class="icon-cloud"></i> <?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 />', '<a href="http://www.wptouch.com/support/knowledgebase/themes-or-extensions-cannot-be-downloaded/">', '</a>', 'extensions' ); ?></div>
|
3 |
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
<ul class="cloud-browser">
|
5 |
<?php while ( wptouch_has_themes( true ) ) { ?>
|
6 |
<?php wptouch_the_theme(); ?>
|
1 |
<?php if ( !wptouch_can_cloud_install( true ) ) { ?>
|
2 |
<div class="cloud-update-issue"><i class="icon-cloud"></i> <?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 />', '<a href="http://www.wptouch.com/support/knowledgebase/themes-or-extensions-cannot-be-downloaded/">', '</a>', 'extensions' ); ?></div>
|
3 |
<?php } ?>
|
4 |
+
|
5 |
+
<?php
|
6 |
+
$cloud_themes = wptouch_get_available_cloud_themes();
|
7 |
+
foreach ( $cloud_themes as $theme => $details ) {
|
8 |
+
$cloud_themes[ $theme ] = $theme;
|
9 |
+
}
|
10 |
+
?>
|
11 |
+
|
12 |
<ul class="cloud-browser">
|
13 |
<?php while ( wptouch_has_themes( true ) ) { ?>
|
14 |
<?php wptouch_the_theme(); ?>
|
admin/settings/include/checklist.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once( 'list.php' );
|
4 |
+
|
5 |
+
function wptouch_admin_is_checklist_option_selected() {
|
6 |
+
global $_primed_setting;
|
7 |
+
|
8 |
+
$settings = wptouch_get_settings( $_primed_setting->domain, false );
|
9 |
+
$setting_name = $_primed_setting->name;
|
10 |
+
|
11 |
+
return ( isset( $settings->$setting_name ) && ( in_array( wptouch_admin_get_list_option_key() , $settings->$setting_name ) ) );
|
12 |
+
}
|
core/admin-ajax.php
CHANGED
@@ -135,7 +135,7 @@ function wptouch_admin_handle_ajax( $wptouch_pro, $ajax_action ) {
|
|
135 |
if ( defined( 'WPTOUCH_IS_FREE' ) ) {
|
136 |
$content = wp_remote_get( 'http://wptouch-pro-3.s3.amazonaws.com/WPtouchBoard/free/page.xhtml' );
|
137 |
} else {
|
138 |
-
$content = wp_remote_get( 'http://wptouch-pro-3.s3.amazonaws.com/WPtouchBoard/pro/3.
|
139 |
}
|
140 |
|
141 |
if ( !is_wp_error( $content ) ) {
|
135 |
if ( defined( 'WPTOUCH_IS_FREE' ) ) {
|
136 |
$content = wp_remote_get( 'http://wptouch-pro-3.s3.amazonaws.com/WPtouchBoard/free/page.xhtml' );
|
137 |
} else {
|
138 |
+
$content = wp_remote_get( 'http://wptouch-pro-3.s3.amazonaws.com/WPtouchBoard/pro/3.5/page.xhtml' );
|
139 |
}
|
140 |
|
141 |
if ( !is_wp_error( $content ) ) {
|
core/admin-backup-restore.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
function wptouch_prune_backup_files( $amount =
|
4 |
require_once( WPTOUCH_DIR . '/core/file-operations.php' );
|
5 |
|
6 |
$all_files = wptouch_get_files_in_directory( WPTOUCH_BACKUP_DIRECTORY, '.txt' );
|
@@ -33,20 +33,38 @@ function wptouch_backup_settings() {
|
|
33 |
|
34 |
foreach( $backup_domains as $domain ) {
|
35 |
$settings_notused = wptouch_get_settings( $domain );
|
36 |
-
$settings = $wptouch_pro->settings_objects[ $domain ];
|
37 |
|
38 |
-
if ( isset( $settings->domain) ) {
|
39 |
unset( $settings->domain );
|
40 |
}
|
41 |
|
42 |
$settings_to_save[ $domain ] = apply_filters( 'wptouch_backup_settings', $settings, $domain );
|
43 |
}
|
44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
ksort( $settings_to_save );
|
46 |
|
47 |
$backup_string = base64_encode( gzcompress( serialize( $settings_to_save ), 9 ) );
|
48 |
|
49 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
$backup_file_name = WPTOUCH_BACKUP_DIRECTORY . '/' . $backup_base_name;
|
51 |
$backup_file = fopen( $backup_file_name, 'w+t' );
|
52 |
if ( $backup_file ) {
|
1 |
<?php
|
2 |
|
3 |
+
function wptouch_prune_backup_files( $amount = 2 ) {
|
4 |
require_once( WPTOUCH_DIR . '/core/file-operations.php' );
|
5 |
|
6 |
$all_files = wptouch_get_files_in_directory( WPTOUCH_BACKUP_DIRECTORY, '.txt' );
|
33 |
|
34 |
foreach( $backup_domains as $domain ) {
|
35 |
$settings_notused = wptouch_get_settings( $domain );
|
36 |
+
$settings = clone $wptouch_pro->settings_objects[ $domain ];
|
37 |
|
38 |
+
if ( isset( $settings->domain ) ) {
|
39 |
unset( $settings->domain );
|
40 |
}
|
41 |
|
42 |
$settings_to_save[ $domain ] = apply_filters( 'wptouch_backup_settings', $settings, $domain );
|
43 |
}
|
44 |
|
45 |
+
|
46 |
+
if ( isset( $settings_to_save[ 'bncid' ] ) ) {
|
47 |
+
if ( isset( $settings_to_save[ 'bncid' ]->wptouch_license_key ) ) {
|
48 |
+
//unset( $settings_to_save[ 'bncid' ]->wptouch_license_key );
|
49 |
+
}
|
50 |
+
|
51 |
+
if ( isset( $settings_to_save[ 'bncid' ]->bncid ) ) {
|
52 |
+
//unset( $settings_to_save[ 'bncid' ]->bncid );
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
ksort( $settings_to_save );
|
57 |
|
58 |
$backup_string = base64_encode( gzcompress( serialize( $settings_to_save ), 9 ) );
|
59 |
|
60 |
+
$unique_key = '';
|
61 |
+
if ( isset( $bnc_settings->license_key ) ) {
|
62 |
+
$unique_key = $bnc_settings->license;
|
63 |
+
} else if ( defined( 'AUTH_KEY' ) ) {
|
64 |
+
$unique_key = AUTH_KEY;
|
65 |
+
}
|
66 |
+
|
67 |
+
$backup_base_name = 'wptouch-backup-' . md5( $unique_key ) . '-' . date( 'Ymd-His') . '.txt';
|
68 |
$backup_file_name = WPTOUCH_BACKUP_DIRECTORY . '/' . $backup_base_name;
|
69 |
$backup_file = fopen( $backup_file_name, 'w+t' );
|
70 |
if ( $backup_file ) {
|
core/admin-page-templates.php
CHANGED
@@ -1,7 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
add_action( 'add_meta_boxes', 'wptouch_page_template_init' );
|
4 |
-
add_action( 'save_post', 'wptouch_page_template_save' );
|
|
|
5 |
|
6 |
function wptouch_get_page_template( $post_id ) {
|
7 |
return get_post_meta( $post_id, '_mobile_page_template', true );
|
1 |
<?php
|
2 |
+
if ( !defined( 'WPTOUCH_IS_FREE' ) ) {
|
3 |
+
add_action( 'add_meta_boxes', 'wptouch_page_template_init' );
|
4 |
+
add_action( 'save_post', 'wptouch_page_template_save' );
|
5 |
+
}
|
6 |
|
7 |
function wptouch_get_page_template( $post_id ) {
|
8 |
return get_post_meta( $post_id, '_mobile_page_template', true );
|
core/admin-render.php
CHANGED
@@ -25,7 +25,7 @@
|
|
25 |
<?php _e( 'Your WPtouch Pro license has expired. Renew now at a discount to continue receiving product updates and support.', 'wptouch-pro' ); ?>
|
26 |
<a href="http://www.wptouch.com/renew/?utm_campaign=renew-in-product&utm_medium=web&utm_source=wptouch" target="_blank" class="btn btn-small btn-warning"><?php _e( 'Renew Now', 'wptouch-pro' ); ?></a>
|
27 |
</div>
|
28 |
-
</div>
|
29 |
<?php } else { ?>
|
30 |
<?php if ( wptouch_should_show_license_nag() && $_GET['page'] != 'wptouch-admin-license' ) { ?>
|
31 |
<div class="alert-wrap">
|
25 |
<?php _e( 'Your WPtouch Pro license has expired. Renew now at a discount to continue receiving product updates and support.', 'wptouch-pro' ); ?>
|
26 |
<a href="http://www.wptouch.com/renew/?utm_campaign=renew-in-product&utm_medium=web&utm_source=wptouch" target="_blank" class="btn btn-small btn-warning"><?php _e( 'Renew Now', 'wptouch-pro' ); ?></a>
|
27 |
</div>
|
28 |
+
</div>
|
29 |
<?php } else { ?>
|
30 |
<?php if ( wptouch_should_show_license_nag() && $_GET['page'] != 'wptouch-admin-license' ) { ?>
|
31 |
<div class="alert-wrap">
|
core/admin-themes.php
CHANGED
@@ -192,7 +192,7 @@ function wptouch_get_theme_location() {
|
|
192 |
}
|
193 |
|
194 |
function wptouch_get_theme_url() {
|
195 |
-
|
196 |
}
|
197 |
|
198 |
function wptouch_the_theme_url() {
|
@@ -374,7 +374,6 @@ function wptouch_is_first_theme_preview_image() {
|
|
374 |
|
375 |
function wptouch_get_theme_preview_url() {
|
376 |
global $wptouch_theme_preview_item;
|
377 |
-
|
378 |
return wptouch_check_url_ssl( wptouch_get_theme_url() . '/preview/' . $wptouch_theme_preview_item );
|
379 |
}
|
380 |
|
192 |
}
|
193 |
|
194 |
function wptouch_get_theme_url() {
|
195 |
+
return WP_CONTENT_URL . wptouch_get_theme_location();
|
196 |
}
|
197 |
|
198 |
function wptouch_the_theme_url() {
|
374 |
|
375 |
function wptouch_get_theme_preview_url() {
|
376 |
global $wptouch_theme_preview_item;
|
|
|
377 |
return wptouch_check_url_ssl( wptouch_get_theme_url() . '/preview/' . $wptouch_theme_preview_item );
|
378 |
}
|
379 |
|
core/bncid.php
CHANGED
@@ -44,6 +44,10 @@ function wptouch_check_api() {
|
|
44 |
|
45 |
$current_time = time();
|
46 |
if ( $current_time > $bnc_settings->next_update_check_time ) {
|
|
|
|
|
|
|
|
|
47 |
$result = $wptouch_pro->bnc_api->check_api();
|
48 |
|
49 |
if ( isset( $result[ 'has_valid_license' ] ) ) {
|
@@ -81,9 +85,7 @@ function wptouch_check_api() {
|
|
81 |
}
|
82 |
}
|
83 |
|
84 |
-
|
85 |
-
$bnc_settings->next_update_check_time = $current_time + WPTOUCH_API_CHECK_INTERVAL;
|
86 |
-
$bnc_settings->save();
|
87 |
}
|
88 |
|
89 |
// We've changed license states here, so clear our theme and add-on transients
|
44 |
|
45 |
$current_time = time();
|
46 |
if ( $current_time > $bnc_settings->next_update_check_time ) {
|
47 |
+
// Update next check time
|
48 |
+
$bnc_settings->next_update_check_time = $current_time + WPTOUCH_API_CHECK_INTERVAL;
|
49 |
+
$bnc_settings->save();
|
50 |
+
|
51 |
$result = $wptouch_pro->bnc_api->check_api();
|
52 |
|
53 |
if ( isset( $result[ 'has_valid_license' ] ) ) {
|
85 |
}
|
86 |
}
|
87 |
|
88 |
+
$bnc_settings->save();
|
|
|
|
|
89 |
}
|
90 |
|
91 |
// We've changed license states here, so clear our theme and add-on transients
|
core/class-bncapi.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
define( 'BNC_API_VERSION', '
|
4 |
define( 'BNC_API_URL', 'http://api.wptouch.com/v/' . BNC_API_VERSION );
|
5 |
-
define( 'BNC_API_TIMEOUT',
|
6 |
|
7 |
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
8 |
|
@@ -74,6 +74,8 @@ class BNCAPI {
|
|
74 |
);
|
75 |
|
76 |
$this->attempts++;
|
|
|
|
|
77 |
$raw_response = wp_remote_request( $url, $options );
|
78 |
if ( !is_wp_error( $raw_response ) ) {
|
79 |
if ( $raw_response['response']['code'] == 200 ) {
|
1 |
<?php
|
2 |
|
3 |
+
define( 'BNC_API_VERSION', '4.0' );
|
4 |
define( 'BNC_API_URL', 'http://api.wptouch.com/v/' . BNC_API_VERSION );
|
5 |
+
define( 'BNC_API_TIMEOUT', 30 );
|
6 |
|
7 |
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
8 |
|
74 |
);
|
75 |
|
76 |
$this->attempts++;
|
77 |
+
|
78 |
+
WPTOUCH_DEBUG( WPTOUCH_INFO, 'Attempting to connect to URL: ' . $url );
|
79 |
$raw_response = wp_remote_request( $url, $options );
|
80 |
if ( !is_wp_error( $raw_response ) ) {
|
81 |
if ( $raw_response['response']['code'] == 200 ) {
|
core/class-wptouch-pro.php
CHANGED
@@ -170,6 +170,9 @@ class WPtouchProThree {
|
|
170 |
add_action( 'wptouch_ajax_desktop_switch', array( &$this, 'handle_desktop_switch_ajax' ) );
|
171 |
|
172 |
require_once( WPTOUCH_DIR . '/core/cloud-migrate.php' );
|
|
|
|
|
|
|
173 |
}
|
174 |
|
175 |
// Set up debug log
|
@@ -203,8 +206,6 @@ class WPtouchProThree {
|
|
203 |
// This is where the main user-agent matching happens to determine module or non-mobile
|
204 |
$this->analyze_user_agent_string();
|
205 |
|
206 |
-
$this->set_cache_cookie();
|
207 |
-
|
208 |
// We have a mobile device, so WPtouch Pro could potentially cache it or allow another app to cache
|
209 |
if ( $this->is_mobile_device ) {
|
210 |
WPTOUCH_DEBUG( WPTOUCH_INFO, 'User is viewing on a MOBILE device' );
|
@@ -595,7 +596,8 @@ class WPtouchProThree {
|
|
595 |
'cloud_download_fail' => __( 'The item failed to download for this reason: %reason%', 'wptouch-pro' ),
|
596 |
'remove_license' => __( 'You are about to reset your license information. Proceed?', 'wptouch-pro' ),
|
597 |
'upload_complete' => __( 'Upload Complete!', 'wptouch-pro' ),
|
598 |
-
'upload_invalid' => __( 'Upload Failed: Not a valid image.', 'wptouch-pro' )
|
|
|
599 |
);
|
600 |
|
601 |
wp_enqueue_script( 'jquery-plugins', WPTOUCH_URL . '/admin/js/wptouch-admin-plugins.js', 'jquery', md5( WPTOUCH_VERSION ) );
|
@@ -691,14 +693,6 @@ class WPtouchProThree {
|
|
691 |
$this->redirect_to_page( $this->get['redirect'] );
|
692 |
}
|
693 |
|
694 |
-
// Mobile support is only for clients, not the admin
|
695 |
-
if ( is_admin() && !isset( $this->post[ 'wptouch_switch_location' ] ) ) {
|
696 |
-
$this->is_mobile_device = false;
|
697 |
-
$this->showing_mobile_theme = false;
|
698 |
-
|
699 |
-
return;
|
700 |
-
}
|
701 |
-
|
702 |
$settings = $this->get_settings();
|
703 |
|
704 |
// Settings are reloaded inside this function since themes can augment the user-agent data
|
@@ -731,11 +725,37 @@ class WPtouchProThree {
|
|
731 |
// Filter to programmatically disable WPtouch Pro on a certain page
|
732 |
$this->showing_mobile_theme = apply_filters( 'wptouch_should_show_mobile_theme', $this->showing_mobile_theme );
|
733 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
734 |
if ( !$this->showing_mobile_theme ) {
|
735 |
if ( $settings->switch_link_method == 'automatic' || $settings->switch_link_method == 'ajax' ) {
|
736 |
add_action( 'wp_footer', array( &$this, 'show_desktop_switch_link' ) );
|
737 |
}
|
738 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
739 |
}
|
740 |
|
741 |
function setup_mobile_theme_for_viewing() {
|
@@ -768,6 +788,8 @@ class WPtouchProThree {
|
|
768 |
add_filter( 'stylesheet_directory', array( &$this, 'get_stylesheet_directory' ) );
|
769 |
add_filter( 'stylesheet_directory_uri', array( &$this, 'get_stylesheet_directory_uri' ) );
|
770 |
|
|
|
|
|
771 |
add_action( 'template_redirect', array( &$this, 'intercept_template' ), 1 );
|
772 |
|
773 |
add_action( 'wptouch_pre_head', array( &$this, 'setup_theme_styles' ) );
|
@@ -2428,6 +2450,10 @@ class WPtouchProThree {
|
|
2428 |
die;
|
2429 |
}
|
2430 |
|
|
|
|
|
|
|
|
|
2431 |
function handle_desktop_footer() {
|
2432 |
if ( !is_feed() ) {
|
2433 |
if ( defined( 'WPTOUCH_IS_FREE' ) ) {
|
@@ -2523,7 +2549,7 @@ class WPtouchProThree {
|
|
2523 |
require_once( WPTOUCH_DIR . '/core/admin-settings.php' );
|
2524 |
wptouch_settings_process( $this );
|
2525 |
|
2526 |
-
|
2527 |
|
2528 |
$new_settings = wptouch_get_settings();
|
2529 |
|
170 |
add_action( 'wptouch_ajax_desktop_switch', array( &$this, 'handle_desktop_switch_ajax' ) );
|
171 |
|
172 |
require_once( WPTOUCH_DIR . '/core/cloud-migrate.php' );
|
173 |
+
|
174 |
+
} else {
|
175 |
+
add_action( 'wp', array( &$this, 'set_cache_cookie' ) );
|
176 |
}
|
177 |
|
178 |
// Set up debug log
|
206 |
// This is where the main user-agent matching happens to determine module or non-mobile
|
207 |
$this->analyze_user_agent_string();
|
208 |
|
|
|
|
|
209 |
// We have a mobile device, so WPtouch Pro could potentially cache it or allow another app to cache
|
210 |
if ( $this->is_mobile_device ) {
|
211 |
WPTOUCH_DEBUG( WPTOUCH_INFO, 'User is viewing on a MOBILE device' );
|
596 |
'cloud_download_fail' => __( 'The item failed to download for this reason: %reason%', 'wptouch-pro' ),
|
597 |
'remove_license' => __( 'You are about to reset your license information. Proceed?', 'wptouch-pro' ),
|
598 |
'upload_complete' => __( 'Upload Complete!', 'wptouch-pro' ),
|
599 |
+
'upload_invalid' => __( 'Upload Failed: Not a valid image.', 'wptouch-pro' ),
|
600 |
+
'open_theme_demo' => __( 'Click to view theme demo', 'wptouch-pro' ),
|
601 |
);
|
602 |
|
603 |
wp_enqueue_script( 'jquery-plugins', WPTOUCH_URL . '/admin/js/wptouch-admin-plugins.js', 'jquery', md5( WPTOUCH_VERSION ) );
|
693 |
$this->redirect_to_page( $this->get['redirect'] );
|
694 |
}
|
695 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
696 |
$settings = $this->get_settings();
|
697 |
|
698 |
// Settings are reloaded inside this function since themes can augment the user-agent data
|
725 |
// Filter to programmatically disable WPtouch Pro on a certain page
|
726 |
$this->showing_mobile_theme = apply_filters( 'wptouch_should_show_mobile_theme', $this->showing_mobile_theme );
|
727 |
|
728 |
+
// Mobile support is only for clients, not the admin
|
729 |
+
$force_mobile_ajax = false;
|
730 |
+
if ( apply_filters( 'wptouch_force_mobile_ajax', false ) && $this->is_mobile_device && $this->showing_mobile_theme ) {
|
731 |
+
$force_mobile_ajax = true;
|
732 |
+
}
|
733 |
+
|
734 |
+
if ( is_admin() && !$force_mobile_ajax && !isset( $this->post[ 'wptouch_switch_location' ] ) ) {
|
735 |
+
$this->is_mobile_device = false;
|
736 |
+
$this->showing_mobile_theme = false;
|
737 |
+
return;
|
738 |
+
}
|
739 |
+
|
740 |
if ( !$this->showing_mobile_theme ) {
|
741 |
if ( $settings->switch_link_method == 'automatic' || $settings->switch_link_method == 'ajax' ) {
|
742 |
add_action( 'wp_footer', array( &$this, 'show_desktop_switch_link' ) );
|
743 |
}
|
744 |
}
|
745 |
+
|
746 |
+
add_filter( 'response_modify_cache_key', array( &$this, 'modify_response_key' ) );
|
747 |
+
}
|
748 |
+
|
749 |
+
function modify_response_key( $current_key ) {
|
750 |
+
if ( $this->is_mobile_device ) {
|
751 |
+
if ( $this->showing_mobile_theme ) {
|
752 |
+
return md5( $current_key . 'MobileOnMobile' );
|
753 |
+
} else {
|
754 |
+
return md5( $current_key . 'DesktopOnMobile' );
|
755 |
+
}
|
756 |
+
} else {
|
757 |
+
return $current_key;
|
758 |
+
}
|
759 |
}
|
760 |
|
761 |
function setup_mobile_theme_for_viewing() {
|
788 |
add_filter( 'stylesheet_directory', array( &$this, 'get_stylesheet_directory' ) );
|
789 |
add_filter( 'stylesheet_directory_uri', array( &$this, 'get_stylesheet_directory_uri' ) );
|
790 |
|
791 |
+
add_filter( 'wp_get_attachment_url', array( &$this, 'https_for_ssl' ) );
|
792 |
+
|
793 |
add_action( 'template_redirect', array( &$this, 'intercept_template' ), 1 );
|
794 |
|
795 |
add_action( 'wptouch_pre_head', array( &$this, 'setup_theme_styles' ) );
|
2450 |
die;
|
2451 |
}
|
2452 |
|
2453 |
+
function https_for_ssl( $content ) {
|
2454 |
+
return wptouch_check_url_ssl( $content );
|
2455 |
+
}
|
2456 |
+
|
2457 |
function handle_desktop_footer() {
|
2458 |
if ( !is_feed() ) {
|
2459 |
if ( defined( 'WPTOUCH_IS_FREE' ) ) {
|
2549 |
require_once( WPTOUCH_DIR . '/core/admin-settings.php' );
|
2550 |
wptouch_settings_process( $this );
|
2551 |
|
2552 |
+
$this->delete_theme_add_on_cache();
|
2553 |
|
2554 |
$new_settings = wptouch_get_settings();
|
2555 |
|
core/config.php
CHANGED
@@ -34,6 +34,7 @@ define( 'WPTOUCH_COOKIE', 'wptouch-pro-view' );
|
|
34 |
define( 'WPTOUCH_CACHE_COOKIE', 'wptouch-pro-cache-state' );
|
35 |
|
36 |
function wptouch_check_url_ssl( $ssl_string ) {
|
|
|
37 |
if ( isset( $_SERVER['HTTPS'] ) && ( $_SERVER['HTTPS'] === "on" ) ) {
|
38 |
return str_replace( 'http://', 'https://', $ssl_string );
|
39 |
} else {
|
@@ -86,8 +87,14 @@ define( 'WPTOUCH_PRO_README_FILE', 'http://www.wptouch.com/wptouch-pro-3/readme.
|
|
86 |
|
87 |
define( 'ADDON_SETTING_DOMAIN', 'addons' );
|
88 |
|
89 |
-
define( 'WPTOUCH_API_GENERAL_CACHE_TIME',
|
90 |
-
|
91 |
define( 'WPTOUCH_THEME_ADDON_TRANSIENT_TIME', 600 );
|
92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
require_once( 'mobile-user-agents.php' );
|
34 |
define( 'WPTOUCH_CACHE_COOKIE', 'wptouch-pro-cache-state' );
|
35 |
|
36 |
function wptouch_check_url_ssl( $ssl_string ) {
|
37 |
+
|
38 |
if ( isset( $_SERVER['HTTPS'] ) && ( $_SERVER['HTTPS'] === "on" ) ) {
|
39 |
return str_replace( 'http://', 'https://', $ssl_string );
|
40 |
} else {
|
87 |
|
88 |
define( 'ADDON_SETTING_DOMAIN', 'addons' );
|
89 |
|
90 |
+
define( 'WPTOUCH_API_GENERAL_CACHE_TIME', 1800 );
|
91 |
+
|
92 |
define( 'WPTOUCH_THEME_ADDON_TRANSIENT_TIME', 600 );
|
93 |
|
94 |
+
if ( defined( 'WPTOUCH_IS_FREE' ) ) {
|
95 |
+
define( 'WPTOUCH_API_CHECK_INTERVAL', 43200 );
|
96 |
+
} else {
|
97 |
+
define( 'WPTOUCH_API_CHECK_INTERVAL', 1500 );
|
98 |
+
}
|
99 |
+
|
100 |
require_once( 'mobile-user-agents.php' );
|
core/theme.php
CHANGED
@@ -403,7 +403,7 @@ function wptouch_use_jquery_2() {
|
|
403 |
$settings = wptouch_get_settings();
|
404 |
if ( $settings->use_jquery_2 == true && !is_admin() ) {
|
405 |
wp_deregister_script( 'jquery' );
|
406 |
-
wp_register_script( 'jquery', '
|
407 |
wp_enqueue_script( 'jquery' );
|
408 |
}
|
409 |
}
|
403 |
$settings = wptouch_get_settings();
|
404 |
if ( $settings->use_jquery_2 == true && !is_admin() ) {
|
405 |
wp_deregister_script( 'jquery' );
|
406 |
+
wp_register_script( 'jquery', '//code.jquery.com/jquery-2.1.1.min.js', false, '2.1.1', 1 );
|
407 |
wp_enqueue_script( 'jquery' );
|
408 |
}
|
409 |
}
|
include/js/wptouch.js
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
/* WPtouch Basic Client-side Ajax Routines */
|
2 |
-
function WPtouchAjax( actionName, actionParams, callback ) {
|
3 |
var ajaxData = {
|
4 |
action: "wptouch_client_ajax",
|
5 |
wptouch_action: actionName,
|
6 |
wptouch_nonce: WPtouch.security_nonce
|
7 |
};
|
8 |
-
|
9 |
for ( name in actionParams ) { ajaxData[name] = actionParams[name]; }
|
10 |
|
11 |
jQuery.post( WPtouch.ajaxurl, ajaxData, function( result ) {
|
12 |
-
callback( result );
|
13 |
-
});
|
14 |
}
|
1 |
/* WPtouch Basic Client-side Ajax Routines */
|
2 |
+
function WPtouchAjax( actionName, actionParams, callback ) {
|
3 |
var ajaxData = {
|
4 |
action: "wptouch_client_ajax",
|
5 |
wptouch_action: actionName,
|
6 |
wptouch_nonce: WPtouch.security_nonce
|
7 |
};
|
8 |
+
|
9 |
for ( name in actionParams ) { ajaxData[name] = actionParams[name]; }
|
10 |
|
11 |
jQuery.post( WPtouch.ajaxurl, ajaxData, function( result ) {
|
12 |
+
callback( result );
|
13 |
+
});
|
14 |
}
|
lang/wptouch-pro-sk_SK.pot
ADDED
@@ -0,0 +1,2335 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2014 WPtouch Mobile Plugin
|
2 |
+
# This file is distributed under the same license as the WPtouch Mobile Plugin package.
|
3 |
+
# Translators:
|
4 |
+
# Michal Vittek <miso.par1c@gmail.com>, 2014
|
5 |
+
msgid ""
|
6 |
+
msgstr ""
|
7 |
+
"Project-Id-Version: WPtouch Mobile Plugin\n"
|
8 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
|
9 |
+
"POT-Creation-Date: 2014-08-27 19:55:06+00:00\n"
|
10 |
+
"PO-Revision-Date: 2014-09-05 09:52+0100\n"
|
11 |
+
"Last-Translator: Michal Vittek <michal.vittek@wp.sk>\n"
|
12 |
+
"Language-Team: Slovak (http://www.transifex.com/projects/p/wptouch-mobile-"
|
13 |
+
"plugin/language/sk/)\n"
|
14 |
+
"MIME-Version: 1.0\n"
|
15 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
+
"Content-Transfer-Encoding: 8bit\n"
|
17 |
+
"Language: sk\n"
|
18 |
+
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
19 |
+
"X-Generator: Poedit 1.6.7\n"
|
20 |
+
|
21 |
+
#: admin/html/help.php:1
|
22 |
+
msgid "WPtouch Help & Account Links"
|
23 |
+
msgstr "Pomoc s WPtouch a Odkazy účtov"
|
24 |
+
|
25 |
+
#: admin/html/help.php:3
|
26 |
+
msgid "Support Forums"
|
27 |
+
msgstr "Fóra podpory"
|
28 |
+
|
29 |
+
#: admin/html/help.php:4
|
30 |
+
msgid "Documentation"
|
31 |
+
msgstr "Dokumentácia"
|
32 |
+
|
33 |
+
#: admin/html/help.php:5
|
34 |
+
msgid "Account & Downloads"
|
35 |
+
msgstr "Účty a stiahnutia"
|
36 |
+
|
37 |
+
#: admin/html/help.php:6
|
38 |
+
msgid "BraveNewCode on Twitter"
|
39 |
+
msgstr "BraveNewCode na Twitteri"
|
40 |
+
|
41 |
+
#: admin/html/help.php:7
|
42 |
+
msgid "Plugin Licensing Terms"
|
43 |
+
msgstr "Licenčné podmienky modulu"
|
44 |
+
|
45 |
+
#: admin/html/notification-center.php:6
|
46 |
+
msgid "What's in WPtouch Pro?"
|
47 |
+
msgstr "Čo obsahuje WPtouch Pro?"
|
48 |
+
|
49 |
+
#: admin/html/notification-center.php:10
|
50 |
+
msgid "Notifications"
|
51 |
+
msgstr "Oznámenia"
|
52 |
+
|
53 |
+
#: admin/html/notification-content.php:20
|
54 |
+
msgid "No notifications"
|
55 |
+
msgstr "Žiadne oznámenia"
|
56 |
+
|
57 |
+
#: admin/html/plugin-area.php:9
|
58 |
+
msgid ""
|
59 |
+
"A new product version (%s) is available. %sRenew your license%s to download "
|
60 |
+
"this update and receive additional product support."
|
61 |
+
msgstr ""
|
62 |
+
"Je dostupný nová verzia produktu (%s). Pre získanie aktualizácie a popdory, "
|
63 |
+
"prosím %sobnovte si licenciu%s."
|
64 |
+
|
65 |
+
#: admin/html/plugin-area.php:11
|
66 |
+
msgid ""
|
67 |
+
"A new product version (%s) is available. Please %sactivate your license%s, "
|
68 |
+
"or %spurchase a new license%s to enable updates and full product support."
|
69 |
+
msgstr ""
|
70 |
+
"Je dostupný nová verzia produktu (%s). Pre získanie aktualizácie a popdory, "
|
71 |
+
"prosím %saktivujte si licenciu%s alebo %ssi ju zakúpte%s."
|
72 |
+
|
73 |
+
#: admin/pages/custom/wptouch-admin-license.php:9
|
74 |
+
msgid "License Details"
|
75 |
+
msgstr "Licenčné podrobnosti"
|
76 |
+
|
77 |
+
#: admin/pages/custom/wptouch-admin-license.php:11
|
78 |
+
msgid "Note"
|
79 |
+
msgstr "Poznámka"
|
80 |
+
|
81 |
+
#: admin/pages/custom/wptouch-admin-license.php:12
|
82 |
+
msgid "Once you activate, this page will be hidden."
|
83 |
+
msgstr "Táto stránka bude po aktivácii modulu schovaná."
|
84 |
+
|
85 |
+
#: admin/pages/custom/wptouch-admin-license.php:15
|
86 |
+
msgid "It will only reappear if you reset your WPtouch Pro settings."
|
87 |
+
msgstr "Znova sa zobrazí, iba ak obnovíte základné nastavenia WPtouch Pro."
|
88 |
+
|
89 |
+
#: admin/pages/custom/wptouch-admin-license.php:18
|
90 |
+
msgid "Account E-Mail Address"
|
91 |
+
msgstr "Emailová adresa účtu"
|
92 |
+
|
93 |
+
#: admin/pages/custom/wptouch-admin-license.php:19
|
94 |
+
msgid "Product License Key"
|
95 |
+
msgstr "Licenčný kľúč produktu"
|
96 |
+
|
97 |
+
#: admin/pages/custom/wptouch-admin-license.php:23
|
98 |
+
msgid "Renew License"
|
99 |
+
msgstr "Obnoviť licenciu"
|
100 |
+
|
101 |
+
#: admin/pages/custom/wptouch-admin-license.php:25
|
102 |
+
#: admin/settings/html/extension-browser-item.php:89
|
103 |
+
#: admin/settings/html/theme-browser-item.php:129
|
104 |
+
msgid "Activate"
|
105 |
+
msgstr "Aktivovať"
|
106 |
+
|
107 |
+
#: admin/pages/custom/wptouch-admin-license.php:28
|
108 |
+
msgid "Clear License"
|
109 |
+
msgstr "Vymazať licenciu"
|
110 |
+
|
111 |
+
#: admin/pages/custom/wptouch-admin-license.php:39
|
112 |
+
msgid "Success."
|
113 |
+
msgstr "Úspech."
|
114 |
+
|
115 |
+
#: admin/pages/custom/wptouch-admin-license.php:40
|
116 |
+
msgid "Activation Complete. Enjoy WPtouch Pro!"
|
117 |
+
msgstr "Aktivácia kompletná. Užite si WPtouch Pro!"
|
118 |
+
|
119 |
+
#: admin/pages/custom/wptouch-admin-license.php:44
|
120 |
+
msgid "E-mail address or license key rejected"
|
121 |
+
msgstr "Bol odmietnutý email alebo licenčný kľúč"
|
122 |
+
|
123 |
+
#: admin/pages/custom/wptouch-admin-license.php:45
|
124 |
+
msgid ""
|
125 |
+
"The wptouch.com server rejected your E-Mail address and/or License Key. "
|
126 |
+
"Please check they are correct and try again."
|
127 |
+
msgstr ""
|
128 |
+
"wptouch.com odmietol váš email alebo licenčný kľúč. Prosím skontrolujte ich "
|
129 |
+
"a skúste to znova."
|
130 |
+
|
131 |
+
#: admin/pages/custom/wptouch-admin-license.php:49
|
132 |
+
msgid "Your license has expired."
|
133 |
+
msgstr "Vaša licencia vypršala"
|
134 |
+
|
135 |
+
#: admin/pages/custom/wptouch-admin-license.php:50
|
136 |
+
msgid ""
|
137 |
+
"%sRenew your license%s to continue to receive product updates and support."
|
138 |
+
msgstr "Prepokračovanie podpory a aktualizácii si%sobnovte vašu licenciu%s."
|
139 |
+
|
140 |
+
#: admin/pages/custom/wptouch-admin-license.php:54
|
141 |
+
msgid "No licenses remaining."
|
142 |
+
msgstr "Nezostáva žiadna licencia"
|
143 |
+
|
144 |
+
#: admin/pages/custom/wptouch-admin-license.php:55
|
145 |
+
msgid "You have used all your activations. What do you want to do?"
|
146 |
+
msgstr "Použili ste všetky aktivácie. Čo chcete robiť?"
|
147 |
+
|
148 |
+
#: admin/pages/custom/wptouch-admin-license.php:56
|
149 |
+
msgid "Upgrade My License"
|
150 |
+
msgstr "Zmeniť licenciu"
|
151 |
+
|
152 |
+
#: admin/pages/custom/wptouch-admin-license.php:57
|
153 |
+
msgid "Contact support for assistance"
|
154 |
+
msgstr "Kontaktovať podporu"
|
155 |
+
|
156 |
+
#: admin/pages/custom/wptouch-admin-license.php:61
|
157 |
+
msgid "The server is unavailable."
|
158 |
+
msgstr "Server nie je dostupný."
|
159 |
+
|
160 |
+
#: admin/pages/custom/wptouch-admin-license.php:62
|
161 |
+
msgid "The wptouch.com server currently cannot authorize your License."
|
162 |
+
msgstr "Server wptouch.com práve nemôže overiť vašu licenciu."
|
163 |
+
|
164 |
+
#: admin/pages/custom/wptouch-admin-license.php:63
|
165 |
+
msgid "Please %scontact us%s and let us know about it."
|
166 |
+
msgstr "Prosím %skontaktujte nás%s."
|
167 |
+
|
168 |
+
#: admin/pages/wptouch-admin-general-settings.php:3 core/admin-menu.php:17
|
169 |
+
#: themes/foundation/root-functions.php:10
|
170 |
+
msgid "General"
|
171 |
+
msgstr "Hlavné"
|
172 |
+
|
173 |
+
#: admin/pages/wptouch-admin-general-settings.php:4
|
174 |
+
msgid "Compatibility"
|
175 |
+
msgstr "Kompatibilita"
|
176 |
+
|
177 |
+
#: admin/pages/wptouch-admin-general-settings.php:10
|
178 |
+
msgid "Auto-detect"
|
179 |
+
msgstr "Zistiť automaticky"
|
180 |
+
|
181 |
+
#: admin/pages/wptouch-admin-general-settings.php:47
|
182 |
+
msgid "WPtouch Pro site title"
|
183 |
+
msgstr "Názov stránky WPtouch Pro"
|
184 |
+
|
185 |
+
#: admin/pages/wptouch-admin-general-settings.php:48
|
186 |
+
msgid ""
|
187 |
+
"If the title of your site is long, you can shorten it for display within "
|
188 |
+
"WPtouch Pro themes."
|
189 |
+
msgstr "Ak je názov stránky príliš dlhý, môžete ho skrátiť vo WPtouch Pro téme"
|
190 |
+
|
191 |
+
#: admin/pages/wptouch-admin-general-settings.php:55
|
192 |
+
msgid "Display %sPowered by WPtouch Pro%s in footer"
|
193 |
+
msgstr "Zobraziť v pätičke %sPoháňa WPtouch Pro%s"
|
194 |
+
|
195 |
+
#: admin/pages/wptouch-admin-general-settings.php:66
|
196 |
+
msgid "Use my WPtouch Pro referral code to earn commission"
|
197 |
+
msgstr "Použiť affiliate kód WPtouch Pro"
|
198 |
+
|
199 |
+
#: admin/pages/wptouch-admin-general-settings.php:67
|
200 |
+
msgid ""
|
201 |
+
"Licensed users of WPtouch Pro can earn a commission for each sale they "
|
202 |
+
"generate from their mobile website"
|
203 |
+
msgstr ""
|
204 |
+
"Licencovaný používatelia WPtouch Pro získavajú odmeny za každý predaj "
|
205 |
+
"pomocou ich mobilnej stránky."
|
206 |
+
|
207 |
+
#: admin/pages/wptouch-admin-general-settings.php:75
|
208 |
+
msgid "Site Title & Byline"
|
209 |
+
msgstr "Názov stránky a slogan"
|
210 |
+
|
211 |
+
#: admin/pages/wptouch-admin-general-settings.php:84
|
212 |
+
msgid "Regionalization"
|
213 |
+
msgstr "Regionalizácia"
|
214 |
+
|
215 |
+
#: admin/pages/wptouch-admin-general-settings.php:90
|
216 |
+
msgid "Language"
|
217 |
+
msgstr "Jazyk"
|
218 |
+
|
219 |
+
#: admin/pages/wptouch-admin-general-settings.php:91
|
220 |
+
msgid ""
|
221 |
+
"The WPtouch Pro admin panel & supported themes will be shown in this "
|
222 |
+
"locale."
|
223 |
+
msgstr ""
|
224 |
+
"Podporované témy administračného panela WPtouch Pro budú zobrazené v tomto "
|
225 |
+
"jazyku."
|
226 |
+
|
227 |
+
#: admin/pages/wptouch-admin-general-settings.php:99
|
228 |
+
msgid "Translate administration panel text"
|
229 |
+
msgstr "Preložiť text administračného panela"
|
230 |
+
|
231 |
+
#: admin/pages/wptouch-admin-general-settings.php:110
|
232 |
+
msgid "Display Mode"
|
233 |
+
msgstr "Mód zobrazenia"
|
234 |
+
|
235 |
+
#: admin/pages/wptouch-admin-general-settings.php:116
|
236 |
+
msgid "Theme Display"
|
237 |
+
msgstr "Zobrazenie témy"
|
238 |
+
|
239 |
+
#: admin/pages/wptouch-admin-general-settings.php:121
|
240 |
+
msgid "Normal (active for all mobile visitors)"
|
241 |
+
msgstr "Normálne (aktívna pre všetkých návštevníkov s mobilnými zariadeniami)"
|
242 |
+
|
243 |
+
#: admin/pages/wptouch-admin-general-settings.php:122
|
244 |
+
msgid "Preview (active only for logged-in site administrators)"
|
245 |
+
msgstr "Náhľad (aktívna iba pre administrátorov s mobilnými zariadeniami)"
|
246 |
+
|
247 |
+
#: admin/pages/wptouch-admin-general-settings.php:123
|
248 |
+
msgid "Disabled (mobile theme will never show)"
|
249 |
+
msgstr "Vypnuté (mobilná téma nie je zobrazovaná)"
|
250 |
+
|
251 |
+
#: admin/pages/wptouch-admin-general-settings.php:132
|
252 |
+
msgid "Landing Page"
|
253 |
+
msgstr "Landing page"
|
254 |
+
|
255 |
+
#: admin/pages/wptouch-admin-general-settings.php:138
|
256 |
+
msgid "WPtouch Pro landing page"
|
257 |
+
msgstr "Landing page WPtouch Pro"
|
258 |
+
|
259 |
+
#: admin/pages/wptouch-admin-general-settings.php:143
|
260 |
+
msgid "Default (same as WordPress)"
|
261 |
+
msgstr "Základná (zhodná s WordPress)"
|
262 |
+
|
263 |
+
#: admin/pages/wptouch-admin-general-settings.php:144
|
264 |
+
msgid "Select from WordPress pages"
|
265 |
+
msgstr "Vyberte zo stránok WordPress"
|
266 |
+
|
267 |
+
#: admin/pages/wptouch-admin-general-settings.php:145
|
268 |
+
msgctxt "Refers to a custom landing page"
|
269 |
+
msgid "Custom"
|
270 |
+
msgstr "Vlastná"
|
271 |
+
|
272 |
+
#: admin/pages/wptouch-admin-general-settings.php:152
|
273 |
+
msgid "Custom Slug or URL"
|
274 |
+
msgstr "Vlastný slug alebo URL adresa"
|
275 |
+
|
276 |
+
#: admin/pages/wptouch-admin-general-settings.php:153
|
277 |
+
msgid "Enter a Slug (i.e. \"/home\") or a full URL path"
|
278 |
+
msgstr "Zadajte slug (napr. \"/home\") alebo celú URL adresu"
|
279 |
+
|
280 |
+
#: admin/pages/wptouch-admin-general-settings.php:163
|
281 |
+
msgid "Desktop / Mobile Switching"
|
282 |
+
msgstr "Prepnutie zobrazenia normálne/mobilné"
|
283 |
+
|
284 |
+
#: admin/pages/wptouch-admin-general-settings.php:169
|
285 |
+
msgid "1st time visitors see desktop theme"
|
286 |
+
msgstr "Návštevník prvý krát uvidí normálnu tému"
|
287 |
+
|
288 |
+
#: admin/pages/wptouch-admin-general-settings.php:170
|
289 |
+
msgid "Your regular theme will be shown to 1st time mobile visitors."
|
290 |
+
msgstr "Normálna téma bude zobrazená prvý krát aj mobilným používateľom."
|
291 |
+
|
292 |
+
#: admin/pages/wptouch-admin-general-settings.php:177
|
293 |
+
msgid "Show switch link in mobile view"
|
294 |
+
msgstr "Zobrazte odkaz na prepnutie do mobilného zobrazenia"
|
295 |
+
|
296 |
+
#: admin/pages/wptouch-admin-general-settings.php:178
|
297 |
+
msgid ""
|
298 |
+
"Will show toggle buttons in the theme's footer allowing users to switch to "
|
299 |
+
"your desktop theme. Is not shown in Web-App Mode."
|
300 |
+
msgstr ""
|
301 |
+
"Zobrazí tlačidlá v pätičke na prepnutie mobilnej témy. Nebudú zobrazené v "
|
302 |
+
"móde Web-App."
|
303 |
+
|
304 |
+
#: admin/pages/wptouch-admin-general-settings.php:185
|
305 |
+
msgid "Choose the target for the mobile switch link"
|
306 |
+
msgstr "Vyberte cielový odkaz prepínača na mobilnú tému"
|
307 |
+
|
308 |
+
#: admin/pages/wptouch-admin-general-settings.php:190
|
309 |
+
msgid "Current page"
|
310 |
+
msgstr "Aktuálna stránka"
|
311 |
+
|
312 |
+
#: admin/pages/wptouch-admin-general-settings.php:191
|
313 |
+
msgid "Home page"
|
314 |
+
msgstr "Domáca stránka"
|
315 |
+
|
316 |
+
#: admin/pages/wptouch-admin-general-settings.php:197
|
317 |
+
msgid "Desktop theme switch buttons"
|
318 |
+
msgstr "Tlačidlá na prepnutie normálnej témy"
|
319 |
+
|
320 |
+
#: admin/pages/wptouch-admin-general-settings.php:198
|
321 |
+
msgid ""
|
322 |
+
"Allows visitors to switch from your desktop theme to your mobile theme. You "
|
323 |
+
"can also customize the placement of Switch buttons by placing the "
|
324 |
+
"wptouch_desktop_switch_link() template tag somewhere in your desktop theme."
|
325 |
+
msgstr ""
|
326 |
+
"Dovolí návštevníkom z normálnou témou si prezrieť mobilnú tému. Tiež si "
|
327 |
+
"môžete upraviť umiestnenie prepínacích tlačidiel. Zobrazia sa tam kde "
|
328 |
+
"vložíte kód:wptouch_desktop_switch_link() "
|
329 |
+
|
330 |
+
#: admin/pages/wptouch-admin-general-settings.php:202
|
331 |
+
msgid "Automatically inserted inline"
|
332 |
+
msgstr "Automatické vloženie do riadku"
|
333 |
+
|
334 |
+
#: admin/pages/wptouch-admin-general-settings.php:203
|
335 |
+
msgid "Automatically inserted with AJAX (better for caching)"
|
336 |
+
msgstr "Automaticky vložené pomocou AJAX (pre lepšie ukladanie do medzipamäti)"
|
337 |
+
|
338 |
+
#: admin/pages/wptouch-admin-general-settings.php:204
|
339 |
+
msgid "Template tag"
|
340 |
+
msgstr "Šablóna značky"
|
341 |
+
|
342 |
+
#: admin/pages/wptouch-admin-general-settings.php:213
|
343 |
+
msgid "Custom Code"
|
344 |
+
msgstr "Vlastný kód"
|
345 |
+
|
346 |
+
#: admin/pages/wptouch-admin-general-settings.php:219
|
347 |
+
msgid "HTML, JavaScript, statistics or custom code"
|
348 |
+
msgstr "HTML, JavaScript, štatistiky a iné vlastné kódy"
|
349 |
+
|
350 |
+
#: admin/pages/wptouch-admin-general-settings.php:220
|
351 |
+
msgid "Enter any custom code here to be output in the theme footer."
|
352 |
+
msgstr "Zadajte vlastný kód, ktorý sa má nachádzať v pätičke stránky."
|
353 |
+
|
354 |
+
#: admin/pages/wptouch-admin-general-settings.php:230
|
355 |
+
msgid "Custom Stylesheet"
|
356 |
+
msgstr "CSS"
|
357 |
+
|
358 |
+
#: admin/pages/wptouch-admin-general-settings.php:236
|
359 |
+
msgid "URL to a custom CSS file to load"
|
360 |
+
msgstr "URL adresa na nahranie vlastného CSS súbora"
|
361 |
+
|
362 |
+
#: admin/pages/wptouch-admin-general-settings.php:237
|
363 |
+
msgid "Useful if you have specific compatibility CSS you need to add."
|
364 |
+
msgstr "Zadajte ak potrebujete pridať spätnú kompatibilitu s CSS."
|
365 |
+
|
366 |
+
#: admin/pages/wptouch-admin-general-settings.php:247
|
367 |
+
msgid "Shortcodes"
|
368 |
+
msgstr "Krátke kódy"
|
369 |
+
|
370 |
+
#: admin/pages/wptouch-admin-general-settings.php:253
|
371 |
+
msgid "Remove these shortcodes when WPtouch Pro is active"
|
372 |
+
msgstr "Ak je aktívne WPtouch Pro, tieto krátke kódy sa odstránia"
|
373 |
+
|
374 |
+
#: admin/pages/wptouch-admin-general-settings.php:254
|
375 |
+
msgid "Enter a comma separated list of shortcodes to remove."
|
376 |
+
msgstr "Zadajte zoznam krátkych kódov, oddelených čiarkou."
|
377 |
+
|
378 |
+
#: admin/pages/wptouch-admin-general-settings.php:264
|
379 |
+
msgid "Ignored URLs"
|
380 |
+
msgstr "Ignorované URL adresy"
|
381 |
+
|
382 |
+
#: admin/pages/wptouch-admin-general-settings.php:270
|
383 |
+
msgid "Do not load WPtouch Pro on these URLs/Pages"
|
384 |
+
msgstr "Nenahrávať WPtouch Pro na týchto URL odkazoch/stránkach"
|
385 |
+
|
386 |
+
#: admin/pages/wptouch-admin-general-settings.php:271
|
387 |
+
msgid ""
|
388 |
+
"Each permalink URL fragment should be on its own line and relative, e.g. \"/"
|
389 |
+
"about\" or \"/products/store\""
|
390 |
+
msgstr ""
|
391 |
+
"Každý trvalý odkaz by mal byť na vlastnom riadku a mal by byť relatívny. "
|
392 |
+
"Napr. \"/kontakt\" or \"/produkty/obchod\""
|
393 |
+
|
394 |
+
#: admin/pages/wptouch-admin-general-settings.php:281
|
395 |
+
msgid "Desktop Theme"
|
396 |
+
msgstr "Normálna téma"
|
397 |
+
|
398 |
+
#: admin/pages/wptouch-admin-general-settings.php:287
|
399 |
+
msgid "Try to include desktop theme functions.php file"
|
400 |
+
msgstr "Pokúste sa zahrnúť normálnu tému do súboru functions.php"
|
401 |
+
|
402 |
+
#: admin/pages/wptouch-admin-general-settings.php:288
|
403 |
+
msgid ""
|
404 |
+
"This may be required for desktop themes with unique features that are not "
|
405 |
+
"showing when WPtouch Pro is active."
|
406 |
+
msgstr ""
|
407 |
+
"Toto je potrebné ak sa niektoré vlastnosti témy nezobrazujú po aktivácii "
|
408 |
+
"WPtouch Pro."
|
409 |
+
|
410 |
+
#: admin/pages/wptouch-admin-general-settings.php:295
|
411 |
+
msgid "Method to load file"
|
412 |
+
msgstr "Metóda nahrania do súboru"
|
413 |
+
|
414 |
+
#: admin/pages/wptouch-admin-general-settings.php:300
|
415 |
+
msgid "Include file directly"
|
416 |
+
msgstr "Zahrnúť súbor priamo"
|
417 |
+
|
418 |
+
#: admin/pages/wptouch-admin-general-settings.php:301
|
419 |
+
msgid "Translate and create new files"
|
420 |
+
msgstr "Preložiť a vytvoriť nové súbory"
|
421 |
+
|
422 |
+
#: admin/pages/wptouch-admin-general-settings.php:310
|
423 |
+
msgid "Custom User-Agents"
|
424 |
+
msgstr "Vlastné User-Agents"
|
425 |
+
|
426 |
+
#: admin/pages/wptouch-admin-general-settings.php:316
|
427 |
+
msgid "User-agents (line separated)"
|
428 |
+
msgstr "User-agents (oddelené riadkami)"
|
429 |
+
|
430 |
+
#: admin/pages/wptouch-admin-general-settings.php:317
|
431 |
+
msgid ""
|
432 |
+
"Adding additional user-agents will force WPtouch Pro to be active for "
|
433 |
+
"matching browsers."
|
434 |
+
msgstr ""
|
435 |
+
"Pridanie dodatočných user-agent aktivuje WPtouch Pro pre podporované "
|
436 |
+
"prehliadače,"
|
437 |
+
|
438 |
+
#: admin/pages/wptouch-admin-general-settings.php:331
|
439 |
+
msgid "Backup & Import"
|
440 |
+
msgstr "Záloha a Import"
|
441 |
+
|
442 |
+
#: admin/pages/wptouch-admin-general-settings.php:337
|
443 |
+
msgid "Automatically backup settings to the %s folder"
|
444 |
+
msgstr "Automaticky zálohovať nastavenia súboru %s"
|
445 |
+
|
446 |
+
#: admin/pages/wptouch-admin-general-settings.php:339
|
447 |
+
msgid "WPtouch Pro backups your settings each time they are saved."
|
448 |
+
msgstr "WPtouch Pro zálohuje zmenu nastavení po každom uložení."
|
449 |
+
|
450 |
+
#: admin/pages/wptouch-admin-general-settings.php:352
|
451 |
+
msgid "Tools & Debug"
|
452 |
+
msgstr "Nastavenia a ladenie chýb"
|
453 |
+
|
454 |
+
#: admin/pages/wptouch-admin-general-settings.php:358
|
455 |
+
msgid ""
|
456 |
+
"Use jQuery 2.x in themes (faster for mobile devices) instead of WordPress' "
|
457 |
+
"version"
|
458 |
+
msgstr ""
|
459 |
+
"V témach použiť jQuery 2.x miesto verize WordPress (je rýchlejsšia pre "
|
460 |
+
"mobilné zariadenia)"
|
461 |
+
|
462 |
+
#: admin/pages/wptouch-admin-general-settings.php:359
|
463 |
+
msgid ""
|
464 |
+
"jQuery 2.x is significantly smaller and faster than previous jQuery versions "
|
465 |
+
"- may cause problems with other plugins, use carefully."
|
466 |
+
msgstr ""
|
467 |
+
"jQuery 2.x je významne rýchlejšia než predchádzajúce verzie jQuery - môže "
|
468 |
+
"však spôsobovať problémy s inými modulmi."
|
469 |
+
|
470 |
+
#: admin/pages/wptouch-admin-general-settings.php:366
|
471 |
+
msgid "Show load times and query counts in the footer"
|
472 |
+
msgstr "Zobraziť v pätičke čas načítavania a počet query"
|
473 |
+
|
474 |
+
#: admin/pages/wptouch-admin-general-settings.php:367
|
475 |
+
msgid "Helps you find slow pages/posts on your site."
|
476 |
+
msgstr "Pomáha nájsť pomalé stránky/články na vašej stránke."
|
477 |
+
|
478 |
+
#: admin/pages/wptouch-admin-general-settings.php:374
|
479 |
+
msgid "Enable debug log"
|
480 |
+
msgstr "Povoliť záznam módu ladenia chýb"
|
481 |
+
|
482 |
+
#: admin/pages/wptouch-admin-general-settings.php:375
|
483 |
+
msgid "Creates a debug file to help diagnose installation issues."
|
484 |
+
msgstr "Vytvorí súbor ladenia chýb pri problémoch s inštaláciou."
|
485 |
+
|
486 |
+
#: admin/pages/wptouch-admin-general-settings.php:386
|
487 |
+
msgid "WordPress Plugins"
|
488 |
+
msgstr "Moduly WordPress"
|
489 |
+
|
490 |
+
#: admin/pages/wptouch-admin-general-settings.php:399
|
491 |
+
msgid "Admin Mode"
|
492 |
+
msgstr "Administrátorský mód"
|
493 |
+
|
494 |
+
#: admin/pages/wptouch-admin-general-settings.php:405
|
495 |
+
msgid "Admin panel settings shown"
|
496 |
+
msgstr "Sú zobrazené nastavenia administrátorského panela"
|
497 |
+
|
498 |
+
#: admin/pages/wptouch-admin-general-settings.php:410
|
499 |
+
msgid "Default"
|
500 |
+
msgstr "Základné"
|
501 |
+
|
502 |
+
#: admin/pages/wptouch-admin-general-settings.php:411
|
503 |
+
#: admin/settings/html/button.php:5 admin/settings/html/checkbox.php:6
|
504 |
+
#: admin/settings/html/custom-latest-posts.php:4
|
505 |
+
#: admin/settings/html/list.php:16 admin/settings/html/numeric.php:12
|
506 |
+
#: admin/settings/html/post_type.php:13 admin/settings/html/radiolist.php:13
|
507 |
+
#: admin/settings/html/text.php:8 admin/settings/html/textarea.php:9
|
508 |
+
msgid "Advanced"
|
509 |
+
msgstr "Pokročilé"
|
510 |
+
|
511 |
+
#: admin/pages/wptouch-admin-menus.php:3
|
512 |
+
msgid "Theme Menus"
|
513 |
+
msgstr "Menu témy"
|
514 |
+
|
515 |
+
#: admin/pages/wptouch-admin-menus.php:4
|
516 |
+
msgid "Menu Setup"
|
517 |
+
msgstr "Nastavenie menu"
|
518 |
+
|
519 |
+
#: admin/pages/wptouch-admin-menus.php:5
|
520 |
+
msgid "Icon Upload & Sets"
|
521 |
+
msgstr "Nahranie ikoniek a sady ikoniek"
|
522 |
+
|
523 |
+
#: admin/pages/wptouch-admin-menus.php:22
|
524 |
+
msgid "WordPress Pages"
|
525 |
+
msgstr "Stránky WordPress"
|
526 |
+
|
527 |
+
#: admin/pages/wptouch-admin-menus.php:28
|
528 |
+
#: admin/settings/html/icon_menu_area.php:6
|
529 |
+
#: themes/foundation/modules/advertising/advertising.php:29
|
530 |
+
#: themes/foundation/modules/media/media.php:59
|
531 |
+
msgid "None"
|
532 |
+
msgstr "Žiadne"
|
533 |
+
|
534 |
+
#: admin/pages/wptouch-admin-menus.php:66
|
535 |
+
msgid "Menu Options"
|
536 |
+
msgstr "Nastavenia menu"
|
537 |
+
|
538 |
+
#: admin/pages/wptouch-admin-menus.php:72
|
539 |
+
msgid "Enable parent items as links"
|
540 |
+
msgstr "Povoliť nadradené položky ako odkazy"
|
541 |
+
|
542 |
+
#: admin/pages/wptouch-admin-menus.php:73
|
543 |
+
msgid "If disabled, parent menu items will only toggle child items."
|
544 |
+
msgstr "Ak je vypnuté menu nadradených položiek zobrazí iba odvodené položky."
|
545 |
+
|
546 |
+
#: admin/pages/wptouch-admin-menus.php:80
|
547 |
+
msgid "Use menu icons"
|
548 |
+
msgstr "Použiť ikonky menu"
|
549 |
+
|
550 |
+
#: admin/pages/wptouch-admin-menus.php:104
|
551 |
+
msgid "Icon Upload"
|
552 |
+
msgstr "Nahranie ikoniek"
|
553 |
+
|
554 |
+
#: admin/pages/wptouch-admin-menus.php:117
|
555 |
+
msgid "Uploaded Icons"
|
556 |
+
msgstr "Nahrané ikonky"
|
557 |
+
|
558 |
+
#: admin/pages/wptouch-admin-menus.php:130
|
559 |
+
msgid "Icon Sets"
|
560 |
+
msgstr "Sady ikoniek"
|
561 |
+
|
562 |
+
#: admin/pages/wptouch-admin-themes-and-addons.php:3
|
563 |
+
msgid "Themes"
|
564 |
+
msgstr "Témy"
|
565 |
+
|
566 |
+
#: admin/pages/wptouch-admin-themes-and-addons.php:4
|
567 |
+
msgid "Extensions"
|
568 |
+
msgstr "Rozšírenia"
|
569 |
+
|
570 |
+
#: admin/pages/wptouch-admin-touchboard.php:3 core/admin-menu.php:35
|
571 |
+
#: core/admin-menu.php:39
|
572 |
+
msgid "What's New"
|
573 |
+
msgstr "Čo je nové"
|
574 |
+
|
575 |
+
#: admin/settings/html/backup.php:1
|
576 |
+
msgid "Download Backup File"
|
577 |
+
msgstr "Stiahnuť súbor s zálohami"
|
578 |
+
|
579 |
+
#: admin/settings/html/backup.php:2
|
580 |
+
msgid "Restore Backup File"
|
581 |
+
msgstr "Obnoviť súbor s zálohami"
|
582 |
+
|
583 |
+
#: admin/settings/html/button.php:6 admin/settings/html/checkbox.php:7
|
584 |
+
#: admin/settings/html/custom-latest-posts.php:8
|
585 |
+
#: admin/settings/html/list.php:20 admin/settings/html/numeric.php:16
|
586 |
+
#: admin/settings/html/post_type.php:14 admin/settings/html/radiolist.php:15
|
587 |
+
#: admin/settings/html/text.php:9 admin/settings/html/textarea.php:10
|
588 |
+
msgid "New"
|
589 |
+
msgstr "Nové"
|
590 |
+
|
591 |
+
#: admin/settings/html/color.php:6
|
592 |
+
msgid "Undo"
|
593 |
+
msgstr "Späť"
|
594 |
+
|
595 |
+
#: admin/settings/html/color.php:7
|
596 |
+
msgid "Desktop theme colors"
|
597 |
+
msgstr "Farby normálnej témy"
|
598 |
+
|
599 |
+
#: admin/settings/html/color.php:7
|
600 |
+
msgid "Palette"
|
601 |
+
msgstr "Paleta"
|
602 |
+
|
603 |
+
#: admin/settings/html/custom-latest-posts.php:1
|
604 |
+
msgid "Custom latest posts page"
|
605 |
+
msgstr "Vlastná stránka posledných príspevkov"
|
606 |
+
|
607 |
+
#: admin/settings/html/custom_icon_management.php:3
|
608 |
+
msgid "No icons have been uploaded yet"
|
609 |
+
msgstr "Neboli nahrané žiadne ikonky"
|
610 |
+
|
611 |
+
#: admin/settings/html/custom_icon_management.php:12
|
612 |
+
#: admin/settings/html/image-upload.php:13
|
613 |
+
#: admin/settings/html/theme-browser-item.php:137
|
614 |
+
msgid "Delete"
|
615 |
+
msgstr "Vymazať"
|
616 |
+
|
617 |
+
#: admin/settings/html/custom_icon_upload.php:3
|
618 |
+
msgid "Upload Icon"
|
619 |
+
msgstr "Nahrať ikonu"
|
620 |
+
|
621 |
+
#: admin/settings/html/custom_icon_upload.php:4
|
622 |
+
#: admin/settings/html/image-upload.php:15
|
623 |
+
msgid "Upload Complete!"
|
624 |
+
msgstr "Nahranie hotové!"
|
625 |
+
|
626 |
+
#: admin/settings/html/custom_icon_upload.php:9
|
627 |
+
msgid "Ready to upload"
|
628 |
+
msgstr "Pripravený na nahranie"
|
629 |
+
|
630 |
+
#: admin/settings/html/debuginfo.php:12
|
631 |
+
msgid "View Debug File"
|
632 |
+
msgstr "Zobraziť súbor módu ladenia chýb"
|
633 |
+
|
634 |
+
#: admin/settings/html/debuginfo.php:16 admin/settings/html/debuginfo.php:18
|
635 |
+
msgid "Your Server Configuration"
|
636 |
+
msgstr "Nastavenia vášho servera"
|
637 |
+
|
638 |
+
#: admin/settings/html/extension-browser-item.php:37
|
639 |
+
#: admin/settings/html/theme-browser-item.php:49
|
640 |
+
msgid "Updating..."
|
641 |
+
msgstr "Aktualizujem..."
|
642 |
+
|
643 |
+
#: admin/settings/html/extension-browser-item.php:37
|
644 |
+
msgid "Upgrade to %s"
|
645 |
+
msgstr "Aktualizovať na %s"
|
646 |
+
|
647 |
+
#: admin/settings/html/extension-browser-item.php:39
|
648 |
+
#: admin/settings/html/theme-browser-item.php:54
|
649 |
+
msgid "Download %s Update"
|
650 |
+
msgstr "Stiahnuť aktualizáciu %s"
|
651 |
+
|
652 |
+
#: admin/settings/html/extension-browser-item.php:47
|
653 |
+
#: admin/settings/html/installed_icon_sets_ajax.php:8
|
654 |
+
#: admin/settings/html/installed_icon_sets_ajax.php:20
|
655 |
+
#: admin/settings/html/theme-browser-item.php:68
|
656 |
+
msgid "by %s"
|
657 |
+
msgstr "od %s"
|
658 |
+
|
659 |
+
#: admin/settings/html/extension-browser-item.php:53
|
660 |
+
msgid "Extension location: %s"
|
661 |
+
msgstr "Umiestenie rozšírení: %s"
|
662 |
+
|
663 |
+
#: admin/settings/html/extension-browser-item.php:54
|
664 |
+
#: admin/settings/html/theme-browser-item.php:76
|
665 |
+
msgid "Relative to your WordPress wp-content directory."
|
666 |
+
msgstr "Relatívna k adresáru wp-content"
|
667 |
+
|
668 |
+
#: admin/settings/html/extension-browser-item.php:63
|
669 |
+
#: admin/settings/html/theme-browser-item.php:88
|
670 |
+
msgid "Available in WPtouch Pro"
|
671 |
+
msgstr "Dostupné vo WPtouch Pro"
|
672 |
+
|
673 |
+
#: admin/settings/html/extension-browser-item.php:67
|
674 |
+
#: admin/settings/html/theme-browser-item.php:92
|
675 |
+
msgid "More Info"
|
676 |
+
msgstr "Viac informácií"
|
677 |
+
|
678 |
+
#: admin/settings/html/extension-browser-item.php:70
|
679 |
+
#: admin/settings/html/theme-browser-item.php:96
|
680 |
+
msgid "Upgrade License"
|
681 |
+
msgstr "Zakúpiť licenciu"
|
682 |
+
|
683 |
+
#: admin/settings/html/extension-browser-item.php:72
|
684 |
+
#: admin/settings/html/theme-browser-item.php:98
|
685 |
+
msgid "Get License"
|
686 |
+
msgstr "Získať licenciu"
|
687 |
+
|
688 |
+
#: admin/settings/html/extension-browser-item.php:80
|
689 |
+
#: admin/settings/html/theme-browser-item.php:111
|
690 |
+
msgid "Downloading..."
|
691 |
+
msgstr "Sťahujem..."
|
692 |
+
|
693 |
+
#: admin/settings/html/extension-browser-item.php:80
|
694 |
+
#: admin/settings/html/installed_icon_sets_ajax.php:21
|
695 |
+
#: admin/settings/html/theme-browser-item.php:112
|
696 |
+
msgid "Install"
|
697 |
+
msgstr "Inštalovať"
|
698 |
+
|
699 |
+
#: admin/settings/html/extension-browser-item.php:82
|
700 |
+
#: admin/settings/html/theme-browser-item.php:115
|
701 |
+
msgid "Download"
|
702 |
+
msgstr "Stiahnuť"
|
703 |
+
|
704 |
+
#: admin/settings/html/extension-browser-item.php:92
|
705 |
+
#: admin/settings/html/theme-browser-item.php:125
|
706 |
+
msgid "Setup"
|
707 |
+
msgstr "Nastavenie"
|
708 |
+
|
709 |
+
#: admin/settings/html/extension-browser-item.php:93
|
710 |
+
msgid "Deactivate"
|
711 |
+
msgstr "Deaktivovať"
|
712 |
+
|
713 |
+
#: admin/settings/html/extension-browser.php:2
|
714 |
+
#: admin/settings/html/theme-browser.php:2
|
715 |
+
msgid ""
|
716 |
+
"Your server configuration is preventing WPtouch Pro from installing and "
|
717 |
+
"updating from the Cloud. %sPlease visit %sthis article%s to follow the steps "
|
718 |
+
"to enable Cloud install, or you can manually download and install into the "
|
719 |
+
"wptouch-data/%s directory."
|
720 |
+
msgstr ""
|
721 |
+
"Vaše nastavenie servera bráni inštalácii a aktualizácii z cloudu. %sProsím "
|
722 |
+
"navštívte %stento článok%s a povolte cloud inštaláciu. Tiež si môžete súbory "
|
723 |
+
"nahrať rovno do adresára wptouch-data/%s "
|
724 |
+
|
725 |
+
#: admin/settings/html/extension-browser.php:13
|
726 |
+
msgid "Loading Cloud Extensions"
|
727 |
+
msgstr "Nahrávam cloudové rozšírenia"
|
728 |
+
|
729 |
+
#: admin/settings/html/icon_menu_area.php:5
|
730 |
+
msgid "Check All"
|
731 |
+
msgstr "Označiť všetky"
|
732 |
+
|
733 |
+
#: admin/settings/html/icon_menu_area.php:7
|
734 |
+
msgid "Reset"
|
735 |
+
msgstr "Obnoviť základné"
|
736 |
+
|
737 |
+
#: admin/settings/html/icon_menu_area.php:9
|
738 |
+
msgid "Menu"
|
739 |
+
msgstr "Menu"
|
740 |
+
|
741 |
+
#: admin/settings/html/icon_menu_area.php:31
|
742 |
+
msgid "Active menus used in this theme."
|
743 |
+
msgstr "V tejto téme je použité aktívne menu."
|
744 |
+
|
745 |
+
#: admin/settings/html/icon_menu_area.php:35
|
746 |
+
msgid "Show/Hide"
|
747 |
+
msgstr "Zobraziť/schovať"
|
748 |
+
|
749 |
+
#: admin/settings/html/icon_menu_area.php:36
|
750 |
+
msgid "Menu Item"
|
751 |
+
msgstr "Položka menu"
|
752 |
+
|
753 |
+
#: admin/settings/html/icon_menu_area.php:56
|
754 |
+
msgid "Icon Set"
|
755 |
+
msgstr "Sada ikoniek"
|
756 |
+
|
757 |
+
#: admin/settings/html/icon_menu_area.php:66
|
758 |
+
msgid "Drag icons to associate them with menu items"
|
759 |
+
msgstr "Pre priradenie ikoniek k menu ich presunte potiahnutím"
|
760 |
+
|
761 |
+
#: admin/settings/html/icon_menu_area.php:91
|
762 |
+
msgid "You don't have any custom icons yet."
|
763 |
+
msgstr "Zatiaľ nemáte žiadne vlastné ikonky."
|
764 |
+
|
765 |
+
#: admin/settings/html/icon_menu_area.php:106
|
766 |
+
msgid "Default Icon"
|
767 |
+
msgstr "Základná ikonka"
|
768 |
+
|
769 |
+
#: admin/settings/html/icon_menu_area.php:107
|
770 |
+
msgid "applies to all unset icons"
|
771 |
+
msgstr "bude použitá na všetky nenastavené ikonky"
|
772 |
+
|
773 |
+
#: admin/settings/html/icon_menu_area.php:115
|
774 |
+
msgid "Trash"
|
775 |
+
msgstr "Kôš"
|
776 |
+
|
777 |
+
#: admin/settings/html/icon_menu_area.php:116
|
778 |
+
msgid "drag icon here to reset"
|
779 |
+
msgstr "pre obnovenie potiahnite ikonku sem"
|
780 |
+
|
781 |
+
#: admin/settings/html/image-upload.php:11
|
782 |
+
msgid "Upload"
|
783 |
+
msgstr "Nahrať"
|
784 |
+
|
785 |
+
#: admin/settings/html/installed_icon_sets.php:2
|
786 |
+
msgid "Gathering information about available icon sets..."
|
787 |
+
msgstr "Získavam informácie o dostupných sadách ikoniek..."
|
788 |
+
|
789 |
+
#: admin/settings/html/installed_icon_sets.php:4 core/notifications.php:215
|
790 |
+
msgid ""
|
791 |
+
"The %s%s%s directory is not currently writable. %sPlease fix this issue to "
|
792 |
+
"enable installation of additional icon sets."
|
793 |
+
msgstr ""
|
794 |
+
"Nieje zapisovateľná adresa %s%s%s. %s Prosím opravte oprávnenia pre "
|
795 |
+
"inštaláciu dodatočných ikoniek."
|
796 |
+
|
797 |
+
#: admin/settings/html/installed_icon_sets_ajax.php:4
|
798 |
+
#: core/class-wptouch-pro.php:1574 core/class-wptouch-pro.php:1575
|
799 |
+
#: core/config.php:53
|
800 |
+
msgid "Custom Icons"
|
801 |
+
msgstr "Vlastné ikonky"
|
802 |
+
|
803 |
+
#: admin/settings/html/installed_icon_sets_ajax.php:9
|
804 |
+
#: admin/settings/html/installed_icon_sets_ajax.php:22
|
805 |
+
msgid "Installed"
|
806 |
+
msgstr "Nainštalované"
|
807 |
+
|
808 |
+
#: admin/settings/html/installed_icon_sets_ajax.php:21
|
809 |
+
msgid "Installing..."
|
810 |
+
msgstr "Inštalujem..."
|
811 |
+
|
812 |
+
#: admin/settings/html/installed_icon_sets_ajax.php:23
|
813 |
+
msgid "Unable to Install"
|
814 |
+
msgstr "Nie je možné nainštalovať"
|
815 |
+
|
816 |
+
#: admin/settings/html/list.php:24
|
817 |
+
msgid "Pro"
|
818 |
+
msgstr "Pro"
|
819 |
+
|
820 |
+
#: admin/settings/html/plugin-compat-ajax.php:11
|
821 |
+
#: themes/foundation/modules/custom-posts/custom-posts.php:153
|
822 |
+
msgid "Enable %s"
|
823 |
+
msgstr "Povoliť %s"
|
824 |
+
|
825 |
+
#: admin/settings/html/plugin-compat-ajax.php:12
|
826 |
+
msgid ""
|
827 |
+
"When unchecked, %s will be disabled for users viewing your WPtouch Pro theme."
|
828 |
+
msgstr "Ak nie je označené, používateľom WPtouch Pro bude vypnuté %s."
|
829 |
+
|
830 |
+
#: admin/settings/html/plugin-compat-ajax.php:20
|
831 |
+
msgid "No plugins to disable."
|
832 |
+
msgstr "Žiadne moduly na vypnutie"
|
833 |
+
|
834 |
+
#: admin/settings/html/plugin-compat.php:1
|
835 |
+
msgid "Choose which plugins to include in your mobile theme"
|
836 |
+
msgstr "Vyberte, ktoré moduly chcete použiť v téme pre mobilné zariadenia."
|
837 |
+
|
838 |
+
#: admin/settings/html/plugin-compat.php:7
|
839 |
+
msgid "Your active plugin list is refreshing"
|
840 |
+
msgstr "Zoznam aktívnych modulov sa obnovuje"
|
841 |
+
|
842 |
+
#: admin/settings/html/redirect.php:17
|
843 |
+
msgid "WordPress Page"
|
844 |
+
msgstr "Stránka WordPress"
|
845 |
+
|
846 |
+
#: admin/settings/html/restore.php:2
|
847 |
+
msgid ""
|
848 |
+
"Please paste your encoded settings below and save to restore your settings."
|
849 |
+
msgstr "Pre obnovenie nastavení, sem prilepte vaše kódované nastavenia."
|
850 |
+
|
851 |
+
#: admin/settings/html/theme-browser-item.php:6
|
852 |
+
#: admin/settings/html/theme-browser-item.php:10
|
853 |
+
msgid "Click to view screenshots"
|
854 |
+
msgstr "Pre zobrazenie obrázkov kliknite"
|
855 |
+
|
856 |
+
#: admin/settings/html/theme-browser-item.php:51
|
857 |
+
msgid "Update to %s"
|
858 |
+
msgstr "Aktualizovať na %s"
|
859 |
+
|
860 |
+
#: admin/settings/html/theme-browser-item.php:63
|
861 |
+
msgid "This theme supports %s devices"
|
862 |
+
msgstr "Táto téma podporuje %s zariadenia"
|
863 |
+
|
864 |
+
#: admin/settings/html/theme-browser-item.php:75
|
865 |
+
msgid "Theme location: %s"
|
866 |
+
msgstr "Umiestnenie témy: %s"
|
867 |
+
|
868 |
+
#: admin/settings/html/theme-browser-item.php:103
|
869 |
+
msgid "Buy Now"
|
870 |
+
msgstr "Kúpiť"
|
871 |
+
|
872 |
+
#: admin/settings/html/theme-browser-item.php:133
|
873 |
+
msgid "Copy"
|
874 |
+
msgstr "Skopírovať"
|
875 |
+
|
876 |
+
#: admin/settings/html/theme-browser.php:14
|
877 |
+
msgid "Loading Cloud Themes"
|
878 |
+
msgstr "Nahrávam témy v cloude"
|
879 |
+
|
880 |
+
#: admin/settings/html/touchboard.php:6
|
881 |
+
msgid "Quick Links"
|
882 |
+
msgstr "Rýchle odkazy"
|
883 |
+
|
884 |
+
#: admin/settings/html/touchboard.php:8
|
885 |
+
msgid "What's New Changelog"
|
886 |
+
msgstr "Záznam zmien"
|
887 |
+
|
888 |
+
#: admin/settings/html/touchboard.php:10
|
889 |
+
msgid "Look at Pro Themes"
|
890 |
+
msgstr "Prezrite si Pro témy"
|
891 |
+
|
892 |
+
#: admin/settings/html/touchboard.php:11
|
893 |
+
msgid "Look at Pro Extensions"
|
894 |
+
msgstr "Prezrite si Pro rozširenia"
|
895 |
+
|
896 |
+
#: admin/settings/html/touchboard.php:12
|
897 |
+
msgid "Look at Pro Features"
|
898 |
+
msgstr "Prezrite si vlastnosti Pro"
|
899 |
+
|
900 |
+
#: admin/settings/html/touchboard.php:14
|
901 |
+
msgid "Product Support"
|
902 |
+
msgstr "Podpora produktu"
|
903 |
+
|
904 |
+
#: admin/settings/html/touchboard.php:16
|
905 |
+
msgid "Product Knowledgebase"
|
906 |
+
msgstr "Znalostná databáza produktu"
|
907 |
+
|
908 |
+
#: admin/settings/html/touchboard.php:17
|
909 |
+
msgid "Manage Account"
|
910 |
+
msgstr "Správa účtu"
|
911 |
+
|
912 |
+
#: admin/settings/html/touchboard.php:18
|
913 |
+
msgid "Manage License"
|
914 |
+
msgstr "Správa licencie"
|
915 |
+
|
916 |
+
#: admin/settings/html/touchboard.php:20
|
917 |
+
msgid "WPtouch User Guide"
|
918 |
+
msgstr "Manuál pre WPtouch"
|
919 |
+
|
920 |
+
#: admin/settings/html/touchboard.php:27
|
921 |
+
msgid "WPtouch News"
|
922 |
+
msgstr "Novinky WPtouch"
|
923 |
+
|
924 |
+
#: admin/settings/html/touchboard.php:28
|
925 |
+
msgid "Read More"
|
926 |
+
msgstr "Čítať viac"
|
927 |
+
|
928 |
+
#: admin/settings/html/touchboard.php:46
|
929 |
+
msgid "%s Change Log"
|
930 |
+
msgstr "Záznam zmien %s"
|
931 |
+
|
932 |
+
#: admin/settings/html/user-agent-list.php:4
|
933 |
+
#: admin/settings/html/user-agent-list.php:6
|
934 |
+
msgid ""
|
935 |
+
"WPtouch Pro will be active when any of the following user-agents or user-"
|
936 |
+
"agent combinations are matched"
|
937 |
+
msgstr ""
|
938 |
+
"WPtouch Pro bude aktívny iba ak niektorý z user-agents alebo ich kombinácia "
|
939 |
+
"bude splnená."
|
940 |
+
|
941 |
+
#: admin/settings/include/custom-latest-posts.php:14
|
942 |
+
msgid "None (Use WordPress Settings)"
|
943 |
+
msgstr "Žiadne (Použiť nastavenia WordPress)"
|
944 |
+
|
945 |
+
#: core/addon-theme-installer.php:161
|
946 |
+
msgid "No server support for directly downloading new Cloud packages."
|
947 |
+
msgstr "Server nepodporuje sťahovanie balíčkov priamo z Cloudu."
|
948 |
+
|
949 |
+
#: core/addon-theme-installer.php:166
|
950 |
+
msgid ""
|
951 |
+
"Unable to write to directory %s. Try relaxing permissions to allow writing "
|
952 |
+
"to this location."
|
953 |
+
msgstr ""
|
954 |
+
"Nie je možné zapisovať do adresára %s. Zmente oprávnenia pre tento adresár."
|
955 |
+
|
956 |
+
#: core/addon-theme-installer.php:171
|
957 |
+
msgid "No server support for unzipping files."
|
958 |
+
msgstr "Server nepodporuje .zip súbory."
|
959 |
+
|
960 |
+
#: core/addon-theme-installer.php:181
|
961 |
+
msgid "Unable to download the Cloud package."
|
962 |
+
msgstr "Nie je možné stiahnuť balíček z cloudu."
|
963 |
+
|
964 |
+
#: core/admin-ajax.php:191
|
965 |
+
msgid "Version %s"
|
966 |
+
msgstr "Verzia %s"
|
967 |
+
|
968 |
+
#: core/admin-ajax.php:197
|
969 |
+
msgid ""
|
970 |
+
"There is a temporary issue retrieving the change-log. Please try again "
|
971 |
+
"later."
|
972 |
+
msgstr ""
|
973 |
+
"Nastala dočasná chyba pri načítaní záznamu zmien. Prosím skúste ho získať "
|
974 |
+
"neskôr."
|
975 |
+
|
976 |
+
#: core/admin-menu.php:40
|
977 |
+
msgid "Core Settings"
|
978 |
+
msgstr "Nastavenia jadra"
|
979 |
+
|
980 |
+
#: core/admin-menu.php:41
|
981 |
+
msgid "Themes & Extensions"
|
982 |
+
msgstr "Témy a rozšírenia"
|
983 |
+
|
984 |
+
#: core/admin-menu.php:42
|
985 |
+
msgid "Theme Settings"
|
986 |
+
msgstr "Nastavenia témy"
|
987 |
+
|
988 |
+
#: core/admin-menu.php:42
|
989 |
+
msgid "%s Settings"
|
990 |
+
msgstr "Nastavenia %s"
|
991 |
+
|
992 |
+
#: core/admin-menu.php:47
|
993 |
+
msgid "Extension Settings"
|
994 |
+
msgstr "Nastavenia rošírení"
|
995 |
+
|
996 |
+
#: core/admin-menu.php:52 core/admin-menu.php:54
|
997 |
+
msgid "Menus"
|
998 |
+
msgstr "Menu"
|
999 |
+
|
1000 |
+
#: core/admin-menu.php:60
|
1001 |
+
msgid "License"
|
1002 |
+
msgstr "Licencia"
|
1003 |
+
|
1004 |
+
#: core/admin-menu.php:65
|
1005 |
+
msgid "Upgrade to Pro"
|
1006 |
+
msgstr "Kúpiť Pro verziu"
|
1007 |
+
|
1008 |
+
#: core/admin-page-templates.php:16
|
1009 |
+
msgid "Mobile Page Template"
|
1010 |
+
msgstr "Šablóna stránky pre mobilné zariadenia"
|
1011 |
+
|
1012 |
+
#: core/admin-render.php:25
|
1013 |
+
msgid ""
|
1014 |
+
"Your WPtouch Pro license has expired. Renew now at a discount to continue "
|
1015 |
+
"receiving product updates and support."
|
1016 |
+
msgstr ""
|
1017 |
+
"Vypršala vaša WPtouch Pro licencia. Aby ste obdržali aktualizácie a "
|
1018 |
+
"podporu, musíte si ju obnoviť."
|
1019 |
+
|
1020 |
+
#: core/admin-render.php:26
|
1021 |
+
msgid "Renew Now"
|
1022 |
+
msgstr "Obnoviť"
|
1023 |
+
|
1024 |
+
#: core/admin-render.php:33
|
1025 |
+
msgid "This copy of %s is currently unlicensed!"
|
1026 |
+
msgstr "Táto kópia %s je bez licencie!"
|
1027 |
+
|
1028 |
+
#: core/admin-render.php:35
|
1029 |
+
msgid "Add a license %s"
|
1030 |
+
msgstr "Pridať licenciu %s"
|
1031 |
+
|
1032 |
+
#: core/admin-render.php:90
|
1033 |
+
msgid "Save Changes"
|
1034 |
+
msgstr "Uložiť zmeny"
|
1035 |
+
|
1036 |
+
#: core/admin-render.php:91
|
1037 |
+
msgid "Preview Theme"
|
1038 |
+
msgstr "Náhľad témy"
|
1039 |
+
|
1040 |
+
#: core/admin-render.php:92
|
1041 |
+
msgid "Reset Settings"
|
1042 |
+
msgstr "Obnoviť nastavenia"
|
1043 |
+
|
1044 |
+
#: core/class-wptouch-pro.php:353
|
1045 |
+
msgid ""
|
1046 |
+
"Automatic theme migration from uploads/wptouch-data directory failed. Please "
|
1047 |
+
"manually move these files to wp-content/wptouch-data, or %scontact support%s "
|
1048 |
+
"to address this issue."
|
1049 |
+
msgstr ""
|
1050 |
+
"Zlyhal automatický presun z uploads/wptouch-data. Prosím presuňte tieto "
|
1051 |
+
"súbory manuálne alebo %skontaktujte podporu%s."
|
1052 |
+
|
1053 |
+
#: core/class-wptouch-pro.php:373
|
1054 |
+
msgid ""
|
1055 |
+
"We were unable to install your WPtouch theme from the Cloud. Please visit "
|
1056 |
+
"%sthis article%s for more information."
|
1057 |
+
msgstr ""
|
1058 |
+
"Nie sme schopí nainštalovat WPtouch Pro tému cloudu. Pre viac informácií "
|
1059 |
+
"prosím navštívte %stento článok%s."
|
1060 |
+
|
1061 |
+
#: core/class-wptouch-pro.php:377
|
1062 |
+
msgid ""
|
1063 |
+
"Your server setup is preventing WPtouch from installing your active theme "
|
1064 |
+
"from the Cloud. Please visit %sthis article%s for more information on how to "
|
1065 |
+
"fix it."
|
1066 |
+
msgstr ""
|
1067 |
+
"Vaše nastavenie servera bráni inštalácii a aktualizácii z cloudu. Prosím "
|
1068 |
+
"navštívte %stento článok%s pre vyriešenie problému."
|
1069 |
+
|
1070 |
+
#: core/class-wptouch-pro.php:589
|
1071 |
+
msgid "Unsupported Browser"
|
1072 |
+
msgstr "Nepodporovaný prehliadač"
|
1073 |
+
|
1074 |
+
#: core/class-wptouch-pro.php:590
|
1075 |
+
msgid "Theme Preview requires Chrome or Safari."
|
1076 |
+
msgstr "Náhľad témy vyžaduje prehliadač Chrome alebo Safari."
|
1077 |
+
|
1078 |
+
#: core/class-wptouch-pro.php:591
|
1079 |
+
msgid ""
|
1080 |
+
"This will reset all WPtouch Pro settings.\n"
|
1081 |
+
"Are you sure?"
|
1082 |
+
msgstr ""
|
1083 |
+
"Toto obnoví základné nastavenia WPtouch Pro.\n"
|
1084 |
+
"Ste si istí?"
|
1085 |
+
|
1086 |
+
#: core/class-wptouch-pro.php:592
|
1087 |
+
msgid ""
|
1088 |
+
"This will reset all WPtouch Pro menu and icon settings.\n"
|
1089 |
+
"Are you sure?"
|
1090 |
+
msgstr ""
|
1091 |
+
"Toto obnoví základné nastavenia menu a ikoniek v WPtouch Pro.\n"
|
1092 |
+
"Ste si istí?"
|
1093 |
+
|
1094 |
+
#: core/class-wptouch-pro.php:593
|
1095 |
+
msgid "Offline"
|
1096 |
+
msgstr "Offline"
|
1097 |
+
|
1098 |
+
#: core/class-wptouch-pro.php:594
|
1099 |
+
msgid ""
|
1100 |
+
"You appear to be offline. Connect to the internet to see available "
|
1101 |
+
"BraveNewCloud items."
|
1102 |
+
msgstr ""
|
1103 |
+
"Asi ste offline. Pripojte sa na internet a prezrite si nové položky "
|
1104 |
+
"BraveNewCloud."
|
1105 |
+
|
1106 |
+
#: core/class-wptouch-pro.php:595
|
1107 |
+
msgid "The item failed to download for this reason: %reason%"
|
1108 |
+
msgstr "Stiahnutie položky zlyhalo z dôvodu: %reason%"
|
1109 |
+
|
1110 |
+
#: core/class-wptouch-pro.php:596
|
1111 |
+
msgid "You are about to reset your license information. Proceed?"
|
1112 |
+
msgstr "Chystáte sa obnoviť na predvolené licenčné údaje. Pokračovať?"
|
1113 |
+
|
1114 |
+
#: core/class-wptouch-pro.php:1145
|
1115 |
+
#: themes/foundation/modules/webapp/webapp.php:12
|
1116 |
+
msgid "Settings"
|
1117 |
+
msgstr "Nastavenia"
|
1118 |
+
|
1119 |
+
#: core/class-wptouch-pro.php:1181
|
1120 |
+
msgid "%s Changelog"
|
1121 |
+
msgstr "Záznam zmien %s"
|
1122 |
+
|
1123 |
+
#: core/class-wptouch-pro.php:2355
|
1124 |
+
msgid "Directory Problem"
|
1125 |
+
msgstr "Problém adresára"
|
1126 |
+
|
1127 |
+
#: core/class-wptouch-pro.php:2356
|
1128 |
+
msgid "One or more required directories could not be created"
|
1129 |
+
msgstr "Nie je možné vytvoriť jeden alebo viac adresárov"
|
1130 |
+
|
1131 |
+
#: core/globals.php:192
|
1132 |
+
msgid "smartphone"
|
1133 |
+
msgstr "smartfón"
|
1134 |
+
|
1135 |
+
#: core/globals.php:194
|
1136 |
+
msgid "tablet"
|
1137 |
+
msgstr "tablet"
|
1138 |
+
|
1139 |
+
#: core/notifications.php:124
|
1140 |
+
msgid "Preview Mode Enabled"
|
1141 |
+
msgstr "Mód náhľadu zapnutý"
|
1142 |
+
|
1143 |
+
#: core/notifications.php:125
|
1144 |
+
msgid ""
|
1145 |
+
"Only logged-in admins can see the mobile theme right now. You can change "
|
1146 |
+
"this at any time in %sCore Settings%s under %sDisplay Mode%s."
|
1147 |
+
msgstr ""
|
1148 |
+
"Teraz mobilnú tému môžu vidieť iba prihlásení používatelia. Toto nastavenie "
|
1149 |
+
"môžete kedykoľvek zmeniť v %snastaveniach jadra%s v %sMóde zobrazenia%s."
|
1150 |
+
|
1151 |
+
#: core/notifications.php:133
|
1152 |
+
msgid "Theme Presentation Disabled"
|
1153 |
+
msgstr "Vypnutá prezentácia témy"
|
1154 |
+
|
1155 |
+
#: core/notifications.php:134
|
1156 |
+
msgid ""
|
1157 |
+
"No one can see the mobile theme right now. You can change this at any time "
|
1158 |
+
"in %sCore Settings%s under %sDisplay Mode%s."
|
1159 |
+
msgstr ""
|
1160 |
+
"Teraz nikto nevidí mobilnú tému. Toto nastavenie môžete kedykoľvek zmeniť v "
|
1161 |
+
"%snastaveniach jadra%s v %sMóde zobrazenia%s."
|
1162 |
+
|
1163 |
+
#: core/notifications.php:145
|
1164 |
+
msgid "WPtouch Pro prefers pretty permalinks to be enabled within WordPress."
|
1165 |
+
msgstr "WPtouch Pto preferuje zvolené pekné trvalé odkazy WordPress."
|
1166 |
+
|
1167 |
+
#: core/notifications.php:155
|
1168 |
+
msgid "WPtouch Pro will not work fully in safe mode."
|
1169 |
+
msgstr "WPtouch Pro nepracuje správne v safe móde."
|
1170 |
+
|
1171 |
+
#: core/notifications.php:165 core/notifications.php:175
|
1172 |
+
#: core/notifications.php:185
|
1173 |
+
msgid ""
|
1174 |
+
"Extra configuration is required. The plugin must be configured to exclude "
|
1175 |
+
"the user agents that WPtouch Pro uses."
|
1176 |
+
msgstr ""
|
1177 |
+
"Je vyžadované extra nastavenie. Modul musí byť nastavený pre vynechanie user "
|
1178 |
+
"agents ktoré používa WPtouch Pro."
|
1179 |
+
|
1180 |
+
#: core/notifications.php:195
|
1181 |
+
msgid ""
|
1182 |
+
"Extra configuration is required. Add paths to your active WPtouch Pro theme "
|
1183 |
+
"CSS and Javascript files as files to ignore in WPMinify."
|
1184 |
+
msgstr ""
|
1185 |
+
"Vyžaduje sa extra nastavenie. Pridajte cestu do aktívych súborov témy "
|
1186 |
+
"WPtouch Pro CSS a Javascript ako súbory na ignorovanie WPMinify."
|
1187 |
+
|
1188 |
+
#: core/notifications.php:205
|
1189 |
+
msgid ""
|
1190 |
+
"This plugin may not work correctly in WPtouch Pro, and should be disabled in "
|
1191 |
+
"the Plugin Compatibility section."
|
1192 |
+
msgstr ""
|
1193 |
+
"Tento modul pravdepodobne nebude správne pracovať s WPtouch Pro. Mal by byť "
|
1194 |
+
"zakázaný v sekcii kompatibility modulov."
|
1195 |
+
|
1196 |
+
#: core/notifications.php:214
|
1197 |
+
msgid "Icon Installation Issue"
|
1198 |
+
msgstr "Problém s inštaláciou ikoniek"
|
1199 |
+
|
1200 |
+
#: include/add-ons/wordtwit-pro.php:179
|
1201 |
+
#: themes/foundation/modules/twitter/twitter.php:42
|
1202 |
+
msgid "%d second ago"
|
1203 |
+
msgid_plural "%d seconds ago"
|
1204 |
+
msgstr[0] "pred %d sekundou"
|
1205 |
+
msgstr[1] "pred %d sekundami"
|
1206 |
+
msgstr[2] "pred %d sekundami"
|
1207 |
+
|
1208 |
+
#: include/add-ons/wordtwit-pro.php:182
|
1209 |
+
#: themes/foundation/modules/twitter/twitter.php:45
|
1210 |
+
msgid "%d minute ago"
|
1211 |
+
msgid_plural "%d minutes ago"
|
1212 |
+
msgstr[0] "pred %d minútou"
|
1213 |
+
msgstr[1] "pred %d minútami"
|
1214 |
+
msgstr[2] "pred %d minútami"
|
1215 |
+
|
1216 |
+
#: include/add-ons/wordtwit-pro.php:185
|
1217 |
+
#: themes/foundation/modules/twitter/twitter.php:48
|
1218 |
+
msgid "%d hour ago"
|
1219 |
+
msgid_plural "%d hours ago"
|
1220 |
+
msgstr[0] "pred %d hodinou"
|
1221 |
+
msgstr[1] "pred %d hodinami"
|
1222 |
+
msgstr[2] "pred %d hodinami"
|
1223 |
+
|
1224 |
+
#: include/add-ons/wordtwit-pro.php:188
|
1225 |
+
#: themes/foundation/modules/twitter/twitter.php:51
|
1226 |
+
msgid "%d day ago"
|
1227 |
+
msgid_plural "%d days ago"
|
1228 |
+
msgstr[0] "pred %d dňom"
|
1229 |
+
msgstr[1] "pred %d dňami"
|
1230 |
+
msgstr[2] "pred %d dňami"
|
1231 |
+
|
1232 |
+
#: include/html/desktop-switch.php:2
|
1233 |
+
msgid "Desktop Version"
|
1234 |
+
msgstr "Normálna verzia"
|
1235 |
+
|
1236 |
+
#: include/html/desktop-switch.php:2
|
1237 |
+
msgid "Switch To Mobile Version"
|
1238 |
+
msgstr "Prepnúť na verziu pre mobilné zariadenia"
|
1239 |
+
|
1240 |
+
#: include/html/footer.php:8
|
1241 |
+
msgid "Powered by %s%s%s"
|
1242 |
+
msgstr "Poháňa %s%s%s"
|
1243 |
+
|
1244 |
+
#: include/html/footer.php:10
|
1245 |
+
msgid "Powered by<br/>%s%s%s"
|
1246 |
+
msgstr "Poháňa<br/>%s%s%s"
|
1247 |
+
|
1248 |
+
#: include/html/load-times.php:2
|
1249 |
+
msgid "%d queries in %0.1f ms"
|
1250 |
+
msgstr "%d žiadaní za %0.1f ms"
|
1251 |
+
|
1252 |
+
#: include/html/page-template.php:8
|
1253 |
+
msgid "Default Template"
|
1254 |
+
msgstr "Základná šablóna"
|
1255 |
+
|
1256 |
+
#: include/html/pro.php:1
|
1257 |
+
msgid "Go Pro"
|
1258 |
+
msgstr "Kúpiť Pro verziu"
|
1259 |
+
|
1260 |
+
#: themes/bauhaus/default/header-bottom.php:13
|
1261 |
+
#: themes/bauhaus/default/header-bottom.php:15
|
1262 |
+
msgid "Logout"
|
1263 |
+
msgstr "Odhlásiť sa"
|
1264 |
+
|
1265 |
+
#: themes/bauhaus/default/header-bottom.php:48
|
1266 |
+
msgid "Search this website"
|
1267 |
+
msgstr "Hľadať na tejto stránke"
|
1268 |
+
|
1269 |
+
#: themes/bauhaus/default/header-bottom.php:49
|
1270 |
+
msgid "Search"
|
1271 |
+
msgstr "Hľadať"
|
1272 |
+
|
1273 |
+
#: themes/bauhaus/default/nav-bar.php:6
|
1274 |
+
#: themes/foundation/default/nav-bar.php:6
|
1275 |
+
msgid "previous post"
|
1276 |
+
msgstr "predchádzajúci článok"
|
1277 |
+
|
1278 |
+
#: themes/bauhaus/default/nav-bar.php:13
|
1279 |
+
#: themes/foundation/default/nav-bar.php:12
|
1280 |
+
msgid "next post"
|
1281 |
+
msgstr "ďalší článok"
|
1282 |
+
|
1283 |
+
#: themes/bauhaus/default/post-loop.php:22
|
1284 |
+
msgid "by"
|
1285 |
+
msgstr "od"
|
1286 |
+
|
1287 |
+
#: themes/bauhaus/default/related-posts.php:4
|
1288 |
+
#: themes/foundation/default/related-posts.php:4
|
1289 |
+
msgid "Related"
|
1290 |
+
msgstr "Odporúčané"
|
1291 |
+
|
1292 |
+
#: themes/bauhaus/default/search.php:6 themes/foundation/default/search.php:6
|
1293 |
+
msgid "You searched for \"%s\""
|
1294 |
+
msgstr "Hľadali ste \"%s\""
|
1295 |
+
|
1296 |
+
#: themes/bauhaus/default/search.php:14
|
1297 |
+
msgid "Show %s Results"
|
1298 |
+
msgstr "Zobraziť výsledky %s"
|
1299 |
+
|
1300 |
+
#: themes/bauhaus/default/search.php:38
|
1301 |
+
msgid "No results found"
|
1302 |
+
msgstr "Nič sa nenašlo"
|
1303 |
+
|
1304 |
+
#: themes/bauhaus/default/search.php:46
|
1305 |
+
#: themes/foundation/default/search.php:43
|
1306 |
+
msgid "Load more %s results"
|
1307 |
+
msgstr "Načítať viac výsledkov %s"
|
1308 |
+
|
1309 |
+
#: themes/bauhaus/default/single.php:16
|
1310 |
+
msgid "no comments"
|
1311 |
+
msgstr "bez komentárov"
|
1312 |
+
|
1313 |
+
#: themes/bauhaus/default/single.php:16
|
1314 |
+
msgid "1 comment"
|
1315 |
+
msgstr "1 komentár"
|
1316 |
+
|
1317 |
+
#: themes/bauhaus/default/single.php:16
|
1318 |
+
msgid "% comments"
|
1319 |
+
msgstr "počet komentárov: %"
|
1320 |
+
|
1321 |
+
#: themes/bauhaus/default/single.php:36
|
1322 |
+
msgid "Categories"
|
1323 |
+
msgstr "Kategórie"
|
1324 |
+
|
1325 |
+
#: themes/bauhaus/default/single.php:39
|
1326 |
+
msgid "Tags"
|
1327 |
+
msgstr "Značky"
|
1328 |
+
|
1329 |
+
#: themes/bauhaus/root-functions.php:126
|
1330 |
+
msgid "Header Menu"
|
1331 |
+
msgstr "Menu v hlavičke"
|
1332 |
+
|
1333 |
+
#: themes/bauhaus/root-functions.php:128
|
1334 |
+
msgid "Choose a menu"
|
1335 |
+
msgstr "Vyberte menu"
|
1336 |
+
|
1337 |
+
#: themes/bauhaus/root-functions.php:129
|
1338 |
+
msgid "Main menu selection"
|
1339 |
+
msgstr "Hlavný výber menu"
|
1340 |
+
|
1341 |
+
#: themes/bauhaus/root-functions.php:136
|
1342 |
+
msgid "Theme background"
|
1343 |
+
msgstr "Pozadie témy"
|
1344 |
+
|
1345 |
+
#: themes/bauhaus/root-functions.php:137
|
1346 |
+
msgid "Header & Menu"
|
1347 |
+
msgstr "Hlavička a menu"
|
1348 |
+
|
1349 |
+
#: themes/bauhaus/root-functions.php:138
|
1350 |
+
msgid "Links"
|
1351 |
+
msgstr "Odkazy"
|
1352 |
+
|
1353 |
+
#: themes/bauhaus/root-functions.php:139
|
1354 |
+
msgid "Post/Page Headers"
|
1355 |
+
msgstr "Hlavičky článkov/stránok"
|
1356 |
+
|
1357 |
+
#: themes/bauhaus/root-functions.php:255
|
1358 |
+
msgid "Theme Shapes"
|
1359 |
+
msgstr "Tvary témy"
|
1360 |
+
|
1361 |
+
#: themes/bauhaus/root-functions.php:261
|
1362 |
+
msgid "Theme shape style"
|
1363 |
+
msgstr "Štýl tvaru témy"
|
1364 |
+
|
1365 |
+
#: themes/bauhaus/root-functions.php:262
|
1366 |
+
msgid "Bauhaus will use this shape style throughout its appearance"
|
1367 |
+
msgstr "Bauhaus použije tento štýl vo svojom vzhľade"
|
1368 |
+
|
1369 |
+
#: themes/bauhaus/root-functions.php:266
|
1370 |
+
msgid "Circles"
|
1371 |
+
msgstr "Kruhy"
|
1372 |
+
|
1373 |
+
#: themes/bauhaus/root-functions.php:267
|
1374 |
+
msgid "Rounded squares"
|
1375 |
+
msgstr "Zaoblené rohy"
|
1376 |
+
|
1377 |
+
#: themes/bauhaus/root-functions.php:277
|
1378 |
+
msgid "Menu Style"
|
1379 |
+
msgstr "Štýl menu"
|
1380 |
+
|
1381 |
+
#: themes/bauhaus/root-functions.php:283
|
1382 |
+
msgid "Menu animation style"
|
1383 |
+
msgstr "Štýl animácie menu"
|
1384 |
+
|
1385 |
+
#: themes/bauhaus/root-functions.php:284
|
1386 |
+
msgid "Bauhaus can show your menu off-canvas or in a drop-down."
|
1387 |
+
msgstr "Bauhaus zobrazí menu bez štýlu alebo v rozbaľovacom menu."
|
1388 |
+
|
1389 |
+
#: themes/bauhaus/root-functions.php:288
|
1390 |
+
msgid "Off-canvas"
|
1391 |
+
msgstr "Bez štýlu"
|
1392 |
+
|
1393 |
+
#: themes/bauhaus/root-functions.php:289
|
1394 |
+
msgid "Drop-down"
|
1395 |
+
msgstr "Rozbaľovacie menu"
|
1396 |
+
|
1397 |
+
#: themes/bauhaus/root-functions.php:307
|
1398 |
+
msgid "Post thumbnails"
|
1399 |
+
msgstr "Zobraziť náhľady"
|
1400 |
+
|
1401 |
+
#: themes/bauhaus/root-functions.php:312
|
1402 |
+
msgid "No thumbnails"
|
1403 |
+
msgstr "Bez náhľadov"
|
1404 |
+
|
1405 |
+
#: themes/bauhaus/root-functions.php:313
|
1406 |
+
msgid "Blog listing only"
|
1407 |
+
msgstr "Iba položky blogu"
|
1408 |
+
|
1409 |
+
#: themes/bauhaus/root-functions.php:314
|
1410 |
+
msgid "Blog listing, single posts"
|
1411 |
+
msgstr "Položky blogu, jednotlivé články"
|
1412 |
+
|
1413 |
+
#: themes/bauhaus/root-functions.php:315
|
1414 |
+
msgid "Blog listing, single posts & pages"
|
1415 |
+
msgstr "Položky blogu, jednotlivé články a stránky"
|
1416 |
+
|
1417 |
+
#: themes/bauhaus/root-functions.php:316
|
1418 |
+
msgid "All (blog, single, pages, search & archive)"
|
1419 |
+
msgstr "Všetko (blog, stránky, vyhľadávanie a archívy)"
|
1420 |
+
|
1421 |
+
#: themes/bauhaus/root-functions.php:324
|
1422 |
+
msgid "Thumbnail Selection"
|
1423 |
+
msgstr "Výber náhľadov"
|
1424 |
+
|
1425 |
+
#: themes/bauhaus/root-functions.php:329
|
1426 |
+
msgid "Post featured image"
|
1427 |
+
msgstr "Zobraziť odporúčaný obrázok"
|
1428 |
+
|
1429 |
+
#: themes/bauhaus/root-functions.php:330
|
1430 |
+
msgid "Post custom field"
|
1431 |
+
msgstr "Vlastné pole článku"
|
1432 |
+
|
1433 |
+
#: themes/bauhaus/root-functions.php:338
|
1434 |
+
msgid "Thumbnail custom field name"
|
1435 |
+
msgstr "Názov pola vlastného náhľadu"
|
1436 |
+
|
1437 |
+
#: themes/bauhaus/root-functions.php:349
|
1438 |
+
msgid "Show post categories and tags"
|
1439 |
+
msgstr "Zobraziť kategórie a značky"
|
1440 |
+
|
1441 |
+
#: themes/bauhaus/root-functions.php:360
|
1442 |
+
msgid "Show post date"
|
1443 |
+
msgstr "Zobraziť dátum článku"
|
1444 |
+
|
1445 |
+
#: themes/bauhaus/root-functions.php:371
|
1446 |
+
msgid "Show post author"
|
1447 |
+
msgstr "Zobraziť autora článku"
|
1448 |
+
|
1449 |
+
#: themes/bauhaus/root-functions.php:382
|
1450 |
+
msgid "Show comment bubbles on posts"
|
1451 |
+
msgstr "Zobraziť bubliny komentárov na príspevkoch"
|
1452 |
+
|
1453 |
+
#: themes/bauhaus/root-functions.php:393
|
1454 |
+
msgid "Show search in header"
|
1455 |
+
msgstr "Zobraziť vyhľadávanie v hlavičke"
|
1456 |
+
|
1457 |
+
#: themes/bauhaus/root-functions.php:394
|
1458 |
+
msgid "Adds Search capability in the site header."
|
1459 |
+
msgstr "Pridá vyhľadávanie do hlavičky stránky."
|
1460 |
+
|
1461 |
+
#: themes/bauhaus/root-functions.php:404
|
1462 |
+
msgid "Use infinite scrolling for blog"
|
1463 |
+
msgstr "Použiť blog alebo nekonečné posúvanie"
|
1464 |
+
|
1465 |
+
#: themes/foundation/default/404.php:6
|
1466 |
+
msgid "404 Not Found"
|
1467 |
+
msgstr "404 stránka nenájdená"
|
1468 |
+
|
1469 |
+
#: themes/foundation/default/404.php:8
|
1470 |
+
msgid "The post or page you requested is no longer available."
|
1471 |
+
msgstr "Stránka alebo príspevok, ktorý hľadáte už neexistuje."
|
1472 |
+
|
1473 |
+
#: themes/foundation/default/attachment.php:43
|
1474 |
+
msgid "« previous in gallery"
|
1475 |
+
msgstr "« predchádzajúci"
|
1476 |
+
|
1477 |
+
#: themes/foundation/default/attachment.php:45
|
1478 |
+
msgid "next in gallery »"
|
1479 |
+
msgstr "nasledujúci »"
|
1480 |
+
|
1481 |
+
#: themes/foundation/default/comments.php:10
|
1482 |
+
msgid "no responses"
|
1483 |
+
msgstr "bez odpovedí"
|
1484 |
+
|
1485 |
+
#: themes/foundation/default/comments.php:10
|
1486 |
+
msgid "1 response"
|
1487 |
+
msgstr "1 odpvoeď"
|
1488 |
+
|
1489 |
+
#: themes/foundation/default/comments.php:10
|
1490 |
+
msgid "% responses"
|
1491 |
+
msgstr "odpovedí %"
|
1492 |
+
|
1493 |
+
#: themes/foundation/default/comments.php:20
|
1494 |
+
#: themes/foundation/default/comments.php:26
|
1495 |
+
msgid "Load More Comments…"
|
1496 |
+
msgstr "Načítať viac komentárov"
|
1497 |
+
|
1498 |
+
#: themes/foundation/default/comments.php:38
|
1499 |
+
msgid "Comments are closed"
|
1500 |
+
msgstr "Komentáre nie sú povolené"
|
1501 |
+
|
1502 |
+
#: themes/foundation/default/comments.php:48
|
1503 |
+
msgid "Cancel"
|
1504 |
+
msgstr "Zrušiť"
|
1505 |
+
|
1506 |
+
#: themes/foundation/default/comments.php:51
|
1507 |
+
msgid "Leave a Reply"
|
1508 |
+
msgstr "Odpovedať"
|
1509 |
+
|
1510 |
+
#: themes/foundation/default/comments.php:51
|
1511 |
+
msgid "Leave a Reply to %s"
|
1512 |
+
msgstr "Odpovedať na %s"
|
1513 |
+
|
1514 |
+
#: themes/foundation/default/comments.php:54
|
1515 |
+
msgid "You must be %slogged in%s to post a comment."
|
1516 |
+
msgstr "Aby ste mohli komentovať, musíte byť %sprihlásený%s."
|
1517 |
+
|
1518 |
+
#: themes/foundation/default/comments.php:61
|
1519 |
+
msgid "Logged in as"
|
1520 |
+
msgstr "Prihlásený ako"
|
1521 |
+
|
1522 |
+
#: themes/foundation/default/comments.php:61
|
1523 |
+
msgid "Log out"
|
1524 |
+
msgstr "Odhlásiť"
|
1525 |
+
|
1526 |
+
#: themes/foundation/default/comments.php:65
|
1527 |
+
msgid "Name"
|
1528 |
+
msgstr "Meno"
|
1529 |
+
|
1530 |
+
#: themes/foundation/default/comments.php:67
|
1531 |
+
#: themes/foundation/modules/social-links/social-links.php:94
|
1532 |
+
msgid "E-Mail"
|
1533 |
+
msgstr "E-Mail"
|
1534 |
+
|
1535 |
+
#: themes/foundation/default/comments.php:69
|
1536 |
+
msgid "Website"
|
1537 |
+
msgstr "Webstránka"
|
1538 |
+
|
1539 |
+
#: themes/foundation/default/comments.php:77
|
1540 |
+
msgid "Publish"
|
1541 |
+
msgstr "Publikovať"
|
1542 |
+
|
1543 |
+
#: themes/foundation/default/footer.php:10
|
1544 |
+
msgid "Back to top"
|
1545 |
+
msgstr "Späť na začiatok"
|
1546 |
+
|
1547 |
+
#: themes/foundation/default/formerror.php:6
|
1548 |
+
msgid "Comment Error"
|
1549 |
+
msgstr "Chyba komentárov"
|
1550 |
+
|
1551 |
+
#: themes/foundation/default/formerror.php:8
|
1552 |
+
msgid "Please enter all fields correctly to post a comment."
|
1553 |
+
msgstr "Pre odoslanie komentára, vyplnte všetky polia."
|
1554 |
+
|
1555 |
+
#: themes/foundation/default/formerror.php:9
|
1556 |
+
msgid "Go back"
|
1557 |
+
msgstr "Ísť späť"
|
1558 |
+
|
1559 |
+
#: themes/foundation/default/index.php:33
|
1560 |
+
msgid "newer posts"
|
1561 |
+
msgstr "novšie články"
|
1562 |
+
|
1563 |
+
#: themes/foundation/default/index.php:33
|
1564 |
+
msgid "older posts"
|
1565 |
+
msgstr "staršie články"
|
1566 |
+
|
1567 |
+
#: themes/foundation/default/one-comment.php:12
|
1568 |
+
msgid "Your comment is awaiting moderation"
|
1569 |
+
msgstr "Váš komentár čaká na schválenie"
|
1570 |
+
|
1571 |
+
#: themes/foundation/default/search.php:16
|
1572 |
+
msgid "%s results"
|
1573 |
+
msgstr "počet výsledkov: %s"
|
1574 |
+
|
1575 |
+
#: themes/foundation/default/search.php:34
|
1576 |
+
msgid "No search results found"
|
1577 |
+
msgstr "Nič sa nenašlo"
|
1578 |
+
|
1579 |
+
#: themes/foundation/default/single.php:13
|
1580 |
+
msgid "By"
|
1581 |
+
msgstr "Od"
|
1582 |
+
|
1583 |
+
#: themes/foundation/default/switch-link.php:8
|
1584 |
+
msgid "mobile"
|
1585 |
+
msgstr "mobilná"
|
1586 |
+
|
1587 |
+
#: themes/foundation/default/switch-link.php:9
|
1588 |
+
msgid "desktop"
|
1589 |
+
msgstr "normálna"
|
1590 |
+
|
1591 |
+
#: themes/foundation/modules/advertising/advertising.php:18
|
1592 |
+
msgid "Service"
|
1593 |
+
msgstr "Služba"
|
1594 |
+
|
1595 |
+
#: themes/foundation/modules/advertising/advertising.php:24
|
1596 |
+
msgid "Choose a service"
|
1597 |
+
msgstr "Vyberte službu"
|
1598 |
+
|
1599 |
+
#: themes/foundation/modules/advertising/advertising.php:30
|
1600 |
+
msgid "Google Adsense"
|
1601 |
+
msgstr "Google Adsense"
|
1602 |
+
|
1603 |
+
#: themes/foundation/modules/advertising/advertising.php:31
|
1604 |
+
msgctxt "Refers to a custom advertising service"
|
1605 |
+
msgid "Custom"
|
1606 |
+
msgstr "Vlastná"
|
1607 |
+
|
1608 |
+
#: themes/foundation/modules/advertising/advertising.php:41
|
1609 |
+
msgid "Google AdSense"
|
1610 |
+
msgstr "Google AdSense"
|
1611 |
+
|
1612 |
+
#: themes/foundation/modules/advertising/advertising.php:44
|
1613 |
+
msgid "Publisher ID"
|
1614 |
+
msgstr "Publisher ID"
|
1615 |
+
|
1616 |
+
#: themes/foundation/modules/advertising/advertising.php:45
|
1617 |
+
msgid "Slot ID"
|
1618 |
+
msgstr "Slot ID"
|
1619 |
+
|
1620 |
+
#: themes/foundation/modules/advertising/advertising.php:49
|
1621 |
+
msgid "Code Type"
|
1622 |
+
msgstr "Typ kódu"
|
1623 |
+
|
1624 |
+
#: themes/foundation/modules/advertising/advertising.php:61
|
1625 |
+
msgid "Custom Ads"
|
1626 |
+
msgstr "Vlastné reklamy"
|
1627 |
+
|
1628 |
+
#: themes/foundation/modules/advertising/advertising.php:64
|
1629 |
+
msgid "Mobile advertising script"
|
1630 |
+
msgstr "Mobilný reklamný skript"
|
1631 |
+
|
1632 |
+
#: themes/foundation/modules/advertising/advertising.php:73
|
1633 |
+
msgid "Ad Presentation"
|
1634 |
+
msgstr "Prezentácia reklamy"
|
1635 |
+
|
1636 |
+
#: themes/foundation/modules/advertising/advertising.php:79
|
1637 |
+
msgid "Theme location"
|
1638 |
+
msgstr "Umiestnenie témy"
|
1639 |
+
|
1640 |
+
#: themes/foundation/modules/advertising/advertising.php:84
|
1641 |
+
msgid "In the header"
|
1642 |
+
msgstr "V hlavičke"
|
1643 |
+
|
1644 |
+
#: themes/foundation/modules/advertising/advertising.php:85
|
1645 |
+
msgid "Above the page content"
|
1646 |
+
msgstr "Nad obsahom stránky"
|
1647 |
+
|
1648 |
+
#: themes/foundation/modules/advertising/advertising.php:86
|
1649 |
+
msgid "Below the page content"
|
1650 |
+
msgstr "Pod obsahom stránky"
|
1651 |
+
|
1652 |
+
#: themes/foundation/modules/advertising/advertising.php:96
|
1653 |
+
msgid "Active Pages"
|
1654 |
+
msgstr "Aktívne stránky"
|
1655 |
+
|
1656 |
+
#: themes/foundation/modules/advertising/advertising.php:99
|
1657 |
+
msgid "Blog listings"
|
1658 |
+
msgstr "Položky blogu"
|
1659 |
+
|
1660 |
+
#: themes/foundation/modules/advertising/advertising.php:100
|
1661 |
+
msgid "Single posts"
|
1662 |
+
msgstr "Články"
|
1663 |
+
|
1664 |
+
#: themes/foundation/modules/advertising/advertising.php:101
|
1665 |
+
msgid "Static pages"
|
1666 |
+
msgstr "Statické stránky"
|
1667 |
+
|
1668 |
+
#: themes/foundation/modules/advertising/advertising.php:102
|
1669 |
+
msgid "Taxonomy"
|
1670 |
+
msgstr "Taxonómia"
|
1671 |
+
|
1672 |
+
#: themes/foundation/modules/advertising/advertising.php:103
|
1673 |
+
msgid "Search results"
|
1674 |
+
msgstr "Výsledky vyhľadávania"
|
1675 |
+
|
1676 |
+
#: themes/foundation/modules/base/base.php:69
|
1677 |
+
msgid "Loading"
|
1678 |
+
msgstr "Načítavanie"
|
1679 |
+
|
1680 |
+
#: themes/foundation/modules/base/preview-bar.php:2
|
1681 |
+
msgid "Theme Preview"
|
1682 |
+
msgstr "Náhľad témy"
|
1683 |
+
|
1684 |
+
#: themes/foundation/modules/base/preview-bar.php:3
|
1685 |
+
msgid "Reload"
|
1686 |
+
msgstr "Znova nahrať"
|
1687 |
+
|
1688 |
+
#: themes/foundation/modules/custom-posts/custom-posts.php:165
|
1689 |
+
msgid "Custom Post Support"
|
1690 |
+
msgstr "Podpora vlastných článkov"
|
1691 |
+
|
1692 |
+
#: themes/foundation/modules/custom-posts/custom-posts.php:171
|
1693 |
+
msgid "Enable custom post-type support"
|
1694 |
+
msgstr "Povoliť podporu vlastného typu článkov"
|
1695 |
+
|
1696 |
+
#: themes/foundation/modules/custom-posts/custom-posts.php:179
|
1697 |
+
msgid "Show custom post taxonomy"
|
1698 |
+
msgstr "Zobraziť vlastnú taxonómiu článkov"
|
1699 |
+
|
1700 |
+
#: themes/foundation/modules/custom-posts/custom-posts.php:191
|
1701 |
+
msgid "Custom Post Types"
|
1702 |
+
msgstr "Vlastné typy príspevkov"
|
1703 |
+
|
1704 |
+
#: themes/foundation/modules/featured/featured.php:265
|
1705 |
+
msgid "Featured Slider"
|
1706 |
+
msgstr "Náhľad prezentačných"
|
1707 |
+
|
1708 |
+
#: themes/foundation/modules/featured/featured.php:271
|
1709 |
+
msgid "Enable featured slider"
|
1710 |
+
msgstr "Povoliť slider prezentačných"
|
1711 |
+
|
1712 |
+
#: themes/foundation/modules/featured/featured.php:272
|
1713 |
+
msgid "Requires at least 2 entries to contain featured images"
|
1714 |
+
msgstr "Vyžaduje najmenej 2 položky s prezentačnými obrázkami"
|
1715 |
+
|
1716 |
+
#: themes/foundation/modules/featured/featured.php:279
|
1717 |
+
msgid "Maximum number of posts"
|
1718 |
+
msgstr "Maximálny počet článkov"
|
1719 |
+
|
1720 |
+
#: themes/foundation/modules/featured/featured.php:284
|
1721 |
+
msgid "3 posts"
|
1722 |
+
msgstr "3 články"
|
1723 |
+
|
1724 |
+
#: themes/foundation/modules/featured/featured.php:285
|
1725 |
+
msgid "5 posts"
|
1726 |
+
msgstr "5 článkov"
|
1727 |
+
|
1728 |
+
#: themes/foundation/modules/featured/featured.php:286
|
1729 |
+
msgid "10 posts"
|
1730 |
+
msgstr "10 článkov"
|
1731 |
+
|
1732 |
+
#: themes/foundation/modules/featured/featured.php:292
|
1733 |
+
msgid "Automatically slide"
|
1734 |
+
msgstr "Automatický posuv"
|
1735 |
+
|
1736 |
+
#: themes/foundation/modules/featured/featured.php:300
|
1737 |
+
msgid "Continuously slide"
|
1738 |
+
msgstr "Kontinuálny posuv"
|
1739 |
+
|
1740 |
+
#: themes/foundation/modules/featured/featured.php:308
|
1741 |
+
msgid "Grayscale images (CSS 3 effect)"
|
1742 |
+
msgstr "Čiernobiele obrázky (CSS3 efekt)"
|
1743 |
+
|
1744 |
+
#: themes/foundation/modules/featured/featured.php:309
|
1745 |
+
msgid ""
|
1746 |
+
"Featured slider images will be in grayscale for devices that support CSS "
|
1747 |
+
"filters."
|
1748 |
+
msgstr ""
|
1749 |
+
"Prezentačné obrázky na zariadeniach, ktoré podporujú CSS filtre, budú "
|
1750 |
+
"čiernobiele."
|
1751 |
+
|
1752 |
+
#: themes/foundation/modules/featured/featured.php:324
|
1753 |
+
msgid "Featured slider posts also show in listings"
|
1754 |
+
msgstr "Slider prezentačných zobraziť aj medzi položkami"
|
1755 |
+
|
1756 |
+
#: themes/foundation/modules/featured/featured.php:332
|
1757 |
+
msgid "Slide transition speed"
|
1758 |
+
msgstr "Rýchlosť posuvu"
|
1759 |
+
|
1760 |
+
#: themes/foundation/modules/featured/featured.php:337
|
1761 |
+
msgid "Slow"
|
1762 |
+
msgstr "Pomalá"
|
1763 |
+
|
1764 |
+
#: themes/foundation/modules/featured/featured.php:338
|
1765 |
+
msgid "Normal"
|
1766 |
+
msgstr "Normálna"
|
1767 |
+
|
1768 |
+
#: themes/foundation/modules/featured/featured.php:339
|
1769 |
+
msgid "Fast"
|
1770 |
+
msgstr "Rýchla"
|
1771 |
+
|
1772 |
+
#: themes/foundation/modules/featured/featured.php:350
|
1773 |
+
msgid "Show latest posts"
|
1774 |
+
msgstr "Zobraziť posledné články"
|
1775 |
+
|
1776 |
+
#: themes/foundation/modules/featured/featured.php:351
|
1777 |
+
msgid "Show posts from a specific tag"
|
1778 |
+
msgstr "Zobraziť články konkrétnej značky"
|
1779 |
+
|
1780 |
+
#: themes/foundation/modules/featured/featured.php:352
|
1781 |
+
msgid "Show posts from a specific category"
|
1782 |
+
msgstr "Zobraziť články konkrétnej kategórie"
|
1783 |
+
|
1784 |
+
#: themes/foundation/modules/featured/featured.php:353
|
1785 |
+
msgid "Show only specific posts or pages"
|
1786 |
+
msgstr "Zobraziť iba určité články a stránky"
|
1787 |
+
|
1788 |
+
#: themes/foundation/modules/featured/featured.php:359
|
1789 |
+
msgid "Only this tag"
|
1790 |
+
msgstr "Iba táto značka"
|
1791 |
+
|
1792 |
+
#: themes/foundation/modules/featured/featured.php:360
|
1793 |
+
#: themes/foundation/modules/featured/featured.php:369
|
1794 |
+
msgid "Enter the tag/category slug name"
|
1795 |
+
msgstr "Zadajte názov kategórie/značky"
|
1796 |
+
|
1797 |
+
#: themes/foundation/modules/featured/featured.php:368
|
1798 |
+
msgid "Only this category"
|
1799 |
+
msgstr "Iba táto kategória"
|
1800 |
+
|
1801 |
+
#: themes/foundation/modules/featured/featured.php:377
|
1802 |
+
msgid "Comma-separated list of post/page IDs"
|
1803 |
+
msgstr "Zoznam OD čísiel článkov/stránok oddelených čiarkou"
|
1804 |
+
|
1805 |
+
#: themes/foundation/modules/google-fonts/google-fonts.php:10
|
1806 |
+
msgid "Browser Fonts"
|
1807 |
+
msgstr "Prehliadač písma"
|
1808 |
+
|
1809 |
+
#: themes/foundation/modules/google-fonts/google-fonts.php:18
|
1810 |
+
msgid "Typography"
|
1811 |
+
msgstr "Typografia"
|
1812 |
+
|
1813 |
+
#: themes/foundation/modules/google-fonts/google-fonts.php:24
|
1814 |
+
msgid "Font style"
|
1815 |
+
msgstr "Štýl písma"
|
1816 |
+
|
1817 |
+
#: themes/foundation/modules/google-fonts/google-fonts.php:25
|
1818 |
+
msgid ""
|
1819 |
+
"Choose a Google font pairing designed for this theme, or default browser "
|
1820 |
+
"fonts."
|
1821 |
+
msgstr ""
|
1822 |
+
"Vyberte typ písma Google sediaci k tejto téme, aleo základý typ písma "
|
1823 |
+
"prehliadačov."
|
1824 |
+
|
1825 |
+
#: themes/foundation/modules/login/login-html.php:7
|
1826 |
+
msgid "Remember Me"
|
1827 |
+
msgstr "Zapamätať si ma"
|
1828 |
+
|
1829 |
+
#: themes/foundation/modules/login/login-html.php:9
|
1830 |
+
msgid "Log In"
|
1831 |
+
msgstr "Prihlásiť sa"
|
1832 |
+
|
1833 |
+
#: themes/foundation/modules/login/login-html.php:20
|
1834 |
+
msgid "Login"
|
1835 |
+
msgstr "Prihlásiť sa"
|
1836 |
+
|
1837 |
+
#: themes/foundation/modules/login/login-html.php:29
|
1838 |
+
msgid "Sign-up"
|
1839 |
+
msgstr "Registrácia"
|
1840 |
+
|
1841 |
+
#: themes/foundation/modules/login/login-html.php:30
|
1842 |
+
msgid "Lost password?"
|
1843 |
+
msgstr "Zabudli ste heslo?"
|
1844 |
+
|
1845 |
+
#: themes/foundation/modules/login/login.php:22
|
1846 |
+
msgid "Account Username"
|
1847 |
+
msgstr "Používateľské meno účtu"
|
1848 |
+
|
1849 |
+
#: themes/foundation/modules/login/login.php:23
|
1850 |
+
msgid "Account Password"
|
1851 |
+
msgstr "Heslo účtu"
|
1852 |
+
|
1853 |
+
#: themes/foundation/modules/login/login.php:32
|
1854 |
+
msgid "Login Form"
|
1855 |
+
msgstr "Prihlasovací formulár"
|
1856 |
+
|
1857 |
+
#: themes/foundation/modules/login/login.php:38
|
1858 |
+
msgid "Use fly-in login form"
|
1859 |
+
msgstr "Použiť pohyblivý formulár"
|
1860 |
+
|
1861 |
+
#: themes/foundation/modules/login/login.php:39
|
1862 |
+
msgid ""
|
1863 |
+
"Will add login links and allow mobile visitors to login to your website from "
|
1864 |
+
"mobile devices"
|
1865 |
+
msgstr "Pridá odkazy, umožní tak sa prihlásiť používateľom mobilnej témy"
|
1866 |
+
|
1867 |
+
#: themes/foundation/modules/login/login.php:46
|
1868 |
+
msgid "Show \"Sign-up\" and \"Lost Password?\" links"
|
1869 |
+
msgstr "Zobraziť odkazy \"Registrácia\" a \"Zabudli ste heslo?\""
|
1870 |
+
|
1871 |
+
#: themes/foundation/modules/media/media.php:48
|
1872 |
+
msgid "Video Handling"
|
1873 |
+
msgstr "Správanie videa"
|
1874 |
+
|
1875 |
+
#: themes/foundation/modules/media/media.php:60
|
1876 |
+
msgid "CSS only (HTML5 videos)"
|
1877 |
+
msgstr "Iba CSS (HTML5 videá)"
|
1878 |
+
|
1879 |
+
#: themes/foundation/modules/media/media.php:61
|
1880 |
+
msgid "FitVids Method"
|
1881 |
+
msgstr "FitVids"
|
1882 |
+
|
1883 |
+
#: themes/foundation/modules/media/media.php:62
|
1884 |
+
msgid "Fluid-Width Method"
|
1885 |
+
msgstr "Fluid-Width"
|
1886 |
+
|
1887 |
+
#: themes/foundation/modules/related-posts/related-posts.php:9
|
1888 |
+
msgid "Related Posts"
|
1889 |
+
msgstr "Súvisiace príspevky"
|
1890 |
+
|
1891 |
+
#: themes/foundation/modules/related-posts/related-posts.php:15
|
1892 |
+
msgid "Enable display of related content on single posts"
|
1893 |
+
msgstr "Povoliť zobrazenie súvisiaceho obsahu v článkoch"
|
1894 |
+
|
1895 |
+
#: themes/foundation/modules/related-posts/related-posts.php:23
|
1896 |
+
msgid "Maximum number of related posts to show"
|
1897 |
+
msgstr "Maximálny počet zobrazených súvisiacich článkov"
|
1898 |
+
|
1899 |
+
#: themes/foundation/modules/sharing/sharing-html.php:2
|
1900 |
+
msgid "Share"
|
1901 |
+
msgstr "Zdielať"
|
1902 |
+
|
1903 |
+
#: themes/foundation/modules/sharing/sharing-html.php:3
|
1904 |
+
msgid "Tweet"
|
1905 |
+
msgstr "Tweet"
|
1906 |
+
|
1907 |
+
#: themes/foundation/modules/sharing/sharing-html.php:5
|
1908 |
+
msgid "Mail"
|
1909 |
+
msgstr "Mail"
|
1910 |
+
|
1911 |
+
#: themes/foundation/modules/sharing/sharing.php:94
|
1912 |
+
msgid "Sharing"
|
1913 |
+
msgstr "Zdielanie"
|
1914 |
+
|
1915 |
+
#: themes/foundation/modules/sharing/sharing.php:100
|
1916 |
+
msgid "Show sharing links"
|
1917 |
+
msgstr "Zobraziť odkazy na zdielanie"
|
1918 |
+
|
1919 |
+
#: themes/foundation/modules/sharing/sharing.php:101
|
1920 |
+
msgid "Will show Facebook, Twitter, Google+ and Email buttons on single posts."
|
1921 |
+
msgstr "Zobrazí tlačidlá Facebook, Twitter, Google+ a Emailu"
|
1922 |
+
|
1923 |
+
#: themes/foundation/modules/sharing/sharing.php:108
|
1924 |
+
msgid "Show sharing links on pages"
|
1925 |
+
msgstr "Zobraziť odkazy zdieľania na stránkach"
|
1926 |
+
|
1927 |
+
#: themes/foundation/modules/sharing/sharing.php:109
|
1928 |
+
msgid ""
|
1929 |
+
"Will show Facebook, Twitter, Google+ and Email buttons on pages as well as "
|
1930 |
+
"single posts."
|
1931 |
+
msgstr "Zobrazí tlačidlá Facebook, Twitter, Google+ a Emailu"
|
1932 |
+
|
1933 |
+
#: themes/foundation/modules/sharing/sharing.php:116
|
1934 |
+
msgid "Sharing links location"
|
1935 |
+
msgstr "Odkazy zdielania polohy"
|
1936 |
+
|
1937 |
+
#: themes/foundation/modules/sharing/sharing.php:121
|
1938 |
+
msgid "Above post content"
|
1939 |
+
msgstr "Nad obsahom článku"
|
1940 |
+
|
1941 |
+
#: themes/foundation/modules/sharing/sharing.php:122
|
1942 |
+
msgid "Below post content"
|
1943 |
+
msgstr "Pod obsahom článku"
|
1944 |
+
|
1945 |
+
#: themes/foundation/modules/sharing/sharing.php:128
|
1946 |
+
msgid "Color scheme"
|
1947 |
+
msgstr "Farebná schéma"
|
1948 |
+
|
1949 |
+
#: themes/foundation/modules/sharing/sharing.php:133
|
1950 |
+
msgid "Theme colors"
|
1951 |
+
msgstr "Farby témy"
|
1952 |
+
|
1953 |
+
#: themes/foundation/modules/sharing/sharing.php:134
|
1954 |
+
msgid "Social network colors"
|
1955 |
+
msgstr "Farby sociálnych sietí"
|
1956 |
+
|
1957 |
+
#: themes/foundation/modules/social-links/social-links.php:8
|
1958 |
+
msgid "Footer Social Links"
|
1959 |
+
msgstr "Odkazy na sociálne siete v pätičke"
|
1960 |
+
|
1961 |
+
#: themes/foundation/modules/social-links/social-links.php:23
|
1962 |
+
msgid "Full URL to your Facebook page"
|
1963 |
+
msgstr "Celá URL adresa vašej Facebook stránky"
|
1964 |
+
|
1965 |
+
#: themes/foundation/modules/social-links/social-links.php:31
|
1966 |
+
msgid "Full URL to your Twitter profile"
|
1967 |
+
msgstr "Celá URL adresa vašeho Twitter profilu"
|
1968 |
+
|
1969 |
+
#: themes/foundation/modules/social-links/social-links.php:39
|
1970 |
+
msgid "Full URL to your Google+ profile"
|
1971 |
+
msgstr "Celá URL adresa vašeho Google+ profilu"
|
1972 |
+
|
1973 |
+
#: themes/foundation/modules/social-links/social-links.php:47
|
1974 |
+
msgid "Full URL to your Instagram profile"
|
1975 |
+
msgstr "Celá URL adresa vašeho Instagram profilu"
|
1976 |
+
|
1977 |
+
#: themes/foundation/modules/social-links/social-links.php:54
|
1978 |
+
msgid "Tumblr"
|
1979 |
+
msgstr "Tumblr"
|
1980 |
+
|
1981 |
+
#: themes/foundation/modules/social-links/social-links.php:55
|
1982 |
+
msgid "Full URL to your Tumblr profile"
|
1983 |
+
msgstr "Celá URL adresa vašeho Tumblr profilu"
|
1984 |
+
|
1985 |
+
#: themes/foundation/modules/social-links/social-links.php:63
|
1986 |
+
msgid "Full URL to your Pinterest page"
|
1987 |
+
msgstr "Celá URL adresa vašeho Pinterest profilu"
|
1988 |
+
|
1989 |
+
#: themes/foundation/modules/social-links/social-links.php:71
|
1990 |
+
msgid "Full URL to your Vimeo page"
|
1991 |
+
msgstr "Celá URL adresa vašeho Vimeo profilu"
|
1992 |
+
|
1993 |
+
#: themes/foundation/modules/social-links/social-links.php:79
|
1994 |
+
msgid "Full URL to your %s profile"
|
1995 |
+
msgstr "Celá URL adresa vašeho %s profilu"
|
1996 |
+
|
1997 |
+
#: themes/foundation/modules/social-links/social-links.php:86
|
1998 |
+
msgid "LinkedIn"
|
1999 |
+
msgstr "LinkedIn"
|
2000 |
+
|
2001 |
+
#: themes/foundation/modules/social-links/social-links.php:87
|
2002 |
+
msgid "Full URL to your LinkedIn profile"
|
2003 |
+
msgstr "Celá URL adresa vašeho LinkedIn profilu"
|
2004 |
+
|
2005 |
+
#: themes/foundation/modules/social-links/social-links.php:95
|
2006 |
+
msgid "E-Mail address"
|
2007 |
+
msgstr "E-Mailová adresa"
|
2008 |
+
|
2009 |
+
#: themes/foundation/modules/social-links/social-links.php:103
|
2010 |
+
msgid "Full URL to your RSS feed"
|
2011 |
+
msgstr "Celá URL adresa vašeho RSS"
|
2012 |
+
|
2013 |
+
#: themes/foundation/modules/tablets/tablets.php:35
|
2014 |
+
msgid "iPad"
|
2015 |
+
msgstr "iPad"
|
2016 |
+
|
2017 |
+
#: themes/foundation/modules/tablets/tablets.php:41
|
2018 |
+
#: themes/foundation/modules/webapp/webapp.php:73
|
2019 |
+
#: themes/foundation/modules/webapp/webapp.php:91
|
2020 |
+
#: themes/foundation/modules/webapp/webapp.php:109
|
2021 |
+
#: themes/foundation/modules/webapp/webapp.php:128
|
2022 |
+
#: themes/foundation/modules/webapp/webapp.php:136
|
2023 |
+
#: themes/foundation/modules/webapp/webapp.php:154
|
2024 |
+
#: themes/foundation/modules/webapp/webapp.php:162
|
2025 |
+
#: themes/foundation/root-functions.php:428
|
2026 |
+
#: themes/foundation/root-functions.php:446
|
2027 |
+
msgid "%d by %d pixels (PNG)"
|
2028 |
+
msgstr "%d na %d pixelov (PNG)"
|
2029 |
+
|
2030 |
+
#: themes/foundation/modules/twitter/twitter.php:66
|
2031 |
+
msgid "Disabled"
|
2032 |
+
msgstr "Nepovolené"
|
2033 |
+
|
2034 |
+
#: themes/foundation/modules/twitter/twitter.php:81
|
2035 |
+
msgid "Twitter account to use for Tweet display"
|
2036 |
+
msgstr "Twitter účet pre zobrazenie Tweetov"
|
2037 |
+
|
2038 |
+
#: themes/foundation/modules/webapp/webapp.php:15
|
2039 |
+
msgid "Enable iOS Web-App Mode"
|
2040 |
+
msgstr "Povoliť iOS Web-App mód"
|
2041 |
+
|
2042 |
+
#: themes/foundation/modules/webapp/webapp.php:19
|
2043 |
+
msgid "Enable persistence"
|
2044 |
+
msgstr "Povoliť podržanie"
|
2045 |
+
|
2046 |
+
#: themes/foundation/modules/webapp/webapp.php:20
|
2047 |
+
msgid "Loads the last visited URL for visitors on open."
|
2048 |
+
msgstr "Načíta návštevníkom ich poslednú navštívenú stránku."
|
2049 |
+
|
2050 |
+
#: themes/foundation/modules/webapp/webapp.php:27
|
2051 |
+
msgid "URLs to ignore in Web-App Mode"
|
2052 |
+
msgstr "URL adresy ignorujúce Web-App mód"
|
2053 |
+
|
2054 |
+
#: themes/foundation/modules/webapp/webapp.php:40
|
2055 |
+
msgid "Notice Message"
|
2056 |
+
msgstr "Oznamovacia správa"
|
2057 |
+
|
2058 |
+
#: themes/foundation/modules/webapp/webapp.php:43
|
2059 |
+
msgid ""
|
2060 |
+
"Show a notice message for iPhone, iPod touch & iPad visitors about my Web-App"
|
2061 |
+
msgstr ""
|
2062 |
+
"Zobraziť oznamovaciu správu používateľom iPhone, iPod touch a iPad o mojej "
|
2063 |
+
"Web-App"
|
2064 |
+
|
2065 |
+
#: themes/foundation/modules/webapp/webapp.php:43
|
2066 |
+
msgid ""
|
2067 |
+
"WPtouch shows a notice bubble on 1st visit letting users know about your Web-"
|
2068 |
+
"App enabled website on iOS devices."
|
2069 |
+
msgstr "WPtouch zobrazí oznam návštevníkom pri 1. návšteve z iOS zariadenia"
|
2070 |
+
|
2071 |
+
#: themes/foundation/modules/webapp/webapp.php:44
|
2072 |
+
msgid "Notice message contents"
|
2073 |
+
msgstr "Obsah oznamovacej správy"
|
2074 |
+
|
2075 |
+
#: themes/foundation/modules/webapp/webapp.php:44
|
2076 |
+
msgid ""
|
2077 |
+
"[device] and [icon] are dynamic and used to determine the device and iOS "
|
2078 |
+
"version. Do not remove these from your message."
|
2079 |
+
msgstr ""
|
2080 |
+
"[device] a [icon] sú dynamicky používané pre určenie zariadenia a verzie "
|
2081 |
+
"iOS. Neodstraňujte ich zo správy."
|
2082 |
+
|
2083 |
+
#: themes/foundation/modules/webapp/webapp.php:48
|
2084 |
+
msgid "the notice message will be shown again for visitors"
|
2085 |
+
msgstr "oznam bude znova zobrazený návštevníkom"
|
2086 |
+
|
2087 |
+
#: themes/foundation/modules/webapp/webapp.php:53
|
2088 |
+
msgid "1 day until"
|
2089 |
+
msgstr "po 1 dni"
|
2090 |
+
|
2091 |
+
#: themes/foundation/modules/webapp/webapp.php:54
|
2092 |
+
msgid "7 days until"
|
2093 |
+
msgstr "po 7 dňoch"
|
2094 |
+
|
2095 |
+
#: themes/foundation/modules/webapp/webapp.php:55
|
2096 |
+
msgid "1 month until"
|
2097 |
+
msgstr "po 1 mesiaci"
|
2098 |
+
|
2099 |
+
#: themes/foundation/modules/webapp/webapp.php:56
|
2100 |
+
msgid "Every time"
|
2101 |
+
msgstr "Vždy"
|
2102 |
+
|
2103 |
+
#: themes/foundation/modules/webapp/webapp.php:67
|
2104 |
+
msgid "iPhone Startup Screen"
|
2105 |
+
msgstr "Úvodná obrazovka iPhone"
|
2106 |
+
|
2107 |
+
#: themes/foundation/modules/webapp/webapp.php:85
|
2108 |
+
msgid "Retina iPhone Startup Screen"
|
2109 |
+
msgstr "Úvodná obrazovka Retina iPhone"
|
2110 |
+
|
2111 |
+
#: themes/foundation/modules/webapp/webapp.php:103
|
2112 |
+
msgid "iPhone 5 Startup Screen"
|
2113 |
+
msgstr "Úvodná obrazovka iPhone 5"
|
2114 |
+
|
2115 |
+
#: themes/foundation/modules/webapp/webapp.php:122
|
2116 |
+
msgid "iPad Mini and iPad Startup Screens"
|
2117 |
+
msgstr "Úvodná obrazovka iPad Mini a iPad"
|
2118 |
+
|
2119 |
+
#: themes/foundation/modules/webapp/webapp.php:148
|
2120 |
+
msgid "Retina iPad Startup Screens"
|
2121 |
+
msgstr "Úvodná obrazovka Retina iPad"
|
2122 |
+
|
2123 |
+
#: themes/foundation/root-functions.php:11
|
2124 |
+
msgid "Branding"
|
2125 |
+
msgstr "Branding"
|
2126 |
+
|
2127 |
+
#: themes/foundation/root-functions.php:12
|
2128 |
+
msgid "Media Handling"
|
2129 |
+
msgstr "Správa médií"
|
2130 |
+
|
2131 |
+
#: themes/foundation/root-functions.php:13
|
2132 |
+
msgid "Web-App Mode"
|
2133 |
+
msgstr "Web-App Mód"
|
2134 |
+
|
2135 |
+
#: themes/foundation/root-functions.php:14
|
2136 |
+
msgid "Bookmark Icons"
|
2137 |
+
msgstr "Ikonky záložky"
|
2138 |
+
|
2139 |
+
#: themes/foundation/root-functions.php:15
|
2140 |
+
msgid "Advertising"
|
2141 |
+
msgstr "Reklama"
|
2142 |
+
|
2143 |
+
#: themes/foundation/root-functions.php:16
|
2144 |
+
msgid "Custom Content"
|
2145 |
+
msgstr "Vlastný obsah"
|
2146 |
+
|
2147 |
+
#: themes/foundation/root-functions.php:49
|
2148 |
+
msgid "Language: "
|
2149 |
+
msgstr "Jazyk:"
|
2150 |
+
|
2151 |
+
#: themes/foundation/root-functions.php:139
|
2152 |
+
msgid ""
|
2153 |
+
"Install this Web-App on your [device]: tap [icon] then \"Add to Home Screen\""
|
2154 |
+
msgstr ""
|
2155 |
+
"Nainštalujte si Web-App na vašom [device]: kliknite na [icon] a potom "
|
2156 |
+
"\"Pridať na domácu obrazovku\""
|
2157 |
+
|
2158 |
+
#: themes/foundation/root-functions.php:342
|
2159 |
+
msgid "Number of posts in post listings"
|
2160 |
+
msgstr "Počet článkov v zozname"
|
2161 |
+
|
2162 |
+
#: themes/foundation/root-functions.php:343
|
2163 |
+
msgid ""
|
2164 |
+
"Overrides the WordPress Reading settings for \"Blog pages show at most\""
|
2165 |
+
msgstr ""
|
2166 |
+
"Obchádza nastavenie čítania WordPress pre \"Najčastejšie zobrazované stránky "
|
2167 |
+
"blogu\""
|
2168 |
+
|
2169 |
+
#: themes/foundation/root-functions.php:350
|
2170 |
+
msgid "Excluded categories"
|
2171 |
+
msgstr "Vynechať kategórie"
|
2172 |
+
|
2173 |
+
#: themes/foundation/root-functions.php:351
|
2174 |
+
msgid "Comma separated by category name"
|
2175 |
+
msgstr "Kategórie oddeľujte čiarkami"
|
2176 |
+
|
2177 |
+
#: themes/foundation/root-functions.php:358
|
2178 |
+
msgid "Excluded tags"
|
2179 |
+
msgstr "Vynechané nzačky"
|
2180 |
+
|
2181 |
+
#: themes/foundation/root-functions.php:359
|
2182 |
+
msgid "Comma separated by tag name"
|
2183 |
+
msgstr "Značky oddeľujte čiarkami"
|
2184 |
+
|
2185 |
+
#: themes/foundation/root-functions.php:369
|
2186 |
+
msgid "Blog"
|
2187 |
+
msgstr "Blog"
|
2188 |
+
|
2189 |
+
#: themes/foundation/root-functions.php:380
|
2190 |
+
msgid "Show comments on pages"
|
2191 |
+
msgstr "Zobraziť komentáre na stránkach"
|
2192 |
+
|
2193 |
+
#: themes/foundation/root-functions.php:381
|
2194 |
+
msgid "Overrides the WordPress settings for showing comments on pages."
|
2195 |
+
msgstr "Obíde nastavenie WordPress o zobrazení komentárov"
|
2196 |
+
|
2197 |
+
#: themes/foundation/root-functions.php:391
|
2198 |
+
#: themes/foundation/root-functions.php:1136
|
2199 |
+
msgid "Pages"
|
2200 |
+
msgstr "Stránky"
|
2201 |
+
|
2202 |
+
#: themes/foundation/root-functions.php:404
|
2203 |
+
msgid "Icon Title"
|
2204 |
+
msgstr "Nadpis ikonky"
|
2205 |
+
|
2206 |
+
#: themes/foundation/root-functions.php:410
|
2207 |
+
msgid "Icon title"
|
2208 |
+
msgstr "Nadpis ikonky"
|
2209 |
+
|
2210 |
+
#: themes/foundation/root-functions.php:411
|
2211 |
+
msgid "When visitors bookmark your website, this will be the title shown."
|
2212 |
+
msgstr "Keď si návštevník uloží vašu stránku, tento názov bude mať uložený."
|
2213 |
+
|
2214 |
+
#: themes/foundation/root-functions.php:422
|
2215 |
+
msgid "Android"
|
2216 |
+
msgstr "Android"
|
2217 |
+
|
2218 |
+
#: themes/foundation/root-functions.php:440
|
2219 |
+
msgid "iPhone & iPod touch"
|
2220 |
+
msgstr "iPhone a iPod touch"
|
2221 |
+
|
2222 |
+
#: themes/foundation/root-functions.php:476
|
2223 |
+
msgid "Theme Colors"
|
2224 |
+
msgstr "Farby témy"
|
2225 |
+
|
2226 |
+
#: themes/foundation/root-functions.php:488
|
2227 |
+
msgid "(Scaled by themes to fit logo areas as needed)"
|
2228 |
+
msgstr "(Škálované témou podľa rozmerov pre logo)"
|
2229 |
+
|
2230 |
+
#: themes/foundation/root-functions.php:499
|
2231 |
+
msgid "Site Logo"
|
2232 |
+
msgstr "Logo stránky"
|
2233 |
+
|
2234 |
+
#: themes/foundation/root-functions.php:508
|
2235 |
+
msgid "Smart App Banner"
|
2236 |
+
msgstr "Baner Smart App"
|
2237 |
+
|
2238 |
+
#: themes/foundation/root-functions.php:514
|
2239 |
+
msgid "Enter your app's %sApp Store ID%s"
|
2240 |
+
msgstr "Zadajte vaše %sID z App Store%s"
|
2241 |
+
|
2242 |
+
#: themes/foundation/root-functions.php:515
|
2243 |
+
msgid ""
|
2244 |
+
"Your app's unique identifier. Find your ID from the iTunes Link Maker: "
|
2245 |
+
"Search for your app. In the link it provides, your app ID is the nine-digit "
|
2246 |
+
"number in between id and ?mt. For example Angry Birds's ID is 343200656."
|
2247 |
+
msgstr ""
|
2248 |
+
"Unikátny identifikátor vašej aplikácie. Nájdete ho v Tvorcovi liniek iTunes. "
|
2249 |
+
"Nájdite vašu aplikáciu, v jej odkaze sa nachádza 9 miestne číslo medzi id a ?"
|
2250 |
+
"mt, Napríklad ID Angry Birds je 343200656."
|
2251 |
+
|
2252 |
+
#: themes/foundation/root-functions.php:527
|
2253 |
+
msgid "Theme Footer"
|
2254 |
+
msgstr "Pätička témy"
|
2255 |
+
|
2256 |
+
#: themes/foundation/root-functions.php:530
|
2257 |
+
msgid "Custom footer content (HTML is allowed)"
|
2258 |
+
msgstr "Vlastný obsah do pätičky (je povolené HTML)"
|
2259 |
+
|
2260 |
+
#: themes/foundation/root-functions.php:530
|
2261 |
+
msgid ""
|
2262 |
+
"You can add custom footer content that will be displayed below the switch "
|
2263 |
+
"link."
|
2264 |
+
msgstr "Môžete zadať vlastný obsah pod odkaz na prepnutie stránky."
|
2265 |
+
|
2266 |
+
#: themes/foundation/root-functions.php:916
|
2267 |
+
msgid "search results for '%s'"
|
2268 |
+
msgstr "Výsledky vyhľadávania pre '%s'"
|
2269 |
+
|
2270 |
+
#: themes/foundation/root-functions.php:918
|
2271 |
+
msgid "%sCategories ›%s %s"
|
2272 |
+
msgstr "%sKategórie ›%s %s"
|
2273 |
+
|
2274 |
+
#: themes/foundation/root-functions.php:920
|
2275 |
+
msgid "Tags › %s"
|
2276 |
+
msgstr "Značky › %s"
|
2277 |
+
|
2278 |
+
#: themes/foundation/root-functions.php:922
|
2279 |
+
#: themes/foundation/root-functions.php:924
|
2280 |
+
#: themes/foundation/root-functions.php:926
|
2281 |
+
msgid "Archives › %s"
|
2282 |
+
msgstr "Archív › %s"
|
2283 |
+
|
2284 |
+
#: themes/foundation/root-functions.php:941
|
2285 |
+
msgid "Load more from this category"
|
2286 |
+
msgstr "Načítať viac z tejto kategórie"
|
2287 |
+
|
2288 |
+
#: themes/foundation/root-functions.php:943
|
2289 |
+
msgid "Load more tagged like this"
|
2290 |
+
msgstr "Načítať viac s rovnakou značkou"
|
2291 |
+
|
2292 |
+
#: themes/foundation/root-functions.php:945
|
2293 |
+
msgid "Load more from this day"
|
2294 |
+
msgstr "Načítať viac z tohto dňa"
|
2295 |
+
|
2296 |
+
#: themes/foundation/root-functions.php:947
|
2297 |
+
msgid "Load more from this month"
|
2298 |
+
msgstr "Načítať viac z tohto mesiaca"
|
2299 |
+
|
2300 |
+
#: themes/foundation/root-functions.php:949
|
2301 |
+
msgid "Load more from this year"
|
2302 |
+
msgstr "Načítať viac z tohto roku"
|
2303 |
+
|
2304 |
+
#: themes/foundation/root-functions.php:951
|
2305 |
+
msgid "Load more in this section"
|
2306 |
+
msgstr "Načítať viac z tohto výberu"
|
2307 |
+
|
2308 |
+
#: themes/foundation/root-functions.php:953
|
2309 |
+
msgid "Load more entries"
|
2310 |
+
msgstr "Načítať viac položiek"
|
2311 |
+
|
2312 |
+
#: themes/foundation/root-functions.php:1085
|
2313 |
+
msgid "Post"
|
2314 |
+
msgstr "Článok"
|
2315 |
+
|
2316 |
+
#: themes/foundation/root-functions.php:1087
|
2317 |
+
msgid "Page"
|
2318 |
+
msgstr "Stránka"
|
2319 |
+
|
2320 |
+
#. Plugin Name of the plugin/theme
|
2321 |
+
msgid "WPtouch Mobile Plugin"
|
2322 |
+
msgstr "Modul WPtouch Mobile"
|
2323 |
+
|
2324 |
+
#. Plugin URI of the plugin/theme
|
2325 |
+
#. Author URI of the plugin/theme
|
2326 |
+
msgid "http://www.wptouch.com/"
|
2327 |
+
msgstr "http://www.wptouch.com/"
|
2328 |
+
|
2329 |
+
#. Description of the plugin/theme
|
2330 |
+
msgid "Create a slick mobile WordPress website with just a few clicks"
|
2331 |
+
msgstr "Vytvorí mobilnú verziu WordPress stránky pár kliknutiami"
|
2332 |
+
|
2333 |
+
#. Author of the plugin/theme
|
2334 |
+
msgid "BraveNewCode Inc."
|
2335 |
+
msgstr "BraveNewCode Inc."
|
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 3.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
|
7 |
-
"POT-Creation-Date: 2014-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -90,7 +90,7 @@ msgstr ""
|
|
90 |
|
91 |
#: admin/pages/custom/wptouch-admin-license.php:25
|
92 |
#: admin/settings/html/extension-browser-item.php:89
|
93 |
-
#: admin/settings/html/theme-browser-item.php:
|
94 |
msgid "Activate"
|
95 |
msgstr ""
|
96 |
|
@@ -470,6 +470,7 @@ msgstr ""
|
|
470 |
|
471 |
#: admin/pages/wptouch-admin-general-settings.php:411
|
472 |
#: admin/settings/html/button.php:5 admin/settings/html/checkbox.php:6
|
|
|
473 |
#: admin/settings/html/custom-latest-posts.php:4
|
474 |
#: admin/settings/html/list.php:16 admin/settings/html/numeric.php:12
|
475 |
#: admin/settings/html/post_type.php:13 admin/settings/html/radiolist.php:13
|
@@ -550,6 +551,7 @@ msgid "Restore Backup File"
|
|
550 |
msgstr ""
|
551 |
|
552 |
#: admin/settings/html/button.php:6 admin/settings/html/checkbox.php:7
|
|
|
553 |
#: admin/settings/html/custom-latest-posts.php:8
|
554 |
#: admin/settings/html/list.php:20 admin/settings/html/numeric.php:16
|
555 |
#: admin/settings/html/post_type.php:14 admin/settings/html/radiolist.php:15
|
@@ -579,7 +581,7 @@ msgstr ""
|
|
579 |
|
580 |
#: admin/settings/html/custom_icon_management.php:12
|
581 |
#: admin/settings/html/image-upload.php:13
|
582 |
-
#: admin/settings/html/theme-browser-item.php:
|
583 |
msgid "Delete"
|
584 |
msgstr ""
|
585 |
|
@@ -588,7 +590,7 @@ msgid "Upload Icon"
|
|
588 |
msgstr ""
|
589 |
|
590 |
#: admin/settings/html/custom_icon_upload.php:4
|
591 |
-
#: admin/settings/html/image-upload.php:15 core/class-wptouch-pro.php:
|
592 |
msgid "Upload Complete!"
|
593 |
msgstr ""
|
594 |
|
@@ -605,7 +607,7 @@ msgid "Your Server Configuration"
|
|
605 |
msgstr ""
|
606 |
|
607 |
#: admin/settings/html/extension-browser-item.php:37
|
608 |
-
#: admin/settings/html/theme-browser-item.php:
|
609 |
msgid "Updating..."
|
610 |
msgstr ""
|
611 |
|
@@ -614,14 +616,14 @@ msgid "Upgrade to %s"
|
|
614 |
msgstr ""
|
615 |
|
616 |
#: admin/settings/html/extension-browser-item.php:39
|
617 |
-
#: admin/settings/html/theme-browser-item.php:
|
618 |
msgid "Download %s Update"
|
619 |
msgstr ""
|
620 |
|
621 |
#: admin/settings/html/extension-browser-item.php:47
|
622 |
#: admin/settings/html/installed_icon_sets_ajax.php:8
|
623 |
#: admin/settings/html/installed_icon_sets_ajax.php:20
|
624 |
-
#: admin/settings/html/theme-browser-item.php:
|
625 |
msgid "by %s"
|
626 |
msgstr ""
|
627 |
|
@@ -630,48 +632,48 @@ msgid "Extension location: %s"
|
|
630 |
msgstr ""
|
631 |
|
632 |
#: admin/settings/html/extension-browser-item.php:54
|
633 |
-
#: admin/settings/html/theme-browser-item.php:
|
634 |
msgid "Relative to your WordPress wp-content directory."
|
635 |
msgstr ""
|
636 |
|
637 |
#: admin/settings/html/extension-browser-item.php:63
|
638 |
-
#: admin/settings/html/theme-browser-item.php:
|
639 |
msgid "Available in WPtouch Pro"
|
640 |
msgstr ""
|
641 |
|
642 |
#: admin/settings/html/extension-browser-item.php:67
|
643 |
-
#: admin/settings/html/theme-browser-item.php:
|
644 |
msgid "More Info"
|
645 |
msgstr ""
|
646 |
|
647 |
#: admin/settings/html/extension-browser-item.php:70
|
648 |
-
#: admin/settings/html/theme-browser-item.php:
|
649 |
msgid "Upgrade License"
|
650 |
msgstr ""
|
651 |
|
652 |
#: admin/settings/html/extension-browser-item.php:72
|
653 |
-
#: admin/settings/html/theme-browser-item.php:
|
654 |
msgid "Get License"
|
655 |
msgstr ""
|
656 |
|
657 |
#: admin/settings/html/extension-browser-item.php:80
|
658 |
-
#: admin/settings/html/theme-browser-item.php:
|
659 |
msgid "Downloading..."
|
660 |
msgstr ""
|
661 |
|
662 |
#: admin/settings/html/extension-browser-item.php:80
|
663 |
#: admin/settings/html/installed_icon_sets_ajax.php:21
|
664 |
-
#: admin/settings/html/theme-browser-item.php:
|
665 |
msgid "Install"
|
666 |
msgstr ""
|
667 |
|
668 |
#: admin/settings/html/extension-browser-item.php:82
|
669 |
-
#: admin/settings/html/theme-browser-item.php:
|
670 |
msgid "Download"
|
671 |
msgstr ""
|
672 |
|
673 |
#: admin/settings/html/extension-browser-item.php:92
|
674 |
-
#: admin/settings/html/theme-browser-item.php:
|
675 |
msgid "Setup"
|
676 |
msgstr ""
|
677 |
|
@@ -759,8 +761,8 @@ msgid ""
|
|
759 |
msgstr ""
|
760 |
|
761 |
#: admin/settings/html/installed_icon_sets_ajax.php:4
|
762 |
-
#: core/class-wptouch-pro.php:
|
763 |
-
#: core/config.php:
|
764 |
msgid "Custom Icons"
|
765 |
msgstr ""
|
766 |
|
@@ -812,32 +814,32 @@ msgid ""
|
|
812 |
"Please paste your encoded settings below and save to restore your settings."
|
813 |
msgstr ""
|
814 |
|
815 |
-
#: admin/settings/html/theme-browser-item.php:6
|
816 |
#: admin/settings/html/theme-browser-item.php:10
|
|
|
817 |
msgid "Click to view screenshots"
|
818 |
msgstr ""
|
819 |
|
820 |
-
#: admin/settings/html/theme-browser-item.php:
|
821 |
msgid "Update to %s"
|
822 |
msgstr ""
|
823 |
|
824 |
-
#: admin/settings/html/theme-browser-item.php:
|
825 |
msgid "This theme supports %s devices"
|
826 |
msgstr ""
|
827 |
|
828 |
-
#: admin/settings/html/theme-browser-item.php:
|
829 |
msgid "Theme location: %s"
|
830 |
msgstr ""
|
831 |
|
832 |
-
#: admin/settings/html/theme-browser-item.php:
|
833 |
msgid "Buy Now"
|
834 |
msgstr ""
|
835 |
|
836 |
-
#: admin/settings/html/theme-browser-item.php:
|
837 |
msgid "Copy"
|
838 |
msgstr ""
|
839 |
|
840 |
-
#: admin/settings/html/theme-browser.php:
|
841 |
msgid "Loading Cloud Themes"
|
842 |
msgstr ""
|
843 |
|
@@ -964,7 +966,7 @@ msgstr ""
|
|
964 |
msgid "Upgrade to Pro"
|
965 |
msgstr ""
|
966 |
|
967 |
-
#: core/admin-page-templates.php:
|
968 |
msgid "Mobile Page Template"
|
969 |
msgstr ""
|
970 |
|
@@ -998,82 +1000,86 @@ msgstr ""
|
|
998 |
msgid "Reset Settings"
|
999 |
msgstr ""
|
1000 |
|
1001 |
-
#: core/class-wptouch-pro.php:
|
1002 |
msgid ""
|
1003 |
"Automatic theme migration from uploads/wptouch-data directory failed. Please "
|
1004 |
"manually move these files to wp-content/wptouch-data, or %scontact support%s "
|
1005 |
"to address this issue."
|
1006 |
msgstr ""
|
1007 |
|
1008 |
-
#: core/class-wptouch-pro.php:
|
1009 |
msgid ""
|
1010 |
"We were unable to install your WPtouch theme from the Cloud. Please visit %"
|
1011 |
"sthis article%s for more information."
|
1012 |
msgstr ""
|
1013 |
|
1014 |
-
#: core/class-wptouch-pro.php:
|
1015 |
msgid ""
|
1016 |
"Your server setup is preventing WPtouch from installing your active theme "
|
1017 |
"from the Cloud. Please visit %sthis article%s for more information on how to "
|
1018 |
"fix it."
|
1019 |
msgstr ""
|
1020 |
|
1021 |
-
#: core/class-wptouch-pro.php:
|
1022 |
msgid "Unsupported Browser"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
-
#: core/class-wptouch-pro.php:
|
1026 |
msgid "Theme Preview requires Chrome or Safari."
|
1027 |
msgstr ""
|
1028 |
|
1029 |
-
#: core/class-wptouch-pro.php:
|
1030 |
msgid ""
|
1031 |
"This will reset all WPtouch Pro settings.\n"
|
1032 |
"Are you sure?"
|
1033 |
msgstr ""
|
1034 |
|
1035 |
-
#: core/class-wptouch-pro.php:
|
1036 |
msgid ""
|
1037 |
"This will reset all WPtouch Pro menu and icon settings.\n"
|
1038 |
"Are you sure?"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
-
#: core/class-wptouch-pro.php:
|
1042 |
msgid "Offline"
|
1043 |
msgstr ""
|
1044 |
|
1045 |
-
#: core/class-wptouch-pro.php:
|
1046 |
msgid ""
|
1047 |
"You appear to be offline. Connect to the internet to see available "
|
1048 |
"BraveNewCloud items."
|
1049 |
msgstr ""
|
1050 |
|
1051 |
-
#: core/class-wptouch-pro.php:
|
1052 |
msgid "The item failed to download for this reason: %reason%"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: core/class-wptouch-pro.php:
|
1056 |
msgid "You are about to reset your license information. Proceed?"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: core/class-wptouch-pro.php:
|
1060 |
msgid "Upload Failed: Not a valid image."
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: core/class-wptouch-pro.php:
|
|
|
|
|
|
|
|
|
1064 |
#: themes/foundation/modules/webapp/webapp.php:12
|
1065 |
msgid "Settings"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
-
#: core/class-wptouch-pro.php:
|
1069 |
msgid "%s Changelog"
|
1070 |
msgstr ""
|
1071 |
|
1072 |
-
#: core/class-wptouch-pro.php:
|
1073 |
msgid "Directory Problem"
|
1074 |
msgstr ""
|
1075 |
|
1076 |
-
#: core/class-wptouch-pro.php:
|
1077 |
msgid "One or more required directories could not be created"
|
1078 |
msgstr ""
|
1079 |
|
@@ -1495,7 +1501,7 @@ msgstr ""
|
|
1495 |
msgid "older posts"
|
1496 |
msgstr ""
|
1497 |
|
1498 |
-
#: themes/foundation/default/one-comment.php:
|
1499 |
msgid "Your comment is awaiting moderation"
|
1500 |
msgstr ""
|
1501 |
|
@@ -1946,11 +1952,13 @@ msgstr ""
|
|
1946 |
#: themes/foundation/modules/webapp/webapp.php:91
|
1947 |
#: themes/foundation/modules/webapp/webapp.php:109
|
1948 |
#: themes/foundation/modules/webapp/webapp.php:128
|
1949 |
-
#: themes/foundation/modules/webapp/webapp.php:
|
1950 |
-
#: themes/foundation/modules/webapp/webapp.php:
|
1951 |
-
#: themes/foundation/modules/webapp/webapp.php:
|
1952 |
-
#: themes/foundation/
|
1953 |
-
#: themes/foundation/
|
|
|
|
|
1954 |
msgid "%d by %d pixels (PNG)"
|
1955 |
msgstr ""
|
1956 |
|
@@ -1999,8 +2007,8 @@ msgstr ""
|
|
1999 |
|
2000 |
#: themes/foundation/modules/webapp/webapp.php:44
|
2001 |
msgid ""
|
2002 |
-
"[
|
2003 |
-
"
|
2004 |
msgstr ""
|
2005 |
|
2006 |
#: themes/foundation/modules/webapp/webapp.php:48
|
@@ -2036,10 +2044,18 @@ msgid "iPhone 5 Startup Screen"
|
|
2036 |
msgstr ""
|
2037 |
|
2038 |
#: themes/foundation/modules/webapp/webapp.php:122
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2039 |
msgid "iPad Mini and iPad Startup Screens"
|
2040 |
msgstr ""
|
2041 |
|
2042 |
-
#: themes/foundation/modules/webapp/webapp.php:
|
2043 |
msgid "Retina iPad Startup Screens"
|
2044 |
msgstr ""
|
2045 |
|
@@ -2073,155 +2089,164 @@ msgstr ""
|
|
2073 |
|
2074 |
#: themes/foundation/root-functions.php:139
|
2075 |
msgid ""
|
2076 |
-
"Install this Web-App on your
|
|
|
2077 |
msgstr ""
|
2078 |
|
2079 |
-
#: themes/foundation/root-functions.php:
|
2080 |
msgid "Number of posts in post listings"
|
2081 |
msgstr ""
|
2082 |
|
2083 |
-
#: themes/foundation/root-functions.php:
|
2084 |
msgid ""
|
2085 |
"Overrides the WordPress Reading settings for \"Blog pages show at most\""
|
2086 |
msgstr ""
|
2087 |
|
2088 |
-
#: themes/foundation/root-functions.php:
|
2089 |
msgid "Excluded categories"
|
2090 |
msgstr ""
|
2091 |
|
2092 |
-
#: themes/foundation/root-functions.php:
|
2093 |
msgid "Comma separated by category name"
|
2094 |
msgstr ""
|
2095 |
|
2096 |
-
#: themes/foundation/root-functions.php:
|
2097 |
msgid "Excluded tags"
|
2098 |
msgstr ""
|
2099 |
|
2100 |
-
#: themes/foundation/root-functions.php:
|
2101 |
msgid "Comma separated by tag name"
|
2102 |
msgstr ""
|
2103 |
|
2104 |
#: themes/foundation/root-functions.php:369
|
2105 |
-
msgid "
|
|
|
|
|
|
|
|
|
2106 |
msgstr ""
|
2107 |
|
2108 |
#: themes/foundation/root-functions.php:380
|
|
|
|
|
|
|
|
|
2109 |
msgid "Show comments on pages"
|
2110 |
msgstr ""
|
2111 |
|
2112 |
-
#: themes/foundation/root-functions.php:
|
2113 |
msgid "Overrides the WordPress settings for showing comments on pages."
|
2114 |
msgstr ""
|
2115 |
|
2116 |
-
#: themes/foundation/root-functions.php:
|
2117 |
#: themes/foundation/root-functions.php:1136
|
2118 |
msgid "Pages"
|
2119 |
msgstr ""
|
2120 |
|
2121 |
-
#: themes/foundation/root-functions.php:
|
2122 |
msgid "Icon Title"
|
2123 |
msgstr ""
|
2124 |
|
2125 |
-
#: themes/foundation/root-functions.php:
|
2126 |
msgid "Icon title"
|
2127 |
msgstr ""
|
2128 |
|
2129 |
-
#: themes/foundation/root-functions.php:
|
2130 |
msgid "When visitors bookmark your website, this will be the title shown."
|
2131 |
msgstr ""
|
2132 |
|
2133 |
-
#: themes/foundation/root-functions.php:
|
2134 |
msgid "Android"
|
2135 |
msgstr ""
|
2136 |
|
2137 |
-
#: themes/foundation/root-functions.php:
|
2138 |
msgid "iPhone & iPod touch"
|
2139 |
msgstr ""
|
2140 |
|
2141 |
-
#: themes/foundation/root-functions.php:
|
2142 |
msgid "Theme Colors"
|
2143 |
msgstr ""
|
2144 |
|
2145 |
-
#: themes/foundation/root-functions.php:
|
2146 |
msgid "(Scaled by themes to fit logo areas as needed)"
|
2147 |
msgstr ""
|
2148 |
|
2149 |
-
#: themes/foundation/root-functions.php:
|
2150 |
msgid "Site Logo"
|
2151 |
msgstr ""
|
2152 |
|
2153 |
-
#: themes/foundation/root-functions.php:
|
2154 |
msgid "Smart App Banner"
|
2155 |
msgstr ""
|
2156 |
|
2157 |
-
#: themes/foundation/root-functions.php:
|
2158 |
msgid "Enter your app's %sApp Store ID%s"
|
2159 |
msgstr ""
|
2160 |
|
2161 |
-
#: themes/foundation/root-functions.php:
|
2162 |
msgid ""
|
2163 |
"Your app's unique identifier. Find your ID from the iTunes Link Maker: "
|
2164 |
"Search for your app. In the link it provides, your app ID is the nine-digit "
|
2165 |
"number in between id and ?mt. For example Angry Birds's ID is 343200656."
|
2166 |
msgstr ""
|
2167 |
|
2168 |
-
#: themes/foundation/root-functions.php:
|
2169 |
msgid "Theme Footer"
|
2170 |
msgstr ""
|
2171 |
|
2172 |
-
#: themes/foundation/root-functions.php:
|
2173 |
msgid "Custom footer content (HTML is allowed)"
|
2174 |
msgstr ""
|
2175 |
|
2176 |
-
#: themes/foundation/root-functions.php:
|
2177 |
msgid ""
|
2178 |
"You can add custom footer content that will be displayed below the switch "
|
2179 |
"link."
|
2180 |
msgstr ""
|
2181 |
|
2182 |
-
#: themes/foundation/root-functions.php:
|
2183 |
msgid "search results for '%s'"
|
2184 |
msgstr ""
|
2185 |
|
2186 |
-
#: themes/foundation/root-functions.php:
|
2187 |
msgid "%sCategories ›%s %s"
|
2188 |
msgstr ""
|
2189 |
|
2190 |
-
#: themes/foundation/root-functions.php:
|
2191 |
msgid "Tags › %s"
|
2192 |
msgstr ""
|
2193 |
|
|
|
2194 |
#: themes/foundation/root-functions.php:922
|
2195 |
#: themes/foundation/root-functions.php:924
|
2196 |
-
#: themes/foundation/root-functions.php:926
|
2197 |
msgid "Archives › %s"
|
2198 |
msgstr ""
|
2199 |
|
2200 |
-
#: themes/foundation/root-functions.php:
|
2201 |
msgid "Load more from this category"
|
2202 |
msgstr ""
|
2203 |
|
2204 |
-
#: themes/foundation/root-functions.php:
|
2205 |
msgid "Load more tagged like this"
|
2206 |
msgstr ""
|
2207 |
|
2208 |
-
#: themes/foundation/root-functions.php:
|
2209 |
msgid "Load more from this day"
|
2210 |
msgstr ""
|
2211 |
|
2212 |
-
#: themes/foundation/root-functions.php:
|
2213 |
msgid "Load more from this month"
|
2214 |
msgstr ""
|
2215 |
|
2216 |
-
#: themes/foundation/root-functions.php:
|
2217 |
msgid "Load more from this year"
|
2218 |
msgstr ""
|
2219 |
|
2220 |
-
#: themes/foundation/root-functions.php:
|
2221 |
msgid "Load more in this section"
|
2222 |
msgstr ""
|
2223 |
|
2224 |
-
#: themes/foundation/root-functions.php:
|
2225 |
msgid "Load more entries"
|
2226 |
msgstr ""
|
2227 |
|
@@ -2237,9 +2262,9 @@ msgstr ""
|
|
2237 |
msgid "WPtouch Mobile Plugin"
|
2238 |
msgstr ""
|
2239 |
|
2240 |
-
#. #-#-#-#-# wptouch.pot (WPtouch Mobile Plugin 3.
|
2241 |
#. Plugin URI of the plugin/theme
|
2242 |
-
#. #-#-#-#-# wptouch.pot (WPtouch Mobile Plugin 3.
|
2243 |
#. Author URI of the plugin/theme
|
2244 |
msgid "http://www.wptouch.com/"
|
2245 |
msgstr ""
|
2 |
# This file is distributed under the same license as the WPtouch Mobile Plugin package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: WPtouch Mobile Plugin 3.5.3\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wptouch\n"
|
7 |
+
"POT-Creation-Date: 2014-10-10 14:28:19+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
90 |
|
91 |
#: admin/pages/custom/wptouch-admin-license.php:25
|
92 |
#: admin/settings/html/extension-browser-item.php:89
|
93 |
+
#: admin/settings/html/theme-browser-item.php:136
|
94 |
msgid "Activate"
|
95 |
msgstr ""
|
96 |
|
470 |
|
471 |
#: admin/pages/wptouch-admin-general-settings.php:411
|
472 |
#: admin/settings/html/button.php:5 admin/settings/html/checkbox.php:6
|
473 |
+
#: admin/settings/html/checklist.php:13
|
474 |
#: admin/settings/html/custom-latest-posts.php:4
|
475 |
#: admin/settings/html/list.php:16 admin/settings/html/numeric.php:12
|
476 |
#: admin/settings/html/post_type.php:13 admin/settings/html/radiolist.php:13
|
551 |
msgstr ""
|
552 |
|
553 |
#: admin/settings/html/button.php:6 admin/settings/html/checkbox.php:7
|
554 |
+
#: admin/settings/html/checklist.php:15
|
555 |
#: admin/settings/html/custom-latest-posts.php:8
|
556 |
#: admin/settings/html/list.php:20 admin/settings/html/numeric.php:16
|
557 |
#: admin/settings/html/post_type.php:14 admin/settings/html/radiolist.php:15
|
581 |
|
582 |
#: admin/settings/html/custom_icon_management.php:12
|
583 |
#: admin/settings/html/image-upload.php:13
|
584 |
+
#: admin/settings/html/theme-browser-item.php:144
|
585 |
msgid "Delete"
|
586 |
msgstr ""
|
587 |
|
590 |
msgstr ""
|
591 |
|
592 |
#: admin/settings/html/custom_icon_upload.php:4
|
593 |
+
#: admin/settings/html/image-upload.php:15 core/class-wptouch-pro.php:598
|
594 |
msgid "Upload Complete!"
|
595 |
msgstr ""
|
596 |
|
607 |
msgstr ""
|
608 |
|
609 |
#: admin/settings/html/extension-browser-item.php:37
|
610 |
+
#: admin/settings/html/theme-browser-item.php:56
|
611 |
msgid "Updating..."
|
612 |
msgstr ""
|
613 |
|
616 |
msgstr ""
|
617 |
|
618 |
#: admin/settings/html/extension-browser-item.php:39
|
619 |
+
#: admin/settings/html/theme-browser-item.php:61
|
620 |
msgid "Download %s Update"
|
621 |
msgstr ""
|
622 |
|
623 |
#: admin/settings/html/extension-browser-item.php:47
|
624 |
#: admin/settings/html/installed_icon_sets_ajax.php:8
|
625 |
#: admin/settings/html/installed_icon_sets_ajax.php:20
|
626 |
+
#: admin/settings/html/theme-browser-item.php:75
|
627 |
msgid "by %s"
|
628 |
msgstr ""
|
629 |
|
632 |
msgstr ""
|
633 |
|
634 |
#: admin/settings/html/extension-browser-item.php:54
|
635 |
+
#: admin/settings/html/theme-browser-item.php:83
|
636 |
msgid "Relative to your WordPress wp-content directory."
|
637 |
msgstr ""
|
638 |
|
639 |
#: admin/settings/html/extension-browser-item.php:63
|
640 |
+
#: admin/settings/html/theme-browser-item.php:95
|
641 |
msgid "Available in WPtouch Pro"
|
642 |
msgstr ""
|
643 |
|
644 |
#: admin/settings/html/extension-browser-item.php:67
|
645 |
+
#: admin/settings/html/theme-browser-item.php:99
|
646 |
msgid "More Info"
|
647 |
msgstr ""
|
648 |
|
649 |
#: admin/settings/html/extension-browser-item.php:70
|
650 |
+
#: admin/settings/html/theme-browser-item.php:103
|
651 |
msgid "Upgrade License"
|
652 |
msgstr ""
|
653 |
|
654 |
#: admin/settings/html/extension-browser-item.php:72
|
655 |
+
#: admin/settings/html/theme-browser-item.php:105
|
656 |
msgid "Get License"
|
657 |
msgstr ""
|
658 |
|
659 |
#: admin/settings/html/extension-browser-item.php:80
|
660 |
+
#: admin/settings/html/theme-browser-item.php:118
|
661 |
msgid "Downloading..."
|
662 |
msgstr ""
|
663 |
|
664 |
#: admin/settings/html/extension-browser-item.php:80
|
665 |
#: admin/settings/html/installed_icon_sets_ajax.php:21
|
666 |
+
#: admin/settings/html/theme-browser-item.php:119
|
667 |
msgid "Install"
|
668 |
msgstr ""
|
669 |
|
670 |
#: admin/settings/html/extension-browser-item.php:82
|
671 |
+
#: admin/settings/html/theme-browser-item.php:122
|
672 |
msgid "Download"
|
673 |
msgstr ""
|
674 |
|
675 |
#: admin/settings/html/extension-browser-item.php:92
|
676 |
+
#: admin/settings/html/theme-browser-item.php:132
|
677 |
msgid "Setup"
|
678 |
msgstr ""
|
679 |
|
761 |
msgstr ""
|
762 |
|
763 |
#: admin/settings/html/installed_icon_sets_ajax.php:4
|
764 |
+
#: core/class-wptouch-pro.php:1596 core/class-wptouch-pro.php:1597
|
765 |
+
#: core/config.php:54
|
766 |
msgid "Custom Icons"
|
767 |
msgstr ""
|
768 |
|
814 |
"Please paste your encoded settings below and save to restore your settings."
|
815 |
msgstr ""
|
816 |
|
|
|
817 |
#: admin/settings/html/theme-browser-item.php:10
|
818 |
+
#: admin/settings/html/theme-browser-item.php:16
|
819 |
msgid "Click to view screenshots"
|
820 |
msgstr ""
|
821 |
|
822 |
+
#: admin/settings/html/theme-browser-item.php:58
|
823 |
msgid "Update to %s"
|
824 |
msgstr ""
|
825 |
|
826 |
+
#: admin/settings/html/theme-browser-item.php:70
|
827 |
msgid "This theme supports %s devices"
|
828 |
msgstr ""
|
829 |
|
830 |
+
#: admin/settings/html/theme-browser-item.php:82
|
831 |
msgid "Theme location: %s"
|
832 |
msgstr ""
|
833 |
|
834 |
+
#: admin/settings/html/theme-browser-item.php:110
|
835 |
msgid "Buy Now"
|
836 |
msgstr ""
|
837 |
|
838 |
+
#: admin/settings/html/theme-browser-item.php:140
|
839 |
msgid "Copy"
|
840 |
msgstr ""
|
841 |
|
842 |
+
#: admin/settings/html/theme-browser.php:22
|
843 |
msgid "Loading Cloud Themes"
|
844 |
msgstr ""
|
845 |
|
966 |
msgid "Upgrade to Pro"
|
967 |
msgstr ""
|
968 |
|
969 |
+
#: core/admin-page-templates.php:17
|
970 |
msgid "Mobile Page Template"
|
971 |
msgstr ""
|
972 |
|
1000 |
msgid "Reset Settings"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
+
#: core/class-wptouch-pro.php:354
|
1004 |
msgid ""
|
1005 |
"Automatic theme migration from uploads/wptouch-data directory failed. Please "
|
1006 |
"manually move these files to wp-content/wptouch-data, or %scontact support%s "
|
1007 |
"to address this issue."
|
1008 |
msgstr ""
|
1009 |
|
1010 |
+
#: core/class-wptouch-pro.php:374
|
1011 |
msgid ""
|
1012 |
"We were unable to install your WPtouch theme from the Cloud. Please visit %"
|
1013 |
"sthis article%s for more information."
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: core/class-wptouch-pro.php:378
|
1017 |
msgid ""
|
1018 |
"Your server setup is preventing WPtouch from installing your active theme "
|
1019 |
"from the Cloud. Please visit %sthis article%s for more information on how to "
|
1020 |
"fix it."
|
1021 |
msgstr ""
|
1022 |
|
1023 |
+
#: core/class-wptouch-pro.php:590
|
1024 |
msgid "Unsupported Browser"
|
1025 |
msgstr ""
|
1026 |
|
1027 |
+
#: core/class-wptouch-pro.php:591
|
1028 |
msgid "Theme Preview requires Chrome or Safari."
|
1029 |
msgstr ""
|
1030 |
|
1031 |
+
#: core/class-wptouch-pro.php:592
|
1032 |
msgid ""
|
1033 |
"This will reset all WPtouch Pro settings.\n"
|
1034 |
"Are you sure?"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
+
#: core/class-wptouch-pro.php:593
|
1038 |
msgid ""
|
1039 |
"This will reset all WPtouch Pro menu and icon settings.\n"
|
1040 |
"Are you sure?"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
+
#: core/class-wptouch-pro.php:594
|
1044 |
msgid "Offline"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
+
#: core/class-wptouch-pro.php:595
|
1048 |
msgid ""
|
1049 |
"You appear to be offline. Connect to the internet to see available "
|
1050 |
"BraveNewCloud items."
|
1051 |
msgstr ""
|
1052 |
|
1053 |
+
#: core/class-wptouch-pro.php:596
|
1054 |
msgid "The item failed to download for this reason: %reason%"
|
1055 |
msgstr ""
|
1056 |
|
1057 |
+
#: core/class-wptouch-pro.php:597
|
1058 |
msgid "You are about to reset your license information. Proceed?"
|
1059 |
msgstr ""
|
1060 |
|
1061 |
+
#: core/class-wptouch-pro.php:599
|
1062 |
msgid "Upload Failed: Not a valid image."
|
1063 |
msgstr ""
|
1064 |
|
1065 |
+
#: core/class-wptouch-pro.php:600
|
1066 |
+
msgid "Click to view theme demo"
|
1067 |
+
msgstr ""
|
1068 |
+
|
1069 |
+
#: core/class-wptouch-pro.php:1167
|
1070 |
#: themes/foundation/modules/webapp/webapp.php:12
|
1071 |
msgid "Settings"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
+
#: core/class-wptouch-pro.php:1203
|
1075 |
msgid "%s Changelog"
|
1076 |
msgstr ""
|
1077 |
|
1078 |
+
#: core/class-wptouch-pro.php:2377
|
1079 |
msgid "Directory Problem"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: core/class-wptouch-pro.php:2378
|
1083 |
msgid "One or more required directories could not be created"
|
1084 |
msgstr ""
|
1085 |
|
1501 |
msgid "older posts"
|
1502 |
msgstr ""
|
1503 |
|
1504 |
+
#: themes/foundation/default/one-comment.php:17
|
1505 |
msgid "Your comment is awaiting moderation"
|
1506 |
msgstr ""
|
1507 |
|
1952 |
#: themes/foundation/modules/webapp/webapp.php:91
|
1953 |
#: themes/foundation/modules/webapp/webapp.php:109
|
1954 |
#: themes/foundation/modules/webapp/webapp.php:128
|
1955 |
+
#: themes/foundation/modules/webapp/webapp.php:146
|
1956 |
+
#: themes/foundation/modules/webapp/webapp.php:165
|
1957 |
+
#: themes/foundation/modules/webapp/webapp.php:173
|
1958 |
+
#: themes/foundation/modules/webapp/webapp.php:191
|
1959 |
+
#: themes/foundation/modules/webapp/webapp.php:199
|
1960 |
+
#: themes/foundation/root-functions.php:439
|
1961 |
+
#: themes/foundation/root-functions.php:457
|
1962 |
msgid "%d by %d pixels (PNG)"
|
1963 |
msgstr ""
|
1964 |
|
2007 |
|
2008 |
#: themes/foundation/modules/webapp/webapp.php:44
|
2009 |
msgid ""
|
2010 |
+
"[icon] is used to display the appropriate bookmark icon for your device. Do "
|
2011 |
+
"not remove it from your message."
|
2012 |
msgstr ""
|
2013 |
|
2014 |
#: themes/foundation/modules/webapp/webapp.php:48
|
2044 |
msgstr ""
|
2045 |
|
2046 |
#: themes/foundation/modules/webapp/webapp.php:122
|
2047 |
+
msgid "iPhone 6 Startup Screen"
|
2048 |
+
msgstr ""
|
2049 |
+
|
2050 |
+
#: themes/foundation/modules/webapp/webapp.php:140
|
2051 |
+
msgid "iPhone 6+ Startup Screen"
|
2052 |
+
msgstr ""
|
2053 |
+
|
2054 |
+
#: themes/foundation/modules/webapp/webapp.php:159
|
2055 |
msgid "iPad Mini and iPad Startup Screens"
|
2056 |
msgstr ""
|
2057 |
|
2058 |
+
#: themes/foundation/modules/webapp/webapp.php:185
|
2059 |
msgid "Retina iPad Startup Screens"
|
2060 |
msgstr ""
|
2061 |
|
2089 |
|
2090 |
#: themes/foundation/root-functions.php:139
|
2091 |
msgid ""
|
2092 |
+
"Install this Web-App on your homescreen: tap [icon] then \"Add to Home Screen"
|
2093 |
+
"\""
|
2094 |
msgstr ""
|
2095 |
|
2096 |
+
#: themes/foundation/root-functions.php:345
|
2097 |
msgid "Number of posts in post listings"
|
2098 |
msgstr ""
|
2099 |
|
2100 |
+
#: themes/foundation/root-functions.php:346
|
2101 |
msgid ""
|
2102 |
"Overrides the WordPress Reading settings for \"Blog pages show at most\""
|
2103 |
msgstr ""
|
2104 |
|
2105 |
+
#: themes/foundation/root-functions.php:353
|
2106 |
msgid "Excluded categories"
|
2107 |
msgstr ""
|
2108 |
|
2109 |
+
#: themes/foundation/root-functions.php:354
|
2110 |
msgid "Comma separated by category name"
|
2111 |
msgstr ""
|
2112 |
|
2113 |
+
#: themes/foundation/root-functions.php:361
|
2114 |
msgid "Excluded tags"
|
2115 |
msgstr ""
|
2116 |
|
2117 |
+
#: themes/foundation/root-functions.php:362
|
2118 |
msgid "Comma separated by tag name"
|
2119 |
msgstr ""
|
2120 |
|
2121 |
#: themes/foundation/root-functions.php:369
|
2122 |
+
msgid "Allow nested comment replies from mobile visitors"
|
2123 |
+
msgstr ""
|
2124 |
+
|
2125 |
+
#: themes/foundation/root-functions.php:370
|
2126 |
+
msgid "Will show a Reply link after each comment"
|
2127 |
msgstr ""
|
2128 |
|
2129 |
#: themes/foundation/root-functions.php:380
|
2130 |
+
msgid "Blog"
|
2131 |
+
msgstr ""
|
2132 |
+
|
2133 |
+
#: themes/foundation/root-functions.php:391
|
2134 |
msgid "Show comments on pages"
|
2135 |
msgstr ""
|
2136 |
|
2137 |
+
#: themes/foundation/root-functions.php:392
|
2138 |
msgid "Overrides the WordPress settings for showing comments on pages."
|
2139 |
msgstr ""
|
2140 |
|
2141 |
+
#: themes/foundation/root-functions.php:402
|
2142 |
#: themes/foundation/root-functions.php:1136
|
2143 |
msgid "Pages"
|
2144 |
msgstr ""
|
2145 |
|
2146 |
+
#: themes/foundation/root-functions.php:415
|
2147 |
msgid "Icon Title"
|
2148 |
msgstr ""
|
2149 |
|
2150 |
+
#: themes/foundation/root-functions.php:421
|
2151 |
msgid "Icon title"
|
2152 |
msgstr ""
|
2153 |
|
2154 |
+
#: themes/foundation/root-functions.php:422
|
2155 |
msgid "When visitors bookmark your website, this will be the title shown."
|
2156 |
msgstr ""
|
2157 |
|
2158 |
+
#: themes/foundation/root-functions.php:433
|
2159 |
msgid "Android"
|
2160 |
msgstr ""
|
2161 |
|
2162 |
+
#: themes/foundation/root-functions.php:451
|
2163 |
msgid "iPhone & iPod touch"
|
2164 |
msgstr ""
|
2165 |
|
2166 |
+
#: themes/foundation/root-functions.php:487
|
2167 |
msgid "Theme Colors"
|
2168 |
msgstr ""
|
2169 |
|
2170 |
+
#: themes/foundation/root-functions.php:499
|
2171 |
msgid "(Scaled by themes to fit logo areas as needed)"
|
2172 |
msgstr ""
|
2173 |
|
2174 |
+
#: themes/foundation/root-functions.php:510
|
2175 |
msgid "Site Logo"
|
2176 |
msgstr ""
|
2177 |
|
2178 |
+
#: themes/foundation/root-functions.php:519
|
2179 |
msgid "Smart App Banner"
|
2180 |
msgstr ""
|
2181 |
|
2182 |
+
#: themes/foundation/root-functions.php:525
|
2183 |
msgid "Enter your app's %sApp Store ID%s"
|
2184 |
msgstr ""
|
2185 |
|
2186 |
+
#: themes/foundation/root-functions.php:526
|
2187 |
msgid ""
|
2188 |
"Your app's unique identifier. Find your ID from the iTunes Link Maker: "
|
2189 |
"Search for your app. In the link it provides, your app ID is the nine-digit "
|
2190 |
"number in between id and ?mt. For example Angry Birds's ID is 343200656."
|
2191 |
msgstr ""
|
2192 |
|
2193 |
+
#: themes/foundation/root-functions.php:538
|
2194 |
msgid "Theme Footer"
|
2195 |
msgstr ""
|
2196 |
|
2197 |
+
#: themes/foundation/root-functions.php:541
|
2198 |
msgid "Custom footer content (HTML is allowed)"
|
2199 |
msgstr ""
|
2200 |
|
2201 |
+
#: themes/foundation/root-functions.php:541
|
2202 |
msgid ""
|
2203 |
"You can add custom footer content that will be displayed below the switch "
|
2204 |
"link."
|
2205 |
msgstr ""
|
2206 |
|
2207 |
+
#: themes/foundation/root-functions.php:914
|
2208 |
msgid "search results for '%s'"
|
2209 |
msgstr ""
|
2210 |
|
2211 |
+
#: themes/foundation/root-functions.php:916
|
2212 |
msgid "%sCategories ›%s %s"
|
2213 |
msgstr ""
|
2214 |
|
2215 |
+
#: themes/foundation/root-functions.php:918
|
2216 |
msgid "Tags › %s"
|
2217 |
msgstr ""
|
2218 |
|
2219 |
+
#: themes/foundation/root-functions.php:920
|
2220 |
#: themes/foundation/root-functions.php:922
|
2221 |
#: themes/foundation/root-functions.php:924
|
|
|
2222 |
msgid "Archives › %s"
|
2223 |
msgstr ""
|
2224 |
|
2225 |
+
#: themes/foundation/root-functions.php:939
|
2226 |
msgid "Load more from this category"
|
2227 |
msgstr ""
|
2228 |
|
2229 |
+
#: themes/foundation/root-functions.php:941
|
2230 |
msgid "Load more tagged like this"
|
2231 |
msgstr ""
|
2232 |
|
2233 |
+
#: themes/foundation/root-functions.php:943
|
2234 |
msgid "Load more from this day"
|
2235 |
msgstr ""
|
2236 |
|
2237 |
+
#: themes/foundation/root-functions.php:945
|
2238 |
msgid "Load more from this month"
|
2239 |
msgstr ""
|
2240 |
|
2241 |
+
#: themes/foundation/root-functions.php:947
|
2242 |
msgid "Load more from this year"
|
2243 |
msgstr ""
|
2244 |
|
2245 |
+
#: themes/foundation/root-functions.php:949
|
2246 |
msgid "Load more in this section"
|
2247 |
msgstr ""
|
2248 |
|
2249 |
+
#: themes/foundation/root-functions.php:951
|
2250 |
msgid "Load more entries"
|
2251 |
msgstr ""
|
2252 |
|
2262 |
msgid "WPtouch Mobile Plugin"
|
2263 |
msgstr ""
|
2264 |
|
2265 |
+
#. #-#-#-#-# wptouch.pot (WPtouch Mobile Plugin 3.5.3) #-#-#-#-#
|
2266 |
#. Plugin URI of the plugin/theme
|
2267 |
+
#. #-#-#-#-# wptouch.pot (WPtouch Mobile Plugin 3.5.3) #-#-#-#-#
|
2268 |
#. Author URI of the plugin/theme
|
2269 |
msgid "http://www.wptouch.com/"
|
2270 |
msgstr ""
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: bravenewcode, duanestorey, dalemugford, martin kuplens-ewart
|
3 |
Tags: wptouch, iphone, ipod, bravenewcode, mobile, android, blackberry, smartphone, responsive, design, mobile plugin, ios, mobile theme
|
4 |
Requires at least: 3.6
|
5 |
-
Stable tag: 3.4
|
6 |
Tested up to: 4.0
|
7 |
License: GPLv2
|
8 |
|
@@ -18,9 +18,9 @@ The theme also includes the ability for visitors to switch between the theme on
|
|
18 |
|
19 |
**Now Available: WPtouch Pro + BraveNewCloud**
|
20 |
|
21 |
-
With
|
22 |
|
23 |
-
For more information visit [WPtouch.com](http://www.wptouch.com/?utm_campaign=wptouch-front-readme&utm_medium=web&utm_source=wordpressdotorg "WPtouch.com").
|
24 |
|
25 |
'WPtouch' & ’WPtouch Pro' are trademarks of BraveNewCode Inc.
|
26 |
|
@@ -40,6 +40,37 @@ For more information visit [WPtouch.com](http://www.wptouch.com/?utm_campaign=wp
|
|
40 |
|
41 |
== Changelog ==
|
42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
= Version 3.4.10 (September 23rd, 2014) =
|
44 |
|
45 |
* Fixed: Potential security issue with URLs in comment forms
|
@@ -1063,19 +1094,3 @@ For more information visit [WPtouch.com](http://www.wptouch.com/?utm_campaign=wp
|
|
1063 |
= 3.1.1 =
|
1064 |
|
1065 |
This is an entirely new release, everyone! It’s completely different… and new : )
|
1066 |
-
|
1067 |
-
= 1.9.8.2 =
|
1068 |
-
|
1069 |
-
An issue with WordPress multisite was addressed
|
1070 |
-
|
1071 |
-
= 1.9.8.1 =
|
1072 |
-
|
1073 |
-
Potential security issues were fixed
|
1074 |
-
|
1075 |
-
= 1.9.8 =
|
1076 |
-
|
1077 |
-
Includes important administration panel updates
|
1078 |
-
|
1079 |
-
= 1.9.7.1 =
|
1080 |
-
|
1081 |
-
Includes a new POT file for Brazilian Portuguese
|
2 |
Contributors: bravenewcode, duanestorey, dalemugford, martin kuplens-ewart
|
3 |
Tags: wptouch, iphone, ipod, bravenewcode, mobile, android, blackberry, smartphone, responsive, design, mobile plugin, ios, mobile theme
|
4 |
Requires at least: 3.6
|
5 |
+
Stable tag: 3.5.4
|
6 |
Tested up to: 4.0
|
7 |
License: GPLv2
|
8 |
|
18 |
|
19 |
**Now Available: WPtouch Pro + BraveNewCloud**
|
20 |
|
21 |
+
With six themes and three new extensions installed & updated right from our new BraveNewCloud service, it's the best WPtouch yet!
|
22 |
|
23 |
+
For more information visit [WPtouch.com](http://www.wptouch.com/?utm_campaign=wptouch-front-readme&utm_medium=web&utm_source=wordpressdotorg "WPtouch.com"). You may also be interested in [Response](http://wpresponse.com/), a new BraveNewCode service that seamlessly integrates with WPtouch.
|
24 |
|
25 |
'WPtouch' & ’WPtouch Pro' are trademarks of BraveNewCode Inc.
|
26 |
|
40 |
|
41 |
== Changelog ==
|
42 |
|
43 |
+
= Version 3.5.4 (October 27th, 2014) =
|
44 |
+
|
45 |
+
* Fixed: Directory structure issues
|
46 |
+
|
47 |
+
= Version 3.5.3 (October 10th, 2014) =
|
48 |
+
|
49 |
+
* Added: Startup Screen support for iPhone 6 and 6+ (Pro only)
|
50 |
+
* Fixed: Removed php warnings
|
51 |
+
* Fixed: Minor issues with our new MobileStore theme for WooCommerce (Pro only)
|
52 |
+
* Added: New theme MobileStore (eCommerce theme for WooCommerce!) (Pro only)
|
53 |
+
* Added: Option to turn off menu output on the Open homepage (Pro only)
|
54 |
+
* Added: Open theme now supports custom post type content (Pro only)
|
55 |
+
* Added: Optional comment support to Prose (Pro only)
|
56 |
+
* Changed: Homescreen icon now recommends 180x180 (best size for iPhone 6, 6+, backwards compatible)
|
57 |
+
* Changed: Better home-template.php support in themes
|
58 |
+
* Changed: Updated FastClick module to 1.0.3 (fixes form issues)
|
59 |
+
* Changed: Theme browser now shows theme demos instead of screenshots for WebKit-based browsers (Safari, Chrome)
|
60 |
+
* Changed: Cache timing tweaked to allow filtering of cache behaviour in Infinity Cache (Pro only)
|
61 |
+
* Changed: If enabled in WPtouch, comment block is shown on pages only when they either accept comments and/or have comments to display
|
62 |
+
* Changed: Better SSL support w/ protocol-independent font and jQuery loading + image embeds
|
63 |
+
* Fixed: An issue where Check All/None for menu items would affect all theme menus
|
64 |
+
* Fixed: Better off-canvas menu support in Prose, Bauhaus and MobileStore
|
65 |
+
* Fixed: Prevent Web App Mode from getting stuck in a logout loop (Pro only)
|
66 |
+
* Fixed: Theme preview images causing SSL notices when viewing admin over HTTPS
|
67 |
+
* Fixed: Prevent mobile switch link from appearing in Web App Mode when pages are loading from cache (Pro only)
|
68 |
+
* Fixed: Bookmark icon not being used when bookmarking on iPad (Pro only)
|
69 |
+
|
70 |
+
= Version 3.4.11 (September 24th, 2014) =
|
71 |
+
|
72 |
+
* Changed: Backup file information, excluded license information and obfuscated filenames
|
73 |
+
|
74 |
= Version 3.4.10 (September 23rd, 2014) =
|
75 |
|
76 |
* Fixed: Potential security issue with URLs in comment forms
|
1094 |
= 3.1.1 =
|
1095 |
|
1096 |
This is an entirely new release, everyone! It’s completely different… and new : )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
themes/bauhaus/default/search.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
<div id="content" class="search">
|
4 |
|
5 |
<div class="post-page-head-area bauhaus">
|
6 |
-
<h2 class="post-title heading-font"><?php echo sprintf( __( 'You searched for "%s"', 'wptouch-pro' ), $_GET['s'] ); ?>:</h2>
|
7 |
<span class="select-wrap">
|
8 |
<select class="search-select heading-font">
|
9 |
<?php
|
3 |
<div id="content" class="search">
|
4 |
|
5 |
<div class="post-page-head-area bauhaus">
|
6 |
+
<h2 class="post-title heading-font"><?php echo sprintf( __( 'You searched for "%s"', 'wptouch-pro' ), esc_attr( $_GET['s'] ) ); ?>:</h2>
|
7 |
<span class="select-wrap">
|
8 |
<select class="search-select heading-font">
|
9 |
<?php
|
themes/bauhaus/default/style.css
CHANGED
@@ -14,6 +14,11 @@ h1, h2, h3, h4, h5, h6 {
|
|
14 |
letter-spacing: -1px;
|
15 |
}
|
16 |
|
|
|
|
|
|
|
|
|
|
|
17 |
/* @group Header */
|
18 |
|
19 |
header a, header div {
|
14 |
letter-spacing: -1px;
|
15 |
}
|
16 |
|
17 |
+
.page-wrapper {
|
18 |
+
left: 0;
|
19 |
+
right: 0;
|
20 |
+
}
|
21 |
+
|
22 |
/* @group Header */
|
23 |
|
24 |
header a, header div {
|
themes/foundation/default/header.php
CHANGED
@@ -6,9 +6,6 @@
|
|
6 |
<?php wptouch_head(); ?>
|
7 |
</head>
|
8 |
|
9 |
-
<!-- Help speed up display of the page -->
|
10 |
-
<?php flush(); ?>
|
11 |
-
|
12 |
<body <?php body_class( wptouch_get_body_classes() ); ?>>
|
13 |
|
14 |
<?php do_action( 'wptouch_preview' ); ?>
|
@@ -17,4 +14,4 @@
|
|
17 |
|
18 |
<?php get_template_part( 'header-bottom' ); ?>
|
19 |
|
20 |
-
<?php do_action( 'wptouch_body_top_second' ); ?>
|
6 |
<?php wptouch_head(); ?>
|
7 |
</head>
|
8 |
|
|
|
|
|
|
|
9 |
<body <?php body_class( wptouch_get_body_classes() ); ?>>
|
10 |
|
11 |
<?php do_action( 'wptouch_preview' ); ?>
|
14 |
|
15 |
<?php get_template_part( 'header-bottom' ); ?>
|
16 |
|
17 |
+
<?php do_action( 'wptouch_body_top_second' ); ?>
|
themes/foundation/default/home-template.php
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Mobile Template: Home
|
4 |
*/
|
5 |
?>
|
6 |
<?php get_header(); ?>
|
7 |
|
8 |
-
<?php if ( have_posts() ) { ?>
|
9 |
<div id="content">
|
10 |
<div class="post-content">
|
11 |
<?php wptouch_the_content(); ?>
|
@@ -13,5 +13,4 @@
|
|
13 |
</div>
|
14 |
<?php } ?>
|
15 |
|
16 |
-
<?php get_footer(); ?>
|
17 |
-
|
1 |
<?php
|
2 |
/*
|
3 |
+
Mobile Template: Home Template
|
4 |
*/
|
5 |
?>
|
6 |
<?php get_header(); ?>
|
7 |
|
8 |
+
<?php if ( have_posts() ) { wptouch_the_post(); ?>
|
9 |
<div id="content">
|
10 |
<div class="post-content">
|
11 |
<?php wptouch_the_content(); ?>
|
13 |
</div>
|
14 |
<?php } ?>
|
15 |
|
16 |
+
<?php get_footer(); ?>
|
|
themes/foundation/default/one-comment.php
CHANGED
@@ -1,6 +1,11 @@
|
|
|
|
|
|
|
|
1 |
<li class="comment clearfix">
|
2 |
<div class="comment-top">
|
3 |
-
<div class="comment-avatar"
|
|
|
|
|
4 |
<div class="meta">
|
5 |
<div class="comment-author"><?php comment_author(); ?></div>
|
6 |
<div class="comment-time"><?php comment_date(); ?></div>
|
@@ -12,4 +17,7 @@
|
|
12 |
<p class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation', 'wptouch-pro' ); ?>…</p>
|
13 |
<?php endif; ?>
|
14 |
<?php comment_text(); ?>
|
15 |
-
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$settings = foundation_get_settings();
|
3 |
+
?>
|
4 |
<li class="comment clearfix">
|
5 |
<div class="comment-top">
|
6 |
+
<div class="comment-avatar">
|
7 |
+
<?php echo get_avatar( $comment ); ?>
|
8 |
+
</div>
|
9 |
<div class="meta">
|
10 |
<div class="comment-author"><?php comment_author(); ?></div>
|
11 |
<div class="comment-time"><?php comment_date(); ?></div>
|
17 |
<p class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation', 'wptouch-pro' ); ?>…</p>
|
18 |
<?php endif; ?>
|
19 |
<?php comment_text(); ?>
|
20 |
+
<?php if ( $settings->allow_nested_comment_replies ) { ?>
|
21 |
+
<p><?php comment_reply_link(array_merge( $GLOBALS[ 'comment_args' ], array('depth' => $GLOBALS[ 'comment_depth' ], 'max_depth' => $GLOBALS[ 'comment_args' ]))) ?></p>
|
22 |
+
<?php } ?>
|
23 |
+
</div>
|
themes/foundation/default/page.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
<?php } ?>
|
15 |
</div> <!-- content -->
|
16 |
|
17 |
-
<?php if ( wptouch_fdn_show_comments_on_pages() ) { ?>
|
18 |
<div id="comments">
|
19 |
<?php comments_template(); ?>
|
20 |
</div>
|
14 |
<?php } ?>
|
15 |
</div> <!-- content -->
|
16 |
|
17 |
+
<?php if ( wptouch_fdn_show_comments_on_pages() && ( comments_open() || have_comments() ) ) { ?>
|
18 |
<div id="comments">
|
19 |
<?php comments_template(); ?>
|
20 |
</div>
|
themes/foundation/default/search.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
|
4 |
<div id="content" class="search">
|
5 |
|
6 |
-
<h3 class="search-heading page-heading"><?php echo sprintf( __( 'You searched for "%s"', 'wptouch-pro' ), $_GET['s'] ); ?>:</h3>
|
7 |
|
8 |
<?php
|
9 |
$post_types = wptouch_fdn_get_search_post_types();
|
3 |
|
4 |
<div id="content" class="search">
|
5 |
|
6 |
+
<h3 class="search-heading page-heading"><?php echo sprintf( __( 'You searched for "%s"', 'wptouch-pro' ), esc_attr( $_GET['s'] ) ); ?>:</h3>
|
7 |
|
8 |
<?php
|
9 |
$post_types = wptouch_fdn_get_search_post_types();
|
themes/foundation/default/style.css
CHANGED
@@ -671,6 +671,10 @@ body.web-app-mode.translucent {
|
|
671 |
margin-top: 20px;
|
672 |
}
|
673 |
|
|
|
|
|
|
|
|
|
674 |
/* @end */
|
675 |
|
676 |
/* @group 404 */
|
@@ -802,8 +806,10 @@ li .social-footer-badges {
|
|
802 |
/* @group Comments */
|
803 |
|
804 |
#comments {
|
805 |
-
|
806 |
}
|
|
|
|
|
|
|
807 |
|
808 |
p.comment-awaiting-moderation {
|
809 |
font-weight: bold;
|
671 |
margin-top: 20px;
|
672 |
}
|
673 |
|
674 |
+
body.web-app-mode #switch {
|
675 |
+
display: none;
|
676 |
+
}
|
677 |
+
|
678 |
/* @end */
|
679 |
|
680 |
/* @group 404 */
|
806 |
/* @group Comments */
|
807 |
|
808 |
#comments {
|
|
|
809 |
}
|
810 |
+
#comments .children .comment {
|
811 |
+
margin-left: 15px;
|
812 |
+
}
|
813 |
|
814 |
p.comment-awaiting-moderation {
|
815 |
font-weight: bold;
|
themes/foundation/modules/base/base.js
CHANGED
@@ -100,11 +100,9 @@ function wptouchFdnDoDeviceAndOrientationListener() {
|
|
100 |
|
101 |
// Back to top links in themes
|
102 |
function wptouchFdnSetupBackToTopLinks() {
|
103 |
-
jQuery( '.back-to-top'
|
104 |
-
|
105 |
-
|
106 |
-
e.preventDefault();
|
107 |
-
});
|
108 |
});
|
109 |
}
|
110 |
|
100 |
|
101 |
// Back to top links in themes
|
102 |
function wptouchFdnSetupBackToTopLinks() {
|
103 |
+
jQuery( 'body' ).on( 'click', '.back-to-top', function( e ){
|
104 |
+
jQuery( 'body' ).animate( { scrollTop: jQuery( 'html' ).offset().top }, 550 );
|
105 |
+
e.preventDefault();
|
|
|
|
|
106 |
});
|
107 |
}
|
108 |
|
themes/foundation/modules/fastclick/fastclick.js
CHANGED
@@ -1,818 +1,805 @@
|
|
1 |
-
|
2 |
-
* @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.
|
3 |
-
*
|
4 |
-
* @version 1.0.2
|
5 |
-
* @codingstandard ftlabs-jsv2
|
6 |
-
* @copyright The Financial Times Limited [All Rights Reserved]
|
7 |
-
* @license MIT License (see LICENSE.txt)
|
8 |
-
*/
|
9 |
-
|
10 |
-
/*jslint browser:true, node:true*/
|
11 |
-
/*global define, Event, Node*/
|
12 |
-
|
13 |
-
|
14 |
-
/**
|
15 |
-
* Instantiate fast-clicking listeners on the specified layer.
|
16 |
-
*
|
17 |
-
* @constructor
|
18 |
-
* @param {Element} layer The layer to listen on
|
19 |
-
* @param {Object} options The options to override the defaults
|
20 |
-
*/
|
21 |
-
function FastClick(layer, options) {
|
22 |
'use strict';
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
/**
|
28 |
-
*
|
29 |
*
|
30 |
* @type boolean
|
31 |
*/
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
/**
|
36 |
-
*
|
37 |
*
|
38 |
-
* @type
|
39 |
*/
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
/**
|
44 |
-
*
|
45 |
*
|
46 |
-
* @type
|
47 |
*/
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
/**
|
52 |
-
*
|
53 |
*
|
54 |
-
* @type
|
55 |
*/
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
/**
|
60 |
-
*
|
61 |
*
|
62 |
-
* @type
|
63 |
*/
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
/**
|
68 |
-
*
|
69 |
*
|
70 |
-
* @
|
|
|
71 |
*/
|
72 |
-
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
/**
|
76 |
-
*
|
77 |
*
|
78 |
-
* @
|
|
|
79 |
*/
|
80 |
-
|
81 |
-
|
82 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
/**
|
84 |
-
*
|
85 |
*
|
86 |
-
* @
|
|
|
87 |
*/
|
88 |
-
|
89 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
/**
|
91 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
*
|
93 |
-
* @
|
94 |
*/
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
}
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
}
|
150 |
-
}
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
//
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
}
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
* iOS requires exceptions.
|
179 |
-
*
|
180 |
-
* @type boolean
|
181 |
-
*/
|
182 |
-
var deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent);
|
183 |
-
|
184 |
-
|
185 |
-
/**
|
186 |
-
* iOS 4 requires an exception for select elements.
|
187 |
-
*
|
188 |
-
* @type boolean
|
189 |
-
*/
|
190 |
-
var deviceIsIOS4 = deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent);
|
191 |
-
|
192 |
-
|
193 |
-
/**
|
194 |
-
* iOS 6.0(+?) requires the target element to be manually derived
|
195 |
-
*
|
196 |
-
* @type boolean
|
197 |
-
*/
|
198 |
-
var deviceIsIOSWithBadTarget = deviceIsIOS && (/OS ([6-9]|\d{2})_\d/).test(navigator.userAgent);
|
199 |
-
|
200 |
-
/**
|
201 |
-
* BlackBerry requires exceptions.
|
202 |
-
*
|
203 |
-
* @type boolean
|
204 |
-
*/
|
205 |
-
var deviceIsBlackBerry10 = navigator.userAgent.indexOf('BB10') > 0;
|
206 |
-
|
207 |
-
/**
|
208 |
-
* Determine whether a given element requires a native click.
|
209 |
-
*
|
210 |
-
* @param {EventTarget|Element} target Target DOM element
|
211 |
-
* @returns {boolean} Returns true if the element needs a native click
|
212 |
-
*/
|
213 |
-
FastClick.prototype.needsClick = function(target) {
|
214 |
-
'use strict';
|
215 |
-
switch (target.nodeName.toLowerCase()) {
|
216 |
-
|
217 |
-
// Don't send a synthetic click to disabled inputs (issue #62)
|
218 |
-
case 'button':
|
219 |
-
case 'select':
|
220 |
-
case 'textarea':
|
221 |
-
if (target.disabled) {
|
222 |
return true;
|
223 |
}
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
230 |
return true;
|
231 |
}
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
}
|
238 |
-
|
239 |
-
return (/\bneedsclick\b/).test(target.className);
|
240 |
-
};
|
241 |
-
|
242 |
-
|
243 |
-
/**
|
244 |
-
* Determine whether a given element requires a call to focus to simulate click into element.
|
245 |
-
*
|
246 |
-
* @param {EventTarget|Element} target Target DOM element
|
247 |
-
* @returns {boolean} Returns true if the element requires a call to focus to simulate native click.
|
248 |
-
*/
|
249 |
-
FastClick.prototype.needsFocus = function(target) {
|
250 |
-
'use strict';
|
251 |
-
switch (target.nodeName.toLowerCase()) {
|
252 |
-
case 'textarea':
|
253 |
-
return true;
|
254 |
-
case 'select':
|
255 |
-
return !deviceIsAndroid;
|
256 |
-
case 'input':
|
257 |
-
switch (target.type) {
|
258 |
-
case 'button':
|
259 |
-
case 'checkbox':
|
260 |
-
case 'file':
|
261 |
-
case 'image':
|
262 |
-
case 'radio':
|
263 |
-
case 'submit':
|
264 |
-
return false;
|
265 |
}
|
266 |
-
|
267 |
-
// No point in attempting to focus disabled inputs
|
268 |
-
return !target.disabled && !target.readOnly;
|
269 |
-
default:
|
270 |
-
return (/\bneedsfocus\b/).test(target.className);
|
271 |
-
}
|
272 |
-
};
|
273 |
-
|
274 |
-
|
275 |
-
/**
|
276 |
-
* Send a click event to the specified element.
|
277 |
-
*
|
278 |
-
* @param {EventTarget|Element} targetElement
|
279 |
-
* @param {Event} event
|
280 |
-
*/
|
281 |
-
FastClick.prototype.sendClick = function(targetElement, event) {
|
282 |
-
'use strict';
|
283 |
-
var clickEvent, touch;
|
284 |
-
|
285 |
-
// On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24)
|
286 |
-
if (document.activeElement && document.activeElement !== targetElement) {
|
287 |
-
document.activeElement.blur();
|
288 |
-
}
|
289 |
-
|
290 |
-
touch = event.changedTouches[0];
|
291 |
-
|
292 |
-
// Synthesise a click event, with an extra attribute so it can be tracked
|
293 |
-
clickEvent = document.createEvent('MouseEvents');
|
294 |
-
clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);
|
295 |
-
clickEvent.forwardedTouchEvent = true;
|
296 |
-
targetElement.dispatchEvent(clickEvent);
|
297 |
-
};
|
298 |
-
|
299 |
-
FastClick.prototype.determineEventType = function(targetElement) {
|
300 |
-
'use strict';
|
301 |
-
|
302 |
-
//Issue #159: Android Chrome Select Box does not open with a synthetic click event
|
303 |
-
if (deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') {
|
304 |
-
return 'mousedown';
|
305 |
-
}
|
306 |
-
|
307 |
-
return 'click';
|
308 |
-
};
|
309 |
-
|
310 |
-
|
311 |
-
/**
|
312 |
-
* @param {EventTarget|Element} targetElement
|
313 |
-
*/
|
314 |
-
FastClick.prototype.focus = function(targetElement) {
|
315 |
-
'use strict';
|
316 |
-
var length;
|
317 |
-
|
318 |
-
// Issue #160: on iOS 7, some input elements (e.g. date datetime) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724.
|
319 |
-
if (deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time') {
|
320 |
-
length = targetElement.value.length;
|
321 |
-
targetElement.setSelectionRange(length, length);
|
322 |
-
} else {
|
323 |
-
targetElement.focus();
|
324 |
-
}
|
325 |
-
};
|
326 |
-
|
327 |
-
|
328 |
-
/**
|
329 |
-
* Check whether the given target element is a child of a scrollable layer and if so, set a flag on it.
|
330 |
-
*
|
331 |
-
* @param {EventTarget|Element} targetElement
|
332 |
-
*/
|
333 |
-
FastClick.prototype.updateScrollParent = function(targetElement) {
|
334 |
-
'use strict';
|
335 |
-
var scrollParent, parentElement;
|
336 |
-
|
337 |
-
scrollParent = targetElement.fastClickScrollParent;
|
338 |
-
|
339 |
-
// Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the
|
340 |
-
// target element was moved to another parent.
|
341 |
-
if (!scrollParent || !scrollParent.contains(targetElement)) {
|
342 |
-
parentElement = targetElement;
|
343 |
-
do {
|
344 |
-
if (parentElement.scrollHeight > parentElement.offsetHeight) {
|
345 |
-
scrollParent = parentElement;
|
346 |
-
targetElement.fastClickScrollParent = parentElement;
|
347 |
-
break;
|
348 |
-
}
|
349 |
-
|
350 |
-
parentElement = parentElement.parentElement;
|
351 |
-
} while (parentElement);
|
352 |
-
}
|
353 |
-
|
354 |
-
// Always update the scroll top tracker if possible.
|
355 |
-
if (scrollParent) {
|
356 |
-
scrollParent.fastClickLastScrollTop = scrollParent.scrollTop;
|
357 |
-
}
|
358 |
-
};
|
359 |
-
|
360 |
-
|
361 |
-
/**
|
362 |
-
* @param {EventTarget} targetElement
|
363 |
-
* @returns {Element|EventTarget}
|
364 |
-
*/
|
365 |
-
FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) {
|
366 |
-
'use strict';
|
367 |
-
|
368 |
-
// On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node.
|
369 |
-
if (eventTarget.nodeType === Node.TEXT_NODE) {
|
370 |
-
return eventTarget.parentNode;
|
371 |
-
}
|
372 |
-
|
373 |
-
return eventTarget;
|
374 |
-
};
|
375 |
-
|
376 |
-
|
377 |
-
/**
|
378 |
-
* On touch start, record the position and scroll offset.
|
379 |
-
*
|
380 |
-
* @param {Event} event
|
381 |
-
* @returns {boolean}
|
382 |
-
*/
|
383 |
-
FastClick.prototype.onTouchStart = function(event) {
|
384 |
-
'use strict';
|
385 |
-
var targetElement, touch, selection;
|
386 |
-
|
387 |
-
// Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111).
|
388 |
-
if (event.targetTouches.length > 1) {
|
389 |
return true;
|
390 |
-
}
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
400 |
return true;
|
401 |
}
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
// with the same identifier as the touch event that previously triggered the click that triggered the alert.
|
408 |
-
// Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an
|
409 |
-
// immediately preceeding touch event (issue #52), so this fix is unavailable on that platform.
|
410 |
-
if (touch.identifier === this.lastTouchIdentifier) {
|
411 |
-
event.preventDefault();
|
412 |
-
return false;
|
413 |
-
}
|
414 |
-
|
415 |
-
this.lastTouchIdentifier = touch.identifier;
|
416 |
-
|
417 |
-
// If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and:
|
418 |
-
// 1) the user does a fling scroll on the scrollable layer
|
419 |
-
// 2) the user stops the fling scroll with another tap
|
420 |
-
// then the event.target of the last 'touchend' event will be the element that was under the user's finger
|
421 |
-
// when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check
|
422 |
-
// is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42).
|
423 |
-
this.updateScrollParent(targetElement);
|
424 |
}
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
this.touchStartY = touch.pageY;
|
433 |
-
|
434 |
-
// Prevent phantom clicks on fast double-tap (issue #36)
|
435 |
-
if ((event.timeStamp - this.lastClickTime) < this.tapDelay) {
|
436 |
-
event.preventDefault();
|
437 |
-
}
|
438 |
-
|
439 |
-
return true;
|
440 |
-
};
|
441 |
-
|
442 |
-
|
443 |
-
/**
|
444 |
-
* Based on a touchmove event object, check whether the touch has moved past a boundary since it started.
|
445 |
-
*
|
446 |
-
* @param {Event} event
|
447 |
-
* @returns {boolean}
|
448 |
-
*/
|
449 |
-
FastClick.prototype.touchHasMoved = function(event) {
|
450 |
-
'use strict';
|
451 |
-
var touch = event.changedTouches[0], boundary = this.touchBoundary;
|
452 |
-
|
453 |
-
if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) {
|
454 |
-
return true;
|
455 |
-
}
|
456 |
-
|
457 |
-
return false;
|
458 |
-
};
|
459 |
-
|
460 |
-
|
461 |
-
/**
|
462 |
-
* Update the last position.
|
463 |
-
*
|
464 |
-
* @param {Event} event
|
465 |
-
* @returns {boolean}
|
466 |
-
*/
|
467 |
-
FastClick.prototype.onTouchMove = function(event) {
|
468 |
-
'use strict';
|
469 |
-
if (!this.trackingClick) {
|
470 |
-
return true;
|
471 |
-
}
|
472 |
-
|
473 |
-
// If the touch has moved, cancel the click tracking
|
474 |
-
if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) {
|
475 |
this.trackingClick = false;
|
476 |
-
this.
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
/**
|
509 |
-
* On touch end, determine whether to send a click event at once.
|
510 |
-
*
|
511 |
-
* @param {Event} event
|
512 |
-
* @returns {boolean}
|
513 |
-
*/
|
514 |
-
FastClick.prototype.onTouchEnd = function(event) {
|
515 |
-
'use strict';
|
516 |
-
var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement;
|
517 |
-
|
518 |
-
if (!this.trackingClick) {
|
519 |
-
return true;
|
520 |
-
}
|
521 |
-
|
522 |
-
// Prevent phantom clicks on fast double-tap (issue #36)
|
523 |
-
if ((event.timeStamp - this.lastClickTime) < this.tapDelay) {
|
524 |
-
this.cancelNextClick = true;
|
525 |
-
return true;
|
526 |
-
}
|
527 |
-
|
528 |
-
// Reset to prevent wrong click cancel on input (issue #156).
|
529 |
-
this.cancelNextClick = false;
|
530 |
-
|
531 |
-
this.lastClickTime = event.timeStamp;
|
532 |
-
|
533 |
-
trackingClickStart = this.trackingClickStart;
|
534 |
-
this.trackingClick = false;
|
535 |
-
this.trackingClickStart = 0;
|
536 |
-
|
537 |
-
// On some iOS devices, the targetElement supplied with the event is invalid if the layer
|
538 |
-
// is performing a transition or scroll, and has to be re-detected manually. Note that
|
539 |
-
// for this to function correctly, it must be called *after* the event target is checked!
|
540 |
-
// See issue #57; also filed as rdar://13048589 .
|
541 |
-
if (deviceIsIOSWithBadTarget) {
|
542 |
-
touch = event.changedTouches[0];
|
543 |
-
|
544 |
-
// In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null
|
545 |
-
targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement;
|
546 |
-
targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent;
|
547 |
-
}
|
548 |
-
|
549 |
-
targetTagName = targetElement.tagName.toLowerCase();
|
550 |
-
if (targetTagName === 'label') {
|
551 |
-
forElement = this.findControl(targetElement);
|
552 |
-
if (forElement) {
|
553 |
-
this.focus(targetElement);
|
554 |
-
if (deviceIsAndroid) {
|
555 |
return false;
|
556 |
}
|
557 |
-
|
558 |
-
targetElement
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
|
|
|
|
566 |
return false;
|
567 |
}
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
}
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
// Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled
|
585 |
-
// and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42).
|
586 |
-
scrollParent = targetElement.fastClickScrollParent;
|
587 |
-
if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) {
|
588 |
-
return true;
|
589 |
}
|
590 |
-
|
591 |
-
|
592 |
-
// Prevent the actual click from going though - unless the target node is marked as requiring
|
593 |
-
// real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted.
|
594 |
-
if (!this.needsClick(targetElement)) {
|
595 |
-
event.preventDefault();
|
596 |
-
this.sendClick(targetElement, event);
|
597 |
-
}
|
598 |
-
|
599 |
-
return false;
|
600 |
-
};
|
601 |
-
|
602 |
-
|
603 |
-
/**
|
604 |
-
* On touch cancel, stop tracking the click.
|
605 |
-
*
|
606 |
-
* @returns {void}
|
607 |
-
*/
|
608 |
-
FastClick.prototype.onTouchCancel = function() {
|
609 |
-
'use strict';
|
610 |
-
this.trackingClick = false;
|
611 |
-
this.targetElement = null;
|
612 |
-
};
|
613 |
-
|
614 |
-
|
615 |
-
/**
|
616 |
-
* Determine mouse events which should be permitted.
|
617 |
-
*
|
618 |
-
* @param {Event} event
|
619 |
-
* @returns {boolean}
|
620 |
-
*/
|
621 |
-
FastClick.prototype.onMouse = function(event) {
|
622 |
-
'use strict';
|
623 |
-
|
624 |
-
// If a target element was never set (because a touch event was never fired) allow the event
|
625 |
-
if (!this.targetElement) {
|
626 |
-
return true;
|
627 |
-
}
|
628 |
-
|
629 |
-
if (event.forwardedTouchEvent) {
|
630 |
-
return true;
|
631 |
-
}
|
632 |
-
|
633 |
-
// Programmatically generated events targeting a specific element should be permitted
|
634 |
-
if (!event.cancelable) {
|
635 |
-
return true;
|
636 |
-
}
|
637 |
-
|
638 |
-
// Derive and check the target element to see whether the mouse event needs to be permitted;
|
639 |
-
// unless explicitly enabled, prevent non-touch click events from triggering actions,
|
640 |
-
// to prevent ghost/doubleclicks.
|
641 |
-
if (!this.needsClick(this.targetElement) || this.cancelNextClick) {
|
642 |
-
|
643 |
-
// Prevent any user-added listeners declared on FastClick element from being fired.
|
644 |
-
if (event.stopImmediatePropagation) {
|
645 |
-
event.stopImmediatePropagation();
|
646 |
-
} else {
|
647 |
-
|
648 |
-
// Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
|
649 |
-
event.propagationStopped = true;
|
650 |
-
}
|
651 |
-
|
652 |
-
// Cancel the event
|
653 |
-
event.stopPropagation();
|
654 |
-
event.preventDefault();
|
655 |
-
|
656 |
return false;
|
657 |
-
}
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
* naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or
|
667 |
-
* an actual click which should be permitted.
|
668 |
-
*
|
669 |
-
* @param {Event} event
|
670 |
-
* @returns {boolean}
|
671 |
-
*/
|
672 |
-
FastClick.prototype.onClick = function(event) {
|
673 |
-
'use strict';
|
674 |
-
var permitted;
|
675 |
-
|
676 |
-
// It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early.
|
677 |
-
if (this.trackingClick) {
|
678 |
-
this.targetElement = null;
|
679 |
this.trackingClick = false;
|
680 |
-
return true;
|
681 |
-
}
|
682 |
-
|
683 |
-
// Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target.
|
684 |
-
if (event.target.type === 'submit' && event.detail === 0) {
|
685 |
-
return true;
|
686 |
-
}
|
687 |
-
|
688 |
-
permitted = this.onMouse(event);
|
689 |
-
|
690 |
-
// Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through.
|
691 |
-
if (!permitted) {
|
692 |
this.targetElement = null;
|
693 |
-
}
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
|
|
|
|
|
|
|
|
736 |
return true;
|
737 |
-
}
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
744 |
if (deviceIsAndroid) {
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
760 |
return true;
|
761 |
}
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
|
|
|
|
|
|
|
|
776 |
}
|
777 |
-
|
778 |
-
|
779 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
780 |
}
|
781 |
}
|
782 |
}
|
783 |
-
}
|
784 |
|
785 |
-
|
786 |
-
|
787 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
788 |
}
|
789 |
-
|
790 |
-
return false;
|
791 |
-
};
|
792 |
-
|
793 |
-
|
794 |
-
/**
|
795 |
-
* Factory method for creating a FastClick object
|
796 |
-
*
|
797 |
-
* @param {Element} layer The layer to listen on
|
798 |
-
* @param {Object} options The options to override the defaults
|
799 |
-
*/
|
800 |
-
FastClick.attach = function(layer, options) {
|
801 |
-
'use strict';
|
802 |
-
return new FastClick(layer, options);
|
803 |
-
};
|
804 |
-
|
805 |
-
|
806 |
-
if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
|
807 |
-
|
808 |
-
// AMD. Register as an anonymous module.
|
809 |
-
define(function() {
|
810 |
-
'use strict';
|
811 |
-
return FastClick;
|
812 |
-
});
|
813 |
-
} else if (typeof module !== 'undefined' && module.exports) {
|
814 |
-
module.exports = FastClick.attach;
|
815 |
-
module.exports.FastClick = FastClick;
|
816 |
-
} else {
|
817 |
-
window.FastClick = FastClick;
|
818 |
-
}
|
1 |
+
(function () {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
'use strict';
|
3 |
+
|
4 |
+
/**
|
5 |
+
* @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.
|
6 |
+
*
|
7 |
+
* @version 1.0.3
|
8 |
+
* @codingstandard ftlabs-jsv2
|
9 |
+
* @copyright The Financial Times Limited [All Rights Reserved]
|
10 |
+
* @license MIT License (see LICENSE.txt)
|
11 |
+
*/
|
12 |
+
|
13 |
+
/*jslint browser:true, node:true*/
|
14 |
+
/*global define, Event, Node*/
|
15 |
+
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Instantiate fast-clicking listeners on the specified layer.
|
19 |
+
*
|
20 |
+
* @constructor
|
21 |
+
* @param {Element} layer The layer to listen on
|
22 |
+
* @param {Object} options The options to override the defaults
|
23 |
+
*/
|
24 |
+
function FastClick(layer, options) {
|
25 |
+
var oldOnClick;
|
26 |
+
|
27 |
+
options = options || {};
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Whether a click is currently being tracked.
|
31 |
+
*
|
32 |
+
* @type boolean
|
33 |
+
*/
|
34 |
+
this.trackingClick = false;
|
35 |
+
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Timestamp for when click tracking started.
|
39 |
+
*
|
40 |
+
* @type number
|
41 |
+
*/
|
42 |
+
this.trackingClickStart = 0;
|
43 |
+
|
44 |
+
|
45 |
+
/**
|
46 |
+
* The element being tracked for a click.
|
47 |
+
*
|
48 |
+
* @type EventTarget
|
49 |
+
*/
|
50 |
+
this.targetElement = null;
|
51 |
+
|
52 |
+
|
53 |
+
/**
|
54 |
+
* X-coordinate of touch start event.
|
55 |
+
*
|
56 |
+
* @type number
|
57 |
+
*/
|
58 |
+
this.touchStartX = 0;
|
59 |
+
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Y-coordinate of touch start event.
|
63 |
+
*
|
64 |
+
* @type number
|
65 |
+
*/
|
66 |
+
this.touchStartY = 0;
|
67 |
+
|
68 |
+
|
69 |
+
/**
|
70 |
+
* ID of the last touch, retrieved from Touch.identifier.
|
71 |
+
*
|
72 |
+
* @type number
|
73 |
+
*/
|
74 |
+
this.lastTouchIdentifier = 0;
|
75 |
+
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Touchmove boundary, beyond which a click will be cancelled.
|
79 |
+
*
|
80 |
+
* @type number
|
81 |
+
*/
|
82 |
+
this.touchBoundary = options.touchBoundary || 10;
|
83 |
+
|
84 |
+
|
85 |
+
/**
|
86 |
+
* The FastClick layer.
|
87 |
+
*
|
88 |
+
* @type Element
|
89 |
+
*/
|
90 |
+
this.layer = layer;
|
91 |
+
|
92 |
+
/**
|
93 |
+
* The minimum time between tap(touchstart and touchend) events
|
94 |
+
*
|
95 |
+
* @type number
|
96 |
+
*/
|
97 |
+
this.tapDelay = options.tapDelay || 200;
|
98 |
+
|
99 |
+
if (FastClick.notNeeded(layer)) {
|
100 |
+
return;
|
101 |
+
}
|
102 |
+
|
103 |
+
// Some old versions of Android don't have Function.prototype.bind
|
104 |
+
function bind(method, context) {
|
105 |
+
return function() { return method.apply(context, arguments); };
|
106 |
+
}
|
107 |
+
|
108 |
+
|
109 |
+
var methods = ['onMouse', 'onClick', 'onTouchStart', 'onTouchMove', 'onTouchEnd', 'onTouchCancel'];
|
110 |
+
var context = this;
|
111 |
+
for (var i = 0, l = methods.length; i < l; i++) {
|
112 |
+
context[methods[i]] = bind(context[methods[i]], context);
|
113 |
+
}
|
114 |
+
|
115 |
+
// Set up event handlers as required
|
116 |
+
if (deviceIsAndroid) {
|
117 |
+
layer.addEventListener('mouseover', this.onMouse, true);
|
118 |
+
layer.addEventListener('mousedown', this.onMouse, true);
|
119 |
+
layer.addEventListener('mouseup', this.onMouse, true);
|
120 |
+
}
|
121 |
+
|
122 |
+
layer.addEventListener('click', this.onClick, true);
|
123 |
+
layer.addEventListener('touchstart', this.onTouchStart, false);
|
124 |
+
layer.addEventListener('touchmove', this.onTouchMove, false);
|
125 |
+
layer.addEventListener('touchend', this.onTouchEnd, false);
|
126 |
+
layer.addEventListener('touchcancel', this.onTouchCancel, false);
|
127 |
+
|
128 |
+
// Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
|
129 |
+
// which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick
|
130 |
+
// layer when they are cancelled.
|
131 |
+
if (!Event.prototype.stopImmediatePropagation) {
|
132 |
+
layer.removeEventListener = function(type, callback, capture) {
|
133 |
+
var rmv = Node.prototype.removeEventListener;
|
134 |
+
if (type === 'click') {
|
135 |
+
rmv.call(layer, type, callback.hijacked || callback, capture);
|
136 |
+
} else {
|
137 |
+
rmv.call(layer, type, callback, capture);
|
138 |
+
}
|
139 |
+
};
|
140 |
+
|
141 |
+
layer.addEventListener = function(type, callback, capture) {
|
142 |
+
var adv = Node.prototype.addEventListener;
|
143 |
+
if (type === 'click') {
|
144 |
+
adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) {
|
145 |
+
if (!event.propagationStopped) {
|
146 |
+
callback(event);
|
147 |
+
}
|
148 |
+
}), capture);
|
149 |
+
} else {
|
150 |
+
adv.call(layer, type, callback, capture);
|
151 |
+
}
|
152 |
+
};
|
153 |
+
}
|
154 |
+
|
155 |
+
// If a handler is already declared in the element's onclick attribute, it will be fired before
|
156 |
+
// FastClick's onClick handler. Fix this by pulling out the user-defined handler function and
|
157 |
+
// adding it as listener.
|
158 |
+
if (typeof layer.onclick === 'function') {
|
159 |
+
|
160 |
+
// Android browser on at least 3.2 requires a new reference to the function in layer.onclick
|
161 |
+
// - the old one won't work if passed to addEventListener directly.
|
162 |
+
oldOnClick = layer.onclick;
|
163 |
+
layer.addEventListener('click', function(event) {
|
164 |
+
oldOnClick(event);
|
165 |
+
}, false);
|
166 |
+
layer.onclick = null;
|
167 |
+
}
|
168 |
+
}
|
169 |
+
|
170 |
+
|
171 |
/**
|
172 |
+
* Android requires exceptions.
|
173 |
*
|
174 |
* @type boolean
|
175 |
*/
|
176 |
+
var deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0;
|
177 |
+
|
178 |
+
|
179 |
/**
|
180 |
+
* iOS requires exceptions.
|
181 |
*
|
182 |
+
* @type boolean
|
183 |
*/
|
184 |
+
var deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent);
|
185 |
+
|
186 |
+
|
187 |
/**
|
188 |
+
* iOS 4 requires an exception for select elements.
|
189 |
*
|
190 |
+
* @type boolean
|
191 |
*/
|
192 |
+
var deviceIsIOS4 = deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent);
|
193 |
+
|
194 |
+
|
195 |
/**
|
196 |
+
* iOS 6.0(+?) requires the target element to be manually derived
|
197 |
*
|
198 |
+
* @type boolean
|
199 |
*/
|
200 |
+
var deviceIsIOSWithBadTarget = deviceIsIOS && (/OS ([6-9]|\d{2})_\d/).test(navigator.userAgent);
|
201 |
+
|
|
|
202 |
/**
|
203 |
+
* BlackBerry requires exceptions.
|
204 |
*
|
205 |
+
* @type boolean
|
206 |
*/
|
207 |
+
var deviceIsBlackBerry10 = navigator.userAgent.indexOf('BB10') > 0;
|
208 |
+
|
|
|
209 |
/**
|
210 |
+
* Determine whether a given element requires a native click.
|
211 |
*
|
212 |
+
* @param {EventTarget|Element} target Target DOM element
|
213 |
+
* @returns {boolean} Returns true if the element needs a native click
|
214 |
*/
|
215 |
+
FastClick.prototype.needsClick = function(target) {
|
216 |
+
switch (target.nodeName.toLowerCase()) {
|
217 |
+
|
218 |
+
// Don't send a synthetic click to disabled inputs (issue #62)
|
219 |
+
case 'button':
|
220 |
+
case 'select':
|
221 |
+
case 'textarea':
|
222 |
+
if (target.disabled) {
|
223 |
+
return true;
|
224 |
+
}
|
225 |
+
|
226 |
+
break;
|
227 |
+
case 'input':
|
228 |
+
|
229 |
+
// File inputs need real clicks on iOS 6 due to a browser bug (issue #68)
|
230 |
+
if ((deviceIsIOS && target.type === 'file') || target.disabled) {
|
231 |
+
return true;
|
232 |
+
}
|
233 |
+
|
234 |
+
break;
|
235 |
+
case 'label':
|
236 |
+
case 'video':
|
237 |
+
return true;
|
238 |
+
}
|
239 |
+
|
240 |
+
return (/\bneedsclick\b/).test(target.className);
|
241 |
+
};
|
242 |
+
|
243 |
+
|
244 |
/**
|
245 |
+
* Determine whether a given element requires a call to focus to simulate click into element.
|
246 |
*
|
247 |
+
* @param {EventTarget|Element} target Target DOM element
|
248 |
+
* @returns {boolean} Returns true if the element requires a call to focus to simulate native click.
|
249 |
*/
|
250 |
+
FastClick.prototype.needsFocus = function(target) {
|
251 |
+
switch (target.nodeName.toLowerCase()) {
|
252 |
+
case 'textarea':
|
253 |
+
return true;
|
254 |
+
case 'select':
|
255 |
+
return !deviceIsAndroid;
|
256 |
+
case 'input':
|
257 |
+
switch (target.type) {
|
258 |
+
case 'button':
|
259 |
+
case 'checkbox':
|
260 |
+
case 'file':
|
261 |
+
case 'image':
|
262 |
+
case 'radio':
|
263 |
+
case 'submit':
|
264 |
+
return false;
|
265 |
+
}
|
266 |
+
|
267 |
+
// No point in attempting to focus disabled inputs
|
268 |
+
return !target.disabled && !target.readOnly;
|
269 |
+
default:
|
270 |
+
return (/\bneedsfocus\b/).test(target.className);
|
271 |
+
}
|
272 |
+
};
|
273 |
+
|
274 |
+
|
275 |
/**
|
276 |
+
* Send a click event to the specified element.
|
277 |
*
|
278 |
+
* @param {EventTarget|Element} targetElement
|
279 |
+
* @param {Event} event
|
280 |
*/
|
281 |
+
FastClick.prototype.sendClick = function(targetElement, event) {
|
282 |
+
var clickEvent, touch;
|
283 |
+
|
284 |
+
// On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24)
|
285 |
+
if (document.activeElement && document.activeElement !== targetElement) {
|
286 |
+
document.activeElement.blur();
|
287 |
+
}
|
288 |
+
|
289 |
+
touch = event.changedTouches[0];
|
290 |
+
|
291 |
+
// Synthesise a click event, with an extra attribute so it can be tracked
|
292 |
+
clickEvent = document.createEvent('MouseEvents');
|
293 |
+
clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);
|
294 |
+
clickEvent.forwardedTouchEvent = true;
|
295 |
+
targetElement.dispatchEvent(clickEvent);
|
296 |
+
};
|
297 |
+
|
298 |
+
FastClick.prototype.determineEventType = function(targetElement) {
|
299 |
+
|
300 |
+
//Issue #159: Android Chrome Select Box does not open with a synthetic click event
|
301 |
+
if (deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') {
|
302 |
+
return 'mousedown';
|
303 |
+
}
|
304 |
+
|
305 |
+
return 'click';
|
306 |
+
};
|
307 |
+
|
308 |
+
|
309 |
/**
|
310 |
+
* @param {EventTarget|Element} targetElement
|
311 |
+
*/
|
312 |
+
FastClick.prototype.focus = function(targetElement) {
|
313 |
+
var length;
|
314 |
+
|
315 |
+
// Issue #160: on iOS 7, some input elements (e.g. date datetime) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724.
|
316 |
+
if (deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time') {
|
317 |
+
length = targetElement.value.length;
|
318 |
+
targetElement.setSelectionRange(length, length);
|
319 |
+
} else {
|
320 |
+
targetElement.focus();
|
321 |
+
}
|
322 |
+
};
|
323 |
+
|
324 |
+
|
325 |
+
/**
|
326 |
+
* Check whether the given target element is a child of a scrollable layer and if so, set a flag on it.
|
327 |
*
|
328 |
+
* @param {EventTarget|Element} targetElement
|
329 |
*/
|
330 |
+
FastClick.prototype.updateScrollParent = function(targetElement) {
|
331 |
+
var scrollParent, parentElement;
|
332 |
+
|
333 |
+
scrollParent = targetElement.fastClickScrollParent;
|
334 |
+
|
335 |
+
// Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the
|
336 |
+
// target element was moved to another parent.
|
337 |
+
if (!scrollParent || !scrollParent.contains(targetElement)) {
|
338 |
+
parentElement = targetElement;
|
339 |
+
do {
|
340 |
+
if (parentElement.scrollHeight > parentElement.offsetHeight) {
|
341 |
+
scrollParent = parentElement;
|
342 |
+
targetElement.fastClickScrollParent = parentElement;
|
343 |
+
break;
|
344 |
+
}
|
345 |
+
|
346 |
+
parentElement = parentElement.parentElement;
|
347 |
+
} while (parentElement);
|
348 |
+
}
|
349 |
+
|
350 |
+
// Always update the scroll top tracker if possible.
|
351 |
+
if (scrollParent) {
|
352 |
+
scrollParent.fastClickLastScrollTop = scrollParent.scrollTop;
|
353 |
+
}
|
354 |
+
};
|
355 |
+
|
356 |
+
|
357 |
+
/**
|
358 |
+
* @param {EventTarget} targetElement
|
359 |
+
* @returns {Element|EventTarget}
|
360 |
+
*/
|
361 |
+
FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) {
|
362 |
+
|
363 |
+
// On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node.
|
364 |
+
if (eventTarget.nodeType === Node.TEXT_NODE) {
|
365 |
+
return eventTarget.parentNode;
|
366 |
+
}
|
367 |
+
|
368 |
+
return eventTarget;
|
369 |
+
};
|
370 |
+
|
371 |
+
|
372 |
+
/**
|
373 |
+
* On touch start, record the position and scroll offset.
|
374 |
+
*
|
375 |
+
* @param {Event} event
|
376 |
+
* @returns {boolean}
|
377 |
+
*/
|
378 |
+
FastClick.prototype.onTouchStart = function(event) {
|
379 |
+
var targetElement, touch, selection;
|
380 |
+
|
381 |
+
// Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111).
|
382 |
+
if (event.targetTouches.length > 1) {
|
383 |
+
return true;
|
384 |
+
}
|
385 |
+
|
386 |
+
targetElement = this.getTargetElementFromEventTarget(event.target);
|
387 |
+
touch = event.targetTouches[0];
|
388 |
+
|
389 |
+
if (deviceIsIOS) {
|
390 |
+
|
391 |
+
// Only trusted events will deselect text on iOS (issue #49)
|
392 |
+
selection = window.getSelection();
|
393 |
+
if (selection.rangeCount && !selection.isCollapsed) {
|
394 |
+
return true;
|
395 |
}
|
396 |
+
|
397 |
+
if (!deviceIsIOS4) {
|
398 |
+
|
399 |
+
// Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23):
|
400 |
+
// when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched
|
401 |
+
// with the same identifier as the touch event that previously triggered the click that triggered the alert.
|
402 |
+
// Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an
|
403 |
+
// immediately preceeding touch event (issue #52), so this fix is unavailable on that platform.
|
404 |
+
// Issue 120: touch.identifier is 0 when Chrome dev tools 'Emulate touch events' is set with an iOS device UA string,
|
405 |
+
// which causes all touch events to be ignored. As this block only applies to iOS, and iOS identifiers are always long,
|
406 |
+
// random integers, it's safe to to continue if the identifier is 0 here.
|
407 |
+
if (touch.identifier && touch.identifier === this.lastTouchIdentifier) {
|
408 |
+
event.preventDefault();
|
409 |
+
return false;
|
410 |
+
}
|
411 |
+
|
412 |
+
this.lastTouchIdentifier = touch.identifier;
|
413 |
+
|
414 |
+
// If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and:
|
415 |
+
// 1) the user does a fling scroll on the scrollable layer
|
416 |
+
// 2) the user stops the fling scroll with another tap
|
417 |
+
// then the event.target of the last 'touchend' event will be the element that was under the user's finger
|
418 |
+
// when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check
|
419 |
+
// is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42).
|
420 |
+
this.updateScrollParent(targetElement);
|
421 |
}
|
422 |
+
}
|
423 |
+
|
424 |
+
this.trackingClick = true;
|
425 |
+
this.trackingClickStart = event.timeStamp;
|
426 |
+
this.targetElement = targetElement;
|
427 |
+
|
428 |
+
this.touchStartX = touch.pageX;
|
429 |
+
this.touchStartY = touch.pageY;
|
430 |
+
|
431 |
+
// Prevent phantom clicks on fast double-tap (issue #36)
|
432 |
+
if ((event.timeStamp - this.lastClickTime) < this.tapDelay) {
|
433 |
+
event.preventDefault();
|
434 |
+
}
|
435 |
+
|
436 |
+
return true;
|
437 |
+
};
|
438 |
+
|
439 |
+
|
440 |
+
/**
|
441 |
+
* Based on a touchmove event object, check whether the touch has moved past a boundary since it started.
|
442 |
+
*
|
443 |
+
* @param {Event} event
|
444 |
+
* @returns {boolean}
|
445 |
+
*/
|
446 |
+
FastClick.prototype.touchHasMoved = function(event) {
|
447 |
+
var touch = event.changedTouches[0], boundary = this.touchBoundary;
|
448 |
+
|
449 |
+
if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
450 |
return true;
|
451 |
}
|
452 |
+
|
453 |
+
return false;
|
454 |
+
};
|
455 |
+
|
456 |
+
|
457 |
+
/**
|
458 |
+
* Update the last position.
|
459 |
+
*
|
460 |
+
* @param {Event} event
|
461 |
+
* @returns {boolean}
|
462 |
+
*/
|
463 |
+
FastClick.prototype.onTouchMove = function(event) {
|
464 |
+
if (!this.trackingClick) {
|
465 |
return true;
|
466 |
}
|
467 |
+
|
468 |
+
// If the touch has moved, cancel the click tracking
|
469 |
+
if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) {
|
470 |
+
this.trackingClick = false;
|
471 |
+
this.targetElement = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
472 |
}
|
473 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
474 |
return true;
|
475 |
+
};
|
476 |
+
|
477 |
+
|
478 |
+
/**
|
479 |
+
* Attempt to find the labelled control for the given label element.
|
480 |
+
*
|
481 |
+
* @param {EventTarget|HTMLLabelElement} labelElement
|
482 |
+
* @returns {Element|null}
|
483 |
+
*/
|
484 |
+
FastClick.prototype.findControl = function(labelElement) {
|
485 |
+
|
486 |
+
// Fast path for newer browsers supporting the HTML5 control attribute
|
487 |
+
if (labelElement.control !== undefined) {
|
488 |
+
return labelElement.control;
|
489 |
+
}
|
490 |
+
|
491 |
+
// All browsers under test that support touch events also support the HTML5 htmlFor attribute
|
492 |
+
if (labelElement.htmlFor) {
|
493 |
+
return document.getElementById(labelElement.htmlFor);
|
494 |
+
}
|
495 |
+
|
496 |
+
// If no for attribute exists, attempt to retrieve the first labellable descendant element
|
497 |
+
// the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label
|
498 |
+
return labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea');
|
499 |
+
};
|
500 |
+
|
501 |
+
|
502 |
+
/**
|
503 |
+
* On touch end, determine whether to send a click event at once.
|
504 |
+
*
|
505 |
+
* @param {Event} event
|
506 |
+
* @returns {boolean}
|
507 |
+
*/
|
508 |
+
FastClick.prototype.onTouchEnd = function(event) {
|
509 |
+
var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement;
|
510 |
+
|
511 |
+
if (!this.trackingClick) {
|
512 |
return true;
|
513 |
}
|
514 |
+
|
515 |
+
// Prevent phantom clicks on fast double-tap (issue #36)
|
516 |
+
if ((event.timeStamp - this.lastClickTime) < this.tapDelay) {
|
517 |
+
this.cancelNextClick = true;
|
518 |
+
return true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
519 |
}
|
520 |
+
|
521 |
+
// Reset to prevent wrong click cancel on input (issue #156).
|
522 |
+
this.cancelNextClick = false;
|
523 |
+
|
524 |
+
this.lastClickTime = event.timeStamp;
|
525 |
+
|
526 |
+
trackingClickStart = this.trackingClickStart;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
527 |
this.trackingClick = false;
|
528 |
+
this.trackingClickStart = 0;
|
529 |
+
|
530 |
+
// On some iOS devices, the targetElement supplied with the event is invalid if the layer
|
531 |
+
// is performing a transition or scroll, and has to be re-detected manually. Note that
|
532 |
+
// for this to function correctly, it must be called *after* the event target is checked!
|
533 |
+
// See issue #57; also filed as rdar://13048589 .
|
534 |
+
if (deviceIsIOSWithBadTarget) {
|
535 |
+
touch = event.changedTouches[0];
|
536 |
+
|
537 |
+
// In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null
|
538 |
+
targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement;
|
539 |
+
targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent;
|
540 |
+
}
|
541 |
+
|
542 |
+
targetTagName = targetElement.tagName.toLowerCase();
|
543 |
+
if (targetTagName === 'label') {
|
544 |
+
forElement = this.findControl(targetElement);
|
545 |
+
if (forElement) {
|
546 |
+
this.focus(targetElement);
|
547 |
+
if (deviceIsAndroid) {
|
548 |
+
return false;
|
549 |
+
}
|
550 |
+
|
551 |
+
targetElement = forElement;
|
552 |
+
}
|
553 |
+
} else if (this.needsFocus(targetElement)) {
|
554 |
+
|
555 |
+
// Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through.
|
556 |
+
// Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37).
|
557 |
+
if ((event.timeStamp - trackingClickStart) > 100 || (deviceIsIOS && window.top !== window && targetTagName === 'input')) {
|
558 |
+
this.targetElement = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
559 |
return false;
|
560 |
}
|
561 |
+
|
562 |
+
this.focus(targetElement);
|
563 |
+
this.sendClick(targetElement, event);
|
564 |
+
|
565 |
+
// Select elements need the event to go through on iOS 4, otherwise the selector menu won't open.
|
566 |
+
// Also this breaks opening selects when VoiceOver is active on iOS6, iOS7 (and possibly others)
|
567 |
+
if (!deviceIsIOS || targetTagName !== 'select') {
|
568 |
+
this.targetElement = null;
|
569 |
+
event.preventDefault();
|
570 |
+
}
|
571 |
+
|
572 |
return false;
|
573 |
}
|
574 |
+
|
575 |
+
if (deviceIsIOS && !deviceIsIOS4) {
|
576 |
+
|
577 |
+
// Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled
|
578 |
+
// and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42).
|
579 |
+
scrollParent = targetElement.fastClickScrollParent;
|
580 |
+
if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) {
|
581 |
+
return true;
|
582 |
+
}
|
583 |
}
|
584 |
+
|
585 |
+
// Prevent the actual click from going though - unless the target node is marked as requiring
|
586 |
+
// real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted.
|
587 |
+
if (!this.needsClick(targetElement)) {
|
588 |
+
event.preventDefault();
|
589 |
+
this.sendClick(targetElement, event);
|
|
|
|
|
|
|
|
|
|
|
590 |
}
|
591 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
592 |
return false;
|
593 |
+
};
|
594 |
+
|
595 |
+
|
596 |
+
/**
|
597 |
+
* On touch cancel, stop tracking the click.
|
598 |
+
*
|
599 |
+
* @returns {void}
|
600 |
+
*/
|
601 |
+
FastClick.prototype.onTouchCancel = function() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
602 |
this.trackingClick = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
603 |
this.targetElement = null;
|
604 |
+
};
|
605 |
+
|
606 |
+
|
607 |
+
/**
|
608 |
+
* Determine mouse events which should be permitted.
|
609 |
+
*
|
610 |
+
* @param {Event} event
|
611 |
+
* @returns {boolean}
|
612 |
+
*/
|
613 |
+
FastClick.prototype.onMouse = function(event) {
|
614 |
+
|
615 |
+
// If a target element was never set (because a touch event was never fired) allow the event
|
616 |
+
if (!this.targetElement) {
|
617 |
+
return true;
|
618 |
+
}
|
619 |
+
|
620 |
+
if (event.forwardedTouchEvent) {
|
621 |
+
return true;
|
622 |
+
}
|
623 |
+
|
624 |
+
// Programmatically generated events targeting a specific element should be permitted
|
625 |
+
if (!event.cancelable) {
|
626 |
+
return true;
|
627 |
+
}
|
628 |
+
|
629 |
+
// Derive and check the target element to see whether the mouse event needs to be permitted;
|
630 |
+
// unless explicitly enabled, prevent non-touch click events from triggering actions,
|
631 |
+
// to prevent ghost/doubleclicks.
|
632 |
+
if (!this.needsClick(this.targetElement) || this.cancelNextClick) {
|
633 |
+
|
634 |
+
// Prevent any user-added listeners declared on FastClick element from being fired.
|
635 |
+
if (event.stopImmediatePropagation) {
|
636 |
+
event.stopImmediatePropagation();
|
637 |
+
} else {
|
638 |
+
|
639 |
+
// Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
|
640 |
+
event.propagationStopped = true;
|
641 |
+
}
|
642 |
+
|
643 |
+
// Cancel the event
|
644 |
+
event.stopPropagation();
|
645 |
+
event.preventDefault();
|
646 |
+
|
647 |
+
return false;
|
648 |
+
}
|
649 |
+
|
650 |
+
// If the mouse event is permitted, return true for the action to go through.
|
651 |
return true;
|
652 |
+
};
|
653 |
+
|
654 |
+
|
655 |
+
/**
|
656 |
+
* On actual clicks, determine whether this is a touch-generated click, a click action occurring
|
657 |
+
* naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or
|
658 |
+
* an actual click which should be permitted.
|
659 |
+
*
|
660 |
+
* @param {Event} event
|
661 |
+
* @returns {boolean}
|
662 |
+
*/
|
663 |
+
FastClick.prototype.onClick = function(event) {
|
664 |
+
var permitted;
|
665 |
+
|
666 |
+
// It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early.
|
667 |
+
if (this.trackingClick) {
|
668 |
+
this.targetElement = null;
|
669 |
+
this.trackingClick = false;
|
670 |
+
return true;
|
671 |
+
}
|
672 |
+
|
673 |
+
// Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target.
|
674 |
+
if (event.target.type === 'submit' && event.detail === 0) {
|
675 |
+
return true;
|
676 |
+
}
|
677 |
+
|
678 |
+
permitted = this.onMouse(event);
|
679 |
+
|
680 |
+
// Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through.
|
681 |
+
if (!permitted) {
|
682 |
+
this.targetElement = null;
|
683 |
+
}
|
684 |
+
|
685 |
+
// If clicks are permitted, return true for the action to go through.
|
686 |
+
return permitted;
|
687 |
+
};
|
688 |
+
|
689 |
+
|
690 |
+
/**
|
691 |
+
* Remove all FastClick's event listeners.
|
692 |
+
*
|
693 |
+
* @returns {void}
|
694 |
+
*/
|
695 |
+
FastClick.prototype.destroy = function() {
|
696 |
+
var layer = this.layer;
|
697 |
+
|
698 |
if (deviceIsAndroid) {
|
699 |
+
layer.removeEventListener('mouseover', this.onMouse, true);
|
700 |
+
layer.removeEventListener('mousedown', this.onMouse, true);
|
701 |
+
layer.removeEventListener('mouseup', this.onMouse, true);
|
702 |
+
}
|
703 |
+
|
704 |
+
layer.removeEventListener('click', this.onClick, true);
|
705 |
+
layer.removeEventListener('touchstart', this.onTouchStart, false);
|
706 |
+
layer.removeEventListener('touchmove', this.onTouchMove, false);
|
707 |
+
layer.removeEventListener('touchend', this.onTouchEnd, false);
|
708 |
+
layer.removeEventListener('touchcancel', this.onTouchCancel, false);
|
709 |
+
};
|
710 |
+
|
711 |
+
|
712 |
+
/**
|
713 |
+
* Check whether FastClick is needed.
|
714 |
+
*
|
715 |
+
* @param {Element} layer The layer to listen on
|
716 |
+
*/
|
717 |
+
FastClick.notNeeded = function(layer) {
|
718 |
+
var metaViewport;
|
719 |
+
var chromeVersion;
|
720 |
+
var blackberryVersion;
|
721 |
+
|
722 |
+
// Devices that don't support touch don't need FastClick
|
723 |
+
if (typeof window.ontouchstart === 'undefined') {
|
724 |
return true;
|
725 |
}
|
726 |
+
|
727 |
+
// Chrome version - zero for other browsers
|
728 |
+
chromeVersion = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1];
|
729 |
+
|
730 |
+
if (chromeVersion) {
|
731 |
+
|
732 |
+
if (deviceIsAndroid) {
|
733 |
+
metaViewport = document.querySelector('meta[name=viewport]');
|
734 |
+
|
735 |
+
if (metaViewport) {
|
736 |
+
// Chrome on Android with user-scalable="no" doesn't need FastClick (issue #89)
|
737 |
+
if (metaViewport.content.indexOf('user-scalable=no') !== -1) {
|
738 |
+
return true;
|
739 |
+
}
|
740 |
+
// Chrome 32 and above with width=device-width or less don't need FastClick
|
741 |
+
if (chromeVersion > 31 && document.documentElement.scrollWidth <= window.outerWidth) {
|
742 |
+
return true;
|
743 |
+
}
|
744 |
}
|
745 |
+
|
746 |
+
// Chrome desktop doesn't need FastClick (issue #15)
|
747 |
+
} else {
|
748 |
+
return true;
|
749 |
+
}
|
750 |
+
}
|
751 |
+
|
752 |
+
if (deviceIsBlackBerry10) {
|
753 |
+
blackberryVersion = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/);
|
754 |
+
|
755 |
+
// BlackBerry 10.3+ does not require Fastclick library.
|
756 |
+
// https://github.com/ftlabs/fastclick/issues/251
|
757 |
+
if (blackberryVersion[1] >= 10 && blackberryVersion[2] >= 3) {
|
758 |
+
metaViewport = document.querySelector('meta[name=viewport]');
|
759 |
+
|
760 |
+
if (metaViewport) {
|
761 |
+
// user-scalable=no eliminates click delay.
|
762 |
+
if (metaViewport.content.indexOf('user-scalable=no') !== -1) {
|
763 |
+
return true;
|
764 |
+
}
|
765 |
+
// width=device-width (or less than device-width) eliminates click delay.
|
766 |
+
if (document.documentElement.scrollWidth <= window.outerWidth) {
|
767 |
+
return true;
|
768 |
+
}
|
769 |
}
|
770 |
}
|
771 |
}
|
|
|
772 |
|
773 |
+
// IE10 with -ms-touch-action: none, which disables double-tap-to-zoom (issue #97)
|
774 |
+
if (layer.style.msTouchAction === 'none') {
|
775 |
+
return true;
|
776 |
+
}
|
777 |
+
|
778 |
+
return false;
|
779 |
+
};
|
780 |
+
|
781 |
+
|
782 |
+
/**
|
783 |
+
* Factory method for creating a FastClick object
|
784 |
+
*
|
785 |
+
* @param {Element} layer The layer to listen on
|
786 |
+
* @param {Object} options The options to override the defaults
|
787 |
+
*/
|
788 |
+
FastClick.attach = function(layer, options) {
|
789 |
+
return new FastClick(layer, options);
|
790 |
+
};
|
791 |
+
|
792 |
+
|
793 |
+
if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
|
794 |
+
|
795 |
+
// AMD. Register as an anonymous module.
|
796 |
+
define(function() {
|
797 |
+
return FastClick;
|
798 |
+
});
|
799 |
+
} else if (typeof module !== 'undefined' && module.exports) {
|
800 |
+
module.exports = FastClick.attach;
|
801 |
+
module.exports.FastClick = FastClick;
|
802 |
+
} else {
|
803 |
+
window.FastClick = FastClick;
|
804 |
}
|
805 |
+
}());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
themes/foundation/modules/fastclick/fastclick.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
function FastClick(layer,options){var oldOnClick;options=options||{};this.trackingClick=false;this.trackingClickStart=0;this.targetElement=null;this.touchStartX=0;this.touchStartY=0;this.lastTouchIdentifier=0;this.touchBoundary=options.touchBoundary||10;this.layer=layer;this.tapDelay=options.tapDelay||200;if(FastClick.notNeeded(layer)){return}function bind(method,context){return function(){return method.apply(context,arguments)}}var methods=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"];var context=this;for(var i=0,l=methods.length;i<l;i++){context[methods[i]]=bind(context[methods[i]],context)}if(deviceIsAndroid){layer.addEventListener("mouseover",this.onMouse,true);layer.addEventListener("mousedown",this.onMouse,true);layer.addEventListener("mouseup",this.onMouse,true)}layer.addEventListener("click",this.onClick,true);layer.addEventListener("touchstart",this.onTouchStart,false);layer.addEventListener("touchmove",this.onTouchMove,false);layer.addEventListener("touchend",this.onTouchEnd,false);layer.addEventListener("touchcancel",this.onTouchCancel,false);if(!Event.prototype.stopImmediatePropagation){layer.removeEventListener=function(type,callback,capture){var rmv=Node.prototype.removeEventListener;if(type==="click"){rmv.call(layer,type,callback.hijacked||callback,capture)}else{rmv.call(layer,type,callback,capture)}};layer.addEventListener=function(type,callback,capture){var adv=Node.prototype.addEventListener;if(type==="click"){adv.call(layer,type,callback.hijacked||(callback.hijacked=function(event){if(!event.propagationStopped){callback(event)}}),capture)}else{adv.call(layer,type,callback,capture)}}}if(typeof layer.onclick==="function"){oldOnClick=layer.onclick;layer.addEventListener("click",function(event){oldOnClick(event)},false);layer.onclick=null}}var deviceIsAndroid=navigator.userAgent.indexOf("Android")>0;var deviceIsIOS=/iP(ad|hone|od)/.test(navigator.userAgent);var deviceIsIOS4=deviceIsIOS&&(/OS 4_\d(_\d)?/).test(navigator.userAgent);var deviceIsIOSWithBadTarget=deviceIsIOS&&(/OS ([6-9]|\d{2})_\d/).test(navigator.userAgent);var deviceIsBlackBerry10=navigator.userAgent.indexOf("BB10")>0;FastClick.prototype.needsClick=function(target){switch(target.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(target.disabled){return true}break;case"input":if((deviceIsIOS&&target.type==="file")||target.disabled){return true}break;case"label":case"video":return true}return(/\bneedsclick\b/).test(target.className)};FastClick.prototype.needsFocus=function(target){switch(target.nodeName.toLowerCase()){case"textarea":return true;case"select":return !deviceIsAndroid;case"input":switch(target.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return false}return !target.disabled&&!target.readOnly;default:return(/\bneedsfocus\b/).test(target.className)}};FastClick.prototype.sendClick=function(targetElement,event){var clickEvent,touch;if(document.activeElement&&document.activeElement!==targetElement){document.activeElement.blur()}touch=event.changedTouches[0];clickEvent=document.createEvent("MouseEvents");clickEvent.initMouseEvent(this.determineEventType(targetElement),true,true,window,1,touch.screenX,touch.screenY,touch.clientX,touch.clientY,false,false,false,false,0,null);clickEvent.forwardedTouchEvent=true;targetElement.dispatchEvent(clickEvent)};FastClick.prototype.determineEventType=function(targetElement){if(deviceIsAndroid&&targetElement.tagName.toLowerCase()==="select"){return"mousedown"}return"click"};FastClick.prototype.focus=function(targetElement){var length;if(deviceIsIOS&&targetElement.setSelectionRange&&targetElement.type.indexOf("date")!==0&&targetElement.type!=="time"){length=targetElement.value.length;targetElement.setSelectionRange(length,length)}else{targetElement.focus()}};FastClick.prototype.updateScrollParent=function(targetElement){var scrollParent,parentElement;scrollParent=targetElement.fastClickScrollParent;if(!scrollParent||!scrollParent.contains(targetElement)){parentElement=targetElement;do{if(parentElement.scrollHeight>parentElement.offsetHeight){scrollParent=parentElement;targetElement.fastClickScrollParent=parentElement;break}parentElement=parentElement.parentElement}while(parentElement)}if(scrollParent){scrollParent.fastClickLastScrollTop=scrollParent.scrollTop}};FastClick.prototype.getTargetElementFromEventTarget=function(eventTarget){if(eventTarget.nodeType===Node.TEXT_NODE){return eventTarget.parentNode}return eventTarget};FastClick.prototype.onTouchStart=function(event){var targetElement,touch,selection;if(event.targetTouches.length>1){return true}targetElement=this.getTargetElementFromEventTarget(event.target);touch=event.targetTouches[0];if(deviceIsIOS){selection=window.getSelection();if(selection.rangeCount&&!selection.isCollapsed){return true}if(!deviceIsIOS4){if(touch.identifier===this.lastTouchIdentifier){event.preventDefault();return false}this.lastTouchIdentifier=touch.identifier;this.updateScrollParent(targetElement)}}this.trackingClick=true;this.trackingClickStart=event.timeStamp;this.targetElement=targetElement;this.touchStartX=touch.pageX;this.touchStartY=touch.pageY;if((event.timeStamp-this.lastClickTime)<this.tapDelay){event.preventDefault()}return true};FastClick.prototype.touchHasMoved=function(event){var touch=event.changedTouches[0],boundary=this.touchBoundary;if(Math.abs(touch.pageX-this.touchStartX)>boundary||Math.abs(touch.pageY-this.touchStartY)>boundary){return true}return false};FastClick.prototype.onTouchMove=function(event){if(!this.trackingClick){return true}if(this.targetElement!==this.getTargetElementFromEventTarget(event.target)||this.touchHasMoved(event)){this.trackingClick=false;this.targetElement=null}return true};FastClick.prototype.findControl=function(labelElement){if(labelElement.control!==undefined){return labelElement.control}if(labelElement.htmlFor){return document.getElementById(labelElement.htmlFor)}return labelElement.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")};FastClick.prototype.onTouchEnd=function(event){var forElement,trackingClickStart,targetTagName,scrollParent,touch,targetElement=this.targetElement;if(!this.trackingClick){return true}if((event.timeStamp-this.lastClickTime)<this.tapDelay){this.cancelNextClick=true;return true}this.cancelNextClick=false;this.lastClickTime=event.timeStamp;trackingClickStart=this.trackingClickStart;this.trackingClick=false;this.trackingClickStart=0;if(deviceIsIOSWithBadTarget){touch=event.changedTouches[0];targetElement=document.elementFromPoint(touch.pageX-window.pageXOffset,touch.pageY-window.pageYOffset)||targetElement;targetElement.fastClickScrollParent=this.targetElement.fastClickScrollParent}targetTagName=targetElement.tagName.toLowerCase();if(targetTagName==="label"){forElement=this.findControl(targetElement);if(forElement){this.focus(targetElement);if(deviceIsAndroid){return false}targetElement=forElement}}else{if(this.needsFocus(targetElement)){if((event.timeStamp-trackingClickStart)>100||(deviceIsIOS&&window.top!==window&&targetTagName==="input")){this.targetElement=null;return false}this.focus(targetElement);this.sendClick(targetElement,event);if(!deviceIsIOS||targetTagName!=="select"){this.targetElement=null;event.preventDefault()}return false}}if(deviceIsIOS&&!deviceIsIOS4){scrollParent=targetElement.fastClickScrollParent;if(scrollParent&&scrollParent.fastClickLastScrollTop!==scrollParent.scrollTop){return true}}if(!this.needsClick(targetElement)){event.preventDefault();this.sendClick(targetElement,event)}return false};FastClick.prototype.onTouchCancel=function(){this.trackingClick=false;this.targetElement=null};FastClick.prototype.onMouse=function(event){if(!this.targetElement){return true}if(event.forwardedTouchEvent){return true}if(!event.cancelable){return true}if(!this.needsClick(this.targetElement)||this.cancelNextClick){if(event.stopImmediatePropagation){event.stopImmediatePropagation()}else{event.propagationStopped=true}event.stopPropagation();event.preventDefault();return false}return true};FastClick.prototype.onClick=function(event){var permitted;if(this.trackingClick){this.targetElement=null;this.trackingClick=false;return true}if(event.target.type==="submit"&&event.detail===0){return true}permitted=this.onMouse(event);if(!permitted){this.targetElement=null}return permitted};FastClick.prototype.destroy=function(){var layer=this.layer;if(deviceIsAndroid){layer.removeEventListener("mouseover",this.onMouse,true);layer.removeEventListener("mousedown",this.onMouse,true);layer.removeEventListener("mouseup",this.onMouse,true)}layer.removeEventListener("click",this.onClick,true);layer.removeEventListener("touchstart",this.onTouchStart,false);layer.removeEventListener("touchmove",this.onTouchMove,false);layer.removeEventListener("touchend",this.onTouchEnd,false);layer.removeEventListener("touchcancel",this.onTouchCancel,false)};FastClick.notNeeded=function(layer){var metaViewport;var chromeVersion;var blackberryVersion;if(typeof window.ontouchstart==="undefined"){return true}chromeVersion=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1];if(chromeVersion){if(deviceIsAndroid){metaViewport=document.querySelector("meta[name=viewport]");if(metaViewport){if(metaViewport.content.indexOf("user-scalable=no")!==-1){return true}if(chromeVersion>31&&document.documentElement.scrollWidth<=window.outerWidth){return true}}}else{return true}}if(deviceIsBlackBerry10){blackberryVersion=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/);if(blackberryVersion[1]>=10&&blackberryVersion[2]>=3){metaViewport=document.querySelector("meta[name=viewport]");if(metaViewport){if(metaViewport.content.indexOf("user-scalable=no")!==-1){return true}if(document.documentElement.scrollWidth<=window.outerWidth){return true}}}}if(layer.style.msTouchAction==="none"){return true}return false};FastClick.attach=function(layer,options){return new FastClick(layer,options)};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){define(function(){return FastClick})}else{if(typeof module!=="undefined"&&module.exports){module.exports=FastClick.attach;module.exports.FastClick=FastClick}else{window.FastClick=FastClick}};
|
1 |
+
(function(){function FastClick(layer,options){var oldOnClick;options=options||{};this.trackingClick=false;this.trackingClickStart=0;this.targetElement=null;this.touchStartX=0;this.touchStartY=0;this.lastTouchIdentifier=0;this.touchBoundary=options.touchBoundary||10;this.layer=layer;this.tapDelay=options.tapDelay||200;if(FastClick.notNeeded(layer)){return}function bind(method,context){return function(){return method.apply(context,arguments)}}var methods=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"];var context=this;for(var i=0,l=methods.length;i<l;i++){context[methods[i]]=bind(context[methods[i]],context)}if(deviceIsAndroid){layer.addEventListener("mouseover",this.onMouse,true);layer.addEventListener("mousedown",this.onMouse,true);layer.addEventListener("mouseup",this.onMouse,true)}layer.addEventListener("click",this.onClick,true);layer.addEventListener("touchstart",this.onTouchStart,false);layer.addEventListener("touchmove",this.onTouchMove,false);layer.addEventListener("touchend",this.onTouchEnd,false);layer.addEventListener("touchcancel",this.onTouchCancel,false);if(!Event.prototype.stopImmediatePropagation){layer.removeEventListener=function(type,callback,capture){var rmv=Node.prototype.removeEventListener;if(type==="click"){rmv.call(layer,type,callback.hijacked||callback,capture)}else{rmv.call(layer,type,callback,capture)}};layer.addEventListener=function(type,callback,capture){var adv=Node.prototype.addEventListener;if(type==="click"){adv.call(layer,type,callback.hijacked||(callback.hijacked=function(event){if(!event.propagationStopped){callback(event)}}),capture)}else{adv.call(layer,type,callback,capture)}}}if(typeof layer.onclick==="function"){oldOnClick=layer.onclick;layer.addEventListener("click",function(event){oldOnClick(event)},false);layer.onclick=null}}var deviceIsAndroid=navigator.userAgent.indexOf("Android")>0;var deviceIsIOS=/iP(ad|hone|od)/.test(navigator.userAgent);var deviceIsIOS4=deviceIsIOS&&(/OS 4_\d(_\d)?/).test(navigator.userAgent);var deviceIsIOSWithBadTarget=deviceIsIOS&&(/OS ([6-9]|\d{2})_\d/).test(navigator.userAgent);var deviceIsBlackBerry10=navigator.userAgent.indexOf("BB10")>0;FastClick.prototype.needsClick=function(target){switch(target.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(target.disabled){return true}break;case"input":if((deviceIsIOS&&target.type==="file")||target.disabled){return true}break;case"label":case"video":return true}return(/\bneedsclick\b/).test(target.className)};FastClick.prototype.needsFocus=function(target){switch(target.nodeName.toLowerCase()){case"textarea":return true;case"select":return !deviceIsAndroid;case"input":switch(target.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return false}return !target.disabled&&!target.readOnly;default:return(/\bneedsfocus\b/).test(target.className)}};FastClick.prototype.sendClick=function(targetElement,event){var clickEvent,touch;if(document.activeElement&&document.activeElement!==targetElement){document.activeElement.blur()}touch=event.changedTouches[0];clickEvent=document.createEvent("MouseEvents");clickEvent.initMouseEvent(this.determineEventType(targetElement),true,true,window,1,touch.screenX,touch.screenY,touch.clientX,touch.clientY,false,false,false,false,0,null);clickEvent.forwardedTouchEvent=true;targetElement.dispatchEvent(clickEvent)};FastClick.prototype.determineEventType=function(targetElement){if(deviceIsAndroid&&targetElement.tagName.toLowerCase()==="select"){return"mousedown"}return"click"};FastClick.prototype.focus=function(targetElement){var length;if(deviceIsIOS&&targetElement.setSelectionRange&&targetElement.type.indexOf("date")!==0&&targetElement.type!=="time"){length=targetElement.value.length;targetElement.setSelectionRange(length,length)}else{targetElement.focus()}};FastClick.prototype.updateScrollParent=function(targetElement){var scrollParent,parentElement;scrollParent=targetElement.fastClickScrollParent;if(!scrollParent||!scrollParent.contains(targetElement)){parentElement=targetElement;do{if(parentElement.scrollHeight>parentElement.offsetHeight){scrollParent=parentElement;targetElement.fastClickScrollParent=parentElement;break}parentElement=parentElement.parentElement}while(parentElement)}if(scrollParent){scrollParent.fastClickLastScrollTop=scrollParent.scrollTop}};FastClick.prototype.getTargetElementFromEventTarget=function(eventTarget){if(eventTarget.nodeType===Node.TEXT_NODE){return eventTarget.parentNode}return eventTarget};FastClick.prototype.onTouchStart=function(event){var targetElement,touch,selection;if(event.targetTouches.length>1){return true}targetElement=this.getTargetElementFromEventTarget(event.target);touch=event.targetTouches[0];if(deviceIsIOS){selection=window.getSelection();if(selection.rangeCount&&!selection.isCollapsed){return true}if(!deviceIsIOS4){if(touch.identifier&&touch.identifier===this.lastTouchIdentifier){event.preventDefault();return false}this.lastTouchIdentifier=touch.identifier;this.updateScrollParent(targetElement)}}this.trackingClick=true;this.trackingClickStart=event.timeStamp;this.targetElement=targetElement;this.touchStartX=touch.pageX;this.touchStartY=touch.pageY;if((event.timeStamp-this.lastClickTime)<this.tapDelay){event.preventDefault()}return true};FastClick.prototype.touchHasMoved=function(event){var touch=event.changedTouches[0],boundary=this.touchBoundary;if(Math.abs(touch.pageX-this.touchStartX)>boundary||Math.abs(touch.pageY-this.touchStartY)>boundary){return true}return false};FastClick.prototype.onTouchMove=function(event){if(!this.trackingClick){return true}if(this.targetElement!==this.getTargetElementFromEventTarget(event.target)||this.touchHasMoved(event)){this.trackingClick=false;this.targetElement=null}return true};FastClick.prototype.findControl=function(labelElement){if(labelElement.control!==undefined){return labelElement.control}if(labelElement.htmlFor){return document.getElementById(labelElement.htmlFor)}return labelElement.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")};FastClick.prototype.onTouchEnd=function(event){var forElement,trackingClickStart,targetTagName,scrollParent,touch,targetElement=this.targetElement;if(!this.trackingClick){return true}if((event.timeStamp-this.lastClickTime)<this.tapDelay){this.cancelNextClick=true;return true}this.cancelNextClick=false;this.lastClickTime=event.timeStamp;trackingClickStart=this.trackingClickStart;this.trackingClick=false;this.trackingClickStart=0;if(deviceIsIOSWithBadTarget){touch=event.changedTouches[0];targetElement=document.elementFromPoint(touch.pageX-window.pageXOffset,touch.pageY-window.pageYOffset)||targetElement;targetElement.fastClickScrollParent=this.targetElement.fastClickScrollParent}targetTagName=targetElement.tagName.toLowerCase();if(targetTagName==="label"){forElement=this.findControl(targetElement);if(forElement){this.focus(targetElement);if(deviceIsAndroid){return false}targetElement=forElement}}else{if(this.needsFocus(targetElement)){if((event.timeStamp-trackingClickStart)>100||(deviceIsIOS&&window.top!==window&&targetTagName==="input")){this.targetElement=null;return false}this.focus(targetElement);this.sendClick(targetElement,event);if(!deviceIsIOS||targetTagName!=="select"){this.targetElement=null;event.preventDefault()}return false}}if(deviceIsIOS&&!deviceIsIOS4){scrollParent=targetElement.fastClickScrollParent;if(scrollParent&&scrollParent.fastClickLastScrollTop!==scrollParent.scrollTop){return true}}if(!this.needsClick(targetElement)){event.preventDefault();this.sendClick(targetElement,event)}return false};FastClick.prototype.onTouchCancel=function(){this.trackingClick=false;this.targetElement=null};FastClick.prototype.onMouse=function(event){if(!this.targetElement){return true}if(event.forwardedTouchEvent){return true}if(!event.cancelable){return true}if(!this.needsClick(this.targetElement)||this.cancelNextClick){if(event.stopImmediatePropagation){event.stopImmediatePropagation()}else{event.propagationStopped=true}event.stopPropagation();event.preventDefault();return false}return true};FastClick.prototype.onClick=function(event){var permitted;if(this.trackingClick){this.targetElement=null;this.trackingClick=false;return true}if(event.target.type==="submit"&&event.detail===0){return true}permitted=this.onMouse(event);if(!permitted){this.targetElement=null}return permitted};FastClick.prototype.destroy=function(){var layer=this.layer;if(deviceIsAndroid){layer.removeEventListener("mouseover",this.onMouse,true);layer.removeEventListener("mousedown",this.onMouse,true);layer.removeEventListener("mouseup",this.onMouse,true)}layer.removeEventListener("click",this.onClick,true);layer.removeEventListener("touchstart",this.onTouchStart,false);layer.removeEventListener("touchmove",this.onTouchMove,false);layer.removeEventListener("touchend",this.onTouchEnd,false);layer.removeEventListener("touchcancel",this.onTouchCancel,false)};FastClick.notNeeded=function(layer){var metaViewport;var chromeVersion;var blackberryVersion;if(typeof window.ontouchstart==="undefined"){return true}chromeVersion=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1];if(chromeVersion){if(deviceIsAndroid){metaViewport=document.querySelector("meta[name=viewport]");if(metaViewport){if(metaViewport.content.indexOf("user-scalable=no")!==-1){return true}if(chromeVersion>31&&document.documentElement.scrollWidth<=window.outerWidth){return true}}}else{return true}}if(deviceIsBlackBerry10){blackberryVersion=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/);if(blackberryVersion[1]>=10&&blackberryVersion[2]>=3){metaViewport=document.querySelector("meta[name=viewport]");if(metaViewport){if(metaViewport.content.indexOf("user-scalable=no")!==-1){return true}if(document.documentElement.scrollWidth<=window.outerWidth){return true}}}}if(layer.style.msTouchAction==="none"){return true}return false};FastClick.attach=function(layer,options){return new FastClick(layer,options)};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){define(function(){return FastClick})}else{if(typeof module!=="undefined"&&module.exports){module.exports=FastClick.attach;module.exports.FastClick=FastClick}else{window.FastClick=FastClick}}}());
|
themes/foundation/modules/google-fonts/google-fonts.php
CHANGED
@@ -94,7 +94,7 @@ function foundation_google_fonts_init() {
|
|
94 |
if ( $family_string ) {
|
95 |
wp_enqueue_style(
|
96 |
'foundation_google_fonts',
|
97 |
-
'
|
98 |
false,
|
99 |
FOUNDATION_VERSION,
|
100 |
false
|
94 |
if ( $family_string ) {
|
95 |
wp_enqueue_style(
|
96 |
'foundation_google_fonts',
|
97 |
+
'//fonts.googleapis.com/css?family=' . $family_string,
|
98 |
false,
|
99 |
FOUNDATION_VERSION,
|
100 |
false
|
themes/foundation/modules/hammer/hammer.fakemultitouch.js
DELETED
@@ -1,101 +0,0 @@
|
|
1 |
-
(function(Hammer) {
|
2 |
-
'use strict';
|
3 |
-
|
4 |
-
/**
|
5 |
-
* enable multitouch on the desktop by pressing the shiftkey
|
6 |
-
* the other touch goes in the opposite direction so the center keeps at its place
|
7 |
-
* it's recommended to enable Hammer.debug.showTouches for this one
|
8 |
-
*
|
9 |
-
* @usage
|
10 |
-
* just call `Hammer.plugins.fakeMultitouch()` and you're done.
|
11 |
-
*/
|
12 |
-
Hammer.plugins.fakeMultitouch = function() {
|
13 |
-
// no need to fake it if it already is possible!
|
14 |
-
var maxTouchPoints = navigator.maxTouchPoints || navigator.msMaxTouchPoints;
|
15 |
-
if(Hammer.HAS_TOUCHEVENTS || (Hammer.HAS_POINTEREVENTS && maxTouchPoints > 1)) {
|
16 |
-
return;
|
17 |
-
}
|
18 |
-
|
19 |
-
// keeps the start position to keep it centered
|
20 |
-
var startPos = false;
|
21 |
-
|
22 |
-
/**
|
23 |
-
* overwrites Hammer.event.getTouchList.
|
24 |
-
* @method getTouchList
|
25 |
-
* @param {Event} ev
|
26 |
-
* @param {String} eventType
|
27 |
-
* @return {Array} Touches
|
28 |
-
*/
|
29 |
-
Hammer.event.getTouchList = function(ev, eventType) {
|
30 |
-
var touches = [];
|
31 |
-
var changedTouches = [];
|
32 |
-
|
33 |
-
// reset on start of a new touch
|
34 |
-
if(eventType == Hammer.EVENT_START) {
|
35 |
-
startPos = false;
|
36 |
-
}
|
37 |
-
|
38 |
-
// when the shift key is pressed, multitouch is possible on desktop
|
39 |
-
// why shift? because ctrl and alt are taken by osx and linux
|
40 |
-
if(ev.shiftKey) {
|
41 |
-
// on touchstart we store the position of the mouse for multitouch
|
42 |
-
if(!startPos) {
|
43 |
-
startPos = {
|
44 |
-
pageX: ev.pageX,
|
45 |
-
pageY: ev.pageY,
|
46 |
-
clientX: ev.clientX,
|
47 |
-
clientY: ev.clientY
|
48 |
-
};
|
49 |
-
|
50 |
-
// new touch came up
|
51 |
-
touches.trigger = Hammer.EVENT_TOUCH;
|
52 |
-
}
|
53 |
-
|
54 |
-
var distanceX = startPos.pageX - ev.pageX;
|
55 |
-
var distanceY = startPos.pageY - ev.pageY;
|
56 |
-
|
57 |
-
// fake second touch in the opposite direction
|
58 |
-
touches.push({
|
59 |
-
identifier: 1,
|
60 |
-
pageX: startPos.pageX - distanceX - 50,
|
61 |
-
pageY: startPos.pageY - distanceY + 50,
|
62 |
-
clientX: startPos.clientX - distanceX - 50,
|
63 |
-
clientY: startPos.clientY - distanceY + 50,
|
64 |
-
target: ev.target
|
65 |
-
}, {
|
66 |
-
identifier: 2,
|
67 |
-
pageX: startPos.pageX + distanceX + 50,
|
68 |
-
pageY: startPos.pageY + distanceY - 50,
|
69 |
-
clientX: startPos.clientX + distanceX + 50,
|
70 |
-
clientY: startPos.clientY + distanceY - 50,
|
71 |
-
target: ev.target
|
72 |
-
});
|
73 |
-
|
74 |
-
changedTouches = touches;
|
75 |
-
} else {
|
76 |
-
touches.push({
|
77 |
-
identifier: 1,
|
78 |
-
pageX: ev.pageX,
|
79 |
-
pageY: ev.pageY,
|
80 |
-
clientX: ev.clientX,
|
81 |
-
clientY: ev.clientY,
|
82 |
-
target: ev.target
|
83 |
-
});
|
84 |
-
|
85 |
-
// we came from multitouch, trigger a release event
|
86 |
-
// and use the changed touches from the multitouch
|
87 |
-
if(startPos) {
|
88 |
-
touches.trigger = Hammer.EVENT_RELEASE;
|
89 |
-
// use the touches as changedTouches, because we are in a move
|
90 |
-
} else {
|
91 |
-
changedTouches = touches;
|
92 |
-
}
|
93 |
-
startPos = false;
|
94 |
-
}
|
95 |
-
|
96 |
-
ev.touches = touches;
|
97 |
-
ev.changedTouches = changedTouches;
|
98 |
-
return touches;
|
99 |
-
};
|
100 |
-
};
|
101 |
-
})(window.Hammer);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
themes/foundation/modules/hammer/hammer.min.js
CHANGED
@@ -1,14 +1,8 @@
|
|
1 |
-
/*! Hammer.JS - v1.
|
2 |
* http://eightmedia.github.io/hammer.js
|
3 |
*
|
4 |
* Copyright (c) 2014 Jorik Tangelder <j.tangelder@gmail.com>;
|
5 |
* Licensed under the MIT license */
|
6 |
-
!function(a,b){"use strict";function c(){d.READY||(s.determineEventTypes(),r.each(d.gestures,function(a){u.register(a)}),s.onTouch(d.DOCUMENT,n,u.detect),s.onTouch(d.DOCUMENT,o,u.detect),d.READY=!0)}var d=function v(a,b){return new v.Instance(a,b||{})};d.VERSION="1.1.3",d.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},d.DOCUMENT=document,d.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,d.HAS_TOUCHEVENTS="ontouchstart"in a,d.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),d.NO_MOUSEEVENTS=d.HAS_TOUCHEVENTS&&d.IS_MOBILE||d.HAS_POINTEREVENTS,d.CALCULATE_INTERVAL=25;var e={},f=d.DIRECTION_DOWN="down",g=d.DIRECTION_LEFT="left",h=d.DIRECTION_UP="up",i=d.DIRECTION_RIGHT="right",j=d.POINTER_MOUSE="mouse",k=d.POINTER_TOUCH="touch",l=d.POINTER_PEN="pen",m=d.EVENT_START="start",n=d.EVENT_MOVE="move",o=d.EVENT_END="end",p=d.EVENT_RELEASE="release",q=d.EVENT_TOUCH="touch";d.READY=!1,d.plugins=d.plugins||{},d.gestures=d.gestures||{};var r=d.utils={extend:function(a,c,d){for(var e in c)!c.hasOwnProperty(e)||a[e]!==b&&d||(a[e]=c[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,c,d){var e,f;if("forEach"in a)a.forEach(c,d);else if(a.length!==b){for(e=0,f=a.length;f>e;e++)if(c.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&c.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(r.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?g:i:a.clientY-b.clientY>0?h:f},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==h||a==f},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=r.toCamelCase(b);for(var f=0;f<e.length;f++){var g=b;if(e[f]&&(g=e[f]+g.slice(0,1).toUpperCase()+g.slice(1)),g in a.style){a.style[g]=(null==d||d)&&c||"";break}}},toggleBehavior:function(a,b,c){if(b&&a&&a.style){r.each(b,function(b,d){r.setPrefixedCss(a,d,b,c)});var d=c&&function(){return!1};"none"==b.userSelect&&(a.onselectstart=d),"none"==b.userDrag&&(a.ondragstart=d)}},toCamelCase:function(a){return a.replace(/[_-]([a-z])/g,function(a){return a[1].toUpperCase()})}},s=d.event={preventMouseEvents:!1,started:!1,shouldDetect:!1,on:function(a,b,c,d){var e=b.split(" ");r.each(e,function(b){r.on(a,b,c),d&&d(b)})},off:function(a,b,c,d){var e=b.split(" ");r.each(e,function(b){r.off(a,b,c),d&&d(b)})},onTouch:function(a,b,c){var f=this,g=function(e){var g,h=e.type.toLowerCase(),i=d.HAS_POINTEREVENTS,j=r.inStr(h,"mouse");j&&f.preventMouseEvents||(j&&b==m&&0===e.button?(f.preventMouseEvents=!1,f.shouldDetect=!0):i&&b==m?f.shouldDetect=1===e.buttons||t.matchType(k,e):j||b!=m||(f.preventMouseEvents=!0,f.shouldDetect=!0),i&&b!=o&&t.updatePointer(b,e),f.shouldDetect&&(g=f.doDetect.call(f,e,b,a,c)),g==o&&(f.preventMouseEvents=!1,f.shouldDetect=!1,t.reset()),i&&b==o&&t.updatePointer(b,e))};return this.on(a,e[b],g),g},doDetect:function(a,b,c,d){var e=this.getTouchList(a,b),f=e.length,g=b,h=e.trigger,i=f;b==m?h=q:b==o&&(h=p,i=e.length-(a.changedTouches?a.changedTouches.length:1)),i>0&&this.started&&(g=n),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=o&&d.call(u,j),h&&(j.changedLength=i,j.eventType=h,d.call(u,j),j.eventType=g,delete j.changedLength),g==o&&(d.call(u,j),this.started=!1),g},determineEventTypes:function(){var b;return b=d.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:d.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],e[m]=b[0],e[n]=b[1],e[o]=b[2],e},getTouchList:function(a,b){if(d.HAS_POINTEREVENTS)return t.getTouchList();if(a.touches){if(b==n)return a.touches;var c=[],e=[].concat(r.toArray(a.touches),r.toArray(a.changedTouches)),f=[];return r.each(e,function(a){r.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=k;return r.inStr(d.type,"mouse")||t.matchType(j,d)?e=j:t.matchType(l,d)&&(e=l),{center:r.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return u.stopDetect()}}}},t=d.PointerEvent={pointers:{},getTouchList:function(){var a=[];return r.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==o?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[j]=c===(b.MSPOINTER_TYPE_MOUSE||j),d[k]=c===(b.MSPOINTER_TYPE_TOUCH||k),d[l]=c===(b.MSPOINTER_TYPE_PEN||l),d[a]},reset:function(){this.pointers={}}},u=d.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:r.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return r.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==o&&this.stopDetect(),a}},stopDetect:function(){this.previous=r.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,e,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>d.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,e=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==q||a.eventType==p)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=r.getVelocity(c,e,f),j.angle=r.getAngle(b,a.center),j.direction=r.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==q||a.eventType==p)&&(c.touches=[],r.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),r.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:r.getDistance(c.center,a.center),angle:r.getAngle(c.center,a.center),direction:r.getDirection(c.center,a.center),scale:r.getScale(c.touches,a.touches),rotation:r.getRotation(c.touches,a.touches)}),a},register:function(a){var c=a.defaults||{};return c[a.name]===b&&(c[a.name]=!0),r.extend(d.defaults,c,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.index<b.index?-1:a.index>b.index?1:0}),this.gestures}};d.Instance=function(a,b){var e=this;c(),this.element=a,this.enabled=!0,r.each(b,function(a,c){delete b[c],b[r.toCamelCase(c)]=a}),this.options=r.extend(r.extend({},d.defaults),b||{}),this.options.behavior&&r.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=s.onTouch(a,m,function(a){e.enabled&&a.eventType==m?u.startDetect(e,a):a.eventType==q&&u.detect(a)}),this.eventHandlers=[]},d.Instance.prototype={on:function(a,b){var c=this;return s.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return s.off(c.element,a,b,function(a){var d=r.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=d.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var e=this.element;return r.hasParent(b.target,e)&&(e=b.target),e.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(r.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)r.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],s.off(this.element,e[m],this.eventStartHandler),null}},function(a){function b(b,d){var e=u.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case m:c=!1;break;case n:if(b.distance<d.options.dragMinDistance&&e.name!=a)return;var j=e.startEvent.center;if(e.name!=a&&(e.name=a,d.options.dragDistanceCorrection&&b.distance>0)){var k=Math.abs(d.options.dragMinDistance/b.distance);j.pageX+=b.deltaX*k,j.pageY+=b.deltaY*k,j.clientX+=b.deltaX*k,j.clientY+=b.deltaY*k,b=u.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=r.isVertical(l)?b.deltaY<0?h:f:b.deltaX<0?g:i),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var q=r.isVertical(b.direction);(d.options.dragBlockVertical&&q||d.options.dragBlockHorizontal&&!q)&&b.preventDefault();break;case p:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case o:c=!1}}var c=!1;d.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),d.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=u.current;switch(b.eventType){case m:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case n:b.distance>e.holdThreshold&&clearTimeout(c);break;case p:clearTimeout(c)}}var c;d.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),d.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==p&&b.trigger(this.name,a)}},d.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==p){var c=a.touches.length,d=b.options;if(c<d.swipeMinTouches||c>d.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=u.current,i=u.previous;switch(b.eventType){case m:c=!1;break;case n:c=c||b.distance>g.tapMaxDistance;break;case o:!r.inStr(b.srcEvent.type,"cancel")&&b.deltaTime<g.tapMaxTime&&!c&&(e=i&&i.lastEvent&&b.timeStamp-i.lastEvent.timeStamp,f=!1,i&&i.name==a&&e&&e<g.doubleTapInterval&&b.distance<g.doubleTapDistance&&(d.trigger("doubletap",b),f=!0),(!f||g.tapAlways)&&(h.name=a,d.trigger(h.name,b)))}}var c=!1;d.gestures.Tap={name:a,index:100,handler:b,defaults:{tapMaxTime:250,tapMaxDistance:10,tapAlways:!0,doubleTapDistance:20,doubleTapInterval:300}}}("tap"),d.gestures.Touch={name:"touch",index:-1/0,defaults:{preventDefault:!1,preventMouse:!1},handler:function(a,b){return b.options.preventMouse&&a.pointerType==j?void a.stopDetect():(b.options.preventDefault&&a.preventDefault(),void(a.eventType==q&&b.trigger("touch",a)))}},function(a){function b(b,d){switch(b.eventType){case m:c=!1;break;case n:if(b.touches.length<2)return;var e=Math.abs(1-b.scale),f=Math.abs(b.rotation);if(e<d.options.transformMinScale&&f<d.options.transformMinRotation)return;u.current.name=a,c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),f>d.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case p:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;d.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return d}):"undefined"!=typeof module&&module.exports?module.exports=d:a.Hammer=d}(window);
|
7 |
|
8 |
-
/*! jQuery plugin for Hammer.JS - v1.1.3 - 2014-05-20
|
9 |
-
* http://eightmedia.github.com/hammer.js
|
10 |
-
*
|
11 |
-
* Copyright (c) 2014 Jorik Tangelder <j.tangelder@gmail.com>;
|
12 |
-
* Licensed under the MIT license */
|
13 |
|
14 |
-
!function(a,b){"use strict";function c(a,c){Date.now||(Date.now=function(){return(new Date).getTime()}),a.utils.each(["on","off"],function(d){a.utils[d]=function(a,e,f){c(a)[d](e,function(a){var d=c.extend({},a.originalEvent,a);d.button===b&&(d.button=a.which-1),f.call(this,d)})}}),a.Instance.prototype.trigger=function(a,b){var d=c(this.element);return d.has(b.target).length&&(d=c(b.target)),d.trigger({type:a,gesture:b})},c.fn.hammer=function(b){return this.each(function(){var d=c(this),e=d.data("hammer");e?e&&b&&a.utils.extend(e.options,b):d.data("hammer",new a(this,b||{}))})}}"function"==typeof define&&define.amd?define(["hammerjs","jquery"],c):c(a.Hammer,a.jQuery||a.Zepto)}(window);
|
1 |
+
/*! Hammer.JS - v1.0.11 - 2014-05-20
|
2 |
* http://eightmedia.github.io/hammer.js
|
3 |
*
|
4 |
* Copyright (c) 2014 Jorik Tangelder <j.tangelder@gmail.com>;
|
5 |
* Licensed under the MIT license */
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
+
!function(a,b){"use strict";function c(){d.READY||(s.determineEventTypes(),o.each(d.gestures,function(a){u.register(a)}),s.onTouch(d.DOCUMENT,m,u.detect),s.onTouch(d.DOCUMENT,n,u.detect),d.READY=!0)}var d=function(a,b){return new d.Instance(a,b||{})};d.VERSION="1.0.11",d.defaults={stop_browser_behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},d.HAS_POINTEREVENTS=a.navigator.pointerEnabled||a.navigator.msPointerEnabled,d.HAS_TOUCHEVENTS="ontouchstart"in a,d.MOBILE_REGEX=/mobile|tablet|ip(ad|hone|od)|android|silk/i,d.NO_MOUSEEVENTS=d.HAS_TOUCHEVENTS&&a.navigator.userAgent.match(d.MOBILE_REGEX),d.EVENT_TYPES={},d.UPDATE_VELOCITY_INTERVAL=16,d.DOCUMENT=a.document;var e=d.DIRECTION_DOWN="down",f=d.DIRECTION_LEFT="left",g=d.DIRECTION_UP="up",h=d.DIRECTION_RIGHT="right",i=d.POINTER_MOUSE="mouse",j=d.POINTER_TOUCH="touch",k=d.POINTER_PEN="pen",l=d.EVENT_START="start",m=d.EVENT_MOVE="move",n=d.EVENT_END="end";d.plugins=d.plugins||{},d.gestures=d.gestures||{},d.READY=!1;var o=d.utils={extend:function(a,c,d){for(var e in c)a[e]!==b&&d||(a[e]=c[e]);return a},each:function(a,c,d){var e,f;if("forEach"in a)a.forEach(c,d);else if(a.length!==b){for(e=-1;f=a[++e];)if(c.call(d,f,e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&c.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(o.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?f:h:a.clientY-b.clientY>0?g:e},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==g||a==e},toggleDefaultBehavior:function(a,b,c){if(b&&a&&a.style){o.each(["webkit","moz","Moz","ms","o",""],function(d){o.each(b,function(b,e){d&&(e=d+e.substring(0,1).toUpperCase()+e.substring(1)),e in a.style&&(a.style[e]=!c&&b)})});var d=function(){return!1};"none"==b.userSelect&&(a.onselectstart=!c&&d),"none"==b.userDrag&&(a.ondragstart=!c&&d)}}};d.Instance=function(a,b){var e=this;return c(),this.element=a,this.enabled=!0,this.options=o.extend(o.extend({},d.defaults),b||{}),this.options.stop_browser_behavior&&o.toggleDefaultBehavior(this.element,this.options.stop_browser_behavior,!1),this.eventStartHandler=s.onTouch(a,l,function(a){e.enabled&&u.startDetect(e,a)}),this.eventHandlers=[],this},d.Instance.prototype={on:function(a,b){var c=a.split(" ");return o.each(c,function(a){this.element.addEventListener(a,b,!1),this.eventHandlers.push({gesture:a,handler:b})},this),this},off:function(a,b){var c,d,e=a.split(" ");return o.each(e,function(a){for(this.element.removeEventListener(a,b,!1),c=-1;d=this.eventHandlers[++c];)d.gesture===a&&d.handler===b&&this.eventHandlers.splice(c,1)},this),this},trigger:function(a,b){b||(b={});var c=d.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var e=this.element;return o.hasParent(b.target,e)&&(e=b.target),e.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(this.options.stop_browser_behavior&&o.toggleDefaultBehavior(this.element,this.options.stop_browser_behavior,!0),a=-1;b=this.eventHandlers[++a];)this.element.removeEventListener(b.gesture,b.handler,!1);return this.eventHandlers=[],s.unbindDom(this.element,d.EVENT_TYPES[l],this.eventStartHandler),null}};var p=null,q=!1,r=!1,s=d.event={bindDom:function(a,b,c){var d=b.split(" ");o.each(d,function(b){a.addEventListener(b,c,!1)})},unbindDom:function(a,b,c){var d=b.split(" ");o.each(d,function(b){a.removeEventListener(b,c,!1)})},onTouch:function(a,b,c){var e=this,f=function(f){var g=f.type.toLowerCase();if(!o.inStr(g,"mouse")||!r){o.inStr(g,"touch")||o.inStr(g,"pointerdown")||o.inStr(g,"mouse")&&1===f.which?q=!0:o.inStr(g,"mouse")&&!f.which&&(q=!1),(o.inStr(g,"touch")||o.inStr(g,"pointer"))&&(r=!0);var h=0;q&&(d.HAS_POINTEREVENTS&&b!=n?h=t.updatePointer(b,f):o.inStr(g,"touch")?h=f.touches.length:r||(h=o.inStr(g,"up")?0:1),h>0&&b==n?b=m:h||(b=n),(h||null===p)&&(p=f),c.call(u,e.collectEventData(a,b,e.getTouchList(p,b),f)),d.HAS_POINTEREVENTS&&b==n&&(h=t.updatePointer(b,f))),h||(p=null,q=!1,r=!1,t.reset())}};return this.bindDom(a,d.EVENT_TYPES[b],f),f},determineEventTypes:function(){var a;a=d.HAS_POINTEREVENTS?t.getEvents():d.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],d.EVENT_TYPES[l]=a[0],d.EVENT_TYPES[m]=a[1],d.EVENT_TYPES[n]=a[2]},getTouchList:function(a){return d.HAS_POINTEREVENTS?t.getTouchList():a.touches?a.touches:(a.identifier=1,[a])},collectEventData:function(a,b,c,d){var e=j;return(o.inStr(d.type,"mouse")||t.matchType(i,d))&&(e=i),{center:o.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return u.stopDetect()}}}},t=d.PointerEvent={pointers:{},getTouchList:function(){var a=[];return o.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){return a==n?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b),Object.keys(this.pointers).length},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[i]=c===i,d[j]=c===j,d[k]=c===k,d[a]},getEvents:function(){return["pointerdown MSPointerDown","pointermove MSPointerMove","pointerup pointercancel MSPointerUp MSPointerCancel"]},reset:function(){this.pointers={}}},u=d.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:o.extend({},b),lastEvent:!1,lastVelocityEvent:!1,velocity:!1,name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return o.each(this.gestures,function(d){return this.stopped||c[d.name]===!1||b.enabled===!1||d.handler.call(d,a,b)!==!1?void 0:(this.stopDetect(),!1)},this),this.current&&(this.current.lastEvent=a),a.eventType==n&&!a.touches.length-1&&this.stopDetect(),a}},stopDetect:function(){this.previous=o.extend({},this.current),this.current=null,this.stopped=!0},getVelocityData:function(a,b,c,e){var f=this.current,g=f.lastVelocityEvent,h=f.velocity;g&&a.timeStamp-g.timeStamp>d.UPDATE_VELOCITY_INTERVAL?(h=o.getVelocity(a.timeStamp-g.timeStamp,a.center.clientX-g.center.clientX,a.center.clientY-g.center.clientY),f.lastVelocityEvent=a):f.velocity||(h=o.getVelocity(b,c,e),f.lastVelocityEvent=a),f.velocity=h,a.velocityX=h.x,a.velocityY=h.y},getInterimData:function(a){var b,c,d=this.current.lastEvent;a.eventType==n?(b=d&&d.interimAngle,c=d&&d.interimDirection):(b=d&&o.getAngle(d.center,a.center),c=d&&o.getDirection(d.center,a.center)),a.interimAngle=b,a.interimDirection=c},extendEventData:function(a){var b=this.current,c=b.startEvent;(a.touches.length!=c.touches.length||a.touches===c.touches)&&(c.touches=[],o.each(a.touches,function(a){c.touches.push(o.extend({},a))}));var d=a.timeStamp-c.timeStamp,e=a.center.clientX-c.center.clientX,f=a.center.clientY-c.center.clientY;return this.getVelocityData(a,d,e,f),this.getInterimData(a),o.extend(a,{startEvent:c,deltaTime:d,deltaX:e,deltaY:f,distance:o.getDistance(c.center,a.center),angle:o.getAngle(c.center,a.center),direction:o.getDirection(c.center,a.center),scale:o.getScale(c.touches,a.touches),rotation:o.getRotation(c.touches,a.touches)}),a},register:function(a){var c=a.defaults||{};return c[a.name]===b&&(c[a.name]=!0),o.extend(d.defaults,c,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.index<b.index?-1:a.index>b.index?1:0}),this.gestures}};d.gestures.Drag={name:"drag",index:50,defaults:{drag_min_distance:10,correct_for_drag_min_distance:!0,drag_max_touches:1,drag_block_horizontal:!1,drag_block_vertical:!1,drag_lock_to_axis:!1,drag_lock_min_distance:25},triggered:!1,handler:function(a,b){var c=u.current;if(c.name!=this.name&&this.triggered)return b.trigger(this.name+"end",a),void(this.triggered=!1);if(!(b.options.drag_max_touches>0&&a.touches.length>b.options.drag_max_touches))switch(a.eventType){case l:this.triggered=!1;break;case m:if(a.distance<b.options.drag_min_distance&&c.name!=this.name)return;var d=c.startEvent.center;if(c.name!=this.name&&(c.name=this.name,b.options.correct_for_drag_min_distance&&a.distance>0)){var i=Math.abs(b.options.drag_min_distance/a.distance);d.pageX+=a.deltaX*i,d.pageY+=a.deltaY*i,d.clientX+=a.deltaX*i,d.clientY+=a.deltaY*i,a=u.extendEventData(a)}(c.lastEvent.drag_locked_to_axis||b.options.drag_lock_to_axis&&b.options.drag_lock_min_distance<=a.distance)&&(a.drag_locked_to_axis=!0);var j=c.lastEvent.direction;a.drag_locked_to_axis&&j!==a.direction&&(a.direction=o.isVertical(j)?a.deltaY<0?g:e:a.deltaX<0?f:h),this.triggered||(b.trigger(this.name+"start",a),this.triggered=!0),b.trigger(this.name,a),b.trigger(this.name+a.direction,a);var k=o.isVertical(a.direction);(b.options.drag_block_vertical&&k||b.options.drag_block_horizontal&&!k)&&a.preventDefault();break;case n:this.triggered&&b.trigger(this.name+"end",a),this.triggered=!1}}},d.gestures.Hold={name:"hold",index:10,defaults:{hold_timeout:500,hold_threshold:2},timer:null,handler:function(a,b){switch(a.eventType){case l:clearTimeout(this.timer),u.current.name=this.name,this.timer=setTimeout(function(){"hold"==u.current.name&&b.trigger("hold",a)},b.options.hold_timeout);break;case m:a.distance>b.options.hold_threshold&&clearTimeout(this.timer);break;case n:clearTimeout(this.timer)}}},d.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==n&&b.trigger(this.name,a)}},d.gestures.Swipe={name:"swipe",index:40,defaults:{swipe_min_touches:1,swipe_max_touches:1,swipe_velocity:.7},handler:function(a,b){if(a.eventType==n){if(a.touches.length<b.options.swipe_min_touches||a.touches.length>b.options.swipe_max_touches)return;(a.velocityX>b.options.swipe_velocity||a.velocityY>b.options.swipe_velocity)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},d.gestures.Tap={name:"tap",index:100,defaults:{tap_max_touchtime:250,tap_max_distance:10,tap_always:!0,doubletap_distance:20,doubletap_interval:300},has_moved:!1,handler:function(a,b){var c,d,e;a.eventType==l?this.has_moved=!1:a.eventType!=m||this.moved?a.eventType==n&&"touchcancel"!=a.srcEvent.type&&a.deltaTime<b.options.tap_max_touchtime&&!this.has_moved&&(c=u.previous,d=c&&c.lastEvent&&a.timeStamp-c.lastEvent.timeStamp,e=!1,c&&"tap"==c.name&&d&&d<b.options.doubletap_interval&&a.distance<b.options.doubletap_distance&&(b.trigger("doubletap",a),e=!0),(!e||b.options.tap_always)&&(u.current.name="tap",b.trigger(u.current.name,a))):this.has_moved=a.distance>b.options.tap_max_distance}},d.gestures.Touch={name:"touch",index:-1/0,defaults:{prevent_default:!1,prevent_mouseevents:!1},handler:function(a,b){return b.options.prevent_mouseevents&&a.pointerType==i?void a.stopDetect():(b.options.prevent_default&&a.preventDefault(),void(a.eventType==l&&b.trigger(this.name,a)))}},d.gestures.Transform={name:"transform",index:45,defaults:{transform_min_scale:.01,transform_min_rotation:1,transform_always_block:!1,transform_within_instance:!1},triggered:!1,handler:function(a,b){if(u.current.name!=this.name&&this.triggered)return b.trigger(this.name+"end",a),void(this.triggered=!1);if(!(a.touches.length<2)){if(b.options.transform_always_block&&a.preventDefault(),b.options.transform_within_instance)for(var c=-1;a.touches[++c];)if(!o.hasParent(a.touches[c].target,b.element))return;switch(a.eventType){case l:this.triggered=!1;break;case m:var d=Math.abs(1-a.scale),e=Math.abs(a.rotation);if(d<b.options.transform_min_scale&&e<b.options.transform_min_rotation)return;u.current.name=this.name,this.triggered||(b.trigger(this.name+"start",a),this.triggered=!0),b.trigger(this.name,a),e>b.options.transform_min_rotation&&b.trigger("rotate",a),d>b.options.transform_min_scale&&(b.trigger("pinch",a),b.trigger("pinch"+(a.scale<1?"in":"out"),a));break;case n:this.triggered&&b.trigger(this.name+"end",a),this.triggered=!1}}}},"function"==typeof define&&define.amd?define(function(){return d}):"object"==typeof module&&module.exports?module.exports=d:a.Hammer=d}(window);
|
themes/foundation/modules/hammer/hammer.php
CHANGED
@@ -12,18 +12,10 @@ function foundation_hammer_init() {
|
|
12 |
);
|
13 |
|
14 |
wp_enqueue_script(
|
15 |
-
'
|
16 |
-
foundation_get_base_module_url() . '/hammer/hammer.
|
17 |
array( 'foundation_hammer' ),
|
18 |
FOUNDATION_VERSION,
|
19 |
true
|
20 |
);
|
21 |
-
|
22 |
-
// wp_enqueue_script(
|
23 |
-
// 'foundation_hammer_wptouch',
|
24 |
-
// foundation_get_base_module_url() . '/hammer/wptouch.hammer.js',
|
25 |
-
// array( 'foundation_hammer' ),
|
26 |
-
// FOUNDATION_VERSION,
|
27 |
-
// true
|
28 |
-
// );
|
29 |
}
|
12 |
);
|
13 |
|
14 |
wp_enqueue_script(
|
15 |
+
'foundation_hammer_wptouch',
|
16 |
+
foundation_get_base_module_url() . '/hammer/wptouch.hammer.js',
|
17 |
array( 'foundation_hammer' ),
|
18 |
FOUNDATION_VERSION,
|
19 |
true
|
20 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
}
|
themes/foundation/modules/hammer/wptouch.hammer.js
CHANGED
@@ -1,3 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
/* WPtouch Foundation Hammer Code */
|
2 |
|
3 |
// WPtouch-specific hammer code should go here
|
1 |
+
/*! jQuery plugin for Hammer.JS - v1.1.3 - 2014-05-20
|
2 |
+
* http://eightmedia.github.com/hammer.js
|
3 |
+
*
|
4 |
+
* Copyright (c) 2014 Jorik Tangelder <j.tangelder@gmail.com>;
|
5 |
+
* Licensed under the MIT license */
|
6 |
+
|
7 |
+
!function(a,b){"use strict";function c(a,c){Date.now||(Date.now=function(){return(new Date).getTime()}),a.utils.each(["on","off"],function(d){a.utils[d]=function(a,e,f){c(a)[d](e,function(a){var d=c.extend({},a.originalEvent,a);d.button===b&&(d.button=a.which-1),f.call(this,d)})}}),a.Instance.prototype.trigger=function(a,b){var d=c(this.element);return d.has(b.target).length&&(d=c(b.target)),d.trigger({type:a,gesture:b})},c.fn.hammer=function(b){return this.each(function(){var d=c(this),e=d.data("hammer");e?e&&b&&a.utils.extend(e.options,b):d.data("hammer",new a(this,b||{}))})}}"function"==typeof define&&define.amd?define(["hammerjs","jquery"],c):c(a.Hammer,a.jQuery||a.Zepto)}(window);
|
8 |
+
|
9 |
/* WPtouch Foundation Hammer Code */
|
10 |
|
11 |
// WPtouch-specific hammer code should go here
|
themes/foundation/modules/pushit/pushit.css
CHANGED
@@ -10,7 +10,7 @@ body {
|
|
10 |
position: fixed;
|
11 |
top: 0;
|
12 |
bottom: 0;
|
13 |
-
left: -
|
14 |
z-index: 100;
|
15 |
height: 100%;
|
16 |
-webkit-backface-visibility: hidden;
|
10 |
position: fixed;
|
11 |
top: 0;
|
12 |
bottom: 0;
|
13 |
+
left: -1000px;
|
14 |
z-index: 100;
|
15 |
height: 100%;
|
16 |
-webkit-backface-visibility: hidden;
|
themes/foundation/modules/pushit/pushit.js
CHANGED
@@ -28,7 +28,8 @@ var prefix = (function() {
|
|
28 |
menuWidth: 240, // Menu width (default is 240px)
|
29 |
menuSpeed: 330, // Speed of the menu transistion, in milliseconds
|
30 |
bezierCurve: '.290, .050, .140, .870', // Menu transistion bezier
|
31 |
-
pushed: false
|
|
|
32 |
}, options );
|
33 |
|
34 |
var hasOverflowScroll = typeof( jQuery( 'body' )[0].style['-webkit-overflow-scrolling'] ) !== 'undefined';
|
@@ -55,10 +56,20 @@ var prefix = (function() {
|
|
55 |
.css( 'position', 'relative' )
|
56 |
.css( prefix.css+'transition', prefix.css+'transform .'+settings.menuSpeed+'s cubic-bezier('+settings.bezierCurve+')' );
|
57 |
|
|
|
|
|
58 |
// Add the transition CSS for slide prep
|
59 |
jQuery( '.pushit' )
|
60 |
.css( prefix.css+'transition', prefix.css+'transform .'+settings.menuSpeed+'s cubic-bezier('+settings.bezierCurve+')' );
|
61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
function whichPushIt( clicked ){
|
63 |
var parent = clicked;
|
64 |
if ( parent.hasClass( 'pushit-left' ) ) {
|
@@ -78,6 +89,7 @@ var prefix = (function() {
|
|
78 |
// Cleanup memory usage!
|
79 |
settings.container
|
80 |
.css( prefix.css+'transform', '' )
|
|
|
81 |
.css( 'overflow', '' )
|
82 |
.css( 'height', '' );
|
83 |
pushitOverlay.css( 'z-index', '-1' );
|
@@ -94,32 +106,42 @@ var prefix = (function() {
|
|
94 |
}).css( 'z-index', '99' );
|
95 |
}
|
96 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
function togglePushIt( clicked ){
|
98 |
settings.pushed = clicked;
|
99 |
direction = whichPushIt( clicked );
|
100 |
var side = ('.pushit-' + direction );
|
101 |
var activeSide = jQuery( side );
|
102 |
jQuery( side ).toggleClass( 'pushit-open' );
|
103 |
-
|
104 |
// Left Menus
|
105 |
// Open
|
106 |
if ( side == '.pushit-left' && activeSide.hasClass( 'pushit-open' ) ) {
|
|
|
107 |
pushitCloseListener();
|
|
|
|
|
|
|
|
|
|
|
108 |
if ( prefix.css != '' ){
|
109 |
activeSide.css( prefix.css+'transform', 'translate3d(' + settings.menuWidth + 'px, 0, 0)' );
|
110 |
-
settings.container
|
111 |
-
.css( prefix.css+'transform', 'translate3d(' + settings.menuWidth + 'px, 0, 0)' )
|
112 |
-
.height( window.innerHeight )
|
113 |
-
.css( 'overflow', 'hidden' );
|
114 |
} else {
|
115 |
activeSide.animate( { left: '0' }, settings.menuSpeed );
|
116 |
-
settings.container
|
117 |
-
.height( window.innerHeight )
|
118 |
-
.css( 'overflow', 'hidden' )
|
119 |
-
.animate( { left: settings.menuWidth }, settings.menuSpeed );
|
120 |
}
|
121 |
// Closed
|
122 |
} else if ( side == '.pushit-left' && !activeSide.hasClass( 'pushit-open' ) ) {
|
|
|
123 |
if ( prefix.css != '' ){
|
124 |
activeSide.css( prefix.css+'transform', 'translate3d(0, 0, 0)' );
|
125 |
settings.container.css( prefix.css+'transform', 'translate3d(0, 0, 0)' );
|
@@ -132,24 +154,23 @@ var prefix = (function() {
|
|
132 |
// Right Menus
|
133 |
// Open
|
134 |
if ( side == '.pushit-right' && jQuery( side ).hasClass( 'pushit-open' ) ) {
|
|
|
135 |
pushitCloseListener();
|
|
|
|
|
|
|
|
|
|
|
136 |
if ( prefix.css != '' ){
|
137 |
-
activeSide
|
138 |
-
|
139 |
-
settings.container
|
140 |
-
.css( prefix.css+'transform', 'translate3d(-' + settings.menuWidth + 'px, 0, 0)' )
|
141 |
-
.height( window.innerHeight )
|
142 |
-
.css( 'overflow', 'hidden' );
|
143 |
} else {
|
144 |
-
activeSide
|
145 |
-
|
146 |
-
settings.container
|
147 |
-
.height( window.innerHeight )
|
148 |
-
.css( 'overflow', 'hidden' )
|
149 |
-
.animate( { left: '-' + settings.menuWidth }, settings.menuSpeed );
|
150 |
}
|
151 |
// Closed
|
152 |
} else if ( side == '.pushit-right' && !jQuery( side ).hasClass( 'pushit-open' ) ) {
|
|
|
153 |
if ( prefix.css != '' ){
|
154 |
activeSide.css( prefix.css+'transform', 'translate3d(0, 0, 0)' );
|
155 |
settings.container.css( prefix.css+'transform', 'translate3d(0, 0, 0)' );
|
@@ -168,13 +189,18 @@ var prefix = (function() {
|
|
168 |
// Close the menu on a rotate— no need to have the browser choke on render
|
169 |
var currentWindow = jQuery( window );
|
170 |
currentWindow.resize( function(){
|
171 |
-
if (
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
|
|
|
|
|
|
|
|
|
|
178 |
}
|
179 |
});
|
180 |
|
28 |
menuWidth: 240, // Menu width (default is 240px)
|
29 |
menuSpeed: 330, // Speed of the menu transistion, in milliseconds
|
30 |
bezierCurve: '.290, .050, .140, .870', // Menu transistion bezier
|
31 |
+
pushed: false,
|
32 |
+
lastAspect: false // Store last aspect ratio
|
33 |
}, options );
|
34 |
|
35 |
var hasOverflowScroll = typeof( jQuery( 'body' )[0].style['-webkit-overflow-scrolling'] ) !== 'undefined';
|
56 |
.css( 'position', 'relative' )
|
57 |
.css( prefix.css+'transition', prefix.css+'transform .'+settings.menuSpeed+'s cubic-bezier('+settings.bezierCurve+')' );
|
58 |
|
59 |
+
settings.lastAspect = getAspect();
|
60 |
+
|
61 |
// Add the transition CSS for slide prep
|
62 |
jQuery( '.pushit' )
|
63 |
.css( prefix.css+'transition', prefix.css+'transform .'+settings.menuSpeed+'s cubic-bezier('+settings.bezierCurve+')' );
|
64 |
|
65 |
+
function getAspect() {
|
66 |
+
if ( jQuery( window ).width() < jQuery( window ).height() ) {
|
67 |
+
return 'portrait';
|
68 |
+
} else {
|
69 |
+
return 'landscape';
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
function whichPushIt( clicked ){
|
74 |
var parent = clicked;
|
75 |
if ( parent.hasClass( 'pushit-left' ) ) {
|
89 |
// Cleanup memory usage!
|
90 |
settings.container
|
91 |
.css( prefix.css+'transform', '' )
|
92 |
+
.css( 'position', '' )
|
93 |
.css( 'overflow', '' )
|
94 |
.css( 'height', '' );
|
95 |
pushitOverlay.css( 'z-index', '-1' );
|
106 |
}).css( 'z-index', '99' );
|
107 |
}
|
108 |
|
109 |
+
function disableTouchMove(){
|
110 |
+
settings.container.on( 'touchmove', function( e ){
|
111 |
+
// e.preventDefault();
|
112 |
+
});
|
113 |
+
}
|
114 |
+
|
115 |
+
function enableTouchMove(){
|
116 |
+
// settings.container.off( 'touchmove' );
|
117 |
+
}
|
118 |
+
|
119 |
function togglePushIt( clicked ){
|
120 |
settings.pushed = clicked;
|
121 |
direction = whichPushIt( clicked );
|
122 |
var side = ('.pushit-' + direction );
|
123 |
var activeSide = jQuery( side );
|
124 |
jQuery( side ).toggleClass( 'pushit-open' );
|
|
|
125 |
// Left Menus
|
126 |
// Open
|
127 |
if ( side == '.pushit-left' && activeSide.hasClass( 'pushit-open' ) ) {
|
128 |
+
disableTouchMove();
|
129 |
pushitCloseListener();
|
130 |
+
settings.container
|
131 |
+
.height( window.innerHeight )
|
132 |
+
.css( 'position', 'fixed' )
|
133 |
+
.css( 'overflow', 'hidden' );
|
134 |
+
|
135 |
if ( prefix.css != '' ){
|
136 |
activeSide.css( prefix.css+'transform', 'translate3d(' + settings.menuWidth + 'px, 0, 0)' );
|
137 |
+
settings.container.css( prefix.css+'transform', 'translate3d(' + settings.menuWidth + 'px, 0, 0)' );
|
|
|
|
|
|
|
138 |
} else {
|
139 |
activeSide.animate( { left: '0' }, settings.menuSpeed );
|
140 |
+
settings.container.animate( { left: settings.menuWidth }, settings.menuSpeed );
|
|
|
|
|
|
|
141 |
}
|
142 |
// Closed
|
143 |
} else if ( side == '.pushit-left' && !activeSide.hasClass( 'pushit-open' ) ) {
|
144 |
+
enableTouchMove();
|
145 |
if ( prefix.css != '' ){
|
146 |
activeSide.css( prefix.css+'transform', 'translate3d(0, 0, 0)' );
|
147 |
settings.container.css( prefix.css+'transform', 'translate3d(0, 0, 0)' );
|
154 |
// Right Menus
|
155 |
// Open
|
156 |
if ( side == '.pushit-right' && jQuery( side ).hasClass( 'pushit-open' ) ) {
|
157 |
+
disableTouchMove();
|
158 |
pushitCloseListener();
|
159 |
+
settings.container
|
160 |
+
.height( window.innerHeight )
|
161 |
+
.css( 'position', 'fixed' )
|
162 |
+
.css( 'overflow', 'hidden' );
|
163 |
+
|
164 |
if ( prefix.css != '' ){
|
165 |
+
activeSide.css( prefix.css+'transform', 'translate3d(-' + settings.menuWidth + 'px, 0, 0)' );
|
166 |
+
settings.container.css( prefix.css+'transform', 'translate3d(-' + settings.menuWidth + 'px, 0, 0)' );
|
|
|
|
|
|
|
|
|
167 |
} else {
|
168 |
+
activeSide.animate( { left: settings.viewportWidth - settings.menuWidth }, settings.menuSpeed );
|
169 |
+
settings.container.animate( { left: '-' + settings.menuWidth }, settings.menuSpeed );
|
|
|
|
|
|
|
|
|
170 |
}
|
171 |
// Closed
|
172 |
} else if ( side == '.pushit-right' && !jQuery( side ).hasClass( 'pushit-open' ) ) {
|
173 |
+
enableTouchMove();
|
174 |
if ( prefix.css != '' ){
|
175 |
activeSide.css( prefix.css+'transform', 'translate3d(0, 0, 0)' );
|
176 |
settings.container.css( prefix.css+'transform', 'translate3d(0, 0, 0)' );
|
189 |
// Close the menu on a rotate— no need to have the browser choke on render
|
190 |
var currentWindow = jQuery( window );
|
191 |
currentWindow.resize( function(){
|
192 |
+
if ( settings.lastAspect != getAspect() ) {
|
193 |
+
settings.lastAspect = getAspect();
|
194 |
+
|
195 |
+
if ( jQuery( '.pushit-active' ).length ) {
|
196 |
+
pushitOverlay.trigger( 'click' );
|
197 |
+
cleanUpPushit();
|
198 |
+
}
|
199 |
+
|
200 |
+
if ( settings.rightMenu.length ) {
|
201 |
+
settings.viewportWidth = currentWindow.width();
|
202 |
+
settings.rightMenu.css( 'left', settings.viewportWidth + 'px' );
|
203 |
+
}
|
204 |
}
|
205 |
});
|
206 |
|
themes/foundation/modules/tappable/wptouch.tappable.js
CHANGED
@@ -8,6 +8,6 @@ jQuery( document ).ajaxComplete( function() {
|
|
8 |
|
9 |
function bindTappableEls( elements ){
|
10 |
jQuery( elements ).each( function(){
|
11 |
-
jQuery( this ).tappable({ touchDelay:
|
12 |
});
|
13 |
}
|
8 |
|
9 |
function bindTappableEls( elements ){
|
10 |
jQuery( elements ).each( function(){
|
11 |
+
jQuery( this ).tappable({ touchDelay: 74 });
|
12 |
});
|
13 |
}
|
themes/foundation/modules/webapp/webapp.php
CHANGED
@@ -41,7 +41,7 @@ function foundation_webapp_settings( $page_options ) {
|
|
41 |
'notice-message',
|
42 |
array(
|
43 |
wptouch_add_pro_setting( 'checkbox', 'webapp_show_notice', __( 'Show a notice message for iPhone, iPod touch & iPad visitors about my Web-App', 'wptouch-pro' ), __( 'WPtouch shows a notice bubble on 1st visit letting users know about your Web-App enabled website on iOS devices.', 'wptouch-pro' ), WPTOUCH_SETTING_BASIC, '1.0' ),
|
44 |
-
wptouch_add_pro_setting( 'textarea', 'webapp_notice_message', __( 'Notice message contents', 'wptouch-pro' ), __( '[
|
45 |
wptouch_add_pro_setting(
|
46 |
'list',
|
47 |
'webapp_notice_expiry_days',
|
@@ -116,6 +116,43 @@ function foundation_webapp_settings( $page_options ) {
|
|
116 |
FOUNDATION_SETTING_DOMAIN
|
117 |
);
|
118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
if ( foundation_is_theme_using_module( 'tablets' ) ) {
|
120 |
wptouch_add_page_section(
|
121 |
FOUNDATION_PAGE_WEB_APP,
|
41 |
'notice-message',
|
42 |
array(
|
43 |
wptouch_add_pro_setting( 'checkbox', 'webapp_show_notice', __( 'Show a notice message for iPhone, iPod touch & iPad visitors about my Web-App', 'wptouch-pro' ), __( 'WPtouch shows a notice bubble on 1st visit letting users know about your Web-App enabled website on iOS devices.', 'wptouch-pro' ), WPTOUCH_SETTING_BASIC, '1.0' ),
|
44 |
+
wptouch_add_pro_setting( 'textarea', 'webapp_notice_message', __( 'Notice message contents', 'wptouch-pro' ), __( '[icon] is used to display the appropriate bookmark icon for your device. Do not remove it from your message.', 'wptouch-pro' ), WPTOUCH_SETTING_ADVANCED, '1.0' ),
|
45 |
wptouch_add_pro_setting(
|
46 |
'list',
|
47 |
'webapp_notice_expiry_days',
|
116 |
FOUNDATION_SETTING_DOMAIN
|
117 |
);
|
118 |
|
119 |
+
|
120 |
+
wptouch_add_page_section(
|
121 |
+
FOUNDATION_PAGE_WEB_APP,
|
122 |
+
__( 'iPhone 6 Startup Screen', 'wptouch-pro' ),
|
123 |
+
'iphone-6-startup-screen',
|
124 |
+
array(
|
125 |
+
wptouch_add_pro_setting(
|
126 |
+
'image-upload',
|
127 |
+
'startup_screen_iphone_6',
|
128 |
+
sprintf( __( '%d by %d pixels (PNG)', 'wptouch-pro' ), 750,1294 ),
|
129 |
+
'',
|
130 |
+
WPTOUCH_SETTING_BASIC,
|
131 |
+
'1.0'
|
132 |
+
),
|
133 |
+
),
|
134 |
+
$page_options,
|
135 |
+
FOUNDATION_SETTING_DOMAIN
|
136 |
+
);
|
137 |
+
|
138 |
+
wptouch_add_page_section(
|
139 |
+
FOUNDATION_PAGE_WEB_APP,
|
140 |
+
__( 'iPhone 6+ Startup Screen', 'wptouch-pro' ),
|
141 |
+
'iphone-6plus-startup-screen',
|
142 |
+
array(
|
143 |
+
wptouch_add_pro_setting(
|
144 |
+
'image-upload',
|
145 |
+
'startup_screen_iphone_6plus',
|
146 |
+
sprintf( __( '%d by %d pixels (PNG)', 'wptouch-pro' ), 1242,2148 ),
|
147 |
+
'',
|
148 |
+
WPTOUCH_SETTING_BASIC,
|
149 |
+
'1.0'
|
150 |
+
),
|
151 |
+
),
|
152 |
+
$page_options,
|
153 |
+
FOUNDATION_SETTING_DOMAIN
|
154 |
+
);
|
155 |
+
|
156 |
if ( foundation_is_theme_using_module( 'tablets' ) ) {
|
157 |
wptouch_add_page_section(
|
158 |
FOUNDATION_PAGE_WEB_APP,
|
themes/foundation/readme.txt
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
Theme Name: Foundation
|
2 |
Theme URI: http://www.wptouch.com/
|
3 |
Description: The original WPtouch Pro foundation framework (DO NOT USE DIRECTLY)
|
4 |
-
Version: 2.
|
5 |
Author: BraveNewCode Inc.
|
1 |
Theme Name: Foundation
|
2 |
Theme URI: http://www.wptouch.com/
|
3 |
Description: The original WPtouch Pro foundation framework (DO NOT USE DIRECTLY)
|
4 |
+
Version: 2.2
|
5 |
Author: BraveNewCode Inc.
|
themes/foundation/root-functions.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
define( 'FOUNDATION_VERSION', '2.
|
4 |
|
5 |
define( 'FOUNDATION_DIR', WPTOUCH_DIR . '/themes/foundation' );
|
6 |
define( 'FOUNDATION_URL', WPTOUCH_URL . '/themes/foundation' );
|
@@ -136,7 +136,7 @@ function foundation_setting_defaults( $settings ) {
|
|
136 |
$settings->webapp_mode_enabled = false;
|
137 |
$settings->webapp_enable_persistence = true;
|
138 |
$settings->webapp_show_notice = true;
|
139 |
-
$settings->webapp_notice_message = __( 'Install this Web-App on your
|
140 |
$settings->webapp_ignore_urls = '';
|
141 |
$settings->webapp_notice_expiry_days = 30;
|
142 |
|
@@ -144,6 +144,8 @@ function foundation_setting_defaults( $settings ) {
|
|
144 |
$settings->startup_screen_iphone_2g_3g = false;
|
145 |
$settings->startup_screen_iphone_4_4s = false;
|
146 |
$settings->startup_screen_iphone_5 = false;
|
|
|
|
|
147 |
$settings->startup_screen_ipad_1_portrait = false;
|
148 |
$settings->startup_screen_ipad_1_landscape = false;
|
149 |
$settings->startup_screen_ipad_3_portrait = false;
|
@@ -202,6 +204,7 @@ function foundation_setting_defaults( $settings ) {
|
|
202 |
$settings->posts_per_page = '5';
|
203 |
$settings->excluded_categories = '';
|
204 |
$settings->excluded_tags = '';
|
|
|
205 |
$settings->twitter_account = 'none';
|
206 |
|
207 |
// Pages
|
@@ -360,6 +363,14 @@ function foundation_render_theme_settings( $page_options ) {
|
|
360 |
WPTOUCH_SETTING_BASIC,
|
361 |
'1.0'
|
362 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
363 |
);
|
364 |
|
365 |
$foundation_blog_settings = apply_filters( 'foundation_settings_blog', $foundation_blog_settings );
|
@@ -443,7 +454,7 @@ function foundation_render_theme_settings( $page_options ) {
|
|
443 |
wptouch_add_setting(
|
444 |
'image-upload',
|
445 |
'iphone_icon_retina',
|
446 |
-
sprintf( __( '%d by %d pixels (PNG)', 'wptouch-pro' ),
|
447 |
'',
|
448 |
WPTOUCH_SETTING_BASIC,
|
449 |
'2.0'
|
@@ -558,14 +569,16 @@ function foundation_setup_homescreen_icons() {
|
|
558 |
$has_icon = $settings->android_others_icon;
|
559 |
|
560 |
if ( wptouch_is_device_real_ipad() ) {
|
561 |
-
// Default (if no icon added in admin, or icon isn't formatted correctly, and as a catch-all)
|
562 |
-
echo '<link rel="apple-touch-icon-precomposed" href="' . WPTOUCH_DEFAULT_HOMESCREEN_ICON . '" />' . "\n";
|
563 |
// iPad home screen icons
|
564 |
foundation_maybe_output_homescreen_icon( $settings->ipad_icon_retina, 152, 152, 2 );
|
565 |
foundation_maybe_output_homescreen_icon( $settings->ipad_icon_retina, 144, 144, 2 );
|
566 |
foundation_maybe_output_homescreen_icon( $settings->ipad_icon_retina, 57, 57, 1 );
|
|
|
|
|
|
|
567 |
} else {
|
568 |
// iPhone / Android home screen icons
|
|
|
569 |
foundation_maybe_output_homescreen_icon( $settings->iphone_icon_retina, 120, 120, 2 );
|
570 |
foundation_maybe_output_homescreen_icon( $settings->iphone_icon_retina, 114, 114, 2 );
|
571 |
foundation_maybe_output_homescreen_icon( $settings->android_others_icon, 57, 57, 1 );
|
@@ -736,7 +749,7 @@ function foundation_body_classes( $classes ) {
|
|
736 |
$classes[] = 'rtl';
|
737 |
}
|
738 |
|
739 |
-
if ( wptouch_fdn_iOS_7() ) {
|
740 |
$classes[] = 'ios7';
|
741 |
}
|
742 |
|
@@ -798,22 +811,7 @@ function wptouch_fdn_iOS_7() {
|
|
798 |
If we're on iOS8
|
799 |
*/
|
800 |
function wptouch_fdn_iOS_8() {
|
801 |
-
if ( strpos( $_SERVER['HTTP_USER_AGENT'],'iPhone OS 8_' ) ) {
|
802 |
-
return true;
|
803 |
-
} else {
|
804 |
-
return false;
|
805 |
-
}
|
806 |
-
}
|
807 |
-
|
808 |
-
/*
|
809 |
-
If we're on iOS5+
|
810 |
-
|
811 |
-
We'll setup media queries for client side detection of
|
812 |
-
css features for fixed positioning ( -webkit-overflow-scrolling ),
|
813 |
-
but if server-side detection is needed, it's here :)
|
814 |
-
*/
|
815 |
-
function wptouch_fdn_iOS_5_or_higher() {
|
816 |
-
if ( strpos( $_SERVER['HTTP_USER_AGENT'],'iPhone OS 5_' ) || strpos( $_SERVER['HTTP_USER_AGENT'],'iPhone OS 6_' ) || strpos( $_SERVER['HTTP_USER_AGENT'],'iPhone OS 7_' ) || strpos( $_SERVER['HTTP_USER_AGENT'],'iPhone OS 8_' ) ) {
|
817 |
return true;
|
818 |
} else {
|
819 |
return false;
|
@@ -954,7 +952,7 @@ function wptouch_fdn_archive_load_more_text() {
|
|
954 |
}
|
955 |
}
|
956 |
|
957 |
-
function wptouch_fdn_ordered_cat_list( $num, $include_count = true, $taxonomy = 'category'
|
958 |
global $wpdb;
|
959 |
|
960 |
$settings = wptouch_get_settings( 'foundation' );
|
@@ -969,7 +967,7 @@ function wptouch_fdn_ordered_cat_list( $num, $include_count = true, $taxonomy =
|
|
969 |
}
|
970 |
}
|
971 |
|
972 |
-
echo
|
973 |
$sql = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}term_taxonomy INNER JOIN {$wpdb->prefix}terms ON {$wpdb->prefix}term_taxonomy.term_id = {$wpdb->prefix}terms.term_id WHERE taxonomy = '{$taxonomy}' AND {$wpdb->prefix}term_taxonomy.term_id NOT IN ($excluded_cats) AND count >= 1 ORDER BY count DESC LIMIT 0, $num");
|
974 |
|
975 |
if ( $sql ) {
|
@@ -992,7 +990,7 @@ function wptouch_fdn_ordered_cat_list( $num, $include_count = true, $taxonomy =
|
|
992 |
}
|
993 |
}
|
994 |
}
|
995 |
-
echo
|
996 |
}
|
997 |
|
998 |
function wptouch_fdn_ordered_tag_list( $num ) {
|
@@ -1026,6 +1024,8 @@ function wptouch_fdn_ordered_tag_list( $num ) {
|
|
1026 |
|
1027 |
function wptouch_fdn_display_comment( $comment, $args, $depth ) {
|
1028 |
$GLOBALS[ 'comment' ] = $comment;
|
|
|
|
|
1029 |
extract( $args, EXTR_SKIP );
|
1030 |
|
1031 |
locate_template( 'one-comment.php', true, false );
|
1 |
<?php
|
2 |
|
3 |
+
define( 'FOUNDATION_VERSION', '2.2' );
|
4 |
|
5 |
define( 'FOUNDATION_DIR', WPTOUCH_DIR . '/themes/foundation' );
|
6 |
define( 'FOUNDATION_URL', WPTOUCH_URL . '/themes/foundation' );
|
136 |
$settings->webapp_mode_enabled = false;
|
137 |
$settings->webapp_enable_persistence = true;
|
138 |
$settings->webapp_show_notice = true;
|
139 |
+
$settings->webapp_notice_message = __( 'Install this Web-App on your homescreen: tap [icon] then "Add to Home Screen"', 'wptouch-pro' );
|
140 |
$settings->webapp_ignore_urls = '';
|
141 |
$settings->webapp_notice_expiry_days = 30;
|
142 |
|
144 |
$settings->startup_screen_iphone_2g_3g = false;
|
145 |
$settings->startup_screen_iphone_4_4s = false;
|
146 |
$settings->startup_screen_iphone_5 = false;
|
147 |
+
$settings->startup_screen_iphone_6 = false;
|
148 |
+
$settings->startup_screen_iphone_6plus = false;
|
149 |
$settings->startup_screen_ipad_1_portrait = false;
|
150 |
$settings->startup_screen_ipad_1_landscape = false;
|
151 |
$settings->startup_screen_ipad_3_portrait = false;
|
204 |
$settings->posts_per_page = '5';
|
205 |
$settings->excluded_categories = '';
|
206 |
$settings->excluded_tags = '';
|
207 |
+
$settings->allow_nested_comment_replies = false;
|
208 |
$settings->twitter_account = 'none';
|
209 |
|
210 |
// Pages
|
363 |
WPTOUCH_SETTING_BASIC,
|
364 |
'1.0'
|
365 |
),
|
366 |
+
wptouch_add_setting(
|
367 |
+
'checkbox',
|
368 |
+
'allow_nested_comment_replies',
|
369 |
+
__( 'Allow nested comment replies from mobile visitors', 'wptouch-pro' ),
|
370 |
+
__( 'Will show a Reply link after each comment', 'wptouch-pro' ),
|
371 |
+
WPTOUCH_SETTING_BASIC,
|
372 |
+
'1.0'
|
373 |
+
),
|
374 |
);
|
375 |
|
376 |
$foundation_blog_settings = apply_filters( 'foundation_settings_blog', $foundation_blog_settings );
|
454 |
wptouch_add_setting(
|
455 |
'image-upload',
|
456 |
'iphone_icon_retina',
|
457 |
+
sprintf( __( '%d by %d pixels (PNG)', 'wptouch-pro' ), 180, 180 ),
|
458 |
'',
|
459 |
WPTOUCH_SETTING_BASIC,
|
460 |
'2.0'
|
569 |
$has_icon = $settings->android_others_icon;
|
570 |
|
571 |
if ( wptouch_is_device_real_ipad() ) {
|
|
|
|
|
572 |
// iPad home screen icons
|
573 |
foundation_maybe_output_homescreen_icon( $settings->ipad_icon_retina, 152, 152, 2 );
|
574 |
foundation_maybe_output_homescreen_icon( $settings->ipad_icon_retina, 144, 144, 2 );
|
575 |
foundation_maybe_output_homescreen_icon( $settings->ipad_icon_retina, 57, 57, 1 );
|
576 |
+
|
577 |
+
// Default (if no icon added in admin, or icon isn't formatted correctly, and as a catch-all)
|
578 |
+
echo '<link rel="apple-touch-icon-precomposed" href="' . WPTOUCH_DEFAULT_HOMESCREEN_ICON . '" />' . "\n";
|
579 |
} else {
|
580 |
// iPhone / Android home screen icons
|
581 |
+
foundation_maybe_output_homescreen_icon( $settings->iphone_icon_retina, 180, 180, 2 );
|
582 |
foundation_maybe_output_homescreen_icon( $settings->iphone_icon_retina, 120, 120, 2 );
|
583 |
foundation_maybe_output_homescreen_icon( $settings->iphone_icon_retina, 114, 114, 2 );
|
584 |
foundation_maybe_output_homescreen_icon( $settings->android_others_icon, 57, 57, 1 );
|
749 |
$classes[] = 'rtl';
|
750 |
}
|
751 |
|
752 |
+
if ( wptouch_fdn_iOS_7() || wptouch_fdn_iOS_8() ) {
|
753 |
$classes[] = 'ios7';
|
754 |
}
|
755 |
|
811 |
If we're on iOS8
|
812 |
*/
|
813 |
function wptouch_fdn_iOS_8() {
|
814 |
+
if ( strpos( $_SERVER['HTTP_USER_AGENT'],'iPhone OS 10_' ) || strpos( $_SERVER['HTTP_USER_AGENT'],'iPhone OS 8_' ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
815 |
return true;
|
816 |
} else {
|
817 |
return false;
|
952 |
}
|
953 |
}
|
954 |
|
955 |
+
function wptouch_fdn_ordered_cat_list( $num, $include_count = true, $taxonomy = 'category', $opening_tag = '<ul>', $closing_tag = '</ul>' ) {
|
956 |
global $wpdb;
|
957 |
|
958 |
$settings = wptouch_get_settings( 'foundation' );
|
967 |
}
|
968 |
}
|
969 |
|
970 |
+
echo $opening_tag;
|
971 |
$sql = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}term_taxonomy INNER JOIN {$wpdb->prefix}terms ON {$wpdb->prefix}term_taxonomy.term_id = {$wpdb->prefix}terms.term_id WHERE taxonomy = '{$taxonomy}' AND {$wpdb->prefix}term_taxonomy.term_id NOT IN ($excluded_cats) AND count >= 1 ORDER BY count DESC LIMIT 0, $num");
|
972 |
|
973 |
if ( $sql ) {
|
990 |
}
|
991 |
}
|
992 |
}
|
993 |
+
echo $closing_tag;
|
994 |
}
|
995 |
|
996 |
function wptouch_fdn_ordered_tag_list( $num ) {
|
1024 |
|
1025 |
function wptouch_fdn_display_comment( $comment, $args, $depth ) {
|
1026 |
$GLOBALS[ 'comment' ] = $comment;
|
1027 |
+
$GLOBALS[ 'comment_args' ] = $args;
|
1028 |
+
$GLOBALS[ 'comment_depth' ] = $depth;
|
1029 |
extract( $args, EXTR_SKIP );
|
1030 |
|
1031 |
locate_template( 'one-comment.php', true, false );
|
wptouch.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: WPtouch Mobile Plugin
|
4 |
Plugin URI: http://www.wptouch.com/
|
5 |
-
Version: 3.4
|
6 |
Description: Create a slick mobile WordPress website with just a few clicks
|
7 |
Author: BraveNewCode Inc.
|
8 |
Author URI: http://www.wptouch.com/
|
@@ -12,7 +12,7 @@
|
|
12 |
Trademark: 'WPtouch' is an unregistered trademark of BraveNewCode Inc., and 'WPtouch Pro' is a registered trademark of BraveNewCode Inc.; neither term can be re-used in conjuction with GPL v2 distributions or conveyances of this software under the license terms of the GPL v2 without express prior permission of BraveNewCode Inc.
|
13 |
*/
|
14 |
|
15 |
-
define( 'WPTOUCH_VERSION', '3.4
|
16 |
|
17 |
define( 'WPTOUCH_BASE_NAME', basename( __FILE__, '.php' ) . '.php' );
|
18 |
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: 3.5.4
|
6 |
Description: Create a slick mobile WordPress website with just a few clicks
|
7 |
Author: BraveNewCode Inc.
|
8 |
Author URI: http://www.wptouch.com/
|
12 |
Trademark: 'WPtouch' is an unregistered trademark of BraveNewCode Inc., and 'WPtouch Pro' is a registered trademark of BraveNewCode Inc.; neither term can be re-used in conjuction with GPL v2 distributions or conveyances of this software under the license terms of the GPL v2 without express prior permission of BraveNewCode Inc.
|
13 |
*/
|
14 |
|
15 |
+
define( 'WPTOUCH_VERSION', '3.5.4' );
|
16 |
|
17 |
define( 'WPTOUCH_BASE_NAME', basename( __FILE__, '.php' ) . '.php' );
|
18 |
define( 'WPTOUCH_DIR', WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . basename( __FILE__, '.php' ) );
|