WooCommerce Germanized - Version 1.4.3

Version Description

  • Feature - intro settings tour
  • Feature - better settings overview (new section: emails)
  • Feature - set variation delivery time based on parent
  • Feature - select product types (e.g. virtual) for digital loss of revocation notice
  • Fix - variable delivery time saving
  • Fix - stop unregistering prettyPhoto for direct debit
  • Fix - virtual price filter only on checkout/cart
  • Fix - adjusted class-wc-gzd-cart.php to newest version
Download this release

Release Info

Developer vendidero
Plugin Icon 128x128 WooCommerce Germanized
Version 1.4.3
Comparing to
See all releases

Code changes from version 1.4.2 to 1.4.3

assets/css/tourbus.css ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Tourbus leg definitions element */
2
+ .tourbus-legs {
3
+ display: none;
4
+ }
5
+ /* Container for tourbus leg */
6
+ .tourbus-leg {
7
+ position: absolute;
8
+ visibility: hidden;
9
+ top: 0;
10
+ border: 1px solid #E5E5E5;
11
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.15);
12
+ border-radius: 2px;
13
+ background: white;
14
+ }
15
+ /* Interior of leg, clearfixed */
16
+ .tourbus-leg-inner {
17
+ padding: 20px;
18
+ position: relative;
19
+ zoom: 1;
20
+ }
21
+ .tourbus-leg-inner:before,
22
+ .tourbus-leg-inner:after {
23
+ content: "\0020";
24
+ display: block;
25
+ height: 0;
26
+ overflow: hidden;
27
+ }
28
+ .tourbus-leg-inner:after {
29
+ clear: both;
30
+ }
31
+ /*
32
+ remove top padding/margin on headings
33
+ because the interior of the leg has padding
34
+ */
35
+ .tourbus-leg h1,
36
+ .tourbus-leg h2,
37
+ .tourbus-leg h3,
38
+ .tourbus-leg h4,
39
+ .tourbus-leg h5,
40
+ .tourbus-leg h6 {
41
+ margin-top: 0;
42
+ padding-top: 0;
43
+ }
44
+ /* Tourbus leg arrow */
45
+ .tourbus-arrow:before,
46
+ .tourbus-arrow:after {
47
+ border: solid rgba(0, 0, 0, 0);
48
+ content: " ";
49
+ height: 0;
50
+ width: 0;
51
+ position: absolute;
52
+ pointer-events: none;
53
+ border-color: transparent;
54
+ }
55
+ /* set the :after to be the _interior_ size of the arrow */
56
+ /* set the :before to be the _interior + desired border width_ */
57
+ .tourbus-arrow:after {
58
+ border-width: 14px;
59
+ }
60
+ .tourbus-arrow:before {
61
+ border-width: 16px;
62
+ }
63
+ /* Arrow background and border colors */
64
+ /*
65
+ change margin-top/left values here to
66
+ match the border width for :after above
67
+
68
+ border colors here are for the _interior_ of the arrow
69
+ */
70
+ .tourbus-arrow-right:after {
71
+ border-right-color: #ffffff;
72
+ margin-top: -14px;
73
+ top: 50%;
74
+ }
75
+ .tourbus-arrow-left:after {
76
+ border-left-color: #ffffff;
77
+ margin-top: -14px;
78
+ top: 50%;
79
+ }
80
+ .tourbus-arrow-bottom:after {
81
+ border-bottom-color: #ffffff;
82
+ margin-left: -14px;
83
+ left: 50%;
84
+ }
85
+ .tourbus-arrow-top:after {
86
+ border-top-color: #ffffff;
87
+ margin-left: -14px;
88
+ left: 50%;
89
+ }
90
+ /*
91
+ change margin-top/left values here to
92
+ match the border width for :before above
93
+
94
+ border colors here are for the _border_ of the arrow
95
+ */
96
+ .tourbus-arrow-right:before {
97
+ border-right-color: #e5e5e5;
98
+ margin-top: -16px;
99
+ top: 50%;
100
+ }
101
+ .tourbus-arrow-left:before {
102
+ border-left-color: #e5e5e5;
103
+ margin-top: -16px;
104
+ top: 50%;
105
+ }
106
+ .tourbus-arrow-bottom:before {
107
+ border-bottom-color: #e5e5e5;
108
+ margin-left: -16px;
109
+ left: 50%;
110
+ }
111
+ .tourbus-arrow-top:before {
112
+ border-top-color: #e5e5e5;
113
+ margin-left: -16px;
114
+ left: 50%;
115
+ }
116
+ /* you shouldn't need to change these */
117
+ .tourbus-arrow-right:after,
118
+ .tourbus-arrow-right:before {
119
+ right: 100%;
120
+ }
121
+ .tourbus-arrow-left:after,
122
+ .tourbus-arrow-left:before {
123
+ left: 100%;
124
+ }
125
+ .tourbus-arrow-bottom:after,
126
+ .tourbus-arrow-bottom:before {
127
+ bottom: 100%;
128
+ }
129
+ .tourbus-arrow-top:after,
130
+ .tourbus-arrow-top:before {
131
+ top: 100%;
132
+ }
assets/css/tourbus.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .tourbus-legs{display:none}.tourbus-leg{position:absolute;visibility:hidden;top:0;border:1px solid #E5E5E5;box-shadow:0 0 2px rgba(0,0,0,.15);border-radius:2px;background:#fff}.tourbus-leg-inner{padding:20px;position:relative;zoom:1}.tourbus-leg-inner:after,.tourbus-leg-inner:before{content:"\0020";display:block;height:0;overflow:hidden}.tourbus-leg-inner:after{clear:both}.tourbus-leg h1,.tourbus-leg h2,.tourbus-leg h3,.tourbus-leg h4,.tourbus-leg h5,.tourbus-leg h6{margin-top:0;padding-top:0}.tourbus-arrow:after,.tourbus-arrow:before{border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:transparent}.tourbus-arrow:after{border-width:14px}.tourbus-arrow:before{border-width:16px}.tourbus-arrow-right:after{border-right-color:#fff;margin-top:-14px;top:50%}.tourbus-arrow-left:after{border-left-color:#fff;margin-top:-14px;top:50%}.tourbus-arrow-bottom:after{border-bottom-color:#fff;margin-left:-14px;left:50%}.tourbus-arrow-top:after{border-top-color:#fff;margin-left:-14px;left:50%}.tourbus-arrow-right:before{border-right-color:#e5e5e5;margin-top:-16px;top:50%}.tourbus-arrow-left:before{border-left-color:#e5e5e5;margin-top:-16px;top:50%}.tourbus-arrow-bottom:before{border-bottom-color:#e5e5e5;margin-left:-16px;left:50%}.tourbus-arrow-top:before{border-top-color:#e5e5e5;margin-left:-16px;left:50%}.tourbus-arrow-right:after,.tourbus-arrow-right:before{right:100%}.tourbus-arrow-left:after,.tourbus-arrow-left:before{left:100%}.tourbus-arrow-bottom:after,.tourbus-arrow-bottom:before{bottom:100%}.tourbus-arrow-top:after,.tourbus-arrow-top:before{top:100%}
assets/css/woocommerce-gzd-admin.css CHANGED
@@ -105,12 +105,20 @@ table.data_table tr td p.form-field {
105
  color: #FFF;
106
  }
107
 
 
 
 
 
108
  .wc-gzd-premium img, .forminp-image img {
109
  width: 100%;
110
  height: auto;
111
  opacity: 0.7;
112
  }
113
 
 
 
 
 
114
  ._unit_price_auto_field label, ._unit_price_auto_field input, ._unit_price_auto_field .wc-gzd-premium-desc {
115
  opacity: 0.6;
116
  }
105
  color: #FFF;
106
  }
107
 
108
+ .tourbus-leg-inner .wc-gzd-pro {
109
+ top: -3px;
110
+ }
111
+
112
  .wc-gzd-premium img, .forminp-image img {
113
  width: 100%;
114
  height: auto;
115
  opacity: 0.7;
116
  }
117
 
118
+ .woocommerce table.form-table th.forminp-image {
119
+ padding-right: 0;
120
+ }
121
+
122
  ._unit_price_auto_field label, ._unit_price_auto_field input, ._unit_price_auto_field .wc-gzd-premium-desc {
123
  opacity: 0.6;
124
  }
assets/css/woocommerce-gzd-admin.min.css CHANGED
@@ -1 +1 @@
1
- .wc-gzd-admin-settings,.wc-gzd-admin-settings-sidebar{display:inline-block;box-sizing:border-box;vertical-align:top}.wc-gzd-button,.wc-gzd-button:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15)!important}table.data_table tr td p.form-field{margin:0!important;padding:0!important}.variable_cart_mini_desc .wp-editor-tools{margin-top:-3em}.variable_cart_mini_desc_pre .wp-editor-tools{margin-top:-2em}.wc-gzd-admin-settings{width:70%;border-right:1px solid #CCC;padding-right:2%}.wc-gzd-admin-settings-sidebar{padding-left:2%;margin-left:-4px;width:30%}.wc-gzd-admin-settings-agbs,.wc-gzd-admin-settings-sidebar img,.wc-gzd-admin-settings-widerruf{width:100%}.wc-gzd-admin-settings-sidebar .browser{border:1px solid #CCC;border-radius:3px}.wc-gzd-admin-settings-sidebar .small{font-size:.9em;display:block;margin-top:.5em}._billing_address_1_field,._billing_title_field,._shipping_address_1_field,._shipping_title_field{width:100%!important}.wc-gzd-button{background-color:#7b9f35!important;border:1px solid #557020!important}.wc-gzd-button:hover{background-color:#73982a!important;border:1px solid #557020!important}.wc-gzd-button-wrapper .button{margin-right:1em}.wc-gzd-premium-section-tab,.wc-gzd-pro{font-size:9px;background:#0074a2;border-radius:3px;line-height:9px;color:#FFF;text-align:center;text-transform:uppercase;padding:1px 3px;position:relative;top:-1px}.wc-gzd-premium-section-tab{background:#e4e4e4;border:1px solid #CCC;color:#555;padding:0 3px}.wc-gzd-pro{background:#222;font-style:normal;opacity:1!important;text-decoration:none}.wc-gzd-pro:hover,.wc-gzd-pro:visited{color:#FFF}.forminp-image img,.wc-gzd-premium img{width:100%;height:auto;opacity:.7}._unit_price_auto_field .wc-gzd-premium-desc,._unit_price_auto_field input,._unit_price_auto_field label{opacity:.6}table.wc-gzd-tax-example tr td,table.wc-gzd-tax-example tr th{padding:5px;font-size:.9em}table.wc-gzd-tax-example tr td:first-child,table.wc-gzd-tax-example tr th:first-child{padding-left:0}.wc-gzd-admin-settings tbody.ui-sortable tr:hover{cursor:move}#order_data .order_data_column ._direct_debit_bic_field,#order_data .order_data_column ._direct_debit_holder_field,#order_data .order_data_column ._direct_debit_iban_field,#order_data .order_data_column ._direct_debit_reference_field{clear:left;width:100%!important}#order_data .order_data_column ._direct_debit_bic_field input,#order_data .order_data_column ._direct_debit_holder_field input,#order_data .order_data_column ._direct_debit_iban_field input,#order_data .order_data_column ._direct_debit_reference_field input{width:100%}
1
+ .wc-gzd-admin-settings,.wc-gzd-admin-settings-sidebar{display:inline-block;box-sizing:border-box;vertical-align:top}.wc-gzd-button,.wc-gzd-button:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15)!important}table.data_table tr td p.form-field{margin:0!important;padding:0!important}.variable_cart_mini_desc .wp-editor-tools{margin-top:-3em}.variable_cart_mini_desc_pre .wp-editor-tools{margin-top:-2em}.wc-gzd-admin-settings{width:70%;border-right:1px solid #CCC;padding-right:2%}.wc-gzd-admin-settings-sidebar{padding-left:2%;margin-left:-4px;width:30%}.wc-gzd-admin-settings-agbs,.wc-gzd-admin-settings-sidebar img,.wc-gzd-admin-settings-widerruf{width:100%}.wc-gzd-admin-settings-sidebar .browser{border:1px solid #CCC;border-radius:3px}.wc-gzd-admin-settings-sidebar .small{font-size:.9em;display:block;margin-top:.5em}._billing_address_1_field,._billing_title_field,._shipping_address_1_field,._shipping_title_field{width:100%!important}.wc-gzd-button{background-color:#7b9f35!important;border:1px solid #557020!important}.wc-gzd-button:hover{background-color:#73982a!important;border:1px solid #557020!important}.wc-gzd-button-wrapper .button{margin-right:1em}.wc-gzd-premium-section-tab,.wc-gzd-pro{font-size:9px;background:#0074a2;border-radius:3px;line-height:9px;color:#FFF;text-align:center;text-transform:uppercase;padding:1px 3px;position:relative;top:-1px}.wc-gzd-premium-section-tab{background:#e4e4e4;border:1px solid #CCC;color:#555;padding:0 3px}.wc-gzd-pro{background:#222;font-style:normal;opacity:1!important;text-decoration:none}.wc-gzd-pro:hover,.wc-gzd-pro:visited{color:#FFF}.tourbus-leg-inner .wc-gzd-pro{top:-3px}.forminp-image img,.wc-gzd-premium img{width:100%;height:auto;opacity:.7}.woocommerce table.form-table th.forminp-image{padding-right:0}._unit_price_auto_field .wc-gzd-premium-desc,._unit_price_auto_field input,._unit_price_auto_field label{opacity:.6}table.wc-gzd-tax-example tr td,table.wc-gzd-tax-example tr th{padding:5px;font-size:.9em}table.wc-gzd-tax-example tr td:first-child,table.wc-gzd-tax-example tr th:first-child{padding-left:0}.wc-gzd-admin-settings tbody.ui-sortable tr:hover{cursor:move}#order_data .order_data_column ._direct_debit_bic_field,#order_data .order_data_column ._direct_debit_holder_field,#order_data .order_data_column ._direct_debit_iban_field,#order_data .order_data_column ._direct_debit_reference_field{clear:left;width:100%!important}#order_data .order_data_column ._direct_debit_bic_field input,#order_data .order_data_column ._direct_debit_holder_field input,#order_data .order_data_column ._direct_debit_iban_field input,#order_data .order_data_column ._direct_debit_reference_field input{width:100%}
assets/images/pro/settings-inline-emails.png ADDED
Binary file
assets/js/admin/scrollTo.js ADDED
@@ -0,0 +1,210 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery.scrollTo
3
+ * Copyright (c) 2007-2015 Ariel Flesler - aflesler<a>gmail<d>com | http://flesler.blogspot.com
4
+ * Licensed under MIT
5
+ * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
6
+ * @projectDescription Lightweight, cross-browser and highly customizable animated scrolling with jQuery
7
+ * @author Ariel Flesler
8
+ * @version 2.1.2
9
+ */
10
+ ;(function(factory) {
11
+ 'use strict';
12
+ if (typeof define === 'function' && define.amd) {
13
+ // AMD
14
+ define(['jquery'], factory);
15
+ } else if (typeof module !== 'undefined' && module.exports) {
16
+ // CommonJS
17
+ module.exports = factory(require('jquery'));
18
+ } else {
19
+ // Global
20
+ factory(jQuery);
21
+ }
22
+ })(function($) {
23
+ 'use strict';
24
+
25
+ var $scrollTo = $.scrollTo = function(target, duration, settings) {
26
+ return $(window).scrollTo(target, duration, settings);
27
+ };
28
+
29
+ $scrollTo.defaults = {
30
+ axis:'xy',
31
+ duration: 0,
32
+ limit:true
33
+ };
34
+
35
+ function isWin(elem) {
36
+ return !elem.nodeName ||
37
+ $.inArray(elem.nodeName.toLowerCase(), ['iframe','#document','html','body']) !== -1;
38
+ }
39
+
40
+ $.fn.scrollTo = function(target, duration, settings) {
41
+ if (typeof duration === 'object') {
42
+ settings = duration;
43
+ duration = 0;
44
+ }
45
+ if (typeof settings === 'function') {
46
+ settings = { onAfter:settings };
47
+ }
48
+ if (target === 'max') {
49
+ target = 9e9;
50
+ }
51
+
52
+ settings = $.extend({}, $scrollTo.defaults, settings);
53
+ // Speed is still recognized for backwards compatibility
54
+ duration = duration || settings.duration;
55
+ // Make sure the settings are given right
56
+ var queue = settings.queue && settings.axis.length > 1;
57
+ if (queue) {
58
+ // Let's keep the overall duration
59
+ duration /= 2;
60
+ }
61
+ settings.offset = both(settings.offset);
62
+ settings.over = both(settings.over);
63
+
64
+ return this.each(function() {
65
+ // Null target yields nothing, just like jQuery does
66
+ if (target === null) return;
67
+
68
+ var win = isWin(this),
69
+ elem = win ? this.contentWindow || window : this,
70
+ $elem = $(elem),
71
+ targ = target,
72
+ attr = {},
73
+ toff;
74
+
75
+ switch (typeof targ) {
76
+ // A number will pass the regex
77
+ case 'number':
78
+ case 'string':
79
+ if (/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)) {
80
+ targ = both(targ);
81
+ // We are done
82
+ break;
83
+ }
84
+ // Relative/Absolute selector
85
+ targ = win ? $(targ) : $(targ, elem);
86
+ /* falls through */
87
+ case 'object':
88
+ if (targ.length === 0) return;
89
+ // DOMElement / jQuery
90
+ if (targ.is || targ.style) {
91
+ // Get the real position of the target
92
+ toff = (targ = $(targ)).offset();
93
+ }
94
+ }
95
+
96
+ var offset = $.isFunction(settings.offset) && settings.offset(elem, targ) || settings.offset;
97
+
98
+ $.each(settings.axis.split(''), function(i, axis) {
99
+ var Pos = axis === 'x' ? 'Left' : 'Top',
100
+ pos = Pos.toLowerCase(),
101
+ key = 'scroll' + Pos,
102
+ prev = $elem[key](),
103
+ max = $scrollTo.max(elem, axis);
104
+
105
+ if (toff) {// jQuery / DOMElement
106
+ attr[key] = toff[pos] + (win ? 0 : prev - $elem.offset()[pos]);
107
+
108
+ // If it's a dom element, reduce the margin
109
+ if (settings.margin) {
110
+ attr[key] -= parseInt(targ.css('margin'+Pos), 10) || 0;
111
+ attr[key] -= parseInt(targ.css('border'+Pos+'Width'), 10) || 0;
112
+ }
113
+
114
+ attr[key] += offset[pos] || 0;
115
+
116
+ if (settings.over[pos]) {
117
+ // Scroll to a fraction of its width/height
118
+ attr[key] += targ[axis === 'x'?'width':'height']() * settings.over[pos];
119
+ }
120
+ } else {
121
+ var val = targ[pos];
122
+ // Handle percentage values
123
+ attr[key] = val.slice && val.slice(-1) === '%' ?
124
+ parseFloat(val) / 100 * max
125
+ : val;
126
+ }
127
+
128
+ // Number or 'number'
129
+ if (settings.limit && /^\d+$/.test(attr[key])) {
130
+ // Check the limits
131
+ attr[key] = attr[key] <= 0 ? 0 : Math.min(attr[key], max);
132
+ }
133
+
134
+ // Don't waste time animating, if there's no need.
135
+ if (!i && settings.axis.length > 1) {
136
+ if (prev === attr[key]) {
137
+ // No animation needed
138
+ attr = {};
139
+ } else if (queue) {
140
+ // Intermediate animation
141
+ animate(settings.onAfterFirst);
142
+ // Don't animate this axis again in the next iteration.
143
+ attr = {};
144
+ }
145
+ }
146
+ });
147
+
148
+ animate(settings.onAfter);
149
+
150
+ function animate(callback) {
151
+ var opts = $.extend({}, settings, {
152
+ // The queue setting conflicts with animate()
153
+ // Force it to always be true
154
+ queue: true,
155
+ duration: duration,
156
+ complete: callback && function() {
157
+ callback.call(elem, targ, settings);
158
+ }
159
+ });
160
+ $elem.animate(attr, opts);
161
+ }
162
+ });
163
+ };
164
+
165
+ // Max scrolling position, works on quirks mode
166
+ // It only fails (not too badly) on IE, quirks mode.
167
+ $scrollTo.max = function(elem, axis) {
168
+ var Dim = axis === 'x' ? 'Width' : 'Height',
169
+ scroll = 'scroll'+Dim;
170
+
171
+ if (!isWin(elem))
172
+ return elem[scroll] - $(elem)[Dim.toLowerCase()]();
173
+
174
+ var size = 'client' + Dim,
175
+ doc = elem.ownerDocument || elem.document,
176
+ html = doc.documentElement,
177
+ body = doc.body;
178
+
179
+ return Math.max(html[scroll], body[scroll]) - Math.min(html[size], body[size]);
180
+ };
181
+
182
+ function both(val) {
183
+ return $.isFunction(val) || $.isPlainObject(val) ? val : { top:val, left:val };
184
+ }
185
+
186
+ // Add special hooks so that window scroll properties can be animated
187
+ $.Tween.propHooks.scrollLeft =
188
+ $.Tween.propHooks.scrollTop = {
189
+ get: function(t) {
190
+ return $(t.elem)[t.prop]();
191
+ },
192
+ set: function(t) {
193
+ var curr = this.get(t);
194
+ // If interrupt is true and user scrolled, stop animating
195
+ if (t.options.interrupt && t._last && t._last !== curr) {
196
+ return $(t.elem).stop();
197
+ }
198
+ var next = Math.round(t.now);
199
+ // Don't waste CPU
200
+ // Browsers don't render floating point scroll
201
+ if (curr !== next) {
202
+ $(t.elem)[t.prop](next);
203
+ t._last = this.get(t);
204
+ }
205
+ }
206
+ };
207
+
208
+ // AMD requirement
209
+ return $scrollTo;
210
+ });
assets/js/admin/scrollTo.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery.scrollTo
3
+ * Copyright (c) 2007-2015 Ariel Flesler - aflesler<a>gmail<d>com | http://flesler.blogspot.com
4
+ * Licensed under MIT
5
+ * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
6
+ * @projectDescription Lightweight, cross-browser and highly customizable animated scrolling with jQuery
7
+ * @author Ariel Flesler
8
+ * @version 2.1.2
9
+ */
10
+ !function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){"use strict";function b(b){return!b.nodeName||-1!==a.inArray(b.nodeName.toLowerCase(),["iframe","#document","html","body"])}function c(b){return a.isFunction(b)||a.isPlainObject(b)?b:{top:b,left:b}}var d=a.scrollTo=function(b,c,d){return a(window).scrollTo(b,c,d)};return d.defaults={axis:"xy",duration:0,limit:!0},a.fn.scrollTo=function(e,f,g){"object"==typeof f&&(g=f,f=0),"function"==typeof g&&(g={onAfter:g}),"max"===e&&(e=9e9),g=a.extend({},d.defaults,g),f=f||g.duration;var h=g.queue&&g.axis.length>1;return h&&(f/=2),g.offset=c(g.offset),g.over=c(g.over),this.each(function(){function i(b){var c=a.extend({},g,{queue:!0,duration:f,complete:b&&function(){b.call(l,n,g)}});m.animate(o,c)}if(null!==e){var j,k=b(this),l=k?this.contentWindow||window:this,m=a(l),n=e,o={};switch(typeof n){case"number":case"string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(n)){n=c(n);break}n=k?a(n):a(n,l);case"object":if(0===n.length)return;(n.is||n.style)&&(j=(n=a(n)).offset())}var p=a.isFunction(g.offset)&&g.offset(l,n)||g.offset;a.each(g.axis.split(""),function(a,b){var c="x"===b?"Left":"Top",e=c.toLowerCase(),f="scroll"+c,q=m[f](),r=d.max(l,b);if(j)o[f]=j[e]+(k?0:q-m.offset()[e]),g.margin&&(o[f]-=parseInt(n.css("margin"+c),10)||0,o[f]-=parseInt(n.css("border"+c+"Width"),10)||0),o[f]+=p[e]||0,g.over[e]&&(o[f]+=n["x"===b?"width":"height"]()*g.over[e]);else{var s=n[e];o[f]=s.slice&&"%"===s.slice(-1)?parseFloat(s)/100*r:s}g.limit&&/^\d+$/.test(o[f])&&(o[f]=o[f]<=0?0:Math.min(o[f],r)),!a&&g.axis.length>1&&(q===o[f]?o={}:h&&(i(g.onAfterFirst),o={}))}),i(g.onAfter)}})},d.max=function(c,d){var e="x"===d?"Width":"Height",f="scroll"+e;if(!b(c))return c[f]-a(c)[e.toLowerCase()]();var g="client"+e,h=c.ownerDocument||c.document,i=h.documentElement,j=h.body;return Math.max(i[f],j[f])-Math.min(i[g],j[g])},a.Tween.propHooks.scrollLeft=a.Tween.propHooks.scrollTop={get:function(b){return a(b.elem)[b.prop]()},set:function(b){var c=this.get(b);if(b.options.interrupt&&b._last&&b._last!==c)return a(b.elem).stop();var d=Math.round(b.now);c!==d&&(a(b.elem)[b.prop](d),b._last=this.get(b))}},d});
assets/js/admin/tour.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery( function ( $ ) {
2
+
3
+ if ( $( '.wc-gzd-tour' ).length > 0 ) {
4
+
5
+ var tour = $( '.wc-gzd-tour' ).tourbus( {
6
+ leg: {
7
+ zindex: 99999,
8
+ width: '450',
9
+ scrollSpeed: 550,
10
+ }
11
+ } );
12
+
13
+ tour.data( 'tourbus' ).depart();
14
+
15
+ }
16
+
17
+ });
assets/js/admin/tour.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(function(a){if(a(".wc-gzd-tour").length>0){var b=a(".wc-gzd-tour").tourbus({leg:{zindex:99999,width:"450",scrollSpeed:550}});b.data("tourbus").depart()}});
assets/js/admin/tourbus.js ADDED
@@ -0,0 +1,593 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
2
+ //@ sourceMappingURL=jquery-tourbus.map
3
+ (function() {
4
+ var $, Bus, Leg, methods, tourbus,
5
+ __slice = [].slice;
6
+
7
+ $ = jQuery;
8
+
9
+ Bus = require('./modules/bus');
10
+
11
+ Leg = require('./modules/leg');
12
+
13
+ tourbus = $.tourbus = function() {
14
+ var args, method;
15
+ args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
16
+ method = args[0];
17
+ if (methods.hasOwnProperty(method)) {
18
+ args = args.slice(1);
19
+ } else if (method instanceof $) {
20
+ method = 'build';
21
+ } else if (typeof method === 'string') {
22
+ method = 'build';
23
+ args[0] = $(args[0]);
24
+ } else {
25
+ $.error("Unknown method of $.tourbus --", args);
26
+ }
27
+ return methods[method].apply(this, args);
28
+ };
29
+
30
+ $.fn.tourbus = function() {
31
+ var args;
32
+ args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
33
+ return this.each(function() {
34
+ args.unshift($(this));
35
+ tourbus.apply(null, ['build'].concat(__slice.call(args)));
36
+ return this;
37
+ });
38
+ };
39
+
40
+ methods = {
41
+ build: function(el, options) {
42
+ var built;
43
+ if (options == null) {
44
+ options = {};
45
+ }
46
+ options = $.extend(true, {}, tourbus.defaults, options);
47
+ built = [];
48
+ if (!(el instanceof $)) {
49
+ el = $(el);
50
+ }
51
+ el.each(function() {
52
+ return built.push(new Bus(this, options));
53
+ });
54
+ if (built.length === 0) {
55
+ $.error("" + el.selector + " was not found!");
56
+ }
57
+ if (built.length === 1) {
58
+ return built[0];
59
+ }
60
+ return built;
61
+ },
62
+ destroyAll: function() {
63
+ var bus, index, _ref, _results;
64
+ _ref = Bus._busses;
65
+ _results = [];
66
+ for (index in _ref) {
67
+ bus = _ref[index];
68
+ _results.push(bus.destroy());
69
+ }
70
+ return _results;
71
+ },
72
+ expose: function(global) {
73
+ return global.tourbus = {
74
+ Bus: Bus,
75
+ Leg: Leg
76
+ };
77
+ }
78
+ };
79
+
80
+ tourbus.defaults = {
81
+ debug: false,
82
+ autoDepart: false,
83
+ container: 'body',
84
+ "class": null,
85
+ startAt: 0,
86
+ onDepart: function() {
87
+ return null;
88
+ },
89
+ onStop: function() {
90
+ return null;
91
+ },
92
+ onLegStart: function() {
93
+ return null;
94
+ },
95
+ onLegEnd: function() {
96
+ return null;
97
+ },
98
+ leg: {
99
+ "class": null,
100
+ scrollTo: null,
101
+ scrollSpeed: 150,
102
+ scrollContext: 100,
103
+ orientation: 'bottom',
104
+ align: 'left',
105
+ width: 'auto',
106
+ margin: 10,
107
+ top: null,
108
+ left: null,
109
+ zindex: 9999,
110
+ arrow: "50%"
111
+ }
112
+ };
113
+
114
+ }).call(this);
115
+
116
+ },{"./modules/bus":2,"./modules/leg":3}],2:[function(require,module,exports){
117
+ //@ sourceMappingURL=bus.map
118
+ (function() {
119
+ var $, Bus, Leg, utils,
120
+ __slice = [].slice;
121
+
122
+ $ = jQuery;
123
+
124
+ Leg = require('./leg');
125
+
126
+ utils = require('./utils');
127
+
128
+ module.exports = Bus = (function() {
129
+ Bus._busses = {};
130
+
131
+ Bus._tours = 0;
132
+
133
+ Bus.uniqueId = function() {
134
+ return this._tours++;
135
+ };
136
+
137
+ function Bus(el, options) {
138
+ this.options = options;
139
+ this.id = this.constructor.uniqueId();
140
+ this.elId = "tourbus-" + this.id;
141
+ this.constructor._busses[this.id] = this;
142
+ this.$original = $(el);
143
+ this.rawData = this.$original.data();
144
+ this.$container = $(utils.dataProp(this.rawData.container, this.options.container));
145
+ this.$original.data({
146
+ tourbus: this
147
+ });
148
+ this.currentLegIndex = null;
149
+ this.legs = [];
150
+ this.legEls = this.$original.children('li');
151
+ this.totalLegs = this.legEls.length;
152
+ this._configureElement();
153
+ this._setupEvents();
154
+ if (utils.dataProp(this.rawData.autoDepart, this.options.autoDepart)) {
155
+ this.$original.trigger('depart.tourbus');
156
+ }
157
+ this._log('built tourbus with el', el.toString(), 'and options', this.options);
158
+ }
159
+
160
+ Bus.prototype.depart = function() {
161
+ this.running = true;
162
+ this.options.onDepart(this);
163
+ this._log('departing', this);
164
+ this.currentLegIndex = utils.dataProp(this.rawData.startAt, this.options.startAt);
165
+ return this.showLeg();
166
+ };
167
+
168
+ Bus.prototype.stop = function() {
169
+ if (!this.running) {
170
+ return;
171
+ }
172
+ $.each(this.legs, $.proxy(this.hideLeg, this));
173
+ this.currentLegIndex = null;
174
+ this.options.onStop(this);
175
+ return this.running = false;
176
+ };
177
+
178
+ Bus.prototype.on = function(event, selector, fn) {
179
+ return this.$container.on(event, selector, fn);
180
+ };
181
+
182
+ Bus.prototype.currentLeg = function() {
183
+ if (this.currentLegIndex === null) {
184
+ return null;
185
+ }
186
+ return this.legs[this.currentLegIndex];
187
+ };
188
+
189
+ Bus.prototype.buildLeg = function(i) {
190
+ var $legEl, data, leg;
191
+ $legEl = $(this.legEls[i]);
192
+ data = $legEl.data();
193
+ this.legs[i] = leg = new Leg({
194
+ bus: this,
195
+ original: $legEl,
196
+ target: data.el || 'body',
197
+ index: i,
198
+ rawData: data
199
+ });
200
+ leg.render();
201
+ this.$el.append(leg.$el);
202
+ leg._position();
203
+ leg.hide();
204
+ return leg;
205
+ };
206
+
207
+ Bus.prototype.showLeg = function(index) {
208
+ var leg, preventDefault;
209
+ if (index == null) {
210
+ index = this.currentLegIndex;
211
+ }
212
+ leg = this.legs[index] || this.buildLeg(index);
213
+ this._log('showLeg:', leg);
214
+ preventDefault = this.options.onLegStart(leg, this);
215
+ if (preventDefault !== false) {
216
+ leg.show();
217
+ }
218
+ if (++index < this.totalLegs && !this.legs[index]) {
219
+ return this.buildLeg(index);
220
+ }
221
+ };
222
+
223
+ Bus.prototype.hideLeg = function(index) {
224
+ var leg, preventDefault;
225
+ if (index == null) {
226
+ index = this.currentLegIndex;
227
+ }
228
+ leg = this.legs[index];
229
+ if (leg && leg.visible) {
230
+ this._log('hideLeg:', leg);
231
+ preventDefault = this.options.onLegEnd(leg, this);
232
+ if (preventDefault !== false) {
233
+ leg.hide();
234
+ }
235
+ }
236
+ if (--index > 0 && !this.legs[index]) {
237
+ return this.buildLeg(index);
238
+ }
239
+ };
240
+
241
+ Bus.prototype.repositionLegs = function() {
242
+ return $.each(this.legs, function() {
243
+ return this.reposition();
244
+ });
245
+ };
246
+
247
+ Bus.prototype.next = function() {
248
+ this.hideLeg();
249
+ this.currentLegIndex++;
250
+ if (this.currentLegIndex > this.totalLegs - 1) {
251
+ return this.$original.trigger('stop.tourbus');
252
+ } else {
253
+ return this.showLeg();
254
+ }
255
+ };
256
+
257
+ Bus.prototype.prev = function(cb) {
258
+ this.hideLeg();
259
+ this.currentLegIndex--;
260
+ if (this.currentLegIndex < 0) {
261
+ return this.$original.trigger('stop.tourbus');
262
+ } else {
263
+ return this.showLeg();
264
+ }
265
+ };
266
+
267
+ Bus.prototype.destroy = function() {
268
+ $.each(this.legs, function() {
269
+ return this.destroy();
270
+ });
271
+ this.legs = [];
272
+ delete this.constructor._busses[this.id];
273
+ this._teardownEvents();
274
+ this.$original.removeData('tourbus');
275
+ return this.$el.remove();
276
+ };
277
+
278
+ Bus.prototype._configureElement = function() {
279
+ this.$el = $("<div class='tourbus-container'></div>");
280
+ this.el = this.$el[0];
281
+ this.$el.attr({
282
+ id: this.elId
283
+ });
284
+ this.$el.addClass(utils.dataProp(this.rawData["class"], this.options["class"]));
285
+ return this.$container.append(this.$el);
286
+ };
287
+
288
+ Bus.prototype._log = function() {
289
+ if (!utils.dataProp(this.rawData.debug, this.options.debug)) {
290
+ return;
291
+ }
292
+ return console.log.apply(console, ["TOURBUS " + this.id + ":"].concat(__slice.call(arguments)));
293
+ };
294
+
295
+ Bus.prototype._setupEvents = function() {
296
+ this.$original.on('depart.tourbus', $.proxy(this.depart, this));
297
+ this.$original.on('stop.tourbus', $.proxy(this.stop, this));
298
+ this.$original.on('next.tourbus', $.proxy(this.next, this));
299
+ return this.$original.on('prev.tourbus', $.proxy(this.prev, this));
300
+ };
301
+
302
+ Bus.prototype._teardownEvents = function() {
303
+ return this.$original.off('.tourbus');
304
+ };
305
+
306
+ return Bus;
307
+
308
+ })();
309
+
310
+ }).call(this);
311
+
312
+ },{"./leg":3,"./utils":4}],3:[function(require,module,exports){
313
+ //@ sourceMappingURL=leg.map
314
+ (function() {
315
+ var $, Leg, utils, _addRule;
316
+
317
+ $ = jQuery;
318
+
319
+ utils = require('./utils');
320
+
321
+ module.exports = Leg = (function() {
322
+ function Leg(options) {
323
+ this.options = options;
324
+ this.$original = this.options.original;
325
+ this.bus = this.options.bus;
326
+ this.rawData = this.options.rawData;
327
+ this.index = this.options.index;
328
+ this.$target = $(this.options.target);
329
+ this.id = "" + this.bus.id + "-" + this.options.index;
330
+ this.elId = "tourbus-leg-" + this.id;
331
+ this.visible = false;
332
+ if (this.$target.length === 0) {
333
+ throw "" + this.$target.selector + " is not an element!";
334
+ }
335
+ this.content = this.$original.html();
336
+ this._setupOptions();
337
+ this._configureElement();
338
+ this._configureTarget();
339
+ this._configureScroll();
340
+ this._setupEvents();
341
+ this.bus._log("leg " + this.index + " made with options", this.options);
342
+ }
343
+
344
+ Leg.prototype.render = function() {
345
+ var arrowClass, html;
346
+ arrowClass = this.options.orientation === 'centered' ? '' : 'tourbus-arrow';
347
+ this.$el.addClass(" " + arrowClass + " tourbus-arrow-" + this.options.orientation + " ");
348
+ html = "<div class='tourbus-leg-inner'>\n " + this.content + "\n</div>";
349
+ this.$el.css({
350
+ width: this.options.width,
351
+ zIndex: this.options.zindex
352
+ }).html(html);
353
+ return this;
354
+ };
355
+
356
+ Leg.prototype.destroy = function() {
357
+ this.$el.remove();
358
+ return this._teardownEvents();
359
+ };
360
+
361
+ Leg.prototype.reposition = function() {
362
+ this._configureTarget();
363
+ return this._position();
364
+ };
365
+
366
+ Leg.prototype._position = function() {
367
+ var css, keys, rule, selector;
368
+ if (this.options.orientation !== 'centered') {
369
+ rule = {};
370
+ keys = {
371
+ top: 'left',
372
+ bottom: 'left',
373
+ left: 'top',
374
+ right: 'top'
375
+ };
376
+ if (typeof this.options.arrow === 'number') {
377
+ this.options.arrow += 'px';
378
+ }
379
+ rule[keys[this.options.orientation]] = this.options.arrow;
380
+ selector = "#" + this.elId + ".tourbus-arrow";
381
+ this.bus._log("adding rule for " + this.elId, rule);
382
+ _addRule("" + selector + ":before, " + selector + ":after", rule);
383
+ }
384
+ css = this._offsets();
385
+ this.bus._log('setting offsets on leg', css);
386
+ return this.$el.css(css);
387
+ };
388
+
389
+ Leg.prototype.show = function() {
390
+ this.visible = true;
391
+ this.$el.css({
392
+ visibility: 'visible',
393
+ opacity: 1.0,
394
+ zIndex: this.options.zindex
395
+ });
396
+ return this.scrollIntoView();
397
+ };
398
+
399
+ Leg.prototype.hide = function() {
400
+ this.visible = false;
401
+ if (this.bus.options.debug) {
402
+ return this.$el.css({
403
+ visibility: 'visible',
404
+ opacity: 0.4,
405
+ zIndex: 0
406
+ });
407
+ } else {
408
+ return this.$el.css({
409
+ visibility: 'hidden'
410
+ });
411
+ }
412
+ };
413
+
414
+ Leg.prototype.scrollIntoView = function() {
415
+ var scrollTarget;
416
+ if (!this.willScroll) {
417
+ return;
418
+ }
419
+ scrollTarget = utils.dataProp(this.options.scrollTo, this.$el);
420
+ this.bus._log('scrolling to', scrollTarget, this.scrollSettings);
421
+ return $.scrollTo(scrollTarget, this.scrollSettings);
422
+ };
423
+
424
+ Leg.prototype._setupOptions = function() {
425
+ var dataProps, globalOptions, prop, _i, _len, _results;
426
+ globalOptions = this.bus.options.leg;
427
+ dataProps = ['class', 'top', 'left', 'scrollTo', 'scrollSpeed', 'scrollContext', 'margin', 'arrow', 'align', 'width', 'zindex', 'orientation'];
428
+ _results = [];
429
+ for (_i = 0, _len = dataProps.length; _i < _len; _i++) {
430
+ prop = dataProps[_i];
431
+ _results.push(this.options[prop] = utils.dataProp(this.rawData[prop], globalOptions[prop]));
432
+ }
433
+ return _results;
434
+ };
435
+
436
+ Leg.prototype._configureElement = function() {
437
+ this.$el = $("<div class='tourbus-leg'></div>");
438
+ this.el = this.$el[0];
439
+ this.$el.attr({
440
+ id: this.elId
441
+ });
442
+ this.$el.addClass(this.options["class"]);
443
+ return this.$el.css({
444
+ zIndex: this.options.zindex
445
+ });
446
+ };
447
+
448
+ Leg.prototype._setupEvents = function() {
449
+ this.$el.on('click', '.tourbus-next', $.proxy(this.bus.next, this.bus));
450
+ this.$el.on('click', '.tourbus-prev', $.proxy(this.bus.prev, this.bus));
451
+ return this.$el.on('click', '.tourbus-stop', $.proxy(this.bus.stop, this.bus));
452
+ };
453
+
454
+ Leg.prototype._teardownEvents = function() {
455
+ return this.$el.off('click');
456
+ };
457
+
458
+ Leg.prototype._configureTarget = function() {
459
+ this.targetOffset = this.$target.offset();
460
+ if (utils.dataProp(this.options.top, false)) {
461
+ this.targetOffset.top = this.options.top;
462
+ }
463
+ if (utils.dataProp(this.options.left, false)) {
464
+ this.targetOffset.left = this.options.left;
465
+ }
466
+ this.targetWidth = this.$target.outerWidth();
467
+ return this.targetHeight = this.$target.outerHeight();
468
+ };
469
+
470
+ Leg.prototype._configureScroll = function() {
471
+ this.willScroll = $.fn.scrollTo && this.options.scrollTo !== false;
472
+ return this.scrollSettings = {
473
+ offset: -this.options.scrollContext,
474
+ easing: 'linear',
475
+ axis: 'y',
476
+ duration: this.options.scrollSpeed
477
+ };
478
+ };
479
+
480
+ Leg.prototype._offsets = function() {
481
+ var dimension, elHalf, elHeight, elWidth, offsets, targetHalf, targetHeightOverride, validOrientations;
482
+ elHeight = this.$el.height();
483
+ elWidth = this.$el.width();
484
+ offsets = {};
485
+ switch (this.options.orientation) {
486
+ case 'centered':
487
+ targetHeightOverride = $(window).height();
488
+ offsets.top = this.options.top;
489
+ if (!utils.dataProp(offsets.top, false)) {
490
+ offsets.top = (targetHeightOverride / 2) - (elHeight / 2);
491
+ }
492
+ offsets.left = (this.targetWidth / 2) - (elWidth / 2);
493
+ break;
494
+ case 'left':
495
+ offsets.top = this.targetOffset.top;
496
+ offsets.left = this.targetOffset.left - elWidth - this.options.margin;
497
+ break;
498
+ case 'right':
499
+ offsets.top = this.targetOffset.top;
500
+ offsets.left = this.targetOffset.left + this.targetWidth + this.options.margin;
501
+ break;
502
+ case 'top':
503
+ offsets.top = this.targetOffset.top - elHeight - this.options.margin;
504
+ offsets.left = this.targetOffset.left;
505
+ break;
506
+ case 'bottom':
507
+ offsets.top = this.targetOffset.top + this.targetHeight + this.options.margin;
508
+ offsets.left = this.targetOffset.left;
509
+ }
510
+ validOrientations = {
511
+ top: ['left', 'right'],
512
+ bottom: ['left', 'right'],
513
+ left: ['top', 'bottom'],
514
+ right: ['top', 'bottom']
515
+ };
516
+ if (utils.include(this.options.orientation, validOrientations[this.options.align])) {
517
+ switch (this.options.align) {
518
+ case 'right':
519
+ offsets.left += this.targetWidth - elWidth;
520
+ break;
521
+ case 'bottom':
522
+ offsets.top += this.targetHeight - elHeight;
523
+ }
524
+ } else if (this.options.align === 'center') {
525
+ if (utils.include(this.options.orientation, validOrientations.left)) {
526
+ targetHalf = this.targetWidth / 2;
527
+ elHalf = elWidth / 2;
528
+ dimension = 'left';
529
+ } else {
530
+ targetHalf = this.targetHeight / 2;
531
+ elHalf = elHeight / 2;
532
+ dimension = 'top';
533
+ }
534
+ if (targetHalf > elHalf) {
535
+ offsets[dimension] += targetHalf - elHalf;
536
+ } else {
537
+ offsets[dimension] -= elHalf - targetHalf;
538
+ }
539
+ }
540
+ return offsets;
541
+ };
542
+
543
+ return Leg;
544
+
545
+ })();
546
+
547
+ _addRule = (function(styleTag) {
548
+ var sheet;
549
+ styleTag.type = 'text/css';
550
+ document.getElementsByTagName('head')[0].appendChild(styleTag);
551
+ sheet = document.styleSheets[document.styleSheets.length - 1];
552
+ return function(selector, css) {
553
+ var key, propText;
554
+ propText = $.map((function() {
555
+ var _results;
556
+ _results = [];
557
+ for (key in css) {
558
+ _results.push(key);
559
+ }
560
+ return _results;
561
+ })(), function(p) {
562
+ return "" + p + ":" + css[p];
563
+ }).join(';');
564
+ try {
565
+ if (sheet.insertRule) {
566
+ sheet.insertRule("" + selector + " { " + propText + " }", (sheet.cssRules || sheet.rules).length);
567
+ } else {
568
+ sheet.addRule(selector, propText);
569
+ }
570
+ } catch (_error) {}
571
+ };
572
+ })(document.createElement('style'));
573
+
574
+ }).call(this);
575
+
576
+ },{"./utils":4}],4:[function(require,module,exports){
577
+ //@ sourceMappingURL=utils.map
578
+ (function() {
579
+ module.exports = {
580
+ dataProp: function(possiblyFalsy, alternative) {
581
+ if (possiblyFalsy === null || typeof possiblyFalsy === 'undefined') {
582
+ return alternative;
583
+ }
584
+ return possiblyFalsy;
585
+ },
586
+ include: function(value, array) {
587
+ return jQuery.inArray(value, array || []) !== -1;
588
+ }
589
+ };
590
+
591
+ }).call(this);
592
+
593
+ },{}]},{},[1,2,3,4]);
assets/js/admin/tourbus.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a){(function(){var b,c,d,e,f,g=[].slice;b=jQuery,c=a("./modules/bus"),d=a("./modules/leg"),f=b.tourbus=function(){var a,c;return a=1<=arguments.length?g.call(arguments,0):[],c=a[0],e.hasOwnProperty(c)?a=a.slice(1):c instanceof b?c="build":"string"==typeof c?(c="build",a[0]=b(a[0])):b.error("Unknown method of $.tourbus --",a),e[c].apply(this,a)},b.fn.tourbus=function(){var a;return a=1<=arguments.length?g.call(arguments,0):[],this.each(function(){return a.unshift(b(this)),f.apply(null,["build"].concat(g.call(a))),this})},e={build:function(a,d){var e;return null==d&&(d={}),d=b.extend(!0,{},f.defaults,d),e=[],a instanceof b||(a=b(a)),a.each(function(){return e.push(new c(this,d))}),0===e.length&&b.error(""+a.selector+" was not found!"),1===e.length?e[0]:e},destroyAll:function(){var a,b,d,e;d=c._busses,e=[];for(b in d)a=d[b],e.push(a.destroy());return e},expose:function(a){return a.tourbus={Bus:c,Leg:d}}},f.defaults={debug:!1,autoDepart:!1,container:"body","class":null,startAt:0,onDepart:function(){return null},onStop:function(){return null},onLegStart:function(){return null},onLegEnd:function(){return null},leg:{"class":null,scrollTo:null,scrollSpeed:150,scrollContext:100,orientation:"bottom",align:"left",width:"auto",margin:10,top:null,left:null,zindex:9999,arrow:"50%"}}}).call(this)},{"./modules/bus":2,"./modules/leg":3}],2:[function(a,b){(function(){var c,d,e,f,g=[].slice;c=jQuery,e=a("./leg"),f=a("./utils"),b.exports=d=function(){function a(a,b){this.options=b,this.id=this.constructor.uniqueId(),this.elId="tourbus-"+this.id,this.constructor._busses[this.id]=this,this.$original=c(a),this.rawData=this.$original.data(),this.$container=c(f.dataProp(this.rawData.container,this.options.container)),this.$original.data({tourbus:this}),this.currentLegIndex=null,this.legs=[],this.legEls=this.$original.children("li"),this.totalLegs=this.legEls.length,this._configureElement(),this._setupEvents(),f.dataProp(this.rawData.autoDepart,this.options.autoDepart)&&this.$original.trigger("depart.tourbus"),this._log("built tourbus with el",a.toString(),"and options",this.options)}return a._busses={},a._tours=0,a.uniqueId=function(){return this._tours++},a.prototype.depart=function(){return this.running=!0,this.options.onDepart(this),this._log("departing",this),this.currentLegIndex=f.dataProp(this.rawData.startAt,this.options.startAt),this.showLeg()},a.prototype.stop=function(){return this.running?(c.each(this.legs,c.proxy(this.hideLeg,this)),this.currentLegIndex=null,this.options.onStop(this),this.running=!1):void 0},a.prototype.on=function(a,b,c){return this.$container.on(a,b,c)},a.prototype.currentLeg=function(){return null===this.currentLegIndex?null:this.legs[this.currentLegIndex]},a.prototype.buildLeg=function(a){var b,d,f;return b=c(this.legEls[a]),d=b.data(),this.legs[a]=f=new e({bus:this,original:b,target:d.el||"body",index:a,rawData:d}),f.render(),this.$el.append(f.$el),f._position(),f.hide(),f},a.prototype.showLeg=function(a){var b,c;return null==a&&(a=this.currentLegIndex),b=this.legs[a]||this.buildLeg(a),this._log("showLeg:",b),c=this.options.onLegStart(b,this),c!==!1&&b.show(),++a<this.totalLegs&&!this.legs[a]?this.buildLeg(a):void 0},a.prototype.hideLeg=function(a){var b,c;return null==a&&(a=this.currentLegIndex),b=this.legs[a],b&&b.visible&&(this._log("hideLeg:",b),c=this.options.onLegEnd(b,this),c!==!1&&b.hide()),--a>0&&!this.legs[a]?this.buildLeg(a):void 0},a.prototype.repositionLegs=function(){return c.each(this.legs,function(){return this.reposition()})},a.prototype.next=function(){return this.hideLeg(),this.currentLegIndex++,this.currentLegIndex>this.totalLegs-1?this.$original.trigger("stop.tourbus"):this.showLeg()},a.prototype.prev=function(){return this.hideLeg(),this.currentLegIndex--,this.currentLegIndex<0?this.$original.trigger("stop.tourbus"):this.showLeg()},a.prototype.destroy=function(){return c.each(this.legs,function(){return this.destroy()}),this.legs=[],delete this.constructor._busses[this.id],this._teardownEvents(),this.$original.removeData("tourbus"),this.$el.remove()},a.prototype._configureElement=function(){return this.$el=c("<div class='tourbus-container'></div>"),this.el=this.$el[0],this.$el.attr({id:this.elId}),this.$el.addClass(f.dataProp(this.rawData["class"],this.options["class"])),this.$container.append(this.$el)},a.prototype._log=function(){return f.dataProp(this.rawData.debug,this.options.debug)?console.log.apply(console,["TOURBUS "+this.id+":"].concat(g.call(arguments))):void 0},a.prototype._setupEvents=function(){return this.$original.on("depart.tourbus",c.proxy(this.depart,this)),this.$original.on("stop.tourbus",c.proxy(this.stop,this)),this.$original.on("next.tourbus",c.proxy(this.next,this)),this.$original.on("prev.tourbus",c.proxy(this.prev,this))},a.prototype._teardownEvents=function(){return this.$original.off(".tourbus")},a}()}).call(this)},{"./leg":3,"./utils":4}],3:[function(a,b){(function(){var c,d,e,f;c=jQuery,e=a("./utils"),b.exports=d=function(){function a(a){if(this.options=a,this.$original=this.options.original,this.bus=this.options.bus,this.rawData=this.options.rawData,this.index=this.options.index,this.$target=c(this.options.target),this.id=""+this.bus.id+"-"+this.options.index,this.elId="tourbus-leg-"+this.id,this.visible=!1,0===this.$target.length)throw""+this.$target.selector+" is not an element!";this.content=this.$original.html(),this._setupOptions(),this._configureElement(),this._configureTarget(),this._configureScroll(),this._setupEvents(),this.bus._log("leg "+this.index+" made with options",this.options)}return a.prototype.render=function(){var a,b;return a="centered"===this.options.orientation?"":"tourbus-arrow",this.$el.addClass(" "+a+" tourbus-arrow-"+this.options.orientation+" "),b="<div class='tourbus-leg-inner'>\n "+this.content+"\n</div>",this.$el.css({width:this.options.width,zIndex:this.options.zindex}).html(b),this},a.prototype.destroy=function(){return this.$el.remove(),this._teardownEvents()},a.prototype.reposition=function(){return this._configureTarget(),this._position()},a.prototype._position=function(){var a,b,c,d;return"centered"!==this.options.orientation&&(c={},b={top:"left",bottom:"left",left:"top",right:"top"},"number"==typeof this.options.arrow&&(this.options.arrow+="px"),c[b[this.options.orientation]]=this.options.arrow,d="#"+this.elId+".tourbus-arrow",this.bus._log("adding rule for "+this.elId,c),f(""+d+":before, "+d+":after",c)),a=this._offsets(),this.bus._log("setting offsets on leg",a),this.$el.css(a)},a.prototype.show=function(){return this.visible=!0,this.$el.css({visibility:"visible",opacity:1,zIndex:this.options.zindex}),this.scrollIntoView()},a.prototype.hide=function(){return this.visible=!1,this.$el.css(this.bus.options.debug?{visibility:"visible",opacity:.4,zIndex:0}:{visibility:"hidden"})},a.prototype.scrollIntoView=function(){var a;if(this.willScroll)return a=e.dataProp(this.options.scrollTo,this.$el),this.bus._log("scrolling to",a,this.scrollSettings),c.scrollTo(a,this.scrollSettings)},a.prototype._setupOptions=function(){var a,b,c,d,f,g;for(b=this.bus.options.leg,a=["class","top","left","scrollTo","scrollSpeed","scrollContext","margin","arrow","align","width","zindex","orientation"],g=[],d=0,f=a.length;f>d;d++)c=a[d],g.push(this.options[c]=e.dataProp(this.rawData[c],b[c]));return g},a.prototype._configureElement=function(){return this.$el=c("<div class='tourbus-leg'></div>"),this.el=this.$el[0],this.$el.attr({id:this.elId}),this.$el.addClass(this.options["class"]),this.$el.css({zIndex:this.options.zindex})},a.prototype._setupEvents=function(){return this.$el.on("click",".tourbus-next",c.proxy(this.bus.next,this.bus)),this.$el.on("click",".tourbus-prev",c.proxy(this.bus.prev,this.bus)),this.$el.on("click",".tourbus-stop",c.proxy(this.bus.stop,this.bus))},a.prototype._teardownEvents=function(){return this.$el.off("click")},a.prototype._configureTarget=function(){return this.targetOffset=this.$target.offset(),e.dataProp(this.options.top,!1)&&(this.targetOffset.top=this.options.top),e.dataProp(this.options.left,!1)&&(this.targetOffset.left=this.options.left),this.targetWidth=this.$target.outerWidth(),this.targetHeight=this.$target.outerHeight()},a.prototype._configureScroll=function(){return this.willScroll=c.fn.scrollTo&&this.options.scrollTo!==!1,this.scrollSettings={offset:-this.options.scrollContext,easing:"linear",axis:"y",duration:this.options.scrollSpeed}},a.prototype._offsets=function(){var a,b,d,f,g,h,i,j;switch(d=this.$el.height(),f=this.$el.width(),g={},this.options.orientation){case"centered":i=c(window).height(),g.top=this.options.top,e.dataProp(g.top,!1)||(g.top=i/2-d/2),g.left=this.targetWidth/2-f/2;break;case"left":g.top=this.targetOffset.top,g.left=this.targetOffset.left-f-this.options.margin;break;case"right":g.top=this.targetOffset.top,g.left=this.targetOffset.left+this.targetWidth+this.options.margin;break;case"top":g.top=this.targetOffset.top-d-this.options.margin,g.left=this.targetOffset.left;break;case"bottom":g.top=this.targetOffset.top+this.targetHeight+this.options.margin,g.left=this.targetOffset.left}if(j={top:["left","right"],bottom:["left","right"],left:["top","bottom"],right:["top","bottom"]},e.include(this.options.orientation,j[this.options.align]))switch(this.options.align){case"right":g.left+=this.targetWidth-f;break;case"bottom":g.top+=this.targetHeight-d}else"center"===this.options.align&&(e.include(this.options.orientation,j.left)?(h=this.targetWidth/2,b=f/2,a="left"):(h=this.targetHeight/2,b=d/2,a="top"),h>b?g[a]+=h-b:g[a]-=b-h);return g},a}(),f=function(a){var b;return a.type="text/css",document.getElementsByTagName("head")[0].appendChild(a),b=document.styleSheets[document.styleSheets.length-1],function(a,d){var e,f;f=c.map(function(){var a;a=[];for(e in d)a.push(e);return a}(),function(a){return""+a+":"+d[a]}).join(";");try{b.insertRule?b.insertRule(""+a+" { "+f+" }",(b.cssRules||b.rules).length):b.addRule(a,f)}catch(g){}}}(document.createElement("style"))}).call(this)},{"./utils":4}],4:[function(a,b){(function(){b.exports={dataProp:function(a,b){return null===a||"undefined"==typeof a?b:a},include:function(a,b){return-1!==jQuery.inArray(a,b||[])}}}).call(this)},{}]},{},[1,2,3,4]);
i18n/languages/woocommerce-germanized-de_DE.mo CHANGED
Binary file
i18n/languages/woocommerce-germanized-de_DE.po CHANGED
@@ -1,9 +1,9 @@
1
  msgid ""
2
  msgstr ""
3
- "Project-Id-Version: WooCommerce Germanized v1.4.2\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: 2014-09-29 12:26+0100\n"
6
- "PO-Revision-Date: 2015-09-14 10:21:05+0000\n"
7
  "Last-Translator: \n"
8
  "Language-Team: \n"
9
  "MIME-Version: 1.0\n"
@@ -105,24 +105,24 @@ msgstr "zu den WooCommerce Germanized Einstellungen"
105
  msgid "Cheatin&#8217; huh?"
106
  msgstr "So geht das leider nicht.."
107
 
108
- #: includes/admin/class-wc-gzd-admin.php:103
109
  #@ woocommerce-germanized
110
  msgid "Optional Email Content"
111
  msgstr "Optionaler E-Mail Inhalt"
112
 
113
- #: includes/admin/class-wc-gzd-admin.php:112
114
  #@ woocommerce-germanized
115
  msgid "Add content which will be replacing default page content within emails."
116
  msgstr "Füllen Sie dieses Feld aus um einen abweichenden E-Mail Anhangstext für diese Seite zu bestimmen."
117
 
118
- #: includes/admin/class-wc-gzd-admin.php:121
119
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:81
120
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:141
121
  #@ woocommerce-germanized
122
  msgid "Optional Mini Description"
123
  msgstr "Warenkorb Kurzbeschreibung"
124
 
125
- #: includes/admin/class-wc-gzd-admin.php:138
126
  #@ woocommerce-germanized
127
  msgid "This content will be shown as short product description within checkout and emails."
128
  msgstr "Dieser Inhalt wird während des Bezahlvorganges und in den E-Mails als Produkt Kurzbeschreibung angezeigt."
@@ -138,7 +138,7 @@ msgstr "Einheit"
138
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:42
139
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:101
140
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:129
141
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:95
142
  #: includes/class-wc-gzd-trusted-shops.php:438
143
  #@ woocommerce-germanized
144
  msgid "None"
@@ -184,12 +184,12 @@ msgstr "Notwendig falls auf pro-Einheit-Basis verkauft werden soll"
184
  msgid "Germanized"
185
  msgstr "Germanized"
186
 
187
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:82
188
  #@ woocommerce-germanized
189
  msgid "General Options"
190
  msgstr "Allgemein"
191
 
192
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:83
193
  #@ woocommerce-germanized
194
  msgid "Display Options"
195
  msgstr "Anzeige"
@@ -206,194 +206,194 @@ msgctxt "ekomi"
206
  msgid "eKomi Options"
207
  msgstr "eKomi"
208
 
209
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:129
210
  #: includes/admin/settings/class-wc-gzd-settings-germanized.php:520
211
  #@ woocommerce-germanized
212
  msgid "General"
213
  msgstr "Allgemein"
214
 
215
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:132
216
  #: includes/admin/views/html-page-status-germanized.php:37
217
  #@ woocommerce-germanized
218
  msgid "Small-Enterprise-Regulation"
219
  msgstr "Kleinunternehmerregelung"
220
 
221
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:133
222
  #@ woocommerce-germanized
223
  msgid "VAT based on &#167;19 UStG"
224
  msgstr "Umsatzsteuerbefreit nach &#167;19 UStG."
225
 
226
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:137
227
  #, php-format
228
  #@ woocommerce-germanized
229
  msgid "set this Option if you have chosen <a href=\"%s\" target=\"_blank\">&#167;19 UStG</a>"
230
  msgstr "wähle diese Option, falls du von der Kleinunternehmerregelung (<a href=\"%s\" target=\"_blank\">&#167;19 UStG</a>) betroffen bist und davon Gebrauch machen willst."
231
 
232
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:141
233
  #@ woocommerce-germanized
234
  msgid "Show no VAT notice"
235
  msgstr "Umsatzsteuerbefreiung"
236
 
237
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:142
238
  #@ woocommerce-germanized
239
  msgid "Show no VAT &#167;19 UStG notice on single product"
240
  msgstr "Hinweis zur Umsatzsteuerbefreiung gemäß &#167;19 UStG auf der Produktseite anzeigen."
241
 
242
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:149
243
  #@ woocommerce-germanized
244
  msgid "Submit Order Button Text"
245
  msgstr "Kauf abschließen - Text"
246
 
247
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:150
248
  #@ woocommerce-germanized
249
  msgid "This text serves as Button text for the Order Submit Button."
250
  msgstr "Dieser Text wird auf dem Kauf abschließen Button dargestellt"
251
 
252
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:155
253
  #@ woocommerce-germanized
254
  msgid "Buy Now"
255
  msgstr "Jetzt kaufen"
256
 
257
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:159
258
  #@ woocommerce-germanized
259
  msgid "Phone as required field"
260
  msgstr "Telefon als Pflichtfeld"
261
 
262
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:160
263
  #@ woocommerce-germanized
264
  msgid "Should phone number be a required field within checkout?"
265
  msgstr "Diese Option setzen, damit die Telefonnummer ein Pflichtfeld im Checkout ist."
266
 
267
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:197
268
  #: includes/admin/views/html-page-status-germanized.php:141
269
  #@ woocommerce-germanized
270
  msgid "Legal Pages"
271
  msgstr "Rechtlich relevante Seiten"
272
 
273
  #: includes/admin/class-wc-gzd-admin-status.php:44
274
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:238
275
  #: includes/wc-gzd-core-functions.php:48
276
  #@ woocommerce-germanized
277
  msgid "Imprint"
278
  msgstr "Impressum"
279
 
280
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:239
281
  #@ woocommerce-germanized
282
  msgid "This page should contain an imprint with your company's information."
283
  msgstr "Diese Seite sollte das Impressum d.h. die Informationen (gemäß TMG) zu Ihrem Unternehmen enthalten."
284
 
285
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:325
286
  #@ woocommerce-germanized
287
  msgid "Shipping Costs"
288
  msgstr "Versandkosten"
289
 
290
  #: includes/admin/class-wc-gzd-admin-status.php:45
291
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:257
292
  #@ woocommerce-germanized
293
  msgid "Data Security Statement"
294
  msgstr "Datenschutzbelehrung"
295
 
296
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:258
297
  #@ woocommerce-germanized
298
  msgid "This page should contain information regarding your data security policy."
299
  msgstr "Diese Seite sollte Ihre Datenschutzbelehrung enthalten."
300
 
301
  #: includes/admin/class-wc-gzd-admin-status.php:43
302
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:219
303
  #@ woocommerce-germanized
304
  msgid "Power of Revocation"
305
  msgstr "Widerrufsbelehrung"
306
 
307
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:220
308
  #@ woocommerce-germanized
309
  msgid "This page should contain information regarding your customer's Right of Revocation."
310
  msgstr "Diese Seite sollte Ihre Widerrufsbelehrung enthalten. Nutzen Sie folgenden Shortcut um ein Widerrufsformular in die Seite einzubinden: [revocation_form]"
311
 
312
  #: includes/admin/class-wc-gzd-admin-status.php:46
313
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:276
314
  #@ woocommerce-germanized
315
  msgid "Payment Methods"
316
  msgstr "Zahlungarten"
317
 
318
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:277
319
  #@ woocommerce-germanized
320
  msgid "This page should contain information regarding the Payment Methods that are chooseable during checkout."
321
  msgstr "Diese Seite sollte Informationen zu den von Ihnen zur Verfügung gestellten Zahlungsmöglichkeiten bereitstellen. Nutzen Sie dafür z.B. folgenden Shortcut: [payment_methods_info]"
322
 
323
  #: includes/admin/class-wc-gzd-admin-status.php:47
324
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:287
325
  #@ woocommerce-germanized
326
  msgid "Shipping Methods"
327
  msgstr "Versandarten"
328
 
329
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:288
330
  #@ woocommerce-germanized
331
  msgid "This page should contain information regarding shipping methods that are chooseable during checkout."
332
  msgstr "Diese Seite sollte Informationen zu den von Ihnen zur Verfügung gestellten Versandarten bereitstellen."
333
 
334
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:299
335
  #@ woocommerce-germanized
336
  msgid "Delivery Times"
337
  msgstr "Lieferzeiten"
338
 
339
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:302
340
  #: includes/admin/views/html-page-status-germanized.php:42
341
  #@ woocommerce-germanized
342
  msgid "Default Delivery Time"
343
  msgstr "Standard-Lieferzeit"
344
 
345
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:303
346
  #@ woocommerce-germanized
347
  msgid "This delivery time will be added to every product if no delivery time has been chosen individually"
348
  msgstr "Diese Lieferzeit wird bei Produkten angezeigt, denen keine Lieferzeit zugeordnet wurde"
349
 
350
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:314
351
  #@ woocommerce-germanized
352
  msgid "Delivery Time Text"
353
  msgstr "Lieferzeit Text"
354
 
355
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:315
356
  #@ woocommerce-germanized
357
  msgid "This text will be used to indicate delivery time for products. Use {delivery_time} as placeholder."
358
  msgstr "Dieser Text wird verwendet um die Lieferzeit im Frontend darzustellen. {delivery_time} als Platzhalter verwenden."
359
 
360
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:320
361
  #@ woocommerce-germanized
362
  msgid "Delivery time: {delivery_time}"
363
  msgstr "Lieferzeit: {delivery_time}"
364
 
365
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:328
366
  #@ woocommerce-germanized
367
  msgid "Shipping Costs Text"
368
  msgstr "Versandkosten Text"
369
 
370
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:329
371
  #@ woocommerce-germanized
372
  msgid "This text will be used to inform the customer about shipping costs. Use {link}{/link} to insert link to shipping costs page."
373
  msgstr "Dieser Text wird genutzt um die Kunden im Frontend über u.U. anfallende Lieferkosten zu informieren. Nutzen Sie die Platzhalter {link}{/link} um den Link zur Versandkosten-Seite einzufügen."
374
 
375
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:334
376
  #@ woocommerce-germanized
377
  msgid "plus {link}Shipping Costs{/link}"
378
  msgstr "zzgl. {link}Versandkosten{/link}"
379
 
380
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:443
381
  #: includes/wc-gzd-core-functions.php:45
382
  #@ woocommerce-germanized
383
  msgid "Right of Recission"
384
  msgstr "Widerrufsrecht"
385
 
386
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:446
387
  #@ woocommerce-germanized
388
  msgid "Revocation Address"
389
  msgstr "Widerruf richten an"
390
 
391
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:447
392
  #@ woocommerce-germanized
393
  msgid "Type in an address, telephone/telefax number, email address which is to be used as revocation address"
394
  msgstr "Geben Sie hier Ihre Adresse, Telefon- und Faxnummer, E-Mail Adresse usw. an, an die Ihre Kunden Ihren Widerruf richten sollen"
395
 
396
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:456
397
  #@ woocommerce-germanized
398
  msgid "E-Mails"
399
  msgstr "E-Mails"
@@ -461,72 +461,72 @@ msgstr "Auf der Produktseite"
461
  msgid "Tax Info"
462
  msgstr "MwSt. Hinweis"
463
 
464
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:665
465
  #@ woocommerce-germanized
466
  msgid "Checkout & Cart"
467
  msgstr "Checkout & Warenkorb"
468
 
469
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:743
470
  #@ woocommerce-germanized
471
  msgid "Checkout Legal Display"
472
  msgstr "Checkbox oder Text"
473
 
474
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:744
475
  #@ woocommerce-germanized
476
  msgid "Use Text without Checkbox"
477
  msgstr "Rechtshinweis ohne Checkbox."
478
 
479
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:746
480
  #@ woocommerce-germanized
481
  msgid "This version will remove checkboxes from Checkout and display a text instead. This seems to be legally compliant (Zalando & Co are using this option)."
482
  msgstr "Diese Option nutzt anstatt einer Checkbox einen ausformulierten Text direkt überhalb des Kauf abschließen Buttons (Zalando und Andere Shops verwenden diese Form)"
483
 
484
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:752
485
  #@ woocommerce-germanized
486
  msgid "Legal Text"
487
  msgstr "Rechtlicher Hinweistext"
488
 
489
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:753
490
  #@ woocommerce-germanized
491
  msgid "Choose a Plain Text which will be shown right above checkout submit button. Use {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} as Placeholders for the links to legal pages."
492
  msgstr "Geben Sie hier den Text ein, den Sie als Hinweistext überhalb des \"Kaufen\" - Buttons darstellen möchten. Nutzen Sie die Platzhalter {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} um die jeweiligen Links zu den Seiten einzufügen."
493
 
494
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:755
495
  #@ woocommerce-germanized
496
  msgid "With your order, you agree to have read and understood our {term_link}Terms and Conditions{/term_link} and your {revocation_link}Right of Recission{/revocation_link}."
497
  msgstr "Mit Ihrer Bestellung erklären Sie sich mit unseren {term_link}Allgemeinen Geschäftsbedingungen{/term_link} und {revocation_link}Widerrufsbestimmungen{/revocation_link} einverstanden."
498
 
499
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:762
500
  #@ woocommerce-germanized
501
  msgid "Legal Text Error"
502
  msgstr "Fehlermeldung der Checkbox"
503
 
504
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:763
505
  #@ woocommerce-germanized
506
  msgid "If you have chosen to use checkbox validation please choose a error message which will be shown if the user doesn't check checkbox. Use {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} as Placeholders for the links to legal pages."
507
  msgstr "Falls Sie sich dazu entschieden haben, eine Checkbox zu nutzen, können Sie hier die Fehlermeldung eingeben, die angezeigt wird, wenn ein Benutzer die Checkbox nicht aktiviert hat. Nutzen Sie die Platzhalter um Links zu den jeweiligen Hinweisseiten einzufügen: {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link}"
508
 
509
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:765
510
  #@ woocommerce-germanized
511
  msgid "To finish the order you have to accept to our {term_link}Terms and Conditions{/term_link} and {revocation_link}Right of Recission{/revocation_link}."
512
  msgstr "Bitte akzeptieren Sie unsere {term_link}Allgemeinen Geschäftsbedingungen{/term_link} und {revocation_link}Widerrufsbestimmungen{/revocation_link}."
513
 
514
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:810
515
  #@ woocommerce-germanized
516
  msgid "Order Success Text"
517
  msgstr "Bestellung eingegangen"
518
 
519
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:811
520
  #@ woocommerce-germanized
521
  msgid "Choose a custom text to display on order success page."
522
  msgstr "Hier können Sie einen individuellen kurzen Text eingeben, der nach der Bestellung ausgegeben wird."
523
 
524
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:819
525
  #@ woocommerce-germanized
526
  msgid "Order Success Data"
527
  msgstr "Bestellbestätigungs-Daten"
528
 
529
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:820
530
  #@ woocommerce-germanized
531
  msgid "Hide product table and customer data on order success page"
532
  msgstr "Produktdetails (Tabelle, Kundeninfos) von der Bestätigungsseite entfernen."
@@ -713,73 +713,73 @@ msgstr "Ihren Widerruf online erklären"
713
  msgid "Please install <a href=\"%s\" target=\"_blank\">WooCommerce</a> before installing WooCommerce Germanized. Thank you!"
714
  msgstr "Bitte installieren Sie <a href=\"%s\" target=\"_blank\">WooCommerce</a> bevor Sie WooCommerce Germanized installieren. Vielen Dank!"
715
 
716
- #: includes/class-wc-gzd-install.php:412
717
  #@ woocommerce-germanized
718
  msgctxt "Page slug"
719
  msgid "data-security"
720
  msgstr "datenschutzbelehrung"
721
 
722
- #: includes/class-wc-gzd-install.php:413
723
  #@ woocommerce-germanized
724
  msgctxt "Page title"
725
  msgid "Data Security Statement"
726
  msgstr "Datenschutzbelehrung"
727
 
728
- #: includes/class-wc-gzd-install.php:417
729
  #@ woocommerce-germanized
730
  msgctxt "Page slug"
731
  msgid "imprint"
732
  msgstr "impressum"
733
 
734
- #: includes/class-wc-gzd-install.php:418
735
  #@ woocommerce-germanized
736
  msgctxt "Page title"
737
  msgid "Imprint"
738
  msgstr "Impressum"
739
 
740
- #: includes/class-wc-gzd-install.php:422
741
  #@ woocommerce-germanized
742
  msgctxt "Page slug"
743
  msgid "terms"
744
  msgstr "agb"
745
 
746
- #: includes/class-wc-gzd-install.php:423
747
  #@ woocommerce-germanized
748
  msgctxt "Page title"
749
  msgid "Terms & Conditions"
750
  msgstr "AGB"
751
 
752
- #: includes/class-wc-gzd-install.php:427
753
  #@ woocommerce-germanized
754
  msgctxt "Page slug"
755
  msgid "revocation"
756
  msgstr "widerrufsbelehrung"
757
 
758
- #: includes/class-wc-gzd-install.php:428
759
  #@ woocommerce-germanized
760
  msgctxt "Page title"
761
  msgid "Power of Revocation"
762
  msgstr "Widerrufsbelehrung"
763
 
764
- #: includes/class-wc-gzd-install.php:437
765
  #@ woocommerce-germanized
766
  msgctxt "Page slug"
767
  msgid "payment-methods"
768
  msgstr "bezahlmoeglichkeiten"
769
 
770
- #: includes/class-wc-gzd-install.php:438
771
  #@ woocommerce-germanized
772
  msgctxt "Page title"
773
  msgid "Payment Methods"
774
  msgstr "Zahlungsarten"
775
 
776
- #: includes/class-wc-gzd-install.php:432
777
  #@ woocommerce-germanized
778
  msgctxt "Page slug"
779
  msgid "shipping-methods"
780
  msgstr "versandarten"
781
 
782
- #: includes/class-wc-gzd-install.php:433
783
  #@ woocommerce-germanized
784
  msgctxt "Page title"
785
  msgid "Shipping Methods"
@@ -1082,7 +1082,7 @@ msgstr "Bestellung bearbeiten"
1082
  msgid "Choose a Payment Gateway"
1083
  msgstr "Zahlungsart auswählen"
1084
 
1085
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:784
1086
  #: includes/wc-gzd-cart-functions.php:194
1087
  #@ woocommerce-germanized
1088
  msgid "I want immediate access to the digital content and I acknowledge that thereby I lose my right to cancel once the service has begun."
@@ -1423,12 +1423,12 @@ msgctxt "trusted-shops"
1423
  msgid "%s of %s based on %s <a href=\"%s\" target=\"_blank\">ratings</a>."
1424
  msgstr "%s von %s basierend auf %s <a href=\"%s\" target=\"_blank\">Bewertungen</a>."
1425
 
1426
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:735
1427
  #@ woocommerce-germanized
1428
  msgid "Checkout Table Color"
1429
  msgstr "Hintergrundfarbe der Tabelle"
1430
 
1431
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:737
1432
  #@ woocommerce-germanized
1433
  msgid "Choose the color of your checkout product table. This table should be highlighted within your checkout page."
1434
  msgstr "Wähle die Farbe des Hintergrundes deiner Produkt-Tabelle im Checkout. Die Tabelle sollte sich farblich vom Rest des Inhalts abheben."
@@ -1470,12 +1470,12 @@ msgstr "Wir haben festgestellt, dass dein Theme scheinbar noch nicht für WooCom
1470
  msgid "Check if fee is taxable."
1471
  msgstr "MwSt.-Berechnung für Gebühr aktivieren."
1472
 
1473
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:781
1474
  #@ woocommerce-germanized
1475
  msgid "Legal Digital Text"
1476
  msgstr "Hinweis Digital"
1477
 
1478
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:782
1479
  #@ woocommerce-germanized
1480
  msgid "Choose a Plain Text which will be shown right above checkout submit button if a user has picked a digital product. See legal text option for possible placeholders."
1481
  msgstr "Passen Sie hier optional den Hinweistext an, der angezeigt wird, wenn ein Kunde ein digitales Produkt im Warenkorb hat. Sie können hier die gleichen Platzhalter verwenden wie beim Rechtlichen Hinweistext"
@@ -1606,12 +1606,12 @@ msgstr "jetzt Bewertung verfassen"
1606
  msgid "Found Bugs?"
1607
  msgstr "Bugs oder Wünsche melden"
1608
 
1609
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:656
1610
  #@ woocommerce-germanized
1611
  msgid "Shipping Costs for Virtual"
1612
  msgstr "Versandkosten virtuell"
1613
 
1614
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:657
1615
  #@ woocommerce-germanized
1616
  msgid "Select this option if you want to display shipping costs notice for virtual products."
1617
  msgstr "Versandkosten-Hinweis auch für virtuelle Produkte aktivieren?"
@@ -1628,23 +1628,23 @@ msgstr "inkl. MwSt."
1628
  msgid "excl. VAT"
1629
  msgstr "exkl. MwSt."
1630
 
1631
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:473
1632
  #: includes/admin/views/html-page-status-germanized.php:81
1633
  #@ woocommerce-germanized
1634
  msgid "Virtual VAT"
1635
  msgstr "USt. Änderung 2015"
1636
 
1637
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:476
1638
  #@ woocommerce-germanized
1639
  msgid "Enable Virtual VAT"
1640
  msgstr "USt. Anpassung aktivieren"
1641
 
1642
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:477
1643
  #@ woocommerce-germanized
1644
  msgid "Enable if you want to charge your customer's countries' VAT for virtual products."
1645
  msgstr "Aktiviere diese Option um für virtuelle Produkte den USt.-Satz des Dienstleistungsempfängers zu berechnen."
1646
 
1647
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:481
1648
  #, php-format
1649
  #@ woocommerce-germanized
1650
  msgid "New EU VAT rule applies on 01.01.2015. Make sure that every digital or virtual product has chosen the right tax class (Virtual Rate or Virtual Reduced Rate). Gross prices will not differ from the prices you have chosen for affected products. In fact the net price will differ depending on the VAT rate of your customers' country. Shop settings will be adjusted to show prices including tax. More information can be found <a href=\"%s\" target=\"_blank\">here</a>."
@@ -1660,82 +1660,82 @@ msgstr "EU MwSt.-Sätze anlegen"
1660
  msgid "We will automatically insert EU VAT Rates for selling virtual products."
1661
  msgstr "Wir übernehmen das Einfügen der unterschiedlichen EU MwSt.-Sätze für dich."
1662
 
1663
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:438
1664
  #@ woocommerce-germanized
1665
  msgid "{price}"
1666
  msgstr "{price}"
1667
 
1668
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:921
1669
  #@ woocommerce-germanized
1670
  msgid "Sorry, but the new Virtual VAT rules cannot be applied to small business."
1671
  msgstr "Sorry aber die neuen USt-Regelungen für virtuelle Produkte lassen sich leider nicht mit dem Kleinunternehmer vereinbaren. Bitte kontaktiere deinen Steuerberater für weitere Informationen."
1672
 
1673
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:167
1674
  #@ woocommerce-germanized
1675
  msgid "Add title field"
1676
  msgstr "Anrede im Checkout"
1677
 
1678
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:168
1679
  #@ woocommerce-germanized
1680
  msgid "Add a title field to the address within checkout?"
1681
  msgstr "Fügt ein Feld \"Anrede\" im Checkout hinzu."
1682
 
1683
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:772
1684
  #@ woocommerce-germanized
1685
  msgid "Show digital notice"
1686
  msgstr "Checkbox digitale Produkte"
1687
 
1688
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:773
1689
  #@ woocommerce-germanized
1690
  msgid "Show checkbox for digital products."
1691
  msgstr "Checkbox bei digitalen Produkten anzeigen."
1692
 
1693
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:774
1694
  #@ woocommerce-germanized
1695
  msgid "Disable this option if you want your customers to obtain their right of recission even if digital products are being bought."
1696
  msgstr "Diese Option setzt im Checkout eine Checkbox falls sich im Warenkorb digitale Produkte befinden. Hier können Kunden darauf aufmerksam gemacht werden, dass im Falle von digitalen Produkten das Widerrufsrecht erlischt."
1697
 
1698
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:699
1699
  #@ woocommerce-germanized
1700
  msgid "Show Thumbnails"
1701
  msgstr "Thumbnails anzeigen"
1702
 
1703
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:700
1704
  #@ woocommerce-germanized
1705
  msgid "Show product thumbnails on checkout page?"
1706
  msgstr "Produktbilder im Checkout darstellen?"
1707
 
1708
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:704
1709
  #@ woocommerce-germanized
1710
  msgid "Uncheck if you don't want to show your product thumbnails within checkout table."
1711
  msgstr "Deaktiviere diese Option, wenn du keine Produkbilder im Checkout angezeigt bekommen möchtest."
1712
 
1713
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:708
1714
  #@ woocommerce-germanized
1715
  msgid "Hide Shipping Select"
1716
  msgstr "Versandarten Auswahl"
1717
 
1718
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:709
1719
  #@ woocommerce-germanized
1720
  msgid "Hide shipping rate selection from checkout?"
1721
  msgstr "Die Auswahl von Versandarten im Checkout deaktivieren?"
1722
 
1723
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:713
1724
  #@ woocommerce-germanized
1725
  msgid "This option will hide shipping rate selection from checkout. By then customers will only be able to change their shipping rate on cart page."
1726
  msgstr "Diese Option deaktiviert die Darstellung der Versandarten Auswahl im Checkout. Kunden können von nun an nur noch über den Warenkorb die Versandmethode ändern."
1727
 
1728
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:690
1729
  #@ woocommerce-germanized
1730
  msgid "Hide taxes estimated"
1731
  msgstr "Hinweis \"Steuern geschätzt\""
1732
 
1733
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:691
1734
  #@ woocommerce-germanized
1735
  msgid "Do you want to hide the \"taxes and shipping estimated\" text from your cart?"
1736
  msgstr "Den Hinweis \"Versandkosten und Steuern werden geschätzt\" entfernen?"
1737
 
1738
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:695
1739
  #@ woocommerce-germanized
1740
  msgid "By default WooCommerce adds a \"taxes and shipping estimated\" text to your cart. This might puzzle your customers and may not meet german law."
1741
  msgstr "Der Hinweistext im Warenkorb zur Schätzung von Steuern und Versandkosten kann für Verwirrung beim Kunden sorgen und scheint nicht für den deutschen Markt geeignet."
@@ -1746,79 +1746,79 @@ msgstr "Der Hinweistext im Warenkorb zur Schätzung von Steuern und Versandkoste
1746
  msgid "excl. %s%% VAT"
1747
  msgstr "exkl. %s%% MwSt."
1748
 
1749
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:717
1750
  #@ woocommerce-germanized
1751
  msgid "Show back to cart button"
1752
  msgstr "Bestellung bearbeiten"
1753
 
1754
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:718
1755
  #@ woocommerce-germanized
1756
  msgid "Show back to cart button within your checkout table?"
1757
  msgstr "Einen \"Bestellung bearbeiten\" Button in der Bestellübersicht anzeigen?"
1758
 
1759
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:722
1760
  #@ woocommerce-germanized
1761
  msgid "This button may let your customer edit their order before submitting. Some people state that this button should be hidden to avoid legal problems."
1762
  msgstr "Dieser Button ermöglicht es deinen Kunden etwaige Falscheingaben (d.h. fälschlich ausgewählte Produkte) zu korrigieren und zurück zum Warenkorb zu gelangen. Je nach Darstellung in deinem Theme könnte es allerdings auch das Risiko für Abmahnungen erhöhen, da zwischen Pflichtangaben und Kaufen-Button keine weitere Informationen abgedruckt werden sollten."
1763
 
1764
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:338
1765
  #@ woocommerce-germanized
1766
  msgid "Shipping Costs Tax"
1767
  msgstr "Steuerberechnung"
1768
 
1769
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:339
1770
  #@ woocommerce-germanized
1771
  msgid "Enable better taxation for shpping costs?"
1772
  msgstr "Genauere Steuerberechnung für Versandkosten aktivieren?"
1773
 
1774
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:343
1775
  #, php-format
1776
  #@ woocommerce-germanized
1777
  msgid "By choosing this option shipping cost taxation will be calculated based on tax rates within cart. Imagine the following example. Further information can be found <a href=\"%s\" target=\"_blank\">here</a>. %s"
1778
  msgstr "Mit der Auswahl dieser Option werden die Steuern für Versandkosten basierend auf den Anteilen der Steuersätze der Artikel im Warenkorb berechnet. Weitere Informationen findest du <a href=\"%s\" target=\"_blank\">hier</a>. Falls du vorher mit Nettobeträgen gearbeitet hast, ändere die Versandkosten bitte in Bruttobeträge. Hier ein kleines Beispiel: %s"
1779
 
1780
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:347
1781
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:369
1782
  #@ woocommerce-germanized
1783
  msgid "Force Tax Calculation"
1784
  msgstr "Steuerberechnung erzwingen"
1785
 
1786
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:348
1787
  #@ woocommerce-germanized
1788
  msgid "Force shipping costs tax calculation for every method?"
1789
  msgstr "Erzwinge die Besteuerung für Versandkosten für jede Versandart?"
1790
 
1791
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:352
1792
  #@ woocommerce-germanized
1793
  msgid "This option will overwrite settings for each individual shipping method to force tax calculation (instead of only calculating tax for those methods which are taxeable)."
1794
  msgstr "Diese Option überschreibt alle abweichenden Einstellungen verschiedener Versandarten und erzwingt die Steuerberechnung."
1795
 
1796
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:357
1797
  #@ woocommerce-germanized
1798
  msgid "Fees"
1799
  msgstr "Gebühren"
1800
 
1801
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:360
1802
  #@ woocommerce-germanized
1803
  msgid "Fee Tax"
1804
  msgstr "Steuerberechnung"
1805
 
1806
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:361
1807
  #@ woocommerce-germanized
1808
  msgid "Enable better taxation for fees?"
1809
  msgstr "Genauere Steuerberechnung für Gebühren aktivieren?"
1810
 
1811
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:365
1812
  #@ woocommerce-germanized
1813
  msgid "By choosing this option fee taxation will be calculated based on tax rates within cart. See shipping costs taxation for more information."
1814
  msgstr "Mit Hilfe dieser Option werden die Steuern für Gebühren basierend auf den Steuersätzen der Artikel im Warenkorb berechnet (siehe Steuern für Versandkosten für weitere Informationen). Bitte passe auch hier etwaige Nettobeträge in Bruttobeträge an."
1815
 
1816
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:370
1817
  #@ woocommerce-germanized
1818
  msgid "Force fee tax calculation for every fee?"
1819
  msgstr "Berechnung der Steuern für Gebühren erzwingen?"
1820
 
1821
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:374
1822
  #@ woocommerce-germanized
1823
  msgid "This option will overwrite settings for each individual fee to force tax calculation (instead of only calculating tax for those fees which are taxeable)."
1824
  msgstr "Diese Option überschreibt die Einstellungen aller Gebühren und erzwingt die Steuerberechnung."
@@ -1844,33 +1844,33 @@ msgstr "Double Opt-In"
1844
  msgid "Yes, customer opted in"
1845
  msgstr "Ja, Kunde wurde per Double Opt-In bestätigt."
1846
 
1847
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:379
1848
  #@ woocommerce-germanized
1849
  msgid "Customers"
1850
  msgstr "Kunden"
1851
 
1852
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:409
1853
  #@ woocommerce-germanized
1854
  msgid "Customer Double Opt In"
1855
  msgstr "Double Opt-In"
1856
 
1857
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:410
1858
  #@ woocommerce-germanized
1859
  msgid "Enable customer double opt in on registration?"
1860
  msgstr "Double Opt-In Verfahren für Kundenkonten aktivieren?"
1861
 
1862
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:411
1863
  #, php-format
1864
  #@ woocommerce-germanized
1865
  msgid "If customer chooses to create a customer account an email with an activation link will be sent by mail. Customer account will be marked as activated if user clicks on the link within the email. More information on this topic can be found <a href=\"%s\" target=\"_blank\">here</a>."
1866
  msgstr "Wenn ein Kunde sich dazu entscheidet ein Benutzerkonto zu erstellen, erhält dieser eine E-Mail mit einem Bestätigungslink. Insofern der Kunde diesen Bestätigungslink anklickt, wird das Konto als bestätigt markiert. Dieses Verfahren ist laut Amtsgericht Berlin Pankow/Weißensee notwendig. Mehr Informationen findest du <a href=\"%s\" target=\"_blank\">hier</a>."
1867
 
1868
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:418
1869
  #@ woocommerce-germanized
1870
  msgid "Delete Unactivated After"
1871
  msgstr "Unaktivierte löschen nach"
1872
 
1873
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:419
1874
  #@ woocommerce-germanized
1875
  msgid "This will make sure unactivated customer accounts will be deleted after X days. Set to 0 if you don't want to automatically delete unactivated customers."
1876
  msgstr "Diese Option sorgt dafür, dass unaktivierte Kundenkonten nach X Tagen automatisch gelöscht werden. Falls du die Löschung verhindern möchtest, setze den Wert auf 0."
@@ -1930,12 +1930,11 @@ msgstr "Vielen Dank. Ihr Benutzerkonto wurde erfolgreich aktiviert."
1930
  msgid "Sorry, but this activation code cannot be found."
1931
  msgstr "Sorry, dieser Aktivierungscode ist uns leider nicht bekannt."
1932
 
1933
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:420
1934
  #@ woocommerce-germanized
1935
  msgid "days"
1936
  msgstr "Tagen"
1937
 
1938
- #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:76
1939
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php:62
1940
  #@ woocommerce-germanized
1941
  msgid "Search for a delivery time&hellip;"
@@ -1959,7 +1958,7 @@ msgstr "https://www.vendidero.de/woocommerce-germanized"
1959
  msgid "https://vendidero.de"
1960
  msgstr "https://vendidero.de"
1961
 
1962
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:670
1963
  #: includes/admin/views/html-page-status-germanized.php:55
1964
  #@ woocommerce-germanized
1965
  msgid "Fallback Mode"
@@ -2008,13 +2007,13 @@ msgctxt "trusted-shops"
2008
  msgid "Export your customer data and ask consumers for a review with the Trusted Shops <a href=\"%s\" target=\"_blank\">Review Collector</a>."
2009
  msgstr "Exportiere hier die Kundendaten für die Verwendung im Trusted Shops <a href=\"%s\" target=\"_blank\">Review Collector</a>."
2010
 
2011
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:43
2012
  #, php-format
2013
  #@ woocommerce-germanized
2014
  msgid "Terms & Conditions generator %s"
2015
  msgstr "AGB Generator %s"
2016
 
2017
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:44
2018
  #, php-format
2019
  #@ woocommerce-germanized
2020
  msgid "Revocation generator %s"
@@ -2083,17 +2082,17 @@ msgstr "Name der neuen Einheit"
2083
  msgid "Because of the small business owner state according to &#167;19 UstG the seller does not levy nor state the German value added tax."
2084
  msgstr "Kein Mehrwertsteuerausweis, da Kleinunternehmer nach &#167;19 (1) UStG."
2085
 
2086
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:726
2087
  #@ woocommerce-germanized
2088
  msgid "Show edit data notice"
2089
  msgstr "Bestellung prüfen Hinweis"
2090
 
2091
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:727
2092
  #@ woocommerce-germanized
2093
  msgid "Show a \"check-your-entries\" notice to the user?"
2094
  msgstr "Einen \"Bestellung prüfen\" Hinweis anzeigen?"
2095
 
2096
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:731
2097
  #@ woocommerce-germanized
2098
  msgid "This notice will be added right before the order comments field."
2099
  msgstr "Dieser Hinweis wird direkt oberhalb des Bestellhinweise-Feldes eingefügt."
@@ -2109,26 +2108,26 @@ msgstr "Bitte überprüfen Sie Ihre Eingaben. Sie können einzelne Angaben durch
2109
  msgid "Please check all of your entries carefully. You may change your entries with the help of the \"Back\" button in your browser"
2110
  msgstr "Bitte überprüfen Sie Ihre Eingaben. Sie können diese durch Klicken des „Zurück“-Buttons Ihres Browsers korrigieren"
2111
 
2112
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:185
2113
  #@ woocommerce-germanized
2114
  msgid "Contract"
2115
  msgstr "Kaufvertrag"
2116
 
2117
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:185
2118
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:486
2119
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:498
2120
  #, php-format
2121
  #@ woocommerce-germanized
2122
  msgid "%sUpgrade to %spro%s%s to unlock this feature and get premium support."
2123
  msgstr "%sUpgrade zur %spro%s Version%s um dieses Feature nutzen zu können und erhalte professionellen Support."
2124
 
2125
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:486
2126
  #@ woocommerce-germanized
2127
  msgctxt "invoices"
2128
  msgid "Invoices"
2129
  msgstr "Rechnungen"
2130
 
2131
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:498
2132
  #@ woocommerce-germanized
2133
  msgid "VAT"
2134
  msgstr "Umsatzsteuer"
@@ -2156,43 +2155,43 @@ msgstr "oder"
2156
  msgid "Enable support for %s"
2157
  msgstr "Anpassungen für %s freischalten"
2158
 
2159
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:40
2160
  #, php-format
2161
  #@ woocommerce-germanized
2162
  msgid "Invoices & Packing Slips %s"
2163
  msgstr "Rechnungen & Lieferscheine %s"
2164
 
2165
  #: includes/admin/class-wc-gzd-admin-status.php:42
2166
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:200
2167
  #: includes/wc-gzd-core-functions.php:42
2168
  #@ woocommerce-germanized
2169
  msgid "Terms & Conditions"
2170
  msgstr "AGB"
2171
 
2172
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:201
2173
  #@ woocommerce-germanized
2174
  msgid "This page should contain your terms & conditions."
2175
  msgstr "Diese Seite sollte deine Allgemeinen Geschäftsbedingungen enthalten."
2176
 
2177
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:207
2178
  #, php-format
2179
  #@ woocommerce-germanized
2180
  msgid "Don't have terms & conditions yet? <a href=\"%s\">Generate now</a>!"
2181
  msgstr "Du hast noch keine AGB? <a href=\"%s\">Jetzt generieren</a>!"
2182
 
2183
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:226
2184
  #, php-format
2185
  #@ woocommerce-germanized
2186
  msgid "Don't have a revocation page yet? <a href=\"%s\">Generate now</a>!"
2187
  msgstr "Du hast noch keine Widerrufsbelehrung? <a href=\"%s\">Jetzt generieren</a>!"
2188
 
2189
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:115
2190
  #, php-format
2191
  #@ woocommerce-germanized
2192
  msgid "Attach %s"
2193
  msgstr "%s"
2194
 
2195
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:116
2196
  #, php-format
2197
  #@ woocommerce-germanized
2198
  msgid "Attach %s to the following email templates"
@@ -2203,7 +2202,7 @@ msgstr "%s an die folgenden E-Mail Templates anfügen"
2203
  msgid "Data Security"
2204
  msgstr "Datenschutzbelehrung"
2205
 
2206
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:456
2207
  #@ woocommerce-germanized
2208
  msgid "Use drag & drop to customize attachment order. Don't forget to save your changes."
2209
  msgstr "Verwende Drag & Drop um die Reihenfolge der Texte in den E-Mails zu beeinflussen und speichere anschließend deine Änderungen."
@@ -2215,7 +2214,7 @@ msgstr "Verwende Drag & Drop um die Reihenfolge der Texte in den E-Mails zu beei
2215
  msgid "Thanks for creating an account on %s. Your username is %s. Please follow the activation link to activate your account:"
2216
  msgstr "Es wurde für Sie ein Benutzerkonto bei %s angelegt. Ihr Benutzername lautet %s. Bitte folgen Sie dem Link, um Ihr Benutzerkonto zu bestätigen:"
2217
 
2218
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:41
2219
  #, php-format
2220
  #@ woocommerce-germanized
2221
  msgid "Multistep Checkout %s"
@@ -2256,58 +2255,58 @@ msgstr "Premium Support via Ticket-System"
2256
  msgid "Learn more about Pro Version"
2257
  msgstr "Mehr über die Pro Version erfahren"
2258
 
2259
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:382
2260
  #: includes/gateways/direct-debit/class-wc-gzd-gateway-direct-debit.php:300
2261
  #@ woocommerce-germanized
2262
  msgid "Checkbox"
2263
  msgstr "Checkbox"
2264
 
2265
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:383
2266
  #@ woocommerce-germanized
2267
  msgid "Add a checkbox to customer registration form."
2268
  msgstr "Füge eine Checkbox zum Formular für die Kundenregistrierung hinzu."
2269
 
2270
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:390
2271
  #@ woocommerce-germanized
2272
  msgid "Checkbox text"
2273
  msgstr "Checkbox Text"
2274
 
2275
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:391
2276
  #@ woocommerce-germanized
2277
  msgid "Choose a Plain Text which will be shown as checkbox text for customer account creation. Use {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} as Placeholders for the links to legal pages."
2278
  msgstr "Dieser Text dient als Hinweistext für die Erstellung eines Kundenkontos und wird neben der Checkbox dargestellt. Verwende {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} als Platzhalter für die Links zu den rechtlichen Hinweisseiten."
2279
 
2280
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:393
2281
  #@ woocommerce-germanized
2282
  msgid "Yes, I’d like create a new account and have read and understood the {data_security_link}data privacy statement{/data_security_link}."
2283
  msgstr "Ja, ich möchte ein Kundenkonto eröffnen und akzeptiere die {data_security_link}Datenschutzerklärung{/data_security_link}."
2284
 
2285
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:400
2286
  #@ woocommerce-germanized
2287
  msgid "Checkout"
2288
  msgstr "Kasse"
2289
 
2290
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:401
2291
  #@ woocommerce-germanized
2292
  msgid "Replace default WooCommerce text regarding account creation during checkout."
2293
  msgstr "Ersetze den WooCommerce Text (Kundenkonto erstellen?) durch den o.g. Hinweis."
2294
 
2295
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:402
2296
  #@ woocommerce-germanized
2297
  msgid "Use the text from above instead of the default WooCommerce text regarding account creation during checkout. This checkbox is only show if you have activated guest accounts."
2298
  msgstr "Nutze den oben festgelegten Hinweistext anstelle des WooCommerce Standardtextes für die Checkbox zum Erstellen von Kundenkonten während des Bestellvorganges. Die Checkbox wird nur angezeigt, wenn du Gast-Checkouts zulässt."
2299
 
2300
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:801
2301
  #@ woocommerce-germanized
2302
  msgid "Pay now Button"
2303
  msgstr "Jetzt bezahlen Button"
2304
 
2305
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:802
2306
  #@ woocommerce-germanized
2307
  msgid "Add a pay now button to emails and order success page."
2308
  msgstr "Füge einen jetzt bezahlen - Button zur E-Mail und der Bestätigungs-Seite hinzu."
2309
 
2310
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:803
2311
  #@ woocommerce-germanized
2312
  msgid "Add a pay now button to order confirmation email and order success page if the order awaits payment (PayPal etc)."
2313
  msgstr "Füge einen jetzt bezahlen - Button zur Bestellbestätigungs-Email sowie zur Bestätigungs-Seite hinzu insofern die Bestellung eine automatisierte Zahlung benötigt (z.B. per PayPal)."
@@ -2323,27 +2322,27 @@ msgstr "Bitte akzeptieren Sie die Erstellung eines neuen Kundenkontos"
2323
  msgid "Pay with %s"
2324
  msgstr "jetzt mit %s bezahlen"
2325
 
2326
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:175
2327
  #@ woocommerce-germanized
2328
  msgid "Disallow cancellations"
2329
  msgstr "Stornierungen verhindern"
2330
 
2331
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:176
2332
  #@ woocommerce-germanized
2333
  msgid "Don’t allow customers to manually cancel orders."
2334
  msgstr "Stornierung von Bestellungen durch den Kunden verhindern."
2335
 
2336
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:177
2337
  #@ woocommerce-germanized
2338
  msgid "By default payment methods like PayPal allow order cancellation by clicking the abort link. This option will stop customers from manually cancel orders."
2339
  msgstr "Standardmäßig lassen sich Bestellungen per PayPal stornieren, indem der Kunden den Abbrechen-Link verwendet. Diese Option verhindert den manuellen Abbruch einer Bestellung durch den Kunden."
2340
 
2341
- #: includes/admin/class-wc-gzd-admin.php:70
2342
  #@ woocommerce
2343
  msgid "WooCommerce Status"
2344
  msgstr ""
2345
 
2346
- #: includes/admin/class-wc-gzd-admin.php:70
2347
  #: includes/admin/views/html-page-status.php:16
2348
  #@ woocommerce
2349
  msgid "System Status"
@@ -2436,49 +2435,51 @@ msgstr "Es fehlen: %s"
2436
  msgid "Page doesn’t exist"
2437
  msgstr "Seite existiert nicht"
2438
 
2439
- #: includes/admin/views/html-page-status-germanized.php:161
2440
  #@ woocommerce
2441
  msgid "Templates"
2442
  msgstr ""
2443
 
2444
- #: includes/admin/views/html-page-status-germanized.php:206
2445
  #, php-format
2446
  #@ woocommerce
2447
  msgid "<code>%s</code> version <strong style=\"color:red\">%s</strong> is out of date. The core version is %s"
2448
  msgstr ""
2449
 
2450
- #: includes/admin/views/html-page-status-germanized.php:218
2451
- #: includes/admin/views/html-page-status-germanized.php:227
2452
  #@ woocommerce
2453
  msgid "Overrides"
2454
  msgstr ""
2455
 
2456
- #: includes/admin/views/html-page-status-germanized.php:238
2457
  #@ woocommerce
2458
  msgid "Learn how to update outdated templates"
2459
  msgstr ""
2460
 
 
2461
  #: includes/admin/views/html-page-status.php:17
 
2462
  #@ woocommerce
2463
  msgid "Tools"
2464
- msgstr ""
2465
 
2466
  #: includes/admin/views/html-page-status.php:18
2467
  #@ woocommerce
2468
  msgid "Logs"
2469
  msgstr ""
2470
 
2471
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:681
2472
  #@ woocommerce-germanized
2473
  msgid "Force free shipping"
2474
  msgstr "Versandmethode erzwingen"
2475
 
2476
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:682
2477
  #@ woocommerce-germanized
2478
  msgid "Force free shipping method if available?"
2479
  msgstr "Kostenlosen Versand erzwingen wenn die Methode zur Verfügung steht?"
2480
 
2481
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:686
2482
  #@ woocommerce-germanized
2483
  msgid "By default WooCommerce will let customers choose other shipping methods than free shipping (if available). This option will force free shipping if available."
2484
  msgstr "Standardmäßig erlaubt WooCommerce die Auswahl anderer Versandmethoden, auch wenn kostenloser Versand möglich ist. Diese Option erzwingt den kostenlosen Versand, sobald dieser verfügbar ist."
@@ -2494,12 +2495,12 @@ msgstr "Berechnung"
2494
  msgid "Calculate unit prices automatically based on product price"
2495
  msgstr "Einheitspreise basierend auf dem Produktpreis automatisch berechnen"
2496
 
2497
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:671
2498
  #@ woocommerce-germanized
2499
  msgid "Enable to make sure default checkout template is not being overriden by theme."
2500
  msgstr "Überschreiben relevanter Templates im Checkout durch dein Theme verhindern."
2501
 
2502
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:675
2503
  #@ woocommerce-germanized
2504
  msgid "If you are facing problems within your checkout e.g. legally relevant data is not showing (terms, delivery time, unit price etc.) your theme seems to be incompatible (not using default WooCommerce hooks and filters). As a workaround you may use this fallback which ensures default review-order.php and form-checkout.php is used."
2505
  msgstr "Wenn du Probleme während des Checkouts hast (Inhalte werden falsch, nicht oder doppelt dargestellt), dann könntest du als Workaround diese Option aktivieren. Diese Option hindert dein Theme relevante Templates für den Checkout (review-order.php und form-checkout.php) zu überschreiben. "
@@ -2828,39 +2829,33 @@ msgstr "Aktiviere die Zahlungsart nur dann, wenn der Kunde bereits eine Bestellu
2828
  msgid "Enable \"agree to SEPA mandate\" checkbox"
2829
  msgstr "Aktiviere die Checkbox zur Bestätigung des Lastschriftmandates."
2830
 
2831
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:791
2832
  #@ woocommerce-germanized
2833
  msgid "Digital Confirmation Notice"
2834
  msgstr "Digitale Bestätigung"
2835
 
2836
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:792
2837
  #@ woocommerce-germanized
2838
  msgid "This text will be appended to your order processing email if the order contains digital products. Use placeholders {link}{/link} to insert link to right of withdrawal page."
2839
  msgstr "Dieser Text wird an deine Bestellbestätigungs-Email (unterhalb der Tabelle) angehängt, sobald ein Kunde ein digitales Produkt gekauft hat. Verwende die Platzhalter {link}{/link} um einen Link zur Widerrufsbelehrung einzufügen."
2840
 
2841
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:795
2842
  #@ woocommerce-germanized
2843
  msgid "Furthermore you have expressly agreed to start the performance of the contract for digital items (e.g. downloads) before expiry of the withdrawal period. I have noted to lose my {link}right of withdrawal{/link} with the beginning of the performance of the contract."
2844
  msgstr "Außerdem haben Sie ausdrücklich zugestimmt, dass für die digitalen Inhalte Ihrer Bestellung mit der Ausführung des Vertrags bereits vor Ablauf der Widerrufsfrist begonnen wird. Sie haben auch zur Kenntnis genommen, dass Sie mit Beginn der Ausführung des Vertrags Ihr {link}Widerrufsrecht{/link} verlieren."
2845
 
2846
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:42
2847
  #, php-format
2848
  #@ woocommerce-germanized
2849
  msgid "PDF %s"
2850
  msgstr "PDF %s"
2851
 
2852
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:197
2853
  #, php-format
2854
  #@ woocommerce-germanized
2855
  msgid "Want to attach automatically generated PDF files to emails instead of plain text? %sUpgrade to %spro%s%s"
2856
  msgstr "Möchtest du deine Hinweistexte als PDF-Dateien an die E-Mails anhängen? %sUpgrade zur %spro%s Version%s"
2857
 
2858
- #. translators: plugin header field 'Version'
2859
- #: woocommerce-germanized.php:0
2860
- #@ woocommerce-germanized
2861
- msgid "1.4.2"
2862
- msgstr "1.4.2"
2863
-
2864
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:49
2865
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php:38
2866
  #@ woocommerce-germanized
@@ -2894,19 +2889,19 @@ msgstr "Regulärer Grundpreis"
2894
  msgid "Sale Base Price"
2895
  msgstr "Angebotsgrundpreis"
2896
 
2897
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:429
2898
  #: includes/admin/settings/class-wc-gzd-settings-germanized.php:588
2899
  #: includes/admin/settings/class-wc-gzd-settings-germanized.php:621
 
2900
  #@ woocommerce-germanized
2901
  msgid "Base Price"
2902
  msgstr "Grundpreis"
2903
 
2904
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:432
2905
  #@ woocommerce-germanized
2906
  msgid "Base Price Text"
2907
  msgstr "Grundpreis Text"
2908
 
2909
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:433
2910
  #@ woocommerce-germanized
2911
  msgid "This text will be used to display the base price. Use {price} to insert the price. If you want to specifically format base price output use {base}, {unit} and {base_price} as placeholders."
2912
  msgstr "Dieser Text wird für die Anzeige des Grundpreises verwendet. Nutze {price} als Platzhalter für den formatierten Grundpreis. Wenn du die Ausgabe detailliert beeinflussen willst, nutze stattdessen {base}, {unit} und {base_price} für die einzelnen Elemente."
@@ -2932,32 +2927,32 @@ msgstr "Du solltest vor einem Update immer ein Backup deiner Datenbank anlegen.
2932
  msgid "Number of units included per default product price. Example: 1000 ml."
2933
  msgstr "Anzahl der Produkteinheiten auf Basis des Produktpreises. Beispiel: 1000 ml."
2934
 
2935
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:637
2936
  #@ woocommerce-germanized
2937
  msgid "Show product units"
2938
  msgstr "Produkteinheiten anzeigen"
2939
 
2940
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:638
2941
  #@ woocommerce-germanized
2942
  msgid "Display amount of product units on product detail page."
2943
  msgstr "Zeige die Anzahl der Produkteinheiten auf der Produktdetailseite an."
2944
 
2945
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:639
2946
  #@ woocommerce-germanized
2947
  msgid "Product units will be shown right above your SKU (if available) within the product meta section."
2948
  msgstr "Die Produkteinheiten werden oberhalb der Artikelnummer (falls vorhanden), in den Meta-Daten der Produkte ausgegeben."
2949
 
2950
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:646
2951
  #@ woocommerce-germanized
2952
  msgid "Product Units Text"
2953
  msgstr "Produkteinheiten Text"
2954
 
2955
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:647
2956
  #@ woocommerce-germanized
2957
  msgid "This text will be used to display the product units. Use {product_units} to insert the amount of product units. Use {unit} to insert the unit. Optionally display the formatted unit price with {unit_price}."
2958
  msgstr "Dieser Text wird verwendet, um die Produkteinheiten-Ausgabe zu formatieren. Verwende {product_units} um die Anzahl der Einheiten auszugeben. Verwende {unit} für die Einheit und optional {unit_price} für den formatierten Grundpreis."
2959
 
2960
- #: includes/admin/settings/class-wc-gzd-settings-germanized.php:652
2961
  #@ woocommerce-germanized
2962
  msgid "Product contains: {product_units} {unit}"
2963
  msgstr "Produkt enthält: {product_units} {unit}"
@@ -2967,3 +2962,59 @@ msgstr "Produkt enthält: {product_units} {unit}"
2967
  msgid "To retrieve direct access to digital content you have to agree to the loss of your right of withdrawal."
2968
  msgstr "Um direkten Zugang zu den digitalen Inhalte zu erhalten, müssen Sie auf das Widerrufsrecht verzichten."
2969
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  msgid ""
2
  msgstr ""
3
+ "Project-Id-Version: WooCommerce Germanized v1.4.3\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: 2014-09-29 12:26+0100\n"
6
+ "PO-Revision-Date: 2015-09-28 08:04:24+0000\n"
7
  "Last-Translator: \n"
8
  "Language-Team: \n"
9
  "MIME-Version: 1.0\n"
105
  msgid "Cheatin&#8217; huh?"
106
  msgstr "So geht das leider nicht.."
107
 
108
+ #: includes/admin/class-wc-gzd-admin.php:125
109
  #@ woocommerce-germanized
110
  msgid "Optional Email Content"
111
  msgstr "Optionaler E-Mail Inhalt"
112
 
113
+ #: includes/admin/class-wc-gzd-admin.php:134
114
  #@ woocommerce-germanized
115
  msgid "Add content which will be replacing default page content within emails."
116
  msgstr "Füllen Sie dieses Feld aus um einen abweichenden E-Mail Anhangstext für diese Seite zu bestimmen."
117
 
118
+ #: includes/admin/class-wc-gzd-admin.php:143
119
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:81
120
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:141
121
  #@ woocommerce-germanized
122
  msgid "Optional Mini Description"
123
  msgstr "Warenkorb Kurzbeschreibung"
124
 
125
+ #: includes/admin/class-wc-gzd-admin.php:160
126
  #@ woocommerce-germanized
127
  msgid "This content will be shown as short product description within checkout and emails."
128
  msgstr "Dieser Inhalt wird während des Bezahlvorganges und in den E-Mails als Produkt Kurzbeschreibung angezeigt."
138
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:42
139
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:101
140
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:129
141
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:114
142
  #: includes/class-wc-gzd-trusted-shops.php:438
143
  #@ woocommerce-germanized
144
  msgid "None"
184
  msgid "Germanized"
185
  msgstr "Germanized"
186
 
187
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:85
188
  #@ woocommerce-germanized
189
  msgid "General Options"
190
  msgstr "Allgemein"
191
 
192
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:86
193
  #@ woocommerce-germanized
194
  msgid "Display Options"
195
  msgstr "Anzeige"
206
  msgid "eKomi Options"
207
  msgstr "eKomi"
208
 
209
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:121
210
  #: includes/admin/settings/class-wc-gzd-settings-germanized.php:520
211
  #@ woocommerce-germanized
212
  msgid "General"
213
  msgstr "Allgemein"
214
 
215
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:124
216
  #: includes/admin/views/html-page-status-germanized.php:37
217
  #@ woocommerce-germanized
218
  msgid "Small-Enterprise-Regulation"
219
  msgstr "Kleinunternehmerregelung"
220
 
221
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:125
222
  #@ woocommerce-germanized
223
  msgid "VAT based on &#167;19 UStG"
224
  msgstr "Umsatzsteuerbefreit nach &#167;19 UStG."
225
 
226
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:129
227
  #, php-format
228
  #@ woocommerce-germanized
229
  msgid "set this Option if you have chosen <a href=\"%s\" target=\"_blank\">&#167;19 UStG</a>"
230
  msgstr "wähle diese Option, falls du von der Kleinunternehmerregelung (<a href=\"%s\" target=\"_blank\">&#167;19 UStG</a>) betroffen bist und davon Gebrauch machen willst."
231
 
232
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:133
233
  #@ woocommerce-germanized
234
  msgid "Show no VAT notice"
235
  msgstr "Umsatzsteuerbefreiung"
236
 
237
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:134
238
  #@ woocommerce-germanized
239
  msgid "Show no VAT &#167;19 UStG notice on single product"
240
  msgstr "Hinweis zur Umsatzsteuerbefreiung gemäß &#167;19 UStG auf der Produktseite anzeigen."
241
 
242
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:141
243
  #@ woocommerce-germanized
244
  msgid "Submit Order Button Text"
245
  msgstr "Kauf abschließen - Text"
246
 
247
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:142
248
  #@ woocommerce-germanized
249
  msgid "This text serves as Button text for the Order Submit Button."
250
  msgstr "Dieser Text wird auf dem Kauf abschließen Button dargestellt"
251
 
252
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:147
253
  #@ woocommerce-germanized
254
  msgid "Buy Now"
255
  msgstr "Jetzt kaufen"
256
 
257
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:151
258
  #@ woocommerce-germanized
259
  msgid "Phone as required field"
260
  msgstr "Telefon als Pflichtfeld"
261
 
262
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:152
263
  #@ woocommerce-germanized
264
  msgid "Should phone number be a required field within checkout?"
265
  msgstr "Diese Option setzen, damit die Telefonnummer ein Pflichtfeld im Checkout ist."
266
 
267
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:189
268
  #: includes/admin/views/html-page-status-germanized.php:141
269
  #@ woocommerce-germanized
270
  msgid "Legal Pages"
271
  msgstr "Rechtlich relevante Seiten"
272
 
273
  #: includes/admin/class-wc-gzd-admin-status.php:44
274
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:214
275
  #: includes/wc-gzd-core-functions.php:48
276
  #@ woocommerce-germanized
277
  msgid "Imprint"
278
  msgstr "Impressum"
279
 
280
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:215
281
  #@ woocommerce-germanized
282
  msgid "This page should contain an imprint with your company's information."
283
  msgstr "Diese Seite sollte das Impressum d.h. die Informationen (gemäß TMG) zu Ihrem Unternehmen enthalten."
284
 
285
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:285
286
  #@ woocommerce-germanized
287
  msgid "Shipping Costs"
288
  msgstr "Versandkosten"
289
 
290
  #: includes/admin/class-wc-gzd-admin-status.php:45
291
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:225
292
  #@ woocommerce-germanized
293
  msgid "Data Security Statement"
294
  msgstr "Datenschutzbelehrung"
295
 
296
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:226
297
  #@ woocommerce-germanized
298
  msgid "This page should contain information regarding your data security policy."
299
  msgstr "Diese Seite sollte Ihre Datenschutzbelehrung enthalten."
300
 
301
  #: includes/admin/class-wc-gzd-admin-status.php:43
302
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:203
303
  #@ woocommerce-germanized
304
  msgid "Power of Revocation"
305
  msgstr "Widerrufsbelehrung"
306
 
307
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:204
308
  #@ woocommerce-germanized
309
  msgid "This page should contain information regarding your customer's Right of Revocation."
310
  msgstr "Diese Seite sollte Ihre Widerrufsbelehrung enthalten. Nutzen Sie folgenden Shortcut um ein Widerrufsformular in die Seite einzubinden: [revocation_form]"
311
 
312
  #: includes/admin/class-wc-gzd-admin-status.php:46
313
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:236
314
  #@ woocommerce-germanized
315
  msgid "Payment Methods"
316
  msgstr "Zahlungarten"
317
 
318
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:237
319
  #@ woocommerce-germanized
320
  msgid "This page should contain information regarding the Payment Methods that are chooseable during checkout."
321
  msgstr "Diese Seite sollte Informationen zu den von Ihnen zur Verfügung gestellten Zahlungsmöglichkeiten bereitstellen. Nutzen Sie dafür z.B. folgenden Shortcut: [payment_methods_info]"
322
 
323
  #: includes/admin/class-wc-gzd-admin-status.php:47
324
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:247
325
  #@ woocommerce-germanized
326
  msgid "Shipping Methods"
327
  msgstr "Versandarten"
328
 
329
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:248
330
  #@ woocommerce-germanized
331
  msgid "This page should contain information regarding shipping methods that are chooseable during checkout."
332
  msgstr "Diese Seite sollte Informationen zu den von Ihnen zur Verfügung gestellten Versandarten bereitstellen."
333
 
334
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:259
335
  #@ woocommerce-germanized
336
  msgid "Delivery Times"
337
  msgstr "Lieferzeiten"
338
 
339
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:262
340
  #: includes/admin/views/html-page-status-germanized.php:42
341
  #@ woocommerce-germanized
342
  msgid "Default Delivery Time"
343
  msgstr "Standard-Lieferzeit"
344
 
345
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:263
346
  #@ woocommerce-germanized
347
  msgid "This delivery time will be added to every product if no delivery time has been chosen individually"
348
  msgstr "Diese Lieferzeit wird bei Produkten angezeigt, denen keine Lieferzeit zugeordnet wurde"
349
 
350
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:274
351
  #@ woocommerce-germanized
352
  msgid "Delivery Time Text"
353
  msgstr "Lieferzeit Text"
354
 
355
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:275
356
  #@ woocommerce-germanized
357
  msgid "This text will be used to indicate delivery time for products. Use {delivery_time} as placeholder."
358
  msgstr "Dieser Text wird verwendet um die Lieferzeit im Frontend darzustellen. {delivery_time} als Platzhalter verwenden."
359
 
360
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:280
361
  #@ woocommerce-germanized
362
  msgid "Delivery time: {delivery_time}"
363
  msgstr "Lieferzeit: {delivery_time}"
364
 
365
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:288
366
  #@ woocommerce-germanized
367
  msgid "Shipping Costs Text"
368
  msgstr "Versandkosten Text"
369
 
370
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:289
371
  #@ woocommerce-germanized
372
  msgid "This text will be used to inform the customer about shipping costs. Use {link}{/link} to insert link to shipping costs page."
373
  msgstr "Dieser Text wird genutzt um die Kunden im Frontend über u.U. anfallende Lieferkosten zu informieren. Nutzen Sie die Platzhalter {link}{/link} um den Link zur Versandkosten-Seite einzufügen."
374
 
375
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:294
376
  #@ woocommerce-germanized
377
  msgid "plus {link}Shipping Costs{/link}"
378
  msgstr "zzgl. {link}Versandkosten{/link}"
379
 
380
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:389
381
  #: includes/wc-gzd-core-functions.php:45
382
  #@ woocommerce-germanized
383
  msgid "Right of Recission"
384
  msgstr "Widerrufsrecht"
385
 
386
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:392
387
  #@ woocommerce-germanized
388
  msgid "Revocation Address"
389
  msgstr "Widerruf richten an"
390
 
391
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:393
392
  #@ woocommerce-germanized
393
  msgid "Type in an address, telephone/telefax number, email address which is to be used as revocation address"
394
  msgstr "Geben Sie hier Ihre Adresse, Telefon- und Faxnummer, E-Mail Adresse usw. an, an die Ihre Kunden Ihren Widerruf richten sollen"
395
 
396
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:476
397
  #@ woocommerce-germanized
398
  msgid "E-Mails"
399
  msgstr "E-Mails"
461
  msgid "Tax Info"
462
  msgstr "MwSt. Hinweis"
463
 
464
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:679
465
  #@ woocommerce-germanized
466
  msgid "Checkout & Cart"
467
  msgstr "Checkout & Warenkorb"
468
 
469
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:757
470
  #@ woocommerce-germanized
471
  msgid "Checkout Legal Display"
472
  msgstr "Checkbox oder Text"
473
 
474
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:758
475
  #@ woocommerce-germanized
476
  msgid "Use Text without Checkbox"
477
  msgstr "Rechtshinweis ohne Checkbox."
478
 
479
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:760
480
  #@ woocommerce-germanized
481
  msgid "This version will remove checkboxes from Checkout and display a text instead. This seems to be legally compliant (Zalando & Co are using this option)."
482
  msgstr "Diese Option nutzt anstatt einer Checkbox einen ausformulierten Text direkt überhalb des Kauf abschließen Buttons (Zalando und Andere Shops verwenden diese Form)"
483
 
484
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:766
485
  #@ woocommerce-germanized
486
  msgid "Legal Text"
487
  msgstr "Rechtlicher Hinweistext"
488
 
489
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:767
490
  #@ woocommerce-germanized
491
  msgid "Choose a Plain Text which will be shown right above checkout submit button. Use {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} as Placeholders for the links to legal pages."
492
  msgstr "Geben Sie hier den Text ein, den Sie als Hinweistext überhalb des \"Kaufen\" - Buttons darstellen möchten. Nutzen Sie die Platzhalter {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} um die jeweiligen Links zu den Seiten einzufügen."
493
 
494
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:769
495
  #@ woocommerce-germanized
496
  msgid "With your order, you agree to have read and understood our {term_link}Terms and Conditions{/term_link} and your {revocation_link}Right of Recission{/revocation_link}."
497
  msgstr "Mit Ihrer Bestellung erklären Sie sich mit unseren {term_link}Allgemeinen Geschäftsbedingungen{/term_link} und {revocation_link}Widerrufsbestimmungen{/revocation_link} einverstanden."
498
 
499
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:776
500
  #@ woocommerce-germanized
501
  msgid "Legal Text Error"
502
  msgstr "Fehlermeldung der Checkbox"
503
 
504
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:777
505
  #@ woocommerce-germanized
506
  msgid "If you have chosen to use checkbox validation please choose a error message which will be shown if the user doesn't check checkbox. Use {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} as Placeholders for the links to legal pages."
507
  msgstr "Falls Sie sich dazu entschieden haben, eine Checkbox zu nutzen, können Sie hier die Fehlermeldung eingeben, die angezeigt wird, wenn ein Benutzer die Checkbox nicht aktiviert hat. Nutzen Sie die Platzhalter um Links zu den jeweiligen Hinweisseiten einzufügen: {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link}"
508
 
509
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:779
510
  #@ woocommerce-germanized
511
  msgid "To finish the order you have to accept to our {term_link}Terms and Conditions{/term_link} and {revocation_link}Right of Recission{/revocation_link}."
512
  msgstr "Bitte akzeptieren Sie unsere {term_link}Allgemeinen Geschäftsbedingungen{/term_link} und {revocation_link}Widerrufsbestimmungen{/revocation_link}."
513
 
514
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:835
515
  #@ woocommerce-germanized
516
  msgid "Order Success Text"
517
  msgstr "Bestellung eingegangen"
518
 
519
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:836
520
  #@ woocommerce-germanized
521
  msgid "Choose a custom text to display on order success page."
522
  msgstr "Hier können Sie einen individuellen kurzen Text eingeben, der nach der Bestellung ausgegeben wird."
523
 
524
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:844
525
  #@ woocommerce-germanized
526
  msgid "Order Success Data"
527
  msgstr "Bestellbestätigungs-Daten"
528
 
529
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:845
530
  #@ woocommerce-germanized
531
  msgid "Hide product table and customer data on order success page"
532
  msgstr "Produktdetails (Tabelle, Kundeninfos) von der Bestätigungsseite entfernen."
713
  msgid "Please install <a href=\"%s\" target=\"_blank\">WooCommerce</a> before installing WooCommerce Germanized. Thank you!"
714
  msgstr "Bitte installieren Sie <a href=\"%s\" target=\"_blank\">WooCommerce</a> bevor Sie WooCommerce Germanized installieren. Vielen Dank!"
715
 
716
+ #: includes/class-wc-gzd-install.php:417
717
  #@ woocommerce-germanized
718
  msgctxt "Page slug"
719
  msgid "data-security"
720
  msgstr "datenschutzbelehrung"
721
 
722
+ #: includes/class-wc-gzd-install.php:418
723
  #@ woocommerce-germanized
724
  msgctxt "Page title"
725
  msgid "Data Security Statement"
726
  msgstr "Datenschutzbelehrung"
727
 
728
+ #: includes/class-wc-gzd-install.php:422
729
  #@ woocommerce-germanized
730
  msgctxt "Page slug"
731
  msgid "imprint"
732
  msgstr "impressum"
733
 
734
+ #: includes/class-wc-gzd-install.php:423
735
  #@ woocommerce-germanized
736
  msgctxt "Page title"
737
  msgid "Imprint"
738
  msgstr "Impressum"
739
 
740
+ #: includes/class-wc-gzd-install.php:427
741
  #@ woocommerce-germanized
742
  msgctxt "Page slug"
743
  msgid "terms"
744
  msgstr "agb"
745
 
746
+ #: includes/class-wc-gzd-install.php:428
747
  #@ woocommerce-germanized
748
  msgctxt "Page title"
749
  msgid "Terms & Conditions"
750
  msgstr "AGB"
751
 
752
+ #: includes/class-wc-gzd-install.php:432
753
  #@ woocommerce-germanized
754
  msgctxt "Page slug"
755
  msgid "revocation"
756
  msgstr "widerrufsbelehrung"
757
 
758
+ #: includes/class-wc-gzd-install.php:433
759
  #@ woocommerce-germanized
760
  msgctxt "Page title"
761
  msgid "Power of Revocation"
762
  msgstr "Widerrufsbelehrung"
763
 
764
+ #: includes/class-wc-gzd-install.php:442
765
  #@ woocommerce-germanized
766
  msgctxt "Page slug"
767
  msgid "payment-methods"
768
  msgstr "bezahlmoeglichkeiten"
769
 
770
+ #: includes/class-wc-gzd-install.php:443
771
  #@ woocommerce-germanized
772
  msgctxt "Page title"
773
  msgid "Payment Methods"
774
  msgstr "Zahlungsarten"
775
 
776
+ #: includes/class-wc-gzd-install.php:437
777
  #@ woocommerce-germanized
778
  msgctxt "Page slug"
779
  msgid "shipping-methods"
780
  msgstr "versandarten"
781
 
782
+ #: includes/class-wc-gzd-install.php:438
783
  #@ woocommerce-germanized
784
  msgctxt "Page title"
785
  msgid "Shipping Methods"
1082
  msgid "Choose a Payment Gateway"
1083
  msgstr "Zahlungsart auswählen"
1084
 
1085
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:809
1086
  #: includes/wc-gzd-cart-functions.php:194
1087
  #@ woocommerce-germanized
1088
  msgid "I want immediate access to the digital content and I acknowledge that thereby I lose my right to cancel once the service has begun."
1423
  msgid "%s of %s based on %s <a href=\"%s\" target=\"_blank\">ratings</a>."
1424
  msgstr "%s von %s basierend auf %s <a href=\"%s\" target=\"_blank\">Bewertungen</a>."
1425
 
1426
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:749
1427
  #@ woocommerce-germanized
1428
  msgid "Checkout Table Color"
1429
  msgstr "Hintergrundfarbe der Tabelle"
1430
 
1431
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:751
1432
  #@ woocommerce-germanized
1433
  msgid "Choose the color of your checkout product table. This table should be highlighted within your checkout page."
1434
  msgstr "Wähle die Farbe des Hintergrundes deiner Produkt-Tabelle im Checkout. Die Tabelle sollte sich farblich vom Rest des Inhalts abheben."
1470
  msgid "Check if fee is taxable."
1471
  msgstr "MwSt.-Berechnung für Gebühr aktivieren."
1472
 
1473
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:806
1474
  #@ woocommerce-germanized
1475
  msgid "Legal Digital Text"
1476
  msgstr "Hinweis Digital"
1477
 
1478
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:807
1479
  #@ woocommerce-germanized
1480
  msgid "Choose a Plain Text which will be shown right above checkout submit button if a user has picked a digital product. See legal text option for possible placeholders."
1481
  msgstr "Passen Sie hier optional den Hinweistext an, der angezeigt wird, wenn ein Kunde ein digitales Produkt im Warenkorb hat. Sie können hier die gleichen Platzhalter verwenden wie beim Rechtlichen Hinweistext"
1606
  msgid "Found Bugs?"
1607
  msgstr "Bugs oder Wünsche melden"
1608
 
1609
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:637
1610
  #@ woocommerce-germanized
1611
  msgid "Shipping Costs for Virtual"
1612
  msgstr "Versandkosten virtuell"
1613
 
1614
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:638
1615
  #@ woocommerce-germanized
1616
  msgid "Select this option if you want to display shipping costs notice for virtual products."
1617
  msgstr "Versandkosten-Hinweis auch für virtuelle Produkte aktivieren?"
1628
  msgid "excl. VAT"
1629
  msgstr "exkl. MwSt."
1630
 
1631
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:402
1632
  #: includes/admin/views/html-page-status-germanized.php:81
1633
  #@ woocommerce-germanized
1634
  msgid "Virtual VAT"
1635
  msgstr "USt. Änderung 2015"
1636
 
1637
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:405
1638
  #@ woocommerce-germanized
1639
  msgid "Enable Virtual VAT"
1640
  msgstr "USt. Anpassung aktivieren"
1641
 
1642
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:406
1643
  #@ woocommerce-germanized
1644
  msgid "Enable if you want to charge your customer's countries' VAT for virtual products."
1645
  msgstr "Aktiviere diese Option um für virtuelle Produkte den USt.-Satz des Dienstleistungsempfängers zu berechnen."
1646
 
1647
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:410
1648
  #, php-format
1649
  #@ woocommerce-germanized
1650
  msgid "New EU VAT rule applies on 01.01.2015. Make sure that every digital or virtual product has chosen the right tax class (Virtual Rate or Virtual Reduced Rate). Gross prices will not differ from the prices you have chosen for affected products. In fact the net price will differ depending on the VAT rate of your customers' country. Shop settings will be adjusted to show prices including tax. More information can be found <a href=\"%s\" target=\"_blank\">here</a>."
1660
  msgid "We will automatically insert EU VAT Rates for selling virtual products."
1661
  msgstr "Wir übernehmen das Einfügen der unterschiedlichen EU MwSt.-Sätze für dich."
1662
 
1663
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:655
1664
  #@ woocommerce-germanized
1665
  msgid "{price}"
1666
  msgstr "{price}"
1667
 
1668
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:953
1669
  #@ woocommerce-germanized
1670
  msgid "Sorry, but the new Virtual VAT rules cannot be applied to small business."
1671
  msgstr "Sorry aber die neuen USt-Regelungen für virtuelle Produkte lassen sich leider nicht mit dem Kleinunternehmer vereinbaren. Bitte kontaktiere deinen Steuerberater für weitere Informationen."
1672
 
1673
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:159
1674
  #@ woocommerce-germanized
1675
  msgid "Add title field"
1676
  msgstr "Anrede im Checkout"
1677
 
1678
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:160
1679
  #@ woocommerce-germanized
1680
  msgid "Add a title field to the address within checkout?"
1681
  msgstr "Fügt ein Feld \"Anrede\" im Checkout hinzu."
1682
 
1683
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:786
1684
  #@ woocommerce-germanized
1685
  msgid "Show digital notice"
1686
  msgstr "Checkbox digitale Produkte"
1687
 
1688
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:787
1689
  #@ woocommerce-germanized
1690
  msgid "Show checkbox for digital products."
1691
  msgstr "Checkbox bei digitalen Produkten anzeigen."
1692
 
1693
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:788
1694
  #@ woocommerce-germanized
1695
  msgid "Disable this option if you want your customers to obtain their right of recission even if digital products are being bought."
1696
  msgstr "Diese Option setzt im Checkout eine Checkbox falls sich im Warenkorb digitale Produkte befinden. Hier können Kunden darauf aufmerksam gemacht werden, dass im Falle von digitalen Produkten das Widerrufsrecht erlischt."
1697
 
1698
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:713
1699
  #@ woocommerce-germanized
1700
  msgid "Show Thumbnails"
1701
  msgstr "Thumbnails anzeigen"
1702
 
1703
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:714
1704
  #@ woocommerce-germanized
1705
  msgid "Show product thumbnails on checkout page?"
1706
  msgstr "Produktbilder im Checkout darstellen?"
1707
 
1708
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:718
1709
  #@ woocommerce-germanized
1710
  msgid "Uncheck if you don't want to show your product thumbnails within checkout table."
1711
  msgstr "Deaktiviere diese Option, wenn du keine Produkbilder im Checkout angezeigt bekommen möchtest."
1712
 
1713
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:722
1714
  #@ woocommerce-germanized
1715
  msgid "Hide Shipping Select"
1716
  msgstr "Versandarten Auswahl"
1717
 
1718
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:723
1719
  #@ woocommerce-germanized
1720
  msgid "Hide shipping rate selection from checkout?"
1721
  msgstr "Die Auswahl von Versandarten im Checkout deaktivieren?"
1722
 
1723
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:727
1724
  #@ woocommerce-germanized
1725
  msgid "This option will hide shipping rate selection from checkout. By then customers will only be able to change their shipping rate on cart page."
1726
  msgstr "Diese Option deaktiviert die Darstellung der Versandarten Auswahl im Checkout. Kunden können von nun an nur noch über den Warenkorb die Versandmethode ändern."
1727
 
1728
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:704
1729
  #@ woocommerce-germanized
1730
  msgid "Hide taxes estimated"
1731
  msgstr "Hinweis \"Steuern geschätzt\""
1732
 
1733
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:705
1734
  #@ woocommerce-germanized
1735
  msgid "Do you want to hide the \"taxes and shipping estimated\" text from your cart?"
1736
  msgstr "Den Hinweis \"Versandkosten und Steuern werden geschätzt\" entfernen?"
1737
 
1738
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:709
1739
  #@ woocommerce-germanized
1740
  msgid "By default WooCommerce adds a \"taxes and shipping estimated\" text to your cart. This might puzzle your customers and may not meet german law."
1741
  msgstr "Der Hinweistext im Warenkorb zur Schätzung von Steuern und Versandkosten kann für Verwirrung beim Kunden sorgen und scheint nicht für den deutschen Markt geeignet."
1746
  msgid "excl. %s%% VAT"
1747
  msgstr "exkl. %s%% MwSt."
1748
 
1749
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:731
1750
  #@ woocommerce-germanized
1751
  msgid "Show back to cart button"
1752
  msgstr "Bestellung bearbeiten"
1753
 
1754
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:732
1755
  #@ woocommerce-germanized
1756
  msgid "Show back to cart button within your checkout table?"
1757
  msgstr "Einen \"Bestellung bearbeiten\" Button in der Bestellübersicht anzeigen?"
1758
 
1759
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:736
1760
  #@ woocommerce-germanized
1761
  msgid "This button may let your customer edit their order before submitting. Some people state that this button should be hidden to avoid legal problems."
1762
  msgstr "Dieser Button ermöglicht es deinen Kunden etwaige Falscheingaben (d.h. fälschlich ausgewählte Produkte) zu korrigieren und zurück zum Warenkorb zu gelangen. Je nach Darstellung in deinem Theme könnte es allerdings auch das Risiko für Abmahnungen erhöhen, da zwischen Pflichtangaben und Kaufen-Button keine weitere Informationen abgedruckt werden sollten."
1763
 
1764
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:298
1765
  #@ woocommerce-germanized
1766
  msgid "Shipping Costs Tax"
1767
  msgstr "Steuerberechnung"
1768
 
1769
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:299
1770
  #@ woocommerce-germanized
1771
  msgid "Enable better taxation for shpping costs?"
1772
  msgstr "Genauere Steuerberechnung für Versandkosten aktivieren?"
1773
 
1774
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:303
1775
  #, php-format
1776
  #@ woocommerce-germanized
1777
  msgid "By choosing this option shipping cost taxation will be calculated based on tax rates within cart. Imagine the following example. Further information can be found <a href=\"%s\" target=\"_blank\">here</a>. %s"
1778
  msgstr "Mit der Auswahl dieser Option werden die Steuern für Versandkosten basierend auf den Anteilen der Steuersätze der Artikel im Warenkorb berechnet. Weitere Informationen findest du <a href=\"%s\" target=\"_blank\">hier</a>. Falls du vorher mit Nettobeträgen gearbeitet hast, ändere die Versandkosten bitte in Bruttobeträge. Hier ein kleines Beispiel: %s"
1779
 
1780
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:307
1781
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:329
1782
  #@ woocommerce-germanized
1783
  msgid "Force Tax Calculation"
1784
  msgstr "Steuerberechnung erzwingen"
1785
 
1786
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:308
1787
  #@ woocommerce-germanized
1788
  msgid "Force shipping costs tax calculation for every method?"
1789
  msgstr "Erzwinge die Besteuerung für Versandkosten für jede Versandart?"
1790
 
1791
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:312
1792
  #@ woocommerce-germanized
1793
  msgid "This option will overwrite settings for each individual shipping method to force tax calculation (instead of only calculating tax for those methods which are taxeable)."
1794
  msgstr "Diese Option überschreibt alle abweichenden Einstellungen verschiedener Versandarten und erzwingt die Steuerberechnung."
1795
 
1796
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:317
1797
  #@ woocommerce-germanized
1798
  msgid "Fees"
1799
  msgstr "Gebühren"
1800
 
1801
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:320
1802
  #@ woocommerce-germanized
1803
  msgid "Fee Tax"
1804
  msgstr "Steuerberechnung"
1805
 
1806
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:321
1807
  #@ woocommerce-germanized
1808
  msgid "Enable better taxation for fees?"
1809
  msgstr "Genauere Steuerberechnung für Gebühren aktivieren?"
1810
 
1811
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:325
1812
  #@ woocommerce-germanized
1813
  msgid "By choosing this option fee taxation will be calculated based on tax rates within cart. See shipping costs taxation for more information."
1814
  msgstr "Mit Hilfe dieser Option werden die Steuern für Gebühren basierend auf den Steuersätzen der Artikel im Warenkorb berechnet (siehe Steuern für Versandkosten für weitere Informationen). Bitte passe auch hier etwaige Nettobeträge in Bruttobeträge an."
1815
 
1816
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:330
1817
  #@ woocommerce-germanized
1818
  msgid "Force fee tax calculation for every fee?"
1819
  msgstr "Berechnung der Steuern für Gebühren erzwingen?"
1820
 
1821
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:334
1822
  #@ woocommerce-germanized
1823
  msgid "This option will overwrite settings for each individual fee to force tax calculation (instead of only calculating tax for those fees which are taxeable)."
1824
  msgstr "Diese Option überschreibt die Einstellungen aller Gebühren und erzwingt die Steuerberechnung."
1844
  msgid "Yes, customer opted in"
1845
  msgstr "Ja, Kunde wurde per Double Opt-In bestätigt."
1846
 
1847
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:339
1848
  #@ woocommerce-germanized
1849
  msgid "Customers"
1850
  msgstr "Kunden"
1851
 
1852
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:369
1853
  #@ woocommerce-germanized
1854
  msgid "Customer Double Opt In"
1855
  msgstr "Double Opt-In"
1856
 
1857
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:370
1858
  #@ woocommerce-germanized
1859
  msgid "Enable customer double opt in on registration?"
1860
  msgstr "Double Opt-In Verfahren für Kundenkonten aktivieren?"
1861
 
1862
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:371
1863
  #, php-format
1864
  #@ woocommerce-germanized
1865
  msgid "If customer chooses to create a customer account an email with an activation link will be sent by mail. Customer account will be marked as activated if user clicks on the link within the email. More information on this topic can be found <a href=\"%s\" target=\"_blank\">here</a>."
1866
  msgstr "Wenn ein Kunde sich dazu entscheidet ein Benutzerkonto zu erstellen, erhält dieser eine E-Mail mit einem Bestätigungslink. Insofern der Kunde diesen Bestätigungslink anklickt, wird das Konto als bestätigt markiert. Dieses Verfahren ist laut Amtsgericht Berlin Pankow/Weißensee notwendig. Mehr Informationen findest du <a href=\"%s\" target=\"_blank\">hier</a>."
1867
 
1868
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:378
1869
  #@ woocommerce-germanized
1870
  msgid "Delete Unactivated After"
1871
  msgstr "Unaktivierte löschen nach"
1872
 
1873
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:379
1874
  #@ woocommerce-germanized
1875
  msgid "This will make sure unactivated customer accounts will be deleted after X days. Set to 0 if you don't want to automatically delete unactivated customers."
1876
  msgstr "Diese Option sorgt dafür, dass unaktivierte Kundenkonten nach X Tagen automatisch gelöscht werden. Falls du die Löschung verhindern möchtest, setze den Wert auf 0."
1930
  msgid "Sorry, but this activation code cannot be found."
1931
  msgstr "Sorry, dieser Aktivierungscode ist uns leider nicht bekannt."
1932
 
1933
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:380
1934
  #@ woocommerce-germanized
1935
  msgid "days"
1936
  msgstr "Tagen"
1937
 
 
1938
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php:62
1939
  #@ woocommerce-germanized
1940
  msgid "Search for a delivery time&hellip;"
1958
  msgid "https://vendidero.de"
1959
  msgstr "https://vendidero.de"
1960
 
1961
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:684
1962
  #: includes/admin/views/html-page-status-germanized.php:55
1963
  #@ woocommerce-germanized
1964
  msgid "Fallback Mode"
2007
  msgid "Export your customer data and ask consumers for a review with the Trusted Shops <a href=\"%s\" target=\"_blank\">Review Collector</a>."
2008
  msgstr "Exportiere hier die Kundendaten für die Verwendung im Trusted Shops <a href=\"%s\" target=\"_blank\">Review Collector</a>."
2009
 
2010
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:45
2011
  #, php-format
2012
  #@ woocommerce-germanized
2013
  msgid "Terms & Conditions generator %s"
2014
  msgstr "AGB Generator %s"
2015
 
2016
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:46
2017
  #, php-format
2018
  #@ woocommerce-germanized
2019
  msgid "Revocation generator %s"
2082
  msgid "Because of the small business owner state according to &#167;19 UstG the seller does not levy nor state the German value added tax."
2083
  msgstr "Kein Mehrwertsteuerausweis, da Kleinunternehmer nach &#167;19 (1) UStG."
2084
 
2085
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:740
2086
  #@ woocommerce-germanized
2087
  msgid "Show edit data notice"
2088
  msgstr "Bestellung prüfen Hinweis"
2089
 
2090
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:741
2091
  #@ woocommerce-germanized
2092
  msgid "Show a \"check-your-entries\" notice to the user?"
2093
  msgstr "Einen \"Bestellung prüfen\" Hinweis anzeigen?"
2094
 
2095
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:745
2096
  #@ woocommerce-germanized
2097
  msgid "This notice will be added right before the order comments field."
2098
  msgstr "Dieser Hinweis wird direkt oberhalb des Bestellhinweise-Feldes eingefügt."
2108
  msgid "Please check all of your entries carefully. You may change your entries with the help of the \"Back\" button in your browser"
2109
  msgstr "Bitte überprüfen Sie Ihre Eingaben. Sie können diese durch Klicken des „Zurück“-Buttons Ihres Browsers korrigieren"
2110
 
2111
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:177
2112
  #@ woocommerce-germanized
2113
  msgid "Contract"
2114
  msgstr "Kaufvertrag"
2115
 
2116
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:177
2117
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:415
2118
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:427
2119
  #, php-format
2120
  #@ woocommerce-germanized
2121
  msgid "%sUpgrade to %spro%s%s to unlock this feature and get premium support."
2122
  msgstr "%sUpgrade zur %spro%s Version%s um dieses Feature nutzen zu können und erhalte professionellen Support."
2123
 
2124
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:415
2125
  #@ woocommerce-germanized
2126
  msgctxt "invoices"
2127
  msgid "Invoices"
2128
  msgstr "Rechnungen"
2129
 
2130
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:427
2131
  #@ woocommerce-germanized
2132
  msgid "VAT"
2133
  msgstr "Umsatzsteuer"
2155
  msgid "Enable support for %s"
2156
  msgstr "Anpassungen für %s freischalten"
2157
 
2158
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:42
2159
  #, php-format
2160
  #@ woocommerce-germanized
2161
  msgid "Invoices & Packing Slips %s"
2162
  msgstr "Rechnungen & Lieferscheine %s"
2163
 
2164
  #: includes/admin/class-wc-gzd-admin-status.php:42
2165
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:192
2166
  #: includes/wc-gzd-core-functions.php:42
2167
  #@ woocommerce-germanized
2168
  msgid "Terms & Conditions"
2169
  msgstr "AGB"
2170
 
2171
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:193
2172
  #@ woocommerce-germanized
2173
  msgid "This page should contain your terms & conditions."
2174
  msgstr "Diese Seite sollte deine Allgemeinen Geschäftsbedingungen enthalten."
2175
 
2176
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:199
2177
  #, php-format
2178
  #@ woocommerce-germanized
2179
  msgid "Don't have terms & conditions yet? <a href=\"%s\">Generate now</a>!"
2180
  msgstr "Du hast noch keine AGB? <a href=\"%s\">Jetzt generieren</a>!"
2181
 
2182
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:210
2183
  #, php-format
2184
  #@ woocommerce-germanized
2185
  msgid "Don't have a revocation page yet? <a href=\"%s\">Generate now</a>!"
2186
  msgstr "Du hast noch keine Widerrufsbelehrung? <a href=\"%s\">Jetzt generieren</a>!"
2187
 
2188
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:462
2189
  #, php-format
2190
  #@ woocommerce-germanized
2191
  msgid "Attach %s"
2192
  msgstr "%s"
2193
 
2194
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:463
2195
  #, php-format
2196
  #@ woocommerce-germanized
2197
  msgid "Attach %s to the following email templates"
2202
  msgid "Data Security"
2203
  msgstr "Datenschutzbelehrung"
2204
 
2205
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:476
2206
  #@ woocommerce-germanized
2207
  msgid "Use drag & drop to customize attachment order. Don't forget to save your changes."
2208
  msgstr "Verwende Drag & Drop um die Reihenfolge der Texte in den E-Mails zu beeinflussen und speichere anschließend deine Änderungen."
2214
  msgid "Thanks for creating an account on %s. Your username is %s. Please follow the activation link to activate your account:"
2215
  msgstr "Es wurde für Sie ein Benutzerkonto bei %s angelegt. Ihr Benutzername lautet %s. Bitte folgen Sie dem Link, um Ihr Benutzerkonto zu bestätigen:"
2216
 
2217
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:44
2218
  #, php-format
2219
  #@ woocommerce-germanized
2220
  msgid "Multistep Checkout %s"
2255
  msgid "Learn more about Pro Version"
2256
  msgstr "Mehr über die Pro Version erfahren"
2257
 
2258
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:342
2259
  #: includes/gateways/direct-debit/class-wc-gzd-gateway-direct-debit.php:300
2260
  #@ woocommerce-germanized
2261
  msgid "Checkbox"
2262
  msgstr "Checkbox"
2263
 
2264
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:343
2265
  #@ woocommerce-germanized
2266
  msgid "Add a checkbox to customer registration form."
2267
  msgstr "Füge eine Checkbox zum Formular für die Kundenregistrierung hinzu."
2268
 
2269
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:350
2270
  #@ woocommerce-germanized
2271
  msgid "Checkbox text"
2272
  msgstr "Checkbox Text"
2273
 
2274
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:351
2275
  #@ woocommerce-germanized
2276
  msgid "Choose a Plain Text which will be shown as checkbox text for customer account creation. Use {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} as Placeholders for the links to legal pages."
2277
  msgstr "Dieser Text dient als Hinweistext für die Erstellung eines Kundenkontos und wird neben der Checkbox dargestellt. Verwende {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} als Platzhalter für die Links zu den rechtlichen Hinweisseiten."
2278
 
2279
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:353
2280
  #@ woocommerce-germanized
2281
  msgid "Yes, I’d like create a new account and have read and understood the {data_security_link}data privacy statement{/data_security_link}."
2282
  msgstr "Ja, ich möchte ein Kundenkonto eröffnen und akzeptiere die {data_security_link}Datenschutzerklärung{/data_security_link}."
2283
 
2284
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:360
2285
  #@ woocommerce-germanized
2286
  msgid "Checkout"
2287
  msgstr "Kasse"
2288
 
2289
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:361
2290
  #@ woocommerce-germanized
2291
  msgid "Replace default WooCommerce text regarding account creation during checkout."
2292
  msgstr "Ersetze den WooCommerce Text (Kundenkonto erstellen?) durch den o.g. Hinweis."
2293
 
2294
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:362
2295
  #@ woocommerce-germanized
2296
  msgid "Use the text from above instead of the default WooCommerce text regarding account creation during checkout. This checkbox is only show if you have activated guest accounts."
2297
  msgstr "Nutze den oben festgelegten Hinweistext anstelle des WooCommerce Standardtextes für die Checkbox zum Erstellen von Kundenkonten während des Bestellvorganges. Die Checkbox wird nur angezeigt, wenn du Gast-Checkouts zulässt."
2298
 
2299
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:826
2300
  #@ woocommerce-germanized
2301
  msgid "Pay now Button"
2302
  msgstr "Jetzt bezahlen Button"
2303
 
2304
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:827
2305
  #@ woocommerce-germanized
2306
  msgid "Add a pay now button to emails and order success page."
2307
  msgstr "Füge einen jetzt bezahlen - Button zur E-Mail und der Bestätigungs-Seite hinzu."
2308
 
2309
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:828
2310
  #@ woocommerce-germanized
2311
  msgid "Add a pay now button to order confirmation email and order success page if the order awaits payment (PayPal etc)."
2312
  msgstr "Füge einen jetzt bezahlen - Button zur Bestellbestätigungs-Email sowie zur Bestätigungs-Seite hinzu insofern die Bestellung eine automatisierte Zahlung benötigt (z.B. per PayPal)."
2322
  msgid "Pay with %s"
2323
  msgstr "jetzt mit %s bezahlen"
2324
 
2325
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:167
2326
  #@ woocommerce-germanized
2327
  msgid "Disallow cancellations"
2328
  msgstr "Stornierungen verhindern"
2329
 
2330
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:168
2331
  #@ woocommerce-germanized
2332
  msgid "Don’t allow customers to manually cancel orders."
2333
  msgstr "Stornierung von Bestellungen durch den Kunden verhindern."
2334
 
2335
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:169
2336
  #@ woocommerce-germanized
2337
  msgid "By default payment methods like PayPal allow order cancellation by clicking the abort link. This option will stop customers from manually cancel orders."
2338
  msgstr "Standardmäßig lassen sich Bestellungen per PayPal stornieren, indem der Kunden den Abbrechen-Link verwendet. Diese Option verhindert den manuellen Abbruch einer Bestellung durch den Kunden."
2339
 
2340
+ #: includes/admin/class-wc-gzd-admin.php:71
2341
  #@ woocommerce
2342
  msgid "WooCommerce Status"
2343
  msgstr ""
2344
 
2345
+ #: includes/admin/class-wc-gzd-admin.php:71
2346
  #: includes/admin/views/html-page-status.php:16
2347
  #@ woocommerce
2348
  msgid "System Status"
2435
  msgid "Page doesn’t exist"
2436
  msgstr "Seite existiert nicht"
2437
 
2438
+ #: includes/admin/views/html-page-status-germanized.php:181
2439
  #@ woocommerce
2440
  msgid "Templates"
2441
  msgstr ""
2442
 
2443
+ #: includes/admin/views/html-page-status-germanized.php:226
2444
  #, php-format
2445
  #@ woocommerce
2446
  msgid "<code>%s</code> version <strong style=\"color:red\">%s</strong> is out of date. The core version is %s"
2447
  msgstr ""
2448
 
2449
+ #: includes/admin/views/html-page-status-germanized.php:238
2450
+ #: includes/admin/views/html-page-status-germanized.php:247
2451
  #@ woocommerce
2452
  msgid "Overrides"
2453
  msgstr ""
2454
 
2455
+ #: includes/admin/views/html-page-status-germanized.php:258
2456
  #@ woocommerce
2457
  msgid "Learn how to update outdated templates"
2458
  msgstr ""
2459
 
2460
+ #: includes/admin/views/html-page-status-germanized.php:161
2461
  #: includes/admin/views/html-page-status.php:17
2462
+ #@ woocommerce-germanized
2463
  #@ woocommerce
2464
  msgid "Tools"
2465
+ msgstr "Tools"
2466
 
2467
  #: includes/admin/views/html-page-status.php:18
2468
  #@ woocommerce
2469
  msgid "Logs"
2470
  msgstr ""
2471
 
2472
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:695
2473
  #@ woocommerce-germanized
2474
  msgid "Force free shipping"
2475
  msgstr "Versandmethode erzwingen"
2476
 
2477
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:696
2478
  #@ woocommerce-germanized
2479
  msgid "Force free shipping method if available?"
2480
  msgstr "Kostenlosen Versand erzwingen wenn die Methode zur Verfügung steht?"
2481
 
2482
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:700
2483
  #@ woocommerce-germanized
2484
  msgid "By default WooCommerce will let customers choose other shipping methods than free shipping (if available). This option will force free shipping if available."
2485
  msgstr "Standardmäßig erlaubt WooCommerce die Auswahl anderer Versandmethoden, auch wenn kostenloser Versand möglich ist. Diese Option erzwingt den kostenlosen Versand, sobald dieser verfügbar ist."
2495
  msgid "Calculate unit prices automatically based on product price"
2496
  msgstr "Einheitspreise basierend auf dem Produktpreis automatisch berechnen"
2497
 
2498
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:685
2499
  #@ woocommerce-germanized
2500
  msgid "Enable to make sure default checkout template is not being overriden by theme."
2501
  msgstr "Überschreiben relevanter Templates im Checkout durch dein Theme verhindern."
2502
 
2503
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:689
2504
  #@ woocommerce-germanized
2505
  msgid "If you are facing problems within your checkout e.g. legally relevant data is not showing (terms, delivery time, unit price etc.) your theme seems to be incompatible (not using default WooCommerce hooks and filters). As a workaround you may use this fallback which ensures default review-order.php and form-checkout.php is used."
2506
  msgstr "Wenn du Probleme während des Checkouts hast (Inhalte werden falsch, nicht oder doppelt dargestellt), dann könntest du als Workaround diese Option aktivieren. Diese Option hindert dein Theme relevante Templates für den Checkout (review-order.php und form-checkout.php) zu überschreiben. "
2829
  msgid "Enable \"agree to SEPA mandate\" checkbox"
2830
  msgstr "Aktiviere die Checkbox zur Bestätigung des Lastschriftmandates."
2831
 
2832
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:816
2833
  #@ woocommerce-germanized
2834
  msgid "Digital Confirmation Notice"
2835
  msgstr "Digitale Bestätigung"
2836
 
2837
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:817
2838
  #@ woocommerce-germanized
2839
  msgid "This text will be appended to your order processing email if the order contains digital products. Use placeholders {link}{/link} to insert link to right of withdrawal page."
2840
  msgstr "Dieser Text wird an deine Bestellbestätigungs-Email (unterhalb der Tabelle) angehängt, sobald ein Kunde ein digitales Produkt gekauft hat. Verwende die Platzhalter {link}{/link} um einen Link zur Widerrufsbelehrung einzufügen."
2841
 
2842
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:820
2843
  #@ woocommerce-germanized
2844
  msgid "Furthermore you have expressly agreed to start the performance of the contract for digital items (e.g. downloads) before expiry of the withdrawal period. I have noted to lose my {link}right of withdrawal{/link} with the beginning of the performance of the contract."
2845
  msgstr "Außerdem haben Sie ausdrücklich zugestimmt, dass für die digitalen Inhalte Ihrer Bestellung mit der Ausführung des Vertrags bereits vor Ablauf der Widerrufsfrist begonnen wird. Sie haben auch zur Kenntnis genommen, dass Sie mit Beginn der Ausführung des Vertrags Ihr {link}Widerrufsrecht{/link} verlieren."
2846
 
2847
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:43
2848
  #, php-format
2849
  #@ woocommerce-germanized
2850
  msgid "PDF %s"
2851
  msgstr "PDF %s"
2852
 
2853
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:493
2854
  #, php-format
2855
  #@ woocommerce-germanized
2856
  msgid "Want to attach automatically generated PDF files to emails instead of plain text? %sUpgrade to %spro%s%s"
2857
  msgstr "Möchtest du deine Hinweistexte als PDF-Dateien an die E-Mails anhängen? %sUpgrade zur %spro%s Version%s"
2858
 
 
 
 
 
 
 
2859
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:49
2860
  #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php:38
2861
  #@ woocommerce-germanized
2889
  msgid "Sale Base Price"
2890
  msgstr "Angebotsgrundpreis"
2891
 
 
2892
  #: includes/admin/settings/class-wc-gzd-settings-germanized.php:588
2893
  #: includes/admin/settings/class-wc-gzd-settings-germanized.php:621
2894
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:646
2895
  #@ woocommerce-germanized
2896
  msgid "Base Price"
2897
  msgstr "Grundpreis"
2898
 
2899
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:649
2900
  #@ woocommerce-germanized
2901
  msgid "Base Price Text"
2902
  msgstr "Grundpreis Text"
2903
 
2904
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:650
2905
  #@ woocommerce-germanized
2906
  msgid "This text will be used to display the base price. Use {price} to insert the price. If you want to specifically format base price output use {base}, {unit} and {base_price} as placeholders."
2907
  msgstr "Dieser Text wird für die Anzeige des Grundpreises verwendet. Nutze {price} als Platzhalter für den formatierten Grundpreis. Wenn du die Ausgabe detailliert beeinflussen willst, nutze stattdessen {base}, {unit} und {base_price} für die einzelnen Elemente."
2927
  msgid "Number of units included per default product price. Example: 1000 ml."
2928
  msgstr "Anzahl der Produkteinheiten auf Basis des Produktpreises. Beispiel: 1000 ml."
2929
 
2930
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:659
2931
  #@ woocommerce-germanized
2932
  msgid "Show product units"
2933
  msgstr "Produkteinheiten anzeigen"
2934
 
2935
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:660
2936
  #@ woocommerce-germanized
2937
  msgid "Display amount of product units on product detail page."
2938
  msgstr "Zeige die Anzahl der Produkteinheiten auf der Produktdetailseite an."
2939
 
2940
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:661
2941
  #@ woocommerce-germanized
2942
  msgid "Product units will be shown right above your SKU (if available) within the product meta section."
2943
  msgstr "Die Produkteinheiten werden oberhalb der Artikelnummer (falls vorhanden), in den Meta-Daten der Produkte ausgegeben."
2944
 
2945
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:668
2946
  #@ woocommerce-germanized
2947
  msgid "Product Units Text"
2948
  msgstr "Produkteinheiten Text"
2949
 
2950
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:669
2951
  #@ woocommerce-germanized
2952
  msgid "This text will be used to display the product units. Use {product_units} to insert the amount of product units. Use {unit} to insert the unit. Optionally display the formatted unit price with {unit_price}."
2953
  msgstr "Dieser Text wird verwendet, um die Produkteinheiten-Ausgabe zu formatieren. Verwende {product_units} um die Anzahl der Einheiten auszugeben. Verwende {unit} für die Einheit und optional {unit_price} für den formatierten Grundpreis."
2954
 
2955
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:674
2956
  #@ woocommerce-germanized
2957
  msgid "Product contains: {product_units} {unit}"
2958
  msgstr "Produkt enthält: {product_units} {unit}"
2962
  msgid "To retrieve direct access to digital content you have to agree to the loss of your right of withdrawal."
2963
  msgstr "Um direkten Zugang zu den digitalen Inhalte zu erhalten, müssen Sie auf das Widerrufsrecht verzichten."
2964
 
2965
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:87
2966
+ #@ woocommerce-germanized
2967
+ msgid "Email Options"
2968
+ msgstr "E-Mails"
2969
+
2970
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:493
2971
+ #@ woocommerce-germanized
2972
+ msgid "Email Attachment Options"
2973
+ msgstr "PDF Anhang"
2974
+
2975
+ #: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:76
2976
+ #@ woocommerce-germanized
2977
+ msgid "Same as parent"
2978
+ msgstr "Gleiche wie übergeordnet"
2979
+
2980
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:514
2981
+ #@ woocommerce-germanized
2982
+ msgid "Downloadable Product"
2983
+ msgstr "Herunterladbares Produkt"
2984
+
2985
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:515
2986
+ #@ woocommerce-germanized
2987
+ msgid "Virtual Product"
2988
+ msgstr "Virtuelles Produkt"
2989
+
2990
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:795
2991
+ #@ woocommerce-germanized
2992
+ msgid "Digital Product types"
2993
+ msgstr "Digitale Produkttypen"
2994
+
2995
+ #: includes/admin/settings/class-wc-gzd-settings-germanized.php:796
2996
+ #@ woocommerce-germanized
2997
+ msgid "Select product types for which the loss of recission notice is shown. Product types like \"simple product\" may be redudant because they include virtual and downloadable products."
2998
+ msgstr "Wähle die Produkttypen aus, für die ein Hinweis für den Verlust des Widerrufsrechts angezeigt werden soll. Produkttypen wie \"einfaches Produkt\" können redundant sein, da sie herunterladbare oder virtuelle Produkte einschließen."
2999
+
3000
+ #: includes/admin/views/html-page-status-germanized.php:166
3001
+ #@ woocommerce-germanized
3002
+ msgid "Settings Tour"
3003
+ msgstr "Tour durch Einstellungen"
3004
+
3005
+ #: includes/admin/views/html-page-status-germanized.php:169
3006
+ #@ woocommerce-germanized
3007
+ msgid "Reenable Tour"
3008
+ msgstr "Tour aktivieren"
3009
+
3010
+ #: includes/admin/views/html-page-status-germanized.php:170
3011
+ #@ woocommerce-germanized
3012
+ msgid "This will delete every option which prevents the Germanized settings tour from starting."
3013
+ msgstr "Diese Option löscht alle Einstellungen, die dazu führen, dass die Tour nicht angezeigt wird."
3014
+
3015
+ #. translators: plugin header field 'Version'
3016
+ #: woocommerce-germanized.php:0
3017
+ #@ woocommerce-germanized
3018
+ msgid "1.4.3"
3019
+ msgstr "1.4.3"
3020
+
includes/abstracts/abstract-wc-gzd-product.php CHANGED
@@ -107,7 +107,7 @@ class WC_GZD_Product {
107
  * @return boolean
108
  */
109
  public function is_virtual_vat_exception() {
110
- return ( ( get_option( 'woocommerce_gzd_enable_virtual_vat' ) == 'yes' ) && ( $this->is_downloadable() || $this->is_virtual() ) ? true : false );
111
  }
112
 
113
  /**
@@ -284,7 +284,13 @@ class WC_GZD_Product {
284
  * @return bool|object false returns false if term does not exist otherwise returns term object
285
  */
286
  public function get_delivery_time() {
287
- $terms = wp_get_post_terms( ( $this->is_variation() ? $this->variation_id : $this->id ), 'product_delivery_time' );
 
 
 
 
 
 
288
  if ( is_wp_error( $terms ) || empty( $terms ) )
289
  return false;
290
  return $terms[ 0 ];
107
  * @return boolean
108
  */
109
  public function is_virtual_vat_exception() {
110
+ return apply_filters( 'woocommerce_gzd_product_virtual_vat_exception', ( ( get_option( 'woocommerce_gzd_enable_virtual_vat' ) == 'yes' ) && ( $this->is_downloadable() || $this->is_virtual() ) ? true : false ), $this );
111
  }
112
 
113
  /**
284
  * @return bool|object false returns false if term does not exist otherwise returns term object
285
  */
286
  public function get_delivery_time() {
287
+ $terms = wp_get_post_terms( $this->id, 'product_delivery_time' );
288
+ // Check for variation
289
+ if ( $this->is_variation() ) {
290
+ $variation_terms = wp_get_post_terms( $this->variation_id , 'product_delivery_time' );
291
+ if ( ! empty( $variation_terms ) && ! is_wp_error( $variation_terms ) )
292
+ $terms = $variation_terms;
293
+ }
294
  if ( is_wp_error( $terms ) || empty( $terms ) )
295
  return false;
296
  return $terms[ 0 ];
includes/admin/class-wc-gzd-admin.php CHANGED
@@ -44,6 +44,7 @@ class WC_GZD_Admin {
44
  add_action( 'save_post', array( $this, 'save_legal_page_content' ), 10, 3 );
45
  add_action( 'admin_menu', array( $this, 'remove_status_page_hooks' ), 0 );
46
  add_action( 'admin_menu', array( $this, 'set_status_page' ), 1 );
 
47
  }
48
 
49
  /**
@@ -82,17 +83,38 @@ class WC_GZD_Admin {
82
  $assets_path = WC_germanized()->plugin_url() . '/assets/';
83
  $admin_script_path = $assets_path . 'js/admin/';
84
 
85
- wp_register_style( 'woocommerce-gzd-admin', $assets_path . 'css/woocommerce-gzd-admin' . $suffix . '.css', false, WC_germanized()->version );
86
  wp_enqueue_style( 'woocommerce-gzd-admin' );
87
 
 
 
88
  wp_register_script( 'wc-gzd-admin', $admin_script_path . 'settings' . $suffix . '.js', array( 'jquery', 'woocommerce_settings' ), WC_GERMANIZED_VERSION, true );
89
  wp_register_script( 'wc-gzd-admin-emails', $admin_script_path . 'emails' . $suffix . '.js', array( 'jquery', 'woocommerce_settings' ), WC_GERMANIZED_VERSION, true );
90
-
91
- if ( isset( $_GET[ 'tab' ] ) && $_GET[ 'tab' ] == 'germanized' )
 
 
 
92
  wp_enqueue_script( 'wc-gzd-admin' );
93
-
94
- if ( isset( $_GET[ 'section' ] ) && ! empty( $_GET[ 'section' ] ) && strpos( $_GET[ 'section' ], 'gzd_' ) !== false )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  wp_enqueue_script( 'wc-gzd-admin-emails' );
 
96
 
97
  // Hide delivery time and unit tagsdiv
98
  if ( version_compare( WC()->version, '2.3', '>=' ) )
@@ -139,6 +161,35 @@ class WC_GZD_Admin {
139
  wp_editor( htmlspecialchars_decode( get_post_meta( $post->ID, '_mini_desc', true ) ), 'wc_gzd_product_mini_desc', array( 'textarea_name' => '_mini_desc', 'textarea_rows' => 5, 'media_buttons' => false ) );
140
  }
141
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  }
143
 
144
  WC_GZD_Admin::instance();
44
  add_action( 'save_post', array( $this, 'save_legal_page_content' ), 10, 3 );
45
  add_action( 'admin_menu', array( $this, 'remove_status_page_hooks' ), 0 );
46
  add_action( 'admin_menu', array( $this, 'set_status_page' ), 1 );
47
+ add_action( 'admin_init', array( $this, 'check_tour_hide' ) );
48
  }
49
 
50
  /**
83
  $assets_path = WC_germanized()->plugin_url() . '/assets/';
84
  $admin_script_path = $assets_path . 'js/admin/';
85
 
86
+ wp_register_style( 'woocommerce-gzd-admin', $assets_path . 'css/woocommerce-gzd-admin' . $suffix . '.css', false, WC_GERMANIZED_VERSION );
87
  wp_enqueue_style( 'woocommerce-gzd-admin' );
88
 
89
+ wp_register_style( 'tourbus', $assets_path . 'css/tourbus' . $suffix . '.css', false, WC_GERMANIZED_VERSION );
90
+
91
  wp_register_script( 'wc-gzd-admin', $admin_script_path . 'settings' . $suffix . '.js', array( 'jquery', 'woocommerce_settings' ), WC_GERMANIZED_VERSION, true );
92
  wp_register_script( 'wc-gzd-admin-emails', $admin_script_path . 'emails' . $suffix . '.js', array( 'jquery', 'woocommerce_settings' ), WC_GERMANIZED_VERSION, true );
93
+ wp_register_script( 'scrollto', $admin_script_path . 'scrollTo' . $suffix . '.js', array( 'jquery' ), WC_GERMANIZED_VERSION, true );
94
+ wp_register_script( 'tourbus', $admin_script_path . 'tourbus' . $suffix . '.js', array( 'jquery' ), WC_GERMANIZED_VERSION, true );
95
+ wp_register_script( 'wc-gzd-admin-tour', $admin_script_path . 'tour' . $suffix . '.js', array( 'jquery', 'woocommerce_settings', 'tourbus' ), WC_GERMANIZED_VERSION, true );
96
+
97
+ if ( isset( $_GET[ 'tab' ] ) && $_GET[ 'tab' ] == 'germanized' ) {
98
  wp_enqueue_script( 'wc-gzd-admin' );
99
+
100
+ $section = 'general';
101
+
102
+ if ( isset( $_GET[ 'section' ] ) )
103
+ $section = sanitize_text_field( $_GET[ 'section' ] );
104
+
105
+ if ( $this->is_tour_enabled( $section ) ) {
106
+
107
+ wp_enqueue_script( 'scrollto' );
108
+ wp_enqueue_script( 'tourbus' );
109
+ wp_enqueue_script( 'wc-gzd-admin-tour' );
110
+ wp_enqueue_style( 'tourbus' );
111
+
112
+ }
113
+ }
114
+
115
+ if ( isset( $_GET[ 'section' ] ) && ! empty( $_GET[ 'section' ] ) && strpos( $_GET[ 'section' ], 'gzd_' ) !== false ) {
116
  wp_enqueue_script( 'wc-gzd-admin-emails' );
117
+ }
118
 
119
  // Hide delivery time and unit tagsdiv
120
  if ( version_compare( WC()->version, '2.3', '>=' ) )
161
  wp_editor( htmlspecialchars_decode( get_post_meta( $post->ID, '_mini_desc', true ) ), 'wc_gzd_product_mini_desc', array( 'textarea_name' => '_mini_desc', 'textarea_rows' => 5, 'media_buttons' => false ) );
162
  }
163
 
164
+ public function disable_tour_link( $type ) {
165
+ return wp_nonce_url( add_query_arg( array( 'tour' => $type, 'hide' => true ) ), 'wc-gzd-tour-hide' );
166
+ }
167
+
168
+ public function is_tour_enabled( $type = '' ) {
169
+ return ( ! get_option( 'woocommerce_gzd_hide_tour' ) && ! get_option( 'woocommerce_gzd_hide_tour_' . $type ) );
170
+ }
171
+
172
+ public function check_tour_hide() {
173
+ if ( isset( $_GET[ 'tour' ] ) && isset( $_GET[ 'hide' ] ) && isset( $_GET[ '_wpnonce' ] ) && check_admin_referer( 'wc-gzd-tour-hide' ) ) {
174
+ if ( ! empty( $_GET[ 'tour' ] ) )
175
+ update_option( 'woocommerce_gzd_hide_tour_' . sanitize_text_field( $_GET[ 'tour' ] ), true );
176
+ else
177
+ update_option( 'woocommerce_gzd_hide_tour', true );
178
+ } else if ( isset( $_GET[ 'tour' ] ) && isset( $_GET[ 'enable' ] ) && isset( $_GET[ '_wpnonce' ] ) && check_admin_referer( 'wc-gzd-tour-enable' ) ) {
179
+
180
+ $setting_sections = array_merge( array(
181
+ 'general' => '',
182
+ 'display' => '',
183
+ 'emails' => '' ),
184
+ apply_filters( 'woocommerce_gzd_settings_sections', array() ) );
185
+
186
+ delete_option( 'woocommerce_gzd_hide_tour' );
187
+
188
+ foreach ( $setting_sections as $section => $name )
189
+ delete_option( 'woocommerce_gzd_hide_tour_' . $section );
190
+ }
191
+ }
192
+
193
  }
194
 
195
  WC_GZD_Admin::instance();
includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php CHANGED
@@ -73,7 +73,7 @@ class WC_Germanized_Meta_Box_Product_Data_Variable {
73
  <div class="variable_shipping_time hide_if_variation_virtual">
74
  <p class="form-row form-row-first">
75
  <label for="delivery_time"><?php _e( 'Delivery Time', 'woocommerce-germanized' ); ?></label>
76
- <input type="hidden" class="wc-product-search wc-gzd-delivery-time-search" style="width: 100%" id="variable_delivery_time_<?php echo $loop; ?>" name="variable_delivery_time[<?php echo $loop; ?>]" data-minimum_input_length="1" data-allow_clear="true" data-placeholder="<?php _e( 'Search for a delivery time&hellip;', 'woocommerce-germanized' ); ?>" data-action="woocommerce_gzd_json_search_delivery_time" data-multiple="false" data-selected="<?php echo ( $delivery_time ? $delivery_time->name : '' ); ?>" value="<?php echo ( $delivery_time ? $delivery_time->term_id : '' ); ?>" />
77
  </p>
78
  </div>
79
  <div class="variable_cart_mini_desc">
73
  <div class="variable_shipping_time hide_if_variation_virtual">
74
  <p class="form-row form-row-first">
75
  <label for="delivery_time"><?php _e( 'Delivery Time', 'woocommerce-germanized' ); ?></label>
76
+ <input type="hidden" class="wc-product-search wc-gzd-delivery-time-search" style="width: 100%" id="variable_delivery_time_<?php echo $loop; ?>" name="variable_delivery_time[<?php echo $loop; ?>]" data-minimum_input_length="1" data-allow_clear="true" data-placeholder="<?php _e( 'Same as parent', 'woocommerce-germanized' ); ?>" data-action="woocommerce_gzd_json_search_delivery_time" data-multiple="false" data-selected="<?php echo ( $delivery_time ? $delivery_time->name : '' ); ?>" value="<?php echo ( $delivery_time ? $delivery_time->term_id : '' ); ?>" />
77
  </p>
78
  </div>
79
  <div class="variable_cart_mini_desc">
includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php CHANGED
@@ -68,8 +68,9 @@ class WC_Germanized_Meta_Box_Product_Data {
68
 
69
  $product = wc_get_product( $post_id );
70
 
71
- if ( $product->is_type( 'variable' ) )
72
  return;
 
73
 
74
  $data = array(
75
  'product-type' => '',
@@ -139,12 +140,17 @@ class WC_Germanized_Meta_Box_Product_Data {
139
  else
140
  wp_delete_object_term_relationships( $post_id, 'product_delivery_time' );
141
 
142
- // Sale prices
143
  if ( in_array( $product_type, array( 'variable', 'grouped' ) ) && ! $is_variation ) {
144
 
 
 
 
145
  update_post_meta( $post_id, '_unit_price_regular', '' );
146
  update_post_meta( $post_id, '_unit_price_sale', '' );
147
  update_post_meta( $post_id, '_unit_price', '' );
 
 
148
 
149
  } else {
150
 
68
 
69
  $product = wc_get_product( $post_id );
70
 
71
+ /*if ( $product->is_type( 'variable' ) )
72
  return;
73
+ */
74
 
75
  $data = array(
76
  'product-type' => '',
140
  else
141
  wp_delete_object_term_relationships( $post_id, 'product_delivery_time' );
142
 
143
+ // Ignore variable data
144
  if ( in_array( $product_type, array( 'variable', 'grouped' ) ) && ! $is_variation ) {
145
 
146
+ update_post_meta( $post_id, '_unit', '' );
147
+ update_post_meta( $post_id, '_unit_base', '' );
148
+ update_post_meta( $post_id, '_unit_product', '' );
149
  update_post_meta( $post_id, '_unit_price_regular', '' );
150
  update_post_meta( $post_id, '_unit_price_sale', '' );
151
  update_post_meta( $post_id, '_unit_price', '' );
152
+ update_post_meta( $post_id, '_unit_price_auto', '' );
153
+ update_post_meta( $post_id, '_mini_desc', '' );
154
 
155
  } else {
156
 
includes/admin/settings/class-wc-gzd-settings-germanized.php CHANGED
@@ -29,22 +29,25 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
29
  add_action( 'woocommerce_settings_' . $this->id, array( $this, 'output' ) );
30
  add_action( 'woocommerce_settings_save_' . $this->id, array( $this, 'save' ) );
31
  add_filter( 'woocommerce_gzd_get_settings_display', array( $this, 'get_display_settings' ) );
 
32
  add_action( 'woocommerce_gzd_before_save_section_', array( $this, 'before_save' ), 0, 1 );
33
  add_action( 'woocommerce_gzd_after_save_section_', array( $this, 'after_save' ), 0, 1 );
34
  add_action( 'woocommerce_admin_field_image', array( $this, 'image_field' ), 0, 1 );
35
  add_action( 'woocommerce_admin_field_hidden', array( $this, 'hidden_field' ), 0, 1 );
 
36
 
37
  if ( ! WC_Germanized()->is_pro() ) {
38
  // Premium sections
39
  $this->premium_sections = array(
40
  'invoices' => sprintf( __( 'Invoices & Packing Slips %s', 'woocommerce-germanized' ), '<span class="wc-gzd-premium-section-tab">pro</span>' ),
41
- 'checkout' => sprintf( __( 'Multistep Checkout %s', 'woocommerce-germanized' ), '<span class="wc-gzd-premium-section-tab">pro</span>' ),
42
  'pdf' => sprintf( __( 'PDF %s', 'woocommerce-germanized' ), '<span class="wc-gzd-premium-section-tab">pro</span>' ),
 
43
  'agbs' => sprintf( __( 'Terms & Conditions generator %s', 'woocommerce-germanized' ), '<span class="wc-gzd-premium-section-tab">pro</span>' ),
44
  'widerruf' => sprintf( __( 'Revocation generator %s', 'woocommerce-germanized' ), '<span class="wc-gzd-premium-section-tab">pro</span>' ),
45
  );
46
 
47
- add_filter( 'woocommerce_gzd_settings_sections', array( $this, 'set_premium_sections' ), 0 );
 
48
  foreach ( $this->premium_sections as $key => $section ) {
49
  add_filter( 'woocommerce_gzd_get_settings_' . $key, array( $this, 'get_premium_settings' ), 0 );
50
  add_filter( 'wc_germanized_settings_section_before_' . $key, array( $this, 'output_premium_section' ), 0 );
@@ -56,7 +59,7 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
56
  public function image_field( $value ) {
57
  ?>
58
  <tr valign="top">
59
- <th class="forminp forminp-image" colspan="2">
60
  <a href="<?php echo $value[ 'href' ]; ?>" target="_blank"><img src="<?php echo $value[ 'img' ]; ?>" /></a>
61
  </th>
62
  </tr>
@@ -81,10 +84,26 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
81
  $sections = apply_filters( 'woocommerce_gzd_settings_sections', array(
82
  '' => __( 'General Options', 'woocommerce-germanized' ),
83
  'display' => __( 'Display Options', 'woocommerce-germanized' ),
 
84
  ) );
85
  return $sections;
86
  }
87
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  /**
89
  * Get settings array
90
  *
@@ -94,36 +113,9 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
94
 
95
  $delivery_terms = array('' => __( 'None', 'woocommerce-germanized' ));
96
  $terms = get_terms( 'product_delivery_time', array('fields' => 'id=>name', 'hide_empty' => false) );
97
- if ( !is_wp_error( $terms ) )
98
  $delivery_terms = $delivery_terms + $terms;
99
 
100
- $mailer = WC()->mailer();
101
- $email_templates = $mailer->get_emails();
102
- $email_select = array();
103
-
104
- foreach ( $email_templates as $email )
105
- $email_select[ $email->id ] = empty( $email->title ) ? ucfirst( $email->id ) : ucfirst( $email->title );
106
-
107
- $email_order = wc_gzd_get_email_attachment_order();
108
-
109
- $email_settings = array();
110
-
111
- foreach ( $email_order as $key => $order ) {
112
-
113
- array_push( $email_settings, array(
114
-
115
- 'title' => sprintf( __( 'Attach %s', 'woocommerce-germanized' ), $order ),
116
- 'desc' => sprintf( __( 'Attach %s to the following email templates', 'woocommerce-germanized' ), $order ),
117
- 'id' => 'woocommerce_gzd_mail_attach_' . $key,
118
- 'type' => 'multiselect',
119
- 'class' => 'chosen_select',
120
- 'desc_tip' => true,
121
- 'options' => $email_select,
122
-
123
- ) );
124
-
125
- }
126
-
127
  $settings = array(
128
 
129
  array( 'title' => __( 'General', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'general_options' ),
@@ -194,7 +186,7 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
194
 
195
  array( 'type' => 'sectionend', 'id' => 'contract_options' ),
196
 
197
- array( 'title' => __( 'Legal Pages', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'legal_pages_options', 'desc' => ( ! WC_germanized()->is_pro() ? '<div class="notice inline notice-warning"><p>' . sprintf( __( 'Want to attach automatically generated PDF files to emails instead of plain text? %sUpgrade to %spro%s%s', 'woocommerce-germanized' ), '<a style="margin-left: 1em" href="https://vendidero.de/woocommerce-germanized" class="button">', '<span class="wc-gzd-pro">', '</span>', '</a>' ) . '</p></div>' : '' ) ),
198
 
199
  array(
200
  'title' => __( 'Terms & Conditions', 'woocommerce-germanized' ),
@@ -207,14 +199,6 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
207
  'desc' => ( ! get_option( 'woocommerce_terms_page_id' ) ? sprintf( __( 'Don\'t have terms & conditions yet? <a href="%s">Generate now</a>!', 'woocommerce-germanized' ), admin_url( 'admin.php?page=wc-settings&tab=germanized&section=agbs' ) ) : '' ),
208
  ),
209
 
210
- array(
211
- 'title' => '',
212
- 'id' => 'woocommerce_gzdp_legal_page_terms',
213
- 'img' => WC_Germanized()->plugin_url() . '/assets/images/pro/settings-inline-legal-page.png',
214
- 'href' => 'https://vendidero.de/woocommerce-germanized#legal-page',
215
- 'type' => 'image',
216
- ),
217
-
218
  array(
219
  'title' => __( 'Power of Revocation', 'woocommerce-germanized' ),
220
  'desc_tip' => __( 'This page should contain information regarding your customer\'s Right of Revocation.', 'woocommerce-germanized' ),
@@ -226,14 +210,6 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
226
  'desc' => ( ! get_option( 'woocommerce_revocation_page_id' ) ? sprintf( __( 'Don\'t have a revocation page yet? <a href="%s">Generate now</a>!', 'woocommerce-germanized' ), admin_url( 'admin.php?page=wc-settings&tab=germanized&section=widerruf' ) ) : '' ),
227
  ),
228
 
229
- array(
230
- 'title' => '',
231
- 'id' => 'woocommerce_gzdp_legal_page_terms',
232
- 'img' => WC_Germanized()->plugin_url() . '/assets/images/pro/settings-inline-legal-page.png',
233
- 'href' => 'https://vendidero.de/woocommerce-germanized#legal-page',
234
- 'type' => 'image',
235
- ),
236
-
237
  array(
238
  'title' => __( 'Imprint', 'woocommerce-germanized' ),
239
  'desc' => __( 'This page should contain an imprint with your company\'s information.', 'woocommerce-germanized' ),
@@ -245,14 +221,6 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
245
  'desc_tip' => true,
246
  ),
247
 
248
- array(
249
- 'title' => '',
250
- 'id' => 'woocommerce_gzdp_legal_page_terms',
251
- 'img' => WC_Germanized()->plugin_url() . '/assets/images/pro/settings-inline-legal-page.png',
252
- 'href' => 'https://vendidero.de/woocommerce-germanized#legal-page',
253
- 'type' => 'image',
254
- ),
255
-
256
  array(
257
  'title' => __( 'Data Security Statement', 'woocommerce-germanized' ),
258
  'desc' => __( 'This page should contain information regarding your data security policy.', 'woocommerce-germanized' ),
@@ -264,14 +232,6 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
264
  'desc_tip' => true,
265
  ),
266
 
267
- array(
268
- 'title' => '',
269
- 'id' => 'woocommerce_gzdp_legal_page_terms',
270
- 'img' => WC_Germanized()->plugin_url() . '/assets/images/pro/settings-inline-legal-page.png',
271
- 'href' => 'https://vendidero.de/woocommerce-germanized#legal-page',
272
- 'type' => 'image',
273
- ),
274
-
275
  array(
276
  'title' => __( 'Payment Methods', 'woocommerce-germanized' ),
277
  'desc' => __( 'This page should contain information regarding the Payment Methods that are chooseable during checkout.', 'woocommerce-germanized' ),
@@ -426,20 +386,6 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
426
 
427
  array( 'type' => 'sectionend', 'id' => 'customer_options' ),
428
 
429
- array( 'title' => __( 'Base Price', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'unit_price_options' ),
430
-
431
- array(
432
- 'title' => __( 'Base Price Text', 'woocommerce-germanized' ),
433
- 'desc' => __( 'This text will be used to display the base price. Use {price} to insert the price. If you want to specifically format base price output use {base}, {unit} and {base_price} as placeholders.', 'woocommerce-germanized' ),
434
- 'desc_tip' => true,
435
- 'id' => 'woocommerce_gzd_unit_price_text',
436
- 'type' => 'text',
437
- 'css' => 'min-width:300px;',
438
- 'default' => __( '{price}', 'woocommerce-germanized' ),
439
- ),
440
-
441
- array( 'type' => 'sectionend', 'id' => 'unit_price_options' ),
442
-
443
  array( 'title' => __( 'Right of Recission', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'recission_options' ),
444
 
445
  array(
@@ -453,23 +399,6 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
453
 
454
  array( 'type' => 'sectionend', 'id' => 'recission_options' ),
455
 
456
- array( 'title' => __( 'E-Mails', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'email_options', 'desc' => __( 'Use drag & drop to customize attachment order. Don\'t forget to save your changes.', 'woocommerce-germanized' ) ),
457
-
458
- );
459
-
460
- $settings = array_merge( $settings, $email_settings );
461
-
462
- $settings = array_merge( $settings, array(
463
-
464
- array(
465
- 'title' => '',
466
- 'id' => 'woocommerce_gzd_mail_attach_order',
467
- 'type' => 'hidden',
468
- 'default' => 'terms,revocation,data_security,imprint',
469
- ),
470
-
471
- array( 'type' => 'sectionend', 'id' => 'email_options' ),
472
-
473
  array( 'title' => __( 'Virtual VAT', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'virtual_vat_options' ),
474
 
475
  array(
@@ -487,7 +416,7 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
487
 
488
  array(
489
  'title' => '',
490
- 'id' => 'woocommerce_gzdp_contract_after_confirmation',
491
  'img' => WC_Germanized()->plugin_url() . '/assets/images/pro/settings-inline-invoices.png',
492
  'href' => 'https://vendidero.de/woocommerce-germanized#accounting',
493
  'type' => 'image',
@@ -499,7 +428,7 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
499
 
500
  array(
501
  'title' => '',
502
- 'id' => 'woocommerce_gzdp_contract_after_confirmation',
503
  'img' => WC_Germanized()->plugin_url() . '/assets/images/pro/settings-inline-vat.png',
504
  'href' => 'https://vendidero.de/woocommerce-germanized#vat',
505
  'type' => 'image',
@@ -507,15 +436,86 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
507
 
508
  array( 'type' => 'sectionend', 'id' => 'vat_options' ),
509
 
510
- ) ); // End general settings
511
 
512
  return apply_filters( 'woocommerce_germanized_settings', $settings );
513
 
514
  }
515
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
516
  public function get_display_settings() {
517
 
518
- return array(
 
 
 
 
 
519
 
520
  array( 'title' => __( 'General', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'general_options' ),
521
 
@@ -633,6 +633,28 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
633
  'checkboxgroup' => 'end',
634
  ),
635
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
636
  array(
637
  'title' => __( 'Show product units', 'woocommerce-germanized' ),
638
  'desc' => __( 'Display amount of product units on product detail page.', 'woocommerce-germanized' ),
@@ -652,15 +674,7 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
652
  'default' => __( 'Product contains: {product_units} {unit}', 'woocommerce-germanized' ),
653
  ),
654
 
655
- array(
656
- 'title' => __( 'Shipping Costs for Virtual', 'woocommerce-germanized' ),
657
- 'desc' => __( 'Select this option if you want to display shipping costs notice for virtual products.', 'woocommerce-germanized' ),
658
- 'id' => 'woocommerce_gzd_display_shipping_costs_virtual',
659
- 'type' => 'checkbox',
660
- 'default' => 'no',
661
- ),
662
-
663
- array( 'type' => 'sectionend', 'id' => 'product_options' ),
664
 
665
  array( 'title' => __( 'Checkout & Cart', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'checkout_options' ),
666
 
@@ -777,6 +791,17 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
777
  'type' => 'checkbox',
778
  ),
779
 
 
 
 
 
 
 
 
 
 
 
 
780
  array(
781
  'title' => __( 'Legal Digital Text', 'woocommerce-germanized' ),
782
  'desc' => __( 'Choose a Plain Text which will be shown right above checkout submit button if a user has picked a digital product. See legal text option for possible placeholders.', 'woocommerce-germanized' ),
@@ -827,12 +852,16 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
827
 
828
  );
829
 
 
 
830
  }
831
 
832
  public function output() {
 
833
  global $current_section;
834
  $settings = $this->get_settings();
835
  $sidebar = $this->get_sidebar();
 
836
  if ( $this->get_sections() ) {
837
  foreach ( $this->get_sections() as $section => $name ) {
838
  if ( $section == $current_section ) {
@@ -841,6 +870,9 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
841
  }
842
  }
843
  }
 
 
 
844
  include_once( WC_Germanized()->plugin_path() . '/includes/admin/views/html-settings-section.php' );
845
  }
846
 
29
  add_action( 'woocommerce_settings_' . $this->id, array( $this, 'output' ) );
30
  add_action( 'woocommerce_settings_save_' . $this->id, array( $this, 'save' ) );
31
  add_filter( 'woocommerce_gzd_get_settings_display', array( $this, 'get_display_settings' ) );
32
+ add_filter( 'woocommerce_gzd_get_settings_email', array( $this, 'get_email_settings' ) );
33
  add_action( 'woocommerce_gzd_before_save_section_', array( $this, 'before_save' ), 0, 1 );
34
  add_action( 'woocommerce_gzd_after_save_section_', array( $this, 'after_save' ), 0, 1 );
35
  add_action( 'woocommerce_admin_field_image', array( $this, 'image_field' ), 0, 1 );
36
  add_action( 'woocommerce_admin_field_hidden', array( $this, 'hidden_field' ), 0, 1 );
37
+ add_action( 'woocommerce_gzd_before_section_output', array( $this, 'init_tour_data' ), 0, 1 );
38
 
39
  if ( ! WC_Germanized()->is_pro() ) {
40
  // Premium sections
41
  $this->premium_sections = array(
42
  'invoices' => sprintf( __( 'Invoices & Packing Slips %s', 'woocommerce-germanized' ), '<span class="wc-gzd-premium-section-tab">pro</span>' ),
 
43
  'pdf' => sprintf( __( 'PDF %s', 'woocommerce-germanized' ), '<span class="wc-gzd-premium-section-tab">pro</span>' ),
44
+ 'checkout' => sprintf( __( 'Multistep Checkout %s', 'woocommerce-germanized' ), '<span class="wc-gzd-premium-section-tab">pro</span>' ),
45
  'agbs' => sprintf( __( 'Terms & Conditions generator %s', 'woocommerce-germanized' ), '<span class="wc-gzd-premium-section-tab">pro</span>' ),
46
  'widerruf' => sprintf( __( 'Revocation generator %s', 'woocommerce-germanized' ), '<span class="wc-gzd-premium-section-tab">pro</span>' ),
47
  );
48
 
49
+ add_filter( 'woocommerce_gzd_settings_sections', array( $this, 'set_premium_sections' ), 4 );
50
+
51
  foreach ( $this->premium_sections as $key => $section ) {
52
  add_filter( 'woocommerce_gzd_get_settings_' . $key, array( $this, 'get_premium_settings' ), 0 );
53
  add_filter( 'wc_germanized_settings_section_before_' . $key, array( $this, 'output_premium_section' ), 0 );
59
  public function image_field( $value ) {
60
  ?>
61
  <tr valign="top">
62
+ <th class="forminp forminp-image" colspan="2" id="<?php echo $value[ 'id' ]; ?>">
63
  <a href="<?php echo $value[ 'href' ]; ?>" target="_blank"><img src="<?php echo $value[ 'img' ]; ?>" /></a>
64
  </th>
65
  </tr>
84
  $sections = apply_filters( 'woocommerce_gzd_settings_sections', array(
85
  '' => __( 'General Options', 'woocommerce-germanized' ),
86
  'display' => __( 'Display Options', 'woocommerce-germanized' ),
87
+ 'email' => __( 'Email Options', 'woocommerce-germanized' ),
88
  ) );
89
  return $sections;
90
  }
91
 
92
+ public function init_tour_data( $section = 'general' ) {
93
+
94
+ if ( empty( $section ) )
95
+ $section = 'general';
96
+
97
+ if ( ! WC_GZD_Admin::instance()->is_tour_enabled( $section ) )
98
+ return;
99
+
100
+ $tour = WC_germanized()->plugin_path() . '/includes/admin/views/html-tour-' . $section . '.php';
101
+
102
+ if ( file_exists( $tour ) )
103
+ include( $tour );
104
+
105
+ }
106
+
107
  /**
108
  * Get settings array
109
  *
113
 
114
  $delivery_terms = array('' => __( 'None', 'woocommerce-germanized' ));
115
  $terms = get_terms( 'product_delivery_time', array('fields' => 'id=>name', 'hide_empty' => false) );
116
+ if ( ! is_wp_error( $terms ) )
117
  $delivery_terms = $delivery_terms + $terms;
118
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
  $settings = array(
120
 
121
  array( 'title' => __( 'General', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'general_options' ),
186
 
187
  array( 'type' => 'sectionend', 'id' => 'contract_options' ),
188
 
189
+ array( 'title' => __( 'Legal Pages', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'legal_pages_options' ),
190
 
191
  array(
192
  'title' => __( 'Terms & Conditions', 'woocommerce-germanized' ),
199
  'desc' => ( ! get_option( 'woocommerce_terms_page_id' ) ? sprintf( __( 'Don\'t have terms & conditions yet? <a href="%s">Generate now</a>!', 'woocommerce-germanized' ), admin_url( 'admin.php?page=wc-settings&tab=germanized&section=agbs' ) ) : '' ),
200
  ),
201
 
 
 
 
 
 
 
 
 
202
  array(
203
  'title' => __( 'Power of Revocation', 'woocommerce-germanized' ),
204
  'desc_tip' => __( 'This page should contain information regarding your customer\'s Right of Revocation.', 'woocommerce-germanized' ),
210
  'desc' => ( ! get_option( 'woocommerce_revocation_page_id' ) ? sprintf( __( 'Don\'t have a revocation page yet? <a href="%s">Generate now</a>!', 'woocommerce-germanized' ), admin_url( 'admin.php?page=wc-settings&tab=germanized&section=widerruf' ) ) : '' ),
211
  ),
212
 
 
 
 
 
 
 
 
 
213
  array(
214
  'title' => __( 'Imprint', 'woocommerce-germanized' ),
215
  'desc' => __( 'This page should contain an imprint with your company\'s information.', 'woocommerce-germanized' ),
221
  'desc_tip' => true,
222
  ),
223
 
 
 
 
 
 
 
 
 
224
  array(
225
  'title' => __( 'Data Security Statement', 'woocommerce-germanized' ),
226
  'desc' => __( 'This page should contain information regarding your data security policy.', 'woocommerce-germanized' ),
232
  'desc_tip' => true,
233
  ),
234
 
 
 
 
 
 
 
 
 
235
  array(
236
  'title' => __( 'Payment Methods', 'woocommerce-germanized' ),
237
  'desc' => __( 'This page should contain information regarding the Payment Methods that are chooseable during checkout.', 'woocommerce-germanized' ),
386
 
387
  array( 'type' => 'sectionend', 'id' => 'customer_options' ),
388
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
389
  array( 'title' => __( 'Right of Recission', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'recission_options' ),
390
 
391
  array(
399
 
400
  array( 'type' => 'sectionend', 'id' => 'recission_options' ),
401
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
402
  array( 'title' => __( 'Virtual VAT', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'virtual_vat_options' ),
403
 
404
  array(
416
 
417
  array(
418
  'title' => '',
419
+ 'id' => 'woocommerce_gzdp_invoice_enable',
420
  'img' => WC_Germanized()->plugin_url() . '/assets/images/pro/settings-inline-invoices.png',
421
  'href' => 'https://vendidero.de/woocommerce-germanized#accounting',
422
  'type' => 'image',
428
 
429
  array(
430
  'title' => '',
431
+ 'id' => 'woocommerce_gzdp_enable_vat_check',
432
  'img' => WC_Germanized()->plugin_url() . '/assets/images/pro/settings-inline-vat.png',
433
  'href' => 'https://vendidero.de/woocommerce-germanized#vat',
434
  'type' => 'image',
436
 
437
  array( 'type' => 'sectionend', 'id' => 'vat_options' ),
438
 
439
+ ); // End general settings
440
 
441
  return apply_filters( 'woocommerce_germanized_settings', $settings );
442
 
443
  }
444
 
445
+ public function get_email_settings() {
446
+
447
+ $mailer = WC()->mailer();
448
+ $email_templates = $mailer->get_emails();
449
+ $email_select = array();
450
+
451
+ foreach ( $email_templates as $email )
452
+ $email_select[ $email->id ] = empty( $email->title ) ? ucfirst( $email->id ) : ucfirst( $email->title );
453
+
454
+ $email_order = wc_gzd_get_email_attachment_order();
455
+
456
+ $email_settings = array();
457
+
458
+ foreach ( $email_order as $key => $order ) {
459
+
460
+ array_push( $email_settings, array(
461
+
462
+ 'title' => sprintf( __( 'Attach %s', 'woocommerce-germanized' ), $order ),
463
+ 'desc' => sprintf( __( 'Attach %s to the following email templates', 'woocommerce-germanized' ), $order ),
464
+ 'id' => 'woocommerce_gzd_mail_attach_' . $key,
465
+ 'type' => 'multiselect',
466
+ 'class' => 'chosen_select',
467
+ 'desc_tip' => true,
468
+ 'options' => $email_select,
469
+
470
+ ) );
471
+
472
+ }
473
+
474
+ $settings = array(
475
+
476
+ array( 'title' => __( 'E-Mails', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'email_options', 'desc' => __( 'Use drag & drop to customize attachment order. Don\'t forget to save your changes.', 'woocommerce-germanized' ) ),
477
+
478
+ array(
479
+ 'title' => '',
480
+ 'id' => 'woocommerce_gzd_mail_attach_order',
481
+ 'type' => 'hidden',
482
+ 'default' => 'terms,revocation,data_security,imprint',
483
+ ),
484
+
485
+ );
486
+
487
+ $settings = array_merge( $settings, $email_settings );
488
+
489
+ $settings = array_merge( $settings, array(
490
+
491
+ array( 'type' => 'sectionend', 'id' => 'email_options' ),
492
+
493
+ array( 'title' => __( 'Email Attachment Options', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'email_attachment_options', 'desc' => '<div class="notice inline notice-warning"><p>' . sprintf( __( 'Want to attach automatically generated PDF files to emails instead of plain text? %sUpgrade to %spro%s%s', 'woocommerce-germanized' ), '<a style="margin-left: 1em" href="https://vendidero.de/woocommerce-germanized" class="button">', '<span class="wc-gzd-pro">', '</span>', '</a>' ) . '</p></div>' ),
494
+
495
+ array(
496
+ 'title' => '',
497
+ 'id' => 'woocommerce_gzdp_legal_page_terms_enabled',
498
+ 'img' => WC_Germanized()->plugin_url() . '/assets/images/pro/settings-inline-emails.png',
499
+ 'href' => 'https://vendidero.de/woocommerce-germanized#legal-page',
500
+ 'type' => 'image',
501
+ ),
502
+
503
+ array( 'type' => 'sectionend', 'id' => 'email_attachment_options' ),
504
+
505
+ ) );
506
+
507
+ return apply_filters( 'woocommerce_germanized_settings_email', $settings );
508
+
509
+ }
510
+
511
  public function get_display_settings() {
512
 
513
+ $digital_type_options = array_merge( array(
514
+ 'downloadable' => __( 'Downloadable Product', 'woocommerce-germanized' ),
515
+ 'virtual' => __( 'Virtual Product', 'woocommerce-germanized' ),
516
+ ), wc_get_product_types() );
517
+
518
+ $settings = array(
519
 
520
  array( 'title' => __( 'General', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'general_options' ),
521
 
633
  'checkboxgroup' => 'end',
634
  ),
635
 
636
+ array(
637
+ 'title' => __( 'Shipping Costs for Virtual', 'woocommerce-germanized' ),
638
+ 'desc' => __( 'Select this option if you want to display shipping costs notice for virtual products.', 'woocommerce-germanized' ),
639
+ 'id' => 'woocommerce_gzd_display_shipping_costs_virtual',
640
+ 'type' => 'checkbox',
641
+ 'default' => 'no',
642
+ ),
643
+
644
+ array( 'type' => 'sectionend', 'id' => 'product_options' ),
645
+
646
+ array( 'title' => __( 'Base Price', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'unit_price_options' ),
647
+
648
+ array(
649
+ 'title' => __( 'Base Price Text', 'woocommerce-germanized' ),
650
+ 'desc' => __( 'This text will be used to display the base price. Use {price} to insert the price. If you want to specifically format base price output use {base}, {unit} and {base_price} as placeholders.', 'woocommerce-germanized' ),
651
+ 'desc_tip' => true,
652
+ 'id' => 'woocommerce_gzd_unit_price_text',
653
+ 'type' => 'text',
654
+ 'css' => 'min-width:300px;',
655
+ 'default' => __( '{price}', 'woocommerce-germanized' ),
656
+ ),
657
+
658
  array(
659
  'title' => __( 'Show product units', 'woocommerce-germanized' ),
660
  'desc' => __( 'Display amount of product units on product detail page.', 'woocommerce-germanized' ),
674
  'default' => __( 'Product contains: {product_units} {unit}', 'woocommerce-germanized' ),
675
  ),
676
 
677
+ array( 'type' => 'sectionend', 'id' => 'unit_price_options' ),
 
 
 
 
 
 
 
 
678
 
679
  array( 'title' => __( 'Checkout & Cart', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'checkout_options' ),
680
 
791
  'type' => 'checkbox',
792
  ),
793
 
794
+ array(
795
+ 'title' => __( 'Digital Product types', 'woocommerce-germanized' ),
796
+ 'desc' => __( 'Select product types for which the loss of recission notice is shown. Product types like "simple product" may be redudant because they include virtual and downloadable products.', 'woocommerce-germanized' ),
797
+ 'desc_tip' => true,
798
+ 'id' => 'woocommerce_gzd_checkout_legal_digital_types',
799
+ 'default' => 'downloadable',
800
+ 'class' => 'chosen_select',
801
+ 'options' => $digital_type_options,
802
+ 'type' => 'multiselect',
803
+ ),
804
+
805
  array(
806
  'title' => __( 'Legal Digital Text', 'woocommerce-germanized' ),
807
  'desc' => __( 'Choose a Plain Text which will be shown right above checkout submit button if a user has picked a digital product. See legal text option for possible placeholders.', 'woocommerce-germanized' ),
852
 
853
  );
854
 
855
+ return apply_filters( 'woocommerce_germanized_settings_display', $settings );
856
+
857
  }
858
 
859
  public function output() {
860
+
861
  global $current_section;
862
  $settings = $this->get_settings();
863
  $sidebar = $this->get_sidebar();
864
+
865
  if ( $this->get_sections() ) {
866
  foreach ( $this->get_sections() as $section => $name ) {
867
  if ( $section == $current_section ) {
870
  }
871
  }
872
  }
873
+
874
+ do_action( 'woocommerce_gzd_before_section_output', $current_section );
875
+
876
  include_once( WC_Germanized()->plugin_path() . '/includes/admin/views/html-settings-section.php' );
877
  }
878
 
includes/admin/views/html-page-status-germanized.php CHANGED
@@ -155,6 +155,26 @@ if ( ! defined( 'ABSPATH' ) )
155
  </tbody>
156
  </table>
157
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
158
  <table class="wc_status_table widefat" cellspacing="0" id="status">
159
  <thead>
160
  <tr>
155
  </tbody>
156
  </table>
157
 
158
+ <table class="wc_status_table widefat" cellspacing="0">
159
+ <thead>
160
+ <tr>
161
+ <th colspan="3"><?php _e( 'Tools', 'woocommerce-germanized' ); ?></th>
162
+ </tr>
163
+ </thead>
164
+ <tbody class="tools">
165
+ <tr>
166
+ <td><?php _e( 'Settings Tour', 'woocommerce-germanized' ); ?></td>
167
+ <td>
168
+ <p>
169
+ <a href="<?php echo wp_nonce_url( add_query_arg( array( 'tour' => '', 'enable' => true ) ), 'wc-gzd-tour-enable' ); ?>" class="button button-secondary"><?php _e( 'Reenable Tour', 'woocommerce-germanized' ); ?></a>
170
+ <span class="description"><?php _e( 'This will delete every option which prevents the Germanized settings tour from starting.', 'woocommerce-germanized' ); ?></span>
171
+ </p>
172
+ </td>
173
+ </tr>
174
+ <?php do_action( 'woocommerce_gzd_status_after_tools' ); ?>
175
+ </tbody>
176
+ </table>
177
+
178
  <table class="wc_status_table widefat" cellspacing="0" id="status">
179
  <thead>
180
  <tr>
includes/admin/views/html-tour-display.php ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Admin View: Settings pro
4
+ */
5
+
6
+ if ( ! defined( 'ABSPATH' ) ) {
7
+ exit; // Exit if accessed directly
8
+ }
9
+ ?>
10
+
11
+ <ol class="tourbus-legs wc-gzd-tour" id="tour-settings-display">
12
+
13
+ <li data-orientation="centered">
14
+ <h2>WooCommerce Germanized Tour</h2>
15
+ <p>Lerne jetzt schnell und einfach die ersten Schritte zur Konfiguration von WooCommerce Germanized kennen.</p>
16
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">Los geht's</a>
17
+ <a class="button button-secondary" href="<?php echo WC_GZD_Admin::instance()->disable_tour_link( 'display' ); ?>" style="float: right">Nein, Danke</a>
18
+ </li>
19
+
20
+ <li data-el="#woocommerce_gzd_display_listings_add_to_cart" data-orientation="bottom" data-width="700">
21
+ <h2>Zum Warekorb Button</h2>
22
+ <p>Das Anzeigen des zum Warenkorb Buttons in Produktlisten kann weitreichende Folgen haben (z.B. das damit verbundene Anzeigen des Versandkosten-Hinweises).
23
+ Generell halten wir es für sinnvoll, den Warenkorb-Button in Produktlisten zu deaktivieren und damit den Besuchern zu ermöglichen, alle rechtlichen Hinweise nur auf der Produktseite präsentiert zu bekommen.</p>
24
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
25
+ </li>
26
+
27
+ <li data-el="#woocommerce_gzd_display_footer_vat_notice" data-orientation="top">
28
+ <h2>Footer-Hinweise</h2>
29
+ <p>Unter Umständen kann es sinnvoll sein, "globale" Hinweise im Footer unterzubringen ("Alle Preise inkl. MwSt." - so macht es z.B. Zalando). Im Zweifelsfall solltest du diese Option mit deinem
30
+ Anwalt besprechen.</p>
31
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
32
+ </li>
33
+
34
+ <li data-el="#woocommerce_gzd_display_listings_shipping_costs" data-orientation="top">
35
+ <h2>Hinweise und Preisauszeichnung</h2>
36
+ <p>Hier wird es interessant. Stelle nun ein, welche rechtlichen Hinweise du in Produktlisten und auf der Produktdetailseite angezeigt bekommen möchtest.
37
+ </p>
38
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
39
+ </li>
40
+
41
+ <li data-el="#woocommerce_gzd_unit_price_text" data-orientation="top">
42
+ <h2>Grundpreis</h2>
43
+ <p>Der Grundpreis ist natürlich nicht für jeden Shop-Betreiber relevant. Für Shops, die auf Basis von Einheiten verkaufen umso mehr.
44
+ Passe hier die Anzeige des Grundpreises an. Für eine verfeinerte Darstellung kannst du auch die Platzhalter:</p>
45
+ <ul>
46
+ <li>{base_price} - der eigentliche Grundpreis</li>
47
+ <li>{base} - die Basis z.B. 100</li>
48
+ <li>{unit} - die <a target="_blank" href="<?php echo admin_url( 'edit-tags.php?taxonomy=product_unit&post_type=product' ); ?>" title="Einheiten verwalten">Einheit</a> z.B. kg.</li>
49
+ </ul>
50
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
51
+ </li>
52
+
53
+ <li data-el="#woocommerce_gzd_display_checkout_fallback" data-orientation="top">
54
+ <h2>Fallback-Modus</h2>
55
+ <p>Solltest du Darstellungsprobleme im Checkout haben (Beispiel: die Auswahl der Zahlungsart befindet sich fälschlicherweise unterhalb der Produktübersicht), kannst du diese Option
56
+ nutzen, um das Überschreiben der, für den Checkout relevanten, <a href="http://docs.woothemes.com/document/template-structure/" target="_blank">WooCommerce Standard Template</a> durch dein Theme zu verhindern.</p>
57
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
58
+ </li>
59
+
60
+ <li data-el="#woocommerce_gzd_display_checkout_legal_no_checkbox" data-orientation="top">
61
+ <h2>Checkbox in der Kasse</h2>
62
+ <p>Einige Shops verzichten auf eine Checkbox zum Bestätigen der AGB und Widerrufsbelehrung und wählen stattdessen einen normalen Hinweis (s. z.B. Zalando).
63
+ Den Hinweistext bzw. Checkbox-Text kannst du über die folgenden Optionen steuern. Mit den Platzhaltern {term_link}, {revocation_link} und {data_security_link} kannst du Links zu den entsprechenden
64
+ Rechtstexten einfügen (diese müssen natürlich in den Germanized Einstellungen unter <a href="<?php echo admin_url( 'admin.php?page=wc-settings&tab=germanized&section=display' ); ?>">Allgemein</a> hinterlegt sein).</p>
65
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
66
+ </li>
67
+
68
+ <li data-el="#woocommerce_gzd_checkout_legal_digital_checkbox" data-orientation="top">
69
+ <h2>Checkbox für digitale Produkte</h2>
70
+ <p>Solltest du digitale Produkte verkaufen, möchtest du vielleicht verhindern, dass Käufer dieser Produkte weiterhin über ein 14-tägiges Widerrufsrecht verfügen.
71
+ Sollte das der Fall sein, könnte jeder Käufer nach dem Download der Datei den Vertrag widerrufen. Aus diesem Grund, fügt Germanized eine Checkbox ein, die den Käufer
72
+ dazu auffordert, auf das Widerrufsrecht zur verzichten (standardmäßig nur dann, wenn sicher herunterladbare Produkte im Warenkorb befinden).</p>
73
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
74
+ </li>
75
+
76
+ <li data-el="#s2id_woocommerce_gzd_checkout_legal_digital_types" data-orientation="top">
77
+ <h2>Digitale Produkttypen</h2>
78
+ <p>Standardmäßig wird der Hinweis bzgl. des Abtretens des Widerrufsrechts nur für herunterladbare Produkte angezeigt. Wenn du den Hinweis auch für andere Produkttypen (z.B. auch für virtuelle Produkte)
79
+ aktivieren möchtest, kannst du dies hier auswählen. Mit den Standard-Produkttypen (wie einfaches Produkt) solltest du allerdings vorsichtig sein, da der Hinweis dann immer angezeigt wird,
80
+ wenn ein einfaches Produkt im Warenkorb liegt (egal ob downloadbar/virtuell oder nicht).</p>
81
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
82
+ </li>
83
+
84
+ <li data-el="#woocommerce_gzd_order_pay_now_button" data-orientation="top">
85
+ <h2>Bezahlen-Button in E-Mails</h2>
86
+ <p>WooCommerce Germanized sorgt dafür, dass dem Käufer direkt nach der Bestellung (d.h. nach Betätigen des Kaufen-Buttons) eine Bestellbestätigung zugestellt wird.
87
+ Das gilt auch für Einkäufe, die per PayPal (oder andere Zahlungsanbieter) getätigt werden. Für diesen Fall kannst du an dieser Stelle bewirken, dass der Kunde per Mail auch
88
+ noch einmal einen Link zum Bezahlen erhält (falls der Kunde die Zahlung nach der Bestellung nicht abgeschlossen hat).</p>
89
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
90
+ </li>
91
+
92
+ <li data-el=".submit" data-orientation="top">
93
+ <h2>Einstellungen speichern</h2>
94
+ <p>Wenn du deine Einstellungen angepasst hast, dann speichere sie über diesen Button.
95
+ </p>
96
+ <a class="button button-primary" href="<?php echo admin_url( 'admin.php?page=wc-settings&tab=germanized&section=email' ); ?>">Weiter zu den E-Mails</a>
97
+ </li>
98
+
99
+ </ol>
includes/admin/views/html-tour-email.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Admin View: Settings pro
4
+ */
5
+
6
+ if ( ! defined( 'ABSPATH' ) ) {
7
+ exit; // Exit if accessed directly
8
+ }
9
+ ?>
10
+
11
+ <ol class="tourbus-legs wc-gzd-tour" id="tour-settings-email">
12
+
13
+ <li data-orientation="centered">
14
+ <h2>WooCommerce Germanized Tour</h2>
15
+ <p>Lerne jetzt schnell und einfach die ersten Schritte zur Konfiguration von WooCommerce Germanized kennen.</p>
16
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">Los geht's</a>
17
+ <a class="button button-secondary" href="<?php echo WC_GZD_Admin::instance()->disable_tour_link( 'email' ); ?>" style="float: right">Nein, Danke</a>
18
+ </li>
19
+
20
+ <li data-el="#s2id_woocommerce_gzd_mail_attach_terms" data-orientation="bottom" data-width="500">
21
+ <h2>Rechtstexte an E-Mails anhängen</h2>
22
+ <p>An dieser Stelle kannst du für jeden Rechtstext (z.B. AGB, Widerufsbelehrung) auswählen, an welche WooCommerce E-Mails der Text angehängt werden soll.
23
+ Per Drag & Drop kannst du die Reihenfolge der Rechtstexte in den E-Mails beeinflussen (z.B. zuerst AGB dann Widerrufsbelehrung).</p>
24
+ <h3>Hinweis</h3>
25
+ <p>Die hier auswählbaren WooCommerce E-Mails entsprechen den Bezeichnungen des jeweiligen Templates unter <a target="_blank" href="<?php echo admin_url( 'admin.php?page=wc-settings&tab=email' ); ?>">E-Mails</a>. So ist "Neue Bestellung" nicht die E-Mail die an den Kunden geht, sondern der Hinweis an den Admin. Der Kunde erhält die E-Mail "Bestellung in Bearbeitung"</p>
26
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
27
+ </li>
28
+
29
+ <li class="wc-gzd-tour-pro" data-el="#woocommerce_gzdp_legal_page_terms_enabled" data-orientation="top" data-width="500">
30
+ <h2><span class="wc-gzd-pro">pro</span> PDF Anhänge in E-Mails</h2>
31
+ <p>
32
+ Nutzer der Pro-Version von WooCommerce Germanized können optional PDF-Dateien anstatt reinem Text an die WooCommerce E-Mails anhängen.
33
+ Die PDF-Dateien können automatisch, basierend auf dem Inhalt der jeweiligen Seite erzeugt oder manuell hinterlegt werden.
34
+ </p>
35
+ <a class="button button-primary tourbus-disable" href="<?php echo WC_GZD_Admin::instance()->disable_tour_link( '' ); ?>">Tour beenden</a>
36
+ <?php if ( ! WC_germanized()->is_pro() ) : ?>
37
+ <a class="button button-secondary" style="float:right" href="https://vendidero.de/woocommerce-germanized#pro" target="_blank">mehr zur <span class="wc-gzd-pro">pro</span> Version</a>
38
+ <?php endif; ?>
39
+ </li>
40
+
41
+ </ol>
includes/admin/views/html-tour-general.php ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Admin View: Settings pro
4
+ */
5
+
6
+ if ( ! defined( 'ABSPATH' ) ) {
7
+ exit; // Exit if accessed directly
8
+ }
9
+ ?>
10
+
11
+ <ol class="tourbus-legs wc-gzd-tour" id="tour-settings-general">
12
+
13
+ <li data-orientation="centered">
14
+ <h2>WooCommerce Germanized Tour</h2>
15
+ <p>Lerne jetzt schnell und einfach die ersten Schritte zur Konfiguration von WooCommerce Germanized kennen.</p>
16
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">Los geht's</a>
17
+ <a class="button button-secondary" href="<?php echo WC_GZD_Admin::instance()->disable_tour_link( 'general' ); ?>" style="float: right">Nein, Danke</a>
18
+ </li>
19
+
20
+ <li data-el=".subsubsub" data-orientation="bottom">
21
+ <h2>Kategorien</h2>
22
+ <p>Über die Tabs kannst du die unterschiedlichen Einstellungen anwählen und die dort hinterlegten Optionen konfigurieren.</p>
23
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
24
+ </li>
25
+
26
+ <li data-el="#woocommerce_gzd_small_enterprise" data-orientation="bottom">
27
+ <h2>Kleinunternehmerregelung</h2>
28
+ <p>Bist du Kleinunternehmer nach §19 UStG.? Dann aktiviere diese Option. Wenn du zusätzlich einen Hinweis auf der Produktseite
29
+ aktivieren möchtest, setze auch die untere Checkbox.</p>
30
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
31
+ </li>
32
+
33
+ <li data-el="#woocommerce_gzd_order_submit_btn_text" data-orientation="top">
34
+ <h2>Kaufen-Button</h2>
35
+ <p>Spätestens mit Verabschiedung der Button-Lösung, hat die Beschriftung des Kaufen-Buttons an Relevanz gewonnen. Du kannst hier natürlich
36
+ auch andere Beschriftungen z.B. "zahlungspflichtig bestellen" wählen.</p>
37
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
38
+ </li>
39
+
40
+ <li class="wc-gzd-tour-pro" data-el="#woocommerce_gzdp_contract_after_confirmation" data-orientation="top" data-width="500">
41
+ <h2><span class="wc-gzd-pro">pro</span> Verspäteter Vertragsschluss</h2>
42
+ <p>
43
+ Als Nutzer der Pro-Version kannst du über diese Option festlegen, dass du alle Bestellungen vor Annahme des Kaufvertrages manuell prüfen möchtest.
44
+ Standardmäßig erfolgt die Vertragsbestätigung bei WooCommerce direkt nach der Bestellung. Mit dieser Option kannst du dieses Verhalten verhindern.
45
+ </p>
46
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
47
+ <?php if ( ! WC_germanized()->is_pro() ) : ?>
48
+ <a class="button button-secondary" style="float:right" href="https://vendidero.de/woocommerce-germanized#contract" target="_blank">mehr erfahren</a>
49
+ <?php endif; ?>
50
+ </li>
51
+
52
+ <li data-el="#s2id_woocommerce_terms_page_id" data-orientation="top">
53
+ <h2>Rechtliche Hinweisseiten</h2>
54
+ <p>Damit dein Shop besser vor Abmahnungen geschützt ist, solltest du hier auf jeden Fall deine Rechtstexte wie z.B. AGB, Widerrufsbelehrung, Impressum etc. auswählen.
55
+ Diese Texte werden, je nach Einstellungen, auch als Textanhang für die Bestellbestätigung oder andere WooCommerce E-Mails verwendet.</p>
56
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
57
+ </li>
58
+
59
+ <li data-el="#s2id_woocommerce_gzd_default_delivery_time" data-orientation="top" data-width="600">
60
+ <h2>Lieferzeiten</h2>
61
+ <p>Standardmäßig verfügt WooCommerce über keine <a href="<?php echo admin_url( 'edit-tags.php?taxonomy=product_delivery_time&post_type=product' ); ?>" target="_blank">Lieferzeiten-Verwaltung</a> für Produkte. Diese Funktionalität fügt Germanizedh hinzu.
62
+ Wähle optional eine Standard-Lieferzeit aus, die immer dann gezeigt wird, wenn keine Lieferzeit für das Produkt hinterlegt wurde.
63
+ Der Lieferzeiten-Text wird verwendet um die Lieferzeiten im Shop darzustellen. Du kannst mit dieser Option die Ausgabe steuern - z.B. Lieferzeit: {delivery_time} wobei der Platzhalter {delivery_time} mit dem für die Lieferzeit hinterlegtem Wert (z.B. 3-4 Tage) ersetzt wird.</p>
64
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
65
+ </li>
66
+
67
+ <li data-el="#woocommerce_gzd_shipping_tax" data-orientation="top">
68
+ <h2>Versand- und Gebührenberechnung</h2>
69
+ <p>Diese Option ist eigentlich nur relevant für Shop-Betreiber, die Artikel zu unterschiedlichen Umsatzsteuersätzen (z.B. 19% und 7%) verkaufen.
70
+ In diesem Fall übernimmt Germanized eine genauere Berechnung der Umsatzsteuer für Versandkosten. Unterhalb der Option findest du dafür ein Beispiel.</p>
71
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
72
+ </li>
73
+
74
+ <li data-el="#woocommerce_gzd_customer_account_checkbox" data-orientation="top">
75
+ <h2>Kundenkonten</h2>
76
+ <p>Viele Händler bieten Käufern das Erstellen von Kundenkonten an. In diesem Fall solltest du mit deinem Anwalt Rücksprache halten, ob eine Checkbox
77
+ von Nöten ist, die auf deine Datenschutzerklärung hinweist. Sollte das der Fall sein, kannst du unten aufgeführte Optionen verwenden.
78
+ </p>
79
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
80
+ </li>
81
+
82
+ <li data-el="#woocommerce_gzd_customer_activation" data-orientation="top" data-width="600">
83
+ <h2>Double Opt-In</h2>
84
+ <p>Ob du das Double Opt-In-Verfahren für Kundenregistrierungen einsetzt oder nicht, solltest du auch mit deinem Anwalt besprechen. Germanized hat dieses Verfahren so umgesetzt,
85
+ dass Kundenkonten direkt nach der Registrierung zwar nutzbar sind (um den Kaufprozess nicht zu unterbrechen) aber u.U. nach X Tagen (je nach Einstellung) automatisch gelöscht werden, wenn der Kunde
86
+ nicht auf den Link in der E-Mail (zugestellt nach der Regisrierung) klickt und das Konto aktiviert.
87
+ </p>
88
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
89
+ </li>
90
+
91
+ <li class="wc-gzd-tour-pro" data-el="#woocommerce_gzdp_invoice_enable" data-orientation="top" data-width="500">
92
+ <h2><span class="wc-gzd-pro">pro</span> Rechnungen & Lieferscheine</h2>
93
+ <p>
94
+ Als Nutzer der Pro-Version kannst du über diese Option das Erzeugen von PDF-Rechnungen zu Bestellungen aktivieren.
95
+ Dieses Feature haben wir in Germanized Pro besonders ausgeklügelt implementiert, sodass du dich voll und ganz auf das Verkaufen konzentrieren kannst.
96
+ </p>
97
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
98
+ <?php if ( ! WC_germanized()->is_pro() ) : ?>
99
+ <a class="button button-secondary" style="float:right" href="https://vendidero.de/woocommerce-germanized#accounting" target="_blank">mehr erfahren</a>
100
+ <?php endif; ?>
101
+ </li>
102
+
103
+ <li class="wc-gzd-tour-pro" data-el="#woocommerce_gzdp_enable_vat_check" data-orientation="top" data-width="500">
104
+ <h2><span class="wc-gzd-pro">pro</span> Umsatzsteuer ID prüfen</h2>
105
+ <p>
106
+ Verkäufer, die an gewerbliche Käufer im europäischen Ausland verkaufen kennen das: Die Umsatzsteuer soll bei Eingabe
107
+ einer validen Umsatzsteuer-Identifikationsnummer entfallen. Mit der Pro-Version kein Problem mehr. Das Plugin prüft nach Eingabe einer USt.-ID automatisch
108
+ anhand der europäischen Schnittstelle, ob die ID valide ist und entfernt die USt. in der Kasse.
109
+ </p>
110
+ <a class="button button-primary tourbus-next" href="javascript:void(0);">weiter</a>
111
+ <?php if ( ! WC_germanized()->is_pro() ) : ?>
112
+ <a class="button button-secondary" style="float:right" href="https://vendidero.de/woocommerce-germanized#vat" target="_blank">mehr erfahren</a>
113
+ <?php endif; ?>
114
+ </li>
115
+
116
+ <li data-el=".submit" data-orientation="top">
117
+ <h2>Einstellungen speichern</h2>
118
+ <p>Wenn du deine Einstellungen angepasst hast, dann speichere sie über diesen Button.
119
+ </p>
120
+ <a class="button button-primary" href="<?php echo admin_url( 'admin.php?page=wc-settings&tab=germanized&section=display' ); ?>">Weiter zur Anzeige</a>
121
+ </li>
122
+
123
+ </ol>
includes/class-wc-gzd-cart.php CHANGED
@@ -27,6 +27,21 @@ class WC_GZD_Cart extends WC_Cart {
27
  do_action( 'woocommerce_cart_reset', $this, $unset_session );
28
  }
29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  /**
31
  * Calculate totals for cart. Implements vat exception for digital products.
32
  */
@@ -44,11 +59,12 @@ class WC_GZD_Cart extends WC_Cart {
44
 
45
  $tax_rates = array();
46
  $shop_tax_rates = array();
 
47
 
48
  /**
49
  * Calculate subtotals for items. This is done first so that discount logic can use the values.
50
  */
51
- foreach ( $this->get_cart() as $cart_item_key => $values ) {
52
 
53
  $_product = $values['data'];
54
 
@@ -100,8 +116,12 @@ class WC_GZD_Cart extends WC_Cart {
100
 
101
  /**
102
  * ADJUST TAX - Calculations when base tax is not equal to the item tax
 
 
 
 
103
  */
104
- if ( $item_tax_rates !== $base_tax_rates ) {
105
 
106
  // Work out a new base price without the shop's base tax
107
  $taxes = WC_Tax::calc_tax( $line_price, $base_tax_rates, true, true );
@@ -153,10 +173,13 @@ class WC_GZD_Cart extends WC_Cart {
153
  $this->subtotal_ex_tax += $line_subtotal;
154
  }
155
 
 
 
 
156
  /**
157
  * Calculate totals for items
158
  */
159
- foreach ( $this->get_cart() as $cart_item_key => $values ) {
160
 
161
  $_product = $values['data'];
162
 
@@ -190,8 +213,12 @@ class WC_GZD_Cart extends WC_Cart {
190
 
191
  /**
192
  * ADJUST TAX - Calculations when base tax is not equal to the item tax
 
 
 
 
193
  */
194
- if ( $item_tax_rates !== $base_tax_rates ) {
195
 
196
  // Work out a new base price without the shop's base tax
197
  $taxes = WC_Tax::calc_tax( $line_price, $base_tax_rates, true, true );
@@ -323,7 +350,7 @@ class WC_GZD_Cart extends WC_Cart {
323
  }
324
 
325
  do_action( 'woocommerce_after_calculate_totals', $this );
326
- //print_r($this->taxes);
327
  $this->set_session();
328
  }
329
 
27
  do_action( 'woocommerce_cart_reset', $this, $unset_session );
28
  }
29
 
30
+ /**
31
+ * Sort by subtotal
32
+ * @param array $a
33
+ * @param array $b
34
+ * @return int
35
+ */
36
+ private function sort_by_subtotal( $a, $b ) {
37
+ $first_item_subtotal = isset( $a['line_subtotal'] ) ? $a['line_subtotal'] : 0;
38
+ $second_item_subtotal = isset( $b['line_subtotal'] ) ? $b['line_subtotal'] : 0;
39
+ if ( $first_item_subtotal === $second_item_subtotal ) {
40
+ return 0;
41
+ }
42
+ return ( $first_item_subtotal < $second_item_subtotal ) ? 1 : -1;
43
+ }
44
+
45
  /**
46
  * Calculate totals for cart. Implements vat exception for digital products.
47
  */
59
 
60
  $tax_rates = array();
61
  $shop_tax_rates = array();
62
+ $cart = $this->get_cart();
63
 
64
  /**
65
  * Calculate subtotals for items. This is done first so that discount logic can use the values.
66
  */
67
+ foreach ( $cart as $cart_item_key => $values ) {
68
 
69
  $_product = $values['data'];
70
 
116
 
117
  /**
118
  * ADJUST TAX - Calculations when base tax is not equal to the item tax
119
+ *
120
+ * The woocommerce_adjust_non_base_location_prices filter can stop base taxes being taken off when dealing with out of base locations.
121
+ * e.g. If a product costs 10 including tax, all users will pay 10 regardless of location and taxes.
122
+ * This feature is experimental @since 2.4.7 and may change in the future. Use at your risk.
123
  */
124
+ if ( $item_tax_rates !== $base_tax_rates && apply_filters( 'woocommerce_adjust_non_base_location_prices', true ) ) {
125
 
126
  // Work out a new base price without the shop's base tax
127
  $taxes = WC_Tax::calc_tax( $line_price, $base_tax_rates, true, true );
173
  $this->subtotal_ex_tax += $line_subtotal;
174
  }
175
 
176
+ // Order cart items by price so coupon logic is 'fair' for customers and not based on order added to cart.
177
+ uasort( $cart, array( $this, 'sort_by_subtotal' ) );
178
+
179
  /**
180
  * Calculate totals for items
181
  */
182
+ foreach ( $cart as $cart_item_key => $values ) {
183
 
184
  $_product = $values['data'];
185
 
213
 
214
  /**
215
  * ADJUST TAX - Calculations when base tax is not equal to the item tax
216
+ *
217
+ * The woocommerce_adjust_non_base_location_prices filter can stop base taxes being taken off when dealing with out of base locations.
218
+ * e.g. If a product costs 10 including tax, all users will pay 10 regardless of location and taxes.
219
+ * This feature is experimental @since 2.4.7 and may change in the future. Use at your risk.
220
  */
221
+ if ( $item_tax_rates !== $base_tax_rates && apply_filters( 'woocommerce_adjust_non_base_location_prices', true ) ) {
222
 
223
  // Work out a new base price without the shop's base tax
224
  $taxes = WC_Tax::calc_tax( $line_price, $base_tax_rates, true, true );
350
  }
351
 
352
  do_action( 'woocommerce_after_calculate_totals', $this );
353
+
354
  $this->set_session();
355
  }
356
 
includes/class-wc-gzd-ekomi.php CHANGED
@@ -40,7 +40,7 @@ class WC_GZD_Ekomi {
40
  if ( $this->is_enabled() )
41
  add_action( 'init', array( $this, 'init' ) );
42
  // Register sections
43
- add_filter( 'woocommerce_gzd_settings_sections', array( $this, 'register_section' ), 2 );
44
  add_filter( 'woocommerce_gzd_get_settings_ekomi', array( $this, 'get_settings' ) );
45
  }
46
 
40
  if ( $this->is_enabled() )
41
  add_action( 'init', array( $this, 'init' ) );
42
  // Register sections
43
+ add_filter( 'woocommerce_gzd_settings_sections', array( $this, 'register_section' ), 5 );
44
  add_filter( 'woocommerce_gzd_get_settings_ekomi', array( $this, 'get_settings' ) );
45
  }
46
 
includes/class-wc-gzd-install.php CHANGED
@@ -145,6 +145,7 @@ class WC_GZD_Install {
145
  $current_db_version = get_option( 'woocommerce_gzd_db_version', null );
146
 
147
  if ( ! is_null( $current_db_version ) && version_compare( $current_db_version, max( array_keys( self::$db_updates ) ), '<' ) ) {
 
148
  update_option( '_wc_gzd_needs_update', 1 );
149
  } else {
150
  self::update_db_version();
@@ -161,8 +162,12 @@ class WC_GZD_Install {
161
  delete_option( '_wc_gzd_hide_pro_notice' );
162
 
163
  // Check if pages are needed
164
- if ( wc_get_page_id( 'revocation' ) < 1 )
165
  update_option( '_wc_gzd_needs_pages', 1 );
 
 
 
 
166
 
167
  // Flush rules after install
168
  flush_rewrite_rules();
145
  $current_db_version = get_option( 'woocommerce_gzd_db_version', null );
146
 
147
  if ( ! is_null( $current_db_version ) && version_compare( $current_db_version, max( array_keys( self::$db_updates ) ), '<' ) ) {
148
+ // Update
149
  update_option( '_wc_gzd_needs_update', 1 );
150
  } else {
151
  self::update_db_version();
162
  delete_option( '_wc_gzd_hide_pro_notice' );
163
 
164
  // Check if pages are needed
165
+ if ( wc_get_page_id( 'revocation' ) < 1 ) {
166
  update_option( '_wc_gzd_needs_pages', 1 );
167
+ } else {
168
+ // Show tour for new installs only
169
+ update_option( 'woocommerce_gzd_hide_tour', 1 );
170
+ }
171
 
172
  // Flush rules after install
173
  flush_rewrite_rules();
includes/gateways/direct-debit/class-wc-gzd-gateway-direct-debit.php CHANGED
@@ -411,8 +411,11 @@ Please notice: Period for pre-information of the SEPA direct debit is shortened
411
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
412
  $assets_path = str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/';
413
 
414
- wp_enqueue_script( 'prettyPhoto', $assets_path . 'js/prettyPhoto/jquery.prettyPhoto' . $suffix . '.js', array( 'jquery' ), '3.1.6', true );
415
- wp_enqueue_style( 'woocommerce_prettyPhoto_css', $assets_path . 'css/prettyPhoto.css' );
 
 
 
416
 
417
  wp_register_script( 'wc-gzd-iban', WC_germanized()->plugin_url() . '/includes/gateways/direct-debit/assets/js/iban' . $suffix . '.js', array( 'wc-checkout' ), WC_GERMANIZED_VERSION, true );
418
  wp_enqueue_script( 'wc-gzd-iban' );
411
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
412
  $assets_path = str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/';
413
 
414
+ // Ensure that prettyPhoto is being loaded
415
+ wp_register_script( 'prettyPhoto_debit', $assets_path . 'js/prettyPhoto/jquery.prettyPhoto' . $suffix . '.js', array( 'jquery' ), '3.1.6', true );
416
+ wp_enqueue_script( 'prettyPhoto_debit' );
417
+ wp_register_style( 'woocommerce_prettyPhoto_css_debit', $assets_path . 'css/prettyPhoto.css' );
418
+ wp_enqueue_style( 'woocommerce_prettyPhoto_css_debit' );
419
 
420
  wp_register_script( 'wc-gzd-iban', WC_germanized()->plugin_url() . '/includes/gateways/direct-debit/assets/js/iban' . $suffix . '.js', array( 'wc-checkout' ), WC_GERMANIZED_VERSION, true );
421
  wp_enqueue_script( 'wc-gzd-iban' );
includes/wc-gzd-product-functions.php CHANGED
@@ -44,4 +44,17 @@ function wc_gzd_check_price_update( $meta_id, $post_id, $meta_key, $meta_value )
44
  update_post_meta( $post_id, '_unit_price', $regular_price );
45
  }
46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  }
44
  update_post_meta( $post_id, '_unit_price', $regular_price );
45
  }
46
 
47
+ }
48
+
49
+ function wc_gzd_is_revocation_exempt( $product ) {
50
+ $digital_types = apply_filters( 'woocommerce_gzd_digital_product_types', get_option( 'woocommerce_gzd_checkout_legal_digital_types', array( 'downloadable' ) ) );
51
+ if ( in_array( 'downloadable', $digital_types ) && $product->is_downloadable() )
52
+ return true;
53
+ else if ( in_array( 'virtual', $digital_types ) && $product->is_virtual() )
54
+ return true;
55
+ else if ( in_array( $product->get_type(), $digital_types ) )
56
+ return true;
57
+ else if ( apply_filters( 'woocommerce_gzd_product_is_revocation_exception', false, $product ) )
58
+ return true;
59
+ return false;
60
  }
includes/wc-gzd-template-functions.php CHANGED
@@ -187,7 +187,7 @@ if ( ! function_exists( 'woocommerce_gzd_digital_checkbox' ) ) {
187
  if ( ! empty( $items ) ) {
188
  foreach ( $items as $cart_item_key => $values ) {
189
  $_product = apply_filters( 'woocommerce_cart_item_product', $values[ 'data' ], $values, $cart_item_key );
190
- if ( $_product->is_downloadable() || apply_filters( 'woocommerce_gzd_product_is_revocation_exception', false, $_product ) )
191
  $is_downloadable = true;
192
  }
193
  }
@@ -217,7 +217,7 @@ if ( ! function_exists( 'woocommerce_gzd_checkout_validation' ) ) {
217
  if ( ! empty( $items ) && get_option( 'woocommerce_gzd_checkout_legal_digital_checkbox' ) == 'yes' ) {
218
  foreach ( $items as $cart_item_key => $values ) {
219
  $_product = apply_filters( 'woocommerce_cart_item_product', $values[ 'data' ], $values, $cart_item_key );
220
- if ( $_product->is_downloadable() || apply_filters( 'woocommerce_gzd_product_is_revocation_exception', false, $_product ) )
221
  $is_downloadable = true;
222
  }
223
  }
187
  if ( ! empty( $items ) ) {
188
  foreach ( $items as $cart_item_key => $values ) {
189
  $_product = apply_filters( 'woocommerce_cart_item_product', $values[ 'data' ], $values, $cart_item_key );
190
+ if ( wc_gzd_is_revocation_exempt( $_product ) )
191
  $is_downloadable = true;
192
  }
193
  }
217
  if ( ! empty( $items ) && get_option( 'woocommerce_gzd_checkout_legal_digital_checkbox' ) == 'yes' ) {
218
  foreach ( $items as $cart_item_key => $values ) {
219
  $_product = apply_filters( 'woocommerce_cart_item_product', $values[ 'data' ], $values, $cart_item_key );
220
+ if ( wc_gzd_is_revocation_exempt( $_product ) )
221
  $is_downloadable = true;
222
  }
223
  }
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: woocommerce, german market, german, germany, deutsch, deutschland, de, de_
4
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=info@vendidero.de&item_name=Donation+for+WooCommerce+Germanized
5
  Requires at least: 3.8
6
  Tested up to: 4.3
7
- Stable tag: 1.4.2
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -176,6 +176,16 @@ Bugs sowie Hilfe bei der Arbeit an WooCommerce Germanized werden gerne über uns
176
 
177
  == Changelog ==
178
 
 
 
 
 
 
 
 
 
 
 
179
  = 1.4.2 =
180
  * Feature - product units
181
  * Feature - digital product notice (loss of right of withdrawal) in order confirmation
4
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=info@vendidero.de&item_name=Donation+for+WooCommerce+Germanized
5
  Requires at least: 3.8
6
  Tested up to: 4.3
7
+ Stable tag: 1.4.3
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
176
 
177
  == Changelog ==
178
 
179
+ = 1.4.3 =
180
+ * Feature - intro settings tour
181
+ * Feature - better settings overview (new section: emails)
182
+ * Feature - set variation delivery time based on parent
183
+ * Feature - select product types (e.g. virtual) for digital loss of revocation notice
184
+ * Fix - variable delivery time saving
185
+ * Fix - stop unregistering prettyPhoto for direct debit
186
+ * Fix - virtual price filter only on checkout/cart
187
+ * Fix - adjusted class-wc-gzd-cart.php to newest version
188
+
189
  = 1.4.2 =
190
  * Feature - product units
191
  * Feature - digital product notice (loss of right of withdrawal) in order confirmation
woocommerce-germanized.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: WooCommerce Germanized
4
  * Plugin URI: https://www.vendidero.de/woocommerce-germanized
5
  * Description: Extends WooCommerce to become a legally compliant store for the german market.
6
- * Version: 1.4.2
7
  * Author: Vendidero
8
  * Author URI: https://vendidero.de
9
  * Requires at least: 3.8
@@ -26,7 +26,7 @@ final class WooCommerce_Germanized {
26
  *
27
  * @var string
28
  */
29
- public $version = '1.4.2';
30
 
31
  /**
32
  * Single instance of WooCommerce Germanized Main Class
@@ -835,7 +835,7 @@ final class WooCommerce_Germanized {
835
  if ( ! is_object( $product ) )
836
  return $price;
837
 
838
- if ( ! $product || ! $product->gzd_product->is_virtual_vat_exception() || ! isset( WC()->cart ) || ! WC()->cart->is_virtual_taxable() )
839
  return $price;
840
 
841
  if ( get_option( 'woocommerce_prices_include_tax' ) === 'yes' )
3
  * Plugin Name: WooCommerce Germanized
4
  * Plugin URI: https://www.vendidero.de/woocommerce-germanized
5
  * Description: Extends WooCommerce to become a legally compliant store for the german market.
6
+ * Version: 1.4.3
7
  * Author: Vendidero
8
  * Author URI: https://vendidero.de
9
  * Requires at least: 3.8
26
  *
27
  * @var string
28
  */
29
+ public $version = '1.4.3';
30
 
31
  /**
32
  * Single instance of WooCommerce Germanized Main Class
835
  if ( ! is_object( $product ) )
836
  return $price;
837
 
838
+ if ( ( ! is_checkout() && ! is_cart() ) || ! $product || ! $product->gzd_product->is_virtual_vat_exception() || ! isset( WC()->cart ) || ! WC()->cart->is_virtual_taxable() )
839
  return $price;
840
 
841
  if ( get_option( 'woocommerce_prices_include_tax' ) === 'yes' )