WC Vendors - Version 1.4.2

Version Description

No Upgrade required at this time.

Download this release

Release Info

Developer digitalchild
Plugin Icon 128x128 WC Vendors
Version 1.4.2
Comparing to
See all releases

Code changes from version 1.4.2
 to 1.4.2

Files changed (96) hide show
  1. .eslintrc.js +17 -0
  2. .stylelintrc +6 -0
  3. WCVendors/assets/css/wcv-frontend.css +0 -544
  4. WCVendors/classes/admin/class-admin-page.php +0 -590
  5. WCVendors/classes/admin/class-admin-reports.php +0 -398
  6. WCVendors/classes/admin/class-admin-users.php +0 -411
  7. WCVendors/classes/admin/class-product-meta.php +0 -264
  8. WCVendors/classes/admin/class-vendor-applicants.php +0 -101
  9. WCVendors/classes/admin/emails/class-emails.php +0 -131
  10. WCVendors/classes/admin/emails/class-wc-notify-shipped.php +0 -198
  11. WCVendors/classes/admin/emails/class-wc-notify-vendor.php +0 -265
  12. WCVendors/classes/admin/settings/README.md +0 -126
  13. WCVendors/classes/admin/settings/assets/css/sf-styles.css +0 -167
  14. WCVendors/classes/admin/settings/assets/img/tip.png +0 -0
  15. WCVendors/classes/admin/settings/assets/js/bootstrap-tooltip.js +0 -126
  16. WCVendors/classes/admin/settings/assets/js/js.iml +0 -10
  17. WCVendors/classes/admin/settings/assets/js/select2/select2.css +0 -564
  18. WCVendors/classes/admin/settings/assets/js/select2/select2.js +0 -2506
  19. WCVendors/classes/admin/settings/assets/js/select2/select2.min.css +0 -440
  20. WCVendors/classes/admin/settings/assets/js/select2/select2.min.js +0 -1564
  21. WCVendors/classes/admin/settings/assets/js/select2/select2.png +0 -0
  22. WCVendors/classes/admin/settings/assets/js/select2/select2x2.png +0 -0
  23. WCVendors/classes/admin/settings/assets/js/select2/spinner.gif +0 -0
  24. WCVendors/classes/admin/settings/assets/js/sf-jquery.js +0 -23
  25. WCVendors/classes/admin/settings/classes/sf-class-format-options.php +0 -347
  26. WCVendors/classes/admin/settings/classes/sf-class-sanitize.php +0 -160
  27. WCVendors/classes/admin/settings/classes/sf-class-settings.php +0 -910
  28. WCVendors/classes/admin/settings/sf-options.php +0 -306
  29. WCVendors/classes/class-commission.php +0 -341
  30. WCVendors/classes/class-cron.php +0 -165
  31. WCVendors/classes/class-install.php +0 -285
  32. WCVendors/classes/class-queries.php +0 -278
  33. WCVendors/classes/class-shipping.php +0 -250
  34. WCVendors/classes/class-vendors.php +0 -413
  35. WCVendors/classes/front/class-vendor-cart.php +0 -63
  36. WCVendors/classes/front/class-vendor-shop.php +0 -266
  37. WCVendors/classes/front/dashboard/class-vendor-dashboard.php +0 -384
  38. WCVendors/classes/front/orders/class-export-csv.php +0 -77
  39. WCVendors/classes/front/orders/class-orders.php +0 -294
  40. WCVendors/classes/front/signup/class-vendor-signup.php +0 -133
  41. WCVendors/classes/gateways/PayPal_AdvPayments/PayPal_AP/classes/index.php +0 -0
  42. WCVendors/classes/includes/class-dependencies.php +0 -78
  43. WCVendors/classes/includes/class-functions.php +0 -48
  44. WCVendors/classes/includes/class-wcv-shortcodes.php +0 -623
  45. WCVendors/languages/default.mo +0 -0
  46. WCVendors/languages/default.pot +0 -1451
  47. WCVendors/languages/wc_vendors-de_DE.mo +0 -0
  48. WCVendors/languages/wc_vendors-de_DE.po +0 -1439
  49. WCVendors/languages/wc_vendors-en_US.mo +0 -0
  50. WCVendors/languages/wc_vendors-en_US.po +0 -1199
  51. WCVendors/languages/wc_vendors-fr_FR.mo +0 -0
  52. WCVendors/languages/wc_vendors-fr_FR.po +0 -1286
  53. WCVendors/languages/wc_vendors-it_IT.mo +0 -0
  54. WCVendors/languages/wc_vendors-it_IT.po +0 -1288
  55. WCVendors/languages/wcvendors-de_AT.mo +0 -0
  56. WCVendors/languages/wcvendors-de_AT.po +0 -1577
  57. WCVendors/languages/wcvendors-de_DE.mo +0 -0
  58. WCVendors/languages/wcvendors-de_DE.po +0 -1577
  59. WCVendors/languages/wcvendors-it_IT.mo +0 -0
  60. WCVendors/languages/wcvendors-it_IT.po +0 -1676
  61. WCVendors/views/dashboard/date-picker.php +0 -14
  62. WCVendors/views/dashboard/denied.php +0 -60
  63. WCVendors/views/dashboard/links.php +0 -18
  64. WCVendors/views/dashboard/orders.php +0 -123
  65. WCVendors/views/dashboard/reports.php +0 -88
  66. WCVendors/views/dashboard/settings/paypal-email-form.php +0 -8
  67. WCVendors/views/dashboard/settings/seller-info.php +0 -21
  68. WCVendors/views/dashboard/settings/settings.php +0 -48
  69. WCVendors/views/dashboard/settings/shop-description.php +0 -22
  70. WCVendors/views/dashboard/settings/shop-name.php +0 -8
  71. WCVendors/views/emails/admin-new-order.php +0 -61
  72. WCVendors/views/emails/application-status.php +0 -12
  73. WCVendors/views/emails/new-product.php +0 -14
  74. WCVendors/views/emails/notify-vendor-shipped.php +0 -61
  75. WCVendors/views/front/vendor-list.php +0 -18
  76. WCVendors/views/front/vendor-main-header.php +0 -23
  77. WCVendors/views/front/vendor-mini-header.php +0 -23
  78. WCVendors/views/orders/comments/existing-comments.php +0 -14
  79. WCVendors/views/orders/csv-export.php +0 -8
  80. WCVendors/views/orders/customer-note/customer-note.php +0 -11
  81. WCVendors/views/orders/orders.php +0 -138
  82. WCVendors/views/orders/shipping/shipping-form.php +0 -115
  83. WCVendors/views/orders/table-body.php +0 -32
  84. assets/css/_variables.scss +23 -0
  85. assets/css/admin-orders.css +7 -0
  86. assets/css/select2.min.css +1 -0
  87. assets/css/wcv-activation.css +21 -0
  88. assets/css/wcv-activation.min.css +1 -0
  89. assets/css/wcv-activation.scss +68 -0
  90. assets/css/wcv-admin.css +244 -0
  91. assets/css/wcv-admin.min.css +1 -0
  92. assets/css/wcv-admin.scss +811 -0
  93. assets/css/wcv-frontend.css +339 -0
  94. assets/css/wcv-frontend.min.css +1 -0
  95. assets/css/wcv-frontend.scss +1165 -0
  96. assets/css/wcv-setup.css +67 -0
.eslintrc.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ module.exports = {
2
+ env: {
3
+ jquery: true,
4
+ es6: true,
5
+ node: true,
6
+ amd: true
7
+ },
8
+ parser: 'babel-eslint',
9
+ parserOptions: {
10
+ sourceType: 'module'
11
+ },
12
+ extends: ['wordpress', 'eslint:recommended', 'plugin:prettier/recommended'],
13
+ plugins: ['babel', 'prettier'],
14
+ rules: {
15
+ 'no-undef': 'off'
16
+ }
17
+ };
.stylelintrc ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ {
2
+ "extends": [
3
+ "@wordpress/stylelint-config",
4
+ "stylelint-config-prettier-scss"
5
+ ]
6
+ }
WCVendors/assets/css/wcv-frontend.css DELETED
@@ -1,544 +0,0 @@
1
- /*!
2
- * Bootstrap v2.1.1
3
- *
4
- * Copyright 2012 Twitter, Inc
5
- * Licensed under the Apache License v2.0
6
- * http://www.apache.org/licenses/LICENSE-2.0
7
- *
8
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
9
- */
10
- clearfix {
11
- *zoom: 1;
12
- }
13
-
14
- .clearfix:before, .clearfix:after {
15
- display: table;
16
- content: "";
17
- line-height: 0;
18
- }
19
-
20
- .clearfix:after {
21
- clear: both;
22
- }
23
-
24
- .hide-text {
25
- font: 0/0 a;
26
- color: transparent;
27
- text-shadow: none;
28
- background-color: transparent;
29
- border: 0;
30
- }
31
-
32
- .input-block-level {
33
- display: block;
34
- width: 100%;
35
- min-height: 30px;
36
- -webkit-box-sizing: border-box;
37
- -moz-box-sizing: border-box;
38
- box-sizing: border-box;
39
- }
40
-
41
- .btn {
42
- display: inline-block;
43
- *display: inline;
44
- *zoom: 1;
45
- padding: 4px 14px;
46
- margin-bottom: 0;
47
- font-size: 14px;
48
- line-height: 20px;
49
- *line-height: 20px;
50
- text-align: center;
51
- vertical-align: middle;
52
- cursor: pointer;
53
- color: #333333;
54
- text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
55
- background-color: #f5f5f5;
56
- background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
57
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
58
- background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
59
- background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
60
- background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
61
- background-repeat: repeat-x;
62
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
63
- border-color: #e6e6e6 #e6e6e6 #bfbfbf;
64
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
65
- *background-color: #e6e6e6;
66
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
67
- border: 1px solid #bbbbbb;
68
- *border: 0;
69
- border-bottom-color: #a2a2a2;
70
- -webkit-border-radius: 4px;
71
- -moz-border-radius: 4px;
72
- border-radius: 4px;
73
- *margin-left: .3em;
74
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
75
- -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
76
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
77
- }
78
-
79
- .btn:hover, .btn:active, .btn.active, .btn.disabled, .btn[disabled] {
80
- color: #333333;
81
- background-color: #e6e6e6;
82
- *background-color: #d9d9d9;
83
- }
84
-
85
- .btn:active, .btn.active {
86
- background-color: #cccccc \9;
87
- }
88
-
89
- .btn:first-child {
90
- *margin-left: 0;
91
- }
92
-
93
- .btn:hover {
94
- color: #333333;
95
- text-decoration: none;
96
- background-color: #e6e6e6;
97
- *background-color: #d9d9d9;
98
- background-position: 0 -15px;
99
- -webkit-transition: background-position 0.1s linear;
100
- -moz-transition: background-position 0.1s linear;
101
- -o-transition: background-position 0.1s linear;
102
- transition: background-position 0.1s linear;
103
- }
104
-
105
- .btn:focus {
106
- outline: thin dotted #333;
107
- outline: 5px auto -webkit-focus-ring-color;
108
- outline-offset: -2px;
109
- }
110
-
111
- .btn.active, .btn:active {
112
- background-color: #e6e6e6;
113
- background-color: #d9d9d9 \9;
114
- background-image: none;
115
- outline: 0;
116
- -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
117
- -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
118
- box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
119
- }
120
-
121
- .btn.disabled, .btn[disabled] {
122
- cursor: default;
123
- background-color: #e6e6e6;
124
- background-image: none;
125
- opacity: 0.65;
126
- filter: alpha(opacity=65);
127
- -webkit-box-shadow: none;
128
- -moz-box-shadow: none;
129
- box-shadow: none;
130
- }
131
-
132
- .btn-large {
133
- padding: 9px 14px;
134
- font-size: 16px;
135
- line-height: normal;
136
- -webkit-border-radius: 5px;
137
- -moz-border-radius: 5px;
138
- border-radius: 5px;
139
- }
140
-
141
- .btn-large [class^="icon-"] {
142
- margin-top: 2px;
143
- }
144
-
145
- .btn-small {
146
- padding: 3px 9px;
147
- font-size: 12px;
148
- line-height: 18px;
149
- }
150
-
151
- .btn-small [class^="icon-"] {
152
- margin-top: 0;
153
- }
154
-
155
- .btn-mini {
156
- padding: 2px 6px;
157
- font-size: 11px;
158
- line-height: 17px;
159
- }
160
-
161
- .btn-block {
162
- display: block;
163
- width: 100%;
164
- padding-left: 0;
165
- padding-right: 0;
166
- -webkit-box-sizing: border-box;
167
- -moz-box-sizing: border-box;
168
- box-sizing: border-box;
169
- }
170
-
171
- .btn-block + .btn-block {
172
- margin-top: 5px;
173
- }
174
-
175
- input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
176
- width: 100%;
177
- }
178
-
179
- .btn-primary.active, .btn-warning.active, .btn-danger.active, .btn-success.active, .btn-info.active, .btn-inverse.active {
180
- color: rgba(255, 255, 255, 0.75);
181
- }
182
-
183
- .btn {
184
- border-color: #c5c5c5;
185
- border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);
186
- }
187
-
188
- .btn-primary {
189
- color: #ffffff;
190
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
191
- background-color: #006dcc;
192
- background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
193
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
194
- background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
195
- background-image: -o-linear-gradient(top, #0088cc, #0044cc);
196
- background-image: linear-gradient(to bottom, #0088cc, #0044cc);
197
- background-repeat: repeat-x;
198
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
199
- border-color: #0044cc #0044cc #002a80;
200
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
201
- *background-color: #0044cc;
202
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
203
- }
204
-
205
- .btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {
206
- color: #ffffff;
207
- background-color: #0044cc;
208
- *background-color: #003bb3;
209
- }
210
-
211
- .btn-primary:active, .btn-primary.active {
212
- background-color: #003399 \9;
213
- }
214
-
215
- .btn-warning {
216
- color: #ffffff;
217
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
218
- background-color: #faa732;
219
- background-image: -moz-linear-gradient(top, #fbb450, #f89406);
220
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
221
- background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
222
- background-image: -o-linear-gradient(top, #fbb450, #f89406);
223
- background-image: linear-gradient(to bottom, #fbb450, #f89406);
224
- background-repeat: repeat-x;
225
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
226
- border-color: #f89406 #f89406 #ad6704;
227
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
228
- *background-color: #f89406;
229
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
230
- }
231
-
232
- .btn-warning:hover, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {
233
- color: #ffffff;
234
- background-color: #f89406;
235
- *background-color: #df8505;
236
- }
237
-
238
- .btn-warning:active, .btn-warning.active {
239
- background-color: #c67605 \9;
240
- }
241
-
242
- .btn-danger {
243
- color: #ffffff;
244
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
245
- background-color: #da4f49;
246
- background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
247
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
248
- background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
249
- background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
250
- background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
251
- background-repeat: repeat-x;
252
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
253
- border-color: #bd362f #bd362f #802420;
254
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
255
- *background-color: #bd362f;
256
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
257
- }
258
-
259
- .btn-danger:hover, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] {
260
- color: #ffffff;
261
- background-color: #bd362f;
262
- *background-color: #a9302a;
263
- }
264
-
265
- .btn-danger:active, .btn-danger.active {
266
- background-color: #942a25 \9;
267
- }
268
-
269
- .btn-success {
270
- color: #ffffff;
271
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
272
- background-color: #5bb75b;
273
- background-image: -moz-linear-gradient(top, #62c462, #51a351);
274
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
275
- background-image: -webkit-linear-gradient(top, #62c462, #51a351);
276
- background-image: -o-linear-gradient(top, #62c462, #51a351);
277
- background-image: linear-gradient(to bottom, #62c462, #51a351);
278
- background-repeat: repeat-x;
279
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
280
- border-color: #51a351 #51a351 #387038;
281
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
282
- *background-color: #51a351;
283
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
284
- }
285
-
286
- .btn-success:hover, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] {
287
- color: #ffffff;
288
- background-color: #51a351;
289
- *background-color: #499249;
290
- }
291
-
292
- .btn-success:active, .btn-success.active {
293
- background-color: #408140 \9;
294
- }
295
-
296
- .btn-info {
297
- color: #ffffff;
298
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
299
- background-color: #49afcd;
300
- background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
301
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
302
- background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
303
- background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
304
- background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
305
- background-repeat: repeat-x;
306
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
307
- border-color: #2f96b4 #2f96b4 #1f6377;
308
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
309
- *background-color: #2f96b4;
310
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
311
- }
312
-
313
- .btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
314
- color: #ffffff;
315
- background-color: #2f96b4;
316
- *background-color: #2a85a0;
317
- }
318
-
319
- .btn-info:active, .btn-info.active {
320
- background-color: #24748c \9;
321
- }
322
-
323
- .btn-inverse {
324
- color: #ffffff;
325
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
326
- background-color: #363636;
327
- background-image: -moz-linear-gradient(top, #444444, #222222);
328
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
329
- background-image: -webkit-linear-gradient(top, #444444, #222222);
330
- background-image: -o-linear-gradient(top, #444444, #222222);
331
- background-image: linear-gradient(to bottom, #444444, #222222);
332
- background-repeat: repeat-x;
333
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
334
- border-color: #222222 #222222 #000000;
335
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
336
- *background-color: #222222;
337
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
338
- }
339
-
340
- .btn-inverse:hover, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] {
341
- color: #ffffff;
342
- background-color: #222222;
343
- *background-color: #151515;
344
- }
345
-
346
- .btn-inverse:active, .btn-inverse.active {
347
- background-color: #080808 \9;
348
- }
349
-
350
- button.btn, input[type="submit"].btn {
351
- *padding-top: 3px;
352
- *padding-bottom: 3px;
353
- }
354
-
355
- button.btn::-moz-focus-inner, input[type="submit"].btn::-moz-focus-inner {
356
- padding: 0;
357
- border: 0;
358
- }
359
-
360
- button.btn.btn-large, input[type="submit"].btn.btn-large {
361
- *padding-top: 7px;
362
- *padding-bottom: 7px;
363
- }
364
-
365
- button.btn.btn-small, input[type="submit"].btn.btn-small {
366
- *padding-top: 3px;
367
- *padding-bottom: 3px;
368
- }
369
-
370
- button.btn.btn-mini, input[type="submit"].btn.btn-mini {
371
- *padding-top: 1px;
372
- *padding-bottom: 1px;
373
- }
374
-
375
- .btn-link, .btn-link:active, .btn-link[disabled] {
376
- background-color: transparent;
377
- background-image: none;
378
- -webkit-box-shadow: none;
379
- -moz-box-shadow: none;
380
- box-shadow: none;
381
- }
382
-
383
- .btn-link {
384
- border-color: transparent;
385
- cursor: pointer;
386
- color: #0088cc;
387
- -webkit-border-radius: 0;
388
- -moz-border-radius: 0;
389
- border-radius: 0;
390
- }
391
-
392
- .btn-link:hover {
393
- color: #005580;
394
- text-decoration: underline;
395
- background-color: transparent;
396
- }
397
-
398
- .btn-link[disabled]:hover {
399
- color: #333333;
400
- text-decoration: none;
401
- }
402
-
403
- table {
404
- max-width: 100%;
405
- background-color: transparent;
406
- border-collapse: collapse;
407
- border-spacing: 0;
408
- }
409
-
410
- .table {
411
- width: 100%;
412
- margin-bottom: 20px;
413
- }
414
-
415
- .table th, .table td {
416
- padding: 8px;
417
- line-height: 20px;
418
- text-align: left;
419
- vertical-align: top;
420
- border-top: 1px solid #dddddd;
421
- }
422
-
423
- .table th {
424
- font-weight: bold;
425
- }
426
-
427
- .table thead th {
428
- vertical-align: bottom;
429
- }
430
-
431
- .table caption + thead tr:first-child th, .table caption + thead tr:first-child td, .table colgroup + thead tr:first-child th, .table colgroup + thead tr:first-child td, .table thead:first-child tr:first-child th, .table thead:first-child tr:first-child td {
432
- border-top: 0;
433
- }
434
-
435
- .table tbody + tbody {
436
- border-top: 2px solid #dddddd;
437
- }
438
-
439
- .table-condensed th, .table-condensed td {
440
- padding: 4px 5px;
441
- }
442
-
443
- .table-bordered {
444
- border: 1px solid #dddddd;
445
- border-collapse: separate;
446
- *border-collapse: collapse;
447
- border-left: 0;
448
- -webkit-border-radius: 4px;
449
- -moz-border-radius: 4px;
450
- border-radius: 4px;
451
- }
452
-
453
- .table-bordered th, .table-bordered td {
454
- border-left: 1px solid #dddddd;
455
- }
456
-
457
- .table-bordered caption + thead tr:first-child th, .table-bordered caption + tbody tr:first-child th, .table-bordered caption + tbody tr:first-child td, .table-bordered colgroup + thead tr:first-child th, .table-bordered colgroup + tbody tr:first-child th, .table-bordered colgroup + tbody tr:first-child td, .table-bordered thead:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child td {
458
- border-top: 0;
459
- }
460
-
461
- .table-bordered thead:first-child tr:first-child th:first-child, .table-bordered tbody:first-child tr:first-child td:first-child {
462
- -webkit-border-top-left-radius: 4px;
463
- border-top-left-radius: 4px;
464
- -moz-border-radius-topleft: 4px;
465
- }
466
-
467
- .table-bordered thead:first-child tr:first-child th:last-child, .table-bordered tbody:first-child tr:first-child td:last-child {
468
- -webkit-border-top-right-radius: 4px;
469
- border-top-right-radius: 4px;
470
- -moz-border-radius-topright: 4px;
471
- }
472
-
473
- .table-bordered thead:last-child tr:last-child th:first-child, .table-bordered tbody:last-child tr:last-child td:first-child, .table-bordered tfoot:last-child tr:last-child td:first-child {
474
- -webkit-border-radius: 0 0 0 4px;
475
- -moz-border-radius: 0 0 0 4px;
476
- border-radius: 0 0 0 4px;
477
- -webkit-border-bottom-left-radius: 4px;
478
- border-bottom-left-radius: 4px;
479
- -moz-border-radius-bottomleft: 4px;
480
- }
481
-
482
- .table-bordered thead:last-child tr:last-child th:last-child, .table-bordered tbody:last-child tr:last-child td:last-child, .table-bordered tfoot:last-child tr:last-child td:last-child {
483
- -webkit-border-bottom-right-radius: 4px;
484
- border-bottom-right-radius: 4px;
485
- -moz-border-radius-bottomright: 4px;
486
- }
487
-
488
- .table-bordered caption + thead tr:first-child th:first-child, .table-bordered caption + tbody tr:first-child td:first-child, .table-bordered colgroup + thead tr:first-child th:first-child, .table-bordered colgroup + tbody tr:first-child td:first-child {
489
- -webkit-border-top-left-radius: 4px;
490
- border-top-left-radius: 4px;
491
- -moz-border-radius-topleft: 4px;
492
- }
493
-
494
- .table-bordered caption + thead tr:first-child th:last-child, .table-bordered caption + tbody tr:first-child td:last-child, .table-bordered colgroup + thead tr:first-child th:last-child, .table-bordered colgroup + tbody tr:first-child td:last-child {
495
- -webkit-border-top-right-radius: 4px;
496
- border-top-right-radius: 4px;
497
- -moz-border-radius-topleft: 4px;
498
- }
499
-
500
- .table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th {
501
- background-color: #f9f9f9;
502
- }
503
-
504
- .table-hover tbody tr:hover td, .table-hover tbody tr:hover th {
505
- background-color: #f5f5f5;
506
- }
507
-
508
- table [class*=span], .row-fluid table [class*=span] {
509
- display: table-cell;
510
- float: none;
511
- margin-left: 0;
512
- }
513
-
514
- .table tbody tr.success td {
515
- background-color: #dff0d8;
516
- }
517
-
518
- .table tbody tr.error td {
519
- background-color: #f2dede;
520
- }
521
-
522
- .table tbody tr.warning td {
523
- background-color: #fcf8e3;
524
- }
525
-
526
- .table tbody tr.info td {
527
- background-color: #d9edf7;
528
- }
529
-
530
- .table-hover tbody tr.success:hover td {
531
- background-color: #d0e9c6;
532
- }
533
-
534
- .table-hover tbody tr.error:hover td {
535
- background-color: #ebcccc;
536
- }
537
-
538
- .table-hover tbody tr.warning:hover td {
539
- background-color: #faf2cc;
540
- }
541
-
542
- .table-hover tbody tr.info:hover td {
543
- background-color: #c4e3f3;
544
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/class-admin-page.php DELETED
@@ -1,590 +0,0 @@
1
- <?php
2
-
3
- class WCV_Admin_Setup
4
- {
5
- /**
6
- * WC > Referrals menu
7
- */
8
-
9
-
10
- public function __construct()
11
- {
12
- add_filter( 'set-screen-option', array( 'WCV_Admin_Setup', 'set_table_option' ), 10, 3 );
13
- add_action( 'admin_menu', array( 'WCV_Admin_Setup', 'menu' ) );
14
-
15
- add_action( 'woocommerce_admin_order_data_after_shipping_address', array( $this, 'add_vendor_details' ), 10, 2 );
16
- add_action( 'woocommerce_admin_order_actions_end', array( $this, 'append_actions' ), 10, 1 );
17
- }
18
-
19
-
20
- public function add_vendor_details( $order )
21
- {
22
- $actions = $this->append_actions( $order, true );
23
-
24
- if (empty( $actions['wc_pv_shipped']['name'] )) {
25
- return;
26
- }
27
-
28
- echo '<h4>' . __('Vendors shipped', 'wcvendors') . '</h4><br/>';
29
- echo $actions['wc_pv_shipped']['name'];
30
- }
31
-
32
- public function append_actions( $order, $order_page = false )
33
- {
34
- global $woocommerce;
35
-
36
- $authors = WCV_Vendors::get_vendors_from_order( $order );
37
- $authors = $authors ? array_keys( $authors ) : array();
38
- if ( empty( $authors ) ) return false;
39
-
40
- $shipped = (array) get_post_meta( $order->id, 'wc_pv_shipped', true );
41
- $string = '</br></br>';
42
-
43
- foreach ($authors as $author ) {
44
- $string .= in_array( $author, $shipped ) ? '&#10004; ' : '&#10005; ';
45
- $string .= WCV_Vendors::get_vendor_shop_name( $author );
46
- $string .= '</br>';
47
- }
48
-
49
- $response = array(
50
- 'url' => '#',
51
- 'name' => __('Vendors Shipped', 'wcvendors') . $string,
52
- 'action' => 'wc_pv_shipped',
53
- 'image_url' => wcv_assets_url . '/images/icons/truck.png',
54
- );
55
-
56
- if ( ! $order_page ) {
57
- printf( '<a class="button tips %s" href="%s" data-tip="%s"><img style="width:16px;height:16px;" src="%s"></a>', $response['action'], $response['url'], $response['name'], $response['image_url'] );
58
- } else {
59
- echo $response['name'];
60
- }
61
-
62
- return $response;
63
- }
64
-
65
-
66
- /**
67
- *
68
- */
69
- public static function menu()
70
- {
71
- $hook = add_submenu_page(
72
- 'woocommerce',
73
- __( 'Commission', 'wcvendors' ), __( 'Commission', 'wcvendors' ),
74
- 'manage_woocommerce',
75
- 'pv_admin_commissions',
76
- array( 'WCV_Admin_Setup', 'commissions_page' )
77
- );
78
-
79
- add_action( "load-$hook", array( 'WCV_Admin_Setup', 'add_options' ) );
80
- }
81
-
82
-
83
- /**
84
- *
85
- *
86
- * @param unknown $status
87
- * @param unknown $option
88
- * @param unknown $value
89
- *
90
- * @return unknown
91
- */
92
- public function set_table_option( $status, $option, $value )
93
- {
94
- if ( $option == 'commission_per_page' ) {
95
- return $value;
96
- }
97
- }
98
-
99
-
100
- /**
101
- *
102
- */
103
- public static function add_options()
104
- {
105
- global $PV_Admin_Page;
106
-
107
- $args = array(
108
- 'label' => 'Rows',
109
- 'default' => 10,
110
- 'option' => 'commission_per_page'
111
- );
112
- add_screen_option( 'per_page', $args );
113
-
114
- $PV_Admin_Page = new WCV_Admin_Page();
115
-
116
- }
117
-
118
-
119
- /**
120
- * HTML setup for the WC > Commission page
121
- */
122
- public static function commissions_page()
123
- {
124
- global $woocommerce, $PV_Admin_Page;
125
-
126
- $PV_Admin_Page->prepare_items();
127
-
128
- ?>
129
-
130
- <div class="wrap">
131
-
132
- <div id="icon-woocommerce" class="icon32 icon32-woocommerce-reports"><br/></div>
133
- <h2><?php _e( 'Commission', 'wcvendors' ); ?></h2>
134
-
135
- <form id="posts-filter" method="POST">
136
-
137
- <input type="hidden" name="page" value="pv_admin_commissions"/>
138
- <?php $PV_Admin_Page->display() ?>
139
-
140
- </form>
141
- <div id="ajax-response"></div>
142
- <br class="clear"/>
143
- </div>
144
- <?php
145
- }
146
-
147
-
148
- }
149
-
150
-
151
- if ( !class_exists( 'WP_List_Table' ) ) require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
152
-
153
- /**
154
- * WC_Simple_Referral_Admin class.
155
- *
156
- * @extends WP_List_Table
157
- */
158
- class WCV_Admin_Page extends WP_List_Table
159
- {
160
-
161
- public $index;
162
-
163
-
164
- /**
165
- * __construct function.
166
- *
167
- * @access public
168
- */
169
- function __construct()
170
- {
171
- global $status, $page;
172
-
173
- $this->index = 0;
174
-
175
- //Set parent defaults
176
- parent::__construct( array(
177
- 'singular' => 'commission',
178
- 'plural' => 'commissions',
179
- 'ajax' => false
180
- ) );
181
- }
182
-
183
-
184
- /**
185
- * column_default function.
186
- *
187
- * @access public
188
- *
189
- * @param unknown $item
190
- * @param mixed $column_name
191
- *
192
- * @return unknown
193
- */
194
- function column_default( $item, $column_name )
195
- {
196
- global $wpdb;
197
-
198
- switch ( $column_name ) {
199
- case 'id' :
200
- return $item->id;
201
- case 'vendor_id' :
202
- $user = get_userdata( $item->vendor_id );
203
-
204
- return '<a href="' . admin_url( 'user-edit.php?user_id=' . $item->vendor_id ) . '">' . WCV_Vendors::get_vendor_shop_name( $item->vendor_id ) . '</a>';
205
- case 'total_due' :
206
- return woocommerce_price( $item->total_due + $item->total_shipping + $item->tax );
207
- case 'product_id' :
208
- $parent = get_post_ancestors( $item->product_id );
209
- $product_id = $parent ? $parent[ 0 ] : $item->product_id;
210
- return '<a href="' . admin_url( 'post.php?post=' . $product_id . '&action=edit' ) . '">' . get_the_title( $item->product_id ) . '</a>';
211
- case 'order_id' :
212
- return '<a href="' . admin_url( 'post.php?post=' . $item->order_id . '&action=edit' ) . '">' . $item->order_id . '</a>';
213
- case 'status' :
214
- return $item->status;
215
- case 'time' :
216
- return date_i18n( get_option( 'date_format' ), strtotime( $item->time ) );
217
- }
218
- }
219
-
220
-
221
- /**
222
- * column_cb function.
223
- *
224
- * @access public
225
- *
226
- * @param mixed $item
227
- *
228
- * @return unknown
229
- */
230
- function column_cb( $item )
231
- {
232
- return sprintf(
233
- '<input type="checkbox" name="%1$s[]" value="%2$s" />',
234
- /*$1%s*/
235
- 'id',
236
- /*$2%s*/
237
- $item->id
238
- );
239
- }
240
-
241
-
242
- /**
243
- * get_columns function.
244
- *
245
- * @access public
246
- * @return unknown
247
- */
248
- function get_columns()
249
- {
250
- $columns = array(
251
- 'cb' => '<input type="checkbox" />',
252
- 'product_id' => __( 'Product', 'wcvendors' ),
253
- 'order_id' => __( 'Order ID', 'wcvendors' ),
254
- 'vendor_id' => __( 'Vendor', 'wcvendors' ),
255
- 'total_due' => __( 'Total', 'wcvendors' ),
256
- 'status' => __( 'Status', 'wcvendors' ),
257
- 'time' => __( 'Date', 'wcvendors' ),
258
- );
259
-
260
- return $columns;
261
- }
262
-
263
-
264
- /**
265
- * get_sortable_columns function.
266
- *
267
- * @access public
268
- * @return unknown
269
- */
270
- function get_sortable_columns()
271
- {
272
- $sortable_columns = array(
273
- 'time' => array( 'time', true ),
274
- 'product_id' => array( 'product_id', false ),
275
- 'order_id' => array( 'order_id', false ),
276
- 'total_due' => array( 'total_due', false ),
277
- 'status' => array( 'status', false ),
278
- 'vendor_id' => array( 'vendor_id', false ),
279
- 'status' => array( 'status', false ),
280
- );
281
-
282
- return $sortable_columns;
283
- }
284
-
285
-
286
- /**
287
- * Get bulk actions
288
- *
289
- * @return unknown
290
- */
291
- function get_bulk_actions()
292
- {
293
- $actions = array(
294
- 'mark_paid' => __( 'Mark paid', 'wcvendors' ),
295
- 'mark_due' => __( 'Mark due', 'wcvendors' ),
296
- 'mark_reversed' => __( 'Mark reversed', 'wcvendors' ),
297
- // 'delete' => __('Delete', 'wcvendors'),
298
- );
299
-
300
- return $actions;
301
- }
302
-
303
-
304
- /**
305
- *
306
- */
307
- function extra_tablenav( $which )
308
- {
309
- if ( $which == 'top' ) {
310
- ?>
311
- <div class="alignleft actions"><?php
312
- $this->months_dropdown( 'commission' );
313
- submit_button( __( 'Filter' ), false, false, false, array( 'id' => "post-query-submit", 'name' => 'do-filter' ) );
314
- ?></div>
315
- <div class="alignleft actions"><?php
316
- $this->status_dropdown( 'commission' );
317
- submit_button( __( 'Filter' ), false, false, false, array( 'id' => "post-query-submit", 'name' => 'do-filter' ) );
318
- ?></div><?php
319
- }
320
- }
321
-
322
-
323
- /**
324
- * Display a monthly dropdown for filtering items
325
- *
326
- * @since 3.1.0
327
- * @access protected
328
- *
329
- * @param unknown $post_type
330
- */
331
- function months_dropdown( $post_type )
332
- {
333
- global $wpdb, $wp_locale;
334
-
335
- $table_name = $wpdb->prefix . "pv_commission";
336
-
337
- $months = $wpdb->get_results( "
338
- SELECT DISTINCT YEAR( time ) AS year, MONTH( time ) AS month
339
- FROM $table_name
340
- ORDER BY time DESC
341
- " );
342
-
343
- $month_count = count( $months );
344
-
345
- if ( !$month_count || ( 1 == $month_count && 0 == $months[ 0 ]->month ) )
346
- return;
347
-
348
- $m = isset( $_POST[ 'm' ] ) ? (int) $_POST[ 'm' ] : 0;
349
- ?>
350
- <select name="m">
351
- <option<?php selected( $m, 0 ); ?> value='0'><?php _e( 'Show all dates' ); ?></option>
352
- <?php
353
- foreach ( $months as $arc_row ) {
354
- if ( 0 == $arc_row->year )
355
- continue;
356
-
357
- $month = zeroise( $arc_row->month, 2 );
358
- $year = $arc_row->year;
359
-
360
- printf( "<option %s value='%s'>%s</option>\n",
361
- selected( $m, $year . $month, false ),
362
- esc_attr( $arc_row->year . $month ),
363
- /* translators: 1: month name, 2: 4-digit year */
364
- sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month ), $year )
365
- );
366
- }
367
- ?>
368
- </select>
369
- <?php
370
- }
371
-
372
- /**
373
- * Display a status dropdown for filtering items
374
- *
375
- * @since 3.1.0
376
- * @access protected
377
- *
378
- * @param unknown $post_type
379
- */
380
- function status_dropdown( $post_type )
381
- {
382
- $com_status = isset( $_POST[ 'com_status' ] ) ? $_POST[ 'com_status' ] : '';
383
- ?>
384
- <select name="com_status">
385
- <option<?php selected( $com_status, '' ); ?> value=''><?php _e( 'Show all Statuses', 'wcvendors' ); ?></option>
386
- <option<?php selected( $com_status, 'due' ); ?> value="due">Due</option>
387
- <option<?php selected( $com_status, 'paid' ); ?> value="paid">Paid</option>
388
- <option<?php selected( $com_status, 'reversed' ); ?> value="reversed">Reversed</option>
389
- </select>
390
- <?php
391
- }
392
-
393
-
394
- /**
395
- * Process bulk actions
396
- *
397
- * @return unknown
398
- */
399
- function process_bulk_action()
400
- {
401
- if ( !isset( $_POST[ 'id' ] ) ) return;
402
-
403
- $items = array_map( 'intval', $_POST[ 'id' ] );
404
- $ids = implode( ',', $items );
405
-
406
- switch ( $this->current_action() ) {
407
- case 'mark_paid':
408
- $result = $this->mark_paid( $ids );
409
-
410
- if ( $result )
411
- echo '<div class="updated"><p>' . __( 'Commission marked paid.', 'wcvendors' ) . '</p></div>';
412
- break;
413
-
414
- case 'mark_due':
415
- $result = $this->mark_due( $ids );
416
-
417
- if ( $result )
418
- echo '<div class="updated"><p>' . __( 'Commission marked due.', 'wcvendors' ) . '</p></div>';
419
- break;
420
-
421
- case 'mark_reversed':
422
- $result = $this->mark_reversed( $ids );
423
-
424
- if ( $result )
425
- echo '<div class="updated"><p>' . __( 'Commission marked reversed.', 'wcvendors' ) . '</p></div>';
426
- break;
427
-
428
- default:
429
- // code...
430
- break;
431
- }
432
-
433
- }
434
-
435
-
436
- /**
437
- *
438
- *
439
- * @param unknown $ids (optional)
440
- *
441
- * @return unknown
442
- */
443
- public function mark_paid( $ids = array() )
444
- {
445
- global $wpdb;
446
-
447
- $table_name = $wpdb->prefix . "pv_commission";
448
-
449
- $query = "UPDATE `{$table_name}` SET `status` = 'paid' WHERE id IN ($ids) AND `status` = 'due'";
450
- $result = $wpdb->query( $query );
451
-
452
- return $result;
453
- }
454
-
455
-
456
- /**
457
- *
458
- *
459
- * @param unknown $ids (optional)
460
- *
461
- * @return unknown
462
- */
463
- public function mark_reversed( $ids = array() )
464
- {
465
- global $wpdb;
466
-
467
- $table_name = $wpdb->prefix . "pv_commission";
468
-
469
- $query = "UPDATE `{$table_name}` SET `status` = 'reversed' WHERE id IN ($ids) AND `status` = 'due'";
470
- $result = $wpdb->query( $query );
471
-
472
- return $result;
473
- }
474
-
475
-
476
- /**
477
- *
478
- *
479
- * @param unknown $ids (optional)
480
- *
481
- * @return unknown
482
- */
483
- public function mark_due( $ids = array() )
484
- {
485
- global $wpdb;
486
-
487
- $table_name = $wpdb->prefix . "pv_commission";
488
-
489
- $query = "UPDATE `{$table_name}` SET `status` = 'due' WHERE id IN ($ids)";
490
- $result = $wpdb->query( $query );
491
-
492
- return $result;
493
- }
494
-
495
-
496
- /**
497
- * prepare_items function.
498
- *
499
- * @access public
500
- */
501
- function prepare_items()
502
- {
503
- global $wpdb;
504
-
505
- $per_page = $this->get_items_per_page( 'commission_per_page', 10 );
506
- $current_page = $this->get_pagenum();
507
-
508
- $orderby = !empty( $_REQUEST[ 'orderby' ] ) ? esc_attr( $_REQUEST[ 'orderby' ] ) : 'time';
509
- $order = ( !empty( $_REQUEST[ 'order' ] ) && $_REQUEST[ 'order' ] == 'asc' ) ? 'ASC' : 'DESC';
510
- $com_status = !empty( $_REQUEST[ 'com_status' ] ) ? esc_attr( $_REQUEST[ 'com_status' ] ) : '';
511
- $status_sql = '';
512
- $time_sql = '';
513
-
514
- /**
515
- * Init column headers
516
- */
517
- $this->_column_headers = $this->get_column_info();
518
-
519
-
520
- /**
521
- * Process bulk actions
522
- */
523
- $this->process_bulk_action();
524
-
525
- /**
526
- * Get items
527
- */
528
- $sql = "SELECT COUNT(id) FROM {$wpdb->prefix}pv_commission";
529
-
530
- if ( !empty( $_POST[ 'm' ] ) ) {
531
- $year = substr( $_POST[ 'm' ], 0, 4 );
532
- $month = substr( $_POST[ 'm' ], 4, 2 );
533
-
534
- $time_sql = "
535
- WHERE MONTH(`time`) = '$month'
536
- AND YEAR(`time`) = '$year'
537
- ";
538
-
539
- $sql .= $time_sql;
540
- }
541
-
542
- if ( !empty( $_POST[ 'com_status' ] ) ) {
543
-
544
- if ( $time_sql == '' ) {
545
- $status_sql = "
546
- WHERE status = '$com_status'
547
- ";
548
- } else {
549
- $status_sql = "
550
- AND status = '$com_status'
551
- ";
552
- }
553
-
554
-
555
- $sql .= $status_sql;
556
- }
557
-
558
- $max = $wpdb->get_var( $sql );
559
-
560
- $sql = "
561
- SELECT * FROM {$wpdb->prefix}pv_commission
562
- ";
563
-
564
- if ( !empty( $_POST[ 'm' ] ) ) {
565
- $sql .= $time_sql;
566
- }
567
-
568
- if ( !empty( $_POST['com_status'] ) ) {
569
- $sql .= $status_sql;
570
- }
571
-
572
- $sql .= "
573
- ORDER BY `{$orderby}` {$order}
574
- LIMIT %d, %d
575
- ";
576
-
577
- $this->items = $wpdb->get_results( $wpdb->prepare( $sql, ( $current_page - 1 ) * $per_page, $per_page ) );
578
-
579
- /**
580
- * Pagination
581
- */
582
- $this->set_pagination_args( array(
583
- 'total_items' => $max,
584
- 'per_page' => $per_page,
585
- 'total_pages' => ceil( $max / $per_page )
586
- ) );
587
- }
588
-
589
-
590
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/class-admin-reports.php DELETED
@@ -1,398 +0,0 @@
1
- <?php
2
- /**
3
- * WCV_Admin_Reports class.
4
- *
5
- * Shows reports related to software in the woocommerce backend
6
- *
7
- * @author Matt Gates <http://mgates.me>
8
- * @package
9
- */
10
-
11
-
12
- class WCV_Admin_Reports
13
- {
14
-
15
-
16
- /**
17
- * __construct function.
18
- *
19
- * @access public
20
- * @return void
21
- *
22
- * @param bool $debug (optional) (default: false)
23
- */
24
- function __construct( $debug = false )
25
- {
26
- add_filter( 'woocommerce_reports_charts', array( $this, 'reports_tab' ) );
27
- }
28
-
29
- /**
30
- * reports_tab function.
31
- *
32
- * @access public
33
- *
34
- * @param unknown $reports
35
- *
36
- * @return void
37
- */
38
- function reports_tab( $reports )
39
- {
40
- $reports[ 'vendors' ] = array(
41
- 'title' => __( 'WC Vendors', 'wcvendors' ),
42
- 'charts' => array(
43
- array(
44
- 'title' => __( 'Overview', 'wcvendors' ),
45
- 'description' => '',
46
- 'hide_title' => true,
47
- 'function' => array( $this, 'sales' ),
48
- ),
49
- array(
50
- 'title' => __( 'Commission by vendor', 'wcvendors' ),
51
- 'description' => '',
52
- 'hide_title' => true,
53
- 'function' => array( $this, 'commission' ),
54
- ),
55
- array(
56
- 'title' => __( 'Commission by product', 'wcvendors' ),
57
- 'description' => '',
58
- 'hide_title' => true,
59
- 'function' => array( $this, 'commission' ),
60
- ),
61
- ),
62
- );
63
-
64
- return $reports;
65
- }
66
-
67
- public function products()
68
- {
69
- # code...
70
- }
71
-
72
-
73
- /**
74
- *
75
- */
76
- function sales()
77
- {
78
- global $start_date, $end_date, $woocommerce, $wpdb;
79
-
80
- $start_date = !empty( $_POST[ 'start_date' ] ) ? $_POST[ 'start_date' ] : strtotime( date( 'Ymd', strtotime( date( 'Ym', current_time( 'timestamp' ) ) . '01' ) ) );
81
- $end_date = !empty( $_POST[ 'end_date' ] ) ? $_POST[ 'end_date' ] : strtotime( date( 'Ymd', current_time( 'timestamp' ) ) );
82
-
83
- if ( !empty( $_POST[ 'start_date' ] ) ) {
84
- $start_date = strtotime( $_POST[ 'start_date' ] );
85
- }
86
-
87
- if ( !empty( $_POST[ 'end_date' ] ) ) {
88
- $end_date = strtotime( $_POST[ 'end_date' ] );
89
- }
90
-
91
- $after = date( 'Y-m-d', $start_date );
92
- $before = date( 'Y-m-d', strtotime( '+1 day', $end_date ) );
93
-
94
- $commission_due = $wpdb->get_var( "
95
- SELECT SUM(total_due + total_shipping + tax) FROM {$wpdb->prefix}pv_commission WHERE status = 'due'
96
- AND time >= '" . $after . "'
97
- AND time <= '" . $before . "'
98
- " );
99
-
100
- $reversed = $wpdb->get_var( "
101
- SELECT SUM(total_due + total_shipping + tax) FROM {$wpdb->prefix}pv_commission WHERE status = 'reversed'
102
- AND time >= '" . $after . "'
103
- AND time <= '" . $before . "'
104
- " );
105
-
106
- $paid = $wpdb->get_var( "
107
- SELECT SUM(total_due + total_shipping + tax) FROM {$wpdb->prefix}pv_commission WHERE status = 'paid'
108
- AND time >= '" . $after . "'
109
- AND time <= '" . $before . "'
110
- " );
111
-
112
- ?>
113
-
114
- <form method="post" action="">
115
- <p><label for="from"><?php _e( 'From:', 'wcvendors' ); ?></label>
116
- <input type="text" size="9" placeholder="yyyy-mm-dd" value="<?php echo esc_attr( date( 'Y-m-d', $start_date ) ); ?>" name="start_date" class="range_datepicker from" id="from" />
117
- <label for="to"><?php _e( 'To:', 'wcvendors' ); ?></label>
118
- <input type="text" size="9" placeholder="yyyy-mm-dd" value="<?php echo esc_attr( date( 'Y-m-d', $end_date ) ); ?>" name="end_date" class="range_datepicker to" id="to" />
119
- <input type="submit" class="button" value="<?php _e( 'Show', 'wcvendors' ); ?>"/></p>
120
- </form>
121
-
122
- <div id="poststuff" class="woocommerce-reports-wrap">
123
- <div class="woocommerce-reports-sidebar">
124
- <div class="postbox">
125
- <h3><span><?php _e( 'Total paid in range', 'wcvendors' ); ?></span></h3>
126
-
127
- <div class="inside">
128
- <p class="stat"><?php if ( $paid > 0 ) echo woocommerce_price( $paid ); else _e( 'n/a', 'wcvendors' ); ?></p>
129
- </div>
130
- </div>
131
- <div class="postbox">
132
- <h3><span><?php _e( 'Total due in range', 'wcvendors' ); ?></span></h3>
133
-
134
- <div class="inside">
135
- <p class="stat"><?php if ( $commission_due > 0 ) echo woocommerce_price( $commission_due ); else _e( 'n/a', 'wcvendors' ); ?></p>
136
- </div>
137
- </div>
138
- <div class="postbox">
139
- <h3><span><?php _e( 'Total reversed in range', 'wcvendors' ); ?></span></h3>
140
-
141
- <div class="inside">
142
- <p class="stat"><?php if ( $reversed > 0 ) echo woocommerce_price( $reversed ); else _e( 'n/a', 'wcvendors' ); ?></p>
143
- </div>
144
- </div>
145
- </div>
146
-
147
- <div class="woocommerce-reports-main">
148
- <div class="postbox">
149
- <h3><span><?php _e( 'Recent Commission', 'wcvendors' ); ?></span></h3>
150
-
151
- <div>
152
- <?php
153
- $commission = $wpdb->get_results( "
154
- SELECT * FROM {$wpdb->prefix}pv_commission
155
- WHERE time >= '" . $after . "'
156
- AND time <= '" . $before . "'
157
- ORDER BY time DESC
158
- " );
159
-
160
- if ( sizeof( $commission ) > 0 ) {
161
-
162
- ?>
163
- <div class="woocommerce_order_items_wrapper">
164
- <table id="commission-table" class="woocommerce_order_items" cellspacing="0">
165
- <thead>
166
- <tr>
167
- <th><?php _e( 'Order', 'wcvendors' ) ?></th>
168
- <th><?php _e( 'Product', 'wcvendors' ) ?></th>
169
- <th><?php _e( 'Vendor', 'wcvendors' ) ?></th>
170
- <th><?php _e( 'Total', 'wcvendors' ) ?></th>
171
- <th><?php _e( 'Date &amp; Time', 'wcvendors' ) ?></th>
172
- <th><?php _e( 'Status', 'wcvendors' ) ?></th>
173
- </tr>
174
- </thead>
175
- <tbody>
176
- <?php $i = 1;
177
- foreach ( $commission as $row ) : $i++ ?>
178
- <tr<?php if ( $i % 2 == 1 ) echo ' class="alternate"' ?>>
179
- <td><?php if ( $row->order_id ) : ?><a
180
- href="<?php echo admin_url( 'post.php?post=' . $row->order_id . '&action=edit' ); ?>"><?php echo $row->order_id; ?></a><?php else : _e( 'N/A', 'wcvendors' ); endif; ?>
181
- </td>
182
- <td><?php echo get_the_title( $row->product_id ); ?></td>
183
- <td><?php echo WCV_Vendors::get_vendor_shop_name( $row->vendor_id ); ?></td>
184
- <td><?php echo woocommerce_price( $row->total_due + $row->total_shipping + $row->tax ) ?></td>
185
- <td><?php echo date( __( 'D j M Y \a\t h:ia', 'wcvendors' ), strtotime( $row->time ) ) ?></td>
186
- <td><?php echo $row->status ?></td>
187
- </tr>
188
- <?php endforeach; ?>
189
- </tbody>
190
- </table>
191
- </div>
192
- <?php
193
- } else {
194
- ?><p><?php _e( 'No commission yet', 'wcvendors' ) ?></p><?php
195
- }
196
- ?>
197
- </div>
198
- </div>
199
- </div>
200
- </div>
201
- <?php
202
-
203
- }
204
-
205
-
206
- /**
207
- *
208
- */
209
- function commission()
210
- {
211
- global $start_date, $end_date, $woocommerce, $wpdb;
212
-
213
- $latest_woo = version_compare( $woocommerce->version, '2.3', '>' );
214
-
215
- $first_year = $wpdb->get_var( "SELECT time FROM {$wpdb->prefix}pv_commission ORDER BY time ASC LIMIT 1;" );
216
- $first_year = $first_year ? date( 'Y', strtotime( $first_year ) ) : date( 'Y' );
217
- $current_year = isset( $_POST[ 'show_year' ] ) ? $_POST[ 'show_year' ] : date( 'Y', current_time( 'timestamp' ) );
218
- $start_date = strtotime( $current_year . '0101' );
219
-
220
- $vendors = get_users( array( 'role' => 'vendor' ) );
221
- $vendors = apply_filters( 'pv_commission_vendors_list', $vendors );
222
- $selected_vendor = !empty( $_POST[ 'show_vendor' ] ) ? (int) $_POST[ 'show_vendor' ] : false;
223
- $products = !empty( $_POST[ 'product_ids' ] ) ? (array) $_POST[ 'product_ids' ] : array();
224
-
225
- ?>
226
-
227
- <form method="post" action="" class="report_filters">
228
- <label for="show_year"><?php _e( 'Show:', 'wcvendors' ); ?></label>
229
- <select name="show_year" id="show_year">
230
- <?php
231
- for ( $i = $first_year; $i <= date( 'Y' ); $i++ )
232
- printf( '<option value="%s" %s>%s</option>', $i, selected( $current_year, $i, false ), $i );
233
- ?>
234
- </select>
235
- <?php if ( $_GET[ 'report' ] == 2 ) {
236
- if ($latest_woo) { ?>
237
- <input type="hidden" class="wc-product-search" style="width:203px;" name="product_ids[]" data-placeholder="<?php _e( 'Search for a product&hellip;', 'woocommerce' ); ?>" data-action="woocommerce_json_search_products_and_variations" />
238
- <?php } else { ?>
239
- <select id="product_ids" name="product_ids[]" class="ajax_chosen_select_products" multiple="multiple"
240
- data-placeholder="<?php _e( 'Type in a product name to start searching...', 'wcvendors' ); ?>"
241
- style="width: 400px;"></select>
242
- <script type="text/javascript">
243
- jQuery(function () {
244
-
245
- // Ajax Chosen Product Selectors
246
- jQuery("select.ajax_chosen_select_products").ajaxChosen({
247
- method: 'GET',
248
- url: '<?php echo admin_url('admin-ajax.php'); ?>',
249
- dataType: 'json',
250
- afterTypeDelay: 100,
251
- data: {
252
- action: 'woocommerce_json_search_products',
253
- security: '<?php echo wp_create_nonce("search-products"); ?>'
254
- }
255
- }, function (data) {
256
-
257
- var terms = {};
258
-
259
- jQuery.each(data, function (i, val) {
260
- terms[i] = val;
261
- });
262
-
263
- return terms;
264
- });
265
-
266
- });
267
- </script>
268
-
269
- <?php }
270
- } else { ?>
271
- <select class="chosen_select" id="show_vendor" name="show_vendor" style="width: 300px;"
272
- data-placeholder="<?php _e( 'Select a vendor&hellip;', 'wcvendors' ); ?>">
273
- <option></option>
274
- <?php foreach ( $vendors as $key => $vendor ) printf( '<option value="%s" %s>%s</option>', $vendor->ID, selected( $selected_vendor, $vendor->ID, false ), $vendor->display_name ); ?>
275
- </select>
276
- <?php } ?>
277
- <input type="submit" class="button" value="<?php _e( 'Show', 'wcvendors' ); ?>"/>
278
- </form>
279
-
280
- <?php
281
-
282
- if ( !empty( $selected_vendor ) || !empty( $products ) ) {
283
-
284
- foreach ($products as $key => $product_id) {
285
- $_product = get_product($product_id);
286
- $childs = $_product->get_children();
287
- $products = array_merge($childs, $products);
288
- }
289
-
290
- $commissions = array();
291
- $filter = !empty( $selected_vendor ) ? (" WHERE vendor_id = " . $selected_vendor) : (" WHERE product_id IN ( " . implode( ', ', $products ) ." )");
292
-
293
- $sql = "SELECT
294
- SUM(total_due + total_shipping + tax) as total,
295
- SUM(total_due) as commission,
296
- SUM(total_shipping) as shipping,
297
- SUM(tax) as tax
298
- FROM {$wpdb->prefix}pv_commission
299
- ";
300
-
301
- $paid_sql = "SELECT SUM(total_due + total_shipping + tax) FROM {$wpdb->prefix}pv_commission " . $filter . " AND status = 'paid'";
302
- $reversed_sql = "SELECT SUM(total_due + total_shipping + tax) FROM {$wpdb->prefix}pv_commission" . $filter . " AND status = 'reversed'";
303
- $date_sql = " AND date_format(`time`,'%%Y%%m') = %d";
304
-
305
- for ( $count = 0; $count < 12; $count++ ) {
306
- $time = strtotime( date( 'Ym', strtotime( '+ ' . $count . ' MONTH', $start_date ) ) . '01' );
307
- if ( $time > current_time( 'timestamp' ) ) continue;
308
-
309
- $month = date( 'Ym', strtotime( date( 'Ym', strtotime( '+ ' . $count . ' MONTH', $start_date ) ) . '01' ) );
310
-
311
- $fetch_results = $wpdb->prepare( $sql . $filter . $date_sql, $month );
312
-
313
- $results = $wpdb->get_results( $fetch_results );
314
- if ( !empty( $results[ 0 ] ) ) {
315
- extract( get_object_vars( $results[ 0 ] ) );
316
- }
317
-
318
- $paid = $wpdb->get_var( $wpdb->prepare( $paid_sql . $date_sql, $month ) );
319
- $reversed = $wpdb->get_var( $wpdb->prepare( $reversed_sql . $date_sql, $month ) );
320
-
321
- $commissions[ date( 'M', strtotime( $month . '01' ) ) ] = array(
322
- 'commission' => $commission,
323
- 'tax' => $tax,
324
- 'shipping' => $shipping,
325
- 'reversed' => $reversed,
326
- 'paid' => $paid,
327
- 'total' => $total - $reversed - $paid,
328
- );
329
-
330
- }
331
-
332
- ?>
333
-
334
- <div class="woocommerce-reports-main">
335
- <table class="widefat">
336
- <thead>
337
- <tr>
338
- <th><?php _e( 'Month', 'wcvendors' ); ?></th>
339
- <th class="total_row"><?php _e( 'Commission', 'wcvendors' ); ?></th>
340
- <th class="total_row"><?php _e( 'Tax', 'wcvendors' ); ?></th>
341
- <th class="total_row"><?php _e( 'Shipping', 'wcvendors' ); ?></th>
342
- <th class="total_row"><?php _e( 'Reversed', 'wcvendors' ); ?></th>
343
- <th class="total_row"><?php _e( 'Paid', 'wcvendors' ); ?></th>
344
- <th class="total_row"><b><?php _e( 'Total', 'wcvendors' ); ?></th>
345
- </tr>
346
- </thead>
347
- <tfoot>
348
- <tr>
349
- <?php
350
- $total = array(
351
- 'commission' => 0,
352
- 'tax' => 0,
353
- 'shipping' => 0,
354
- 'reversed' => 0,
355
- 'paid' => 0,
356
- 'total' => 0,
357
- );
358
-
359
- foreach ( $commissions as $month => $commission ) {
360
- $total[ 'commission' ] += $commission[ 'commission' ];
361
- $total[ 'tax' ] += $commission[ 'tax' ];
362
- $total[ 'shipping' ] += $commission[ 'shipping' ];
363
- $total[ 'reversed' ] += $commission[ 'reversed' ];
364
- $total[ 'paid' ] += $commission[ 'paid' ];
365
- $total[ 'total' ] += $commission[ 'total' ];
366
- }
367
-
368
- echo '<td>' . __( 'Total', 'wcvendors' ) . '</td>';
369
-
370
- foreach ( $total as $value ) {
371
- echo '<td class="total_row">' . woocommerce_price( $value ) . '</td>';
372
- }
373
- ?>
374
- </tr>
375
- </tfoot>
376
- <tbody>
377
- <?php
378
- foreach ( $commissions as $month => $commission ) {
379
- $alt = ( isset( $alt ) && $alt == 'alt' ) ? '' : 'alt';
380
-
381
- echo '<tr class="' . $alt . '"><td>' . $month . '</td>';
382
-
383
- foreach ( $commission as $value ) {
384
- echo '<td class="total_row">' . woocommerce_price( $value ) . '</td>';
385
- }
386
-
387
- echo '</tr>';
388
- }
389
- ?>
390
- </tbody>
391
- </table>
392
- </div>
393
-
394
- <?php } ?>
395
- <?php
396
-
397
- }
398
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/class-admin-users.php DELETED
@@ -1,411 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * WP-Admin users page
5
- *
6
- * @author Matt Gates <http://mgates.me>
7
- * @package ProductVendor
8
- */
9
-
10
-
11
- class WCV_Admin_Users
12
- {
13
-
14
-
15
- /**
16
- * Constructor
17
- */
18
- function __construct()
19
- {
20
- if ( !is_admin() ) return;
21
-
22
- add_action( 'edit_user_profile', array( $this, 'show_extra_profile_fields' ) );
23
- add_action( 'edit_user_profile_update', array( $this, 'save_extra_profile_fields' ) );
24
-
25
- add_filter( 'add_menu_classes', array( $this, 'show_pending_number' ) );
26
-
27
- // Disabling non-vendor related items on the admin screens
28
- if ( WCV_Vendors::is_vendor( get_current_user_id() ) ) {
29
- add_filter( 'woocommerce_csv_product_role', array( $this, 'csv_import_suite_compatibility' ) );
30
- add_filter( 'woocommerce_csv_product_export_args', array( $this, 'csv_import_suite_compatibility_export' ) );
31
-
32
- // Admin page lockdown
33
- remove_action( 'admin_init', 'woocommerce_prevent_admin_access' );
34
- add_action( 'admin_init', array( $this, 'prevent_admin_access' ) );
35
-
36
- add_filter( 'woocommerce_prevent_admin_access', array( $this, 'deny_admin_access' ) );
37
-
38
-
39
- // WC > Product page fixes
40
- add_action( 'load-post-new.php', array( $this, 'confirm_access_to_add' ) );
41
- add_action( 'load-edit.php', array( $this, 'edit_nonvendors' ) );
42
- add_filter( 'views_edit-product', array( $this, 'hide_nonvendor_links' ) );
43
-
44
- add_action( 'pre_get_posts', array( $this, 'users_own_attachments' ) );
45
- add_action( 'admin_menu', array( $this, 'remove_menu_page' ), 99 );
46
- add_action( 'add_meta_boxes', array( $this, 'remove_meta_boxes' ), 99 );
47
- add_filter( 'product_type_selector', array( $this, 'filter_product_types' ), 99, 2 );
48
- add_filter( 'product_type_options', array( $this, 'filter_product_type_options' ), 99 );
49
-
50
- add_filter( 'woocommerce_duplicate_product_capability', array( $this, 'add_duplicate_capability' ) );
51
-
52
- // WC > Product featured
53
- $product_misc = (array) WC_Vendors::$pv_options->get_option( 'hide_product_misc' );
54
- if ($product_misc['featured']) {
55
-
56
- add_filter( 'manage_edit-product_columns', array($this, 'manage_product_columns'), 99);
57
- }
58
-
59
- }
60
-
61
- }
62
-
63
- public function confirm_access_to_add()
64
- {
65
- if ( empty( $_GET['post_type'] ) || $_GET['post_type'] != 'product' ) {
66
- return;
67
- }
68
-
69
- $can_submit = WC_Vendors::$pv_options->get_option( 'can_submit_products' );
70
- if ( !$can_submit ) {
71
- wp_die( 'You are not allowed to submit products.' );
72
- }
73
- }
74
-
75
- // public function get_terms_filter( $terms, $tax, $args )
76
- // {
77
- // if ( $tax[0] != 'product_type' || ( $tax[0] == 'product_type' && ! empty( $args['include'] ) ) ) {
78
- // return $terms;
79
- // }
80
-
81
- // $products = WCV_Vendors::get_vendor_products( get_current_user_id() );
82
- // $ids = array();
83
- // foreach ( $products as $product ) {
84
- // $ids[ ] = ( $product->ID );
85
- // $product = get_product( $product )->product_type;
86
- // var_dump($product);exit;
87
- // }
88
-
89
- // $args['include'] = $ids;
90
-
91
- // var_dump($terms);exit;
92
-
93
- // $terms = get_terms( $tax[0], $args);
94
-
95
-
96
- // return $terms;
97
- // }
98
-
99
- public function csv_import_suite_compatibility( $capability )
100
- {
101
- return 'manage_product';
102
- }
103
-
104
- public function csv_import_suite_compatibility_export( $args )
105
- {
106
- $args[ 'author' ] = get_current_user_id();
107
-
108
- return $args;
109
- }
110
-
111
- public function add_duplicate_capability( $capability )
112
- {
113
- return 'manage_product';
114
- }
115
-
116
-
117
- /**
118
- *
119
- *
120
- * @param unknown $menu
121
- *
122
- * @return unknown
123
- */
124
- public function show_pending_number( $menu )
125
- {
126
- $num_posts = wp_count_posts( 'product', 'readable' );
127
-
128
- $pending_count = !empty( $num_posts->pending ) ? $num_posts->pending : 0;
129
- $menu_str = 'edit.php?post_type=product';
130
-
131
- foreach ( $menu as $menu_key => $menu_data ) {
132
- if ( $menu_str != $menu_data[ 2 ] ) continue;
133
- $menu[ $menu_key ][ 0 ] .= " <span class='update-plugins count-$pending_count'><span class='plugin-count'>" . number_format_i18n( $pending_count ) . '</span></span>';
134
- }
135
-
136
- return $menu;
137
- }
138
-
139
-
140
- /**
141
- *
142
- *
143
- * @param unknown $types
144
- * @param unknown $product_type
145
- *
146
- * @return unknown
147
- */
148
- function filter_product_types( $types, $product_type )
149
- {
150
- $product_panel = (array) WC_Vendors::$pv_options->get_option( 'hide_product_panel' );
151
- $product_misc = (array) WC_Vendors::$pv_options->get_option( 'hide_product_misc' );
152
- $product_types = (array) WC_Vendors::$pv_options->get_option( 'hide_product_types' );
153
- $css = WC_Vendors::$pv_options->get_option( 'product_page_css' );
154
- $count = 0;
155
-
156
- foreach ( $product_panel as $key => $value ) {
157
- if ( $value ) $css .= sprintf( '.%s_tab{display:none !important;}', $key );
158
- }
159
-
160
- if ( !empty( $product_misc[ 'taxes' ] ) ) {
161
- $css .= '.form-field._tax_status_field, .form-field._tax_class_field{display:none !important;}';
162
- }
163
-
164
- unset( $product_misc[ 'taxes' ] );
165
-
166
- foreach ( $product_misc as $key => $value ) {
167
- if ( $value ) $css .= sprintf( '._%s_field{display:none !important;}', $key );
168
- }
169
-
170
- foreach ( $product_types as $value ) {
171
- if ( !$value ) $count++;
172
- }
173
-
174
- if ( $count === 1 ) {
175
- $css .= '#product-type{display:none !important;}';
176
- }
177
-
178
- echo '<style>';
179
- echo $css;
180
- echo '</style>';
181
-
182
- foreach ( $types as $key => $value ) {
183
- if ( !empty( $product_types[ $key ] ) ) {
184
- unset( $types[ $key ] );
185
- }
186
- }
187
-
188
- return $types;
189
- }
190
-
191
-
192
- /**
193
- *
194
- *
195
- * @param unknown $types
196
- *
197
- * @return unknown
198
- */
199
- function filter_product_type_options( $types )
200
- {
201
- $product_options = WC_Vendors::$pv_options->get_option( 'hide_product_type_options' );
202
-
203
- if ( !$product_options ) return $types;
204
-
205
- foreach ( $types as $key => $value ) {
206
- if ( !empty( $product_options[ $key ] ) ) {
207
- unset( $types[ $key ] );
208
- }
209
- }
210
-
211
- return $types;
212
- }
213
-
214
-
215
- /**
216
- * Show attachments only belonging to vendor
217
- *
218
- * @param object $wp_query_obj
219
- */
220
- function users_own_attachments( $wp_query_obj )
221
- {
222
- global $current_user, $pagenow;
223
-
224
- if ( $pagenow == 'upload.php' || ( $pagenow == 'admin-ajax.php' && !empty( $_POST[ 'action' ] ) && $_POST[ 'action' ] == 'query-attachments' ) ) {
225
- $wp_query_obj->set( 'author', $current_user->ID );
226
- }
227
- }
228
-
229
-
230
- /**
231
- * Allow vendors to access admin when disabled
232
- */
233
- public function prevent_admin_access()
234
- {
235
- $permitted_user = ( current_user_can( 'edit_posts' ) || current_user_can( 'manage_woocommerce' ) || current_user_can( 'vendor' ) );
236
-
237
- if ( get_option( 'woocommerce_lock_down_admin' ) == 'yes' && !is_ajax() && !$permitted_user ) {
238
- wp_safe_redirect( get_permalink( woocommerce_get_page_id( 'myaccount' ) ) );
239
- exit;
240
- }
241
- }
242
-
243
- public function deny_admin_access()
244
- {
245
- return false;
246
- }
247
-
248
-
249
- /**
250
- * Request when load-edit.php
251
- */
252
- public function edit_nonvendors()
253
- {
254
- add_action( 'request', array( $this, 'hide_nonvendor_products' ) );
255
- }
256
-
257
-
258
- /**
259
- * Hide links that don't matter anymore from vendors
260
- *
261
- * @param array $views
262
- *
263
- * @return array
264
- */
265
- public function hide_nonvendor_links( $views )
266
- {
267
- return array();
268
- }
269
-
270
-
271
- /**
272
- * Hide products that don't belong to the vendor
273
- *
274
- * @param array $query_vars
275
- *
276
- * @return array
277
- */
278
- public function hide_nonvendor_products( $query_vars )
279
- {
280
- $query_vars[ 'author' ] = get_current_user_id();
281
-
282
- return $query_vars;
283
- }
284
-
285
-
286
- /**
287
- * Remove the media library menu
288
- */
289
- public function remove_menu_page()
290
- {
291
- global $pagenow, $woocommerce;
292
-
293
- remove_menu_page( 'index.php' ); /* Hides Dashboard menu */
294
- remove_menu_page( 'separator1' ); /* Hides separator under Dashboard menu*/
295
- remove_all_actions( 'admin_notices' );
296
-
297
- if ( $pagenow == 'index.php' ) {
298
- wp_redirect( admin_url( 'profile.php' ) );
299
- }
300
- }
301
-
302
-
303
- /**
304
- *
305
- */
306
- public function remove_meta_boxes()
307
- {
308
- remove_meta_box( 'postcustom', 'product', 'normal' );
309
- remove_meta_box( 'wpseo_meta', 'product', 'normal' );
310
- remove_meta_box( 'expirationdatediv', 'product', 'side' );
311
- }
312
-
313
-
314
- /**
315
- * Update the vendor PayPal email
316
- *
317
- * @param int $vendor_id
318
- *
319
- * @return bool
320
- */
321
- public function save_extra_profile_fields( $vendor_id )
322
- {
323
- if ( !current_user_can( 'edit_user', $vendor_id ) ) return false;
324
-
325
- $users = get_users( array( 'meta_key' => 'pv_shop_slug', 'meta_value' => sanitize_title( $_POST[ 'pv_shop_name' ] ) ) );
326
- if ( empty( $users ) || $users[ 0 ]->ID == $vendor_id ) {
327
- update_user_meta( $vendor_id, 'pv_shop_name', $_POST[ 'pv_shop_name' ] );
328
- update_user_meta( $vendor_id, 'pv_shop_slug', sanitize_title( $_POST[ 'pv_shop_name' ] ) );
329
- }
330
-
331
- update_user_meta( $vendor_id, 'pv_paypal', $_POST[ 'pv_paypal' ] );
332
- update_user_meta( $vendor_id, 'pv_shop_html_enabled', isset( $_POST[ 'pv_shop_html_enabled' ] ) );
333
- update_user_meta( $vendor_id, 'pv_custom_commission_rate', $_POST[ 'pv_custom_commission_rate' ] );
334
- update_user_meta( $vendor_id, 'pv_shop_description', $_POST[ 'pv_shop_description' ] );
335
- update_user_meta( $vendor_id, 'pv_seller_info', $_POST[ 'pv_seller_info' ] );
336
-
337
- do_action( 'wcvendors_update_admin_user', $vendor_id );
338
- }
339
-
340
-
341
- /**
342
- * Show the PayPal field and commision due table
343
- *
344
- * @param unknown $user
345
- */
346
- public function show_extra_profile_fields( $user )
347
- {
348
- ?>
349
- <h3><?php _e( 'WC Vendors', 'wcvendors' ); ?></h3>
350
- <table class="form-table">
351
- <tbody>
352
- <?php do_action( 'wcvendors_admin_before_shop_html', $user ); ?>
353
- <tr>
354
- <th scope="row">Shop HTML</th>
355
- <td>
356
- <label for="pv_shop_html_enabled">
357
- <input name="pv_shop_html_enabled" type="checkbox"
358
- id="pv_shop_html_enabled" <?php checked( true, get_user_meta( $user->ID, 'pv_shop_html_enabled', true ), $echo = true ) ?>/>
359
- <?php _e( 'Enable HTML for the shop description', 'wcvendors' ); ?>
360
- </label>
361
- </td>
362
- </tr>
363
- <?php do_action( 'wcvendors_admin_after_shop_html', $user ); ?>
364
- <tr>
365
- <th><label for="pv_shop_name"><?php _e( 'Shop name', 'wcvendors' ); ?></label></th>
366
- <td><input type="text" name="pv_shop_name" id="pv_shop_name"
367
- value="<?php echo get_user_meta( $user->ID, 'pv_shop_name', true ); ?>" class="regular-text">
368
- </td>
369
- </tr>
370
- <?php do_action( 'wcvendors_admin_after_shop_name', $user ); ?>
371
- <tr>
372
- <th><label for="pv_paypal"><?php _e( 'PayPal E-mail', 'wcvendors' ); ?> <span
373
- class="description">(<?php _e( 'required', 'wcvendors' ); ?>)</span></label></th>
374
- <td><input type="email" name="pv_paypal" id="pv_paypal"
375
- value="<?php echo get_user_meta( $user->ID, 'pv_paypal', true ); ?>" class="regular-text">
376
- </td>
377
- </tr>
378
- <?php do_action( 'wcvendors_admin_after_paypal', $user ); ?>
379
- <tr>
380
- <th><label for="pv_custom_commission_rate"><?php _e( 'Commission rate', 'wcvendors' ); ?> (%)</label></th>
381
- <td><input type="number" step="0.01" max="100" min="0" name="pv_custom_commission_rate" placeholder="<?php _e( 'Leave blank for default', 'wcvendors' ); ?>" id="pv_custom_commission_rate"
382
- value="<?php echo get_user_meta( $user->ID, 'pv_custom_commission_rate', true ); ?>" class="regular-text">
383
- </td>
384
- </tr>
385
- <?php do_action( 'wcvendors_admin_after_commission_due', $user ); ?>
386
- <tr>
387
- <th><label for="pv_seller_info"><?php _e( 'Seller info', 'wcvendors' ); ?></label></th>
388
- <td><?php wp_editor( get_user_meta( $user->ID, 'pv_seller_info', true ), 'pv_seller_info' ); ?></td>
389
- </tr>
390
- <?php do_action( 'wcvendors_admin_after_seller_info', $user ); ?>
391
- <tr>
392
- <th><label for="pv_shop_description"><?php _e( 'Shop description', 'wcvendors' ); ?></label>
393
- </th>
394
- <td><?php wp_editor( get_user_meta( $user->ID, 'pv_shop_description', true ), 'pv_shop_description' ); ?></td>
395
- </tr>
396
- <?php do_action( 'wcvendors_admin_after_shop_description', $user ); ?>
397
- </tbody>
398
- </table>
399
- <?php
400
- }
401
-
402
- /*
403
- Remove featured check box from the product listing
404
- */
405
- public function manage_product_columns( $columns ){
406
- global $woocommerce;
407
- unset($columns['featured']);
408
- return $columns;
409
- }
410
-
411
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/class-product-meta.php DELETED
@@ -1,264 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Product meta configurations
5
- *
6
- * @package ProductVendor
7
- */
8
-
9
-
10
- class WCV_Product_Meta
11
- {
12
-
13
-
14
- /**
15
- * Constructor
16
- */
17
- function __construct()
18
- {
19
- if ( !current_user_can( 'manage_woocommerce' ) ) return;
20
-
21
- // Allow products to have authors
22
- add_post_type_support( 'product', 'author' );
23
-
24
- add_action( 'add_meta_boxes', array( $this, 'change_author_meta_box_title' ) );
25
- add_action( 'wp_dropdown_users', array( $this, 'author_vendor_roles' ), 0, 1 );
26
- add_action( 'woocommerce_product_write_panel_tabs', array( $this, 'add_tab' ) );
27
- add_action( 'woocommerce_product_write_panels', array( $this, 'add_panel' ) );
28
- add_action( 'woocommerce_process_product_meta', array( $this, 'save_panel' ) );
29
-
30
- add_action( 'woocommerce_product_quick_edit_end', array($this, 'display_vendor_dd_quick_edit') );
31
- add_action( 'woocommerce_product_quick_edit_save', array($this, 'save_vendor_quick_edit'), 2, 99 );
32
- add_action( 'manage_product_posts_custom_column', array($this, 'display_vendor_column'), 2, 99 );
33
- add_filter( 'manage_product_posts_columns', array($this, 'vendor_column_quickedit') );
34
-
35
- }
36
-
37
-
38
- /**
39
- * Change the "Author" metabox to "Vendor"
40
- */
41
- public function change_author_meta_box_title()
42
- {
43
- global $wp_meta_boxes;
44
- $wp_meta_boxes[ 'product' ][ 'normal' ][ 'core' ][ 'authordiv' ][ 'title' ] = __( 'Vendor', 'wcvendors' );;
45
- }
46
-
47
-
48
- /**
49
- * Override the authors selectbox with +vendor roles
50
- *
51
- * @param html $output
52
- *
53
- * @return html
54
- */
55
- public function author_vendor_roles( $output )
56
- {
57
- global $post;
58
-
59
- if ( empty( $post ) ) return $output;
60
-
61
- // Return if this isn't a WooCommerce product post type
62
- if ( $post->post_type != 'product' ) return $output;
63
-
64
- // Return if this isn't the vendor author override dropdown
65
- if ( !strpos( $output, 'post_author_override' ) ) return $output;
66
-
67
- $args = array(
68
- 'selected' => $post->post_author,
69
- 'id' => 'post_author_override',
70
- );
71
-
72
- $output = $this->vendor_selectbox( $args );
73
-
74
- return $output;
75
- }
76
-
77
-
78
- /**
79
- * Create a selectbox to display vendor & administrator roles
80
- *
81
- * @param array $args
82
- *
83
- * @return html
84
- */
85
- public function vendor_selectbox( $args )
86
- {
87
- $default_args = array(
88
- 'placeholder',
89
- 'id',
90
- 'class',
91
- );
92
-
93
- foreach ( $default_args as $key ) {
94
- if ( !is_array( $key ) && empty( $args[ $key ] ) ) $args[ $key ] = '';
95
- else if ( is_array( $key ) ) foreach ( $key as $val ) $args[ $key ][ $val ] = esc_attr( $args[ $key ][ $val ] );
96
- }
97
- extract( $args );
98
-
99
- $roles = array( 'vendor', 'administrator' );
100
- $user_args = array( 'fields' => array( 'ID', 'user_login' ) );
101
-
102
- $output = "<select style='width:200px;' name='$id' id='$id' class='$class' data-placeholder='$placeholder'>\n";
103
- $output .= "\t<option value=''></option>\n";
104
-
105
- foreach ( $roles as $role ) {
106
-
107
- $new_args = $user_args;
108
- $new_args[ 'role' ] = $role;
109
- $users = get_users( $new_args );
110
-
111
- if ( empty( $users ) ) continue;
112
- foreach ( (array) $users as $user ) {
113
- $select = selected( $user->ID, $selected, false );
114
- $output .= "\t<option value='$user->ID' $select>$user->user_login</option>\n";
115
- }
116
-
117
- }
118
- $output .= "</select>";
119
-
120
- // Convert this selectbox with jQuery Chosen
121
- $output .= '<script type="text/javascript">jQuery(function() {jQuery("#' . $id . '").chosen();});</script>';
122
-
123
- return $output;
124
- }
125
-
126
-
127
- /**
128
- * Save commission rate of a product
129
- *
130
- * @param int $post_id
131
- */
132
- public function save_panel( $post_id )
133
- {
134
- if ( isset( $_POST[ 'pv_commission_rate' ] ) ) {
135
- update_post_meta( $post_id, 'pv_commission_rate', is_numeric( $_POST[ 'pv_commission_rate' ] ) ? (float) $_POST[ 'pv_commission_rate' ] : false );
136
- }
137
-
138
- }
139
-
140
-
141
- /**
142
- * Add the Commission tab to a product
143
- */
144
- public function add_tab()
145
- {
146
- ?>
147
- <li class="commission_tab">
148
- <a href="#commission"><?php _e( 'Commission', 'wcvendors' ) ?></a>
149
- </li> <?php
150
- }
151
-
152
-
153
- /**
154
- * Add the Commission panel to a product
155
- */
156
- public function add_panel()
157
- {
158
- global $post; ?>
159
-
160
- <div id="commission" class="panel woocommerce_options_panel">
161
- <fieldset>
162
-
163
- <p class='form-field commission_rate_field'>
164
- <label for='pv_commission_rate'><?php _e( 'Commission', 'wcvendors' ); ?> (%)</label>
165
- <input type='number' id='pv_commission_rate'
166
- name='pv_commission_rate'
167
- class='short'
168
- max="100"
169
- min="0"
170
- step='any'
171
- placeholder='<?php _e( 'Leave blank for default', 'wcvendors' ); ?>'
172
- value="<?php echo get_post_meta( $post->ID, 'pv_commission_rate', true ); ?>"/>
173
- </p>
174
-
175
- </fieldset>
176
- </div> <?php
177
-
178
- }
179
-
180
- /*
181
- * Rename the Authors column to Vendor on products page
182
- */
183
- public function vendor_column_quickedit($posts_columns) {
184
- $posts_columns['author'] = __( 'Vendor', 'wcvendors' );
185
-
186
- return $posts_columns;
187
- }
188
-
189
- /*
190
- * Display the vendor drop down on the quick edit screen
191
- */
192
- public function display_vendor_dd_quick_edit() {
193
-
194
- global $post;
195
- $selected = $post->post_author;
196
-
197
- $roles = array( 'vendor', 'administrator' );
198
- $user_args = array( 'fields' => array( 'ID', 'display_name' ) );
199
-
200
- $output = "<select style='width:200px;' name='post_author-new' class='select'>\n";
201
-
202
- foreach ( $roles as $role ) {
203
-
204
- $new_args = $user_args;
205
- $new_args[ 'role' ] = $role;
206
- $users = get_users( $new_args );
207
-
208
- if ( empty( $users ) ) continue;
209
- foreach ( (array) $users as $user ) {
210
- $select = selected( $user->ID, $selected, false );
211
- $output .= "\t<option value='$user->ID' $select>$user->display_name</option>\n";
212
- }
213
-
214
- }
215
- $output .= "</select>";
216
-
217
- ?>
218
- <br class="clear" />
219
- <label class="inline-edit-author-new">
220
- <span class="title"><?php _e('Vendor', 'wcvendors' ); ?></span>
221
- <?php echo $output; ?>
222
- </label>
223
- <?php
224
- }
225
-
226
-
227
- /*
228
- * Save the vendor on the quick edit screen
229
- */
230
- public function save_vendor_quick_edit( $product ) {
231
-
232
- if ( $product->is_type('simple') || $product->is_type('external') ) {
233
- if ( isset( $_REQUEST['_vendor'] ) ) {
234
- $vendor = wc_clean($_REQUEST['_vendor']);
235
- $product->post->post_author = $vendor;
236
- }
237
- }
238
- return $product;
239
- }
240
-
241
- /*
242
- * Display hidden column data for js
243
- */
244
- public function display_vendor_column( $column, $post_id ){
245
-
246
- $vendor = get_post_field( 'post_author', $post_id );
247
-
248
- switch ( $column ) {
249
- case 'name' :
250
-
251
- ?>
252
- <div class="hidden vendor" id="vendor_<?php echo $post_id; ?>">
253
- <div id="post_author"><?php echo $vendor; ?></div>
254
- </div>
255
- <?php
256
-
257
- break;
258
-
259
- default :
260
- break;
261
- }
262
-
263
- }
264
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/class-vendor-applicants.php DELETED
@@ -1,101 +0,0 @@
1
- <?php
2
-
3
- /**
4
- *
5
- */
6
- class WCV_Vendor_Applicants
7
- {
8
-
9
- function __construct()
10
- {
11
- add_filter( 'user_row_actions', array( $this, 'user_row_actions' ), 10, 2 );
12
- add_filter( 'load-users.php', array( $this, 'user_row_actions_commit' ) );
13
- }
14
-
15
- /**
16
- *
17
- *
18
- * @param unknown $actions
19
- * @param unknown $user_object
20
- *
21
- * @return unknown
22
- */
23
- function user_row_actions( $actions, $user_object )
24
- {
25
- if ( !empty( $_GET[ 'role' ] ) && $_GET[ 'role' ] == 'pending_vendor' ) {
26
- $actions[ 'approve_vendor' ] = "<a href='?role=pending_vendor&action=approve_vendor&user_id=" . $user_object->ID . "'>" . __( 'Approve', 'cgc_ub' ) . "</a>";
27
- $actions[ 'deny_vendor' ] = "<a href='?role=pending_vendor&action=deny_vendor&user_id=" . $user_object->ID . "'>" . __( 'Deny', 'cgc_ub' ) . "</a>";
28
- }
29
-
30
- return $actions;
31
- }
32
-
33
-
34
- /**
35
- *
36
- */
37
- public function user_row_actions_commit()
38
- {
39
- if ( !empty( $_GET[ 'action' ] ) && !empty( $_GET[ 'user_id' ] ) ) {
40
-
41
- $wp_user_object = new WP_User( (int) $_GET[ 'user_id' ] );
42
-
43
- switch ( $_GET[ 'action' ] ) {
44
- case 'approve_vendor':
45
- $role = 'vendor';
46
- add_action( 'admin_notices', array( $this, 'approved' ) );
47
- break;
48
-
49
- case 'deny_vendor':
50
- $role = 'subscriber';
51
- add_action( 'admin_notices', array( $this, 'denied' ) );
52
- break;
53
-
54
- default:
55
- // code...
56
- break;
57
- }
58
-
59
- $wp_user_object->set_role( $role );
60
-
61
- }
62
- }
63
-
64
-
65
- /**
66
- *
67
- */
68
- public function denied()
69
- {
70
- echo '<div class="updated">';
71
- echo '<p>' . __( 'Vendor has been <b>denied</b>.', 'wcvendors' ) . '</p>';
72
- echo '</div>';
73
- }
74
-
75
-
76
- /**
77
- *
78
- */
79
- public function approved()
80
- {
81
- echo '<div class="updated">';
82
- echo '<p>' . __( 'Vendor has been <b>approved</b>.', 'wcvendors' ) . '</p>';
83
- echo '</div>';
84
- }
85
-
86
-
87
- /**
88
- *
89
- *
90
- * @param unknown $values
91
- *
92
- * @return unknown
93
- */
94
- public function show_pending_vendors_link( $values )
95
- {
96
- $values[ 'pending_vendors' ] = '<a href="?role=asd">' . __( 'Pending Vendors', 'wcvendors' ) . ' <span class="count">(3)</span></a>';
97
-
98
- return $values;
99
- }
100
-
101
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/emails/class-emails.php DELETED
@@ -1,131 +0,0 @@
1
- <?php
2
-
3
- if ( !defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
-
5
- /**
6
- *
7
- *
8
- * @author Matt Gates <http://mgates.me>
9
- * @package
10
- */
11
-
12
-
13
- class WCV_Emails
14
- {
15
-
16
-
17
- /**
18
- *
19
- */
20
- function __construct()
21
- {
22
- add_action( 'woocommerce_email_classes', array( $this, 'check_items' ) );
23
- add_filter( 'woocommerce_resend_order_emails_available', array( $this, 'order_action' ) );
24
- add_filter( 'woocommerce_order_product_title', array( 'WCV_Emails', 'show_vendor_in_email' ), 10, 2 );
25
- add_action( 'set_user_role', array( $this, 'application_status_email' ), 10, 2 );
26
- add_action( 'transition_post_status', array( $this, 'trigger_new_product' ), 10, 3 );
27
- }
28
-
29
- public function trigger_new_product( $from, $to, $post )
30
- {
31
- global $woocommerce;
32
-
33
- if ( $from != $to && $post->post_status == 'pending' && WCV_Vendors::is_vendor( $post->post_author ) ) {
34
- $mails = $woocommerce->mailer()->get_emails();
35
- if ( !empty( $mails ) ) {
36
- $mails[ 'WC_Email_Notify_Admin' ]->trigger( $post->post_id, $post );
37
- }
38
- }
39
- }
40
-
41
-
42
- /**
43
- *
44
- *
45
- * @param unknown $user_id
46
- * @param unknown $role
47
- */
48
- function application_status_email( $user_id, $role )
49
- {
50
- global $woocommerce;
51
-
52
- if ( !empty( $_POST[ 'apply_for_vendor' ] ) || ( !empty( $_GET[ 'action' ] ) && ( $_GET[ 'action' ] == 'approve_vendor' || $_GET[ 'action' ] == 'deny_vendor' ) ) ) {
53
-
54
- if ( $role == 'pending_vendor' ) {
55
- $status = __( 'pending', 'wcvendors' );
56
- } else if ( $role == 'vendor' ) {
57
- $status = __( 'approved', 'wcvendors' );
58
- } else if ( !empty( $_GET[ 'action' ] ) && $_GET[ 'action' ] == 'deny_vendor' ) {
59
- $status = __( 'denied', 'wcvendors' );
60
- }
61
-
62
- $mails = $woocommerce->mailer()->get_emails();
63
-
64
- if ( isset( $status ) && !empty( $mails ) ) {
65
- $mails[ 'WC_Email_Approve_Vendor' ]->trigger( $user_id, $status );
66
- }
67
- }
68
- }
69
-
70
-
71
- /**
72
- *
73
- *
74
- * @param unknown $name
75
- * @param unknown $_product
76
- *
77
- * @return unknown
78
- */
79
- function show_vendor_in_email( $name, $_product )
80
- {
81
- $product = get_post( $_product->id );
82
-
83
- $sold_by = WCV_Vendors::is_vendor( $product->post_author )
84
- ? sprintf( '<a href="%s">%s</a>', WCV_Vendors::get_vendor_shop_page( $product->post_author ), WCV_Vendors::get_vendor_shop_name( $product->post_author ) )
85
- : get_bloginfo( 'name' );
86
-
87
- $name .= '<small><br />' . apply_filters('wcvendors_sold_by_in_email', __( 'Sold by: ', 'wcvendors' )). $sold_by . '</small><br />';
88
-
89
- return $name;
90
- }
91
-
92
-
93
- /**
94
- *
95
- *
96
- * @param unknown $available_emails
97
- *
98
- * @return unknown
99
- */
100
- public function order_action( $available_emails )
101
- {
102
- $available_emails[ ] = 'vendor_new_order';
103
-
104
- return $available_emails;
105
- }
106
-
107
-
108
- /**
109
- *
110
- *
111
- * @param unknown $emails
112
- *
113
- * @return unknown
114
- */
115
- public function check_items( $emails )
116
- {
117
- require_once wcv_plugin_dir . 'classes/admin/emails/class-wc-notify-admin.php';
118
- require_once wcv_plugin_dir . 'classes/admin/emails/class-wc-notify-vendor.php';
119
- require_once wcv_plugin_dir . 'classes/admin/emails/class-wc-approve-vendor.php';
120
- require_once wcv_plugin_dir . 'classes/admin/emails/class-wc-notify-shipped.php';
121
-
122
- $emails[ 'WC_Email_Notify_Vendor' ] = new WC_Email_Notify_Vendor();
123
- $emails[ 'WC_Email_Approve_Vendor' ] = new WC_Email_Approve_Vendor();
124
- $emails[ 'WC_Email_Notify_Admin' ] = new WC_Email_Notify_Admin();
125
- $emails[ 'WC_Email_Notify_Shipped' ] = new WC_Email_Notify_Shipped();
126
-
127
- return $emails;
128
- }
129
-
130
-
131
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/emails/class-wc-notify-shipped.php DELETED
@@ -1,198 +0,0 @@
1
- <?php
2
-
3
- if ( !defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
-
5
- /**
6
- * New Order Email
7
- *
8
- * An email sent to the admin when a new product is created.
9
- *
10
- * @class WC_Email_Notify_Shipped
11
- * @version 2.0.0
12
- * @extends WC_Email
13
- * @author WooThemes
14
- * @package WooCommerce/Classes/Emails
15
- */
16
-
17
-
18
- class WC_Email_Notify_Shipped extends WC_Email
19
- {
20
-
21
-
22
- /**
23
- * Constructor
24
- */
25
- function __construct()
26
- {
27
- $this->id = 'vendor_notify_shipped';
28
- $this->title = __( 'Vendor has shipped', 'wcvendors' );
29
- $this->description = __( 'An email is sent when a vendor has marked one of their orders as shipped.', 'wcvendors' );
30
-
31
- $this->heading = __( 'Your order has been shipped', 'wcvendors' );
32
- $this->subject = __( '[{blogname}] Your order has been shipped ({order_number}) - {order_date}', 'wcvendors' );
33
-
34
- $this->template_html = 'notify-vendor-shipped.php';
35
- $this->template_plain = 'notify-vendor-shipped.php';
36
- $this->template_base = dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) . '/views/emails/';
37
-
38
- // Call parent constuctor
39
- parent::__construct();
40
- }
41
-
42
-
43
- /**
44
- * trigger function.
45
- *
46
- * @access public
47
- * @return void
48
- *
49
- * @param unknown $order_id
50
- */
51
- function trigger( $order_id, $vendor_id )
52
- {
53
- $this->object = new WC_Order( $order_id );
54
- $this->current_vendor = $vendor_id;
55
-
56
- $this->find[ ] = '{order_date}';
57
- $this->replace[ ] = date_i18n( woocommerce_date_format(), strtotime( $this->object->order_date ) );
58
-
59
- $this->find[ ] = '{order_number}';
60
- $this->replace[ ] = $this->object->get_order_number();
61
-
62
- if ( !$this->is_enabled() ) return;
63
-
64
- add_filter( 'woocommerce_order_get_items', array( $this, 'check_items' ), 10, 2 );
65
- add_filter( 'woocommerce_get_order_item_totals', array( $this, 'check_order_totals' ), 10, 2 );
66
- $this->send( $this->object->billing_email, $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
67
- remove_filter( 'woocommerce_get_order_item_totals', array( $this, 'check_order_totals' ), 10, 2 );
68
- remove_filter( 'woocommerce_order_get_items', array( $this, 'check_items' ), 10, 2 );
69
- }
70
-
71
-
72
- /**
73
- *
74
- *
75
- * @param unknown $items
76
- * @param unknown $order
77
- *
78
- * @return unknown
79
- */
80
- public function check_items( $items, $order )
81
- {
82
- foreach ( $items as $key => $product ) {
83
-
84
- if ( empty( $product[ 'product_id' ] ) ) {
85
- unset( $items[ $key ] );
86
- continue;
87
- }
88
-
89
- $author = WCV_Vendors::get_vendor_from_product( $product[ 'product_id' ] );
90
-
91
- if ( $this->current_vendor != $author ) {
92
- unset( $items[ $key ] );
93
- continue;
94
- }
95
-
96
- }
97
-
98
- return $items;
99
- }
100
-
101
- /**
102
- *
103
- *
104
- * @param unknown $total_rows
105
- * @param unknown $order
106
- *
107
- * @return unknown
108
- */
109
- public function check_order_totals( $total_rows, $order )
110
- {
111
- $return[ 'cart_subtotal' ] = $total_rows[ 'cart_subtotal' ];
112
- $return[ 'cart_subtotal' ][ 'label' ] = __( 'Subtotal:', 'wcvendors' );
113
-
114
- return $return;
115
- }
116
-
117
- /**
118
- * get_content_html function.
119
- *
120
- * @access public
121
- * @return string
122
- */
123
- function get_content_html()
124
- {
125
- ob_start();
126
- wc_get_template( $this->template_html, array(
127
- 'order' => $this->object,
128
- 'email_heading' => $this->get_heading()
129
- ), 'woocommerce/', $this->template_base );
130
-
131
- return ob_get_clean();
132
- }
133
-
134
-
135
- /**
136
- * get_content_plain function.
137
- *
138
- * @access public
139
- * @return string
140
- */
141
- function get_content_plain()
142
- {
143
- ob_start();
144
- wc_get_template( $this->template_plain, array(
145
- 'order' => $this->object,
146
- 'email_heading' => $this->get_heading()
147
- ), 'woocommerce/', $this->template_base );
148
-
149
- return ob_get_clean();
150
- }
151
-
152
-
153
- /**
154
- * Initialise Settings Form Fields
155
- *
156
- * @access public
157
- * @return void
158
- */
159
- function init_form_fields()
160
- {
161
- $this->form_fields = array(
162
- 'enabled' => array(
163
- 'title' => __( 'Enable/Disable', 'wcvendors' ),
164
- 'type' => 'checkbox',
165
- 'label' => __( 'Enable this email notification', 'wcvendors' ),
166
- 'default' => 'yes'
167
- ),
168
- 'subject' => array(
169
- 'title' => __( 'Subject', 'wcvendors' ),
170
- 'type' => 'text',
171
- 'description' => sprintf( __( 'This controls the email subject line. Leave blank to use the default subject: <code>%s</code>.', 'wcvendors' ), $this->subject ),
172
- 'placeholder' => '',
173
- 'default' => ''
174
- ),
175
- 'heading' => array(
176
- 'title' => __( 'Email Heading', 'wcvendors' ),
177
- 'type' => 'text',
178
- 'description' => sprintf( __( 'This controls the main heading contained within the email notification. Leave blank to use the default heading: <code>%s</code>.', 'wcvendors' ), $this->heading ),
179
- 'placeholder' => '',
180
- 'default' => ''
181
- ),
182
- 'email_type' => array(
183
- 'title' => __( 'Email type', 'wcvendors' ),
184
- 'type' => 'select',
185
- 'description' => __( 'Choose which format of email to send.', 'wcvendors' ),
186
- 'default' => 'html',
187
- 'class' => 'email_type',
188
- 'options' => array(
189
- 'plain' => __( 'Plain text', 'wcvendors' ),
190
- 'html' => __( 'HTML', 'wcvendors' ),
191
- 'multipart' => __( 'Multipart', 'wcvendors' ),
192
- )
193
- )
194
- );
195
- }
196
-
197
-
198
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/emails/class-wc-notify-vendor.php DELETED
@@ -1,265 +0,0 @@
1
- <?php
2
-
3
- if ( !defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
4
-
5
- /**
6
- * New Order Email
7
- *
8
- * An email sent to the admin when a new order is received/paid for.
9
- *
10
- * @class WC_Email_Notify_Vendor
11
- * @version 2.0.0
12
- * @extends WC_Email
13
- * @author WooThemes
14
- * @package WooCommerce/Classes/Emails
15
- */
16
-
17
-
18
- class WC_Email_Notify_Vendor extends WC_Email
19
- {
20
-
21
- /**
22
- * Constructor
23
- */
24
- function __construct()
25
- {
26
- $this->id = 'vendor_new_order';
27
- $this->title = __( 'Notify vendors', 'wcvendors' );
28
- $this->description = __( 'New order emails are sent when an order is received/paid by a customer.', 'wcvendors' );
29
-
30
- $this->heading = __( 'New customer order', 'wcvendors' );
31
- $this->subject = __( '[{blogname}] New customer order ({order_number}) - {order_date}', 'wcvendors' );
32
-
33
- $this->template_html = 'admin-new-order.php';
34
- $this->template_plain = 'plain/admin-new-order.php';
35
- $this->template_base = dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) . '/views/emails/';
36
-
37
- // Triggers for this email
38
- add_action( 'woocommerce_order_status_pending_to_processing_notification', array( $this, 'trigger' ) );
39
- add_action( 'woocommerce_order_status_pending_to_completed_notification', array( $this, 'trigger' ) );
40
- add_action( 'woocommerce_order_status_failed_to_processing_notification', array( $this, 'trigger' ) );
41
- add_action( 'woocommerce_order_status_failed_to_completed_notification', array( $this, 'trigger' ) );
42
-
43
- $this->recipient = get_option( 'admin_email' );
44
-
45
- // Call parent constuctor
46
- parent::__construct();
47
-
48
- }
49
-
50
-
51
- /**
52
- * trigger function.
53
- *
54
- * @access public
55
- * @return void
56
- *
57
- * @param unknown $order_id
58
- */
59
- function trigger( $order_id )
60
- {
61
- global $woocommerce;
62
-
63
- if ( $order_id ) {
64
- $this->object = new WC_Order( $order_id );
65
-
66
- $this->find[ ] = '{order_date}';
67
- $this->replace[ ] = date_i18n( woocommerce_date_format(), strtotime( $this->object->order_date ) );
68
-
69
- $this->find[ ] = '{order_number}';
70
- $this->replace[ ] = $this->object->get_order_number();
71
-
72
- }
73
-
74
- if ( !$this->is_enabled() ) return;
75
-
76
- $vendors = $this->get_vendors( $this->object );
77
-
78
- if ( empty( $vendors ) ) return;
79
-
80
- add_filter( 'woocommerce_order_get_items', array( $this, 'check_items' ), 10, 2 );
81
- add_filter( 'woocommerce_get_order_item_totals', array( $this, 'check_order_totals' ), 10, 2 );
82
- foreach ( $vendors as $user_id => $user_email ) {
83
- $this->current_vendor = $user_id;
84
- $this->send( $user_email, $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() );
85
- }
86
- remove_filter( 'woocommerce_get_order_item_totals', array( $this, 'check_order_totals' ), 10, 2 );
87
- remove_filter( 'woocommerce_order_get_items', array( $this, 'check_items' ), 10, 2 );
88
-
89
- }
90
-
91
-
92
- /**
93
- *
94
- *
95
- * @param unknown $total_rows
96
- * @param unknown $order
97
- *
98
- * @return unknown
99
- */
100
- function check_order_totals( $total_rows, $order )
101
- {
102
- $return[ 'cart_subtotal' ] = $total_rows[ 'cart_subtotal' ];
103
- $return[ 'cart_subtotal' ][ 'label' ] = __( 'Commission Subtotal:', 'wcvendors' );
104
-
105
- $dues = WCV_Vendors::get_vendor_dues_from_order( $order );
106
-
107
- foreach ( $dues as $due ) {
108
- if ( $this->current_vendor == $due['vendor_id'] ) {
109
- if (!empty($return[ 'shipping' ])) $return[ 'shipping' ] = $total_rows[ 'shipping' ];
110
- $return[ 'shipping' ]['label'] = __( 'Shipping Subtotal:', 'wcvendors' );
111
- $return[ 'shipping' ][ 'value' ] = woocommerce_price( $due['shipping'] );
112
- break;
113
- }
114
- }
115
-
116
- return $return;
117
- }
118
-
119
-
120
- /**
121
- *
122
- *
123
- * @param unknown $order
124
- *
125
- * @return unknown
126
- */
127
- public function get_vendors( $order )
128
- {
129
- $items = $order->get_items();
130
-
131
- foreach ( $items as $key => $product ) {
132
-
133
- if ( empty( $product[ 'product_id' ] ) ) continue;
134
- $author = WCV_Vendors::get_vendor_from_product( $product[ 'product_id' ] );
135
-
136
- // Only store the vendor authors
137
- if ( !WCV_Vendors::is_vendor( $author ) ) {
138
- unset( $items[ $key ] );
139
- continue;
140
- }
141
-
142
- $vendors[ $author ] = get_userdata( $author )->user_email;
143
- }
144
-
145
- return $vendors;
146
- }
147
-
148
- /**
149
- *
150
- *
151
- * @param unknown $items
152
- * @param unknown $order
153
- *
154
- * @return unknown
155
- */
156
- function check_items( $items, $order )
157
- {
158
- foreach ( $items as $key => $product ) {
159
-
160
- // If this is a line item
161
- if ($product['type'] == 'line_item') {
162
-
163
- $author = WCV_Vendors::get_vendor_from_product( $product[ 'product_id' ] );
164
-
165
- if ( $this->current_vendor != $author) {
166
- unset( $items[ $key ] );
167
- continue;
168
- } else {
169
- $commission_due = WCV_Commission::calculate_commission( $product[ 'line_subtotal' ], $product[ 'product_id' ], $order );
170
-
171
- $items[ $key ][ 'line_subtotal' ] = $commission_due;
172
- $items[ $key ][ 'line_total' ] = $commission_due;
173
- unset( $items[ $key ][ 'line_tax' ] );
174
- }
175
- }
176
-
177
- }
178
-
179
-
180
- return $items;
181
- }
182
-
183
-
184
- /**
185
- * get_content_html function.
186
- *
187
- * @access public
188
- * @return string
189
- */
190
- function get_content_html()
191
- {
192
- ob_start();
193
- wc_get_template( $this->template_html, array(
194
- 'order' => $this->object,
195
- 'email_heading' => $this->get_heading()
196
- ), 'woocommerce/', $this->template_base );
197
-
198
- return ob_get_clean();
199
- }
200
-
201
-
202
- /**
203
- * get_content_plain function.
204
- *
205
- * @access public
206
- * @return string
207
- */
208
- function get_content_plain()
209
- {
210
- ob_start();
211
- wc_get_template( $this->template_plain, array(
212
- 'order' => $this->object,
213
- 'email_heading' => $this->get_heading()
214
- ), 'woocommerce/', $this->template_base );
215
-
216
- return ob_get_clean();
217
- }
218
-
219
-
220
- /**
221
- * Initialise Settings Form Fields
222
- *
223
- * @access public
224
- * @return void
225
- */
226
- function init_form_fields()
227
- {
228
- $this->form_fields = array(
229
- 'enabled' => array(
230
- 'title' => __( 'Enable/Disable', 'wcvendors' ),
231
- 'type' => 'checkbox',
232
- 'label' => __( 'Enable this email notification', 'wcvendors' ),
233
- 'default' => 'yes'
234
- ),
235
- 'subject' => array(
236
- 'title' => __( 'Subject', 'wcvendors' ),
237
- 'type' => 'text',
238
- 'description' => sprintf( __( 'This controls the email subject line. Leave blank to use the default subject: <code>%s</code>.', 'wcvendors' ), $this->subject ),
239
- 'placeholder' => '',
240
- 'default' => ''
241
- ),
242
- 'heading' => array(
243
- 'title' => __( 'Email Heading', 'wcvendors' ),
244
- 'type' => 'text',
245
- 'description' => sprintf( __( 'This controls the main heading contained within the email notification. Leave blank to use the default heading: <code>%s</code>.', 'wcvendors' ), $this->heading ),
246
- 'placeholder' => '',
247
- 'default' => ''
248
- ),
249
- 'email_type' => array(
250
- 'title' => __( 'Email type', 'wcvendors' ),
251
- 'type' => 'select',
252
- 'description' => __( 'Choose which format of email to send.', 'wcvendors' ),
253
- 'default' => 'html',
254
- 'class' => 'email_type',
255
- 'options' => array(
256
- 'plain' => __( 'Plain text', 'wcvendors' ),
257
- 'html' => __( 'HTML', 'wcvendors' ),
258
- 'multipart' => __( 'Multipart', 'wcvendors' ),
259
- )
260
- )
261
- );
262
- }
263
-
264
-
265
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/README.md DELETED
@@ -1,126 +0,0 @@
1
- WP Simple Settings Framework
2
- ================================
3
-
4
- A minimalistic framework for Wordpress Settings API.
5
-
6
- Quick start
7
- ------------
8
-
9
- * [Download the latest release](https://github.com/Geczy/WP-Simple-Settings-Framework/zipball/master) (zip)
10
-
11
- * Or, clone the repo, `git clone git://github.com/Geczy/WP-Simple-Settings-Framework.git`
12
-
13
- Installation
14
- ------------
15
- 1. Include the framework in your Wordpress plugin by using:
16
-
17
- ```php
18
- <?php
19
- add_action( 'init', 'sf_load_settings' );
20
- function sf_load_settings() {
21
- require 'classes/sf-class-settings.php';
22
- $settings_framework = new SF_Settings_API($id = 'my_plugin_name', $title = 'My Plugin Title', $menu = 'plugins.php', __FILE__);
23
- }
24
- ```
25
-
26
- Optionally, you might want to make `$settings_framework` a global variable so that you can use the [helper functions](#helpers).
27
-
28
- 2. Open `sf-options.php` to begin configuring your options.
29
-
30
- Features
31
- ------------
32
-
33
- ### Automatic settings page
34
- Don't want it under the Plugins tab like in the screenshot? No problem, you can choose where you want it!
35
-
36
- You can also change "Simple Settings" submenu to be anything you'd like.
37
-
38
- ![settings page example](http://i.imgur.com/aEGUD.png)
39
-
40
- ---
41
-
42
- ### Tooltips
43
- ![tooltips example](http://i.imgur.com/Z3Pnk.png)
44
-
45
- Optional tooltips using [Twitter Bootstrap](http://twitter.github.com/bootstrap/javascript.html#tooltips)!
46
-
47
- ---
48
-
49
- ### Select box replacement
50
- ![select box replacement](http://i.imgur.com/ikOXH.png)
51
-
52
- Utilizing [Select2](http://ivaynberg.github.com/select2/) to display select boxes. It's pretty cool!
53
-
54
- ---
55
-
56
- ### Multiple tabs
57
- ![multiple tabs example](http://i.imgur.com/OUM4i.png)
58
-
59
- Create multiple tabs for your options.
60
-
61
- ---
62
-
63
- ### Input types
64
-
65
- * Text
66
- * Number
67
- * Textarea
68
- * Checkbox
69
- * Radio
70
- * Select
71
- * WP Pages
72
-
73
- Helpers
74
- ------------
75
-
76
- Update or add a new option
77
-
78
- ```php
79
- <?php
80
- $settings_framework->update_option('your_option', 'new_value');
81
- ```
82
-
83
- Get an existing option's value
84
-
85
- ```php
86
- <?php
87
- $settings_framework->get_option('your_option');
88
- ```
89
-
90
- Example configuration
91
- ------------
92
-
93
- Check out the [example config](https://github.com/Geczy/WP-Simple-Settings-Framework/blob/master/sf-options.php) for an idea of how to use every input type.
94
-
95
- Here's an example of one type, though:
96
-
97
- ```php
98
- <?php
99
- $options[] = array(
100
- 'name' => __( 'Name', 'geczy' ),
101
- 'desc' => __( 'Please tell me who you are.', 'geczy' ),
102
- 'id' => 'text_sample',
103
- 'type' => 'text',
104
- );
105
- ```
106
-
107
-
108
- Bug tracker
109
- -----------
110
-
111
- Have a bug? Please create an issue here on GitHub!
112
-
113
- https://github.com/Geczy/WP-Simple-Settings-Framework/issues/
114
-
115
- Copyright and License
116
- ---------------------
117
-
118
- Copyright 2012 Matthew Gates
119
-
120
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
121
-
122
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
123
- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
124
- * Neither the names of the copyright holders nor the names of the contributors may be used to endorse or promote products derived from this software without specific prior written permission.
125
-
126
- http://www.opensource.org/licenses/bsd-license.php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/assets/css/sf-styles.css DELETED
@@ -1,167 +0,0 @@
1
- a.sf-tips {
2
- height: 16px;
3
- width: 16px;
4
- margin-top: 0.2em;
5
- float: right;
6
- background: url(../img/tip.png) no-repeat top left;
7
- }
8
-
9
- /*!
10
- * Bootstrap v2.3.1 [Styles for Tooltips]
11
- *
12
- * Copyright 2012 Twitter, Inc
13
- * Licensed under the Apache License v2.0
14
- * http://www.apache.org/licenses/LICENSE-2.0
15
- *
16
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
17
- */
18
- .clearfix {
19
- *zoom: 1;
20
- }
21
-
22
- .clearfix:before, .clearfix:after {
23
- display: table;
24
- content: "";
25
- line-height: 0;
26
- }
27
-
28
- .clearfix:after {
29
- clear: both;
30
- }
31
-
32
- .hide-text {
33
- font: 0/0 a;
34
- color: transparent;
35
- text-shadow: none;
36
- background-color: transparent;
37
- border: 0;
38
- }
39
-
40
- .input-block-level {
41
- display: block;
42
- width: 100%;
43
- min-height: 30px;
44
- -webkit-box-sizing: border-box;
45
- -moz-box-sizing: border-box;
46
- box-sizing: border-box;
47
- }
48
-
49
- /* Tooltips */
50
- .tooltip {
51
- text-shadow: none;
52
- }
53
-
54
- .tooltip {
55
- position: absolute;
56
- z-index: 1030;
57
- display: block;
58
- visibility: visible;
59
- font-size: 11px;
60
- line-height: 1.4;
61
- opacity: 0;
62
- filter: alpha(opacity=0);
63
- }
64
-
65
- .tooltip.in {
66
- opacity: 0.8;
67
- filter: alpha(opacity=80);
68
- }
69
-
70
- .tooltip.top {
71
- margin-top: -3px;
72
- padding: 5px 0;
73
- }
74
-
75
- .tooltip.right {
76
- margin-left: 3px;
77
- padding: 0 5px;
78
- }
79
-
80
- .tooltip.bottom {
81
- margin-top: 3px;
82
- padding: 5px 0;
83
- }
84
-
85
- .tooltip.left {
86
- margin-left: -3px;
87
- padding: 0 5px;
88
- }
89
-
90
- .tooltip-inner {
91
- max-width: 200px;
92
- padding: 8px;
93
- color: #ffffff;
94
- text-align: center;
95
- text-decoration: none;
96
- background-color: #000000;
97
- -webkit-border-radius: 4px;
98
- -moz-border-radius: 4px;
99
- border-radius: 4px;
100
- }
101
-
102
- .tooltip-arrow {
103
- position: absolute;
104
- width: 0;
105
- height: 0;
106
- border-color: transparent;
107
- border-style: solid;
108
- }
109
-
110
- .tooltip.top .tooltip-arrow {
111
- bottom: 0;
112
- left: 50%;
113
- margin-left: -5px;
114
- border-width: 5px 5px 0;
115
- border-top-color: #000000;
116
- }
117
-
118
- .tooltip.right .tooltip-arrow {
119
- top: 50%;
120
- left: 0;
121
- margin-top: -5px;
122
- border-width: 5px 5px 5px 0;
123
- border-right-color: #000000;
124
- }
125
-
126
- .tooltip.left .tooltip-arrow {
127
- top: 50%;
128
- right: 0;
129
- margin-top: -5px;
130
- border-width: 5px 0 5px 5px;
131
- border-left-color: #000000;
132
- }
133
-
134
- .tooltip.bottom .tooltip-arrow {
135
- top: 0;
136
- left: 50%;
137
- margin-left: -5px;
138
- border-width: 0 5px 5px;
139
- border-bottom-color: #000000;
140
- }
141
-
142
- /* Animation */
143
- .fade {
144
- opacity: 0;
145
- -webkit-transition: opacity 0.15s linear;
146
- -moz-transition: opacity 0.15s linear;
147
- -o-transition: opacity 0.15s linear;
148
- transition: opacity 0.15s linear;
149
- }
150
-
151
- .fade.in {
152
- opacity: 1;
153
- }
154
-
155
- .collapse {
156
- position: relative;
157
- height: 0;
158
- overflow: hidden;
159
- -webkit-transition: height 0.35s ease;
160
- -moz-transition: height 0.35s ease;
161
- -o-transition: height 0.35s ease;
162
- transition: height 0.35s ease;
163
- }
164
-
165
- .collapse.in {
166
- height: auto;
167
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/assets/img/tip.png DELETED
Binary file
WCVendors/classes/admin/settings/assets/js/bootstrap-tooltip.js DELETED
@@ -1,126 +0,0 @@
1
- /**
2
- * Bootstrap.js by @fat & @mdo
3
- * plugins: bootstrap-transition.js, bootstrap-tooltip.js
4
- * 2.3.1
5
- * Copyright 2012 Twitter, Inc.
6
- * http://www.apache.org/licenses/LICENSE-2.0.txt
7
- */
8
- !function (a) {
9
- a(function () {
10
- a.support.transition = function () {
11
- var a = function () {
12
- var a = document.createElement("bootstrap"), b = {WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend"}, c;
13
- for (c in b)if (a.style[c] !== undefined)return b[c]
14
- }();
15
- return a && {end: a}
16
- }()
17
- })
18
- }(window.jQuery), !function (a) {
19
- var b = function (a, b) {
20
- this.init("tooltip", a, b)
21
- };
22
- b.prototype = {constructor: b, init: function (b, c, d) {
23
- var e, f, g, h, i;
24
- this.type = b, this.$element = a(c), this.options = this.getOptions(d), this.enabled = !0, g = this.options.trigger.split(" ");
25
- for (i = g.length; i--;)h = g[i], h == "click" ? this.$element.on("click." + this.type, this.options.selector, a.proxy(this.toggle, this)) : h != "manual" && (e = h == "hover" ? "mouseenter" : "focus", f = h == "hover" ? "mouseleave" : "blur", this.$element.on(e + "." + this.type, this.options.selector, a.proxy(this.enter, this)), this.$element.on(f + "." + this.type, this.options.selector, a.proxy(this.leave, this)));
26
- this.options.selector ? this._options = a.extend({}, this.options, {trigger: "manual", selector: ""}) : this.fixTitle()
27
- }, getOptions: function (b) {
28
- return b = a.extend({}, a.fn[this.type].defaults, this.$element.data(), b), b.delay && typeof b.delay == "number" && (b.delay = {show: b.delay, hide: b.delay}), b
29
- }, enter: function (b) {
30
- var c = a.fn[this.type].defaults, d = {}, e;
31
- this._options && a.each(this._options, function (a, b) {
32
- c[a] != b && (d[a] = b)
33
- }, this), e = a(b.currentTarget)[this.type](d).data(this.type);
34
- if (!e.options.delay || !e.options.delay.show)return e.show();
35
- clearTimeout(this.timeout), e.hoverState = "in", this.timeout = setTimeout(function () {
36
- e.hoverState == "in" && e.show()
37
- }, e.options.delay.show)
38
- }, leave: function (b) {
39
- var c = a(b.currentTarget)[this.type](this._options).data(this.type);
40
- this.timeout && clearTimeout(this.timeout);
41
- if (!c.options.delay || !c.options.delay.hide)return c.hide();
42
- c.hoverState = "out", this.timeout = setTimeout(function () {
43
- c.hoverState == "out" && c.hide()
44
- }, c.options.delay.hide)
45
- }, show: function () {
46
- var b, c, d, e, f, g, h = a.Event("show");
47
- if (this.hasContent() && this.enabled) {
48
- this.$element.trigger(h);
49
- if (h.isDefaultPrevented())return;
50
- b = this.tip(), this.setContent(), this.options.animation && b.addClass("fade"), f = typeof this.options.placement == "function" ? this.options.placement.call(this, b[0], this.$element[0]) : this.options.placement, b.detach().css({top: 0, left: 0, display: "block"}), this.options.container ? b.appendTo(this.options.container) : b.insertAfter(this.$element), c = this.getPosition(), d = b[0].offsetWidth, e = b[0].offsetHeight;
51
- switch (f) {
52
- case"bottom":
53
- g = {top: c.top + c.height, left: c.left + c.width / 2 - d / 2};
54
- break;
55
- case"top":
56
- g = {top: c.top - e, left: c.left + c.width / 2 - d / 2};
57
- break;
58
- case"left":
59
- g = {top: c.top + c.height / 2 - e / 2, left: c.left - d};
60
- break;
61
- case"right":
62
- g = {top: c.top + c.height / 2 - e / 2, left: c.left + c.width}
63
- }
64
- this.applyPlacement(g, f), this.$element.trigger("shown")
65
- }
66
- }, applyPlacement: function (a, b) {
67
- var c = this.tip(), d = c[0].offsetWidth, e = c[0].offsetHeight, f, g, h, i;
68
- c.offset(a).addClass(b).addClass("in"), f = c[0].offsetWidth, g = c[0].offsetHeight, b == "top" && g != e && (a.top = a.top + e - g, i = !0), b == "bottom" || b == "top" ? (h = 0, a.left < 0 && (h = a.left * -2, a.left = 0, c.offset(a), f = c[0].offsetWidth, g = c[0].offsetHeight), this.replaceArrow(h - d + f, f, "left")) : this.replaceArrow(g - e, g, "top"), i && c.offset(a)
69
- }, replaceArrow: function (a, b, c) {
70
- this.arrow().css(c, a ? 50 * (1 - a / b) + "%" : "")
71
- }, setContent: function () {
72
- var a = this.tip(), b = this.getTitle();
73
- a.find(".tooltip-inner")[this.options.html ? "html" : "text"](b), a.removeClass("fade in top bottom left right")
74
- }, hide: function () {
75
- function e() {
76
- var b = setTimeout(function () {
77
- c.off(a.support.transition.end).detach()
78
- }, 500);
79
- c.one(a.support.transition.end, function () {
80
- clearTimeout(b), c.detach()
81
- })
82
- }
83
-
84
- var b = this, c = this.tip(), d = a.Event("hide");
85
- this.$element.trigger(d);
86
- if (d.isDefaultPrevented())return;
87
- return c.removeClass("in"), a.support.transition && this.$tip.hasClass("fade") ? e() : c.detach(), this.$element.trigger("hidden"), this
88
- }, fixTitle: function () {
89
- var a = this.$element;
90
- (a.attr("title") || typeof a.attr("data-original-title") != "string") && a.attr("data-original-title", a.attr("title") || "").attr("title", "")
91
- }, hasContent: function () {
92
- return this.getTitle()
93
- }, getPosition: function () {
94
- var b = this.$element[0];
95
- return a.extend({}, typeof b.getBoundingClientRect == "function" ? b.getBoundingClientRect() : {width: b.offsetWidth, height: b.offsetHeight}, this.$element.offset())
96
- }, getTitle: function () {
97
- var a, b = this.$element, c = this.options;
98
- return a = b.attr("data-original-title") || (typeof c.title == "function" ? c.title.call(b[0]) : c.title), a
99
- }, tip: function () {
100
- return this.$tip = this.$tip || a(this.options.template)
101
- }, arrow: function () {
102
- return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
103
- }, validate: function () {
104
- this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null)
105
- }, enable: function () {
106
- this.enabled = !0
107
- }, disable: function () {
108
- this.enabled = !1
109
- }, toggleEnabled: function () {
110
- this.enabled = !this.enabled
111
- }, toggle: function (b) {
112
- var c = b ? a(b.currentTarget)[this.type](this._options).data(this.type) : this;
113
- c.tip().hasClass("in") ? c.hide() : c.show()
114
- }, destroy: function () {
115
- this.hide().$element.off("." + this.type).removeData(this.type)
116
- }};
117
- var c = a.fn.tooltip;
118
- a.fn.tooltip = function (c) {
119
- return this.each(function () {
120
- var d = a(this), e = d.data("tooltip"), f = typeof c == "object" && c;
121
- e || d.data("tooltip", e = new b(this, f)), typeof c == "string" && e[c]()
122
- })
123
- }, a.fn.tooltip.Constructor = b, a.fn.tooltip.defaults = {animation: !0, placement: "top", selector: !1, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', trigger: "hover focus", title: "", delay: 0, html: !1, container: !1}, a.fn.tooltip.noConflict = function () {
124
- return a.fn.tooltip = c, this
125
- }
126
- }(window.jQuery)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/assets/js/js.iml DELETED
@@ -1,10 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager" inherit-compiler-output="true">
4
- <exclude-output />
5
- <content url="file://$MODULE_DIR$" />
6
- <orderEntry type="inheritedJdk" />
7
- <orderEntry type="sourceFolder" forTests="false" />
8
- </component>
9
- </module>
10
-
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/assets/js/select2/select2.css DELETED
@@ -1,564 +0,0 @@
1
- /*
2
- Version: @@ver@@ Timestamp: @@timestamp@@
3
- */
4
- .select2-container {
5
- position: relative;
6
- display: inline-block;
7
- /* inline-block for ie7 */
8
- zoom: 1;
9
- *display: inline;
10
- vertical-align: top;
11
- }
12
-
13
- .select2-container,
14
- .select2-drop,
15
- .select2-search,
16
- .select2-search input {
17
- /*
18
- Force border-box so that % widths fit the parent
19
- container without overlap because of margin/padding.
20
-
21
- More Info : http://www.quirksmode.org/css/box.html
22
- */
23
- -moz-box-sizing: border-box; /* firefox */
24
- -ms-box-sizing: border-box; /* ie */
25
- -webkit-box-sizing: border-box; /* webkit */
26
- -khtml-box-sizing: border-box; /* konqueror */
27
- box-sizing: border-box; /* css3 */
28
- }
29
-
30
- .select2-container .select2-choice {
31
- background-color: #fff;
32
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white));
33
- background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%);
34
- background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%);
35
- background-image: -o-linear-gradient(bottom, #eeeeee 0%, #ffffff 50%);
36
- background-image: -ms-linear-gradient(top, #eeeeee 0%, #ffffff 50%);
37
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
38
- background-image: linear-gradient(top, #eeeeee 0%, #ffffff 50%);
39
- -webkit-border-radius: 4px;
40
- -moz-border-radius: 4px;
41
- border-radius: 4px;
42
- -moz-background-clip: padding;
43
- -webkit-background-clip: padding-box;
44
- background-clip: padding-box;
45
- border: 1px solid #aaa;
46
- display: block;
47
- overflow: hidden;
48
- white-space: nowrap;
49
- position: relative;
50
- height: 26px;
51
- line-height: 26px;
52
- padding: 0 0 0 8px;
53
- color: #444;
54
- text-decoration: none;
55
- }
56
-
57
- .select2-container.select2-drop-above .select2-choice {
58
- border-bottom-color: #aaa;
59
- -webkit-border-radius: 0px 0px 4px 4px;
60
- -moz-border-radius: 0px 0px 4px 4px;
61
- border-radius: 0px 0px 4px 4px;
62
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.9, white));
63
- background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 90%);
64
- background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 90%);
65
- background-image: -o-linear-gradient(bottom, #eeeeee 0%, white 90%);
66
- background-image: -ms-linear-gradient(top, #eeeeee 0%, #ffffff 90%);
67
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
68
- background-image: linear-gradient(top, #eeeeee 0%, #ffffff 90%);
69
- }
70
-
71
- .select2-container .select2-choice span {
72
- margin-right: 26px;
73
- display: block;
74
- overflow: hidden;
75
- white-space: nowrap;
76
- -o-text-overflow: ellipsis;
77
- -ms-text-overflow: ellipsis;
78
- text-overflow: ellipsis;
79
- }
80
-
81
- .select2-container .select2-choice abbr {
82
- display: block;
83
- position: absolute;
84
- right: 26px;
85
- top: 8px;
86
- width: 12px;
87
- height: 12px;
88
- font-size: 1px;
89
- background: url('select2.png') right top no-repeat;
90
- cursor: pointer;
91
- text-decoration: none;
92
- border: 0;
93
- outline: 0;
94
- }
95
-
96
- .select2-container .select2-choice abbr:hover {
97
- background-position: right -11px;
98
- cursor: pointer;
99
- }
100
-
101
- .select2-drop {
102
- background: #fff;
103
- color: #000;
104
- border: 1px solid #aaa;
105
- border-top: 0;
106
- position: absolute;
107
- top: 100%;
108
- -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
109
- -moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
110
- -o-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
111
- box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
112
- z-index: 9999;
113
- width: 100%;
114
- margin-top: -1px;
115
-
116
- -webkit-border-radius: 0 0 4px 4px;
117
- -moz-border-radius: 0 0 4px 4px;
118
- border-radius: 0 0 4px 4px;
119
- }
120
-
121
- .select2-drop.select2-drop-above {
122
- -webkit-border-radius: 4px 4px 0px 0px;
123
- -moz-border-radius: 4px 4px 0px 0px;
124
- border-radius: 4px 4px 0px 0px;
125
- margin-top: 1px;
126
- border-top: 1px solid #aaa;
127
- border-bottom: 0;
128
-
129
- -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
130
- -moz-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
131
- -o-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
132
- box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
133
- }
134
-
135
- .select2-container .select2-choice div {
136
- -webkit-border-radius: 0 4px 4px 0;
137
- -moz-border-radius: 0 4px 4px 0;
138
- border-radius: 0 4px 4px 0;
139
- -moz-background-clip: padding;
140
- -webkit-background-clip: padding-box;
141
- background-clip: padding-box;
142
- background: #ccc;
143
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
144
- background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
145
- background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
146
- background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%);
147
- background-image: -ms-linear-gradient(top, #cccccc 0%, #eeeeee 60%);
148
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#eeeeee', GradientType=0);
149
- background-image: linear-gradient(top, #cccccc 0%, #eeeeee 60%);
150
- border-left: 1px solid #aaa;
151
- position: absolute;
152
- right: 0;
153
- top: 0;
154
- display: block;
155
- height: 100%;
156
- width: 18px;
157
- }
158
-
159
- .select2-container .select2-choice div b {
160
- background: url('select2.png') no-repeat 0 1px;
161
- display: block;
162
- width: 100%;
163
- height: 100%;
164
- }
165
-
166
- .select2-search {
167
- display: inline-block;
168
- white-space: nowrap;
169
- z-index: 10000;
170
- position: relative;
171
- min-height: 26px;
172
- width: 100%;
173
- margin: 0;
174
- padding-left: 4px;
175
- padding-right: 4px;
176
- }
177
-
178
- .select2-search-hidden {
179
- display: block;
180
- position: absolute;
181
- left: -10000px;
182
- }
183
-
184
- .select2-search input {
185
- background: #fff url('select2.png') no-repeat 100% -22px;
186
- background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
187
- background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
188
- background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
189
- background: url('select2.png') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
190
- background: url('select2.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
191
- background: url('select2.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
192
- padding: 4px 20px 4px 5px;
193
- outline: 0;
194
- border: 1px solid #aaa;
195
- font-family: sans-serif;
196
- font-size: 1em;
197
- width: 100%;
198
- margin: 0;
199
- height: auto !important;
200
- min-height: 26px;
201
- -webkit-box-shadow: none;
202
- -moz-box-shadow: none;
203
- box-shadow: none;
204
- border-radius: 0;
205
- -moz-border-radius: 0;
206
- -webkit-border-radius: 0;
207
- }
208
-
209
- .select2-drop.select2-drop-above .select2-search input {
210
- margin-top: 4px;
211
- }
212
-
213
- .select2-search input.select2-active {
214
- background: #fff url('spinner.gif') no-repeat 100%;
215
- background: url('spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
216
- background: url('spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
217
- background: url('spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
218
- background: url('spinner.gif') no-repeat 100%, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
219
- background: url('spinner.gif') no-repeat 100%, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
220
- background: url('spinner.gif') no-repeat 100%, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
221
- }
222
-
223
- .select2-container-active .select2-choice,
224
- .select2-container-active .select2-choices {
225
- -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
226
- -moz-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
227
- -o-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
228
- box-shadow: 0 0 5px rgba(0, 0, 0, .3);
229
- border: 1px solid #5897fb;
230
- outline: none;
231
- }
232
-
233
- .select2-dropdown-open .select2-choice {
234
- border: 1px solid #aaa;
235
- border-bottom-color: transparent;
236
- -webkit-box-shadow: 0 1px 0 #fff inset;
237
- -moz-box-shadow: 0 1px 0 #fff inset;
238
- -o-box-shadow: 0 1px 0 #fff inset;
239
- box-shadow: 0 1px 0 #fff inset;
240
- background-color: #eee;
241
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, white), color-stop(0.5, #eeeeee));
242
- background-image: -webkit-linear-gradient(center bottom, white 0%, #eeeeee 50%);
243
- background-image: -moz-linear-gradient(center bottom, white 0%, #eeeeee 50%);
244
- background-image: -o-linear-gradient(bottom, white 0%, #eeeeee 50%);
245
- background-image: -ms-linear-gradient(top, #ffffff 0%, #eeeeee 50%);
246
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);
247
- background-image: linear-gradient(top, #ffffff 0%, #eeeeee 50%);
248
- -webkit-border-bottom-left-radius: 0;
249
- -webkit-border-bottom-right-radius: 0;
250
- -moz-border-radius-bottomleft: 0;
251
- -moz-border-radius-bottomright: 0;
252
- border-bottom-left-radius: 0;
253
- border-bottom-right-radius: 0;
254
- }
255
-
256
- .select2-dropdown-open .select2-choice div {
257
- background: transparent;
258
- border-left: none;
259
- }
260
-
261
- .select2-dropdown-open .select2-choice div b {
262
- background-position: -18px 1px;
263
- }
264
-
265
- /* results */
266
- .select2-results {
267
- margin: 4px 4px 4px 0;
268
- padding: 0 0 0 4px;
269
- position: relative;
270
- overflow-x: hidden;
271
- overflow-y: auto;
272
- max-height: 200px;
273
- }
274
-
275
- .select2-results ul.select2-result-sub {
276
- margin: 0 0 0 0;
277
- }
278
-
279
- .select2-results ul.select2-result-sub > li .select2-result-label {
280
- padding-left: 20px
281
- }
282
-
283
- .select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
284
- padding-left: 40px
285
- }
286
-
287
- .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
288
- padding-left: 60px
289
- }
290
-
291
- .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
292
- padding-left: 80px
293
- }
294
-
295
- .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
296
- padding-left: 100px
297
- }
298
-
299
- .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
300
- padding-left: 110px
301
- }
302
-
303
- .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
304
- padding-left: 120px
305
- }
306
-
307
- .select2-results li {
308
- list-style: none;
309
- display: list-item;
310
- }
311
-
312
- .select2-results li.select2-result-with-children > .select2-result-label {
313
- font-weight: bold;
314
- }
315
-
316
- .select2-results .select2-result-label {
317
- padding: 3px 7px 4px;
318
- margin: 0;
319
- cursor: pointer;
320
- }
321
-
322
- .select2-results .select2-highlighted {
323
- background: #3875d7;
324
- color: #fff;
325
- }
326
-
327
- .select2-results li em {
328
- background: #feffde;
329
- font-style: normal;
330
- }
331
-
332
- .select2-results .select2-highlighted em {
333
- background: transparent;
334
- }
335
-
336
- .select2-results .select2-no-results,
337
- .select2-results .select2-searching,
338
- .select2-results .select2-selection-limit {
339
- background: #f4f4f4;
340
- display: list-item;
341
- }
342
-
343
- /*
344
- disabled look for already selected choices in the results dropdown
345
- .select2-results .select2-disabled.select2-highlighted {
346
- color: #666;
347
- background: #f4f4f4;
348
- display: list-item;
349
- cursor: default;
350
- }
351
- .select2-results .select2-disabled {
352
- background: #f4f4f4;
353
- display: list-item;
354
- cursor: default;
355
- }
356
- */
357
- .select2-results .select2-disabled {
358
- display: none;
359
- }
360
-
361
- .select2-more-results.select2-active {
362
- background: #f4f4f4 url('spinner.gif') no-repeat 100%;
363
- }
364
-
365
- .select2-more-results {
366
- background: #f4f4f4;
367
- display: list-item;
368
- }
369
-
370
- /* disabled styles */
371
-
372
- .select2-container.select2-container-disabled .select2-choice {
373
- background-color: #f4f4f4;
374
- background-image: none;
375
- border: 1px solid #ddd;
376
- cursor: default;
377
- }
378
-
379
- .select2-container.select2-container-disabled .select2-choice div {
380
- background-color: #f4f4f4;
381
- background-image: none;
382
- border-left: 0;
383
- }
384
-
385
- .select2-container.select2-container-disabled .select2-choice abbr {
386
- display: none
387
- }
388
-
389
- /* multiselect */
390
-
391
- .select2-container-multi .select2-choices {
392
- background-color: #fff;
393
- background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
394
- background-image: -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
395
- background-image: -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
396
- background-image: -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
397
- background-image: -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
398
- background-image: linear-gradient(top, #eeeeee 1%, #ffffff 15%);
399
- border: 1px solid #aaa;
400
- margin: 0;
401
- padding: 0;
402
- cursor: text;
403
- overflow: hidden;
404
- height: auto !important;
405
- height: 1%;
406
- position: relative;
407
- }
408
-
409
- .select2-container-multi .select2-choices {
410
- min-height: 26px;
411
- }
412
-
413
- .select2-container-multi.select2-container-active .select2-choices {
414
- -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
415
- -moz-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
416
- -o-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
417
- box-shadow: 0 0 5px rgba(0, 0, 0, .3);
418
- border: 1px solid #5897fb;
419
- outline: none;
420
- }
421
-
422
- .select2-container-multi .select2-choices li {
423
- float: left;
424
- list-style: none;
425
- }
426
-
427
- .select2-container-multi .select2-choices .select2-search-field {
428
- white-space: nowrap;
429
- margin: 0;
430
- padding: 0;
431
- }
432
-
433
- .select2-container-multi .select2-choices .select2-search-field input {
434
- color: #666;
435
- background: transparent !important;
436
- font-family: sans-serif;
437
- font-size: 100%;
438
- height: 15px;
439
- padding: 5px;
440
- margin: 1px 0;
441
- outline: 0;
442
- border: 0;
443
- -webkit-box-shadow: none;
444
- -moz-box-shadow: none;
445
- -o-box-shadow: none;
446
- box-shadow: none;
447
- }
448
-
449
- .select2-container-multi .select2-choices .select2-search-field input.select2-active {
450
- background: #fff url('spinner.gif') no-repeat 100% !important;
451
- }
452
-
453
- .select2-default {
454
- color: #999 !important;
455
- }
456
-
457
- .select2-container-multi .select2-choices .select2-search-choice {
458
- -webkit-border-radius: 3px;
459
- -moz-border-radius: 3px;
460
- border-radius: 3px;
461
- -moz-background-clip: padding;
462
- -webkit-background-clip: padding-box;
463
- background-clip: padding-box;
464
- background-color: #e4e4e4;
465
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4f4f4', endColorstr='#eeeeee', GradientType=0);
466
- background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
467
- background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
468
- background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
469
- background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
470
- background-image: -ms-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
471
- background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
472
- -webkit-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
473
- -moz-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
474
- box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
475
- color: #333;
476
- border: 1px solid #aaaaaa;
477
- line-height: 13px;
478
- padding: 3px 5px 3px 18px;
479
- margin: 3px 0 3px 5px;
480
- position: relative;
481
- cursor: default;
482
- }
483
-
484
- .select2-container-multi .select2-choices .select2-search-choice span {
485
- cursor: default;
486
- }
487
-
488
- .select2-container-multi .select2-choices .select2-search-choice-focus {
489
- background: #d4d4d4;
490
- }
491
-
492
- .select2-search-choice-close {
493
- display: block;
494
- position: absolute;
495
- right: 3px;
496
- top: 4px;
497
- width: 12px;
498
- height: 13px;
499
- font-size: 1px;
500
- background: url('select2.png') right top no-repeat;
501
- outline: none;
502
- }
503
-
504
- .select2-container-multi .select2-search-choice-close {
505
- left: 3px;
506
- }
507
-
508
- .select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
509
- background-position: right -11px;
510
- }
511
-
512
- .select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
513
- background-position: right -11px;
514
- }
515
-
516
- /* disabled styles */
517
-
518
- .select2-container-multi.select2-container-disabled .select2-choices {
519
- background-color: #f4f4f4;
520
- background-image: none;
521
- border: 1px solid #ddd;
522
- cursor: default;
523
- }
524
-
525
- .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
526
- background-image: none;
527
- background-color: #f4f4f4;
528
- border: 1px solid #ddd;
529
- padding: 3px 5px 3px 5px;
530
- }
531
-
532
- .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {
533
- display: none;
534
- }
535
-
536
- /* end multiselect */
537
-
538
- .select2-result-selectable .select2-match,
539
- .select2-result-unselectable .select2-result-selectable .select2-match {
540
- text-decoration: underline;
541
- }
542
-
543
- .select2-result-unselectable .select2-match {
544
- text-decoration: none;
545
- }
546
-
547
- .select2-offscreen {
548
- position: absolute;
549
- left: -10000px;
550
- }
551
-
552
- /* Retina-ize icons */
553
-
554
- @media only screen and (-webkit-min-device-pixel-ratio: 1.5) {
555
- .select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice div b {
556
- background-image: url('select2x2.png') !important;
557
- background-repeat: no-repeat !important;
558
- background-size: 60px 40px !important;
559
- }
560
-
561
- .select2-search input {
562
- background-position: 100% -21px !important;
563
- }
564
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/assets/js/select2/select2.js DELETED
@@ -1,2506 +0,0 @@
1
- /*
2
- Copyright 2012 Igor Vaynberg
3
-
4
- Version: @@ver@@ Timestamp: @@timestamp@@
5
-
6
- This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
7
- General Public License version 2 (the "GPL License"). You may choose either license to govern your
8
- use of this software only upon the condition that you accept all of the terms of either the Apache
9
- License or the GPL License.
10
-
11
- You may obtain a copy of the Apache License and the GPL License at:
12
-
13
- http://www.apache.org/licenses/LICENSE-2.0
14
- http://www.gnu.org/licenses/gpl-2.0.html
15
-
16
- Unless required by applicable law or agreed to in writing, software distributed under the
17
- Apache License or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
18
- CONDITIONS OF ANY KIND, either express or implied. See the Apache License and the GPL License for
19
- the specific language governing permissions and limitations under the Apache License and the GPL License.
20
- */
21
- (function ($) {
22
- if (typeof $.fn.each2 == "undefined") {
23
- $.fn.extend({
24
- /*
25
- * 4-10 times faster .each replacement
26
- * use it carefully, as it overrides jQuery context of element on each iteration
27
- */
28
- each2: function (c) {
29
- var j = $([0]), i = -1, l = this.length;
30
- while (
31
- ++i < l
32
- && (j.context = j[0] = this[i])
33
- && c.call(j[0], i, j) !== false //"this"=DOM, i=index, j=jQuery object
34
- );
35
- return this;
36
- }
37
- });
38
- }
39
- })(jQuery);
40
-
41
- (function ($, undefined) {
42
- "use strict";
43
- /*global document, window, jQuery, console */
44
-
45
- if (window.Select2 !== undefined) {
46
- return;
47
- }
48
-
49
- var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer,
50
- lastMousePosition, $document;
51
-
52
- KEY = {
53
- TAB: 9,
54
- ENTER: 13,
55
- ESC: 27,
56
- SPACE: 32,
57
- LEFT: 37,
58
- UP: 38,
59
- RIGHT: 39,
60
- DOWN: 40,
61
- SHIFT: 16,
62
- CTRL: 17,
63
- ALT: 18,
64
- PAGE_UP: 33,
65
- PAGE_DOWN: 34,
66
- HOME: 36,
67
- END: 35,
68
- BACKSPACE: 8,
69
- DELETE: 46,
70
- isArrow: function (k) {
71
- k = k.which ? k.which : k;
72
- switch (k) {
73
- case KEY.LEFT:
74
- case KEY.RIGHT:
75
- case KEY.UP:
76
- case KEY.DOWN:
77
- return true;
78
- }
79
- return false;
80
- },
81
- isControl: function (e) {
82
- var k = e.which;
83
- switch (k) {
84
- case KEY.SHIFT:
85
- case KEY.CTRL:
86
- case KEY.ALT:
87
- return true;
88
- }
89
-
90
- if (e.metaKey) return true;
91
-
92
- return false;
93
- },
94
- isFunctionKey: function (k) {
95
- k = k.which ? k.which : k;
96
- return k >= 112 && k <= 123;
97
- }
98
- };
99
-
100
- $document = $(document);
101
-
102
- nextUid = (function () {
103
- var counter = 1;
104
- return function () {
105
- return counter++;
106
- };
107
- }());
108
-
109
- function indexOf(value, array) {
110
- var i = 0, l = array.length, v;
111
-
112
- if (typeof value === "undefined") {
113
- return -1;
114
- }
115
-
116
- if (value.constructor === String) {
117
- for (; i < l; i = i + 1) if (value.localeCompare(array[i]) === 0) return i;
118
- } else {
119
- for (; i < l; i = i + 1) {
120
- v = array[i];
121
- if (v.constructor === String) {
122
- if (v.localeCompare(value) === 0) return i;
123
- } else {
124
- if (v === value) return i;
125
- }
126
- }
127
- }
128
- return -1;
129
- }
130
-
131
- /**
132
- * Compares equality of a and b taking into account that a and b may be strings, in which case localeCompare is used
133
- * @param a
134
- * @param b
135
- */
136
- function equal(a, b) {
137
- if (a === b) return true;
138
- if (a === undefined || b === undefined) return false;
139
- if (a === null || b === null) return false;
140
- if (a.constructor === String) return a.localeCompare(b) === 0;
141
- if (b.constructor === String) return b.localeCompare(a) === 0;
142
- return false;
143
- }
144
-
145
- /**
146
- * Splits the string into an array of values, trimming each value. An empty array is returned for nulls or empty
147
- * strings
148
- * @param string
149
- * @param separator
150
- */
151
- function splitVal(string, separator) {
152
- var val, i, l;
153
- if (string === null || string.length < 1) return [];
154
- val = string.split(separator);
155
- for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]);
156
- return val;
157
- }
158
-
159
- function getSideBorderPadding(element) {
160
- return element.outerWidth(false) - element.width();
161
- }
162
-
163
- function installKeyUpChangeEvent(element) {
164
- var key = "keyup-change-value";
165
- element.bind("keydown", function () {
166
- if ($.data(element, key) === undefined) {
167
- $.data(element, key, element.val());
168
- }
169
- });
170
- element.bind("keyup", function () {
171
- var val = $.data(element, key);
172
- if (val !== undefined && element.val() !== val) {
173
- $.removeData(element, key);
174
- element.trigger("keyup-change");
175
- }
176
- });
177
- }
178
-
179
- $document.bind("mousemove", function (e) {
180
- lastMousePosition = {x: e.pageX, y: e.pageY};
181
- });
182
-
183
- /**
184
- * filters mouse events so an event is fired only if the mouse moved.
185
- *
186
- * filters out mouse events that occur when mouse is stationary but
187
- * the elements under the pointer are scrolled.
188
- */
189
- function installFilteredMouseMove(element) {
190
- element.bind("mousemove", function (e) {
191
- var lastpos = lastMousePosition;
192
- if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {
193
- $(e.target).trigger("mousemove-filtered", e);
194
- }
195
- });
196
- }
197
-
198
- /**
199
- * Debounces a function. Returns a function that calls the original fn function only if no invocations have been made
200
- * within the last quietMillis milliseconds.
201
- *
202
- * @param quietMillis number of milliseconds to wait before invoking fn
203
- * @param fn function to be debounced
204
- * @param ctx object to be used as this reference within fn
205
- * @return debounced version of fn
206
- */
207
- function debounce(quietMillis, fn, ctx) {
208
- ctx = ctx || undefined;
209
- var timeout;
210
- return function () {
211
- var args = arguments;
212
- window.clearTimeout(timeout);
213
- timeout = window.setTimeout(function () {
214
- fn.apply(ctx, args);
215
- }, quietMillis);
216
- };
217
- }
218
-
219
- /**
220
- * A simple implementation of a thunk
221
- * @param formula function used to lazily initialize the thunk
222
- * @return {Function}
223
- */
224
- function thunk(formula) {
225
- var evaluated = false,
226
- value;
227
- return function () {
228
- if (evaluated === false) {
229
- value = formula();
230
- evaluated = true;
231
- }
232
- return value;
233
- };
234
- };
235
-
236
- function installDebouncedScroll(threshold, element) {
237
- var notify = debounce(threshold, function (e) {
238
- element.trigger("scroll-debounced", e);
239
- });
240
- element.bind("scroll", function (e) {
241
- if (indexOf(e.target, element.get()) >= 0) notify(e);
242
- });
243
- }
244
-
245
- function killEvent(event) {
246
- event.preventDefault();
247
- event.stopPropagation();
248
- }
249
-
250
- function killEventImmediately(event) {
251
- event.preventDefault();
252
- event.stopImmediatePropagation();
253
- }
254
-
255
- function measureTextWidth(e) {
256
- if (!sizer) {
257
- var style = e[0].currentStyle || window.getComputedStyle(e[0], null);
258
- sizer = $("<div></div>").css({
259
- position: "absolute",
260
- left: "-10000px",
261
- top: "-10000px",
262
- display: "none",
263
- fontSize: style.fontSize,
264
- fontFamily: style.fontFamily,
265
- fontStyle: style.fontStyle,
266
- fontWeight: style.fontWeight,
267
- letterSpacing: style.letterSpacing,
268
- textTransform: style.textTransform,
269
- whiteSpace: "nowrap"
270
- });
271
- $("body").append(sizer);
272
- }
273
- sizer.text(e.val());
274
- return sizer.width();
275
- }
276
-
277
- function markMatch(text, term, markup) {
278
- var match = text.toUpperCase().indexOf(term.toUpperCase()),
279
- tl = term.length;
280
-
281
- if (match < 0) {
282
- markup.push(text);
283
- return;
284
- }
285
-
286
- markup.push(text.substring(0, match));
287
- markup.push("<span class='select2-match'>");
288
- markup.push(text.substring(match, match + tl));
289
- markup.push("</span>");
290
- markup.push(text.substring(match + tl, text.length));
291
- }
292
-
293
- /**
294
- * Produces an ajax-based query function
295
- *
296
- * @param options object containing configuration paramters
297
- * @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax
298
- * @param options.url url for the data
299
- * @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url.
300
- * @param options.dataType request data type: ajax, jsonp, other datatatypes supported by jQuery's $.ajax function or the transport function if specified
301
- * @param options.traditional a boolean flag that should be true if you wish to use the traditional style of param serialization for the ajax request
302
- * @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often
303
- * @param options.results a function(remoteData, pageNumber) that converts data returned form the remote request to the format expected by Select2.
304
- * The expected format is an object containing the following keys:
305
- * results array of objects that will be used as choices
306
- * more (optional) boolean indicating whether there are more results available
307
- * Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true}
308
- */
309
- function ajax(options) {
310
- var timeout, // current scheduled but not yet executed request
311
- requestSequence = 0, // sequence used to drop out-of-order responses
312
- handler = null,
313
- quietMillis = options.quietMillis || 100;
314
-
315
- return function (query) {
316
- window.clearTimeout(timeout);
317
- timeout = window.setTimeout(function () {
318
- requestSequence += 1; // increment the sequence
319
- var requestNumber = requestSequence, // this request's sequence number
320
- data = options.data, // ajax data function
321
- transport = options.transport || $.ajax,
322
- traditional = options.traditional || false,
323
- type = options.type || 'GET'; // set type of request (GET or POST)
324
-
325
- data = data.call(this, query.term, query.page, query.context);
326
-
327
- if (null !== handler) {
328
- handler.abort();
329
- }
330
-
331
- handler = transport.call(null, {
332
- url: options.url,
333
- dataType: options.dataType,
334
- data: data,
335
- type: type,
336
- traditional: traditional,
337
- success: function (data) {
338
- if (requestNumber < requestSequence) {
339
- return;
340
- }
341
- // TODO 3.0 - replace query.page with query so users have access to term, page, etc.
342
- var results = options.results(data, query.page);
343
- query.callback(results);
344
- }
345
- });
346
- }, quietMillis);
347
- };
348
- }
349
-
350
- /**
351
- * Produces a query function that works with a local array
352
- *
353
- * @param options object containing configuration parameters. The options parameter can either be an array or an
354
- * object.
355
- *
356
- * If the array form is used it is assumed that it contains objects with 'id' and 'text' keys.
357
- *
358
- * If the object form is used ti is assumed that it contains 'data' and 'text' keys. The 'data' key should contain
359
- * an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text'
360
- * key can either be a String in which case it is expected that each element in the 'data' array has a key with the
361
- * value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract
362
- * the text.
363
- */
364
- function local(options) {
365
- var data = options, // data elements
366
- dataText,
367
- text = function (item) {
368
- return "" + item.text;
369
- }; // function used to retrieve the text portion of a data item that is matched against the search
370
-
371
- if (!$.isArray(data)) {
372
- text = data.text;
373
- // if text is not a function we assume it to be a key name
374
- if (!$.isFunction(text)) {
375
- dataText = data.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available
376
- text = function (item) {
377
- return item[dataText];
378
- };
379
- }
380
- data = data.results;
381
- }
382
-
383
- return function (query) {
384
- var t = query.term, filtered = { results: [] }, process;
385
- if (t === "") {
386
- query.callback({results: data});
387
- return;
388
- }
389
-
390
- process = function (datum, collection) {
391
- var group, attr;
392
- datum = datum[0];
393
- if (datum.children) {
394
- group = {};
395
- for (attr in datum) {
396
- if (datum.hasOwnProperty(attr)) group[attr] = datum[attr];
397
- }
398
- group.children = [];
399
- $(datum.children).each2(function (i, childDatum) {
400
- process(childDatum, group.children);
401
- });
402
- if (group.children.length) {
403
- collection.push(group);
404
- }
405
- } else {
406
- if (query.matcher(t, text(datum))) {
407
- collection.push(datum);
408
- }
409
- }
410
- };
411
-
412
- $(data).each2(function (i, datum) {
413
- process(datum, filtered.results);
414
- });
415
- query.callback(filtered);
416
- };
417
- }
418
-
419
- // TODO javadoc
420
- function tags(data) {
421
- // TODO even for a function we should probably return a wrapper that does the same object/string check as
422
- // the function for arrays. otherwise only functions that return objects are supported.
423
- if ($.isFunction(data)) {
424
- return data;
425
- }
426
-
427
- // if not a function we assume it to be an array
428
-
429
- return function (query) {
430
- var t = query.term, filtered = {results: []};
431
- $(data).each(function () {
432
- var isObject = this.text !== undefined,
433
- text = isObject ? this.text : this;
434
- if (t === "" || query.matcher(t, text)) {
435
- filtered.results.push(isObject ? this : {id: this, text: this});
436
- }
437
- });
438
- query.callback(filtered);
439
- };
440
- }
441
-
442
- /**
443
- * Checks if the formatter function should be used.
444
- *
445
- * Throws an error if it is not a function. Returns true if it should be used,
446
- * false if no formatting should be performed.
447
- *
448
- * @param formatter
449
- */
450
- function checkFormatter(formatter, formatterName) {
451
- if ($.isFunction(formatter)) return true;
452
- if (!formatter) return false;
453
- throw new Error("formatterName must be a function or a falsy value");
454
- }
455
-
456
- function evaluate(val) {
457
- return $.isFunction(val) ? val() : val;
458
- }
459
-
460
- function countResults(results) {
461
- var count = 0;
462
- $.each(results, function (i, item) {
463
- if (item.children) {
464
- count += countResults(item.children);
465
- } else {
466
- count++;
467
- }
468
- });
469
- return count;
470
- }
471
-
472
- /**
473
- * Default tokenizer. This function uses breaks the input on substring match of any string from the
474
- * opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those
475
- * two options have to be defined in order for the tokenizer to work.
476
- *
477
- * @param input text user has typed so far or pasted into the search field
478
- * @param selection currently selected choices
479
- * @param selectCallback function(choice) callback tho add the choice to selection
480
- * @param opts select2's opts
481
- * @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value
482
- */
483
- function defaultTokenizer(input, selection, selectCallback, opts) {
484
- var original = input, // store the original so we can compare and know if we need to tell the search to update its text
485
- dupe = false, // check for whether a token we extracted represents a duplicate selected choice
486
- token, // token
487
- index, // position at which the separator was found
488
- i, l, // looping variables
489
- separator; // the matched separator
490
-
491
- if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined;
492
-
493
- while (true) {
494
- index = -1;
495
-
496
- for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {
497
- separator = opts.tokenSeparators[i];
498
- index = input.indexOf(separator);
499
- if (index >= 0) break;
500
- }
501
-
502
- if (index < 0) break; // did not find any token separator in the input string, bail
503
-
504
- token = input.substring(0, index);
505
- input = input.substring(index + separator.length);
506
-
507
- if (token.length > 0) {
508
- token = opts.createSearchChoice(token, selection);
509
- if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {
510
- dupe = false;
511
- for (i = 0, l = selection.length; i < l; i++) {
512
- if (equal(opts.id(token), opts.id(selection[i]))) {
513
- dupe = true;
514
- break;
515
- }
516
- }
517
-
518
- if (!dupe) selectCallback(token);
519
- }
520
- }
521
- }
522
-
523
- if (original.localeCompare(input) != 0) return input;
524
- }
525
-
526
- /**
527
- * blurs any Select2 container that has focus when an element outside them was clicked or received focus
528
- *
529
- * also takes care of clicks on label tags that point to the source element
530
- */
531
- $document.ready(function () {
532
- $document.bind("mousedown touchend", function (e) {
533
- var target = $(e.target).closest("div.select2-container").get(0), attr;
534
- if (target) {
535
- $document.find("div.select2-container-active").each(function () {
536
- if (this !== target) $(this).data("select2").blur();
537
- });
538
- } else {
539
- target = $(e.target).closest("div.select2-drop").get(0);
540
- $document.find("div.select2-drop-active").each(function () {
541
- if (this !== target) $(this).data("select2").blur();
542
- });
543
- }
544
-
545
- target = $(e.target);
546
- attr = target.attr("for");
547
- if ("LABEL" === e.target.tagName && attr && attr.length > 0) {
548
- attr = attr.replace(/([\[\].])/g, '\\$1');
549
- /* escapes [, ], and . so properly selects the id */
550
- target = $("#" + attr);
551
- target = target.data("select2");
552
- if (target !== undefined) {
553
- target.focus();
554
- e.preventDefault();
555
- }
556
- }
557
- });
558
- });
559
-
560
- /**
561
- * Creates a new class
562
- *
563
- * @param superClass
564
- * @param methods
565
- */
566
- function clazz(SuperClass, methods) {
567
- var constructor = function () {
568
- };
569
- constructor.prototype = new SuperClass;
570
- constructor.prototype.constructor = constructor;
571
- constructor.prototype.parent = SuperClass.prototype;
572
- constructor.prototype = $.extend(constructor.prototype, methods);
573
- return constructor;
574
- }
575
-
576
- AbstractSelect2 = clazz(Object, {
577
-
578
- // abstract
579
- bind: function (func) {
580
- var self = this;
581
- return function () {
582
- func.apply(self, arguments);
583
- };
584
- },
585
-
586
- // abstract
587
- init: function (opts) {
588
- var results, search, resultsSelector = ".select2-results";
589
-
590
- // prepare options
591
- this.opts = opts = this.prepareOpts(opts);
592
-
593
- this.id = opts.id;
594
-
595
- // destroy if called on an existing component
596
- if (opts.element.data("select2") !== undefined &&
597
- opts.element.data("select2") !== null) {
598
- this.destroy();
599
- }
600
-
601
- this.enabled = true;
602
- this.container = this.createContainer();
603
-
604
- this.containerId = "s2id_" + (opts.element.attr("id") || "autogen" + nextUid());
605
- this.containerSelector = "#" + this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
606
- this.container.attr("id", this.containerId);
607
-
608
- // cache the body so future lookups are cheap
609
- this.body = thunk(function () {
610
- return opts.element.closest("body");
611
- });
612
-
613
- if (opts.element.attr("class") !== undefined) {
614
- this.container.addClass(opts.element.attr("class").replace(/validate\[[\S ]+] ?/, ''));
615
- }
616
-
617
- this.container.css(evaluate(opts.containerCss));
618
- this.container.addClass(evaluate(opts.containerCssClass));
619
-
620
- // swap container for the element
621
- this.opts.element
622
- .data("select2", this)
623
- .hide()
624
- .before(this.container);
625
- this.container.data("select2", this);
626
-
627
- this.dropdown = this.container.find(".select2-drop");
628
- this.dropdown.addClass(evaluate(opts.dropdownCssClass));
629
- this.dropdown.data("select2", this);
630
-
631
- this.results = results = this.container.find(resultsSelector);
632
- this.search = search = this.container.find("input.select2-input");
633
-
634
- search.attr("tabIndex", this.opts.element.attr("tabIndex"));
635
-
636
- this.resultsPage = 0;
637
- this.context = null;
638
-
639
- // initialize the container
640
- this.initContainer();
641
- this.initContainerWidth();
642
-
643
- installFilteredMouseMove(this.results);
644
- this.dropdown.delegate(resultsSelector, "mousemove-filtered", this.bind(this.highlightUnderEvent));
645
-
646
- installDebouncedScroll(80, this.results);
647
- this.dropdown.delegate(resultsSelector, "scroll-debounced", this.bind(this.loadMoreIfNeeded));
648
-
649
- // if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel
650
- if ($.fn.mousewheel) {
651
- results.mousewheel(function (e, delta, deltaX, deltaY) {
652
- var top = results.scrollTop(), height;
653
- if (deltaY > 0 && top - deltaY <= 0) {
654
- results.scrollTop(0);
655
- killEvent(e);
656
- } else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {
657
- results.scrollTop(results.get(0).scrollHeight - results.height());
658
- killEvent(e);
659
- }
660
- });
661
- }
662
-
663
- installKeyUpChangeEvent(search);
664
- search.bind("keyup-change", this.bind(this.updateResults));
665
- search.bind("focus", function () {
666
- search.addClass("select2-focused");
667
- if (search.val() === " ") search.val("");
668
- });
669
- search.bind("blur", function () {
670
- search.removeClass("select2-focused");
671
- });
672
-
673
- this.dropdown.delegate(resultsSelector, "mouseup", this.bind(function (e) {
674
- if ($(e.target).closest(".select2-result-selectable:not(.select2-disabled)").length > 0) {
675
- this.highlightUnderEvent(e);
676
- this.selectHighlighted(e);
677
- } else {
678
- this.focusSearch();
679
- }
680
- killEvent(e);
681
- }));
682
-
683
- // trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening
684
- // for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's
685
- // dom it will trigger the popup close, which is not what we want
686
- this.dropdown.bind("click mouseup mousedown", function (e) {
687
- e.stopPropagation();
688
- });
689
-
690
- if ($.isFunction(this.opts.initSelection)) {
691
- // initialize selection based on the current value of the source element
692
- this.initSelection();
693
-
694
- // if the user has provided a function that can set selection based on the value of the source element
695
- // we monitor the change event on the element and trigger it, allowing for two way synchronization
696
- this.monitorSource();
697
- }
698
-
699
- if (opts.element.is(":disabled") || opts.element.is("[readonly='readonly']")) this.disable();
700
- },
701
-
702
- // abstract
703
- destroy: function () {
704
- var select2 = this.opts.element.data("select2");
705
- if (select2 !== undefined) {
706
- select2.container.remove();
707
- select2.dropdown.remove();
708
- select2.opts.element
709
- .removeData("select2")
710
- .unbind(".select2")
711
- .show();
712
- }
713
- },
714
-
715
- // abstract
716
- prepareOpts: function (opts) {
717
- var element, select, idKey, ajaxUrl;
718
-
719
- element = opts.element;
720
-
721
- if (element.get(0).tagName.toLowerCase() === "select") {
722
- this.select = select = opts.element;
723
- }
724
-
725
- if (select) {
726
- // these options are not allowed when attached to a select because they are picked up off the element itself
727
- $.each(["id", "multiple", "ajax", "query", "createSearchChoice", "initSelection", "data", "tags"], function () {
728
- if (this in opts) {
729
- throw new Error("Option '" + this + "' is not allowed for Select2 when attached to a <select> element.");
730
- }
731
- });
732
- }
733
-
734
- opts = $.extend({}, {
735
- populateResults: function (container, results, query) {
736
- var populate, data, result, children, id = this.opts.id, self = this;
737
-
738
- populate = function (results, container, depth) {
739
-
740
- var i, l, result, selectable, compound, node, label, innerContainer, formatted;
741
- for (i = 0, l = results.length; i < l; i = i + 1) {
742
-
743
- result = results[i];
744
- selectable = id(result) !== undefined;
745
- compound = result.children && result.children.length > 0;
746
-
747
- node = $("<li></li>");
748
- node.addClass("select2-results-dept-" + depth);
749
- node.addClass("select2-result");
750
- node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable");
751
- if (compound) {
752
- node.addClass("select2-result-with-children");
753
- }
754
- node.addClass(self.opts.formatResultCssClass(result));
755
-
756
- label = $("<div></div>");
757
- label.addClass("select2-result-label");
758
-
759
- formatted = opts.formatResult(result, label, query);
760
- if (formatted !== undefined) {
761
- label.html(self.opts.escapeMarkup(formatted));
762
- }
763
-
764
- node.append(label);
765
-
766
- if (compound) {
767
-
768
- innerContainer = $("<ul></ul>");
769
- innerContainer.addClass("select2-result-sub");
770
- populate(result.children, innerContainer, depth + 1);
771
- node.append(innerContainer);
772
- }
773
-
774
- node.data("select2-data", result);
775
- container.append(node);
776
- }
777
- };
778
-
779
- populate(results, container, 0);
780
- }
781
- }, $.fn.select2.defaults, opts);
782
-
783
- if (typeof(opts.id) !== "function") {
784
- idKey = opts.id;
785
- opts.id = function (e) {
786
- return e[idKey];
787
- };
788
- }
789
-
790
- if (select) {
791
- opts.query = this.bind(function (query) {
792
- var data = { results: [], more: false },
793
- term = query.term,
794
- children, firstChild, process;
795
-
796
- process = function (element, collection) {
797
- var group;
798
- if (element.is("option")) {
799
- if (query.matcher(term, element.text(), element)) {
800
- collection.push({id: element.attr("value"), text: element.text(), element: element.get(), css: element.attr("class")});
801
- }
802
- } else if (element.is("optgroup")) {
803
- group = {text: element.attr("label"), children: [], element: element.get(), css: element.attr("class")};
804
- element.children().each2(function (i, elm) {
805
- process(elm, group.children);
806
- });
807
- if (group.children.length > 0) {
808
- collection.push(group);
809
- }
810
- }
811
- };
812
-
813
- children = element.children();
814
-
815
- // ignore the placeholder option if there is one
816
- if (this.getPlaceholder() !== undefined && children.length > 0) {
817
- firstChild = children[0];
818
- if ($(firstChild).text() === "") {
819
- children = children.not(firstChild);
820
- }
821
- }
822
-
823
- children.each2(function (i, elm) {
824
- process(elm, data.results);
825
- });
826
-
827
- query.callback(data);
828
- });
829
- // this is needed because inside val() we construct choices from options and there id is hardcoded
830
- opts.id = function (e) {
831
- return e.id;
832
- };
833
- opts.formatResultCssClass = function (data) {
834
- return data.css;
835
- }
836
- } else {
837
- if (!("query" in opts)) {
838
- if ("ajax" in opts) {
839
- ajaxUrl = opts.element.data("ajax-url");
840
- if (ajaxUrl && ajaxUrl.length > 0) {
841
- opts.ajax.url = ajaxUrl;
842
- }
843
- opts.query = ajax(opts.ajax);
844
- } else if ("data" in opts) {
845
- opts.query = local(opts.data);
846
- } else if ("tags" in opts) {
847
- opts.query = tags(opts.tags);
848
- opts.createSearchChoice = function (term) {
849
- return {id: term, text: term};
850
- };
851
- opts.initSelection = function (element, callback) {
852
- var data = [];
853
- $(splitVal(element.val(), opts.separator)).each(function () {
854
- var id = this, text = this, tags = opts.tags;
855
- if ($.isFunction(tags)) tags = tags();
856
- $(tags).each(function () {
857
- if (equal(this.id, id)) {
858
- text = this.text;
859
- return false;
860
- }
861
- });
862
- data.push({id: id, text: text});
863
- });
864
-
865
- callback(data);
866
- };
867
- }
868
- }
869
- }
870
- if (typeof(opts.query) !== "function") {
871
- throw "query function not defined for Select2 " + opts.element.attr("id");
872
- }
873
-
874
- return opts;
875
- },
876
-
877
- /**
878
- * Monitor the original element for changes and update select2 accordingly
879
- */
880
- // abstract
881
- monitorSource: function () {
882
- this.opts.element.bind("change.select2", this.bind(function (e) {
883
- if (this.opts.element.data("select2-change-triggered") !== true) {
884
- this.initSelection();
885
- }
886
- }));
887
- },
888
-
889
- /**
890
- * Triggers the change event on the source element
891
- */
892
- // abstract
893
- triggerChange: function (details) {
894
-
895
- details = details || {};
896
- details = $.extend({}, details, { type: "change", val: this.val() });
897
- // prevents recursive triggering
898
- this.opts.element.data("select2-change-triggered", true);
899
- this.opts.element.trigger(details);
900
- this.opts.element.data("select2-change-triggered", false);
901
-
902
- // some validation frameworks ignore the change event and listen instead to keyup, click for selects
903
- // so here we trigger the click event manually
904
- this.opts.element.click();
905
-
906
- // ValidationEngine ignorea the change event and listens instead to blur
907
- // so here we trigger the blur event manually if so desired
908
- if (this.opts.blurOnChange)
909
- this.opts.element.blur();
910
- },
911
-
912
-
913
- // abstract
914
- enable: function () {
915
- if (this.enabled) return;
916
-
917
- this.enabled = true;
918
- this.container.removeClass("select2-container-disabled");
919
- this.opts.element.removeAttr("disabled");
920
- },
921
-
922
- // abstract
923
- disable: function () {
924
- if (!this.enabled) return;
925
-
926
- this.close();
927
-
928
- this.enabled = false;
929
- this.container.addClass("select2-container-disabled");
930
- this.opts.element.attr("disabled", "disabled");
931
- },
932
-
933
- // abstract
934
- opened: function () {
935
- return this.container.hasClass("select2-dropdown-open");
936
- },
937
-
938
- // abstract
939
- positionDropdown: function () {
940
- var offset = this.container.offset(),
941
- height = this.container.outerHeight(true),
942
- width = this.container.outerWidth(true),
943
- dropHeight = this.dropdown.outerHeight(true),
944
- viewportBottom = $(window).scrollTop() + document.documentElement.clientHeight,
945
- dropTop = offset.top + height,
946
- dropLeft = offset.left,
947
- enoughRoomBelow = dropTop + dropHeight <= viewportBottom,
948
- enoughRoomAbove = (offset.top - dropHeight) >= this.body().scrollTop(),
949
- aboveNow = this.dropdown.hasClass("select2-drop-above"),
950
- bodyOffset,
951
- above,
952
- css;
953
-
954
- // console.log("below/ droptop:", dropTop, "dropHeight", dropHeight, "sum", (dropTop+dropHeight)+" viewport bottom", viewportBottom, "enough?", enoughRoomBelow);
955
- // console.log("above/ offset.top", offset.top, "dropHeight", dropHeight, "top", (offset.top-dropHeight), "scrollTop", this.body().scrollTop(), "enough?", enoughRoomAbove);
956
-
957
- // fix positioning when body has an offset and is not position: static
958
-
959
- if (this.body().css('position') !== 'static') {
960
- bodyOffset = this.body().offset();
961
- dropTop -= bodyOffset.top;
962
- dropLeft -= bodyOffset.left;
963
- }
964
-
965
- // always prefer the current above/below alignment, unless there is not enough room
966
-
967
- if (aboveNow) {
968
- above = true;
969
- if (!enoughRoomAbove && enoughRoomBelow) above = false;
970
- } else {
971
- above = false;
972
- if (!enoughRoomBelow && enoughRoomAbove) above = true;
973
- }
974
-
975
- if (above) {
976
- dropTop = offset.top - dropHeight;
977
- this.container.addClass("select2-drop-above");
978
- this.dropdown.addClass("select2-drop-above");
979
- }
980
- else {
981
- this.container.removeClass("select2-drop-above");
982
- this.dropdown.removeClass("select2-drop-above");
983
- }
984
-
985
- css = $.extend({
986
- top: dropTop,
987
- left: dropLeft,
988
- width: width
989
- }, evaluate(this.opts.dropdownCss));
990
-
991
- this.dropdown.css(css);
992
- },
993
-
994
- // abstract
995
- shouldOpen: function () {
996
- var event;
997
-
998
- if (this.opened()) return false;
999
-
1000
- event = $.Event("open");
1001
- this.opts.element.trigger(event);
1002
- return !event.isDefaultPrevented();
1003
- },
1004
-
1005
- // abstract
1006
- clearDropdownAlignmentPreference: function () {
1007
- // clear the classes used to figure out the preference of where the dropdown should be opened
1008
- this.container.removeClass("select2-drop-above");
1009
- this.dropdown.removeClass("select2-drop-above");
1010
- },
1011
-
1012
- /**
1013
- * Opens the dropdown
1014
- *
1015
- * @return {Boolean} whether or not dropdown was opened. This method will return false if, for example,
1016
- * the dropdown is already open, or if the 'open' event listener on the element called preventDefault().
1017
- */
1018
- // abstract
1019
- open: function () {
1020
-
1021
- if (!this.shouldOpen()) return false;
1022
-
1023
- window.setTimeout(this.bind(this.opening), 1);
1024
-
1025
- return true;
1026
- },
1027
-
1028
- /**
1029
- * Performs the opening of the dropdown
1030
- */
1031
- // abstract
1032
- opening: function () {
1033
- var cid = this.containerId, selector = this.containerSelector,
1034
- scroll = "scroll." + cid, resize = "resize." + cid;
1035
-
1036
- this.container.parents().each(function () {
1037
- $(this).bind(scroll, function () {
1038
- var s2 = $(selector);
1039
- if (s2.length == 0) {
1040
- $(this).unbind(scroll);
1041
- }
1042
- s2.select2("close");
1043
- });
1044
- });
1045
-
1046
- window.setTimeout(function () {
1047
- // this is done inside a timeout because IE will sometimes fire a resize event while opening
1048
- // the dropdown and that causes this handler to immediately close it. this way the dropdown
1049
- // has a chance to fully open before we start listening to resize events
1050
- $(window).bind(resize, function () {
1051
- var s2 = $(selector);
1052
- if (s2.length == 0) {
1053
- $(window).unbind(resize);
1054
- }
1055
- s2.select2("close");
1056
- })
1057
- }, 10);
1058
-
1059
- this.clearDropdownAlignmentPreference();
1060
-
1061
- if (this.search.val() === " ") {
1062
- this.search.val("");
1063
- }
1064
-
1065
- this.container.addClass("select2-dropdown-open").addClass("select2-container-active");
1066
-
1067
- this.updateResults(true);
1068
-
1069
- if (this.dropdown[0] !== this.body().children().last()[0]) {
1070
- this.dropdown.detach().appendTo(this.body());
1071
- }
1072
-
1073
- this.dropdown.show();
1074
-
1075
- this.positionDropdown();
1076
- this.dropdown.addClass("select2-drop-active");
1077
-
1078
- this.ensureHighlightVisible();
1079
-
1080
- this.focusSearch();
1081
- },
1082
-
1083
- // abstract
1084
- close: function () {
1085
- if (!this.opened()) return;
1086
-
1087
- var self = this;
1088
-
1089
- this.container.parents().each(function () {
1090
- $(this).unbind("scroll." + self.containerId);
1091
- });
1092
- $(window).unbind("resize." + this.containerId);
1093
-
1094
- this.clearDropdownAlignmentPreference();
1095
-
1096
- this.dropdown.hide();
1097
- this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active");
1098
- this.results.empty();
1099
- this.clearSearch();
1100
-
1101
- this.opts.element.trigger($.Event("close"));
1102
- },
1103
-
1104
- // abstract
1105
- clearSearch: function () {
1106
-
1107
- },
1108
-
1109
- // abstract
1110
- ensureHighlightVisible: function () {
1111
- var results = this.results, children, index, child, hb, rb, y, more;
1112
-
1113
- index = this.highlight();
1114
-
1115
- if (index < 0) return;
1116
-
1117
- if (index == 0) {
1118
-
1119
- // if the first element is highlighted scroll all the way to the top,
1120
- // that way any unselectable headers above it will also be scrolled
1121
- // into view
1122
-
1123
- results.scrollTop(0);
1124
- return;
1125
- }
1126
-
1127
- children = results.find(".select2-result-selectable");
1128
-
1129
- child = $(children[index]);
1130
-
1131
- hb = child.offset().top + child.outerHeight(true);
1132
-
1133
- // if this is the last child lets also make sure select2-more-results is visible
1134
- if (index === children.length - 1) {
1135
- more = results.find("li.select2-more-results");
1136
- if (more.length > 0) {
1137
- hb = more.offset().top + more.outerHeight(true);
1138
- }
1139
- }
1140
-
1141
- rb = results.offset().top + results.outerHeight(true);
1142
- if (hb > rb) {
1143
- results.scrollTop(results.scrollTop() + (hb - rb));
1144
- }
1145
- y = child.offset().top - results.offset().top;
1146
-
1147
- // make sure the top of the element is visible
1148
- if (y < 0) {
1149
- results.scrollTop(results.scrollTop() + y); // y is negative
1150
- }
1151
- },
1152
-
1153
- // abstract
1154
- moveHighlight: function (delta) {
1155
- var choices = this.results.find(".select2-result-selectable"),
1156
- index = this.highlight();
1157
-
1158
- while (index > -1 && index < choices.length) {
1159
- index += delta;
1160
- var choice = $(choices[index]);
1161
- if (choice.hasClass("select2-result-selectable") && !choice.hasClass("select2-disabled")) {
1162
- this.highlight(index);
1163
- break;
1164
- }
1165
- }
1166
- },
1167
-
1168
- // abstract
1169
- highlight: function (index) {
1170
- var choices = this.results.find(".select2-result-selectable").not(".select2-disabled");
1171
-
1172
- if (arguments.length === 0) {
1173
- return indexOf(choices.filter(".select2-highlighted")[0], choices.get());
1174
- }
1175
-
1176
- if (index >= choices.length) index = choices.length - 1;
1177
- if (index < 0) index = 0;
1178
-
1179
- choices.removeClass("select2-highlighted");
1180
-
1181
- $(choices[index]).addClass("select2-highlighted");
1182
- this.ensureHighlightVisible();
1183
-
1184
- },
1185
-
1186
- // abstract
1187
- countSelectableResults: function () {
1188
- return this.results.find(".select2-result-selectable").not(".select2-disabled").length;
1189
- },
1190
-
1191
- // abstract
1192
- highlightUnderEvent: function (event) {
1193
- var el = $(event.target).closest(".select2-result-selectable");
1194
- if (el.length > 0 && !el.is(".select2-highlighted")) {
1195
- var choices = this.results.find('.select2-result-selectable');
1196
- this.highlight(choices.index(el));
1197
- } else if (el.length == 0) {
1198
- // if we are over an unselectable item remove al highlights
1199
- this.results.find(".select2-highlighted").removeClass("select2-highlighted");
1200
- }
1201
- },
1202
-
1203
- // abstract
1204
- loadMoreIfNeeded: function () {
1205
- var results = this.results,
1206
- more = results.find("li.select2-more-results"),
1207
- below, // pixels the element is below the scroll fold, below==0 is when the element is starting to be visible
1208
- offset = -1, // index of first element without data
1209
- page = this.resultsPage + 1,
1210
- self = this,
1211
- term = this.search.val(),
1212
- context = this.context;
1213
-
1214
- if (more.length === 0) return;
1215
- below = more.offset().top - results.offset().top - results.height();
1216
-
1217
- if (below <= 0) {
1218
- more.addClass("select2-active");
1219
- this.opts.query({
1220
- term: term,
1221
- page: page,
1222
- context: context,
1223
- matcher: this.opts.matcher,
1224
- callback: this.bind(function (data) {
1225
-
1226
- // ignore a response if the select2 has been closed before it was received
1227
- if (!self.opened()) return;
1228
-
1229
-
1230
- self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context: context});
1231
-
1232
- if (data.more === true) {
1233
- more.detach().appendTo(results).text(self.opts.formatLoadMore(page + 1));
1234
- window.setTimeout(function () {
1235
- self.loadMoreIfNeeded();
1236
- }, 10);
1237
- } else {
1238
- more.remove();
1239
- }
1240
- self.positionDropdown();
1241
- self.resultsPage = page;
1242
- })});
1243
- }
1244
- },
1245
-
1246
- /**
1247
- * Default tokenizer function which does nothing
1248
- */
1249
- tokenize: function () {
1250
-
1251
- },
1252
-
1253
- /**
1254
- * @param initial whether or not this is the call to this method right after the dropdown has been opened
1255
- */
1256
- // abstract
1257
- updateResults: function (initial) {
1258
- var search = this.search, results = this.results, opts = this.opts, data, self = this, input;
1259
-
1260
- // if the search is currently hidden we do not alter the results
1261
- if (initial !== true && (this.showSearchInput === false || !this.opened())) {
1262
- return;
1263
- }
1264
-
1265
- search.addClass("select2-active");
1266
-
1267
- function postRender() {
1268
- results.scrollTop(0);
1269
- search.removeClass("select2-active");
1270
- self.positionDropdown();
1271
- }
1272
-
1273
- function render(html) {
1274
- results.html(self.opts.escapeMarkup(html));
1275
- postRender();
1276
- }
1277
-
1278
- if (opts.maximumSelectionSize >= 1) {
1279
- data = this.data();
1280
- if ($.isArray(data) && data.length >= opts.maximumSelectionSize && checkFormatter(opts.formatSelectionTooBig, "formatSelectionTooBig")) {
1281
- render("<li class='select2-selection-limit'>" + opts.formatSelectionTooBig(opts.maximumSelectionSize) + "</li>");
1282
- return;
1283
- }
1284
- }
1285
-
1286
- if (search.val().length < opts.minimumInputLength) {
1287
- if (checkFormatter(opts.formatInputTooShort, "formatInputTooShort")) {
1288
- render("<li class='select2-no-results'>" + opts.formatInputTooShort(search.val(), opts.minimumInputLength) + "</li>");
1289
- } else {
1290
- render("");
1291
- }
1292
- return;
1293
- }
1294
- else if (opts.formatSearching()) {
1295
- render("<li class='select2-searching'>" + opts.formatSearching() + "</li>");
1296
- }
1297
-
1298
- // give the tokenizer a chance to pre-process the input
1299
- input = this.tokenize();
1300
- if (input != undefined && input != null) {
1301
- search.val(input);
1302
- }
1303
-
1304
- this.resultsPage = 1;
1305
- opts.query({
1306
- term: search.val(),
1307
- page: this.resultsPage,
1308
- context: null,
1309
- matcher: opts.matcher,
1310
- callback: this.bind(function (data) {
1311
- var def; // default choice
1312
-
1313
- // ignore a response if the select2 has been closed before it was received
1314
- if (!this.opened()) return;
1315
-
1316
- // save context, if any
1317
- this.context = (data.context === undefined) ? null : data.context;
1318
-
1319
- // create a default choice and prepend it to the list
1320
- if (this.opts.createSearchChoice && search.val() !== "") {
1321
- def = this.opts.createSearchChoice.call(null, search.val(), data.results);
1322
- if (def !== undefined && def !== null && self.id(def) !== undefined && self.id(def) !== null) {
1323
- if ($(data.results).filter(
1324
- function () {
1325
- return equal(self.id(this), self.id(def));
1326
- }).length === 0) {
1327
- data.results.unshift(def);
1328
- }
1329
- }
1330
- }
1331
-
1332
- if (data.results.length === 0 && checkFormatter(opts.formatNoMatches, "formatNoMatches")) {
1333
- render("<li class='select2-no-results'>" + opts.formatNoMatches(search.val()) + "</li>");
1334
- return;
1335
- }
1336
-
1337
- results.empty();
1338
- self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context: null});
1339
-
1340
- if (data.more === true && checkFormatter(opts.formatLoadMore, "formatLoadMore")) {
1341
- results.append("<li class='select2-more-results'>" + self.opts.escapeMarkup(opts.formatLoadMore(this.resultsPage)) + "</li>");
1342
- window.setTimeout(function () {
1343
- self.loadMoreIfNeeded();
1344
- }, 10);
1345
- }
1346
-
1347
- this.postprocessResults(data, initial);
1348
-
1349
- postRender();
1350
- })});
1351
- },
1352
-
1353
- // abstract
1354
- cancel: function () {
1355
- this.close();
1356
- },
1357
-
1358
- // abstract
1359
- blur: function () {
1360
- this.close();
1361
- this.container.removeClass("select2-container-active");
1362
- this.dropdown.removeClass("select2-drop-active");
1363
- // synonymous to .is(':focus'), which is available in jquery >= 1.6
1364
- if (this.search[0] === document.activeElement) {
1365
- this.search.blur();
1366
- }
1367
- this.clearSearch();
1368
- this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
1369
- this.opts.element.triggerHandler("blur");
1370
- },
1371
-
1372
- // abstract
1373
- focusSearch: function () {
1374
- // need to do it here as well as in timeout so it works in IE
1375
- this.search.show();
1376
- this.search.focus();
1377
-
1378
- /* we do this in a timeout so that current event processing can complete before this code is executed.
1379
- this makes sure the search field is focussed even if the current event would blur it */
1380
- window.setTimeout(this.bind(function () {
1381
- // reset the value so IE places the cursor at the end of the input box
1382
- this.search.show();
1383
- this.search.focus();
1384
- this.search.val(this.search.val());
1385
- }), 10);
1386
- },
1387
-
1388
- // abstract
1389
- selectHighlighted: function () {
1390
- var index = this.highlight(),
1391
- highlighted = this.results.find(".select2-highlighted").not(".select2-disabled"),
1392
- data = highlighted.closest('.select2-result-selectable').data("select2-data");
1393
- if (data) {
1394
- highlighted.addClass("select2-disabled");
1395
- this.highlight(index);
1396
- this.onSelect(data);
1397
- }
1398
- },
1399
-
1400
- // abstract
1401
- getPlaceholder: function () {
1402
- return this.opts.element.attr("placeholder") ||
1403
- this.opts.element.attr("data-placeholder") || // jquery 1.4 compat
1404
- this.opts.element.data("placeholder") ||
1405
- this.opts.placeholder;
1406
- },
1407
-
1408
- /**
1409
- * Get the desired width for the container element. This is
1410
- * derived first from option `width` passed to select2, then
1411
- * the inline 'style' on the original element, and finally
1412
- * falls back to the jQuery calculated element width.
1413
- */
1414
- // abstract
1415
- initContainerWidth: function () {
1416
- function resolveContainerWidth() {
1417
- var style, attrs, matches, i, l;
1418
-
1419
- if (this.opts.width === "off") {
1420
- return null;
1421
- } else if (this.opts.width === "element") {
1422
- return this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px';
1423
- } else if (this.opts.width === "copy" || this.opts.width === "resolve") {
1424
- // check if there is inline style on the element that contains width
1425
- style = this.opts.element.attr('style');
1426
- if (style !== undefined) {
1427
- attrs = style.split(';');
1428
- for (i = 0, l = attrs.length; i < l; i = i + 1) {
1429
- matches = attrs[i].replace(/\s/g, '')
1430
- .match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/);
1431
- if (matches !== null && matches.length >= 1)
1432
- return matches[1];
1433
- }
1434
- }
1435
-
1436
- if (this.opts.width === "resolve") {
1437
- // next check if css('width') can resolve a width that is percent based, this is sometimes possible
1438
- // when attached to input type=hidden or elements hidden via css
1439
- style = this.opts.element.css('width');
1440
- if (style.indexOf("%") > 0) return style;
1441
-
1442
- // finally, fallback on the calculated width of the element
1443
- return (this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px');
1444
- }
1445
-
1446
- return null;
1447
- } else if ($.isFunction(this.opts.width)) {
1448
- return this.opts.width();
1449
- } else {
1450
- return this.opts.width;
1451
- }
1452
- };
1453
-
1454
- var width = resolveContainerWidth.call(this);
1455
- if (width !== null) {
1456
- this.container.attr("style", "width: " + width);
1457
- }
1458
- }
1459
- });
1460
-
1461
- SingleSelect2 = clazz(AbstractSelect2, {
1462
-
1463
- // single
1464
-
1465
- createContainer: function () {
1466
- var container = $("<div></div>", {
1467
- "class": "select2-container"
1468
- }).html([
1469
- " <a href='javascript:void(0)' onclick='return false;' class='select2-choice'>",
1470
- " <span></span><abbr class='select2-search-choice-close' style='display:none;'></abbr>",
1471
- " <div><b></b></div>" ,
1472
- "</a>",
1473
- " <div class='select2-drop select2-offscreen'>" ,
1474
- " <div class='select2-search'>" ,
1475
- " <input type='text' autocomplete='off' class='select2-input'/>" ,
1476
- " </div>" ,
1477
- " <ul class='select2-results'>" ,
1478
- " </ul>" ,
1479
- "</div>"].join(""));
1480
- return container;
1481
- },
1482
-
1483
- // single
1484
- opening: function () {
1485
- this.search.show();
1486
- this.parent.opening.apply(this, arguments);
1487
- this.dropdown.removeClass("select2-offscreen");
1488
- },
1489
-
1490
- // single
1491
- close: function () {
1492
- if (!this.opened()) return;
1493
- this.parent.close.apply(this, arguments);
1494
- this.dropdown.removeAttr("style").addClass("select2-offscreen").insertAfter(this.selection).show();
1495
- },
1496
-
1497
- // single
1498
- focus: function () {
1499
- this.close();
1500
- this.selection.focus();
1501
- },
1502
-
1503
- // single
1504
- isFocused: function () {
1505
- return this.selection[0] === document.activeElement;
1506
- },
1507
-
1508
- // single
1509
- cancel: function () {
1510
- this.parent.cancel.apply(this, arguments);
1511
- this.selection.focus();
1512
- },
1513
-
1514
- // single
1515
- initContainer: function () {
1516
-
1517
- var selection,
1518
- container = this.container,
1519
- dropdown = this.dropdown,
1520
- clickingInside = false;
1521
-
1522
- this.selection = selection = container.find(".select2-choice");
1523
-
1524
- this.search.bind("keydown", this.bind(function (e) {
1525
- if (!this.enabled) return;
1526
-
1527
- if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
1528
- // prevent the page from scrolling
1529
- killEvent(e);
1530
- return;
1531
- }
1532
-
1533
- if (this.opened()) {
1534
- switch (e.which) {
1535
- case KEY.UP:
1536
- case KEY.DOWN:
1537
- this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
1538
- killEvent(e);
1539
- return;
1540
- case KEY.TAB:
1541
- case KEY.ENTER:
1542
- this.selectHighlighted();
1543
- killEvent(e);
1544
- return;
1545
- case KEY.ESC:
1546
- this.cancel(e);
1547
- killEvent(e);
1548
- return;
1549
- }
1550
- } else {
1551
-
1552
- if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {
1553
- return;
1554
- }
1555
-
1556
- if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
1557
- return;
1558
- }
1559
-
1560
- this.open();
1561
-
1562
- if (e.which === KEY.ENTER) {
1563
- // do not propagate the event otherwise we open, and propagate enter which closes
1564
- return;
1565
- }
1566
- }
1567
- }));
1568
-
1569
- this.search.bind("focus", this.bind(function () {
1570
- this.selection.attr("tabIndex", "-1");
1571
- }));
1572
- this.search.bind("blur", this.bind(function () {
1573
- if (!this.opened()) this.container.removeClass("select2-container-active");
1574
- window.setTimeout(this.bind(function () {
1575
- // restore original tab index
1576
- var ti = this.opts.element.attr("tabIndex");
1577
- if (ti) {
1578
- this.selection.attr("tabIndex", ti);
1579
- } else {
1580
- this.selection.removeAttr("tabIndex");
1581
- }
1582
- }), 10);
1583
- }));
1584
-
1585
- selection.delegate("abbr", "mousedown", this.bind(function (e) {
1586
- if (!this.enabled) return;
1587
- this.clear();
1588
- killEventImmediately(e);
1589
- this.close();
1590
- this.triggerChange();
1591
- this.selection.focus();
1592
- }));
1593
-
1594
- selection.bind("mousedown", this.bind(function (e) {
1595
- clickingInside = true;
1596
-
1597
- if (this.opened()) {
1598
- this.close();
1599
- this.selection.focus();
1600
- } else if (this.enabled) {
1601
- this.open();
1602
- }
1603
-
1604
- clickingInside = false;
1605
- }));
1606
-
1607
- dropdown.bind("mousedown", this.bind(function () {
1608
- this.search.focus();
1609
- }));
1610
-
1611
- selection.bind("focus", this.bind(function () {
1612
- this.container.addClass("select2-container-active");
1613
- // hide the search so the tab key does not focus on it
1614
- this.search.attr("tabIndex", "-1");
1615
- }));
1616
-
1617
- selection.bind("blur", this.bind(function () {
1618
- if (!this.opened()) {
1619
- this.container.removeClass("select2-container-active");
1620
- }
1621
- window.setTimeout(this.bind(function () {
1622
- this.search.attr("tabIndex", this.opts.element.attr("tabIndex"));
1623
- }), 10);
1624
- }));
1625
-
1626
- selection.bind("keydown", this.bind(function (e) {
1627
- if (!this.enabled) return;
1628
-
1629
- if (e.which == KEY.DOWN || e.which == KEY.UP
1630
- || (e.which == KEY.ENTER && this.opts.openOnEnter)) {
1631
- this.open();
1632
- killEvent(e);
1633
- return;
1634
- }
1635
-
1636
- if (e.which == KEY.DELETE || e.which == KEY.BACKSPACE) {
1637
- if (this.opts.allowClear) {
1638
- this.clear();
1639
- }
1640
- killEvent(e);
1641
- return;
1642
- }
1643
- }));
1644
- selection.bind("keypress", this.bind(function (e) {
1645
- var key = String.fromCharCode(e.which);
1646
- this.search.val(key);
1647
- this.open();
1648
- }));
1649
-
1650
- this.setPlaceholder();
1651
-
1652
- this.search.bind("focus", this.bind(function () {
1653
- this.container.addClass("select2-container-active");
1654
- }));
1655
- },
1656
-
1657
- // single
1658
- clear: function () {
1659
- this.opts.element.val("");
1660
- this.selection.find("span").empty();
1661
- this.selection.removeData("select2-data");
1662
- this.setPlaceholder();
1663
- },
1664
-
1665
- /**
1666
- * Sets selection based on source element's value
1667
- */
1668
- // single
1669
- initSelection: function () {
1670
- var selected;
1671
- if (this.opts.element.val() === "" && this.opts.element.text() === "") {
1672
- this.close();
1673
- this.setPlaceholder();
1674
- } else {
1675
- var self = this;
1676
- this.opts.initSelection.call(null, this.opts.element, function (selected) {
1677
- if (selected !== undefined && selected !== null) {
1678
- self.updateSelection(selected);
1679
- self.close();
1680
- self.setPlaceholder();
1681
- }
1682
- });
1683
- }
1684
- },
1685
-
1686
- // single
1687
- prepareOpts: function () {
1688
- var opts = this.parent.prepareOpts.apply(this, arguments);
1689
-
1690
- if (opts.element.get(0).tagName.toLowerCase() === "select") {
1691
- // install the selection initializer
1692
- opts.initSelection = function (element, callback) {
1693
- var selected = element.find(":selected");
1694
- // a single select box always has a value, no need to null check 'selected'
1695
- if ($.isFunction(callback))
1696
- callback({id: selected.attr("value"), text: selected.text(), element: selected});
1697
- };
1698
- }
1699
-
1700
- return opts;
1701
- },
1702
-
1703
- // single
1704
- setPlaceholder: function () {
1705
- var placeholder = this.getPlaceholder();
1706
-
1707
- if (this.opts.element.val() === "" && placeholder !== undefined) {
1708
-
1709
- // check for a first blank option if attached to a select
1710
- if (this.select && this.select.find("option:first").text() !== "") return;
1711
-
1712
- this.selection.find("span").html(this.opts.escapeMarkup(placeholder));
1713
-
1714
- this.selection.addClass("select2-default");
1715
-
1716
- this.selection.find("abbr").hide();
1717
- }
1718
- },
1719
-
1720
- // single
1721
- postprocessResults: function (data, initial) {
1722
- var selected = 0, self = this, showSearchInput = true;
1723
-
1724
- // find the selected element in the result list
1725
-
1726
- this.results.find(".select2-result-selectable").each2(function (i, elm) {
1727
- if (equal(self.id(elm.data("select2-data")), self.opts.element.val())) {
1728
- selected = i;
1729
- return false;
1730
- }
1731
- });
1732
-
1733
- // and highlight it
1734
-
1735
- this.highlight(selected);
1736
-
1737
- // hide the search box if this is the first we got the results and there are a few of them
1738
-
1739
- if (initial === true) {
1740
- showSearchInput = this.showSearchInput = countResults(data.results) >= this.opts.minimumResultsForSearch;
1741
- this.dropdown.find(".select2-search")[showSearchInput ? "removeClass" : "addClass"]("select2-search-hidden");
1742
-
1743
- //add "select2-with-searchbox" to the container if search box is shown
1744
- $(this.dropdown, this.container)[showSearchInput ? "addClass" : "removeClass"]("select2-with-searchbox");
1745
- }
1746
-
1747
- },
1748
-
1749
- // single
1750
- onSelect: function (data) {
1751
- var old = this.opts.element.val();
1752
-
1753
- this.opts.element.val(this.id(data));
1754
- this.updateSelection(data);
1755
- this.close();
1756
- this.selection.focus();
1757
-
1758
- if (!equal(old, this.id(data))) {
1759
- this.triggerChange();
1760
- }
1761
- },
1762
-
1763
- // single
1764
- updateSelection: function (data) {
1765
-
1766
- var container = this.selection.find("span"), formatted;
1767
-
1768
- this.selection.data("select2-data", data);
1769
-
1770
- container.empty();
1771
- formatted = this.opts.formatSelection(data, container);
1772
- if (formatted !== undefined) {
1773
- container.append(this.opts.escapeMarkup(formatted));
1774
- }
1775
-
1776
- this.selection.removeClass("select2-default");
1777
-
1778
- if (this.opts.allowClear && this.getPlaceholder() !== undefined) {
1779
- this.selection.find("abbr").show();
1780
- }
1781
- },
1782
-
1783
- // single
1784
- val: function () {
1785
- var val, data = null, self = this;
1786
-
1787
- if (arguments.length === 0) {
1788
- return this.opts.element.val();
1789
- }
1790
-
1791
- val = arguments[0];
1792
-
1793
- if (this.select) {
1794
- this.select
1795
- .val(val)
1796
- .find(":selected").each2(function (i, elm) {
1797
- data = {id: elm.attr("value"), text: elm.text()};
1798
- return false;
1799
- });
1800
- this.updateSelection(data);
1801
- this.setPlaceholder();
1802
- } else {
1803
- if (this.opts.initSelection === undefined) {
1804
- throw new Error("cannot call val() if initSelection() is not defined");
1805
- }
1806
- // val is an id. !val is true for [undefined,null,'']
1807
- if (!val) {
1808
- this.clear();
1809
- return;
1810
- }
1811
- this.opts.element.val(val);
1812
- this.opts.initSelection(this.opts.element, function (data) {
1813
- self.opts.element.val(!data ? "" : self.id(data));
1814
- self.updateSelection(data);
1815
- self.setPlaceholder();
1816
- });
1817
- }
1818
- },
1819
-
1820
- // single
1821
- clearSearch: function () {
1822
- this.search.val("");
1823
- },
1824
-
1825
- // single
1826
- data: function (value) {
1827
- var data;
1828
-
1829
- if (arguments.length === 0) {
1830
- data = this.selection.data("select2-data");
1831
- if (data == undefined) data = null;
1832
- return data;
1833
- } else {
1834
- if (!value || value === "") {
1835
- this.clear();
1836
- } else {
1837
- this.opts.element.val(!value ? "" : this.id(value));
1838
- this.updateSelection(value);
1839
- }
1840
- }
1841
- }
1842
- });
1843
-
1844
- MultiSelect2 = clazz(AbstractSelect2, {
1845
-
1846
- // multi
1847
- createContainer: function () {
1848
- var container = $("<div></div>", {
1849
- "class": "select2-container select2-container-multi"
1850
- }).html([
1851
- " <ul class='select2-choices'>",
1852
- //"<li class='select2-search-choice'><span>California</span><a href="javascript:void(0)" class="select2-search-choice-close"></a></li>" ,
1853
- " <li class='select2-search-field'>" ,
1854
- " <input type='text' autocomplete='off' class='select2-input'>" ,
1855
- " </li>" ,
1856
- "</ul>" ,
1857
- "<div class='select2-drop select2-drop-multi' style='display:none;'>" ,
1858
- " <ul class='select2-results'>" ,
1859
- " </ul>" ,
1860
- "</div>"].join(""));
1861
- return container;
1862
- },
1863
-
1864
- // multi
1865
- prepareOpts: function () {
1866
- var opts = this.parent.prepareOpts.apply(this, arguments);
1867
-
1868
- // TODO validate placeholder is a string if specified
1869
-
1870
- if (opts.element.get(0).tagName.toLowerCase() === "select") {
1871
- // install sthe selection initializer
1872
- opts.initSelection = function (element, callback) {
1873
-
1874
- var data = [];
1875
- element.find(":selected").each2(function (i, elm) {
1876
- data.push({id: elm.attr("value"), text: elm.text(), element: elm});
1877
- });
1878
-
1879
- if ($.isFunction(callback))
1880
- callback(data);
1881
- };
1882
- }
1883
-
1884
- return opts;
1885
- },
1886
-
1887
- // multi
1888
- initContainer: function () {
1889
-
1890
- var selector = ".select2-choices", selection;
1891
-
1892
- this.searchContainer = this.container.find(".select2-search-field");
1893
- this.selection = selection = this.container.find(selector);
1894
-
1895
- this.search.bind("keydown", this.bind(function (e) {
1896
- if (!this.enabled) return;
1897
-
1898
- if (e.which === KEY.BACKSPACE && this.search.val() === "") {
1899
- this.close();
1900
-
1901
- var choices,
1902
- selected = selection.find(".select2-search-choice-focus");
1903
- if (selected.length > 0) {
1904
- this.unselect(selected.first());
1905
- this.search.width(10);
1906
- killEvent(e);
1907
- return;
1908
- }
1909
-
1910
- choices = selection.find(".select2-search-choice");
1911
- if (choices.length > 0) {
1912
- choices.last().addClass("select2-search-choice-focus");
1913
- }
1914
- } else {
1915
- selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
1916
- }
1917
-
1918
- if (this.opened()) {
1919
- switch (e.which) {
1920
- case KEY.UP:
1921
- case KEY.DOWN:
1922
- this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
1923
- killEvent(e);
1924
- return;
1925
- case KEY.ENTER:
1926
- case KEY.TAB:
1927
- this.selectHighlighted();
1928
- killEvent(e);
1929
- return;
1930
- case KEY.ESC:
1931
- this.cancel(e);
1932
- killEvent(e);
1933
- return;
1934
- }
1935
- }
1936
-
1937
- if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)
1938
- || e.which === KEY.BACKSPACE || e.which === KEY.ESC) {
1939
- return;
1940
- }
1941
-
1942
- if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
1943
- return;
1944
- }
1945
-
1946
- this.open();
1947
-
1948
- if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
1949
- // prevent the page from scrolling
1950
- killEvent(e);
1951
- }
1952
- }));
1953
-
1954
- this.search.bind("keyup", this.bind(this.resizeSearch));
1955
-
1956
- this.search.bind("blur", this.bind(function (e) {
1957
- this.container.removeClass("select2-container-active");
1958
- this.search.removeClass("select2-focused");
1959
- this.clearSearch();
1960
- e.stopImmediatePropagation();
1961
- }));
1962
-
1963
- this.container.delegate(selector, "mousedown", this.bind(function (e) {
1964
- if (!this.enabled) return;
1965
- if ($(e.target).closest(".select2-search-choice").length > 0) {
1966
- // clicked inside a select2 search choice, do not open
1967
- return;
1968
- }
1969
- this.clearPlaceholder();
1970
- this.open();
1971
- this.focusSearch();
1972
- e.preventDefault();
1973
- }));
1974
-
1975
- this.container.delegate(selector, "focus", this.bind(function () {
1976
- if (!this.enabled) return;
1977
- this.container.addClass("select2-container-active");
1978
- this.dropdown.addClass("select2-drop-active");
1979
- this.clearPlaceholder();
1980
- }));
1981
-
1982
- // set the placeholder if necessary
1983
- this.clearSearch();
1984
- },
1985
-
1986
- // multi
1987
- enable: function () {
1988
- if (this.enabled) return;
1989
-
1990
- this.parent.enable.apply(this, arguments);
1991
-
1992
- this.search.removeAttr("disabled");
1993
- },
1994
-
1995
- // multi
1996
- disable: function () {
1997
- if (!this.enabled) return;
1998
-
1999
- this.parent.disable.apply(this, arguments);
2000
-
2001
- this.search.attr("disabled", true);
2002
- },
2003
-
2004
- // multi
2005
- initSelection: function () {
2006
- var data;
2007
- if (this.opts.element.val() === "" && this.opts.element.text() === "") {
2008
- this.updateSelection([]);
2009
- this.close();
2010
- // set the placeholder if necessary
2011
- this.clearSearch();
2012
- }
2013
- if (this.select || this.opts.element.val() !== "") {
2014
- var self = this;
2015
- this.opts.initSelection.call(null, this.opts.element, function (data) {
2016
- if (data !== undefined && data !== null) {
2017
- self.updateSelection(data);
2018
- self.close();
2019
- // set the placeholder if necessary
2020
- self.clearSearch();
2021
- }
2022
- });
2023
- }
2024
- },
2025
-
2026
- // multi
2027
- clearSearch: function () {
2028
- var placeholder = this.getPlaceholder();
2029
-
2030
- if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) {
2031
- this.search.val(placeholder).addClass("select2-default");
2032
- // stretch the search box to full width of the container so as much of the placeholder is visible as possible
2033
- this.resizeSearch();
2034
- } else {
2035
- // we set this to " " instead of "" and later clear it on focus() because there is a firefox bug
2036
- // that does not properly render the caret when the field starts out blank
2037
- this.search.val(" ").width(10);
2038
- }
2039
- },
2040
-
2041
- // multi
2042
- clearPlaceholder: function () {
2043
- if (this.search.hasClass("select2-default")) {
2044
- this.search.val("").removeClass("select2-default");
2045
- } else {
2046
- // work around for the space character we set to avoid firefox caret bug
2047
- if (this.search.val() === " ") this.search.val("");
2048
- }
2049
- },
2050
-
2051
- // multi
2052
- opening: function () {
2053
- this.parent.opening.apply(this, arguments);
2054
-
2055
- this.clearPlaceholder();
2056
- this.resizeSearch();
2057
- this.focusSearch();
2058
- },
2059
-
2060
- // multi
2061
- close: function () {
2062
- if (!this.opened()) return;
2063
- this.parent.close.apply(this, arguments);
2064
- },
2065
-
2066
- // multi
2067
- focus: function () {
2068
- this.close();
2069
- this.search.focus();
2070
- },
2071
-
2072
- // multi
2073
- isFocused: function () {
2074
- return this.search.hasClass("select2-focused");
2075
- },
2076
-
2077
- // multi
2078
- updateSelection: function (data) {
2079
- var ids = [], filtered = [], self = this;
2080
-
2081
- // filter out duplicates
2082
- $(data).each(function () {
2083
- if (indexOf(self.id(this), ids) < 0) {
2084
- ids.push(self.id(this));
2085
- filtered.push(this);
2086
- }
2087
- });
2088
- data = filtered;
2089
-
2090
- this.selection.find(".select2-search-choice").remove();
2091
- $(data).each(function () {
2092
- self.addSelectedChoice(this);
2093
- });
2094
- self.postprocessResults();
2095
- },
2096
-
2097
- tokenize: function () {
2098
- var input = this.search.val();
2099
- input = this.opts.tokenizer(input, this.data(), this.bind(this.onSelect), this.opts);
2100
- if (input != null && input != undefined) {
2101
- this.search.val(input);
2102
- if (input.length > 0) {
2103
- this.open();
2104
- }
2105
- }
2106
-
2107
- },
2108
-
2109
- // multi
2110
- onSelect: function (data) {
2111
- this.addSelectedChoice(data);
2112
- if (this.select || !this.opts.closeOnSelect) this.postprocessResults();
2113
-
2114
- if (this.opts.closeOnSelect) {
2115
- this.close();
2116
- this.search.width(10);
2117
- } else {
2118
- if (this.countSelectableResults() > 0) {
2119
- this.search.width(10);
2120
- this.resizeSearch();
2121
- this.positionDropdown();
2122
- } else {
2123
- // if nothing left to select close
2124
- this.close();
2125
- }
2126
- }
2127
-
2128
- // since its not possible to select an element that has already been
2129
- // added we do not need to check if this is a new element before firing change
2130
- this.triggerChange({ added: data });
2131
-
2132
- this.focusSearch();
2133
- },
2134
-
2135
- // multi
2136
- cancel: function () {
2137
- this.close();
2138
- this.focusSearch();
2139
- },
2140
-
2141
- // multi
2142
- addSelectedChoice: function (data) {
2143
- var choice = $(
2144
- "<li class='select2-search-choice'>" +
2145
- " <div></div>" +
2146
- " <a href='javascript:void(0)' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a>" +
2147
- "</li>"),
2148
- id = this.id(data),
2149
- val = this.getVal(),
2150
- formatted;
2151
-
2152
- formatted = this.opts.formatSelection(data, choice.find("div"));
2153
- if (formatted != undefined) {
2154
- choice.find("div").replaceWith("<div>" + this.opts.escapeMarkup(formatted) + "</div>");
2155
- }
2156
- choice.find(".select2-search-choice-close")
2157
- .bind("mousedown", killEvent)
2158
- .bind("click dblclick", this.bind(function (e) {
2159
- if (!this.enabled) return;
2160
-
2161
- $(e.target).closest(".select2-search-choice").fadeOut('fast', this.bind(function () {
2162
- this.unselect($(e.target));
2163
- this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
2164
- this.close();
2165
- this.focusSearch();
2166
- })).dequeue();
2167
- killEvent(e);
2168
- })).bind("focus", this.bind(function () {
2169
- if (!this.enabled) return;
2170
- this.container.addClass("select2-container-active");
2171
- this.dropdown.addClass("select2-drop-active");
2172
- }));
2173
-
2174
- choice.data("select2-data", data);
2175
- choice.insertBefore(this.searchContainer);
2176
-
2177
- val.push(id);
2178
- this.setVal(val);
2179
- },
2180
-
2181
- // multi
2182
- unselect: function (selected) {
2183
- var val = this.getVal(),
2184
- data,
2185
- index;
2186
-
2187
- selected = selected.closest(".select2-search-choice");
2188
-
2189
- if (selected.length === 0) {
2190
- throw "Invalid argument: " + selected + ". Must be .select2-search-choice";
2191
- }
2192
-
2193
- data = selected.data("select2-data");
2194
-
2195
- index = indexOf(this.id(data), val);
2196
-
2197
- if (index >= 0) {
2198
- val.splice(index, 1);
2199
- this.setVal(val);
2200
- if (this.select) this.postprocessResults();
2201
- }
2202
- selected.remove();
2203
- this.triggerChange({ removed: data });
2204
- },
2205
-
2206
- // multi
2207
- postprocessResults: function () {
2208
- var val = this.getVal(),
2209
- choices = this.results.find(".select2-result-selectable"),
2210
- compound = this.results.find(".select2-result-with-children"),
2211
- self = this;
2212
-
2213
- choices.each2(function (i, choice) {
2214
- var id = self.id(choice.data("select2-data"));
2215
- if (indexOf(id, val) >= 0) {
2216
- choice.addClass("select2-disabled").removeClass("select2-result-selectable");
2217
- } else {
2218
- choice.removeClass("select2-disabled").addClass("select2-result-selectable");
2219
- }
2220
- });
2221
-
2222
- compound.each2(function (i, e) {
2223
- if (!e.is('.select2-result-selectable') && e.find(".select2-result-selectable").length == 0) { // FIX FOR HIRECHAL DATA
2224
- e.addClass("select2-disabled");
2225
- } else {
2226
- e.removeClass("select2-disabled");
2227
- }
2228
- });
2229
-
2230
- choices.each2(function (i, choice) {
2231
- if (!choice.hasClass("select2-disabled") && choice.hasClass("select2-result-selectable")) {
2232
- self.highlight(0);
2233
- return false;
2234
- }
2235
- });
2236
-
2237
- },
2238
-
2239
- // multi
2240
- resizeSearch: function () {
2241
-
2242
- var minimumWidth, left, maxWidth, containerLeft, searchWidth,
2243
- sideBorderPadding = getSideBorderPadding(this.search);
2244
-
2245
- minimumWidth = measureTextWidth(this.search) + 10;
2246
-
2247
- left = this.search.offset().left;
2248
-
2249
- maxWidth = this.selection.width();
2250
- containerLeft = this.selection.offset().left;
2251
-
2252
- searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding;
2253
- if (searchWidth < minimumWidth) {
2254
- searchWidth = maxWidth - sideBorderPadding;
2255
- }
2256
-
2257
- if (searchWidth < 40) {
2258
- searchWidth = maxWidth - sideBorderPadding;
2259
- }
2260
- this.search.width(searchWidth);
2261
- },
2262
-
2263
- // multi
2264
- getVal: function () {
2265
- var val;
2266
- if (this.select) {
2267
- val = this.select.val();
2268
- return val === null ? [] : val;
2269
- } else {
2270
- val = this.opts.element.val();
2271
- return splitVal(val, this.opts.separator);
2272
- }
2273
- },
2274
-
2275
- // multi
2276
- setVal: function (val) {
2277
- var unique;
2278
- if (this.select) {
2279
- this.select.val(val);
2280
- } else {
2281
- unique = [];
2282
- // filter out duplicates
2283
- $(val).each(function () {
2284
- if (indexOf(this, unique) < 0) unique.push(this);
2285
- });
2286
- this.opts.element.val(unique.length === 0 ? "" : unique.join(this.opts.separator));
2287
- }
2288
- },
2289
-
2290
- // multi
2291
- val: function () {
2292
- var val, data = [], self = this;
2293
-
2294
- if (arguments.length === 0) {
2295
- return this.getVal();
2296
- }
2297
-
2298
- val = arguments[0];
2299
-
2300
- if (!val) {
2301
- this.opts.element.val("");
2302
- this.updateSelection([]);
2303
- this.clearSearch();
2304
- return;
2305
- }
2306
-
2307
- // val is a list of ids
2308
- this.setVal(val);
2309
-
2310
- if (this.select) {
2311
- this.select.find(":selected").each(function () {
2312
- data.push({id: $(this).attr("value"), text: $(this).text()});
2313
- });
2314
- this.updateSelection(data);
2315
- } else {
2316
- if (this.opts.initSelection === undefined) {
2317
- throw new Error("val() cannot be called if initSelection() is not defined")
2318
- }
2319
-
2320
- this.opts.initSelection(this.opts.element, function (data) {
2321
- var ids = $(data).map(self.id);
2322
- self.setVal(ids);
2323
- self.updateSelection(data);
2324
- self.clearSearch();
2325
- });
2326
- }
2327
- this.clearSearch();
2328
- },
2329
-
2330
- // multi
2331
- onSortStart: function () {
2332
- if (this.select) {
2333
- throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");
2334
- }
2335
-
2336
- // collapse search field into 0 width so its container can be collapsed as well
2337
- this.search.width(0);
2338
- // hide the container
2339
- this.searchContainer.hide();
2340
- },
2341
-
2342
- // multi
2343
- onSortEnd: function () {
2344
-
2345
- var val = [], self = this;
2346
-
2347
- // show search and move it to the end of the list
2348
- this.searchContainer.show();
2349
- // make sure the search container is the last item in the list
2350
- this.searchContainer.appendTo(this.searchContainer.parent());
2351
- // since we collapsed the width in dragStarted, we resize it here
2352
- this.resizeSearch();
2353
-
2354
- // update selection
2355
-
2356
- this.selection.find(".select2-search-choice").each(function () {
2357
- val.push(self.opts.id($(this).data("select2-data")));
2358
- });
2359
- this.setVal(val);
2360
- this.triggerChange();
2361
- },
2362
-
2363
- // multi
2364
- data: function (values) {
2365
- var self = this, ids;
2366
- if (arguments.length === 0) {
2367
- return this.selection
2368
- .find(".select2-search-choice")
2369
- .map(function () {
2370
- return $(this).data("select2-data");
2371
- })
2372
- .get();
2373
- } else {
2374
- if (!values) {
2375
- values = [];
2376
- }
2377
- ids = $.map(values, function (e) {
2378
- return self.opts.id(e)
2379
- });
2380
- this.setVal(ids);
2381
- this.updateSelection(values);
2382
- this.clearSearch();
2383
- }
2384
- }
2385
- });
2386
-
2387
- $.fn.select2 = function () {
2388
-
2389
- var args = Array.prototype.slice.call(arguments, 0),
2390
- opts,
2391
- select2,
2392
- value, multiple, allowedMethods = ["val", "destroy", "opened", "open", "close", "focus", "isFocused", "container", "onSortStart", "onSortEnd", "enable", "disable", "positionDropdown", "data"];
2393
-
2394
- this.each(function () {
2395
- if (args.length === 0 || typeof(args[0]) === "object") {
2396
- opts = args.length === 0 ? {} : $.extend({}, args[0]);
2397
- opts.element = $(this);
2398
-
2399
- if (opts.element.get(0).tagName.toLowerCase() === "select") {
2400
- multiple = opts.element.attr("multiple");
2401
- } else {
2402
- multiple = opts.multiple || false;
2403
- if ("tags" in opts) {
2404
- opts.multiple = multiple = true;
2405
- }
2406
- }
2407
-
2408
- select2 = multiple ? new MultiSelect2() : new SingleSelect2();
2409
- select2.init(opts);
2410
- } else if (typeof(args[0]) === "string") {
2411
-
2412
- if (indexOf(args[0], allowedMethods) < 0) {
2413
- throw "Unknown method: " + args[0];
2414
- }
2415
-
2416
- value = undefined;
2417
- select2 = $(this).data("select2");
2418
- if (select2 === undefined) return;
2419
- if (args[0] === "container") {
2420
- value = select2.container;
2421
- } else {
2422
- value = select2[args[0]].apply(select2, args.slice(1));
2423
- }
2424
- if (value !== undefined) {
2425
- return false;
2426
- }
2427
- } else {
2428
- throw "Invalid arguments to select2 plugin: " + args;
2429
- }
2430
- });
2431
- return (value === undefined) ? this : value;
2432
- };
2433
-
2434
- // plugin defaults, accessible to users
2435
- $.fn.select2.defaults = {
2436
- width: "copy",
2437
- closeOnSelect: true,
2438
- openOnEnter: true,
2439
- containerCss: {},
2440
- dropdownCss: {},
2441
- containerCssClass: "",
2442
- dropdownCssClass: "",
2443
- formatResult: function (result, container, query) {
2444
- var markup = [];
2445
- markMatch(result.text, query.term, markup);
2446
- return markup.join("");
2447
- },
2448
- formatSelection: function (data, container) {
2449
- return data ? data.text : undefined;
2450
- },
2451
- formatResultCssClass: function (data) {
2452
- return undefined;
2453
- },
2454
- formatNoMatches: function () {
2455
- return "No matches found";
2456
- },
2457
- formatInputTooShort: function (input, min) {
2458
- return "Please enter " + (min - input.length) + " more characters";
2459
- },
2460
- formatSelectionTooBig: function (limit) {
2461
- return "You can only select " + limit + " item" + (limit == 1 ? "" : "s");
2462
- },
2463
- formatLoadMore: function (pageNumber) {
2464
- return "Loading more results...";
2465
- },
2466
- formatSearching: function () {
2467
- return "Searching...";
2468
- },
2469
- minimumResultsForSearch: 0,
2470
- minimumInputLength: 0,
2471
- maximumSelectionSize: 0,
2472
- id: function (e) {
2473
- return e.id;
2474
- },
2475
- matcher: function (term, text) {
2476
- return text.toUpperCase().indexOf(term.toUpperCase()) >= 0;
2477
- },
2478
- separator: ",",
2479
- tokenSeparators: [],
2480
- tokenizer: defaultTokenizer,
2481
- escapeMarkup: function (markup) {
2482
- if (markup && typeof(markup) === "string") {
2483
- return markup.replace(/&/g, "&amp;");
2484
- }
2485
- return markup;
2486
- },
2487
- blurOnChange: false
2488
- };
2489
-
2490
- // exports
2491
- window.Select2 = {
2492
- query: {
2493
- ajax: ajax,
2494
- local: local,
2495
- tags: tags
2496
- }, util: {
2497
- debounce: debounce,
2498
- markMatch: markMatch
2499
- }, "class": {
2500
- "abstract": AbstractSelect2,
2501
- "single": SingleSelect2,
2502
- "multi": MultiSelect2
2503
- }
2504
- };
2505
-
2506
- }(jQuery));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/assets/js/select2/select2.min.css DELETED
@@ -1,440 +0,0 @@
1
- .select2-container {
2
- position: relative;
3
- zoom: 1;
4
- display: inline;
5
- vertical-align: top;
6
- }
7
-
8
- .select2-container, .select2-drop, .select2-search, .select2-search input {
9
- -moz-box-sizing: border-box;
10
- -ms-box-sizing: border-box;
11
- -webkit-box-sizing: border-box;
12
- -khtml-box-sizing: border-box;
13
- box-sizing: border-box;
14
- }
15
-
16
- .select2-container .select2-choice {
17
- background-color: #fff;
18
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
19
- background-image: linear-gradient(top, #eeeeee0%, #ffffff50%);
20
- -webkit-border-radius: 4px;
21
- -moz-border-radius: 4px;
22
- border-radius: 4px;
23
- -moz-background-clip: padding;
24
- -webkit-background-clip: padding-box;
25
- background-clip: padding-box;
26
- border: 1px solid #aaa;
27
- display: block;
28
- overflow: hidden;
29
- white-space: nowrap;
30
- position: relative;
31
- height: 26px;
32
- line-height: 26px;
33
- color: #444;
34
- text-decoration: none;
35
- padding: 0 0 0 8px;
36
- }
37
-
38
- .select2-container.select2-drop-above .select2-choice {
39
- border-bottom-color: #aaa;
40
- -webkit-border-radius: 0 0 4px 4px;
41
- -moz-border-radius: 0 0 4px 4px;
42
- border-radius: 0 0 4px 4px;
43
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
44
- background-image: linear-gradient(top, #eeeeee0%, #ffffff90%);
45
- }
46
-
47
- .select2-container .select2-choice span {
48
- margin-right: 26px;
49
- display: block;
50
- overflow: hidden;
51
- white-space: nowrap;
52
- -o-text-overflow: ellipsis;
53
- -ms-text-overflow: ellipsis;
54
- text-overflow: ellipsis;
55
- }
56
-
57
- .select2-container .select2-choice abbr {
58
- display: block;
59
- position: absolute;
60
- right: 26px;
61
- top: 8px;
62
- width: 12px;
63
- height: 12px;
64
- font-size: 1px;
65
- background: url(select2.png) right top no-repeat;
66
- cursor: pointer;
67
- text-decoration: none;
68
- border: 0;
69
- outline: 0;
70
- }
71
-
72
- .select2-container .select2-choice abbr:hover {
73
- background-position: right -11px;
74
- cursor: pointer;
75
- }
76
-
77
- .select2-drop {
78
- background: #fff;
79
- color: #000;
80
- border: 1px solid #aaa;
81
- border-top: 0;
82
- position: absolute;
83
- top: 100%;
84
- -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
85
- -moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
86
- -o-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
87
- box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
88
- z-index: 9999;
89
- width: 100%;
90
- margin-top: -1px;
91
- -webkit-border-radius: 0 0 4px 4px;
92
- -moz-border-radius: 0 0 4px 4px;
93
- border-radius: 0 0 4px 4px;
94
- }
95
-
96
- .select2-drop.select2-drop-above {
97
- -webkit-border-radius: 4px 4px 0 0;
98
- -moz-border-radius: 4px 4px 0 0;
99
- border-radius: 4px 4px 0 0;
100
- margin-top: 1px;
101
- border-top: 1px solid #aaa;
102
- border-bottom: 0;
103
- -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
104
- -moz-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
105
- -o-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
106
- box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
107
- }
108
-
109
- .select2-container .select2-choice div {
110
- -webkit-border-radius: 0 4px 4px 0;
111
- -moz-border-radius: 0 4px 4px 0;
112
- border-radius: 0 4px 4px 0;
113
- -moz-background-clip: padding;
114
- -webkit-background-clip: padding-box;
115
- background-clip: padding-box;
116
- background: #ccc;
117
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#eeeeee', GradientType=0);
118
- background-image: linear-gradient(top, #cccccc0%, #eeeeee60%);
119
- border-left: 1px solid #aaa;
120
- position: absolute;
121
- right: 0;
122
- top: 0;
123
- display: block;
124
- height: 100%;
125
- width: 18px;
126
- }
127
-
128
- .select2-container .select2-choice div b {
129
- background: url(select2.png) no-repeat 0 1px;
130
- display: block;
131
- width: 100%;
132
- height: 100%;
133
- }
134
-
135
- .select2-search {
136
- display: inline-block;
137
- white-space: nowrap;
138
- z-index: 10000;
139
- position: relative;
140
- min-height: 26px;
141
- width: 100%;
142
- padding-left: 4px;
143
- padding-right: 4px;
144
- margin: 0;
145
- }
146
-
147
- .select2-search-hidden {
148
- display: block;
149
- position: absolute;
150
- left: -10000px;
151
- }
152
-
153
- .select2-search input {
154
- background: url(select2.png) no-repeat 100% -22px linear-gradient(top, #ffffff85%, #eeeeee99%);
155
- outline: 0;
156
- border: 1px solid #aaa;
157
- font-family: sans-serif;
158
- font-size: 1em;
159
- width: 100%;
160
- height: auto !important;
161
- min-height: 26px;
162
- -webkit-box-shadow: none;
163
- -moz-box-shadow: none;
164
- box-shadow: none;
165
- border-radius: 0;
166
- -moz-border-radius: 0;
167
- -webkit-border-radius: 0;
168
- margin: 0;
169
- padding: 4px 20px 4px 5px;
170
- }
171
-
172
- .select2-drop.select2-drop-above .select2-search input {
173
- margin-top: 4px;
174
- }
175
-
176
- .select2-search input.select2-active {
177
- background: url(spinner.gif) no-repeat 100% linear-gradient(top, #ffffff85%, #eeeeee99%);
178
- }
179
-
180
- .select2-dropdown-open .select2-choice {
181
- border: 1px solid #aaa;
182
- border-bottom-color: transparent;
183
- -webkit-box-shadow: 0 1px 0 #fff inset;
184
- -moz-box-shadow: 0 1px 0 #fff inset;
185
- -o-box-shadow: 0 1px 0 #fff inset;
186
- box-shadow: 0 1px 0 #fff inset;
187
- background-color: #eee;
188
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);
189
- background-image: linear-gradient(top, #ffffff0%, #eeeeee50%);
190
- -webkit-border-bottom-left-radius: 0;
191
- -webkit-border-bottom-right-radius: 0;
192
- -moz-border-radius-bottomleft: 0;
193
- -moz-border-radius-bottomright: 0;
194
- border-bottom-left-radius: 0;
195
- border-bottom-right-radius: 0;
196
- }
197
-
198
- .select2-dropdown-open .select2-choice div {
199
- background: transparent;
200
- border-left: none;
201
- }
202
-
203
- .select2-dropdown-open .select2-choice div b {
204
- background-position: -18px 1px;
205
- }
206
-
207
- .select2-results {
208
- position: relative;
209
- overflow-x: hidden;
210
- overflow-y: auto;
211
- max-height: 200px;
212
- margin: 4px 4px 4px 0;
213
- padding: 0 0 0 4px;
214
- }
215
-
216
- .select2-results ul.select2-result-sub {
217
- margin: 0;
218
- }
219
-
220
- .select2-results ul.select2-result-sub > li .select2-result-label {
221
- padding-left: 20px;
222
- }
223
-
224
- .select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
225
- padding-left: 40px;
226
- }
227
-
228
- .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
229
- padding-left: 60px;
230
- }
231
-
232
- .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
233
- padding-left: 80px;
234
- }
235
-
236
- .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
237
- padding-left: 100px;
238
- }
239
-
240
- .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
241
- padding-left: 110px;
242
- }
243
-
244
- .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
245
- padding-left: 120px;
246
- }
247
-
248
- .select2-results li {
249
- list-style: none;
250
- display: list-item;
251
- }
252
-
253
- .select2-results li.select2-result-with-children > .select2-result-label {
254
- font-weight: 700;
255
- }
256
-
257
- .select2-results .select2-result-label {
258
- cursor: pointer;
259
- margin: 0;
260
- padding: 3px 7px 4px;
261
- }
262
-
263
- .select2-results .select2-highlighted {
264
- background: #3875d7;
265
- color: #fff;
266
- }
267
-
268
- .select2-results li em {
269
- background: #feffde;
270
- font-style: normal;
271
- }
272
-
273
- .select2-results .select2-highlighted em {
274
- background: transparent;
275
- }
276
-
277
- .select2-more-results.select2-active {
278
- background: #f4f4f4 url(spinner.gif) no-repeat 100%;
279
- }
280
-
281
- .select2-container.select2-container-disabled .select2-choice div {
282
- background-color: #f4f4f4;
283
- background-image: none;
284
- border-left: 0;
285
- }
286
-
287
- .select2-container-multi .select2-choices {
288
- background-color: #fff;
289
- background-image: linear-gradient(top, #eeeeee1%, #ffffff15%);
290
- border: 1px solid #aaa;
291
- cursor: text;
292
- overflow: hidden;
293
- height: auto !important;
294
- position: relative;
295
- min-height: 26px;
296
- margin: 0;
297
- padding: 0;
298
- }
299
-
300
- .select2-container-multi .select2-choices li {
301
- float: left;
302
- list-style: none;
303
- }
304
-
305
- .select2-container-multi .select2-choices .select2-search-field {
306
- white-space: nowrap;
307
- margin: 0;
308
- padding: 0;
309
- }
310
-
311
- .select2-container-multi .select2-choices .select2-search-field input {
312
- color: #666;
313
- background: transparent !important;
314
- font-family: sans-serif;
315
- font-size: 100%;
316
- height: 15px;
317
- outline: 0;
318
- border: 0;
319
- -webkit-box-shadow: none;
320
- -moz-box-shadow: none;
321
- -o-box-shadow: none;
322
- box-shadow: none;
323
- margin: 1px 0;
324
- padding: 5px;
325
- }
326
-
327
- .select2-container-multi .select2-choices .select2-search-field input.select2-active {
328
- background: #fff url(spinner.gif) no-repeat 100% !important;
329
- }
330
-
331
- .select2-default {
332
- color: #999 !important;
333
- }
334
-
335
- .select2-container-multi .select2-choices .select2-search-choice {
336
- -webkit-border-radius: 3px;
337
- -moz-border-radius: 3px;
338
- border-radius: 3px;
339
- -moz-background-clip: padding;
340
- -webkit-background-clip: padding-box;
341
- background-clip: padding-box;
342
- background-color: #e4e4e4;
343
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4f4f4', endColorstr='#eeeeee', GradientType=0);
344
- background-image: linear-gradient(top, #f4f4f420%, #f0f0f050%, #e8e8e852%, #eeeeee100%);
345
- -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
346
- -moz-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
347
- box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
348
- color: #333;
349
- border: 1px solid #aaa;
350
- line-height: 13px;
351
- position: relative;
352
- cursor: default;
353
- margin: 3px 0 3px 5px;
354
- padding: 3px 5px 3px 18px;
355
- }
356
-
357
- .select2-container-multi .select2-choices .select2-search-choice span {
358
- cursor: default;
359
- }
360
-
361
- .select2-container-multi .select2-choices .select2-search-choice-focus {
362
- background: #d4d4d4;
363
- }
364
-
365
- .select2-search-choice-close {
366
- display: block;
367
- position: absolute;
368
- right: 3px;
369
- top: 4px;
370
- width: 12px;
371
- height: 13px;
372
- font-size: 1px;
373
- background: url(select2.png) right top no-repeat;
374
- outline: none;
375
- }
376
-
377
- .select2-container-multi .select2-search-choice-close {
378
- left: 3px;
379
- }
380
-
381
- .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
382
- background-image: none;
383
- background-color: #f4f4f4;
384
- border: 1px solid #ddd;
385
- padding: 3px 5px;
386
- }
387
-
388
- .select2-result-selectable .select2-match, .select2-result-unselectable .select2-result-selectable .select2-match {
389
- text-decoration: underline;
390
- }
391
-
392
- .select2-result-unselectable .select2-match {
393
- text-decoration: none;
394
- }
395
-
396
- .select2-offscreen {
397
- position: absolute;
398
- left: -10000px;
399
- }
400
-
401
- .select2-container-active .select2-choice, .select2-container-active .select2-choices, .select2-container-multi.select2-container-active .select2-choices {
402
- -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
403
- -moz-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
404
- -o-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
405
- box-shadow: 0 0 5px rgba(0, 0, 0, .3);
406
- border: 1px solid #5897fb;
407
- outline: none;
408
- }
409
-
410
- .select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-selection-limit, .select2-more-results {
411
- background: #f4f4f4;
412
- display: list-item;
413
- }
414
-
415
- .select2-results .select2-disabled, .select2-container.select2-container-disabled .select2-choice abbr, .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {
416
- display: none;
417
- }
418
-
419
- .select2-container.select2-container-disabled .select2-choice, .select2-container-multi.select2-container-disabled .select2-choices {
420
- background-color: #f4f4f4;
421
- background-image: none;
422
- border: 1px solid #ddd;
423
- cursor: default;
424
- }
425
-
426
- .select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover, .select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
427
- background-position: right -11px;
428
- }
429
-
430
- @media only screen and -webkit-min-device-pixel-ratio 15 {
431
- .select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice div b {
432
- background-image: url(select2x2.png) !important;
433
- background-repeat: no-repeat !important;
434
- background-size: 60px 40px !important;
435
- }
436
-
437
- .select2-search input {
438
- background-position: 100% -21px !important;
439
- }
440
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/assets/js/select2/select2.min.js DELETED
@@ -1,1564 +0,0 @@
1
- /*
2
- Copyright 2012 Igor Vaynberg
3
-
4
- Version: @@ver@@ Timestamp: @@timestamp@@
5
-
6
- This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
7
- General Public License version 2 (the "GPL License"). You may choose either license to govern your
8
- use of this software only upon the condition that you accept all of the terms of either the Apache
9
- License or the GPL License.
10
-
11
- You may obtain a copy of the Apache License and the GPL License at:
12
-
13
- http://www.apache.org/licenses/LICENSE-2.0
14
- http://www.gnu.org/licenses/gpl-2.0.html
15
-
16
- Unless required by applicable law or agreed to in writing, software distributed under the
17
- Apache License or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
18
- CONDITIONS OF ANY KIND, either express or implied. See the Apache License and the GPL License for
19
- the specific language governing permissions and limitations under the Apache License and the GPL License.
20
- */
21
- (function ($) {
22
- if (typeof $.fn.each2 == "undefined") {
23
- $.fn.extend({each2: function (c) {
24
- var j = $([0]), i = -1, l = this.length;
25
- while (++i < l && (j.context = j[0] = this[i]) && c.call(j[0], i, j) !== false);
26
- return this
27
- }})
28
- }
29
- })(jQuery);
30
- (function ($, undefined) {
31
- "use strict";
32
- if (window.Select2 !== undefined) {
33
- return
34
- }
35
- var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer, lastMousePosition, $document;
36
- KEY = {TAB: 9, ENTER: 13, ESC: 27, SPACE: 32, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, SHIFT: 16, CTRL: 17, ALT: 18, PAGE_UP: 33, PAGE_DOWN: 34, HOME: 36, END: 35, BACKSPACE: 8, DELETE: 46, isArrow: function (k) {
37
- k = k.which ? k.which : k;
38
- switch (k) {
39
- case KEY.LEFT:
40
- case KEY.RIGHT:
41
- case KEY.UP:
42
- case KEY.DOWN:
43
- return true
44
- }
45
- return false
46
- }, isControl: function (e) {
47
- var k = e.which;
48
- switch (k) {
49
- case KEY.SHIFT:
50
- case KEY.CTRL:
51
- case KEY.ALT:
52
- return true
53
- }
54
- if (e.metaKey)return true;
55
- return false
56
- }, isFunctionKey: function (k) {
57
- k = k.which ? k.which : k;
58
- return k >= 112 && k <= 123
59
- }};
60
- $document = $(document);
61
- nextUid = (function () {
62
- var counter = 1;
63
- return function () {
64
- return counter++
65
- }
66
- }());
67
- function indexOf(value, array) {
68
- var i = 0, l = array.length, v;
69
- if (typeof value === "undefined") {
70
- return-1
71
- }
72
- if (value.constructor === String) {
73
- for (; i < l; i = i + 1)if (value.localeCompare(array[i]) === 0)return i
74
- } else {
75
- for (; i < l; i = i + 1) {
76
- v = array[i];
77
- if (v.constructor === String) {
78
- if (v.localeCompare(value) === 0)return i
79
- } else {
80
- if (v === value)return i
81
- }
82
- }
83
- }
84
- return-1
85
- }
86
-
87
- function equal(a, b) {
88
- if (a === b)return true;
89
- if (a === undefined || b === undefined)return false;
90
- if (a === null || b === null)return false;
91
- if (a.constructor === String)return a.localeCompare(b) === 0;
92
- if (b.constructor === String)return b.localeCompare(a) === 0;
93
- return false
94
- }
95
-
96
- function splitVal(string, separator) {
97
- var val, i, l;
98
- if (string === null || string.length < 1)return[];
99
- val = string.split(separator);
100
- for (i = 0, l = val.length; i < l; i = i + 1)val[i] = $.trim(val[i]);
101
- return val
102
- }
103
-
104
- function getSideBorderPadding(element) {
105
- return element.outerWidth(false) - element.width()
106
- }
107
-
108
- function installKeyUpChangeEvent(element) {
109
- var key = "keyup-change-value";
110
- element.bind("keydown", function () {
111
- if ($.data(element, key) === undefined) {
112
- $.data(element, key, element.val())
113
- }
114
- });
115
- element.bind("keyup", function () {
116
- var val = $.data(element, key);
117
- if (val !== undefined && element.val() !== val) {
118
- $.removeData(element, key);
119
- element.trigger("keyup-change")
120
- }
121
- })
122
- }
123
-
124
- $document.bind("mousemove", function (e) {
125
- lastMousePosition = {x: e.pageX, y: e.pageY}
126
- });
127
- function installFilteredMouseMove(element) {
128
- element.bind("mousemove", function (e) {
129
- var lastpos = lastMousePosition;
130
- if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {
131
- $(e.target).trigger("mousemove-filtered", e)
132
- }
133
- })
134
- }
135
-
136
- function debounce(quietMillis, fn, ctx) {
137
- ctx = ctx || undefined;
138
- var timeout;
139
- return function () {
140
- var args = arguments;
141
- window.clearTimeout(timeout);
142
- timeout = window.setTimeout(function () {
143
- fn.apply(ctx, args)
144
- }, quietMillis)
145
- }
146
- }
147
-
148
- function thunk(formula) {
149
- var evaluated = false, value;
150
- return function () {
151
- if (evaluated === false) {
152
- value = formula();
153
- evaluated = true
154
- }
155
- return value
156
- }
157
- };
158
- function installDebouncedScroll(threshold, element) {
159
- var notify = debounce(threshold, function (e) {
160
- element.trigger("scroll-debounced", e)
161
- });
162
- element.bind("scroll", function (e) {
163
- if (indexOf(e.target, element.get()) >= 0)notify(e)
164
- })
165
- }
166
-
167
- function killEvent(event) {
168
- event.preventDefault();
169
- event.stopPropagation()
170
- }
171
-
172
- function killEventImmediately(event) {
173
- event.preventDefault();
174
- event.stopImmediatePropagation()
175
- }
176
-
177
- function measureTextWidth(e) {
178
- if (!sizer) {
179
- var style = e[0].currentStyle || window.getComputedStyle(e[0], null);
180
- sizer = $("<div></div>").css({position: "absolute", left: "-10000px", top: "-10000px", display: "none", fontSize: style.fontSize, fontFamily: style.fontFamily, fontStyle: style.fontStyle, fontWeight: style.fontWeight, letterSpacing: style.letterSpacing, textTransform: style.textTransform, whiteSpace: "nowrap"});
181
- $("body").append(sizer)
182
- }
183
- sizer.text(e.val());
184
- return sizer.width()
185
- }
186
-
187
- function markMatch(text, term, markup) {
188
- var match = text.toUpperCase().indexOf(term.toUpperCase()), tl = term.length;
189
- if (match < 0) {
190
- markup.push(text);
191
- return
192
- }
193
- markup.push(text.substring(0, match));
194
- markup.push("<span class='select2-match'>");
195
- markup.push(text.substring(match, match + tl));
196
- markup.push("</span>");
197
- markup.push(text.substring(match + tl, text.length))
198
- }
199
-
200
- function ajax(options) {
201
- var timeout, requestSequence = 0, handler = null, quietMillis = options.quietMillis || 100;
202
- return function (query) {
203
- window.clearTimeout(timeout);
204
- timeout = window.setTimeout(function () {
205
- requestSequence += 1;
206
- var requestNumber = requestSequence, data = options.data, transport = options.transport || $.ajax, traditional = options.traditional || false, type = options.type || 'GET';
207
- data = data.call(this, query.term, query.page, query.context);
208
- if (null !== handler) {
209
- handler.abort()
210
- }
211
- handler = transport.call(null, {url: options.url, dataType: options.dataType, data: data, type: type, traditional: traditional, success: function (data) {
212
- if (requestNumber < requestSequence) {
213
- return
214
- }
215
- var results = options.results(data, query.page);
216
- query.callback(results)
217
- }})
218
- }, quietMillis)
219
- }
220
- }
221
-
222
- function local(options) {
223
- var data = options, dataText, text = function (item) {
224
- return"" + item.text
225
- };
226
- if (!$.isArray(data)) {
227
- text = data.text;
228
- if (!$.isFunction(text)) {
229
- dataText = data.text;
230
- text = function (item) {
231
- return item[dataText]
232
- }
233
- }
234
- data = data.results
235
- }
236
- return function (query) {
237
- var t = query.term, filtered = {results: []}, process;
238
- if (t === "") {
239
- query.callback({results: data});
240
- return
241
- }
242
- process = function (datum, collection) {
243
- var group, attr;
244
- datum = datum[0];
245
- if (datum.children) {
246
- group = {};
247
- for (attr in datum) {
248
- if (datum.hasOwnProperty(attr))group[attr] = datum[attr]
249
- }
250
- group.children = [];
251
- $(datum.children).each2(function (i, childDatum) {
252
- process(childDatum, group.children)
253
- });
254
- if (group.children.length) {
255
- collection.push(group)
256
- }
257
- } else {
258
- if (query.matcher(t, text(datum))) {
259
- collection.push(datum)
260
- }
261
- }
262
- };
263
- $(data).each2(function (i, datum) {
264
- process(datum, filtered.results)
265
- });
266
- query.callback(filtered)
267
- }
268
- }
269
-
270
- function tags(data) {
271
- if ($.isFunction(data)) {
272
- return data
273
- }
274
- return function (query) {
275
- var t = query.term, filtered = {results: []};
276
- $(data).each(function () {
277
- var isObject = this.text !== undefined, text = isObject ? this.text : this;
278
- if (t === "" || query.matcher(t, text)) {
279
- filtered.results.push(isObject ? this : {id: this, text: this})
280
- }
281
- });
282
- query.callback(filtered)
283
- }
284
- }
285
-
286
- function checkFormatter(formatter, formatterName) {
287
- if ($.isFunction(formatter))return true;
288
- if (!formatter)return false;
289
- throw new Error("formatterName must be a function or a falsy value")
290
- }
291
-
292
- function evaluate(val) {
293
- return $.isFunction(val) ? val() : val
294
- }
295
-
296
- function countResults(results) {
297
- var count = 0;
298
- $.each(results, function (i, item) {
299
- if (item.children) {
300
- count += countResults(item.children)
301
- } else {
302
- count++
303
- }
304
- });
305
- return count
306
- }
307
-
308
- function defaultTokenizer(input, selection, selectCallback, opts) {
309
- var original = input, dupe = false, token, index, i, l, separator;
310
- if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1)return undefined;
311
- while (true) {
312
- index = -1;
313
- for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {
314
- separator = opts.tokenSeparators[i];
315
- index = input.indexOf(separator);
316
- if (index >= 0)break
317
- }
318
- if (index < 0)break;
319
- token = input.substring(0, index);
320
- input = input.substring(index + separator.length);
321
- if (token.length > 0) {
322
- token = opts.createSearchChoice(token, selection);
323
- if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {
324
- dupe = false;
325
- for (i = 0, l = selection.length; i < l; i++) {
326
- if (equal(opts.id(token), opts.id(selection[i]))) {
327
- dupe = true;
328
- break
329
- }
330
- }
331
- if (!dupe)selectCallback(token)
332
- }
333
- }
334
- }
335
- if (original.localeCompare(input) != 0)return input
336
- }
337
-
338
- $document.ready(function () {
339
- $document.bind("mousedown touchend", function (e) {
340
- var target = $(e.target).closest("div.select2-container").get(0), attr;
341
- if (target) {
342
- $document.find("div.select2-container-active").each(function () {
343
- if (this !== target)$(this).data("select2").blur()
344
- })
345
- } else {
346
- target = $(e.target).closest("div.select2-drop").get(0);
347
- $document.find("div.select2-drop-active").each(function () {
348
- if (this !== target)$(this).data("select2").blur()
349
- })
350
- }
351
- target = $(e.target);
352
- attr = target.attr("for");
353
- if ("LABEL" === e.target.tagName && attr && attr.length > 0) {
354
- attr = attr.replace(/([\[\].])/g, '\\$1');
355
- target = $("#" + attr);
356
- target = target.data("select2");
357
- if (target !== undefined) {
358
- target.focus();
359
- e.preventDefault()
360
- }
361
- }
362
- })
363
- });
364
- function clazz(SuperClass, methods) {
365
- var constructor = function () {
366
- };
367
- constructor.prototype = new SuperClass;
368
- constructor.prototype.constructor = constructor;
369
- constructor.prototype.parent = SuperClass.prototype;
370
- constructor.prototype = $.extend(constructor.prototype, methods);
371
- return constructor
372
- }
373
-
374
- AbstractSelect2 = clazz(Object, {bind: function (func) {
375
- var self = this;
376
- return function () {
377
- func.apply(self, arguments)
378
- }
379
- }, init: function (opts) {
380
- var results, search, resultsSelector = ".select2-results";
381
- this.opts = opts = this.prepareOpts(opts);
382
- this.id = opts.id;
383
- if (opts.element.data("select2") !== undefined && opts.element.data("select2") !== null) {
384
- this.destroy()
385
- }
386
- this.enabled = true;
387
- this.container = this.createContainer();
388
- this.containerId = "s2id_" + (opts.element.attr("id") || "autogen" + nextUid());
389
- this.containerSelector = "#" + this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
390
- this.container.attr("id", this.containerId);
391
- this.body = thunk(function () {
392
- return opts.element.closest("body")
393
- });
394
- if (opts.element.attr("class") !== undefined) {
395
- this.container.addClass(opts.element.attr("class").replace(/validate\[[\S ]+] ?/, ''))
396
- }
397
- this.container.css(evaluate(opts.containerCss));
398
- this.container.addClass(evaluate(opts.containerCssClass));
399
- this.opts.element.data("select2", this).hide().before(this.container);
400
- this.container.data("select2", this);
401
- this.dropdown = this.container.find(".select2-drop");
402
- this.dropdown.addClass(evaluate(opts.dropdownCssClass));
403
- this.dropdown.data("select2", this);
404
- this.results = results = this.container.find(resultsSelector);
405
- this.search = search = this.container.find("input.select2-input");
406
- search.attr("tabIndex", this.opts.element.attr("tabIndex"));
407
- this.resultsPage = 0;
408
- this.context = null;
409
- this.initContainer();
410
- this.initContainerWidth();
411
- installFilteredMouseMove(this.results);
412
- this.dropdown.delegate(resultsSelector, "mousemove-filtered", this.bind(this.highlightUnderEvent));
413
- installDebouncedScroll(80, this.results);
414
- this.dropdown.delegate(resultsSelector, "scroll-debounced", this.bind(this.loadMoreIfNeeded));
415
- if ($.fn.mousewheel) {
416
- results.mousewheel(function (e, delta, deltaX, deltaY) {
417
- var top = results.scrollTop(), height;
418
- if (deltaY > 0 && top - deltaY <= 0) {
419
- results.scrollTop(0);
420
- killEvent(e)
421
- } else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {
422
- results.scrollTop(results.get(0).scrollHeight - results.height());
423
- killEvent(e)
424
- }
425
- })
426
- }
427
- installKeyUpChangeEvent(search);
428
- search.bind("keyup-change", this.bind(this.updateResults));
429
- search.bind("focus", function () {
430
- search.addClass("select2-focused");
431
- if (search.val() === " ")search.val("")
432
- });
433
- search.bind("blur", function () {
434
- search.removeClass("select2-focused")
435
- });
436
- this.dropdown.delegate(resultsSelector, "mouseup", this.bind(function (e) {
437
- if ($(e.target).closest(".select2-result-selectable:not(.select2-disabled)").length > 0) {
438
- this.highlightUnderEvent(e);
439
- this.selectHighlighted(e)
440
- } else {
441
- this.focusSearch()
442
- }
443
- killEvent(e)
444
- }));
445
- this.dropdown.bind("click mouseup mousedown", function (e) {
446
- e.stopPropagation()
447
- });
448
- if ($.isFunction(this.opts.initSelection)) {
449
- this.initSelection();
450
- this.monitorSource()
451
- }
452
- if (opts.element.is(":disabled") || opts.element.is("[readonly='readonly']"))this.disable()
453
- }, destroy: function () {
454
- var select2 = this.opts.element.data("select2");
455
- if (select2 !== undefined) {
456
- select2.container.remove();
457
- select2.dropdown.remove();
458
- select2.opts.element.removeData("select2").unbind(".select2").show()
459
- }
460
- }, prepareOpts: function (opts) {
461
- var element, select, idKey, ajaxUrl;
462
- element = opts.element;
463
- if (element.get(0).tagName.toLowerCase() === "select") {
464
- this.select = select = opts.element
465
- }
466
- if (select) {
467
- $.each(["id", "multiple", "ajax", "query", "createSearchChoice", "initSelection", "data", "tags"], function () {
468
- if (this in opts) {
469
- throw new Error("Option '" + this + "' is not allowed for Select2 when attached to a <select> element.")
470
- }
471
- })
472
- }
473
- opts = $.extend({}, {populateResults: function (container, results, query) {
474
- var populate, data, result, children, id = this.opts.id, self = this;
475
- populate = function (results, container, depth) {
476
- var i, l, result, selectable, compound, node, label, innerContainer, formatted;
477
- for (i = 0, l = results.length; i < l; i = i + 1) {
478
- result = results[i];
479
- selectable = id(result) !== undefined;
480
- compound = result.children && result.children.length > 0;
481
- node = $("<li></li>");
482
- node.addClass("select2-results-dept-" + depth);
483
- node.addClass("select2-result");
484
- node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable");
485
- if (compound) {
486
- node.addClass("select2-result-with-children")
487
- }
488
- node.addClass(self.opts.formatResultCssClass(result));
489
- label = $("<div></div>");
490
- label.addClass("select2-result-label");
491
- formatted = opts.formatResult(result, label, query);
492
- if (formatted !== undefined) {
493
- label.html(self.opts.escapeMarkup(formatted))
494
- }
495
- node.append(label);
496
- if (compound) {
497
- innerContainer = $("<ul></ul>");
498
- innerContainer.addClass("select2-result-sub");
499
- populate(result.children, innerContainer, depth + 1);
500
- node.append(innerContainer)
501
- }
502
- node.data("select2-data", result);
503
- container.append(node)
504
- }
505
- };
506
- populate(results, container, 0)
507
- }}, $.fn.select2.defaults, opts);
508
- if (typeof(opts.id) !== "function") {
509
- idKey = opts.id;
510
- opts.id = function (e) {
511
- return e[idKey]
512
- }
513
- }
514
- if (select) {
515
- opts.query = this.bind(function (query) {
516
- var data = {results: [], more: false}, term = query.term, children, firstChild, process;
517
- process = function (element, collection) {
518
- var group;
519
- if (element.is("option")) {
520
- if (query.matcher(term, element.text(), element)) {
521
- collection.push({id: element.attr("value"), text: element.text(), element: element.get(), css: element.attr("class")})
522
- }
523
- } else if (element.is("optgroup")) {
524
- group = {text: element.attr("label"), children: [], element: element.get(), css: element.attr("class")};
525
- element.children().each2(function (i, elm) {
526
- process(elm, group.children)
527
- });
528
- if (group.children.length > 0) {
529
- collection.push(group)
530
- }
531
- }
532
- };
533
- children = element.children();
534
- if (this.getPlaceholder() !== undefined && children.length > 0) {
535
- firstChild = children[0];
536
- if ($(firstChild).text() === "") {
537
- children = children.not(firstChild)
538
- }
539
- }
540
- children.each2(function (i, elm) {
541
- process(elm, data.results)
542
- });
543
- query.callback(data)
544
- });
545
- opts.id = function (e) {
546
- return e.id
547
- };
548
- opts.formatResultCssClass = function (data) {
549
- return data.css
550
- }
551
- } else {
552
- if (!("query"in opts)) {
553
- if ("ajax"in opts) {
554
- ajaxUrl = opts.element.data("ajax-url");
555
- if (ajaxUrl && ajaxUrl.length > 0) {
556
- opts.ajax.url = ajaxUrl
557
- }
558
- opts.query = ajax(opts.ajax)
559
- } else if ("data"in opts) {
560
- opts.query = local(opts.data)
561
- } else if ("tags"in opts) {
562
- opts.query = tags(opts.tags);
563
- opts.createSearchChoice = function (term) {
564
- return{id: term, text: term}
565
- };
566
- opts.initSelection = function (element, callback) {
567
- var data = [];
568
- $(splitVal(element.val(), opts.separator)).each(function () {
569
- var id = this, text = this, tags = opts.tags;
570
- if ($.isFunction(tags))tags = tags();
571
- $(tags).each(function () {
572
- if (equal(this.id, id)) {
573
- text = this.text;
574
- return false
575
- }
576
- });
577
- data.push({id: id, text: text})
578
- });
579
- callback(data)
580
- }
581
- }
582
- }
583
- }
584
- if (typeof(opts.query) !== "function") {
585
- throw"query function not defined for Select2 " + opts.element.attr("id")
586
- }
587
- return opts
588
- }, monitorSource: function () {
589
- this.opts.element.bind("change.select2", this.bind(function (e) {
590
- if (this.opts.element.data("select2-change-triggered") !== true) {
591
- this.initSelection()
592
- }
593
- }))
594
- }, triggerChange: function (details) {
595
- details = details || {};
596
- details = $.extend({}, details, {type: "change", val: this.val()});
597
- this.opts.element.data("select2-change-triggered", true);
598
- this.opts.element.trigger(details);
599
- this.opts.element.data("select2-change-triggered", false);
600
- this.opts.element.click();
601
- if (this.opts.blurOnChange)this.opts.element.blur()
602
- }, enable: function () {
603
- if (this.enabled)return;
604
- this.enabled = true;
605
- this.container.removeClass("select2-container-disabled");
606
- this.opts.element.removeAttr("disabled")
607
- }, disable: function () {
608
- if (!this.enabled)return;
609
- this.close();
610
- this.enabled = false;
611
- this.container.addClass("select2-container-disabled");
612
- this.opts.element.attr("disabled", "disabled")
613
- }, opened: function () {
614
- return this.container.hasClass("select2-dropdown-open")
615
- }, positionDropdown: function () {
616
- var offset = this.container.offset(), height = this.container.outerHeight(true), width = this.container.outerWidth(true), dropHeight = this.dropdown.outerHeight(true), viewportBottom = $(window).scrollTop() + document.documentElement.clientHeight, dropTop = offset.top + height, dropLeft = offset.left, enoughRoomBelow = dropTop + dropHeight <= viewportBottom, enoughRoomAbove = (offset.top - dropHeight) >= this.body().scrollTop(), aboveNow = this.dropdown.hasClass("select2-drop-above"), bodyOffset, above, css;
617
- if (this.body().css('position') !== 'static') {
618
- bodyOffset = this.body().offset();
619
- dropTop -= bodyOffset.top;
620
- dropLeft -= bodyOffset.left
621
- }
622
- if (aboveNow) {
623
- above = true;
624
- if (!enoughRoomAbove && enoughRoomBelow)above = false
625
- } else {
626
- above = false;
627
- if (!enoughRoomBelow && enoughRoomAbove)above = true
628
- }
629
- if (above) {
630
- dropTop = offset.top - dropHeight;
631
- this.container.addClass("select2-drop-above");
632
- this.dropdown.addClass("select2-drop-above")
633
- } else {
634
- this.container.removeClass("select2-drop-above");
635
- this.dropdown.removeClass("select2-drop-above")
636
- }
637
- css = $.extend({top: dropTop, left: dropLeft, width: width}, evaluate(this.opts.dropdownCss));
638
- this.dropdown.css(css)
639
- }, shouldOpen: function () {
640
- var event;
641
- if (this.opened())return false;
642
- event = $.Event("open");
643
- this.opts.element.trigger(event);
644
- return!event.isDefaultPrevented()
645
- }, clearDropdownAlignmentPreference: function () {
646
- this.container.removeClass("select2-drop-above");
647
- this.dropdown.removeClass("select2-drop-above")
648
- }, open: function () {
649
- if (!this.shouldOpen())return false;
650
- window.setTimeout(this.bind(this.opening), 1);
651
- return true
652
- }, opening: function () {
653
- var cid = this.containerId, selector = this.containerSelector, scroll = "scroll." + cid, resize = "resize." + cid;
654
- this.container.parents().each(function () {
655
- $(this).bind(scroll, function () {
656
- var s2 = $(selector);
657
- if (s2.length == 0) {
658
- $(this).unbind(scroll)
659
- }
660
- s2.select2("close")
661
- })
662
- });
663
- window.setTimeout(function () {
664
- $(window).bind(resize, function () {
665
- var s2 = $(selector);
666
- if (s2.length == 0) {
667
- $(window).unbind(resize)
668
- }
669
- s2.select2("close")
670
- })
671
- }, 10);
672
- this.clearDropdownAlignmentPreference();
673
- if (this.search.val() === " ") {
674
- this.search.val("")
675
- }
676
- this.container.addClass("select2-dropdown-open").addClass("select2-container-active");
677
- this.updateResults(true);
678
- if (this.dropdown[0] !== this.body().children().last()[0]) {
679
- this.dropdown.detach().appendTo(this.body())
680
- }
681
- this.dropdown.show();
682
- this.positionDropdown();
683
- this.dropdown.addClass("select2-drop-active");
684
- this.ensureHighlightVisible();
685
- this.focusSearch()
686
- }, close: function () {
687
- if (!this.opened())return;
688
- var self = this;
689
- this.container.parents().each(function () {
690
- $(this).unbind("scroll." + self.containerId)
691
- });
692
- $(window).unbind("resize." + this.containerId);
693
- this.clearDropdownAlignmentPreference();
694
- this.dropdown.hide();
695
- this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active");
696
- this.results.empty();
697
- this.clearSearch();
698
- this.opts.element.trigger($.Event("close"))
699
- }, clearSearch: function () {
700
- }, ensureHighlightVisible: function () {
701
- var results = this.results, children, index, child, hb, rb, y, more;
702
- index = this.highlight();
703
- if (index < 0)return;
704
- if (index == 0) {
705
- results.scrollTop(0);
706
- return
707
- }
708
- children = results.find(".select2-result-selectable");
709
- child = $(children[index]);
710
- hb = child.offset().top + child.outerHeight(true);
711
- if (index === children.length - 1) {
712
- more = results.find("li.select2-more-results");
713
- if (more.length > 0) {
714
- hb = more.offset().top + more.outerHeight(true)
715
- }
716
- }
717
- rb = results.offset().top + results.outerHeight(true);
718
- if (hb > rb) {
719
- results.scrollTop(results.scrollTop() + (hb - rb))
720
- }
721
- y = child.offset().top - results.offset().top;
722
- if (y < 0) {
723
- results.scrollTop(results.scrollTop() + y)
724
- }
725
- }, moveHighlight: function (delta) {
726
- var choices = this.results.find(".select2-result-selectable"), index = this.highlight();
727
- while (index > -1 && index < choices.length) {
728
- index += delta;
729
- var choice = $(choices[index]);
730
- if (choice.hasClass("select2-result-selectable") && !choice.hasClass("select2-disabled")) {
731
- this.highlight(index);
732
- break
733
- }
734
- }
735
- }, highlight: function (index) {
736
- var choices = this.results.find(".select2-result-selectable").not(".select2-disabled");
737
- if (arguments.length === 0) {
738
- return indexOf(choices.filter(".select2-highlighted")[0], choices.get())
739
- }
740
- if (index >= choices.length)index = choices.length - 1;
741
- if (index < 0)index = 0;
742
- choices.removeClass("select2-highlighted");
743
- $(choices[index]).addClass("select2-highlighted");
744
- this.ensureHighlightVisible()
745
- }, countSelectableResults: function () {
746
- return this.results.find(".select2-result-selectable").not(".select2-disabled").length
747
- }, highlightUnderEvent: function (event) {
748
- var el = $(event.target).closest(".select2-result-selectable");
749
- if (el.length > 0 && !el.is(".select2-highlighted")) {
750
- var choices = this.results.find('.select2-result-selectable');
751
- this.highlight(choices.index(el))
752
- } else if (el.length == 0) {
753
- this.results.find(".select2-highlighted").removeClass("select2-highlighted")
754
- }
755
- }, loadMoreIfNeeded: function () {
756
- var results = this.results, more = results.find("li.select2-more-results"), below, offset = -1, page = this.resultsPage + 1, self = this, term = this.search.val(), context = this.context;
757
- if (more.length === 0)return;
758
- below = more.offset().top - results.offset().top - results.height();
759
- if (below <= 0) {
760
- more.addClass("select2-active");
761
- this.opts.query({term: term, page: page, context: context, matcher: this.opts.matcher, callback: this.bind(function (data) {
762
- if (!self.opened())return;
763
- self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context: context});
764
- if (data.more === true) {
765
- more.detach().appendTo(results).text(self.opts.formatLoadMore(page + 1));
766
- window.setTimeout(function () {
767
- self.loadMoreIfNeeded()
768
- }, 10)
769
- } else {
770
- more.remove()
771
- }
772
- self.positionDropdown();
773
- self.resultsPage = page
774
- })})
775
- }
776
- }, tokenize: function () {
777
- }, updateResults: function (initial) {
778
- var search = this.search, results = this.results, opts = this.opts, data, self = this, input;
779
- if (initial !== true && (this.showSearchInput === false || !this.opened())) {
780
- return
781
- }
782
- search.addClass("select2-active");
783
- function postRender() {
784
- results.scrollTop(0);
785
- search.removeClass("select2-active");
786
- self.positionDropdown()
787
- }
788
-
789
- function render(html) {
790
- results.html(self.opts.escapeMarkup(html));
791
- postRender()
792
- }
793
-
794
- if (opts.maximumSelectionSize >= 1) {
795
- data = this.data();
796
- if ($.isArray(data) && data.length >= opts.maximumSelectionSize && checkFormatter(opts.formatSelectionTooBig, "formatSelectionTooBig")) {
797
- render("<li class='select2-selection-limit'>" + opts.formatSelectionTooBig(opts.maximumSelectionSize) + "</li>");
798
- return
799
- }
800
- }
801
- if (search.val().length < opts.minimumInputLength) {
802
- if (checkFormatter(opts.formatInputTooShort, "formatInputTooShort")) {
803
- render("<li class='select2-no-results'>" + opts.formatInputTooShort(search.val(), opts.minimumInputLength) + "</li>")
804
- } else {
805
- render("")
806
- }
807
- return
808
- } else if (opts.formatSearching()) {
809
- render("<li class='select2-searching'>" + opts.formatSearching() + "</li>")
810
- }
811
- input = this.tokenize();
812
- if (input != undefined && input != null) {
813
- search.val(input)
814
- }
815
- this.resultsPage = 1;
816
- opts.query({term: search.val(), page: this.resultsPage, context: null, matcher: opts.matcher, callback: this.bind(function (data) {
817
- var def;
818
- if (!this.opened())return;
819
- this.context = (data.context === undefined) ? null : data.context;
820
- if (this.opts.createSearchChoice && search.val() !== "") {
821
- def = this.opts.createSearchChoice.call(null, search.val(), data.results);
822
- if (def !== undefined && def !== null && self.id(def) !== undefined && self.id(def) !== null) {
823
- if ($(data.results).filter(function () {
824
- return equal(self.id(this), self.id(def))
825
- }).length === 0) {
826
- data.results.unshift(def)
827
- }
828
- }
829
- }
830
- if (data.results.length === 0 && checkFormatter(opts.formatNoMatches, "formatNoMatches")) {
831
- render("<li class='select2-no-results'>" + opts.formatNoMatches(search.val()) + "</li>");
832
- return
833
- }
834
- results.empty();
835
- self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context: null});
836
- if (data.more === true && checkFormatter(opts.formatLoadMore, "formatLoadMore")) {
837
- results.append("<li class='select2-more-results'>" + self.opts.escapeMarkup(opts.formatLoadMore(this.resultsPage)) + "</li>");
838
- window.setTimeout(function () {
839
- self.loadMoreIfNeeded()
840
- }, 10)
841
- }
842
- this.postprocessResults(data, initial);
843
- postRender()
844
- })})
845
- }, cancel: function () {
846
- this.close()
847
- }, blur: function () {
848
- this.close();
849
- this.container.removeClass("select2-container-active");
850
- this.dropdown.removeClass("select2-drop-active");
851
- if (this.search[0] === document.activeElement) {
852
- this.search.blur()
853
- }
854
- this.clearSearch();
855
- this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
856
- this.opts.element.triggerHandler("blur")
857
- }, focusSearch: function () {
858
- this.search.show();
859
- this.search.focus();
860
- window.setTimeout(this.bind(function () {
861
- this.search.show();
862
- this.search.focus();
863
- this.search.val(this.search.val())
864
- }), 10)
865
- }, selectHighlighted: function () {
866
- var index = this.highlight(), highlighted = this.results.find(".select2-highlighted").not(".select2-disabled"), data = highlighted.closest('.select2-result-selectable').data("select2-data");
867
- if (data) {
868
- highlighted.addClass("select2-disabled");
869
- this.highlight(index);
870
- this.onSelect(data)
871
- }
872
- }, getPlaceholder: function () {
873
- return this.opts.element.attr("placeholder") || this.opts.element.attr("data-placeholder") || this.opts.element.data("placeholder") || this.opts.placeholder
874
- }, initContainerWidth: function () {
875
- function resolveContainerWidth() {
876
- var style, attrs, matches, i, l;
877
- if (this.opts.width === "off") {
878
- return null
879
- } else if (this.opts.width === "element") {
880
- return this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px'
881
- } else if (this.opts.width === "copy" || this.opts.width === "resolve") {
882
- style = this.opts.element.attr('style');
883
- if (style !== undefined) {
884
- attrs = style.split(';');
885
- for (i = 0, l = attrs.length; i < l; i = i + 1) {
886
- matches = attrs[i].replace(/\s/g, '').match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/);
887
- if (matches !== null && matches.length >= 1)return matches[1]
888
- }
889
- }
890
- if (this.opts.width === "resolve") {
891
- style = this.opts.element.css('width');
892
- if (style.indexOf("%") > 0)return style;
893
- return(this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px')
894
- }
895
- return null
896
- } else if ($.isFunction(this.opts.width)) {
897
- return this.opts.width()
898
- } else {
899
- return this.opts.width
900
- }
901
- };
902
- var width = resolveContainerWidth.call(this);
903
- if (width !== null) {
904
- this.container.attr("style", "width: " + width)
905
- }
906
- }});
907
- SingleSelect2 = clazz(AbstractSelect2, {createContainer: function () {
908
- var container = $("<div></div>", {"class": "select2-container"}).html([" <a href='#' onclick='return false;' class='select2-choice'>", " <span></span><abbr class='select2-search-choice-close' style='display:none;'></abbr>", " <div><b></b></div>", "</a>", " <div class='select2-drop select2-offscreen'>", " <div class='select2-search'>", " <input type='text' autocomplete='off' class='select2-input'/>", " </div>", " <ul class='select2-results'>", " </ul>", "</div>"].join(""));
909
- return container
910
- }, opening: function () {
911
- this.search.show();
912
- this.parent.opening.apply(this, arguments);
913
- this.dropdown.removeClass("select2-offscreen")
914
- }, close: function () {
915
- if (!this.opened())return;
916
- this.parent.close.apply(this, arguments);
917
- this.dropdown.removeAttr("style").addClass("select2-offscreen").insertAfter(this.selection).show()
918
- }, focus: function () {
919
- this.close();
920
- this.selection.focus()
921
- }, isFocused: function () {
922
- return this.selection[0] === document.activeElement
923
- }, cancel: function () {
924
- this.parent.cancel.apply(this, arguments);
925
- this.selection.focus()
926
- }, initContainer: function () {
927
- var selection, container = this.container, dropdown = this.dropdown, clickingInside = false;
928
- this.selection = selection = container.find(".select2-choice");
929
- this.search.bind("keydown", this.bind(function (e) {
930
- if (!this.enabled)return;
931
- if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
932
- killEvent(e);
933
- return
934
- }
935
- if (this.opened()) {
936
- switch (e.which) {
937
- case KEY.UP:
938
- case KEY.DOWN:
939
- this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
940
- killEvent(e);
941
- return;
942
- case KEY.TAB:
943
- case KEY.ENTER:
944
- this.selectHighlighted();
945
- killEvent(e);
946
- return;
947
- case KEY.ESC:
948
- this.cancel(e);
949
- killEvent(e);
950
- return
951
- }
952
- } else {
953
- if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {
954
- return
955
- }
956
- if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
957
- return
958
- }
959
- this.open();
960
- if (e.which === KEY.ENTER) {
961
- return
962
- }
963
- }
964
- }));
965
- this.search.bind("focus", this.bind(function () {
966
- this.selection.attr("tabIndex", "-1")
967
- }));
968
- this.search.bind("blur", this.bind(function () {
969
- if (!this.opened())this.container.removeClass("select2-container-active");
970
- window.setTimeout(this.bind(function () {
971
- var ti = this.opts.element.attr("tabIndex");
972
- if (ti) {
973
- this.selection.attr("tabIndex", ti)
974
- } else {
975
- this.selection.removeAttr("tabIndex")
976
- }
977
- }), 10)
978
- }));
979
- selection.delegate("abbr", "mousedown", this.bind(function (e) {
980
- if (!this.enabled)return;
981
- this.clear();
982
- killEventImmediately(e);
983
- this.close();
984
- this.triggerChange();
985
- this.selection.focus()
986
- }));
987
- selection.bind("mousedown", this.bind(function (e) {
988
- clickingInside = true;
989
- if (this.opened()) {
990
- this.close();
991
- this.selection.focus()
992
- } else if (this.enabled) {
993
- this.open()
994
- }
995
- clickingInside = false
996
- }));
997
- dropdown.bind("mousedown", this.bind(function () {
998
- this.search.focus()
999
- }));
1000
- selection.bind("focus", this.bind(function () {
1001
- this.container.addClass("select2-container-active");
1002
- this.search.attr("tabIndex", "-1")
1003
- }));
1004
- selection.bind("blur", this.bind(function () {
1005
- if (!this.opened()) {
1006
- this.container.removeClass("select2-container-active")
1007
- }
1008
- window.setTimeout(this.bind(function () {
1009
- this.search.attr("tabIndex", this.opts.element.attr("tabIndex"))
1010
- }), 10)
1011
- }));
1012
- selection.bind("keydown", this.bind(function (e) {
1013
- if (!this.enabled)return;
1014
- if (e.which == KEY.DOWN || e.which == KEY.UP || (e.which == KEY.ENTER && this.opts.openOnEnter)) {
1015
- this.open();
1016
- killEvent(e);
1017
- return
1018
- }
1019
- if (e.which == KEY.DELETE || e.which == KEY.BACKSPACE) {
1020
- if (this.opts.allowClear) {
1021
- this.clear()
1022
- }
1023
- killEvent(e);
1024
- return
1025
- }
1026
- }));
1027
- selection.bind("keypress", this.bind(function (e) {
1028
- var key = String.fromCharCode(e.which);
1029
- this.search.val(key);
1030
- this.open()
1031
- }));
1032
- this.setPlaceholder();
1033
- this.search.bind("focus", this.bind(function () {
1034
- this.container.addClass("select2-container-active")
1035
- }))
1036
- }, clear: function () {
1037
- this.opts.element.val("");
1038
- this.selection.find("span").empty();
1039
- this.selection.removeData("select2-data");
1040
- this.setPlaceholder()
1041
- }, initSelection: function () {
1042
- var selected;
1043
- if (this.opts.element.val() === "" && this.opts.element.text() === "") {
1044
- this.close();
1045
- this.setPlaceholder()
1046
- } else {
1047
- var self = this;
1048
- this.opts.initSelection.call(null, this.opts.element, function (selected) {
1049
- if (selected !== undefined && selected !== null) {
1050
- self.updateSelection(selected);
1051
- self.close();
1052
- self.setPlaceholder()
1053
- }
1054
- })
1055
- }
1056
- }, prepareOpts: function () {
1057
- var opts = this.parent.prepareOpts.apply(this, arguments);
1058
- if (opts.element.get(0).tagName.toLowerCase() === "select") {
1059
- opts.initSelection = function (element, callback) {
1060
- var selected = element.find(":selected");
1061
- if ($.isFunction(callback))callback({id: selected.attr("value"), text: selected.text(), element: selected})
1062
- }
1063
- }
1064
- return opts
1065
- }, setPlaceholder: function () {
1066
- var placeholder = this.getPlaceholder();
1067
- if (this.opts.element.val() === "" && placeholder !== undefined) {
1068
- if (this.select && this.select.find("option:first").text() !== "")return;
1069
- this.selection.find("span").html(this.opts.escapeMarkup(placeholder));
1070
- this.selection.addClass("select2-default");
1071
- this.selection.find("abbr").hide()
1072
- }
1073
- }, postprocessResults: function (data, initial) {
1074
- var selected = 0, self = this, showSearchInput = true;
1075
- this.results.find(".select2-result-selectable").each2(function (i, elm) {
1076
- if (equal(self.id(elm.data("select2-data")), self.opts.element.val())) {
1077
- selected = i;
1078
- return false
1079
- }
1080
- });
1081
- this.highlight(selected);
1082
- if (initial === true) {
1083
- showSearchInput = this.showSearchInput = countResults(data.results) >= this.opts.minimumResultsForSearch;
1084
- this.dropdown.find(".select2-search")[showSearchInput ? "removeClass" : "addClass"]("select2-search-hidden");
1085
- $(this.dropdown, this.container)[showSearchInput ? "addClass" : "removeClass"]("select2-with-searchbox")
1086
- }
1087
- }, onSelect: function (data) {
1088
- var old = this.opts.element.val();
1089
- this.opts.element.val(this.id(data));
1090
- this.updateSelection(data);
1091
- this.close();
1092
- this.selection.focus();
1093
- if (!equal(old, this.id(data))) {
1094
- this.triggerChange()
1095
- }
1096
- }, updateSelection: function (data) {
1097
- var container = this.selection.find("span"), formatted;
1098
- this.selection.data("select2-data", data);
1099
- container.empty();
1100
- formatted = this.opts.formatSelection(data, container);
1101
- if (formatted !== undefined) {
1102
- container.append(this.opts.escapeMarkup(formatted))
1103
- }
1104
- this.selection.removeClass("select2-default");
1105
- if (this.opts.allowClear && this.getPlaceholder() !== undefined) {
1106
- this.selection.find("abbr").show()
1107
- }
1108
- }, val: function () {
1109
- var val, data = null, self = this;
1110
- if (arguments.length === 0) {
1111
- return this.opts.element.val()
1112
- }
1113
- val = arguments[0];
1114
- if (this.select) {
1115
- this.select.val(val).find(":selected").each2(function (i, elm) {
1116
- data = {id: elm.attr("value"), text: elm.text()};
1117
- return false
1118
- });
1119
- this.updateSelection(data);
1120
- this.setPlaceholder()
1121
- } else {
1122
- if (this.opts.initSelection === undefined) {
1123
- throw new Error("cannot call val() if initSelection() is not defined")
1124
- }
1125
- if (!val) {
1126
- this.clear();
1127
- return
1128
- }
1129
- this.opts.element.val(val);
1130
- this.opts.initSelection(this.opts.element, function (data) {
1131
- self.opts.element.val(!data ? "" : self.id(data));
1132
- self.updateSelection(data);
1133
- self.setPlaceholder()
1134
- })
1135
- }
1136
- }, clearSearch: function () {
1137
- this.search.val("")
1138
- }, data: function (value) {
1139
- var data;
1140
- if (arguments.length === 0) {
1141
- data = this.selection.data("select2-data");
1142
- if (data == undefined)data = null;
1143
- return data
1144
- } else {
1145
- if (!value || value === "") {
1146
- this.clear()
1147
- } else {
1148
- this.opts.element.val(!value ? "" : this.id(value));
1149
- this.updateSelection(value)
1150
- }
1151
- }
1152
- }});
1153
- MultiSelect2 = clazz(AbstractSelect2, {createContainer: function () {
1154
- var container = $("<div></div>", {"class": "select2-container select2-container-multi"}).html([" <ul class='select2-choices'>", " <li class='select2-search-field'>", " <input type='text' autocomplete='off' class='select2-input'>", " </li>", "</ul>", "<div class='select2-drop select2-drop-multi' style='display:none;'>", " <ul class='select2-results'>", " </ul>", "</div>"].join(""));
1155
- return container
1156
- }, prepareOpts: function () {
1157
- var opts = this.parent.prepareOpts.apply(this, arguments);
1158
- if (opts.element.get(0).tagName.toLowerCase() === "select") {
1159
- opts.initSelection = function (element, callback) {
1160
- var data = [];
1161
- element.find(":selected").each2(function (i, elm) {
1162
- data.push({id: elm.attr("value"), text: elm.text(), element: elm})
1163
- });
1164
- if ($.isFunction(callback))callback(data)
1165
- }
1166
- }
1167
- return opts
1168
- }, initContainer: function () {
1169
- var selector = ".select2-choices", selection;
1170
- this.searchContainer = this.container.find(".select2-search-field");
1171
- this.selection = selection = this.container.find(selector);
1172
- this.search.bind("keydown", this.bind(function (e) {
1173
- if (!this.enabled)return;
1174
- if (e.which === KEY.BACKSPACE && this.search.val() === "") {
1175
- this.close();
1176
- var choices, selected = selection.find(".select2-search-choice-focus");
1177
- if (selected.length > 0) {
1178
- this.unselect(selected.first());
1179
- this.search.width(10);
1180
- killEvent(e);
1181
- return
1182
- }
1183
- choices = selection.find(".select2-search-choice");
1184
- if (choices.length > 0) {
1185
- choices.last().addClass("select2-search-choice-focus")
1186
- }
1187
- } else {
1188
- selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")
1189
- }
1190
- if (this.opened()) {
1191
- switch (e.which) {
1192
- case KEY.UP:
1193
- case KEY.DOWN:
1194
- this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
1195
- killEvent(e);
1196
- return;
1197
- case KEY.ENTER:
1198
- case KEY.TAB:
1199
- this.selectHighlighted();
1200
- killEvent(e);
1201
- return;
1202
- case KEY.ESC:
1203
- this.cancel(e);
1204
- killEvent(e);
1205
- return
1206
- }
1207
- }
1208
- if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.BACKSPACE || e.which === KEY.ESC) {
1209
- return
1210
- }
1211
- if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
1212
- return
1213
- }
1214
- this.open();
1215
- if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
1216
- killEvent(e)
1217
- }
1218
- }));
1219
- this.search.bind("keyup", this.bind(this.resizeSearch));
1220
- this.search.bind("blur", this.bind(function (e) {
1221
- this.container.removeClass("select2-container-active");
1222
- this.search.removeClass("select2-focused");
1223
- this.clearSearch();
1224
- e.stopImmediatePropagation()
1225
- }));
1226
- this.container.delegate(selector, "mousedown", this.bind(function (e) {
1227
- if (!this.enabled)return;
1228
- if ($(e.target).closest(".select2-search-choice").length > 0) {
1229
- return
1230
- }
1231
- this.clearPlaceholder();
1232
- this.open();
1233
- this.focusSearch();
1234
- e.preventDefault()
1235
- }));
1236
- this.container.delegate(selector, "focus", this.bind(function () {
1237
- if (!this.enabled)return;
1238
- this.container.addClass("select2-container-active");
1239
- this.dropdown.addClass("select2-drop-active");
1240
- this.clearPlaceholder()
1241
- }));
1242
- this.clearSearch()
1243
- }, enable: function () {
1244
- if (this.enabled)return;
1245
- this.parent.enable.apply(this, arguments);
1246
- this.search.removeAttr("disabled")
1247
- }, disable: function () {
1248
- if (!this.enabled)return;
1249
- this.parent.disable.apply(this, arguments);
1250
- this.search.attr("disabled", true)
1251
- }, initSelection: function () {
1252
- var data;
1253
- if (this.opts.element.val() === "" && this.opts.element.text() === "") {
1254
- this.updateSelection([]);
1255
- this.close();
1256
- this.clearSearch()
1257
- }
1258
- if (this.select || this.opts.element.val() !== "") {
1259
- var self = this;
1260
- this.opts.initSelection.call(null, this.opts.element, function (data) {
1261
- if (data !== undefined && data !== null) {
1262
- self.updateSelection(data);
1263
- self.close();
1264
- self.clearSearch()
1265
- }
1266
- })
1267
- }
1268
- }, clearSearch: function () {
1269
- var placeholder = this.getPlaceholder();
1270
- if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) {
1271
- this.search.val(placeholder).addClass("select2-default");
1272
- this.resizeSearch()
1273
- } else {
1274
- this.search.val(" ").width(10)
1275
- }
1276
- }, clearPlaceholder: function () {
1277
- if (this.search.hasClass("select2-default")) {
1278
- this.search.val("").removeClass("select2-default")
1279
- } else {
1280
- if (this.search.val() === " ")this.search.val("")
1281
- }
1282
- }, opening: function () {
1283
- this.parent.opening.apply(this, arguments);
1284
- this.clearPlaceholder();
1285
- this.resizeSearch();
1286
- this.focusSearch()
1287
- }, close: function () {
1288
- if (!this.opened())return;
1289
- this.parent.close.apply(this, arguments)
1290
- }, focus: function () {
1291
- this.close();
1292
- this.search.focus()
1293
- }, isFocused: function () {
1294
- return this.search.hasClass("select2-focused")
1295
- }, updateSelection: function (data) {
1296
- var ids = [], filtered = [], self = this;
1297
- $(data).each(function () {
1298
- if (indexOf(self.id(this), ids) < 0) {
1299
- ids.push(self.id(this));
1300
- filtered.push(this)
1301
- }
1302
- });
1303
- data = filtered;
1304
- this.selection.find(".select2-search-choice").remove();
1305
- $(data).each(function () {
1306
- self.addSelectedChoice(this)
1307
- });
1308
- self.postprocessResults()
1309
- }, tokenize: function () {
1310
- var input = this.search.val();
1311
- input = this.opts.tokenizer(input, this.data(), this.bind(this.onSelect), this.opts);
1312
- if (input != null && input != undefined) {
1313
- this.search.val(input);
1314
- if (input.length > 0) {
1315
- this.open()
1316
- }
1317
- }
1318
- }, onSelect: function (data) {
1319
- this.addSelectedChoice(data);
1320
- if (this.select || !this.opts.closeOnSelect)this.postprocessResults();
1321
- if (this.opts.closeOnSelect) {
1322
- this.close();
1323
- this.search.width(10)
1324
- } else {
1325
- if (this.countSelectableResults() > 0) {
1326
- this.search.width(10);
1327
- this.resizeSearch();
1328
- this.positionDropdown()
1329
- } else {
1330
- this.close()
1331
- }
1332
- }
1333
- this.triggerChange({added: data});
1334
- this.focusSearch()
1335
- }, cancel: function () {
1336
- this.close();
1337
- this.focusSearch()
1338
- }, addSelectedChoice: function (data) {
1339
- var choice = $("<li class='select2-search-choice'>" + " <div></div>" + " <a href='#' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a>" + "</li>"), id = this.id(data), val = this.getVal(), formatted;
1340
- formatted = this.opts.formatSelection(data, choice.find("div"));
1341
- if (formatted != undefined) {
1342
- choice.find("div").replaceWith("<div>" + this.opts.escapeMarkup(formatted) + "</div>")
1343
- }
1344
- choice.find(".select2-search-choice-close").bind("mousedown", killEvent).bind("click dblclick", this.bind(function (e) {
1345
- if (!this.enabled)return;
1346
- $(e.target).closest(".select2-search-choice").fadeOut('fast', this.bind(function () {
1347
- this.unselect($(e.target));
1348
- this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
1349
- this.close();
1350
- this.focusSearch()
1351
- })).dequeue();
1352
- killEvent(e)
1353
- })).bind("focus", this.bind(function () {
1354
- if (!this.enabled)return;
1355
- this.container.addClass("select2-container-active");
1356
- this.dropdown.addClass("select2-drop-active")
1357
- }));
1358
- choice.data("select2-data", data);
1359
- choice.insertBefore(this.searchContainer);
1360
- val.push(id);
1361
- this.setVal(val)
1362
- }, unselect: function (selected) {
1363
- var val = this.getVal(), data, index;
1364
- selected = selected.closest(".select2-search-choice");
1365
- if (selected.length === 0) {
1366
- throw"Invalid argument: " + selected + ". Must be .select2-search-choice"
1367
- }
1368
- data = selected.data("select2-data");
1369
- index = indexOf(this.id(data), val);
1370
- if (index >= 0) {
1371
- val.splice(index, 1);
1372
- this.setVal(val);
1373
- if (this.select)this.postprocessResults()
1374
- }
1375
- selected.remove();
1376
- this.triggerChange({removed: data})
1377
- }, postprocessResults: function () {
1378
- var val = this.getVal(), choices = this.results.find(".select2-result-selectable"), compound = this.results.find(".select2-result-with-children"), self = this;
1379
- choices.each2(function (i, choice) {
1380
- var id = self.id(choice.data("select2-data"));
1381
- if (indexOf(id, val) >= 0) {
1382
- choice.addClass("select2-disabled").removeClass("select2-result-selectable")
1383
- } else {
1384
- choice.removeClass("select2-disabled").addClass("select2-result-selectable")
1385
- }
1386
- });
1387
- compound.each2(function (i, e) {
1388
- if (e.find(".select2-result-selectable").length == 0) {
1389
- e.addClass("select2-disabled")
1390
- } else {
1391
- e.removeClass("select2-disabled")
1392
- }
1393
- });
1394
- choices.each2(function (i, choice) {
1395
- if (!choice.hasClass("select2-disabled") && choice.hasClass("select2-result-selectable")) {
1396
- self.highlight(0);
1397
- return false
1398
- }
1399
- })
1400
- }, resizeSearch: function () {
1401
- var minimumWidth, left, maxWidth, containerLeft, searchWidth, sideBorderPadding = getSideBorderPadding(this.search);
1402
- minimumWidth = measureTextWidth(this.search) + 10;
1403
- left = this.search.offset().left;
1404
- maxWidth = this.selection.width();
1405
- containerLeft = this.selection.offset().left;
1406
- searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding;
1407
- if (searchWidth < minimumWidth) {
1408
- searchWidth = maxWidth - sideBorderPadding
1409
- }
1410
- if (searchWidth < 40) {
1411
- searchWidth = maxWidth - sideBorderPadding
1412
- }
1413
- this.search.width(searchWidth)
1414
- }, getVal: function () {
1415
- var val;
1416
- if (this.select) {
1417
- val = this.select.val();
1418
- return val === null ? [] : val
1419
- } else {
1420
- val = this.opts.element.val();
1421
- return splitVal(val, this.opts.separator)
1422
- }
1423
- }, setVal: function (val) {
1424
- var unique;
1425
- if (this.select) {
1426
- this.select.val(val)
1427
- } else {
1428
- unique = [];
1429
- $(val).each(function () {
1430
- if (indexOf(this, unique) < 0)unique.push(this)
1431
- });
1432
- this.opts.element.val(unique.length === 0 ? "" : unique.join(this.opts.separator))
1433
- }
1434
- }, val: function () {
1435
- var val, data = [], self = this;
1436
- if (arguments.length === 0) {
1437
- return this.getVal()
1438
- }
1439
- val = arguments[0];
1440
- if (!val) {
1441
- this.opts.element.val("");
1442
- this.updateSelection([]);
1443
- this.clearSearch();
1444
- return
1445
- }
1446
- this.setVal(val);
1447
- if (this.select) {
1448
- this.select.find(":selected").each(function () {
1449
- data.push({id: $(this).attr("value"), text: $(this).text()})
1450
- });
1451
- this.updateSelection(data)
1452
- } else {
1453
- if (this.opts.initSelection === undefined) {
1454
- throw new Error("val() cannot be called if initSelection() is not defined")
1455
- }
1456
- this.opts.initSelection(this.opts.element, function (data) {
1457
- var ids = $(data).map(self.id);
1458
- self.setVal(ids);
1459
- self.updateSelection(data);
1460
- self.clearSearch()
1461
- })
1462
- }
1463
- this.clearSearch()
1464
- }, onSortStart: function () {
1465
- if (this.select) {
1466
- throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.")
1467
- }
1468
- this.search.width(0);
1469
- this.searchContainer.hide()
1470
- }, onSortEnd: function () {
1471
- var val = [], self = this;
1472
- this.searchContainer.show();
1473
- this.searchContainer.appendTo(this.searchContainer.parent());
1474
- this.resizeSearch();
1475
- this.selection.find(".select2-search-choice").each(function () {
1476
- val.push(self.opts.id($(this).data("select2-data")))
1477
- });
1478
- this.setVal(val);
1479
- this.triggerChange()
1480
- }, data: function (values) {
1481
- var self = this, ids;
1482
- if (arguments.length === 0) {
1483
- return this.selection.find(".select2-search-choice").map(function () {
1484
- return $(this).data("select2-data")
1485
- }).get()
1486
- } else {
1487
- if (!values) {
1488
- values = []
1489
- }
1490
- ids = $.map(values, function (e) {
1491
- return self.opts.id(e)
1492
- });
1493
- this.setVal(ids);
1494
- this.updateSelection(values);
1495
- this.clearSearch()
1496
- }
1497
- }});
1498
- $.fn.select2 = function () {
1499
- var args = Array.prototype.slice.call(arguments, 0), opts, select2, value, multiple, allowedMethods = ["val", "destroy", "opened", "open", "close", "focus", "isFocused", "container", "onSortStart", "onSortEnd", "enable", "disable", "positionDropdown", "data"];
1500
- this.each(function () {
1501
- if (args.length === 0 || typeof(args[0]) === "object") {
1502
- opts = args.length === 0 ? {} : $.extend({}, args[0]);
1503
- opts.element = $(this);
1504
- if (opts.element.get(0).tagName.toLowerCase() === "select") {
1505
- multiple = opts.element.attr("multiple")
1506
- } else {
1507
- multiple = opts.multiple || false;
1508
- if ("tags"in opts) {
1509
- opts.multiple = multiple = true
1510
- }
1511
- }
1512
- select2 = multiple ? new MultiSelect2() : new SingleSelect2();
1513
- select2.init(opts)
1514
- } else if (typeof(args[0]) === "string") {
1515
- if (indexOf(args[0], allowedMethods) < 0) {
1516
- throw"Unknown method: " + args[0]
1517
- }
1518
- value = undefined;
1519
- select2 = $(this).data("select2");
1520
- if (select2 === undefined)return;
1521
- if (args[0] === "container") {
1522
- value = select2.container
1523
- } else {
1524
- value = select2[args[0]].apply(select2, args.slice(1))
1525
- }
1526
- if (value !== undefined) {
1527
- return false
1528
- }
1529
- } else {
1530
- throw"Invalid arguments to select2 plugin: " + args
1531
- }
1532
- });
1533
- return(value === undefined) ? this : value
1534
- };
1535
- $.fn.select2.defaults = {width: "copy", closeOnSelect: true, openOnEnter: true, containerCss: {}, dropdownCss: {}, containerCssClass: "", dropdownCssClass: "", formatResult: function (result, container, query) {
1536
- var markup = [];
1537
- markMatch(result.text, query.term, markup);
1538
- return markup.join("")
1539
- }, formatSelection: function (data, container) {
1540
- return data ? data.text : undefined
1541
- }, formatResultCssClass: function (data) {
1542
- return undefined
1543
- }, formatNoMatches: function () {
1544
- return"No matches found"
1545
- }, formatInputTooShort: function (input, min) {
1546
- return"Please enter " + (min - input.length) + " more characters"
1547
- }, formatSelectionTooBig: function (limit) {
1548
- return"You can only select " + limit + " item" + (limit == 1 ? "" : "s")
1549
- }, formatLoadMore: function (pageNumber) {
1550
- return"Loading more results..."
1551
- }, formatSearching: function () {
1552
- return"Searching..."
1553
- }, minimumResultsForSearch: 0, minimumInputLength: 0, maximumSelectionSize: 0, id: function (e) {
1554
- return e.id
1555
- }, matcher: function (term, text) {
1556
- return text.toUpperCase().indexOf(term.toUpperCase()) >= 0
1557
- }, separator: ",", tokenSeparators: [], tokenizer: defaultTokenizer, escapeMarkup: function (markup) {
1558
- if (markup && typeof(markup) === "string") {
1559
- return markup.replace(/&/g, "&amp;")
1560
- }
1561
- return markup
1562
- }, blurOnChange: false};
1563
- window.Select2 = {query: {ajax: ajax, local: local, tags: tags}, util: {debounce: debounce, markMatch: markMatch}, "class": {"abstract": AbstractSelect2, "single": SingleSelect2, "multi": MultiSelect2}}
1564
- }(jQuery));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/assets/js/select2/select2.png DELETED
Binary file
WCVendors/classes/admin/settings/assets/js/select2/select2x2.png DELETED
Binary file
WCVendors/classes/admin/settings/assets/js/select2/spinner.gif DELETED
Binary file
WCVendors/classes/admin/settings/assets/js/sf-jquery.js DELETED
@@ -1,23 +0,0 @@
1
- jQuery(document).ready(function () {
2
-
3
- jQuery(".sf-tips").tooltip({ animation: true, html: true, delay: { show: 300, hide: 100 } });
4
-
5
-
6
- //This if statement checks if the color picker widget exists within jQuery UI
7
- //If it does exist then we initialize the WordPress color picker on our text input field
8
- if (typeof jQuery.wp === 'object' && typeof jQuery.wp.wpColorPicker === 'function') {
9
- jQuery('.colorpick').wpColorPicker();
10
- } else {
11
- // Color picker
12
- jQuery('.colorpick').each(function () {
13
- jQuery('.colorpickdiv', jQuery(this).parent()).farbtastic(this);
14
- jQuery(this).click(function () {
15
- if (jQuery(this).val() == "") jQuery(this).val('#');
16
- jQuery('.colorpickdiv', jQuery(this).parent()).show();
17
- });
18
- });
19
- jQuery(document).mousedown(function () {
20
- jQuery('.colorpickdiv').hide();
21
- });
22
- }
23
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/classes/sf-class-format-options.php DELETED
@@ -1,347 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Format an options array into HTML
5
- * This class has been deprecated
6
- *
7
- * @author Matt Gates <http://mgates.me>
8
- * @package WordPress
9
- */
10
-
11
-
12
- if ( !class_exists( 'SF_Format_Options' ) ) {
13
-
14
- class SF_Format_Options extends SF_Settings_API
15
- {
16
-
17
- /**
18
- * Format an option array into HTML
19
- *
20
- *
21
- * @access public
22
- *
23
- * @param unknown $setting
24
- *
25
- * @return string HTML.
26
- */
27
- public function settings_options_format( $setting )
28
- {
29
- if ( empty( $setting ) ) return false;
30
-
31
- $defaults = apply_filters( $this->id . '_options_defaults', array(
32
- 'name' => '',
33
- 'desc' => '',
34
- 'placeholder' => '',
35
- 'class' => '',
36
- 'tip' => '',
37
- 'id' => '',
38
- 'css' => '',
39
- 'type' => 'text',
40
- 'std' => '',
41
- 'select2' => false,
42
- 'multiple' => false,
43
- 'options' => array(),
44
- 'restrict' => array(),
45
- 'settings' => array()
46
- ) );
47
-
48
- // Each to it's own variable for slim-ness' sakes.
49
- $setting = shortcode_atts( $defaults, $setting );
50
-
51
- $restrict_defaults = array(
52
- 'min' => 0,
53
- 'max' => '',
54
- 'step' => 'any',
55
- );
56
-
57
- $setting[ 'restrict' ] = shortcode_atts( $restrict_defaults, $setting[ 'restrict' ] );
58
-
59
- $setting[ 'value' ] = $this->get_option( $setting[ 'id' ] );
60
- $setting[ 'value' ] = $setting[ 'value' ] !== false ? maybe_unserialize( $setting[ 'value' ] ) : false;
61
- $setting[ 'value' ] = SF_Format_Options::sanitize_value( $setting[ 'value' ], $setting );
62
-
63
- $setting[ 'title' ] = $setting[ 'name' ];
64
- $setting[ 'name' ] = $this->id . "_options[{$setting['id']}]";
65
-
66
- $setting[ 'grouped' ] = !$setting[ 'title' ] ? ' style="padding-top:0px;"' : '';
67
- $setting[ 'tip' ] = SF_Format_Options::get_formatted_tip( $setting[ 'tip' ] );
68
-
69
- $header_types = apply_filters( $this->id . '_options_header_types', array( 'heading', 'title' ) );
70
-
71
- extract( $setting );
72
-
73
- $description = $desc && !$grouped && $type != 'checkbox'
74
- ? '<br /><small>' . $desc . '</small>'
75
- : '<label for="' . $id . '"> ' . $desc . '</label>';
76
-
77
- $description = ( ( in_array( $type, $header_types ) || $type == 'radio' ) && !empty( $desc ) )
78
- ? '<p>' . $desc . '</p>'
79
- : $description;
80
-
81
- ?>
82
-
83
- <?php if ( !in_array( $type, $header_types ) ) : ?>
84
- <!-- Header of the option. -->
85
- <tr valign="top">
86
- <th scope="row"<?php echo $grouped; ?>>
87
-
88
- <?php echo $tip; ?>
89
-
90
- <?php if ( !$grouped ) : ?>
91
- <label for="<?php echo $name; ?>" class="description"><?php echo $title; ?></label>
92
- <?php endif; ?>
93
-
94
- </th>
95
- <td <?php echo $grouped; ?> >
96
- <?php endif; ?>
97
-
98
- <?php foreach ( $header_types as $header ) :
99
- if ( $type != $header ) continue; ?>
100
- <tr>
101
- <th scope="col" colspan="2">
102
- <h3 class="title"><?php echo $title; ?></h3>
103
- <?php echo $description; ?>
104
- </th>
105
- </tr>
106
- <?php endforeach; ?>
107
-
108
- <?php switch ( $type ) :
109
-
110
- case 'text' :
111
- case 'color' :
112
- case 'number' :
113
- if ( $type == 'color' ) {
114
- $type = 'text';
115
- $class .= ' colorpick';
116
- $description .= '<div id="colorPickerDiv_' . $id . '" class="colorpickdiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;display:none;"></div>';
117
- }
118
- ?>
119
- <input name="<?php echo $name; ?>"
120
- id="<?php echo $id; ?>"
121
- type="<?php echo $type; ?>"
122
-
123
- <?php if ( $type == 'number' ): ?>
124
- min="<?php echo $restrict[ 'min' ]; ?>"
125
- max="<?php echo $restrict[ 'max' ]; ?>"
126
- step="<?php echo $restrict[ 'step' ]; ?>"
127
- <?php endif; ?>
128
-
129
- class="regular-text <?php echo $class; ?>"
130
- style="<?php echo $css; ?>"
131
- placeholder="<?php echo $placeholder; ?>"
132
- value="<?php echo $value !== false ? $value : $std; ?>"
133
- />
134
- <?php echo $description;
135
- break;
136
-
137
- case 'checkbox':
138
-
139
- $selected = ( $value !== false ) ? $value : $std;
140
-
141
- if ( $multiple ) :
142
-
143
- foreach ( $options as $key => $desc ) : ?>
144
-
145
- <input name="<?php echo $name; ?><?php echo $multiple ? '[]' : ''; ?>"
146
- id="<?php echo $id . '_' . $key; ?>"
147
- type="checkbox"
148
- class="<?php echo $class; ?>"
149
- style="<?php echo $css; ?>"
150
- value="<?php echo $key; ?>"
151
- <?php self::checked( $value, $key ); ?>
152
- />
153
- <label for="<?php echo $id . '_' . $key; ?>">
154
- <?php echo $desc; ?>
155
- </label>
156
- <br/>
157
- <?php
158
-
159
- endforeach;
160
-
161
- else : ?>
162
-
163
- <input name="<?php echo $name; ?>"
164
- id="<?php echo $id ?>"
165
- type="checkbox"
166
- class="<?php echo $class; ?>"
167
- style="<?php echo $css; ?>"
168
- <?php checked( $selected, 1 ); ?>
169
- />
170
- <?php echo $description;
171
- endif;
172
- break;
173
-
174
- case 'radio':
175
-
176
- $selected = ( $value !== false ) ? $value : $std;
177
-
178
- foreach ( $options as $key => $val ) : ?>
179
- <label class="radio">
180
- <input type="radio"
181
- name="<?php echo $name; ?>"
182
- id="<?php echo $key; ?>"
183
- value="<?php echo $key; ?>"
184
- class="<?php echo $class; ?>"
185
- <?php checked( $selected, $key ); ?>
186
- />
187
- <?php echo $val; ?>
188
- </label><br/>
189
- <?php endforeach;
190
- echo $description;
191
- break;
192
-
193
- case 'single_select_page':
194
-
195
- $selected = ( $value !== false ) ? $value : $std;
196
-
197
- $args = array(
198
- 'name' => $name,
199
- 'id' => $id,
200
- 'sort_order' => 'ASC',
201
- 'echo' => 0,
202
- 'selected' => $selected
203
- );
204
-
205
- echo str_replace( "'>", "'><option></option>", wp_dropdown_pages( $args ) );
206
-
207
- echo $description;
208
-
209
- if ( $select2 ) : ?>
210
- <script type="text/javascript">jQuery(function () {
211
- jQuery("#<?php echo $id; ?>").select2({ allowClear: true, placeholder: "<?php _e( 'Select a page...', 'geczy' ); ?>", width: '350px' });
212
- });</script>
213
- <?php endif;
214
-
215
- break;
216
-
217
- case 'select':
218
-
219
- $selected = ( $value !== false ) ? $value : $std;
220
- $options = apply_filters( $this->id . '_select_options', $options, $setting ); ?>
221
-
222
- <select id="<?php echo $id; ?>"
223
- class="<?php echo $class; ?>"
224
- style="<?php echo $css; ?>"
225
- name="<?php echo $name; ?><?php echo $multiple ? '[]' : ''; ?>"
226
- <?php echo $multiple ? 'multiple="multiple"' : ''; ?>>
227
-
228
- <?php foreach ( $options as $key => $val ) : ?>
229
- <option
230
- value="<?php echo $key; ?>" <?php self::selected( $selected, $key ); ?>><?php echo $val; ?></option>
231
- <?php endforeach; ?>
232
- </select>
233
-
234
- <?php echo $description;
235
-
236
- if ( $select2 ) : ?>
237
- <script type="text/javascript">jQuery(function () {
238
- jQuery("#<?php echo $id; ?>").select2({ width: '350px' });
239
- });</script>
240
- <?php endif;
241
-
242
- break;
243
-
244
- case 'textarea':
245
- ?>
246
- <textarea name="<?php echo $name; ?>"
247
- id="<?php echo $id; ?>"
248
- class="large-text <?php echo $class; ?>"
249
- style="<?php if ( $css ) echo $css; else echo 'width:300px;'; ?>"
250
- placeholder="<?php echo $placeholder; ?>"
251
- rows="3"
252
- ><?php echo ( $value !== false ) ? $value : $std; ?></textarea>
253
- <?php echo $description;
254
- break;
255
-
256
- case 'wysiwyg':
257
- wp_editor( $value, $id, array( 'textarea_name' => $name ) );
258
- echo $description;
259
- break;
260
-
261
- default :
262
- do_action( $this->id . '_options_type_' . $type, $setting );
263
- break;
264
-
265
- endswitch;
266
-
267
- /* Footer of the option. */
268
- if ( !in_array( $type, $header_types ) ) echo '</td></tr>';
269
-
270
- }
271
-
272
-
273
- /**
274
- *
275
- *
276
- * @param unknown $haystack
277
- * @param unknown $current
278
- */
279
- private function selected( $haystack, $current )
280
- {
281
-
282
- if ( is_array( $haystack ) && in_array( $current, $haystack ) ) {
283
- $current = $haystack = 1;
284
- }
285
-
286
- selected( $haystack, $current );
287
- }
288
-
289
-
290
- /**
291
- *
292
- *
293
- * @param unknown $haystack
294
- * @param unknown $current
295
- */
296
- private function checked( $haystack, $current )
297
- {
298
-
299
- if ( is_array( $haystack ) && !empty( $haystack[ $current ] ) ) {
300
- $current = $haystack = 1;
301
- }
302
-
303
- checked( $haystack, $current );
304
- }
305
-
306
-
307
- /**
308
- * Format a tooltip given a string
309
- *
310
- * @param string $tip
311
- *
312
- * @return string
313
- */
314
- private function get_formatted_tip( $tip )
315
- {
316
- return $tip ? sprintf( '<a href="#" title="%s" class="sf-tips" tabindex="99"></a>', $tip ) : '';
317
- }
318
-
319
-
320
- /**
321
- *
322
- *
323
- * @param unknown $value
324
- * @param unknown $setting
325
- *
326
- * @return unknown
327
- */
328
- private function sanitize_value( $value, $setting )
329
- {
330
- if ( $value !== false && $setting[ 'type' ] != 'wysiwyg' ) {
331
- if ( is_array( $value ) ) {
332
- foreach ( $value as $key => $output ) {
333
- $value[ $key ] = esc_attr( $output );
334
- }
335
- } else {
336
- $value = esc_attr( $value );
337
- }
338
- }
339
-
340
- return apply_filters( $this->id . '_options_sanitize_value', $value, $setting );
341
- }
342
-
343
-
344
- }
345
-
346
-
347
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/classes/sf-class-sanitize.php DELETED
@@ -1,160 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Sanitize filters
5
- *
6
- * @author Matt Gates <http://mgates.me>
7
- * @package WordPress
8
- */
9
-
10
-
11
- if ( !class_exists( 'SF_Sanitize' ) ) {
12
-
13
- class SF_Sanitize
14
- {
15
-
16
-
17
- /**
18
- * Hooks
19
- */
20
- function __construct()
21
- {
22
- add_filter( 'geczy_sanitize_color', 'sanitize_text_field' );
23
- add_filter( 'geczy_sanitize_text', 'sanitize_text_field' );
24
- add_filter( 'geczy_sanitize_number', array( 'SF_Sanitize', 'sanitize_number_field' ) );
25
- add_filter( 'geczy_sanitize_textarea', array( 'SF_Sanitize', 'sanitize_textarea' ) );
26
- add_filter( 'geczy_sanitize_wysiwyg', array( 'SF_Sanitize', 'sanitize_wysiwyg' ) );
27
- add_filter( 'geczy_sanitize_checkbox', array( 'SF_Sanitize', 'sanitize_checkbox' ), 10, 2 );
28
- add_filter( 'geczy_sanitize_radio', array( 'SF_Sanitize', 'sanitize_enum' ), 10, 2 );
29
- add_filter( 'geczy_sanitize_select', array( 'SF_Sanitize', 'sanitize_enum' ), 10, 2 );
30
- add_filter( 'geczy_sanitize_single_select_page', array( 'SF_Sanitize', 'sanitize_select_pages' ), 10, 2 );
31
- }
32
-
33
-
34
- /**
35
- * Numeric sanitization
36
- *
37
- * @param int $input
38
- *
39
- * @return int
40
- */
41
- public static function sanitize_number_field( $input )
42
- {
43
- $output = is_numeric( $input ) ? (float) $input : false;
44
-
45
- return $input;
46
- }
47
-
48
-
49
- /**
50
- * Textarea sanitization
51
- *
52
- * @param string $input
53
- *
54
- * @return string
55
- */
56
- public static function sanitize_textarea( $input )
57
- {
58
- global $allowedposttags;
59
- $output = wp_kses( $input, $allowedposttags );
60
-
61
- return $output;
62
- }
63
-
64
-
65
- /**
66
- * WYSIWYG sanitization
67
- *
68
- * @param string $input
69
- *
70
- * @return string
71
- */
72
- public static function sanitize_wysiwyg( $input )
73
- {
74
- return $input;
75
- }
76
-
77
-
78
- /**
79
- * Checkbox sanitization
80
- *
81
- * @param int $input
82
- * @param unknown $option
83
- *
84
- * @return int
85
- */
86
- public static function sanitize_checkbox( $input, $option )
87
- {
88
- if ( !empty( $option[ 'multiple' ] ) ) {
89
-
90
- $defaults = array_keys( $option[ 'options' ] );
91
-
92
- foreach ( $defaults as $value ) {
93
-
94
- if ( !is_array( $input ) ) {
95
- $output[ $value ] = 0;
96
- } else {
97
- $output[ $value ] = in_array( $value, $input ) ? 1 : 0;
98
- }
99
-
100
- }
101
-
102
- $output = serialize( $output );
103
- } else {
104
- $output = $input ? 1 : 0;
105
- }
106
-
107
- return $output;
108
- }
109
-
110
-
111
- /**
112
- * Array sanitization
113
- *
114
- * @param unknown $input
115
- * @param array $option
116
- *
117
- * @return bool
118
- */
119
- public static function sanitize_enum( $input, $option )
120
- {
121
- $output = $input;
122
-
123
- $sfs = new SF_Sanitize();
124
-
125
- if ( is_array( $input ) ) {
126
- foreach ( $input as $value ) {
127
- if ( !$sfs->sanitize_enum( $value, $option ) ) {
128
- $output = false;
129
- break;
130
- }
131
- }
132
- $output = $output ? serialize( $output ) : $output;
133
- } else {
134
- $output = array_key_exists( $input, $option[ 'options' ] ) ? $input : false;
135
- }
136
-
137
- return $output;
138
- }
139
-
140
-
141
- /**
142
- * Select box for pages sanitize
143
- *
144
- * @param int $input
145
- * @param int $option
146
- *
147
- * @return int
148
- */
149
- public static function sanitize_select_pages( $input, $option )
150
- {
151
- $output = get_page( $input ) ? (int) $input : 0;
152
-
153
- return $output;
154
- }
155
-
156
-
157
- }
158
-
159
-
160
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/classes/sf-class-settings.php DELETED
@@ -1,910 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * WP-Simple-Settings-Framework
5
- *
6
- * Copyright (c) 2012 Matt Gates.
7
- * All rights reserved.
8
- *
9
- * Redistribution and use in source and binary forms, with or without
10
- * modification, are permitted provided that the following conditions
11
- * are met:
12
- *
13
- * * Redistributions of source code must retain the above copyright
14
- * notice, this list of conditions and the following disclaimer.
15
- *
16
- * * Redistributions in binary form must reproduce the above copyright
17
- * notice, this list of conditions and the following disclaimer in
18
- * the documentation and/or other materials provided with the
19
- * distribution.
20
- *
21
- * * Neither the names of the copyright holders nor the names of the
22
- * contributors may be used to endorse or promote products derived
23
- * from this software without specific prior written permission.
24
- *
25
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
28
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
29
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
30
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
31
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
32
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36
- * POSSIBILITY OF SUCH DAMAGE.
37
- *
38
- * @subpackage WP-Simple-Settings-Framework
39
- * @copyright 2012 Matt Gates.
40
- * @license http://www.opensource.org/licenses/bsd-license.php BSD License
41
- * @link http://mgates.me
42
- * @version 1.1
43
- * @author Matt Gates <info@mgates.me>
44
- * @package WordPress
45
- */
46
-
47
-
48
- if ( !class_exists( 'SF_Settings_API' ) ) {
49
-
50
- class SF_Settings_API
51
- {
52
-
53
- private $data = array();
54
-
55
- /**
56
- * Init
57
- *
58
- * @param string $id
59
- * @param string $title
60
- * @param string $menu (optional)
61
- * @param string $file
62
- */
63
- public function __construct( $id, $title, $menu = '', $file )
64
- {
65
- $this->assets_url = trailingslashit( plugins_url( 'assets/', dirname( __FILE__ ) ) );
66
- $this->id = $id;
67
- $this->title = $title;
68
- $this->menu = empty( $menu ) ? 'plugins.php' : $menu;
69
-
70
- $this->file = $file;
71
-
72
- $this->includes();
73
- $this->actions();
74
- }
75
-
76
-
77
- // ==================================================================
78
- //
79
- // Getter and setter.
80
- //
81
- // ------------------------------------------------------------------
82
-
83
- /**
84
- * Setter
85
- *
86
- * @param unknown $name
87
- * @param unknown $value
88
- */
89
- public function __set( $name, $value )
90
- {
91
- if ( isset ( $this->data[ $name ] ) && is_array( $this->data[ $name ] ) ) {
92
- $this->data[ $name ] = array_merge( $this->data[ $name ], $value );
93
- } else {
94
- $this->data[ $name ] = $value;
95
- }
96
- }
97
-
98
-
99
- /**
100
- * Getter
101
- *
102
- * @param unknown $name
103
- *
104
- * @return unknown
105
- */
106
- public function __get( $name )
107
- {
108
- if ( array_key_exists( $name, $this->data ) ) {
109
- return $this->data[ $name ];
110
- }
111
-
112
- return null;
113
- }
114
-
115
-
116
- /**
117
- * Isset
118
- *
119
- * @param unknown $name
120
- *
121
- * @return unknown
122
- */
123
- public function __isset( $name )
124
- {
125
- return isset( $this->data[ $name ] );
126
- }
127
-
128
-
129
- /**
130
- * Unset
131
- *
132
- * @param unknown $name
133
- */
134
- public function __unset( $name )
135
- {
136
- unset( $this->data[ $name ] );
137
- }
138
-
139
-
140
- /**
141
- * Add a "Settings" link to the plugins.php page
142
- *
143
- * @param array $links
144
- * @param array $file
145
- *
146
- * @return array
147
- */
148
- public function add_settings_link( $links, $file )
149
- {
150
- $this_plugin = plugin_basename( $this->file );
151
- $page = strpos( $this->menu, '.php' ) ? $this->menu : 'admin.php';
152
- if ( $file == $this_plugin ) {
153
- $settings_link = '<a href="' . $page . '?page=' . $this->id . '">' . __( 'Settings', 'geczy' ) . '</a>';
154
- array_unshift( $links, $settings_link );
155
- }
156
-
157
- return $links;
158
- }
159
-
160
-
161
- // ==================================================================
162
- //
163
- // Begin initialization.
164
- //
165
- // ------------------------------------------------------------------
166
-
167
- /**
168
- * Core files
169
- */
170
- private function includes()
171
- {
172
- require_once dirname( __FILE__ ) . '/sf-class-sanitize.php';
173
- require_once dirname( __FILE__ ) . '/sf-class-format-options.php';
174
- new SF_Sanitize;
175
- }
176
-
177
-
178
- /**
179
- * Hooks
180
- */
181
- private function actions()
182
- {
183
- add_action( 'admin_enqueue_scripts', array( &$this, 'admin_enqueue_scripts' ) );
184
- add_action( 'admin_init', array( &$this, 'register_options' ) );
185
- add_action( 'admin_menu', array( &$this, 'create_menu' ) );
186
- add_filter( 'plugin_action_links', array( &$this, 'add_settings_link' ), 10, 2 );
187
- }
188
-
189
-
190
- /**
191
- * Admin scripts and styles
192
- */
193
- public function admin_enqueue_scripts()
194
- {
195
- wp_register_script( 'bootstrap-tooltip', $this->assets_url . 'js/bootstrap-tooltip.js', array( 'jquery' ), '1.0' );
196
- wp_register_script( 'select2', $this->assets_url . 'js/select2/select2.min.js', array( 'jquery' ), '1.0' );
197
- wp_register_script( 'sf-scripts', $this->assets_url . 'js/sf-jquery.js', array( 'jquery' ), '1.0' );
198
- wp_register_style( 'select2', $this->assets_url . 'js/select2/select2.css' );
199
- wp_register_style( 'sf-styles', $this->assets_url . 'css/sf-styles.css' );
200
- }
201
-
202
-
203
- /**
204
- * Admin scripts and styles
205
- */
206
- public function admin_print_scripts()
207
- {
208
- global $wp_version;
209
-
210
- //Check wp version and load appropriate scripts for colorpicker.
211
- if ( 3.5 <= $wp_version ) {
212
- wp_enqueue_style( 'wp-color-picker' );
213
- wp_enqueue_script( 'wp-color-picker' );
214
- } else {
215
- wp_enqueue_style( 'farbtastic' );
216
- wp_enqueue_script( 'farbtastic' );
217
- }
218
-
219
- wp_enqueue_script( 'bootstrap-tooltip' );
220
- wp_enqueue_script( 'select2' );
221
- wp_enqueue_script( 'sf-scripts' );
222
-
223
- wp_enqueue_style( 'wp-color-picker' );
224
- wp_enqueue_style( 'select2' );
225
- wp_enqueue_style( 'sf-styles' );
226
- }
227
-
228
-
229
- /**
230
- * Register setting
231
- */
232
- public function register_options()
233
- {
234
- register_setting( $this->id . '_options_nonce', $this->id . '_options', array( &$this, 'validate_options' ) );
235
- }
236
-
237
-
238
- /**
239
- * Create menu
240
- */
241
- public function create_menu()
242
- {
243
- $page = add_submenu_page( $this->menu, $this->title, $this->title, apply_filters( $this->id . '_manage_options', 'manage_options' ), $this->id, array( &$this, 'init_settings_page' ) );
244
- add_action( 'admin_print_scripts-' . $page, array( &$this, 'admin_print_scripts' ) );
245
- }
246
-
247
-
248
- /**
249
- * Parse options into tabbed organization
250
- *
251
- * @return array
252
- */
253
- private function parse_options()
254
- {
255
- $options = $this->options;
256
-
257
- foreach ( $options as $option ) {
258
-
259
- if ( $option[ 'type' ] == 'heading' ) {
260
- $tab_name = sanitize_title( $option[ 'name' ] );
261
- $this->tab_headers = array( $tab_name => $option[ 'name' ] );
262
-
263
- continue;
264
- }
265
-
266
- $option[ 'tab' ] = $tab_name;
267
- $tabs[ $tab_name ][ ] = $option;
268
-
269
- }
270
-
271
- $this->tabs = $tabs;
272
-
273
- return $tabs;
274
- }
275
-
276
-
277
- /**
278
- * Load the options array from a file
279
- *
280
- * @param string $option_file
281
- */
282
- public function load_options( $option_file )
283
- {
284
- if ( !empty( $this->options ) ) return;
285
-
286
- if ( file_exists( $option_file ) ) {
287
- require $option_file;
288
- $this->options = apply_filters( $this->id . '_options', $options );
289
- $this->parse_options();
290
-
291
- $this->current_options = $this->get_current_options();
292
-
293
- /* If the option has no saved data, load the defaults. */
294
- /* @TODO: Can prob add this to the activation hook. */
295
- $this->set_defaults( $this->current_options );
296
- } else {
297
- wp_die( __( 'Could not load settings at: ', 'geczy' ) . '<br/><code>' . $option_file . '</code>', __( 'Error - WP Settings Framework', 'geczy' ) );
298
- }
299
- }
300
-
301
-
302
- /**
303
- *
304
- *
305
- * @return unknown
306
- */
307
- public function get_current_options()
308
- {
309
- if ( !empty( $this->current_options ) )
310
- return $this->current_options;
311
-
312
- $options = get_option( $this->id . '_options' );
313
-
314
- if ( $options ) {
315
- $options = array_map( 'maybe_unserialize', $options );
316
- }
317
-
318
- return $options;
319
- }
320
-
321
-
322
- /**
323
- * Sanitize and validate post fields
324
- *
325
- * @param unknown $input
326
- *
327
- * @return unknown
328
- */
329
- public function validate_options( $input )
330
- {
331
- if ( !isset( $_POST[ 'update' ] ) )
332
- return $this->get_defaults();
333
-
334
- $clean = $this->current_options;
335
- $tabname = $_POST[ 'currentTab' ];
336
-
337
- foreach ( $this->tabs[ $tabname ] as $option ) :
338
-
339
- if ( !isset( $option[ 'id' ] ) )
340
- continue;
341
-
342
- if ( !isset( $option[ 'type' ] ) )
343
- continue;
344
-
345
- if ( $option[ 'type' ] == 'select' ) {
346
- $option[ 'options' ] = apply_filters( $this->id . '_select_options', $option[ 'options' ], $option );
347
- }
348
-
349
- $id = sanitize_text_field( strtolower( $option[ 'id' ] ) );
350
-
351
- // Set checkbox to false if it wasn't sent in the $_POST
352
- if ( 'checkbox' == $option[ 'type' ] && !isset( $input[ $id ] ) )
353
- $input[ $id ] = 0;
354
-
355
- // For a value to be submitted to database it must pass through a sanitization filter
356
- if ( has_filter( 'geczy_sanitize_' . $option[ 'type' ] ) ) {
357
- $clean[ $id ] = apply_filters( 'geczy_sanitize_' . $option[ 'type' ], $input[ $id ], $option );
358
- }
359
-
360
- endforeach;
361
-
362
- do_action( $this->id . '_options_updated', $clean, $tabname );
363
- add_settings_error( $this->id, 'save_options', __( 'Settings saved.', 'geczy' ), 'updated' );
364
-
365
- return apply_filters( $this->id . '_options_on_update', $clean, $tabname );
366
- }
367
-
368
-
369
- /**
370
- * Create default options
371
- *
372
- * @param unknown $current_options (optional)
373
- */
374
- private function set_defaults( $current_options = array() )
375
- {
376
- $options = $this->get_defaults( $current_options );
377
- if ( $options ) {
378
- update_option( $this->id . '_options', $options );
379
- }
380
- }
381
-
382
-
383
- /**
384
- * Retrieve default options
385
- *
386
- * @param unknown $currents (optional)
387
- *
388
- * @return array
389
- */
390
- private function get_defaults( $currents = array() )
391
- {
392
- $output = array();
393
- $config = $this->options;
394
- $flag = false;
395
-
396
- if ( $currents ) {
397
- foreach ( $config as $value ) {
398
- if ( !isset( $value[ 'id' ] ) || !isset( $value[ 'std' ] ) || !isset( $value[ 'type' ] ) )
399
- continue;
400
-
401
- if ( !isset( $currents[ $value[ 'id' ] ] ) ) {
402
- $flag = true;
403
- }
404
- }
405
- }
406
-
407
- foreach ( $config as $option ) {
408
- if ( !isset( $option[ 'id' ] ) || !isset( $option[ 'std' ] ) || !isset( $option[ 'type' ] ) )
409
- continue;
410
-
411
- if ( $currents && isset( $currents[ $option[ 'id' ] ] ) ) {
412
- $output[ $option[ 'id' ] ] = $currents[ $option[ 'id' ] ];
413
- } else if ( has_filter( 'geczy_sanitize_' . $option[ 'type' ] ) ) {
414
- $output[ $option[ 'id' ] ] = apply_filters( 'geczy_sanitize_' . $option[ 'type' ], $option[ 'std' ], $option );
415
- }
416
- }
417
-
418
- if ( $currents ) {
419
- $output = array_merge( $currents, $output );
420
- }
421
-
422
- return !$flag && $currents ? array() : $output;
423
- }
424
-
425
-
426
- /**
427
- * HTML header
428
- */
429
- private function template_header()
430
- {
431
- ?>
432
- <div class="wrap">
433
- <?php screen_icon(); ?><h2><?php echo $this->title; ?></h2>
434
-
435
- <h2 class="nav-tab-wrapper">
436
- <?php echo $this->display_tabs(); ?>
437
- </h2><?php
438
-
439
- if ( !empty ( $_REQUEST[ 'settings-updated' ] ) )
440
- settings_errors();
441
-
442
- }
443
-
444
-
445
- /**
446
- * HTML body
447
- *
448
- * @return unknown
449
- */
450
- private function template_body()
451
- {
452
-
453
- if ( empty( $this->options ) ) return false;
454
-
455
-
456
- $options = $this->options;
457
- $tabs = $this->get_tabs();
458
- $tabname = !empty ( $_GET[ 'tab' ] ) ? $_GET[ 'tab' ] : $tabs[ 0 ][ 'slug' ];
459
-
460
- $options = apply_filters( $this->id . '_options_tab-' . $tabname, $this->tabs[ $tabname ] ); ?>
461
-
462
- <form method="post" action="options.php">
463
- <?php settings_fields( $this->id . '_options_nonce' ); ?>
464
- <table class="form-table">
465
-
466
- <?php
467
- foreach ( $options as $value ) :
468
- $this->settings_options_format( $value );
469
- endforeach;
470
-
471
- do_action( $this->id . '_options_tab-' . $tabname );
472
- ?>
473
-
474
- </table>
475
-
476
- <p class="submit">
477
- <input type="hidden" name="currentTab" value="<?php echo $tabname; ?>">
478
- <input type="submit" name="update" class="button-primary"
479
- value="<?php echo sprintf( __( 'Save %s changes', 'geczy' ), $this->tab_headers[ $tabname ] ); ?>"/>
480
- </p>
481
- </form> <?php
482
-
483
- }
484
-
485
-
486
- /**
487
- * HTML footer
488
- */
489
- private function template_footer()
490
- {
491
- echo '</div>';
492
- }
493
-
494
-
495
- /**
496
- * Create the settings page
497
- */
498
- public function init_settings_page()
499
- {
500
-
501
- $this->template_header();
502
- $this->template_body();
503
- $this->template_footer();
504
-
505
- }
506
-
507
-
508
- /**
509
- * Retrieve tabs
510
- *
511
- * @return array
512
- */
513
- private function get_tabs()
514
- {
515
- $tabs = array();
516
- foreach ( $this->options as $option ) {
517
-
518
- if ( $option[ 'type' ] != 'heading' )
519
- continue;
520
-
521
- $option[ 'slug' ] = sanitize_title( $option[ 'name' ] );
522
- unset( $option[ 'type' ] );
523
-
524
- $tabs[ ] = $option;
525
- }
526
-
527
- return $tabs;
528
- }
529
-
530
-
531
- /**
532
- * Heading for navigation
533
- *
534
- * @return string
535
- */
536
- private function display_tabs()
537
- {
538
- $tabs = $this->get_tabs();
539
- $tabname = !empty ( $_GET[ 'tab' ] ) ? $_GET[ 'tab' ] : $tabs[ 0 ][ 'slug' ];
540
- $menu = '';
541
-
542
- foreach ( $tabs as $tab ) {
543
- $class = $tabname == $tab[ 'slug' ] ? 'nav-tab-active' : '';
544
-
545
- $fields = array(
546
- 'page' => $this->id,
547
- 'tab' => $tab[ 'slug' ],
548
- );
549
-
550
- $query = http_build_query( array_merge( $_GET, $fields ) );
551
- $menu .= sprintf( '<a id="%s-tab" class="nav-tab %s" title="%s" href="?%s">%s</a>', $tab[ 'slug' ], $class, $tab[ 'name' ], $query, esc_html( $tab[ 'name' ] ) );
552
- }
553
-
554
- return $menu;
555
- }
556
-
557
-
558
- /**
559
- * Update an option
560
- *
561
- * @param string $name
562
- * @param string $value
563
- *
564
- * @return bool
565
- */
566
- public function update_option( $name, $value )
567
- {
568
- // Overwrite the key/value pair
569
- $this->current_options = array( $name => $value ) + (array) $this->current_options;
570
-
571
- return update_option( $this->id . '_options', $this->current_options );
572
- }
573
-
574
-
575
- /**
576
- * Get an option
577
- *
578
- * @param string $name
579
- * @param string $default (optional)
580
- *
581
- * @return bool
582
- */
583
- public function get_option( $name, $default = false )
584
- {
585
- return isset( $this->current_options[ $name ] ) ? maybe_unserialize( $this->current_options[ $name ] ) : $default;
586
- }
587
-
588
-
589
- public function settings_options_format( $setting )
590
- {
591
- if ( empty( $setting ) ) return false;
592
-
593
- $defaults = apply_filters( $this->id . '_options_defaults', array(
594
- 'name' => '',
595
- 'desc' => '',
596
- 'placeholder' => '',
597
- 'class' => '',
598
- 'tip' => '',
599
- 'id' => '',
600
- 'css' => '',
601
- 'type' => 'text',
602
- 'std' => '',
603
- 'select2' => false,
604
- 'multiple' => false,
605
- 'options' => array(),
606
- 'restrict' => array(),
607
- 'settings' => array()
608
- ) );
609
-
610
- // Each to it's own variable for slim-ness' sakes.
611
- $setting = shortcode_atts( $defaults, $setting );
612
-
613
- $restrict_defaults = array(
614
- 'min' => 0,
615
- 'max' => '',
616
- 'step' => 'any',
617
- );
618
-
619
- $setting[ 'restrict' ] = shortcode_atts( $restrict_defaults, $setting[ 'restrict' ] );
620
-
621
- $setting[ 'value' ] = $this->get_option( $setting[ 'id' ] );
622
- $setting[ 'value' ] = $setting[ 'value' ] !== false ? maybe_unserialize( $setting[ 'value' ] ) : false;
623
- $setting[ 'value' ] = $this->sanitize_value( $setting[ 'value' ], $setting );
624
-
625
- $setting[ 'title' ] = $setting[ 'name' ];
626
- $setting[ 'name' ] = $this->id . "_options[{$setting['id']}]";
627
-
628
- $setting[ 'grouped' ] = !$setting[ 'title' ] ? ' style="padding-top:0px;"' : '';
629
- $setting[ 'tip' ] = $this->get_formatted_tip( $setting[ 'tip' ] );
630
-
631
- $header_types = apply_filters( $this->id . '_options_header_types', array( 'heading', 'title' ) );
632
-
633
- extract( $setting );
634
-
635
- $description = $desc && !$grouped && $type != 'checkbox'
636
- ? '<br /><small>' . $desc . '</small>'
637
- : '<label for="' . $id . '"> ' . $desc . '</label>';
638
-
639
- $description = ( ( in_array( $type, $header_types ) || $type == 'radio' ) && !empty( $desc ) )
640
- ? '<p>' . $desc . '</p>'
641
- : $description;
642
-
643
- ?>
644
-
645
- <?php if ( !in_array( $type, $header_types ) ) : ?>
646
- <!-- Header of the option. -->
647
- <tr valign="top">
648
- <th scope="row"<?php echo $grouped; ?>>
649
-
650
- <?php echo $tip; ?>
651
-
652
- <?php if ( !$grouped ) : ?>
653
- <label for="<?php echo $name; ?>" class="description"><?php echo $title; ?></label>
654
- <?php endif; ?>
655
-
656
- </th>
657
- <td <?php echo $grouped; ?> >
658
- <?php endif; ?>
659
-
660
- <?php foreach ( $header_types as $header ) :
661
- if ( $type != $header ) continue; ?>
662
- <tr>
663
- <th scope="col" colspan="2">
664
- <h3 class="title"><?php echo $title; ?></h3>
665
- <?php echo $description; ?>
666
- </th>
667
- </tr>
668
- <?php endforeach; ?>
669
-
670
- <?php switch ( $type ) :
671
-
672
- case 'text' :
673
- case 'color' :
674
- case 'number' :
675
- if ( $type == 'color' ) {
676
- $type = 'text';
677
- $class .= ' colorpick';
678
- $description .= '<div id="colorPickerDiv_' . $id . '" class="colorpickdiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;display:none;"></div>';
679
- }
680
- ?>
681
- <input name="<?php echo $name; ?>"
682
- id="<?php echo $id; ?>"
683
- type="<?php echo $type; ?>"
684
-
685
- <?php if ( $type == 'number' ): ?>
686
- min="<?php echo $restrict[ 'min' ]; ?>"
687
- max="<?php echo $restrict[ 'max' ]; ?>"
688
- step="<?php echo $restrict[ 'step' ]; ?>"
689
- <?php endif; ?>
690
-
691
- class="regular-text <?php echo $class; ?>"
692
- style="<?php echo $css; ?>"
693
- placeholder="<?php echo $placeholder; ?>"
694
- value="<?php echo $value !== false ? $value : $std; ?>"
695
- />
696
- <?php echo $description;
697
- break;
698
-
699
- case 'checkbox':
700
-
701
- $selected = ( $value !== false ) ? $value : $std;
702
-
703
- if ( $multiple ) :
704
-
705
- foreach ( $options as $key => $desc ) : ?>
706
-
707
- <input name="<?php echo $name; ?><?php echo $multiple ? '[]' : ''; ?>"
708
- id="<?php echo $id . '_' . $key; ?>"
709
- type="checkbox"
710
- class="<?php echo $class; ?>"
711
- style="<?php echo $css; ?>"
712
- value="<?php echo $key; ?>"
713
- <?php @checked( $selected[$key], 1 ); ?>
714
- />
715
- <label for="<?php echo $id . '_' . $key; ?>">
716
- <?php echo $desc; ?>
717
- </label>
718
- <br/>
719
- <?php
720
-
721
- endforeach;
722
-
723
- else : ?>
724
-
725
- <input name="<?php echo $name; ?>"
726
- id="<?php echo $id ?>"
727
- type="checkbox"
728
- class="<?php echo $class; ?>"
729
- style="<?php echo $css; ?>"
730
- <?php checked( $selected, 1 ); ?>
731
- />
732
- <?php echo $description;
733
- endif;
734
- break;
735
-
736
- case 'radio':
737
-
738
- $selected = ( $value !== false ) ? $value : $std;
739
-
740
- foreach ( $options as $key => $val ) : ?>
741
- <label class="radio">
742
- <input type="radio"
743
- name="<?php echo $name; ?>"
744
- id="<?php echo $key; ?>"
745
- value="<?php echo $key; ?>"
746
- class="<?php echo $class; ?>"
747
- <?php checked( $selected, $key ); ?>
748
- />
749
- <?php echo $val; ?>
750
- </label><br/>
751
- <?php endforeach;
752
- echo $description;
753
- break;
754
-
755
- case 'single_select_page':
756
-
757
- $selected = ( $value !== false ) ? $value : $std;
758
-
759
- $args = array(
760
- 'name' => $name,
761
- 'id' => $id,
762
- 'sort_order' => 'ASC',
763
- 'echo' => 0,
764
- 'selected' => $selected
765
- );
766
-
767
- echo str_replace( "'>", "'><option></option>", wp_dropdown_pages( $args ) );
768
-
769
- echo $description;
770
-
771
- if ( $select2 ) : ?>
772
- <script type="text/javascript">jQuery(function () {
773
- jQuery("#<?php echo $id; ?>").select2({ allowClear: true, placeholder: "<?php _e( 'Select a page...', 'geczy' ); ?>", width: '350px' });
774
- });</script>
775
- <?php endif;
776
-
777
- break;
778
-
779
- case 'select':
780
-
781
- $selected = ( $value !== false ) ? $value : $std;
782
- $options = apply_filters( $this->id . '_select_options', $options, $setting ); ?>
783
-
784
- <select id="<?php echo $id; ?>"
785
- class="<?php echo $class; ?>"
786
- style="<?php echo $css; ?>"
787
- name="<?php echo $name; ?><?php echo $multiple ? '[]' : ''; ?>"
788
- <?php echo $multiple ? 'multiple="multiple"' : ''; ?>>
789
-
790
- <?php foreach ( $options as $key => $val ) : ?>
791
- <option
792
- value="<?php echo $key; ?>" <?php self::selected( $selected, $key ); ?>><?php echo $val; ?></option>
793
- <?php endforeach; ?>
794
- </select>
795
-
796
- <?php echo $description;
797
-
798
- if ( $select2 ) : ?>
799
- <script type="text/javascript">jQuery(function () {
800
- jQuery("#<?php echo $id; ?>").select2({ width: '350px' });
801
- });</script>
802
- <?php endif;
803
-
804
- break;
805
-
806
- case 'textarea':
807
- ?>
808
- <textarea name="<?php echo $name; ?>"
809
- id="<?php echo $id; ?>"
810
- class="large-text <?php echo $class; ?>"
811
- style="<?php if ( $css ) echo $css; else echo 'width:300px;'; ?>"
812
- placeholder="<?php echo $placeholder; ?>"
813
- rows="3"
814
- ><?php echo ( $value !== false ) ? $value : $std; ?></textarea>
815
- <?php echo $description;
816
- break;
817
-
818
- case 'wysiwyg':
819
- wp_editor( $value, $id, array( 'textarea_name' => $name ) );
820
- echo $description;
821
- break;
822
-
823
- default :
824
- do_action( $this->id . '_options_type_' . $type, $setting );
825
- break;
826
-
827
- endswitch;
828
-
829
- /* Footer of the option. */
830
- if ( !in_array( $type, $header_types ) ) echo '</td></tr>';
831
-
832
- }
833
-
834
-
835
- /**
836
- *
837
- *
838
- * @param unknown $haystack
839
- * @param unknown $current
840
- */
841
- private function selected( $haystack, $current )
842
- {
843
-
844
- if ( is_array( $haystack ) && in_array( $current, $haystack ) ) {
845
- $current = $haystack = 1;
846
- }
847
-
848
- selected( $haystack, $current );
849
- }
850
-
851
-
852
- /**
853
- *
854
- *
855
- * @param unknown $haystack
856
- * @param unknown $current
857
- */
858
- private function checked( $haystack, $current )
859
- {
860
-
861
- if ( is_array( $haystack ) && !empty( $haystack[ $current ] ) ) {
862
- $current = $haystack = 1;
863
- }
864
-
865
- checked( $haystack, $current );
866
- }
867
-
868
-
869
- /**
870
- * Format a tooltip given a string
871
- *
872
- * @param string $tip
873
- *
874
- * @return string
875
- */
876
- private function get_formatted_tip( $tip )
877
- {
878
- return $tip ? sprintf( '<a href="#" title="%s" class="sf-tips" tabindex="99"></a>', $tip ) : '';
879
- }
880
-
881
-
882
- /**
883
- *
884
- *
885
- * @param unknown $value
886
- * @param unknown $setting
887
- *
888
- * @return unknown
889
- */
890
- private function sanitize_value( $value, $setting )
891
- {
892
- if ( $value !== false && $setting[ 'type' ] != 'wysiwyg' ) {
893
- if ( is_array( $value ) ) {
894
- foreach ( $value as $key => $output ) {
895
- $value[ $key ] = esc_attr( $output );
896
- }
897
- } else {
898
- $value = esc_attr( $value );
899
- }
900
- }
901
-
902
- return apply_filters( $this->id . '_options_sanitize_value', $value, $setting );
903
- }
904
-
905
-
906
-
907
- }
908
-
909
-
910
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/admin/settings/sf-options.php DELETED
@@ -1,306 +0,0 @@
1
- <?php
2
- $options = array();
3
-
4
- $options[ ] = array( 'name' => __( 'General', 'wcvendors' ), 'type' => 'heading' );
5
- $options[ ] = array( 'name' => __( 'General options', 'wcvendors' ), 'type' => 'title', 'desc' => __( ' ', 'wcvendors' ) );
6
-
7
- $options[ ] = array(
8
- 'name' => __( 'Default commission (%)', 'wcvendors' ),
9
- 'desc' => __( 'The default rate the vendor receives for each product. If a product has a commission rate already set, this value will be ignored for that product.', 'wcvendors' ),
10
- 'id' => 'default_commission',
11
- 'css' => 'width:70px;',
12
- 'type' => 'number',
13
- 'restrict' => array(
14
- 'min' => 0,
15
- 'max' => 100
16
- )
17
- );
18
-
19
- $options[ ] = array(
20
- 'name' => __( 'Registration', 'wcvendors' ),
21
- 'desc' => __( 'Allow users or guests to apply to become a vendor', 'wcvendors' ),
22
- 'tip' => __( 'This will show a checkbox on the My Account page\'s registration form asking if the user would like to apply to be a vendor. Also, on the Vendor Dashboard, users can apply to become a vendor.', 'wcvendors' ),
23
- 'id' => 'show_vendor_registration',
24
- 'type' => 'checkbox',
25
- 'std' => true,
26
- );
27
-
28
- $options[ ] = array(
29
- 'desc' => __( 'Approve vendor applications manually', 'wcvendors' ),
30
- 'tip' => __( 'With this unchecked, all vendor applications are automatically accepted. Otherwise, you must approve each manually.', 'wcvendors' ),
31
- 'id' => 'manual_vendor_registration',
32
- 'type' => 'checkbox',
33
- 'std' => true,
34
- );
35
-
36
- $options[ ] = array(
37
- 'name' => __( 'Taxes', 'wcvendors' ),
38
- 'desc' => __( 'Give vendors any tax collected per-product', 'wcvendors' ),
39
- 'tip' => __( 'The tax collected on a vendor\'s product will be given to him in its entirety', 'wcvendors' ),
40
- 'id' => 'give_tax',
41
- 'type' => 'checkbox',
42
- 'std' => false,
43
- );
44
-
45
- $options[ ] = array( 'name' => __( 'Shop options', 'wcvendors' ), 'type' => 'title', 'desc' => __( ' ', 'wcvendors' ) );
46
-
47
- $options[ ] = array(
48
- 'name' => __( 'Shop HTML', 'wcvendors' ),
49
- 'desc' => __( 'Enable HTML for a vendor\'s shop description by default', 'wcvendors' ),
50
- 'id' => 'shop_html_enabled',
51
- 'type' => 'checkbox',
52
- 'std' => true,
53
- );
54
-
55
- $options[ ] = array(
56
- 'name' => __( 'Vendor shop page', 'wcvendors' ),
57
- 'desc' => __( 'Eg: <code>yoursite.com/[your_setting_here]/[vendor_name_here]</code>', 'wcvendors' ),
58
- 'id' => 'vendor_shop_permalink',
59
- 'type' => 'text',
60
- 'std' => 'vendors/',
61
- );
62
-
63
- $options[ ] = array(
64
- 'name' => __( 'Shop Headers', 'wcvendors' ),
65
- 'desc' => __( 'Enable vendor shop headers', 'wcvendors' ),
66
- 'tip' => __( 'This will override the HTML Shop description output on product-archive pages.', 'wcvendors' ),
67
- 'id' => 'shop_headers_enabled',
68
- 'type' => 'checkbox',
69
- 'std' => false,
70
- );
71
-
72
- $options[ ] = array( 'name' => __( 'Products', 'wcvendors' ), 'type' => 'heading' );
73
- $options[ ] = array( 'name' => __( 'Product Add Page', 'wcvendors' ), 'type' => 'title', 'desc' => __( 'Configure what to hide from all vendors when adding a product', 'wcvendors' ) );
74
-
75
- $options[ ] = array(
76
- 'name' => __( 'Left side panel', 'wcvendors' ),
77
- 'desc' => __( 'Hide these areas of the add product page for vendors', 'wcvendors' ),
78
- 'id' => 'hide_product_panel',
79
- 'options' => array(
80
- 'inventory' => 'Inventory',
81
- 'shipping' => 'Shipping',
82
- 'linked_product' => 'Linked Products',
83
- 'attribute' => 'Attributes',
84
- 'advanced' => 'Advanced',
85
- ),
86
- 'type' => 'checkbox',
87
- 'multiple' => true,
88
- );
89
-
90
- $options[ ] = array(
91
- 'name' => __( 'Types', 'wcvendors' ),
92
- 'desc' => __( 'Hide these product types from the vendor', 'wcvendors' ),
93
- 'id' => 'hide_product_types',
94
- 'options' => array(
95
- 'simple' => 'Simple',
96
- 'variable' => 'Variable',
97
- 'grouped' => 'Grouped',
98
- 'external' => 'External / affiliate',
99
- ),
100
- 'type' => 'checkbox',
101
- 'multiple' => true,
102
- );
103
-
104
- $options[ ] = array(
105
- 'name' => __( 'Type options', 'wcvendors' ),
106
- 'desc' => __( 'Hide these product options from the vendor', 'wcvendors' ),
107
- 'id' => 'hide_product_type_options',
108
- 'options' => array(
109
- 'virtual' => 'Virtual',
110
- 'downloadable' => 'Downloadable',
111
- ),
112
- 'type' => 'checkbox',
113
- 'multiple' => true,
114
- );
115
-
116
- $options[ ] = array(
117
- 'name' => __( 'Miscellaneous', 'wcvendors' ),
118
- 'id' => 'hide_product_misc',
119
- 'options' => array(
120
- 'taxes' => 'Taxes',
121
- 'sku' => 'SKU',
122
- 'featured' => 'Featured',
123
- ),
124
- 'type' => 'checkbox',
125
- 'multiple' => true,
126
- );
127
-
128
- $options[ ] = array(
129
- 'name' => __( 'Stylesheet', 'wcvendors' ),
130
- 'desc' => __( 'You can add CSS in this textarea, which will be loaded on the product add/edit page for vendors.', 'wcvendors' ),
131
- 'id' => 'product_page_css',
132
- 'type' => 'textarea',
133
- );
134
-
135
-
136
- $options[ ] = array( 'name' => __( 'Capabilities', 'wcvendors' ), 'type' => 'heading', 'id' => 'capabilities' );
137
- $options[ ] = array( 'name' => __( 'Permissions', 'wcvendors' ), 'id' => 'permissions', 'type' => 'title', 'desc' => __( 'General permissions used around the shop', 'wcvendors' ) );
138
-
139
- $options[ ] = array(
140
- 'name' => __( 'Orders', 'wcvendors' ),
141
- 'desc' => __( 'View orders', 'wcvendors' ),
142
- 'tip' => __( 'Show customer details such as email, address, name, etc, for each order', 'wcvendors' ),
143
- 'id' => 'can_show_orders',
144
- 'type' => 'checkbox',
145
- 'std' => true,
146
- );
147
-
148
- $options[ ] = array(
149
- 'desc' => __( 'View comments', 'wcvendors' ),
150
- 'tip' => __( 'View all vendor comments for an order on the frontend', 'wcvendors' ),
151
- 'id' => 'can_view_order_comments',
152
- 'type' => 'checkbox',
153
- 'std' => true,
154
- );
155
-
156
- $options[ ] = array(
157
- 'desc' => __( 'Submit comments', 'wcvendors' ),
158
- 'tip' => __( 'Submit comments for an order on the frontend. Eg, tracking ID for a product', 'wcvendors' ),
159
- 'id' => 'can_submit_order_comments',
160
- 'type' => 'checkbox',
161
- 'std' => true,
162
- );
163
-
164
- $options[ ] = array(
165
- 'desc' => __( 'View email addresses', 'wcvendors' ),
166
- 'tip' => __( 'While viewing order details on the frontend, you can disable or enable email addresses', 'wcvendors' ),
167
- 'id' => 'can_view_order_emails',
168
- 'type' => 'checkbox',
169
- 'std' => true,
170
- );
171
-
172
- $options[ ] = array(
173
- 'desc' => __( 'Export a CSV file of orders for a product', 'wcvendors' ),
174
- 'tip' => __( 'Vendors could export orders for a product on the frontend', 'wcvendors' ),
175
- 'id' => 'can_export_csv',
176
- 'type' => 'checkbox',
177
- 'std' => true,
178
- );
179
-
180
- $options[ ] = array(
181
- 'name' => __( 'Reports', 'wcvendors' ),
182
- 'desc' => __( 'View backend sales reports', 'wcvendors' ),
183
- 'tip' => __( 'Graphs and tables via the Reports page in backend. The reports will only display sales data that pertain to their products', 'wcvendors' ),
184
- 'id' => 'can_view_backend_reports',
185
- 'type' => 'checkbox',
186
- 'std' => true,
187
- );
188
-
189
- $options[ ] = array(
190
- 'desc' => __( 'View Frontend sales reports', 'wcvendors' ),
191
- 'tip' => __( 'Sales table on the frontend on the My Account page. The table will only display sales data that pertain to their products', 'wcvendors' ),
192
- 'id' => 'can_view_frontend_reports',
193
- 'type' => 'checkbox',
194
- 'std' => true,
195
- );
196
-
197
- $options[ ] = array(
198
- 'name' => __( 'Products', 'wcvendors' ),
199
- 'desc' => __( 'Submit products', 'wcvendors' ),
200
- 'tip' => __( 'Vendors could submit a product through the backend, and an admin would approve or deny it', 'wcvendors' ),
201
- 'id' => 'can_submit_products',
202
- 'type' => 'checkbox',
203
- 'std' => true,
204
- );
205
-
206
- $options[ ] = array(
207
- 'desc' => __( 'Edit live products', 'wcvendors' ),
208
- 'tip' => __( 'Vendors could edit an approved product after it has already gone live. There is no approval or review after editing a live product. This could be dangerous with malicious vendors, so take caution.', 'wcvendors' ),
209
- 'id' => 'can_edit_published_products',
210
- 'type' => 'checkbox',
211
- 'std' => false,
212
- );
213
-
214
- $options[ ] = array(
215
- 'desc' => __( 'Submit products live without requiring approval', 'wcvendors' ),
216
- 'tip' => __( 'Vendors can submit products without review or approval from a shop admin. This could be dangerous with malicious vendors, so take caution.', 'wcvendors' ),
217
- 'id' => 'can_submit_live_products',
218
- 'type' => 'checkbox',
219
- 'std' => false,
220
- );
221
-
222
- $options[ ] = array( 'name' => __( 'Pages', 'wcvendors' ), 'type' => 'heading' );
223
- $options[ ] = array( 'name' => __( 'Page configuration', 'wcvendors' ), 'type' => 'title', 'desc' => __( ' ', 'wcvendors' ) );
224
-
225
- $options[ ] = array(
226
- 'name' => __( 'Vendor dashboard', 'wcvendors' ),
227
- 'desc' => __( 'Choose the page that has the shortcode <code>[wcv_vendor_dashboard]</code><br/>By default, My Account > Vendor Dashboard should have the shortcode.', 'wcvendors' ),
228
- 'id' => 'vendor_dashboard_page',
229
- 'type' => 'single_select_page',
230
- 'select2' => true,
231
- );
232
-
233
- $options[ ] = array(
234
- 'name' => __( 'Shop settings', 'wcvendors' ),
235
- 'desc' => __( 'Choose the page that has the shortcode <code>[wcv_shop_settings]</code><br/>These are the shop settings a vendor can configure.', 'wcvendors' ),
236
- 'id' => 'shop_settings_page',
237
- 'type' => 'single_select_page',
238
- 'select2' => true,
239
- );
240
-
241
- $options[ ] = array(
242
- 'name' => __( 'Orders page', 'wcvendors' ),
243
- 'desc' => __( 'Choose the page that has the shortcode <code>[wcv_orders]</code><br/>By default, My Account > Orders should have the shortcode.', 'wcvendors' ),
244
- 'id' => 'orders_page',
245
- 'type' => 'single_select_page',
246
- 'select2' => true,
247
- );
248
-
249
- $options[ ] = array(
250
- 'name' => __( 'Vendor terms', 'wcvendors' ),
251
- 'desc' => __( 'These terms are shown to a user when submitting an application to become a vendor.<br/>If left blank, no terms will be shown to the applicant.', 'wcvendors' ),
252
- 'id' => 'terms_to_apply_page',
253
- 'type' => 'single_select_page',
254
- 'select2' => true,
255
- );
256
-
257
- $total_due = 0;
258
- if ( !empty( $_GET[ 'tab' ] ) && $_GET[ 'tab' ] == 'payments' ) {
259
- global $wpdb;
260
-
261
- $table_name = $wpdb->prefix . "pv_commission";
262
- $query = "SELECT sum(total_due + total_shipping + tax) as total
263
- FROM `{$table_name}`
264
- WHERE status = %s";
265
- $results = $wpdb->get_results( $wpdb->prepare( $query, 'due' ) );
266
-
267
- $total_due = array_shift( $results )->total;
268
- }
269
- $options[ ] = array( 'name' => __( 'Payments', 'wcvendors' ), 'type' => 'heading' );
270
- $options[ ] = array(
271
- 'name' => __( 'User payments', 'wcvendors' ), 'type' => 'title', 'desc' =>
272
- sprintf( __( 'Total commission currently due: %s. <a href="%s">View details</a>.', 'wcvendors' ), !function_exists( 'woocommerce_price' ) ? $total_due : woocommerce_price( $total_due ), '?page=pv_admin_commissions' ) .
273
- '<br/><br/>' . sprintf( __( 'Make sure you update your PayPal Adaptive Payments settings <a href="%s">here</a>.', 'wcvendors' ), 'admin.php?page=wc-settings&tab=checkout&section=wc_paypalap' )
274
- );
275
-
276
- $options[ ] = array(
277
- 'name' => __( 'Instant pay', 'wcvendors' ),
278
- 'desc' => __( 'Instantly pay vendors their commission when an order is made', 'wcvendors' ),
279
- 'tip' => __( 'For this to work, customers must checkout with the PayPal Adaptive Payments gateway. Using other gateways will not pay vendors instantly', 'wcvendors' ),
280
- 'id' => 'instapay',
281
- 'type' => 'checkbox',
282
- 'std' => true,
283
- );
284
-
285
- $options[ ] = array(
286
- 'name' => __( 'Payment schedule', 'wcvendors' ),
287
- 'desc' => __( 'Note: Schedule will only work if instant pay is unchecked', 'wcvendors' ),
288
- 'id' => 'schedule',
289
- 'type' => 'radio',
290
- 'std' => 'manual',
291
- 'options' => array(
292
- 'weekly' => __( 'Weekly', 'wcvendors' ),
293
- 'biweekly' => __( 'Biweekly', 'wcvendors' ),
294
- 'monthly' => __( 'Monthly', 'wcvendors' ),
295
- 'manual' => __( 'Manual', 'wcvendors' ),
296
- 'now' => '<span style="color:green;"><strong>' . __( 'Now', 'wcvendors' ) . '</strong></span>',
297
- )
298
- );
299
-
300
- $options[ ] = array(
301
- 'name' => __( 'Email notification', 'wcvendors' ),
302
- 'desc' => __( 'Send the WooCommerce admin an email each time a payment has been made via the payment schedule options above', 'wcvendors' ),
303
- 'id' => 'mail_mass_pay_results',
304
- 'type' => 'checkbox',
305
- 'std' => true,
306
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/class-commission.php DELETED
@@ -1,341 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Commission functions
5
- *
6
- * @author Matt Gates <http://mgates.me>
7
- * @package ProductVendor
8
- */
9
-
10
-
11
- class WCV_Commission
12
- {
13
-
14
-
15
- /**
16
- * Constructor
17
- */
18
- function __construct()
19
- {
20
- $this->completed_statuses = apply_filters( 'wcvendors_completed_statuses', array(
21
- 'completed',
22
- 'processing',
23
- ) );
24
-
25
- $this->reverse_statuses = apply_filters( 'wcvendors_reversed_statuses', array(
26
- 'pending',
27
- 'refunded',
28
- 'cancelled',
29
- 'failed',
30
- ) );
31
-
32
- $this->check_order_reverse();
33
- $this->check_order_complete();
34
- }
35
-
36
-
37
- /**
38
- * Run actions when an order is reversed
39
- */
40
- public function check_order_reverse()
41
- {
42
- foreach ( $this->completed_statuses as $completed ) {
43
- foreach ( $this->reverse_statuses as $reversed ) {
44
- add_action( "woocommerce_order_status_{$completed}_to_{$reversed}", array( 'WCV_Commission', 'reverse_due_commission' ) );
45
- }
46
- }
47
- }
48
-
49
-
50
- /**
51
- * Runs only on a manual order update by a human
52
- */
53
- public function check_order_complete()
54
- {
55
- foreach ( $this->completed_statuses as $completed ) {
56
- add_action( 'woocommerce_order_status_' . $completed, array( 'WCV_Commission', 'log_commission_due' ) );
57
- }
58
- }
59
-
60
-
61
- /**
62
- * Reverse commission for an entire order
63
- *
64
- * Only runs if the order has been logged in pv_commission table
65
- *
66
- * @param int $order_id
67
- *
68
- * @return unknown
69
- */
70
- public function reverse_due_commission( $order_id )
71
- {
72
- global $wpdb;
73
-
74
- // Check if this order exists
75
- $count = WCV_Commission::count_commission_by_order( $order_id );
76
- if ( !$count ) return false;
77
-
78
- // Deduct this amount from the vendor's total due
79
- $results = WCV_Commission::sum_total_due_for_order( $order_id );
80
- $ids = implode( ',', $results[ 'ids' ] );
81
- $table_name = $wpdb->prefix . "pv_commission";
82
-
83
- $query = "UPDATE `{$table_name}` SET `status` = '%s' WHERE id IN ({$ids})";
84
- $results = $wpdb->query( $wpdb->prepare( $query, 'reversed' ) );
85
-
86
- return $results;
87
- }
88
-
89
-
90
- /**
91
- * Store all commission due for an order
92
- *
93
- * @return bool
94
- *
95
- * @param int $order_id
96
- */
97
- public static function log_commission_due( $order_id )
98
- {
99
- global $woocommerce;
100
-
101
- $order = new WC_Order( $order_id );
102
- $dues = WCV_Vendors::get_vendor_dues_from_order( $order, false );
103
-
104
- foreach ( $dues as $vendor_id => $details ) {
105
-
106
- // Only process vendor commission
107
- if ( !WCV_Vendors::is_vendor( $vendor_id ) ) continue;
108
-
109
- // See if they currently have an amount due
110
- $due = WCV_Vendors::count_due_by_vendor( $vendor_id, $order_id );
111
- if ( $due > 0 ) continue;
112
-
113
- // Get the dues in an easy format for inserting to our table
114
- $insert_due = array();
115
-
116
- foreach ( $details as $key => $detail ) {
117
- $product_id = $detail['product_id'];
118
-
119
- $insert_due[ $product_id ] = array(
120
- 'order_id' => $order_id,
121
- 'vendor_id' => $vendor_id,
122
- 'product_id' => $product_id,
123
- 'total_due' => !empty( $insert_due[ $product_id ][ 'total_due' ] ) ? ( $detail[ 'commission' ] + $insert_due[ $product_id ][ 'total_due' ] ) : $detail[ 'commission' ],
124
- 'total_shipping' => !empty( $insert_due[ $product_id ][ 'total_shipping' ] ) ? ( $detail[ 'shipping' ] + $insert_due[ $product_id ][ 'total_shipping' ] ) : $detail[ 'shipping' ],
125
- 'tax' => !empty( $insert_due[ $product_id ][ 'tax' ] ) ? ( $detail[ 'tax' ] + $insert_due[ $product_id ][ 'tax' ] ) : $detail[ 'tax' ],
126
- 'qty' => !empty( $insert_due[ $product_id ][ 'qty' ] ) ? ( $detail[ 'qty' ] + $insert_due[ $product_id ][ 'qty' ] ) : $detail[ 'qty' ],
127
- 'time' => $order->order_date,
128
- );
129
- }
130
-
131
- if ( !empty( $insert_due ) ) {
132
- WCV_Commission::insert_new_commission( array_values( $insert_due ) );
133
- }
134
- }
135
-
136
- }
137
-
138
-
139
- /**
140
- * Add up the totals for an order for each vendor
141
- *
142
- * @param int $order_id
143
- *
144
- * @return array
145
- */
146
- public function sum_total_due_for_order( $order_id )
147
- {
148
- global $wpdb;
149
-
150
- $table_name = $wpdb->prefix . "pv_commission";
151
- $query = "SELECT `id`, `total_due`, `total_shipping`, `tax`, `vendor_id`
152
- FROM `{$table_name}`
153
- WHERE `order_id` = %d
154
- AND `status` = %s";
155
-
156
- $results = $wpdb->get_results( $wpdb->prepare( $query, $order_id, 'due' ) );
157
-
158
- foreach ( $results as $commission ) {
159
- $commission_ids[ ] = $commission->id;
160
-
161
- $pay[ $commission->vendor_id ] = !empty( $pay[ $commission->vendor_id ] )
162
- ? ( $pay[ $commission->vendor_id ] + ( $commission->total_due + $commission->total_shipping + $commission->tax ) )
163
- : ( $commission->total_due + $commission->total_shipping + $commission->tax );
164
- }
165
-
166
- $return = array(
167
- 'vendors' => $pay,
168
- 'ids' => $commission_ids,
169
- );
170
-
171
- return $return;
172
- }
173
-
174
-
175
- /**
176
- * Return all commission outstanding with a 'due' status
177
- *
178
- * @return object
179
- */
180
- public static function get_all_due()
181
- {
182
- global $wpdb;
183
-
184
- $table_name = $wpdb->prefix . "pv_commission";
185
- $query = "SELECT id, vendor_id, total_due
186
- FROM `{$table_name}`
187
- WHERE status = %s";
188
- $results = $wpdb->get_results( $wpdb->prepare( $query, 'due' ) );
189
-
190
- return $results;
191
- }
192
-
193
-
194
- /**
195
- * Check if this order has commission logged already
196
- *
197
- * @param int $order_id
198
- *
199
- * @return int
200
- */
201
- public function count_commission_by_order( $order_id )
202
- {
203
- global $wpdb;
204
- $table_name = $wpdb->prefix . "pv_commission";
205
-
206
- if ( is_array( $order_id ) )
207
- $order_id = implode( ',', $order_id );
208
-
209
- $query = "SELECT COUNT(order_id) AS order_count
210
- FROM {$table_name}
211
- WHERE order_id IN ($order_id)
212
- AND status <> %s";
213
- $count = $wpdb->get_var( $wpdb->prepare( $query, 'reversed' ) );
214
-
215
- return $count;
216
- }
217
-
218
-
219
- /**
220
- * Product's commission rate in percentage form
221
- *
222
- * Eg: 50 for 50%
223
- *
224
- * @param int $product_id
225
- *
226
- * @return float
227
- */
228
- public static function get_commission_rate( $product_id )
229
- {
230
-
231
- $commission = 0;
232
-
233
- $parent = get_post_ancestors( $product_id );
234
- if ( $parent ) $product_id = $parent[ 0 ];
235
-
236
- $vendor_id = WCV_Vendors::get_vendor_from_product( $product_id );
237
-
238
- $product_commission = get_post_meta( $product_id, 'pv_commission_rate', true );
239
- $vendor_commission = WCV_Vendors::get_default_commission( $vendor_id );
240
- $default_commission = WC_Vendors::$pv_options->get_option( 'default_commission' );
241
-
242
- if ( $product_commission != '' && $product_commission !== false ) {
243
- $commission = $product_commission;
244
- }
245
-
246
- else if ( $vendor_commission != '' && $vendor_commission !== false ) {
247
- $commission = $vendor_commission;
248
- }
249
-
250
- else if ( $default_commission != '' && $default_commission !== false ) {
251
- $commission = $default_commission;
252
- }
253
-
254
- return apply_filters( 'wcv_commission_rate_percent', $commission, $product_id );
255
- }
256
-
257
-
258
- /**
259
- * Commission due for a product based on a rate and price
260
- *
261
- * @param float $product_price
262
- * @param unknown $product_id
263
- *
264
- * @return float
265
- */
266
- public static function calculate_commission( $product_price, $product_id, $order )
267
- {
268
- $commission_rate = WCV_Commission::get_commission_rate( $product_id );
269
- $commission = $product_price * ( $commission_rate / 100 );
270
- $commission = round( $commission, 2 );
271
-
272
- return apply_filters( 'wcv_commission_rate', $commission, $product_id, $product_price, $order );
273
- }
274
-
275
-
276
- /**
277
- * Log commission to the pv_commission table
278
- *
279
- * Will either update or insert to the database
280
- *
281
- * @param array $orders
282
- *
283
- * @return unknown
284
- */
285
- public static function insert_new_commission( $orders = array() )
286
- {
287
- global $wpdb;
288
-
289
- if ( empty( $orders ) ) return false;
290
-
291
- $table = $wpdb->prefix . "pv_commission";
292
-
293
- // Insert the time and default status 'due'
294
- foreach ( $orders as $key => $order ) {
295
- $orders[ $key ][ 'time' ] = $order['time'];
296
- $orders[ $key ][ 'status' ] = 'due';
297
- }
298
-
299
- foreach ( $orders as $key => $order ) {
300
- $where = array(
301
- 'order_id' => $order[ 'order_id' ],
302
- 'product_id' => $order[ 'product_id' ],
303
- 'vendor_id' => $order[ 'vendor_id' ],
304
- 'qty' => $order[ 'qty' ],
305
- );
306
- $update = $wpdb->update( $table, $order, $where );
307
- if ( !$update ) $insert = $wpdb->insert( $table, $order );
308
- }
309
-
310
- do_action( 'wcv_commissions_inserted', $orders );
311
- }
312
-
313
-
314
- /**
315
- * Set commission to 'paid' for an entire order
316
- *
317
- *
318
- * @access public
319
- *
320
- * @param mixed $order_id An array of Order IDs or an int.
321
- * @param unknown $column_ids (optional)
322
- *
323
- * @return bool.
324
- */
325
- public function set_order_commission_paid( $order_id, $column_ids = false )
326
- {
327
- global $wpdb;
328
-
329
- $table_name = $wpdb->prefix . "pv_commission";
330
-
331
- if ( is_array( $order_id ) )
332
- $order_id = implode( ',', $order_id );
333
-
334
- $query = "UPDATE `{$table_name}` SET `status` = 'paid' WHERE order_id IN ($order_id)";
335
- $result = $wpdb->query( $query );
336
-
337
- return $result;
338
- }
339
-
340
-
341
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/class-cron.php DELETED
@@ -1,165 +0,0 @@
1
- <?php
2
- /**
3
- * Cron class
4
- *
5
- * @package ProductVendor
6
- */
7
-
8
-
9
- class WCV_Cron
10
- {
11
-
12
-
13
- /**
14
- * Constructor
15
- */
16
- function __construct()
17
- {
18
- add_filter( 'cron_schedules', array( 'WCV_Cron', 'custom_cron_intervals' ) );
19
- add_action( WC_Vendors::$id . '_options_updated', array( 'WCV_Cron', 'check_schedule' ) );
20
- add_filter( WC_Vendors::$id . '_options_on_update', array( 'WCV_Cron', 'check_schedule_now' ) );
21
- }
22
-
23
-
24
- /**
25
- * Re-add cron schedule when the settings have been updated
26
- *
27
- * @param array
28
- * @param unknown $options
29
- */
30
- public static function check_schedule( $options )
31
- {
32
- $old_interval = wp_get_schedule( 'pv_schedule_mass_payments' );
33
- $new_interval = $options[ 'schedule' ];
34
- $instapay = $options[ 'instapay' ];
35
-
36
- /**
37
- * 1. The user actually changed the schedule
38
- * 2. Instapay is turned off
39
- * 3. Manual was not selected
40
- */
41
- if ( ( $old_interval != $new_interval ) && !$instapay && $new_interval != 'manual' ) {
42
- WCV_Cron::remove_cron_schedule( $options );
43
- WCV_Cron::schedule_cron( $new_interval );
44
- }
45
-
46
- if ( $new_interval == 'manual' || $instapay ) {
47
- WCV_Cron::remove_cron_schedule( $options );
48
- }
49
-
50
- }
51
-
52
-
53
- /**
54
- * Check if the user chose "Now" on the Schedule settings
55
- *
56
- * @param array $options
57
- *
58
- * @return array
59
- */
60
- public static function check_schedule_now( $options )
61
- {
62
- $old_schedule = WC_Vendors::$pv_options->get_option( 'schedule' );
63
- $new_schedule = $options[ 'schedule' ];
64
-
65
- if ( $new_schedule == 'now' ) {
66
- $return = WCV_Cron::pay_now();
67
- $options[ 'schedule' ] = $old_schedule;
68
- WCV_Cron::schedule_cron( $old_schedule );
69
- add_settings_error( WC_Vendors::$pv_options->id, 'save_options', $return[ 'message' ], $return[ 'status' ] );
70
- }
71
-
72
- return $options;
73
- }
74
-
75
-
76
- /**
77
- * Pay all outstanding commission using Paypal Mass Pay
78
- *
79
- * @return array
80
- */
81
- public static function pay_now()
82
- {
83
- $mass_pay = new WCV_Mass_Pay;
84
- $mass_pay = $mass_pay->do_payments();
85
-
86
- $message = !empty( $mass_pay[ 'total' ] )
87
- ? $mass_pay[ 'msg' ] . '<br/>' . sprintf( __( 'Payment total: %s', 'wcvendors' ), woocommerce_price( $mass_pay[ 'total' ] ) )
88
- : $mass_pay[ 'msg' ];
89
-
90
- return array(
91
- 'message' => $message,
92
- 'status' => $mass_pay[ 'status' ]
93
- );
94
- }
95
-
96
-
97
- /**
98
- * Remove the mass payments schedule
99
- *
100
- * @return bool
101
- */
102
- private static function remove_cron_schedule()
103
- {
104
- $timestamp = wp_next_scheduled( 'pv_schedule_mass_payments' );
105
-
106
- return wp_unschedule_event( $timestamp, 'pv_schedule_mass_payments' );
107
- }
108
-
109
-
110
- /**
111
- * Schedule a cron event on a specified interval
112
- *
113
- * @param string $interval
114
- *
115
- * @return bool
116
- */
117
- public static function schedule_cron( $interval )
118
- {
119
- // Scheduled event
120
- add_action( 'pv_schedule_mass_payments', array( 'WCV_Cron', 'pay_now' ) );
121
-
122
- // Schedule the event
123
- if ( !wp_next_scheduled( 'pv_schedule_mass_payments' ) ) {
124
- wp_schedule_event( time(), $interval, 'pv_schedule_mass_payments' );
125
-
126
- return true;
127
- }
128
-
129
- return false;
130
- }
131
-
132
-
133
- /**
134
- * Add new schedule intervals to WP
135
- *
136
- * Weekly
137
- * Biweekly
138
- * Monthly
139
- *
140
- * @param array $schedules
141
- *
142
- * @return array
143
- */
144
- public static function custom_cron_intervals( $schedules )
145
- {
146
- $schedules[ 'weekly' ] = array(
147
- 'interval' => 604800,
148
- 'display' => __( 'Once Weekly' )
149
- );
150
-
151
- $schedules[ 'biweekly' ] = array(
152
- 'interval' => 1209600,
153
- 'display' => __( 'Once every two weeks' )
154
- );
155
-
156
- $schedules[ 'monthly' ] = array(
157
- 'interval' => 2635200,
158
- 'display' => __( 'Once a month' )
159
- );
160
-
161
- return $schedules;
162
- }
163
-
164
-
165
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/class-install.php DELETED
@@ -1,285 +0,0 @@
1
- <?php
2
- /**
3
- * Install class on activation.
4
- *
5
- * @author Matt Gates <http://mgates.me>
6
- * @package ProductVendor
7
- */
8
-
9
-
10
- class WCV_Install
11
- {
12
-
13
- /**
14
- * Checks if install is requierd
15
- *
16
- * @return unknown
17
- */
18
- public function init()
19
- {
20
- $db_version = WC_Vendors::$pv_options->get_option( 'db_version' );
21
-
22
- // 1.0 install
23
- if ( version_compare( $db_version, '1.0', '<' ) ) {
24
- $this->install_prdtvendor();
25
- WC_Vendors::$pv_options->update_option( 'db_version', '1.4.2' );
26
- }
27
-
28
- // 1.0.1 allows vendors to upload roles
29
- if ( version_compare( $db_version, '1.0.1', '<' ) ) {
30
- $this->add_new_roles();
31
- WC_Vendors::$pv_options->update_option( 'db_version', '1.0.1' );
32
- }
33
-
34
- // 1.3.0 add a 'vendor dashboard' page
35
- if ( version_compare( $db_version, '1.3.0', '<' ) ) {
36
- $this->create_new_pages();
37
- WC_Vendors::$pv_options->update_option( 'db_version', '1.3.0' );
38
- }
39
-
40
- // 1.3.2 adds 'qty' to the pv_commission table
41
- if ( version_compare( $db_version, '1.3.2', '<' ) ) {
42
- $this->update_to( '1.3.2' );
43
- WC_Vendors::$pv_options->update_option( 'db_version', '1.3.2' );
44
- }
45
-
46
- // 1.4.0 adds 'pending_vendor' role
47
- if ( version_compare( $db_version, '1.4.0', '<' ) ) {
48
- $this->update_to( '1.4.0' );
49
- WC_Vendors::$pv_options->update_option( 'db_version', '1.4.0' );
50
- flush_rewrite_rules();
51
- }
52
-
53
- if ( version_compare( $db_version, '1.4.2', '<' ) ) {
54
- $this->update_to( '1.4.2' );
55
- WC_Vendors::$pv_options->update_option( 'db_version', '1.4.2' );
56
- }
57
-
58
- if ( version_compare( $db_version, '1.4.3', '<' ) ) {
59
- $this->update_to( '1.4.3' );
60
- WC_Vendors::$pv_options->update_option( 'db_version', '1.4.3' );
61
- }
62
-
63
- if ( version_compare( $db_version, '1.4.5', '<' ) ) {
64
- $this->update_to( '1.4.5' );
65
- WC_Vendors::$pv_options->update_option( 'db_version', '1.4.5' );
66
- }
67
-
68
- }
69
-
70
-
71
- /**
72
- * Grouped functions for installing the Product Vendor plugin
73
- */
74
- private function install_prdtvendor()
75
- {
76
- // Clear the cron
77
- wp_clear_scheduled_hook( 'pv_schedule_mass_payments' );
78
-
79
- // Add the vendors role
80
- $this->add_new_roles();
81
-
82
- // Create tables
83
- $this->create_new_tables();
84
-
85
- // Create the Orders page if it doesn't exist
86
- $orders_page = WC_Vendors::$pv_options->get_option( 'orders_page' );
87
- if ( empty( $orders_page ) ) $this->create_new_pages();
88
- }
89
-
90
-
91
- /**
92
- * Add the new Vendor role
93
- *
94
- * @return bool
95
- */
96
- private function add_new_roles()
97
- {
98
- remove_role( 'pending_vendor' );
99
- add_role( 'pending_vendor', __( 'Pending Vendor', 'wcvendors' ), array(
100
- 'read' => true,
101
- 'edit_posts' => false,
102
- 'delete_posts' => false
103
- ) );
104
-
105
- remove_role( 'vendor' );
106
- add_role( 'vendor', 'Vendor', array(
107
- 'assign_product_terms' => true,
108
- 'edit_products' => true,
109
- 'edit_published_products' => false,
110
- 'manage_product' => true,
111
- 'publish_products' => false,
112
- 'read' => true,
113
- 'upload_files' => true,
114
- 'view_woocommerce_reports' => true,
115
- ) );
116
- }
117
-
118
-
119
- /**
120
- * Create the pv_commission table
121
- */
122
- private function create_new_tables()
123
- {
124
- global $wpdb;
125
-
126
- $table_name = $wpdb->prefix . "pv_commission";
127
- require_once ABSPATH . 'wp-admin/includes/upgrade.php';
128
-
129
- $sql = "CREATE TABLE $table_name (
130
- id bigint(20) NOT NULL AUTO_INCREMENT,
131
- product_id bigint(20) NOT NULL,
132
- order_id bigint(20) NOT NULL,
133
- vendor_id bigint(20) NOT NULL,
134
- total_due decimal(20,2) NOT NULL,
135
- qty BIGINT( 20 ) NOT NULL,
136
- total_shipping decimal(20,2) NOT NULL,
137
- tax decimal(20,2) NOT NULL,
138
- status varchar(20) NOT NULL DEFAULT 'due',
139
- time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
140
- UNIQUE KEY id (id)
141
- );";
142
- dbDelta( $sql );
143
- }
144
-
145
-
146
- /**
147
- * Create a page
148
- *
149
- * @access public
150
- * @return void
151
- *
152
- * @param mixed $slug Slug for the new page
153
- * @param mixed $option Option name to store the page's ID
154
- * @param string $page_title (optional) (default: '') Title for the new page
155
- * @param string $page_content (optional) (default: '') Content for the new page
156
- * @param int $post_parent (optional) (default: 0) Parent for the new page
157
- */
158
- function create_page( $slug, $page_title = '', $page_content = '', $post_parent = 0 )
159
- {
160
- global $wpdb;
161
-
162
- $page_id = WC_Vendors::$pv_options->get_option( $slug . '_page' );
163
-
164
- if ( $page_id > 0 && get_post( $page_id ) ) {
165
- return $page_id;
166
- }
167
-
168
- $page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM " . $wpdb->posts . " WHERE post_name = %s LIMIT 1;", $slug ) );
169
- if ( $page_found ) {
170
- if ( !$page_id ) {
171
- WC_Vendors::$pv_options->update_option( $slug . '_page', $page_found );
172
-
173
- return $page_found;
174
- }
175
-
176
- return $page_id;
177
- }
178
-
179
- $page_data = array(
180
- 'post_status' => 'publish',
181
- 'post_type' => 'page',
182
- 'post_author' => 1,
183
- 'post_name' => $slug,
184
- 'post_title' => $page_title,
185
- 'post_content' => $page_content,
186
- 'post_parent' => $post_parent,
187
- 'comment_status' => 'closed'
188
- );
189
-
190
- $page_id = wp_insert_post( $page_data );
191
- WC_Vendors::$pv_options->update_option( $slug . '_page', $page_id );
192
-
193
- return $page_id;
194
- }
195
-
196
-
197
- /**
198
- * Create the Orders page for the frontend
199
- */
200
- private function create_new_pages()
201
- {
202
- global $wpdb;
203
-
204
- $vendor_page_id = $this->create_page( 'vendor_dashboard', __( 'Vendor Dashboard', 'wcvendors' ), '[wcv_vendor_dashboard]' );
205
- $this->create_page( 'orders', __( 'Orders', 'wcvendors' ), '[wcv_orders]', $vendor_page_id );
206
- $this->create_page( 'shop_settings', __( 'Shop Settings', 'wcvendors' ), '[wcv_shop_settings]', $vendor_page_id );
207
- }
208
-
209
-
210
- /**
211
- *
212
- *
213
- * @param unknown $version
214
- */
215
- public function update_to( $version )
216
- {
217
- global $wpdb;
218
-
219
- $table_name = $wpdb->prefix . "pv_commission";
220
-
221
- switch ( $version ) {
222
-
223
- case '1.3.2':
224
-
225
- $sql = "ALTER TABLE `{$table_name}` ADD `qty` BIGINT( 20 ) NOT NULL AFTER `total_due`";
226
- $wpdb->query( $sql );
227
-
228
- $sql = "SELECT * FROM `{$table_name}`";
229
- $results = $wpdb->get_results( $sql );
230
- foreach ( $results as $key => $value ) {
231
-
232
- $order = new WC_Order( $value->order_id );
233
-
234
- foreach ( $order->get_items() as $o_key => $o_value ) {
235
-
236
- if ( $value->product_id == $o_value[ 'product_id' ] || ( !empty( $o_value[ 'variation_id' ] ) && $value->product_id == $o_value[ 'variation_id' ] ) ) {
237
- $wpdb->update(
238
- $table_name,
239
- array( 'qty' => $o_value[ 'qty' ] ),
240
- array( 'id' => $value->id ),
241
- array( '%d' ),
242
- array( '%d' )
243
- );
244
- }
245
- }
246
-
247
- }
248
-
249
- break;
250
-
251
- case '1.4.0':
252
-
253
- add_role( 'pending_vendor', __( 'Pending Vendor', 'wcvendors' ), array(
254
- 'read' => true,
255
- 'edit_posts' => false,
256
- 'delete_posts' => false
257
- ) );
258
-
259
- $this->create_new_pages();
260
-
261
- break;
262
-
263
- case '1.4.2':
264
-
265
- $sql = "ALTER TABLE `{$table_name}` ADD `total_shipping` decimal(20,2) NOT NULL AFTER `total_due`";
266
- $wpdb->query( $sql );
267
-
268
- case '1.4.3':
269
-
270
- $sql = "ALTER TABLE `{$table_name}` ADD `tax` decimal(20,2) NOT NULL AFTER `total_shipping`";
271
- $wpdb->query( $sql );
272
-
273
- case '1.4.5':
274
-
275
- // Flush rules to fix the /page/2/ issue on vendor shop pages
276
- update_option( WC_Vendors::$id . '_flush_rules', true );
277
-
278
- default:
279
- // code...
280
- break;
281
- }
282
- }
283
-
284
-
285
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/class-queries.php DELETED
@@ -1,278 +0,0 @@
1
- <?php
2
-
3
- class WCV_Queries
4
- {
5
-
6
- /**
7
- *
8
- *
9
- * @param unknown $user_id
10
- *
11
- * @return unknown
12
- */
13
-
14
-
15
- public static function get_commission_products( $user_id )
16
- {
17
- global $wpdb;
18
-
19
- $dates = WCV_Queries::orders_within_range();
20
- $vendor_products = array();
21
-
22
- $results = $wpdb->get_results( "
23
- SELECT product_id
24
- FROM {$wpdb->prefix}pv_commission
25
- WHERE vendor_id = {$user_id}
26
- AND time >= '" . $dates[ 'after' ] . "'
27
- AND time <= '" . $dates[ 'before' ] . "'
28
- AND status != 'reversed'
29
- GROUP BY product_id" );
30
-
31
- foreach ( $results as $value ) {
32
- $ids[ ] = $value->product_id;
33
- }
34
-
35
- if ( !empty( $ids ) ) {
36
- $vendor_products = get_posts( array(
37
- 'numberposts' => -1,
38
- 'orderby' => 'post_date',
39
- 'post_type' => array( 'product', 'product_variation' ),
40
- 'order' => 'DESC',
41
- 'include' => $ids
42
- )
43
- );
44
- }
45
-
46
- return $vendor_products;
47
- }
48
-
49
- /**
50
- *
51
- *
52
- * @param unknown $order_id
53
- *
54
- * @return unknown
55
- */
56
-
57
-
58
- public static function get_products_for_order( $order_id )
59
- {
60
- global $wpdb;
61
-
62
- $vendor_products = array();
63
-
64
- $results = $wpdb->get_results( "
65
- SELECT product_id
66
- FROM {$wpdb->prefix}pv_commission
67
- WHERE order_id = {$order_id}
68
- AND status != 'reversed'
69
- AND vendor_id = " . get_current_user_id() . "
70
- GROUP BY product_id" );
71
-
72
- foreach ( $results as $value ) {
73
- $ids[ ] = $value->product_id;
74
- }
75
-
76
- return $ids;
77
- }
78
-
79
-
80
- /**
81
- * All orders for a specific product
82
- *
83
- * @param array $product_ids
84
- * @param array $args (optional)
85
- *
86
- * @return object
87
- */
88
- public static function get_orders_for_products( array $product_ids, array $args = array() )
89
- {
90
- global $wpdb;
91
-
92
- if ( empty( $product_ids ) ) return false;
93
-
94
- $dates = WCV_Queries::orders_within_range();
95
-
96
- $defaults = array(
97
- 'status' => apply_filters( 'wcvendors_completed_statuses', array( 'completed', 'processing' ) ),
98
- 'dates' => array( 'before' => $dates[ 'before' ], 'after' => $dates[ 'after' ] ),
99
- );
100
-
101
- $args = wp_parse_args( $args, $defaults );
102
-
103
-
104
- $sql = "
105
- SELECT order_id
106
- FROM {$wpdb->prefix}pv_commission as order_items
107
- WHERE product_id IN ('" . implode( "','", $product_ids ) . "')
108
- AND time >= '" . $args[ 'dates' ][ 'after' ] . "'
109
- AND time <= '" . $args[ 'dates' ][ 'before' ] . "'
110
- AND status != 'reversed'
111
- ";
112
-
113
- if ( !empty( $args[ 'vendor_id' ] ) ) {
114
- $sql .= "
115
- AND vendor_id = {$args['vendor_id']}
116
- ";
117
- }
118
-
119
- $sql .= "
120
- GROUP BY order_id
121
- ORDER BY time DESC
122
- ";
123
-
124
- $orders = $wpdb->get_results( $sql );
125
-
126
- return $orders;
127
- }
128
-
129
-
130
- /**
131
- * Sum of orders for a specific product
132
- *
133
- * @param array $product_ids
134
- * @param array $args (optional)
135
- *
136
- * @return object
137
- */
138
- public static function sum_orders_for_products( array $product_ids, array $args = array() )
139
- {
140
- global $wpdb;
141
-
142
- $dates = WCV_Queries::orders_within_range();
143
-
144
- $defaults = array(
145
- 'status' => apply_filters( 'wcvendors_completed_statuses', array( 'completed', 'processing' ) ),
146
- 'dates' => array( 'before' => $dates[ 'before' ], 'after' => $dates[ 'after' ] ),
147
- );
148
-
149
- foreach ( $product_ids as $id ) {
150
- $posts = get_posts( array(
151
- 'numberposts' => -1,
152
- 'post_type' => 'product_variation',
153
- 'post_parent' => $id,
154
- )
155
- );
156
-
157
- if ( !empty( $posts ) ) {
158
- foreach ( $posts as $post ) {
159
- $product_ids[ ] = $post->ID;
160
- }
161
- }
162
- }
163
-
164
- $args = wp_parse_args( $args, $defaults );
165
-
166
- $sql = "
167
- SELECT COUNT(order_id) as total_orders,
168
- SUM(total_due + total_shipping + tax) as line_total,
169
- SUM(qty) as qty,
170
- product_id
171
-
172
- FROM {$wpdb->prefix}pv_commission
173
-
174
- WHERE product_id IN ('" . implode( "','", $product_ids ) . "')
175
- AND time >= '" . $args[ 'dates' ][ 'after' ] . "'
176
- AND time <= '" . $args[ 'dates' ][ 'before' ] . "'
177
- AND status != 'reversed'
178
- ";
179
-
180
- if ( !empty( $args[ 'vendor_id' ] ) ) {
181
- $sql .= "
182
- AND vendor_id = {$args['vendor_id']}
183
- ";
184
- }
185
-
186
- $sql .= "
187
- GROUP BY product_id
188
- ORDER BY time DESC;
189
- ";
190
-
191
- $orders = $wpdb->get_results( $sql );
192
-
193
- return $orders;
194
- }
195
-
196
-
197
- /**
198
- * Sum of orders for a specific order
199
- *
200
- * @param array $order_ids
201
- * @param array $args (optional)
202
- *
203
- * @return object
204
- */
205
- public static function sum_for_orders( array $order_ids, array $args = array() )
206
- {
207
- global $wpdb;
208
-
209
- $dates = WCV_Queries::orders_within_range();
210
-
211
- $defaults = array(
212
- 'status' => apply_filters( 'wcvendors_completed_statuses', array( 'completed', 'processing' ) ),
213
- 'dates' => array( 'before' => $dates[ 'before' ], 'after' => $dates[ 'after' ] ),
214
- );
215
-
216
- $args = wp_parse_args( $args, $defaults );
217
-
218
- $sql = "
219
- SELECT COUNT(order_id) as total_orders,
220
- SUM(total_due + total_shipping + tax) as line_total,
221
- SUM(qty) as qty,
222
- product_id
223
-
224
- FROM {$wpdb->prefix}pv_commission
225
-
226
- WHERE order_id IN ('" . implode( "','", $order_ids ) . "')
227
- AND time >= '" . $args[ 'dates' ][ 'after' ] . "'
228
- AND time <= '" . $args[ 'dates' ][ 'before' ] . "'
229
- AND status != 'reversed'
230
- ";
231
-
232
- if ( !empty( $args[ 'vendor_id' ] ) ) {
233
- $sql .= "
234
- AND vendor_id = {$args['vendor_id']}
235
- ";
236
- }
237
-
238
- $sql .= "
239
- GROUP BY order_id
240
- ORDER BY time DESC;
241
- ";
242
-
243
- $orders = $wpdb->get_results( $sql );
244
-
245
- return $orders;
246
- }
247
-
248
-
249
- /**
250
- * Orders for range filter function
251
- *
252
- * @return array
253
- */
254
- public static function orders_within_range()
255
- {
256
- global $start_date, $end_date;
257
-
258
- $start_date = !empty( $_SESSION[ 'PV_Session' ][ 'start_date' ] ) ? $_SESSION[ 'PV_Session' ][ 'start_date' ] : strtotime( date( 'Ymd', strtotime( date( 'Ym', current_time( 'timestamp' ) ) . '01' ) ) );
259
- $end_date = !empty( $_SESSION[ 'PV_Session' ][ 'end_date' ] ) ? $_SESSION[ 'PV_Session' ][ 'end_date' ] : strtotime( date( 'Ymd', current_time( 'timestamp' ) ) );
260
-
261
- if ( !empty( $_POST[ 'start_date' ] ) ) {
262
- $start_date = strtotime( $_POST[ 'start_date' ] );
263
- $_SESSION[ 'PV_Session' ][ 'start_date' ] = $start_date;
264
- }
265
-
266
- if ( !empty( $_POST[ 'end_date' ] ) ) {
267
- $end_date = strtotime( $_POST[ 'end_date' ] );
268
- $_SESSION[ 'PV_Session' ][ 'end_date' ] = $end_date;
269
- }
270
-
271
- $after = date( 'Y-m-d', $start_date );
272
- $before = date( 'Y-m-d', strtotime( '+1 day', $end_date ) );
273
-
274
- return array( 'after' => $after, 'before' => $before );
275
- }
276
-
277
-
278
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/class-shipping.php DELETED
@@ -1,250 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Shipping functions
5
- *
6
- * @author Matt Gates <http://mgates.me>, WC Vendors <http://wcvendors.com>
7
- * @package ProductVendor
8
- */
9
-
10
-
11
- class WCV_Shipping
12
- {
13
- public static $trs2_shipping_rates;
14
- public static $trs2_shipping_calc_type;
15
- public static $pps_shipping_costs = array();
16
-
17
-
18
- /**
19
- * Constructor
20
- */
21
- function __construct()
22
- {
23
- // Table Rate Shipping 2 by WooThemes
24
- if ( function_exists( 'woocommerce_get_shipping_method_table_rate' ) ) {
25
- add_action( 'wp', array( $this, 'trs2_clear_transients' ) );
26
- add_action( 'woocommerce_checkout_update_order_meta', array( 'WCV_Shipping', 'trs2_add_shipping_data' ), 1, 2 );
27
- add_action( 'wc_trs2_matched_rates', array( 'WCV_Shipping', 'trs2_store_shipping_data' ), 10, 3 );
28
- }
29
- }
30
-
31
-
32
- /**
33
- *
34
- *
35
- * @param unknown $order_id
36
- * @param unknown $product
37
- * @param unknown $author
38
- *
39
- * @return unknown
40
- */
41
- public static function get_shipping_due( $order_id, $product, $author )
42
- {
43
- global $woocommerce;
44
-
45
- $shipping_due = 0;
46
- $method = '';
47
- $_product = get_product( $product[ 'product_id' ] );
48
- $order = wc_get_order( $order_id );
49
-
50
- if ( $_product && $_product->needs_shipping() && !$_product->is_downloadable() ) {
51
-
52
- // Get Shipping methods.
53
- $shipping_methods = $order->get_shipping_methods();
54
-
55
- // TODO: Currently this only allows one shipping method per order, this definitely needs changing
56
- foreach ($shipping_methods as $shipping_method) {
57
- $method = $shipping_method['method_id'];
58
- break;
59
- }
60
-
61
- // Table Rate Shipping 2
62
- if ( strstr( $method, 'table_rate' ) !== false ) {
63
- // $shipping_due = WCV_Shipping::trs2_get_due( $order_id, $product[ 'product_id' ] );
64
-
65
- // Per Product Shipping 2
66
- } else if ( function_exists( 'woocommerce_per_product_shipping' ) && $method == 'per_product' ) {
67
- $shipping_due = WCV_Shipping::pps_get_due( $order_id, $product );
68
-
69
- // Local Delivery
70
- } else if ( $method == 'local_delivery' ) {
71
- $local_delivery = get_option( 'woocommerce_local_delivery_settings' );
72
-
73
- if ( $local_delivery[ 'type' ] == 'product' ) {
74
- $shipping_due = $product[ 'qty' ] * $local_delivery[ 'fee' ];
75
- }
76
-
77
- // International Delivery
78
- } else if ( $method == 'international_delivery' ) {
79
- $int_delivery = get_option( 'woocommerce_international_delivery_settings' );
80
-
81
- if ( $int_delivery[ 'type' ] == 'item' ) {
82
- $WC_Shipping_International_Delivery = new WC_Shipping_International_Delivery();
83
- $fee = $WC_Shipping_International_Delivery->get_fee( $int_delivery[ 'fee' ], $_product->get_price() );
84
- $shipping_due = ( $int_delivery[ 'cost' ] + $fee ) * $product[ 'qty' ];
85
- }
86
-
87
- }
88
- }
89
-
90
- $shipping_due = apply_filters( 'wcvendors_shipping_due', $shipping_due, $order_id, $product );
91
-
92
- return $shipping_due;
93
- }
94
-
95
-
96
- /**
97
- *
98
- *
99
- * @param unknown $order_id
100
- * @param unknown $product
101
- *
102
- * @return unknown
103
- */
104
- public function pps_get_due( $order_id, $product )
105
- {
106
- global $woocommerce;
107
-
108
- $item_shipping_cost = 0;
109
-
110
- $order = new WC_Order( $order_id );
111
- $package[ 'destination' ][ 'country' ] = $order->shipping_country;
112
- $package[ 'destination' ][ 'state' ] = $order->shipping_state;
113
- $package[ 'destination' ][ 'postcode' ] = $order->shipping_postcode;
114
- $product_id = !empty( $product['variation_id'] ) ? $product['variation_id'] : $product['product_id'];
115
-
116
- if ( !empty( $product['variation_id'] ) ) {
117
- $rule = woocommerce_per_product_shipping_get_matching_rule( $product['variation_id'], $package );
118
- }
119
-
120
- if ( empty( $rule ) ) {
121
- $rule = woocommerce_per_product_shipping_get_matching_rule( $product['product_id'], $package );
122
- }
123
-
124
- if ( !empty( $rule ) ) {
125
- $item_shipping_cost += $rule->rule_item_cost * $product[ 'qty' ];
126
-
127
- if ( !empty(self::$pps_shipping_costs[$order_id]) && ! in_array( $rule->rule_id, self::$pps_shipping_costs[$order_id] ) ) {
128
- $item_shipping_cost += $rule->rule_cost;
129
- } else if ( empty( self::$pps_shipping_costs[$order_id] ) ) {
130
- $item_shipping_cost += $rule->rule_cost;
131
- }
132
-
133
- self::$pps_shipping_costs[$order_id][] = $rule->rule_id;
134
- }
135
-
136
- return $item_shipping_cost;
137
- }
138
-
139
-
140
- /**
141
- *
142
- */
143
- public function trs2_clear_transients()
144
- {
145
- global $woocommerce;
146
-
147
- if ( is_checkout() ) {
148
- $woocommerce->clear_product_transients();
149
- }
150
- }
151
-
152
-
153
- /**
154
- *
155
- *
156
- * @param unknown $order_id
157
- * @param unknown $product_id
158
- *
159
- * @return unknown
160
- */
161
- public function trs2_get_due( $order_id, $product_id )
162
- {
163
- if ( !function_exists( 'woocommerce_get_shipping_method_table_rate' ) ) return;
164
-
165
- $shipping_due = 0;
166
-
167
- WCV_Shipping::trs2_retrieve_shipping_data( $order_id );
168
- if ( !empty( WCV_Shipping::$trs2_shipping_calc_type ) ) {
169
-
170
- $ship_id = ( WCV_Shipping::$trs2_shipping_calc_type == 'class' ) ? get_product( $product_id )->get_shipping_class_id() : $product_id;
171
-
172
- if ( !empty( WCV_Shipping::$trs2_shipping_rates[ $ship_id ] ) ) {
173
- $shipping_due = WCV_Shipping::$trs2_shipping_rates[ $ship_id ];
174
- unset( WCV_Shipping::$trs2_shipping_rates[ $ship_id ] );
175
- }
176
- }
177
-
178
- return $shipping_due;
179
- }
180
-
181
-
182
- /**
183
- *
184
- *
185
- * @param unknown $order_id
186
- */
187
- public function trs2_retrieve_shipping_data( $order_id )
188
- {
189
- global $woocommerce;
190
-
191
- if ( !empty( WCV_Shipping::$trs2_shipping_rates ) ) return;
192
-
193
- WCV_Shipping::$trs2_shipping_rates = array_filter( (array) get_post_meta( $order_id, '_wcvendors_trs2_shipping_rates', true ) );
194
- WCV_Shipping::$trs2_shipping_calc_type = get_post_meta( $order_id, '_wcvendors_trs2_shipping_calc_type', true );
195
- }
196
-
197
-
198
- /**
199
- *
200
- *
201
- * @param unknown $type
202
- * @param unknown $rates
203
- * @param unknown $per_item
204
- */
205
- public function trs2_store_shipping_data( $type, $rates, $per_item )
206
- {
207
- global $woocommerce;
208
-
209
- $types = (array) $woocommerce->session->trs2_shipping_class_type;
210
- $types[ ] = $type;
211
- $woocommerce->session->trs2_shipping_class_type = $types;
212
-
213
- $items = (array) $woocommerce->session->trs2_shipping_rates;
214
- $items[ ] = $per_item;
215
- $woocommerce->session->trs2_shipping_rates = $items;
216
- }
217
-
218
-
219
- /**
220
- *
221
- *
222
- * @param unknown $order_id
223
- * @param unknown $post
224
- *
225
- * @return unknown
226
- */
227
- public function trs2_add_shipping_data( $order_id, $post )
228
- {
229
- global $woocommerce;
230
-
231
- if ( empty( $woocommerce->session->trs2_shipping_rates ) ) {
232
- return false;
233
- }
234
-
235
- $order = new WC_Order( $order_id );
236
-
237
- foreach ( $woocommerce->session->trs2_shipping_rates as $key => $shipping_rates ) {
238
-
239
- if ( is_array( $shipping_rates ) && array_sum( $shipping_rates ) == $order->order_shipping ) {
240
- $shipping_calc_type = $woocommerce->session->trs2_shipping_class_type[ $key ];
241
- update_post_meta( $order_id, '_wcvendors_trs2_shipping_rates', $shipping_rates );
242
- update_post_meta( $order_id, '_wcvendors_trs2_shipping_calc_type', $shipping_calc_type );
243
-
244
- break;
245
- }
246
- }
247
-
248
- unset( $woocommerce->session->trs2_shipping_rates, $woocommerce->session->trs2_shipping_class_type );
249
- }
250
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/class-vendors.php DELETED
@@ -1,413 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Vendor functions
5
- *
6
- * @author Matt Gates <http://mgates.me>, WC Vendors <http://wcvendors.com>
7
- * @package WCVendors
8
- */
9
-
10
-
11
- class WCV_Vendors
12
- {
13
-
14
- /**
15
- * Retrieve all products for a vendor
16
- *
17
- * @param int $vendor_id
18
- *
19
- * @return object
20
- */
21
- public static function get_vendor_products( $vendor_id )
22
- {
23
- $args = array(
24
- 'numberposts' => -1,
25
- 'post_type' => 'product',
26
- 'author' => $vendor_id,
27
- 'post_status' => 'publish',
28
- );
29
-
30
- $args = apply_filters( 'pv_get_vendor_products_args', $args );
31
-
32
- return get_posts( $args );
33
- }
34
-
35
- public static function get_default_commission( $vendor_id )
36
- {
37
- return get_user_meta( $vendor_id, 'pv_custom_commission_rate', true );
38
- }
39
-
40
-
41
- /**
42
- * Vendor IDs and PayPal addresses from an order
43
- *
44
- * @param object $order
45
- * @param unknown $items (optional)
46
- *
47
- * @return array
48
- */
49
- public static function get_vendors_from_order( $order, $items = false )
50
- {
51
- if ( !$order ) return;
52
- if ( !$items ) $items = $order->get_items();
53
-
54
- $vendors = array();
55
- foreach ( $items as $key => $product ) {
56
-
57
- $author = WCV_Vendors::get_vendor_from_product( $product[ 'product_id' ] );
58
-
59
- // Only store the vendor authors
60
- if ( !WCV_Vendors::is_vendor( $author ) ) continue;
61
-
62
- $vendors[ $author ] = the_author_meta( 'author_paypal', $author );
63
- }
64
-
65
- return apply_filters( 'pv_vendors_from_order', $vendors, $order );
66
- }
67
-
68
-
69
- /**
70
- *
71
- *
72
- * @param unknown $order
73
- * @param unknown $group (optional)
74
- *
75
- * @return unknown
76
- */
77
- public static function get_vendor_dues_from_order( $order, $group = true )
78
- {
79
- global $woocommerce;
80
-
81
- $give_tax = WC_Vendors::$pv_options->get_option( 'give_tax' );
82
- $receiver = array();
83
- $shipping_given = 0;
84
- $tax_given = 0;
85
-
86
- WCV_Shipping::$pps_shipping_costs = array();
87
-
88
- foreach ( $order->get_items() as $key => $product ) {
89
-
90
- $product_id = !empty( $product[ 'variation_id' ] ) ? $product[ 'variation_id' ] : $product[ 'product_id' ];
91
- $author = WCV_Vendors::get_vendor_from_product( $product_id );
92
- $is_vendor = WCV_Vendors::is_vendor( $author );
93
- $commission = $is_vendor ? WCV_Commission::calculate_commission( $product[ 'line_subtotal' ], $product_id, $order ) : 0;
94
- $tax = !empty( $product[ 'line_tax' ] ) ? (float) $product[ 'line_tax' ] : 0;
95
- // Check if shipping is enabled
96
- if ( get_option('woocommerce_calc_shipping') === 'no' ) { $shipping = 0; } else {
97
- $shipping = WCV_Shipping::get_shipping_due( $order->id, $product, $author );
98
- }
99
-
100
- if ( $is_vendor ) {
101
-
102
- $shipping_given += $shipping;
103
- $tax_given += $give_tax ? $tax : 0;
104
-
105
- $give = 0;
106
- $give += !empty( $receiver[ $author ][ 'total' ] ) ? $receiver[ $author ][ 'total' ] : 0;
107
- $give += $shipping;
108
- $give += $commission;
109
- $give += $give_tax ? $tax : 0;
110
-
111
- if ( $group ) {
112
-
113
- $receiver[ $author ] = array(
114
- 'vendor_id' => (int) $author,
115
- 'commission' => !empty( $receiver[ $author ][ 'commission' ] ) ? $receiver[ $author ][ 'commission' ] + $commission : $commission,
116
- 'shipping' => !empty( $receiver[ $author ][ 'shipping' ] ) ? $receiver[ $author ][ 'shipping' ] + $shipping : $shipping,
117
- 'tax' => $give_tax ? ( !empty( $receiver[ $author ][ 'tax' ] ) ? $receiver[ $author ][ 'tax' ] + $tax : $tax ) : 0,
118
- 'qty' => !empty( $receiver[ $author ][ 'qty' ] ) ? $receiver[ $author ][ 'qty' ] + $product[ 'qty' ] : $product[ 'qty' ],
119
- 'total' => $give,
120
- );
121
-
122
- } else {
123
-
124
- $receiver[ $author ][ $key ] = array(
125
- 'vendor_id' => (int) $author,
126
- 'product_id' => $product_id,
127
- 'commission' => $commission,
128
- 'shipping' => $shipping,
129
- 'tax' => $give_tax ? $tax : 0,
130
- 'qty' => $product[ 'qty' ],
131
- 'total' => $shipping + $commission + ( $give_tax ? $tax : 0 ),
132
- );
133
-
134
- }
135
-
136
- }
137
-
138
- $admin_comm = $product[ 'line_subtotal' ] - $commission;
139
-
140
- if ( $group ) {
141
- $receiver[ 1 ] = array(
142
- 'vendor_id' => 1,
143
- 'qty' => !empty( $receiver[ 1 ][ 'qty' ] ) ? $receiver[ 1 ][ 'qty' ] + $product[ 'qty' ] : $product[ 'qty' ],
144
- 'commission' => !empty( $receiver[ 1 ][ 'commission' ] ) ? $receiver[ 1 ][ 'commission' ] + $admin_comm : $admin_comm,
145
- 'total' => !empty( $receiver[ 1 ] ) ? $receiver[ 1 ][ 'total' ] + $admin_comm : $admin_comm,
146
- );
147
- } else {
148
- $receiver[ 1 ][ $key ] = array(
149
- 'vendor_id' => 1,
150
- 'product_id' => $product_id,
151
- 'commission' => $admin_comm,
152
- 'shipping' => 0,
153
- 'tax' => 0,
154
- 'qty' => $product[ 'qty' ],
155
- 'total' => $admin_comm,
156
- );
157
- }
158
-
159
- }
160
-
161
- // Add remainders on end to admin
162
- $discount = $order->get_total_discount();
163
- $shipping = ( $order->order_shipping - $shipping_given );
164
- $tax = round(( $order->order_tax + $order->order_shipping_tax ) - $tax_given, 2);
165
- $total = ( $tax + $shipping ) - $discount;
166
-
167
- if ( $group ) {
168
- $receiver[ 1 ][ 'commission' ] = $receiver[ 1 ][ 'commission' ] - $discount;
169
- $receiver[ 1 ][ 'shipping' ] = $shipping;
170
- $receiver[ 1 ][ 'tax' ] = $tax;
171
- $receiver[ 1 ][ 'total' ] += $total;
172
- } else {
173
- $receiver[ 1 ][ $key ][ 'commission' ] = $receiver[ 1 ][ $key ][ 'commission' ] - $discount;
174
- $receiver[ 1 ][ $key ][ 'shipping' ] = ( $order->order_shipping - $shipping_given );
175
- $receiver[ 1 ][ $key ][ 'tax' ] = $tax;
176
- $receiver[ 1 ][ $key ][ 'total' ] += $total;
177
- }
178
-
179
- // Reset the array keys
180
- // $receivers = array_values( $receiver );
181
-
182
- return $receiver;
183
- }
184
-
185
-
186
- /**
187
- * Return the PayPal address for a vendor
188
- *
189
- * If no PayPal is set, it returns the vendor's email
190
- *
191
- * @param int $vendor_id
192
- *
193
- * @return string
194
- */
195
- public static function get_vendor_paypal( $vendor_id )
196
- {
197
- $paypal = get_user_meta( $vendor_id, $meta_key = 'pv_paypal', true );
198
- $paypal = !empty( $paypal ) ? $paypal : get_the_author_meta( 'user_email', $vendor_id, false );
199
-
200
- return $paypal;
201
- }
202
-
203
-
204
- /**
205
- * Check if a vendor has an amount due for an order already
206
- *
207
- * @param int $vendor_id
208
- * @param int $order_id
209
- *
210
- * @return int
211
- */
212
- public static function count_due_by_vendor( $vendor_id, $order_id )
213
- {
214
- global $wpdb;
215
-
216
- $table_name = $wpdb->prefix . "pv_commission";
217
-
218
- $query = "SELECT COUNT(*)
219
- FROM {$table_name}
220
- WHERE vendor_id = %s
221
- AND order_id = %s
222
- AND status = %s";
223
- $count = $wpdb->get_var( $wpdb->prepare( $query, $vendor_id, $order_id, 'due' ) );
224
-
225
- return $count;
226
- }
227
-
228
-
229
- /**
230
- * All commission due for a specific vendor
231
- *
232
- * @param int $vendor_id
233
- *
234
- * @return int
235
- */
236
- public static function get_due_orders_by_vendor( $vendor_id )
237
- {
238
- global $wpdb;
239
-
240
- $table_name = $wpdb->prefix . "pv_commission";
241
-
242
- $query = "SELECT *
243
- FROM {$table_name}
244
- WHERE vendor_id = %s
245
- AND status = %s";
246
- $results = $wpdb->get_results( $wpdb->prepare( $query, $vendor_id, 'due' ) );
247
-
248
- return $results;
249
- }
250
-
251
-
252
- /**
253
- *
254
- *
255
- * @param unknown $product_id
256
- *
257
- * @return unknown
258
- */
259
- public static function get_vendor_from_product( $product_id )
260
- {
261
- $parent = get_post_ancestors( $product_id );
262
- if ( $parent ) $product_id = $parent[ 0 ];
263
-
264
- $post = get_post( $product_id );
265
- $author = $post ? $post->post_author : 1;
266
- $author = apply_filters( 'pv_product_author', $author, $product_id );
267
-
268
- return $author;
269
- }
270
-
271
-
272
- /**
273
- * Checks whether the ID provided is vendor capable or not
274
- *
275
- * @param int $user_id
276
- *
277
- * @return bool
278
- */
279
- public static function is_vendor( $user_id )
280
- {
281
- $user = get_userdata( $user_id );
282
-
283
- $role = !empty( $user->roles ) ? array_shift( $user->roles ) : false;
284
- $is_vendor = $role == 'vendor';
285
-
286
- return apply_filters( 'pv_is_vendor', $is_vendor, $user_id );
287
- }
288
-
289
-
290
- /**
291
- * Grabs the vendor ID whether a username or an int is provided
292
- * and returns the vendor_id if it's actually a vendor
293
- *
294
- * @param unknown $input
295
- *
296
- * @return unknown
297
- */
298
- public static function get_vendor_id( $input )
299
- {
300
- if ( empty( $input ) ) {
301
- return false;
302
- }
303
-
304
- $users = get_users( array( 'meta_key' => 'pv_shop_slug', 'meta_value' => sanitize_title( $input ) ) );
305
-
306
- if ( !empty( $users ) && count( $users ) == 1 ) {
307
- $vendor = $users[ 0 ];
308
- } else {
309
- $int_vendor = is_numeric( $input );
310
- $vendor = !empty( $int_vendor ) ? get_userdata( $input ) : get_user_by( 'login', $input );
311
- }
312
-
313
- if ( $vendor ) {
314
- $vendor_id = $vendor->ID;
315
- if ( self::is_vendor( $vendor_id ) ) {
316
- return $vendor_id;
317
- }
318
- }
319
-
320
- return false;
321
- }
322
-
323
-
324
- /**
325
- * Retrieve the shop page for a specific vendor
326
- *
327
- * @param unknown $vendor_id
328
- *
329
- * @return string
330
- */
331
- public static function get_vendor_shop_page( $vendor_id )
332
- {
333
- $vendor_id = self::get_vendor_id( $vendor_id );
334
- if ( !$vendor_id ) return;
335
-
336
- $slug = get_user_meta( $vendor_id, 'pv_shop_slug', true );
337
- $vendor = !$slug ? get_userdata( $vendor_id )->user_login : $slug;
338
-
339
- if ( get_option( 'permalink_structure' ) ) {
340
- $permalink = trailingslashit( WC_Vendors::$pv_options->get_option( 'vendor_shop_permalink' ) );
341
-
342
- return trailingslashit( home_url( sprintf( '/%s%s', $permalink, $vendor ) ) );
343
- } else {
344
- return add_query_arg( array( 'vendor_shop' => $vendor ), get_post_type_archive_link( 'product' ) );
345
- }
346
- }
347
-
348
-
349
- /**
350
- * Retrieve the shop name for a specific vendor
351
- *
352
- * @param unknown $vendor_id
353
- *
354
- * @return string
355
- */
356
- public static function get_vendor_shop_name( $vendor_id )
357
- {
358
- $vendor_id = self::get_vendor_id( $vendor_id );
359
- $name = $vendor_id ? get_user_meta( $vendor_id, 'pv_shop_name', true ) : false;
360
- $shop_name = !$name ? get_userdata( $vendor_id )->user_login : $name;
361
-
362
- return $shop_name;
363
- }
364
-
365
-
366
- /**
367
- *
368
- *
369
- * @param unknown $user_id
370
- *
371
- * @return unknown
372
- */
373
- public static function is_pending( $user_id )
374
- {
375
- $user = get_userdata( $user_id );
376
-
377
- $role = !empty( $user->roles ) ? array_shift( $user->roles ) : false;
378
- $is_pending = ( $role == 'pending_vendor' );
379
-
380
- return $is_pending;
381
- }
382
-
383
- /*
384
- * Is this a vendor product ?
385
- * @param uknown $role
386
- */
387
- public static function is_vendor_product($role) {
388
- return ($role === 'Vendor') ? true : false;
389
- }
390
-
391
- /*
392
- * Is this the vendors shop archive page ?
393
- */
394
- public static function is_vendor_page() {
395
-
396
- $vendor_shop = urldecode( get_query_var( 'vendor_shop' ) );
397
- $vendor_id = WCV_Vendors::get_vendor_id( $vendor_shop );
398
-
399
- return $vendor_id ? true : false;
400
-
401
- }
402
-
403
- /*
404
- * Is this a vendor single product page ?
405
- */
406
- public static function is_vendor_product_page($vendor_id) {
407
-
408
- $vendor_product = WCV_Vendors::is_vendor_product( wcv_get_user_role($vendor_id) );
409
- return $vendor_product ? true : false;
410
-
411
- }
412
-
413
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/front/class-vendor-cart.php DELETED
@@ -1,63 +0,0 @@
1
- <?php
2
-
3
- /**
4
- *
5
- *
6
- * @author Matt Gates <http://mgates.me>
7
- * @package
8
- */
9
-
10
-
11
- class WCV_Vendor_Cart
12
- {
13
-
14
-
15
- /**
16
- *
17
- */
18
- function __construct()
19
- {
20
- add_filter( 'woocommerce_get_item_data', array( 'WCV_Vendor_Cart', 'sold_by' ), 10, 2 );
21
- add_action( 'woocommerce_product_meta_start', array( 'WCV_Vendor_Cart', 'sold_by_meta' ), 10, 2 );
22
- }
23
-
24
-
25
- /**
26
- *
27
- *
28
- * @param unknown $values
29
- * @param unknown $cart_item
30
- *
31
- * @return unknown
32
- */
33
- public static function sold_by( $values, $cart_item )
34
- {
35
- $author_id = $cart_item[ 'data' ]->post->post_author;
36
- $sold_by = WCV_Vendors::is_vendor( $author_id )
37
- ? sprintf( '<a href="%s" target="_TOP">%s</a>', WCV_Vendors::get_vendor_shop_page( $author_id ), WCV_Vendors::get_vendor_shop_name( $author_id ) )
38
- : get_bloginfo( 'name' );
39
-
40
- $values[ ] = array(
41
- 'name' => apply_filters('wcvendors_cart_sold_by', __( 'Sold by', 'wcvendors' )),
42
- 'display' => $sold_by,
43
- );
44
-
45
- return $values;
46
- }
47
-
48
-
49
- /**
50
- *
51
- */
52
- public static function sold_by_meta()
53
- {
54
- $author_id = get_the_author_meta( 'ID' );
55
-
56
- $sold_by = WCV_Vendors::is_vendor( $author_id )
57
- ? sprintf( '<a href="%s">%s</a>', WCV_Vendors::get_vendor_shop_page( $author_id ), WCV_Vendors::get_vendor_shop_name( $author_id ) )
58
- : get_bloginfo( 'name' );
59
-
60
- echo apply_filters('wcvendors_cart_sold_by_meta', __( 'Sold by: ', 'wcvendors' )) . $sold_by . '<br/>';
61
- }
62
-
63
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/front/class-vendor-shop.php DELETED
@@ -1,266 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Shop functions for each vendor.
5
- *
6
- * @author Matt Gates <http://mgates.me>
7
- * @package ProductVendor
8
- */
9
-
10
-
11
- class WCV_Vendor_Shop
12
- {
13
-
14
- public static $seller_info;
15
-
16
- /**
17
- * init
18
- */
19
- function __construct()
20
- {
21
-
22
- add_filter( 'product_enquiry_send_to', array( 'WCV_Vendor_Shop', 'product_enquiry_compatibility' ), 10, 2 );
23
-
24
- add_action( 'woocommerce_product_query', array( $this, 'vendor_shop_query' ), 10, 2 );
25
- add_filter( 'init', array( $this, 'add_rewrite_rules' ), 0 );
26
-
27
- add_action( 'woocommerce_before_main_content', array( 'WCV_Vendor_Shop', 'shop_description' ), 30 );
28
- add_filter( 'woocommerce_product_tabs', array( 'WCV_Vendor_Shop', 'seller_info_tab' ) );
29
- add_filter( 'post_type_archive_link', array( 'WCV_Vendor_Shop', 'change_archive_link' ) );
30
-
31
- // Add sold by to product loop before add to cart
32
- add_action( 'woocommerce_after_shop_loop_item', array('WCV_Vendor_Shop', 'template_loop_sold_by'), 9 );
33
-
34
- // Remove Page Title if on Vendor Shop
35
- add_filter ( 'woocommerce_show_page_title', array('WCV_Vendor_Shop', 'remove_vendor_title') );
36
-
37
- // Show vendor on all sales related invoices
38
- add_action( 'woocommerce_add_order_item_meta', array('WCV_Vendor_Shop', 'add_vendor_to_order_item_meta'), 10, 2 );
39
-
40
- // Add a vendor header
41
- if (WC_Vendors::$pv_options->get_option( 'shop_headers_enabled' ) ) {
42
- add_action( 'woocommerce_before_main_content', array('WCV_Vendor_Shop', 'vendor_main_header'), 20 );
43
- add_action( 'woocommerce_before_single_product', array('WCV_Vendor_Shop', 'vendor_mini_header'));
44
- }
45
-
46
- }
47
-
48
- public static function change_archive_link( $link )
49
- {
50
- $vendor_shop = urldecode( get_query_var( 'vendor_shop' ) );
51
- $vendor_id = WCV_Vendors::get_vendor_id( $vendor_shop );
52
-
53
- return !$vendor_id ? $link : WCV_Vendors::get_vendor_shop_page( $vendor_id );
54
- }
55
-
56
- public static function vendor_shop_query( $q, $that )
57
- {
58
- $vendor_shop = urldecode( get_query_var( 'vendor_shop' ) );
59
- $vendor_id = WCV_Vendors::get_vendor_id( $vendor_shop );
60
-
61
- if ( !$vendor_id ) return;
62
- add_filter( 'woocommerce_page_title', array( 'WCV_Vendor_Shop', 'page_title' ) );
63
-
64
- $q->set( 'author', $vendor_id );
65
- }
66
-
67
- public static function product_enquiry_compatibility( $send_to, $product_id )
68
- {
69
- $author_id = get_post( $product_id )->post_author;
70
- if ( WCV_Vendors::is_vendor( $author_id ) ) {
71
- $send_to = get_userdata( $author_id )->user_email;
72
- }
73
-
74
- return $send_to;
75
- }
76
-
77
-
78
- /**
79
- *
80
- *
81
- * @param unknown $tabs
82
- *
83
- * @return unknown
84
- */
85
- public static function seller_info_tab( $tabs )
86
- {
87
- global $post;
88
-
89
- if ( WCV_Vendors::is_vendor( $post->post_author ) ) {
90
-
91
- $seller_info = get_user_meta( $post->post_author, 'pv_seller_info', true );
92
- $has_html = get_user_meta( $post->post_author, 'pv_shop_html_enabled', true );
93
- $global_html = WC_Vendors::$pv_options->get_option( 'shop_html_enabled' );
94
-
95
- if ( !empty( $seller_info ) ) {
96
-
97
- $seller_info = do_shortcode( $seller_info );
98
- self::$seller_info = '<div class="pv_seller_info">';
99
- self::$seller_info .= ( $global_html || $has_html ) ? wpautop( wptexturize( wp_kses_post( $seller_info ) ) ) : sanitize_text_field( $seller_info );
100
- self::$seller_info .= '</div>';
101
-
102
- $tabs[ 'seller_info' ] = array(
103
- 'title' => apply_filters( 'wcvendors_seller_info_label', __( 'Seller info', 'wcvendors' ) ),
104
- 'priority' => 50,
105
- 'callback' => array( 'WCV_Vendor_Shop', 'seller_info_tab_panel' ),
106
- );
107
- }
108
- }
109
-
110
- return $tabs;
111
- }
112
-
113
-
114
- /**
115
- *
116
- */
117
- public static function seller_info_tab_panel()
118
- {
119
- echo self::$seller_info;
120
- }
121
-
122
-
123
- /**
124
- * Show the description a vendor sets when viewing products by that vendor
125
- */
126
- public static function shop_description()
127
- {
128
- $vendor_shop = urldecode( get_query_var( 'vendor_shop' ) );
129
- $vendor_id = WCV_Vendors::get_vendor_id( $vendor_shop );
130
-
131
- if ( $vendor_id ) {
132
- $has_html = get_user_meta( $vendor_id, 'pv_shop_html_enabled', true );
133
- $global_html = WC_Vendors::$pv_options->get_option( 'shop_html_enabled' );
134
- $description = do_shortcode( get_user_meta( $vendor_id, 'pv_shop_description', true ) );
135
-
136
- echo '<div class="pv_shop_description">';
137
- echo ( $global_html || $has_html ) ? wpautop( wptexturize( wp_kses_post( $description ) ) ) : sanitize_text_field( $description );
138
- echo '</div>';
139
- }
140
- }
141
-
142
- /**
143
- *
144
- */
145
- public static function add_rewrite_rules()
146
- {
147
- $permalink = untrailingslashit( WC_Vendors::$pv_options->get_option( 'vendor_shop_permalink' ) );
148
-
149
- // Remove beginning slash
150
- if ( substr( $permalink, 0, 1 ) == '/' ) {
151
- $permalink = substr( $permalink, 1, strlen( $permalink ) );
152
- }
153
-
154
- add_rewrite_tag( '%vendor_shop%', '([^&]+)' );
155
-
156
- add_rewrite_rule( $permalink . '/([^/]*)/page/([0-9]+)', 'index.php?post_type=product&vendor_shop=$matches[1]&paged=$matches[2]', 'top' );
157
- add_rewrite_rule( $permalink . '/([^/]*)', 'index.php?post_type=product&vendor_shop=$matches[1]', 'top' );
158
- }
159
-
160
-
161
- public static function page_title( $page_title = "" )
162
- {
163
- $vendor_shop = urldecode( get_query_var( 'vendor_shop' ) );
164
- $vendor_id = WCV_Vendors::get_vendor_id( $vendor_shop );
165
-
166
- return $vendor_id ? WCV_Vendors::get_vendor_shop_name( $vendor_id ) : $page_title;
167
- }
168
-
169
-
170
- /*
171
- Adding sold by to product loop
172
- */
173
- public static function template_loop_sold_by($product_id) {
174
- $author = WCV_Vendors::get_vendor_from_product( $product_id );
175
- $sold_by = WCV_Vendors::is_vendor( $author )
176
- ? sprintf( '<a href="%s">%s</a>', WCV_Vendors::get_vendor_shop_page( $author), WCV_Vendors::get_vendor_shop_name( $author ) )
177
- : get_bloginfo( 'name' );
178
- echo '<small>' . apply_filters('wcvendors_sold_by_in_loop', __( 'Sold by: ', 'wcvendors' )). $sold_by . '</small> <br />';
179
- }
180
-
181
-
182
- /*
183
- * Remove the Page title from Archive-Product while on a vendor Page
184
- */
185
- public static function remove_vendor_title() {
186
- if ( WCV_Vendors::is_vendor_page() ) {
187
- return false;
188
- }
189
- }
190
-
191
- /*
192
- * Display a vendor header at the top of the vendors product archive page
193
- */
194
- public static function vendor_main_header() {
195
-
196
- // Remove the basic shop description from the loop
197
- remove_action( 'woocommerce_before_main_content', array('WCV_Vendor_Shop', 'shop_description' ), 30);
198
-
199
- if (WCV_Vendors::is_vendor_page()) {
200
- $vendor_shop = urldecode( get_query_var( 'vendor_shop' ) );
201
- $vendor_id = WCV_Vendors::get_vendor_id( $vendor_shop );
202
- $shop_name = get_user_meta( $vendor_id, 'pv_shop_name', true );
203
-
204
- // Shop description
205
- $has_html = get_user_meta( $vendor_id, 'pv_shop_html_enabled', true );
206
- $global_html = WC_Vendors::$pv_options->get_option( 'shop_html_enabled' );
207
- $description = do_shortcode( get_user_meta( $vendor_id, 'pv_shop_description', true ) );
208
- $shop_description = ( $global_html || $has_html ) ? wpautop( wptexturize( wp_kses_post( $description ) ) ) : sanitize_text_field( $description );
209
-
210
- do_action('wcv_before_main_header', $vendor_id);
211
-
212
- wc_get_template( 'vendor-main-header.php', array(
213
- 'shop_name' => $shop_name,
214
- 'vendor_id' => $vendor_id,
215
- 'shop_description' => $shop_description
216
- ), 'wc-product-vendor/front/', wcv_plugin_dir . 'views/front/' );
217
-
218
- do_action('wcv_after_main_header', $vendor_id);
219
-
220
- }
221
- }
222
-
223
-
224
- /*
225
- * Display a vendor header at the top of the single-product page
226
- */
227
- public static function vendor_mini_header() {
228
-
229
- global $product;
230
-
231
- if (WCV_Vendors::is_vendor_product_page($product->post->post_author)) {
232
-
233
- $vendor = get_userdata( $product->post->post_author );
234
- $vendor_shop_link = site_url( WC_Vendors::$pv_options->get_option( 'vendor_shop_permalink' ) .'/' .$vendor->pv_shop_slug );
235
-
236
- $has_html = $vendor->pv_shop_html_enabled;
237
- $global_html = WC_Vendors::$pv_options->get_option( 'shop_html_enabled' );
238
- $description = do_shortcode( $vendor->pv_shop_description );
239
- $shop_description = ( $global_html || $has_html ) ? wpautop( wptexturize( wp_kses_post( $description ) ) ) : sanitize_text_field( $description );
240
-
241
- do_action('wcv_before_mini_header', $vendor->ID);
242
-
243
- wc_get_template( 'vendor-mini-header.php', array(
244
- 'vendor' => $vendor,
245
- 'vendor_shop_link' => $vendor_shop_link,
246
- 'shop_description' => $shop_description,
247
- 'shop_name' => $vendor->pv_shop_name,
248
- ), 'wc-product-vendor/front/', wcv_plugin_dir . 'views/front/' );
249
-
250
- do_action('wcv_after_mini_header', $vendor->ID);
251
-
252
- }
253
- }
254
-
255
- /*
256
- * Add Vendor to Order item Meta
257
- * Thanks to Asbjoern Andersen for the code
258
- *
259
- */
260
- public static function add_vendor_to_order_item_meta( $item_id, $cart_item) {
261
- $vendor_id = $cart_item[ 'data' ]->post->post_author;
262
- $sold_by = WCV_Vendors::is_vendor( $vendor_id ) ? sprintf( WCV_Vendors::get_vendor_shop_name( $vendor_id ) ): get_bloginfo( 'name' );
263
- wc_add_order_item_meta( $item_id, apply_filters('wcvendors_sold_by_in_email', __('Sold by', 'wcvendors')), $sold_by);
264
- }
265
-
266
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/front/dashboard/class-vendor-dashboard.php DELETED
@@ -1,384 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * My account views
5
- *
6
- * @author Matt Gates <http://mgates.me>
7
- * @package ProductVendor
8
- */
9
-
10
-
11
- class WCV_Vendor_Dashboard
12
- {
13
-
14
-
15
- /**
16
- * __construct()
17
- */
18
- function __construct()
19
- {
20
- add_shortcode( 'wcv_shop_settings', array( $this, 'display_vendor_settings' ) );
21
- add_shortcode( 'wcv_vendor_dashboard', array( $this, 'display_vendor_products' ) );
22
-
23
- add_action( 'template_redirect', array( $this, 'check_access' ) );
24
- add_action( 'init', array( $this, 'save_vendor_settings' ) );
25
- }
26
-
27
- public function save_vendor_settings()
28
- {
29
- global $woocommerce;
30
-
31
- $user_id = get_current_user_id();
32
-
33
- if ( !empty( $_GET['wc_pv_mark_shipped'] ) ) {
34
- $order_id = $_GET['wc_pv_mark_shipped'];
35
- $shippers = (array) get_post_meta( $order_id, 'wc_pv_shipped', true );
36
-
37
- if( in_array($user_id, $shippers)) {
38
- foreach ($shippers as $key => $value) {
39
- if ( $value == $user_id ) {
40
- unset($shippers[$key]);
41
- + do_action('wcvendors_vendor_unship', $order_id, $user_id);
42
- wc_add_notice( __( 'Order unmarked shipped. <br><br>Caution: Clicking Reload in your browser will mark the order as shipped and email the buyer again, potentially spamming them.', 'wcvendors' ), 'success');
43
- break;
44
- }
45
- }
46
- } else {
47
- $shippers[] = $user_id;
48
- $mails = $woocommerce->mailer()->get_emails();
49
- if ( !empty( $mails ) ) {
50
- $mails[ 'WC_Email_Notify_Shipped' ]->trigger( $order_id, $user_id );
51
- }
52
- + do_action('wcvendors_vendor_ship', $order_id, $user_id);
53
- wc_add_notice( __( 'Order marked shipped. <br><br>Caution: Clicking Reload in your browser will unmark the order as shipped.', 'wcvendors' ), 'success' );
54
- }
55
-
56
- update_post_meta( $order_id, 'wc_pv_shipped', $shippers );
57
- return;
58
- }
59
-
60
- if ( isset( $_POST[ 'update_tracking' ] ) ) {
61
- $order_id = (int) $_POST[ 'order_id' ];
62
- $product_id = (int) $_POST[ 'product_id' ];
63
-
64
- $tracking_provider = woocommerce_clean( $_POST[ 'tracking_provider' ] );
65
- $custom_tracking_provider = woocommerce_clean( $_POST[ 'custom_tracking_provider' ] );
66
- $custom_tracking_link = woocommerce_clean( $_POST[ 'custom_tracking_link' ] );
67
- $tracking_number = woocommerce_clean( $_POST[ 'tracking_number' ] );
68
- $date_shipped = woocommerce_clean( strtotime( $_POST[ 'date_shipped' ] ) );
69
-
70
- $order = new WC_Order( $order_id );
71
- $products = $order->get_items();
72
- foreach ( $products as $key => $value ) {
73
- if ( $value[ 'product_id' ] == $product_id || $value[ 'variation_id' ] == $product_id ) {
74
- $order_item_id = $key;
75
- break;
76
- }
77
- }
78
- if ( $order_item_id ) {
79
- woocommerce_delete_order_item_meta( $order_item_id, __( 'Tracking number', 'wcvendors' ) );
80
- woocommerce_add_order_item_meta( $order_item_id, __( 'Tracking number', 'wcvendors' ), $tracking_number );
81
-
82
- $message = __( 'Success. Your tracking number has been updated.', 'wcvendors' );
83
- wc_add_notice( $message, 'success' );
84
-
85
- // Update order data
86
- update_post_meta( $order_id, '_tracking_provider', $tracking_provider );
87
- update_post_meta( $order_id, '_custom_tracking_provider', $custom_tracking_provider );
88
- update_post_meta( $order_id, '_tracking_number', $tracking_number );
89
- update_post_meta( $order_id, '_custom_tracking_link', $custom_tracking_link );
90
- update_post_meta( $order_id, '_date_shipped', $date_shipped );
91
- }
92
-
93
- }
94
-
95
- if ( empty( $_POST[ 'vendor_application_submit' ] ) ) {
96
- return false;
97
- }
98
-
99
- if ( !wp_verify_nonce( $_POST[ 'wc-product-vendor-nonce' ], 'save-shop-settings' ) ) {
100
- return false;
101
- }
102
-
103
-
104
- if ( isset( $_POST[ 'pv_paypal' ] ) ) {
105
- if ( !is_email( $_POST[ 'pv_paypal' ] ) ) {
106
- wc_add_notice( __( 'Your PayPal address is not a valid email address.', 'wcvendors' ), 'error' );
107
- } else {
108
- update_user_meta( $user_id, 'pv_paypal', $_POST[ 'pv_paypal' ] );
109
- }
110
- }
111
-
112
- if ( !empty( $_POST[ 'pv_shop_name' ] ) ) {
113
- $users = get_users( array( 'meta_key' => 'pv_shop_slug', 'meta_value' => sanitize_title( $_POST[ 'pv_shop_name' ] ) ) );
114
- if ( !empty( $users ) && $users[ 0 ]->ID != $user_id ) {
115
- wc_add_notice( __( 'That shop name is already taken. Your shop name must be unique.', 'wcvendors' ), 'error' );
116
- } else {
117
- update_user_meta( $user_id, 'pv_shop_name', $_POST[ 'pv_shop_name' ] );
118
- update_user_meta( $user_id, 'pv_shop_slug', sanitize_title( $_POST[ 'pv_shop_name' ] ) );
119
- }
120
- }
121
-
122
- if ( isset( $_POST[ 'pv_shop_description' ] ) ) {
123
- update_user_meta( $user_id, 'pv_shop_description', $_POST[ 'pv_shop_description' ] );
124
- }
125
-
126
- if ( isset( $_POST[ 'pv_seller_info' ] ) ) {
127
- update_user_meta( $user_id, 'pv_seller_info', $_POST[ 'pv_seller_info' ] );
128
- }
129
-
130
- do_action( 'wcvendors_shop_settings_saved', $user_id );
131
-
132
- if ( !wc_notice_count() ) {
133
- wc_add_notice( __( 'Settings saved.', 'wcvendors' ), 'success' );
134
- }
135
- }
136
-
137
-
138
- /**
139
- *
140
- */
141
- public function check_access()
142
- {
143
- $vendor_dashboard_page = WC_Vendors::$pv_options->get_option( 'vendor_dashboard_page' );
144
- $shop_settings_page = WC_Vendors::$pv_options->get_option( 'shop_settings_page' );
145
-
146
- if ( ( is_page( $vendor_dashboard_page ) || is_page( $shop_settings_page ) ) && !is_user_logged_in() ) {
147
- wp_redirect( get_permalink( woocommerce_get_page_id( 'myaccount' ) ) );
148
- exit;
149
- }
150
- }
151
-
152
-
153
- /**
154
- * [wcv_vendor_dashboard] shortcode
155
- *
156
- * @param array $atts
157
- *
158
- * @return unknown
159
- */
160
- public function display_vendor_products( $atts )
161
- {
162
- global $start_date, $end_date;
163
-
164
- $start_date = !empty( $_SESSION[ 'PV_Session' ][ 'start_date' ] ) ? $_SESSION[ 'PV_Session' ][ 'start_date' ] : strtotime( date( 'Ymd', strtotime( date( 'Ym', current_time( 'timestamp' ) ) . '01' ) ) );
165
- $end_date = !empty( $_SESSION[ 'PV_Session' ][ 'end_date' ] ) ? $_SESSION[ 'PV_Session' ][ 'end_date' ] : strtotime( date( 'Ymd', current_time( 'timestamp' ) ) );
166
-
167
- $can_view_orders = WC_Vendors::$pv_options->get_option( 'can_show_orders' );
168
- $settings_page = get_permalink( WC_Vendors::$pv_options->get_option( 'shop_settings_page' ) );
169
- $can_submit = WC_Vendors::$pv_options->get_option( 'can_submit_products' );
170
- if ( $can_submit ) $submit_link = admin_url( 'post-new.php?post_type=product' );
171
-
172
- if ( !$this->can_view_vendor_page() ) {
173
- return false;
174
- }
175
-
176
- extract( shortcode_atts( array(
177
- 'user_id' => get_current_user_id(),
178
- 'datepicker' => true,
179
- ), $atts ) );
180
-
181
- $vendor_products = WCV_Queries::get_commission_products( $user_id );
182
- $products = array();
183
- foreach ($vendor_products as $_product) {
184
- $products[] = $_product->ID;
185
- }
186
-
187
- $vendor_summary = $this->format_product_details( $vendor_products );
188
- $order_summary = WCV_Queries::get_orders_for_products( $products );
189
- $shop_page = WCV_Vendors::get_vendor_shop_page( wp_get_current_user()->user_login );
190
-
191
- wp_enqueue_style( 'wcv_frontend_style', wcv_assets_url . 'css/wcv-frontend.css' );
192
-
193
- // WC Shipment Tracking Providers
194
- global $WC_Shipment_Tracking;
195
-
196
- $providers = !empty( $WC_Shipment_Tracking->providers ) ? $WC_Shipment_Tracking->providers : false;
197
- $provider_array = array();
198
-
199
- if ( $providers ) {
200
- foreach ( $providers as $providerss ) {
201
- foreach ( $providerss as $provider => $format ) {
202
- $provider_array[ sanitize_title( $provider ) ] = urlencode( $format );
203
- }
204
- }
205
- }
206
-
207
- ob_start();
208
- do_action( 'wcvendors_before_dashboard' );
209
-
210
- wc_print_notices();
211
- wc_get_template( 'links.php', array(
212
- 'shop_page' => urldecode($shop_page),
213
- 'settings_page' => $settings_page,
214
- 'can_submit' => $can_submit,
215
- 'submit_link' => $submit_link,
216
- ), 'wc-product-vendor/dashboard/', wcv_plugin_dir . 'views/dashboard/' );
217
-
218
- if ( $can_view_sales = WC_Vendors::$pv_options->get_option( 'can_view_frontend_reports' ) ) {
219
-
220
- wc_get_template( 'reports.php', array(
221
- 'start_date' => $start_date,
222
- 'end_date' => $end_date,
223
- 'vendor_products' => $vendor_products,
224
- 'vendor_summary' => $vendor_summary,
225
- 'datepicker' => $datepicker,
226
- 'can_view_orders' => $can_view_orders,
227
- ), 'wc-product-vendor/dashboard/', wcv_plugin_dir . 'views/dashboard/' );
228
- }
229
-
230
- wc_get_template( 'orders.php', array(
231
- 'start_date' => $start_date,
232
- 'end_date' => $end_date,
233
- 'vendor_products' => $vendor_products,
234
- 'order_summary' => $order_summary,
235
- 'datepicker' => $datepicker,
236
- 'providers' => $providers,
237
- 'provider_array' => $provider_array,
238
- 'can_view_orders' => $can_view_orders,
239
- ), 'wc-product-vendor/dashboard/', wcv_plugin_dir . 'views/dashboard/' );
240
- do_action( 'wcvendors_after_dashboard' );
241
-
242
- return ob_get_clean();
243
- }
244
-
245
-
246
- /**
247
- * [pv_recent_vendor_sales] shortcode
248
- *
249
- * @param array $atts
250
- *
251
- * @return unknown
252
- */
253
- public function display_vendor_settings( $atts )
254
- {
255
- global $woocommerce;
256
-
257
- if ( !$this->can_view_vendor_page() ) {
258
- return false;
259
- }
260
-
261
- extract( shortcode_atts( array(
262
- 'user_id' => get_current_user_id(),
263
- 'paypal_address' => true,
264
- 'shop_description' => true,
265
- ), $atts ) );
266
-
267
- $description = get_user_meta( $user_id, 'pv_shop_description', true );
268
- $seller_info = get_user_meta( $user_id, 'pv_seller_info', true );
269
- $has_html = get_user_meta( $user_id, 'pv_shop_html_enabled', true );
270
- $shop_page = WCV_Vendors::get_vendor_shop_page( wp_get_current_user()->user_login );
271
- $global_html = WC_Vendors::$pv_options->get_option( 'shop_html_enabled' );
272
-
273
- ob_start();
274
- wc_get_template( 'settings.php', array(
275
- 'description' => $description,
276
- 'global_html' => $global_html,
277
- 'has_html' => $has_html,
278
- 'paypal_address' => $paypal_address,
279
- 'seller_info' => $seller_info,
280
- 'shop_description' => $shop_description,
281
- 'shop_page' => $shop_page,
282
- 'user_id' => $user_id,
283
- ), 'wc-product-vendor/dashboard/settings/', wcv_plugin_dir . 'views/dashboard/settings/' );
284
-
285
- return ob_get_clean();
286
- }
287
-
288
-
289
- /**
290
- *
291
- *
292
- * @return unknown
293
- */
294
- public function can_view_vendor_page()
295
- {
296
- if ( !is_user_logged_in() ) {
297
-
298
- return false;
299
-
300
- } else if ( !WCV_Vendors::is_vendor( get_current_user_id() ) ) {
301
-
302
- wc_get_template( 'denied.php', array(), 'wc-product-vendor/dashboard/', wcv_plugin_dir . 'views/dashboard/' );
303
-
304
- return false;
305
-
306
- }
307
-
308
- return true;
309
- }
310
-
311
-
312
- /**
313
- * Format products for easier displaying
314
- *
315
- * @param object $products
316
- *
317
- * @return array
318
- */
319
- public function format_product_details( $products )
320
- {
321
- if ( empty( $products ) ) return false;
322
-
323
- $orders_page = get_permalink( WC_Vendors::$pv_options->get_option( 'orders_page' ) );
324
- $default_commission = WC_Vendors::$pv_options->get_option( 'default_commission' );
325
- $total_qty = $total_cost = 0;
326
- $data = array(
327
- 'products' => array(),
328
- 'total_qty' => '',
329
- 'total_cost' => '',
330
- );
331
-
332
- foreach ( $products as $product )
333
- $ids[ ] = $product->ID;
334
-
335
- $orders = WCV_Queries::sum_orders_for_products( $ids, array( 'vendor_id' => get_current_user_id() ) );
336
-
337
- if ( $orders )
338
- foreach ( $orders as $order_item ) {
339
- if ( $order_item->qty < 1 ) continue;
340
-
341
- $commission_rate = WCV_Commission::get_commission_rate( $order_item->product_id );
342
- $_product = get_product( $order_item->product_id );
343
- $id = !empty($_product->parent->id) ? $_product->parent->id : $order_item->product_id;
344
-
345
- $data[ 'products' ][$id] = array(
346
- 'id' => $id,
347
- 'title' => $_product->get_title(),
348
- 'qty' => !empty($data[ 'products' ][$id]) ? $data[ 'products' ][$id]['qty'] + $order_item->qty : $order_item->qty,
349
- 'cost' => !empty($data[ 'products' ][$id]) ? $data[ 'products' ][$id]['cost'] + $order_item->line_total : $order_item->line_total,
350
- 'view_orders_url' => esc_url( add_query_arg( 'orders_for_product', $id, $orders_page ) ),
351
- 'commission_rate' => $commission_rate,
352
- );
353
-
354
- $total_qty += $order_item->qty;
355
- $total_cost += $order_item->line_total;
356
-
357
- }
358
-
359
- $data[ 'total_qty' ] = $total_qty;
360
- $data[ 'total_cost' ] = $total_cost;
361
-
362
- // Sort by product title
363
- if ( !empty( $data[ 'products' ] ) )
364
- usort( $data[ 'products' ], array( $this, 'sort_by_title' ) );
365
-
366
- return $data;
367
- }
368
-
369
-
370
- /**
371
- * Sort an array by 'title'
372
- *
373
- * @param array $a
374
- * @param array $b
375
- *
376
- * @return array
377
- */
378
- private function sort_by_title( array $a, array $b )
379
- {
380
- return strcasecmp( $a[ 'title' ], $b[ 'title' ] );
381
- }
382
-
383
-
384
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/front/orders/class-export-csv.php DELETED
@@ -1,77 +0,0 @@
1
- <?php
2
-
3
- class WCV_Export_CSV
4
- {
5
-
6
- /**
7
- * Sort the data for CSV output first
8
- *
9
- * @param int $product_id
10
- * @param array $headers
11
- * @param array $body
12
- * @param array $items
13
- */
14
-
15
-
16
- public static function output_csv( $product_id, $headers, $body, $items )
17
- {
18
- foreach ( $body as $i => $data ) {
19
-
20
- unset( $body[ $i ][ 'comments' ] );
21
-
22
- foreach ( $items[ $i ][ 'items' ] as $item ) {
23
-
24
- $item_meta = new WC_Order_Item_Meta( $item[ 'item_meta' ] );
25
- $item_meta = $item_meta->display( true, true );
26
-
27
- if ( !empty( $item_meta ) ) {
28
- $meta = true;
29
- $body[ $i ][ ] = $item[ 'qty' ] . 'x: ' . html_entity_decode( $item_meta );
30
- } else {
31
- $body[ $i ][ ] = $item[ 'qty' ];
32
- }
33
-
34
- }
35
- }
36
-
37
- if ( $meta ) $headers[ 'meta' ] = __( 'Extra data', 'wcvendors' );
38
- else $headers[ 'quantity' ] = __( 'Quantity', 'wcvendors' );
39
-
40
- $headers = apply_filters( 'wcvendors_csv_headers', $headers, $product_id, $items );
41
- $body = apply_filters( 'wcvendors_csv_body', $body, $product_id, $items );
42
-
43
- WCV_Export_CSV::download( $headers, $body, $product_id );
44
- }
45
-
46
-
47
- /**
48
- * Send the CSV to the browser for download
49
- *
50
- * @param array $headers
51
- * @param array $body
52
- * @param string $filename
53
- */
54
- public static function download( $headers, $body, $filename )
55
- {
56
- // Clear browser output before this point
57
- ob_end_clean();
58
-
59
- // Output headers so that the file is downloaded rather than displayed
60
- header( 'Content-Type: text/csv; charset=utf-8' );
61
- header( 'Content-Disposition: attachment; filename=orders_for_' . $filename . '.csv' );
62
-
63
- // Create a file pointer connected to the output stream
64
- $output = fopen( 'php://output', 'w' );
65
-
66
- // Output the column headings
67
- fputcsv( $output, $headers );
68
-
69
- // Body
70
- foreach ( $body as $data )
71
- fputcsv( $output, $data );
72
-
73
- die();
74
- }
75
-
76
-
77
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/front/orders/class-orders.php DELETED
@@ -1,294 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * My account views
5
- *
6
- * @author Matt Gates <http://mgates.me>
7
- * @package ProductVendor
8
- */
9
-
10
-
11
- class WCV_Orders
12
- {
13
-
14
-
15
- /**
16
- * __construct()
17
- */
18
- function __construct()
19
- {
20
- $this->can_view_orders = WC_Vendors::$pv_options->get_option( 'can_show_orders' );
21
- $this->can_export_csv = WC_Vendors::$pv_options->get_option( 'can_export_csv' );
22
- $this->can_view_emails = WC_Vendors::$pv_options->get_option( 'can_view_order_emails' );
23
-
24
- add_action( 'template_redirect', array( $this, 'check_access' ) );
25
- add_action( 'wp', array( $this, 'display_shortcodes' ) );
26
- }
27
-
28
-
29
- /**
30
- *
31
- */
32
- public function check_access()
33
- {
34
- if ( is_page( WC_Vendors::$pv_options->get_option( 'orders_page' ) ) && !is_user_logged_in() ) {
35
- wp_redirect( get_permalink( woocommerce_get_page_id( 'myaccount' ) ) );
36
- exit;
37
- }
38
- }
39
-
40
-
41
- /**
42
- *
43
- */
44
- public function display_shortcodes()
45
- {
46
- if ( is_page( WC_Vendors::$pv_options->get_option( 'orders_page' ) ) && $this->can_view_orders ) {
47
-
48
- wp_enqueue_script( 'jquery' );
49
-
50
- $this->product_id = !empty( $_GET[ 'orders_for_product' ] ) ? (int) $_GET[ 'orders_for_product' ] : false;
51
- $products = array( $this->product_id );
52
-
53
- $_product = get_product( $this->product_id );
54
- $children = $_product->get_children();
55
- if ( !empty( $children ) ) {
56
- $products = array_merge($products, $children);
57
- $products = array_unique($products);
58
- }
59
-
60
- $this->orders = WCV_Queries::get_orders_for_products( $products, array( 'vendor_id' => get_current_user_id() ) );
61
-
62
- add_action( 'init', array( $this, 'verify_order_access' ) );
63
- add_shortcode( 'wcv_orders', array( $this, 'display_product_orders' ) );
64
-
65
- if ( $this->can_export_csv && !empty( $_POST[ 'export_orders' ] ) ) {
66
- $this->download_csv();
67
- }
68
-
69
- }
70
-
71
- }
72
-
73
-
74
- /**
75
- *
76
- *
77
- * @return unknown
78
- */
79
- public function download_csv()
80
- {
81
- if ( !$this->orders ) return false;
82
-
83
- extract( WCV_Orders::format_order_details( $this->orders, $this->product_id ) );
84
- $headers = WCV_Orders::get_headers();
85
-
86
- // Export the CSV
87
- require_once wcv_plugin_dir . 'classes/front/orders/class-export-csv.php';
88
- WCV_Export_CSV::output_csv( $this->product_id, $headers, $body, $items );
89
- }
90
-
91
-
92
- /**
93
- * Use views to display the Orders page
94
- *
95
- * @return html
96
- */
97
- public function display_product_orders()
98
- {
99
- if ( !WCV_Vendors::is_vendor( get_current_user_id() ) ) {
100
- ob_start();
101
- wc_get_template( 'denied.php', array(), 'wc-product-vendor/dashboard/', wcv_plugin_dir . 'views/dashboard/' );
102
-
103
- return ob_get_clean();
104
- }
105
-
106
- if ( empty( $_GET[ 'orders_for_product' ] ) ) {
107
- return __( 'You haven\'t selected a product\'s orders to view! Please go back to the Vendor Dashboard and click Show Orders on the product you\'d like to view.', 'wcvendors' );
108
- }
109
-
110
- if ( !$this->orders ) {
111
- return __( 'No orders.', 'wcvendors' );;
112
- }
113
-
114
- if ( !empty( $_POST[ 'submit_comment' ] ) ) {
115
- require_once wcv_plugin_dir . 'classes/front/orders/class-submit-comment.php';
116
- WCV_Submit_Comment::new_comment( $this->orders );
117
- }
118
-
119
- if ( isset( $_POST[ 'mark_shipped' ] ) ) {
120
- $order_id = (int) $_POST[ 'order_id' ];
121
- $product_id = (int) $_POST[ 'product_id' ];
122
- exit;
123
- }
124
-
125
- if ( isset( $_POST[ 'update_tracking' ] ) ) {
126
- $order_id = (int) $_POST[ 'order_id' ];
127
- $product_id = (int) $_POST[ 'product_id' ];
128
-
129
- $tracking_provider = woocommerce_clean( $_POST[ 'tracking_provider' ] );
130
- $custom_tracking_provider = woocommerce_clean( $_POST[ 'custom_tracking_provider' ] );
131
- $custom_tracking_link = woocommerce_clean( $_POST[ 'custom_tracking_link' ] );
132
- $tracking_number = woocommerce_clean( $_POST[ 'tracking_number' ] );
133
- $date_shipped = woocommerce_clean( strtotime( $_POST[ 'date_shipped' ] ) );
134
-
135
- $order = new WC_Order( $order_id );
136
- $products = $order->get_items();
137
- foreach ( $products as $key => $value ) {
138
- if ( $value[ 'product_id' ] == $product_id || $value[ 'variation_id' ] == $product_id ) {
139
- $order_item_id = $key;
140
- break;
141
- }
142
- }
143
- if ( $order_item_id ) {
144
- woocommerce_delete_order_item_meta( $order_item_id, __( 'Tracking number', 'wcvendors' ) );
145
- woocommerce_add_order_item_meta( $order_item_id, __( 'Tracking number', 'wcvendors' ), $tracking_number );
146
-
147
- $message = __( 'Success. Your tracking number has been updated.', 'wcvendors' );
148
- wc_add_notice( $message, 'success' );
149
-
150
- // Update order data
151
- update_post_meta( $order_id, '_tracking_provider', $tracking_provider );
152
- update_post_meta( $order_id, '_custom_tracking_provider', $custom_tracking_provider );
153
- update_post_meta( $order_id, '_tracking_number', $tracking_number );
154
- update_post_meta( $order_id, '_custom_tracking_link', $custom_tracking_link );
155
- update_post_meta( $order_id, '_date_shipped', $date_shipped );
156
- }
157
-
158
- }
159
-
160
- $headers = WCV_Orders::get_headers();
161
- $all = WCV_Orders::format_order_details( $this->orders, $this->product_id );
162
-
163
- wp_enqueue_style( 'pv_frontend_style', wcv_assets_url . 'css/wcv-frontend.css' );
164
- wp_enqueue_script( 'pv_frontend_script', wcv_assets_url . 'js/front-orders.js' );
165
-
166
- // WC Shipment Tracking Providers
167
- global $WC_Shipment_Tracking;
168
-
169
- $providers = !empty( $WC_Shipment_Tracking->providers ) ? $WC_Shipment_Tracking->providers : false;
170
- $provider_array = array();
171
-
172
- if ( $providers ) {
173
- foreach ( $providers as $providerss ) {
174
- foreach ( $providerss as $provider => $format ) {
175
- $provider_array[ sanitize_title( $provider ) ] = urlencode( $format );
176
- }
177
- }
178
- }
179
- // End
180
-
181
- ob_start();
182
- // Show the Export CSV button
183
- if ( $this->can_export_csv ) {
184
- wc_get_template( 'csv-export.php', array(), 'wc-product-vendor/orders/', wcv_plugin_dir . 'views/orders/' );
185
- }
186
-
187
- wc_get_template( 'orders.php', array(
188
- 'headers' => $headers,
189
- 'body' => $all[ 'body' ],
190
- 'items' => $all[ 'items' ],
191
- 'product_id' => $all[ 'product_id' ],
192
- 'providers' => $providers,
193
- 'provider_array' => $provider_array,
194
- ), 'wc-product-vendor/orders/', wcv_plugin_dir . 'views/orders/' );
195
-
196
- return ob_get_clean();
197
- }
198
-
199
-
200
- /**
201
- * Headers for the Orders page
202
- *
203
- * @return array
204
- */
205
- public function get_headers()
206
- {
207
- $headers = array(
208
- 'order' => __( 'Order', 'wcvendors' ),
209
- 'product' => __( 'Product Title', 'wcvendors' ),
210
- 'name' => __( 'Full name', 'wcvendors' ),
211
- 'address' => __( 'Address', 'wcvendors' ),
212
- 'city' => __( 'City', 'wcvendors' ),
213
- 'state' => __( 'State', 'wcvendors' ),
214
- 'zip' => __( 'Zip', 'wcvendors' ),
215
- 'email' => __( 'Email address', 'wcvendors' ),
216
- 'date' => __( 'Date', 'wcvendors' ),
217
- );
218
-
219
- if ( !$this->can_view_emails ) {
220
- unset( $headers[ 'email' ] );
221
- }
222
-
223
- return $headers;
224
- }
225
-
226
-
227
- /**
228
- * Format the orders with just the products we want
229
- *
230
- * @param object $orders
231
- * @param int $product_id
232
- *
233
- * @return array
234
- */
235
- public function format_order_details( $orders, $product_id )
236
- {
237
- $body = $items = array();
238
- $product = get_product( $product_id )->get_title();
239
-
240
- foreach ( $orders as $i => $order ) {
241
- $i = $order->order_id;
242
- $order = new WC_Order ( $i );
243
- $body[ $i ] = array(
244
- 'order_number' => $order->get_order_number(),
245
- 'product' => $product,
246
- 'name' => $order->shipping_first_name . ' ' . $order->shipping_last_name,
247
- 'address' => $order->shipping_address_1,
248
- 'city' => $order->shipping_city,
249
- 'state' => $order->shipping_state,
250
- 'zip' => $order->shipping_postcode,
251
- 'email' => $order->billing_email,
252
- 'date' => $order->order_date,
253
- 'comments' => wptexturize( $order->customer_note ),
254
- );
255
-
256
- if ( !$this->can_view_emails ) {
257
- unset( $body[ $i ][ 'email' ] );
258
- }
259
-
260
- $items[ $i ][ 'total_qty' ] = 0;
261
- foreach ( $order->get_items() as $line_id => $item ) {
262
-
263
- if ( $item[ 'product_id' ] != $product_id && $item[ 'variation_id' ] != $product_id ) continue;
264
-
265
- $items[ $i ][ 'items' ][ ] = $item;
266
- $items[ $i ][ 'total_qty' ] += $item[ 'qty' ];
267
- }
268
-
269
- }
270
-
271
- return array( 'body' => $body, 'items' => $items, 'product_id' => $product_id );
272
- }
273
-
274
-
275
- /**
276
- * Verify the current user can view orders for a product
277
- *
278
- * @param int $product_id
279
- */
280
- public function verify_order_access()
281
- {
282
- if ( !is_user_logged_in() || empty( $this->product_id ) ) {
283
- wp_safe_redirect( apply_filters( 'woocommerce_get_myaccount_page_id', get_permalink( woocommerce_get_page_id( 'myaccount' ) ) ) );
284
- exit;
285
- }
286
-
287
- $product = get_post( $this->product_id );
288
- if ( empty ( $product ) || $product->post_type != 'product' || get_current_user_id() != $product->post_author ) {
289
- wp_safe_redirect( apply_filters( 'woocommerce_get_myaccount_page_id', get_permalink( woocommerce_get_page_id( 'myaccount' ) ) ) );
290
- exit;
291
- }
292
- }
293
-
294
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/front/signup/class-vendor-signup.php DELETED
@@ -1,133 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Signup form for applying as a vendor
5
- *
6
- * @author Matt Gates <http://mgates.me>
7
- * @package ProductVendor
8
- */
9
-
10
-
11
- class WCV_Vendor_Signup
12
- {
13
-
14
-
15
- /**
16
- * __construct()
17
- */
18
- function __construct()
19
- {
20
- if ( !WC_Vendors::$pv_options->get_option( 'show_vendor_registration' ) ) return;
21
-
22
- $this->terms_page = WC_Vendors::$pv_options->get_option( 'terms_to_apply_page' );
23
-
24
- add_action( 'register_form', array( $this, 'vendor_option' ) );
25
- add_action( 'woocommerce_created_customer', array( $this, 'save_pending' ), 10, 2 );
26
- add_action( 'register_post', array( $this, 'apply_form' ), 10 );
27
- add_action( 'init', array( $this, 'apply_form' ), 10 );
28
- }
29
-
30
-
31
- /**
32
- *
33
- */
34
- public function vendor_option()
35
- {
36
- ?>
37
- <div class="clear"></div>
38
-
39
- <p class="form-row">
40
- <input class="input-checkbox"
41
- id="apply_for_vendor" <?php checked( isset( $_POST[ 'apply_for_vendor' ] ), true ) ?> type="checkbox"
42
- name="apply_for_vendor" value="1"/>
43
- <label for="apply_for_vendor"
44
- class="checkbox"><?php echo apply_filters('wcvendors_vendor_registration_checkbox', __( 'Apply to become a vendor? ', 'wcvendors' )); ?></label>
45
- </p>
46
-
47
- <?php if ( $this->terms_page ) { ?>
48
- <p class="form-row agree-to-terms-container" style="display:none">
49
- <input class="input-checkbox"
50
- id="agree_to_terms" <?php checked( isset( $_POST[ 'agree_to_terms' ] ), true ) ?> type="checkbox"
51
- name="agree_to_terms" value="1"/>
52
- <label for="agree_to_terms"
53
- class="checkbox"><?php printf( __( 'I have read and accepted the <a href="%s">terms and conditions</a>', 'wcvendors' ), get_permalink( $this->terms_page ) ); ?></label>
54
- </p>
55
-
56
- <script type="text/javascript">
57
- jQuery(function () {
58
- if (jQuery('#apply_for_vendor').is(':checked')) {
59
- jQuery('.agree-to-terms-container').show();
60
- }
61
-
62
- jQuery('#apply_for_vendor').on('click', function () {
63
- jQuery('.agree-to-terms-container').slideToggle();
64
- });
65
- })
66
- </script>
67
- <?php } ?>
68
-
69
- <div class="clear"></div>
70
- <?php
71
- }
72
-
73
-
74
- /**
75
- *
76
- *
77
- * @param unknown $user_id
78
- */
79
- public function save_pending( $user_id )
80
- {
81
- if ( isset( $_POST[ 'apply_for_vendor' ] ) ) {
82
- global $woocommerce;
83
-
84
- wc_clear_notices();
85
-
86
- if ( user_can( $user_id, 'manage_options' ) ) {
87
- wc_add_notice( __( 'Application denied. You are an administrator.', 'wcvendors' ), 'error' );
88
- } else {
89
- wc_add_notice( __( 'Your application has been submitted.', 'wcvendors' ), 'notice' );
90
-
91
- $manual = WC_Vendors::$pv_options->get_option( 'manual_vendor_registration' );
92
- $role = apply_filters( 'wcvendors_pending_role', ( $manual ? 'pending_vendor' : 'vendor' ) );
93
-
94
- $wp_user_object = new WP_User( $user_id );
95
- $wp_user_object->set_role( $role );
96
-
97
- do_action( 'wcvendors_application_submited', $user_id );
98
-
99
- add_filter( 'woocommerce_registration_redirect', array( 'WCV_Vendor_Signup', 'redirect_to_vendor_dash' ) );
100
- }
101
- }
102
- }
103
-
104
- public function redirect_to_vendor_dash( $redirect )
105
- {
106
- $vendor_dashboard_page = WC_Vendors::$pv_options->get_option( 'vendor_dashboard_page' );
107
-
108
- return apply_filters( 'wcvendors_signup_redirect', get_permalink( $vendor_dashboard_page ) );
109
- }
110
-
111
-
112
- /**
113
- *
114
- *
115
- * @return unknown
116
- */
117
- public function apply_form()
118
- {
119
- global $woocommerce;
120
-
121
- if ( !isset( $_POST[ 'apply_for_vendor' ] ) ) return false;
122
-
123
- if ( $this->terms_page && !isset( $_POST[ 'agree_to_terms' ] ) ) {
124
- wc_clear_notices();
125
- wc_add_notice( __( 'You must accept the terms and conditions to become a vendor.', 'wcvendors' ), 'error' );
126
- } else if ( isset( $_POST[ 'apply_for_vendor_submit' ] ) ) {
127
- self::save_pending( get_current_user_id() );
128
- }
129
-
130
- }
131
-
132
-
133
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/gateways/PayPal_AdvPayments/PayPal_AP/classes/index.php DELETED
File without changes
WCVendors/classes/includes/class-dependencies.php DELETED
@@ -1,78 +0,0 @@
1
- <?php
2
- /**
3
- * WCV Dependency Checker
4
- *
5
- * Checks if a required plugin is enabled
6
- */
7
-
8
- class WCV_Dependencies
9
- {
10
-
11
- private static $active_plugins;
12
-
13
-
14
- /**
15
- *
16
- */
17
- public static function init()
18
- {
19
- self::$active_plugins = (array) get_option( 'active_plugins', array() );
20
-
21
- if ( is_multisite() )
22
- self::$active_plugins = array_merge( self::$active_plugins, get_site_option( 'active_sitewide_plugins', array() ) );
23
- }
24
-
25
-
26
- /**
27
- *
28
- *
29
- * @return boolean
30
- */
31
- public static function woocommerce_active_check()
32
- {
33
- if ( !self::$active_plugins ) self::init();
34
-
35
- foreach ( self::$active_plugins as $plugin ) {
36
- if ( strpos( $plugin, '/woocommerce.php' ) ) return true;
37
- }
38
-
39
- return false;
40
- }
41
-
42
-
43
- /**
44
- *
45
- *
46
- * @return boolean
47
- */
48
- public static function jigoshop_active_check()
49
- {
50
- if ( !self::$active_plugins ) self::init();
51
-
52
- foreach ( self::$active_plugins as $plugin ) {
53
- if ( strpos( $plugin, '/jigoshop.php' ) ) return true;
54
- }
55
-
56
- return false;
57
- }
58
-
59
-
60
- /**
61
- *
62
- *
63
- * @return boolean
64
- */
65
- public static function edd_active_check()
66
- {
67
- if ( !self::$active_plugins ) self::init();
68
-
69
- foreach ( self::$active_plugins as $plugin ) {
70
- if ( strpos( $plugin, '/easy-digital-downloads.php' ) ) return true;
71
- }
72
-
73
- return false;
74
- }
75
-
76
-
77
- }
78
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/includes/class-functions.php DELETED
@@ -1,48 +0,0 @@
1
- <?php
2
-
3
- if ( !class_exists( 'WCV_Dependencies' ) ) require_once 'class-dependencies.php';
4
-
5
- /**
6
- * WC Detection
7
- * */
8
- if ( !function_exists( 'is_woocommerce_activated' ) ) {
9
- function is_woocommerce_activated()
10
- {
11
- return WCV_Dependencies::woocommerce_active_check();
12
- }
13
- }
14
-
15
- /**
16
- * JS Detection
17
- * */
18
- if ( !function_exists( 'is_jigoshop_activated' ) ) {
19
- function is_jigoshop_activated()
20
- {
21
- return WCV_Dependencies::jigoshop_active_check();
22
- }
23
- }
24
-
25
- /**
26
- * EDD Detection
27
- * */
28
- if ( !function_exists( 'is_edd_activated' ) ) {
29
- function is_edd_activated()
30
- {
31
- return WCV_Dependencies::edd_active_check();
32
- }
33
- }
34
-
35
- /*
36
- *
37
- * Get User Role
38
- */
39
- if (!function_exists('wcv_get_user_role')) {
40
- function wcv_get_user_role($user_id) {
41
- global $wp_roles;
42
- $user = new WP_User($user_id);
43
- $roles = $user->roles;
44
- $role = array_shift($roles);
45
- return isset($wp_roles->role_names[$role]) ? translate_user_role($wp_roles->role_names[$role] ) : false;
46
- }
47
- }
48
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/classes/includes/class-wcv-shortcodes.php DELETED
@@ -1,623 +0,0 @@
1
- <?php
2
- /**
3
- * WCV_Shortcodes class.
4
- *
5
- * @class WCV_Shortcodes
6
- * @version 1.0.0
7
- * @package WCVendors/Classes
8
- * @category Class
9
- * @author WC Vendors (Jamie Madden http://github.com/digitalchild)
10
- */
11
- class WCV_Shortcodes {
12
-
13
- /**
14
- * Initialise shortcodes
15
- */
16
- function __construct() {
17
- // Define shortcodes
18
-
19
- // Recent Products
20
- add_shortcode( 'wcv_recent_products', array( $this, 'recent_products'));
21
- // Products by vendor
22
- add_shortcode( 'wcv_products', array( $this, 'products'));
23
- //Featured products by vendor
24
- add_shortcode( 'wcv_featured_products', array( $this, 'featured_products'));
25
- // Sale products by vendor
26
- add_shortcode( 'wcv_sale_products', array( $this, 'sale_products'));
27
- // Top Rated products by vendor
28
- add_shortcode( 'wcv_top_rated_products', array( $this, 'top_rated_products'));
29
- // Best Selling product
30
- add_shortcode( 'wcv_best_selling_products', array( $this, 'best_selling_products'));
31
- // List products in a category shortcode
32
- add_shortcode( 'wcv_product_category', array( $this, 'product_category'));
33
- // List of paginated vendors
34
- add_shortcode( 'wcv_vendorslist', array( $this, 'wcv_vendorslist' ) );
35
-
36
- }
37
-
38
- public static function get_vendor ( $slug ) {
39
-
40
- $vendor_id = get_user_by('slug', $slug);
41
-
42
- if (!empty($vendor_id)) {
43
- $author = $vendor_id->ID;
44
- } else $author = '';
45
-
46
- return $author;
47
-
48
- }
49
-
50
- /*
51
-
52
- Get recent products based on vendor username
53
-
54
- */
55
- public static function recent_products( $atts ) {
56
- global $woocommerce_loop;
57
-
58
- extract( shortcode_atts( array(
59
- 'per_page' => '12',
60
- 'vendor' => '',
61
- 'columns' => '4',
62
- 'orderby' => 'date',
63
- 'order' => 'desc'
64
- ), $atts ) );
65
-
66
- $meta_query = WC()->query->get_meta_query();
67
-
68
- $args = array(
69
- 'post_type' => 'product',
70
- 'post_status' => 'publish',
71
- 'author' => self::get_vendor($vendor),
72
- 'ignore_sticky_posts' => 1,
73
- 'posts_per_page' => $per_page,
74
- 'orderby' => $orderby,
75
- 'order' => $order,
76
- 'meta_query' => $meta_query
77
- );
78
-
79
- ob_start();
80
-
81
- $products = new WP_Query( apply_filters( 'woocommerce_shortcode_products_query', $args, $atts ) );
82
-
83
- $woocommerce_loop['columns'] = $columns;
84
-
85
- if ( $products->have_posts() ) : ?>
86
-
87
- <?php woocommerce_product_loop_start(); ?>
88
-
89
- <?php while ( $products->have_posts() ) : $products->the_post(); ?>
90
-
91
- <?php wc_get_template_part( 'content', 'product' ); ?>
92
-
93
- <?php endwhile; // end of the loop. ?>
94
-
95
- <?php woocommerce_product_loop_end(); ?>
96
-
97
- <?php endif;
98
-
99
- wp_reset_postdata();
100
-
101
- return '<div class="woocommerce columns-' . $columns . '">' . ob_get_clean() . '</div>';
102
- }
103
-
104
- /**
105
- * List all products for a vendor shortcode
106
- *
107
- * @access public
108
- * @param array $atts
109
- * @return string
110
- */
111
- public static function products( $atts ) {
112
- global $woocommerce_loop;
113
-
114
- if ( empty( $atts ) ) return '';
115
-
116
- extract( shortcode_atts( array(
117
- 'vendor' => '',
118
- 'columns' => '4',
119
- 'orderby' => 'title',
120
- 'order' => 'asc'
121
- ), $atts ) );
122
-
123
-
124
-
125
- $args = array(
126
- 'post_type' => 'product',
127
- 'post_status' => 'publish',
128
- 'author' => self::get_vendor($vendor),
129
- 'ignore_sticky_posts' => 1,
130
- 'orderby' => $orderby,
131
- 'order' => $order,
132
- 'posts_per_page' => -1,
133
- 'meta_query' => array(
134
- array(
135
- 'key' => '_visibility',
136
- 'value' => array('catalog', 'visible'),
137
- 'compare' => 'IN'
138
- )
139
- )
140
- );
141
-
142
- if ( isset( $atts['skus'] ) ) {
143
- $skus = explode( ',', $atts['skus'] );
144
- $skus = array_map( 'trim', $skus );
145
- $args['meta_query'][] = array(
146
- 'key' => '_sku',
147
- 'value' => $skus,
148
- 'compare' => 'IN'
149
- );
150
- }
151
-
152
- if ( isset( $atts['ids'] ) ) {
153
- $ids = explode( ',', $atts['ids'] );
154
- $ids = array_map( 'trim', $ids );
155
- $args['post__in'] = $ids;
156
- }
157
-
158
- ob_start();
159
-
160
- $products = new WP_Query( apply_filters( 'woocommerce_shortcode_products_query', $args, $atts ) );
161
-
162
- $woocommerce_loop['columns'] = $columns;
163
-
164
- if ( $products->have_posts() ) : ?>
165
-
166
- <?php woocommerce_product_loop_start(); ?>
167
-
168
- <?php while ( $products->have_posts() ) : $products->the_post(); ?>
169
-
170
- <?php wc_get_template_part( 'content', 'product' ); ?>
171
-
172
- <?php endwhile; // end of the loop. ?>
173
-
174
- <?php woocommerce_product_loop_end(); ?>
175
-
176
- <?php endif;
177
-
178
- wp_reset_postdata();
179
-
180
- return '<div class="woocommerce columns-' . $columns . '">' . ob_get_clean() . '</div>';
181
- }
182
-
183
-
184
- /**
185
- * Output featured products
186
- *
187
- * @access public
188
- * @param array $atts
189
- * @return string
190
- */
191
- public static function featured_products( $atts ) {
192
- global $woocommerce_loop;
193
-
194
- extract( shortcode_atts( array(
195
- 'vendor' => '',
196
- 'per_page' => '12',
197
- 'columns' => '4',
198
- 'orderby' => 'date',
199
- 'order' => 'desc'
200
- ), $atts ) );
201
-
202
- $args = array(
203
- 'post_type' => 'product',
204
- 'post_status' => 'publish',
205
- 'author' => self::get_vendor($vendor),
206
- 'ignore_sticky_posts' => 1,
207
- 'posts_per_page' => $per_page,
208
- 'orderby' => $orderby,
209
- 'order' => $order,
210
- 'meta_query' => array(
211
- array(
212
- 'key' => '_visibility',
213
- 'value' => array('catalog', 'visible'),
214
- 'compare' => 'IN'
215
- ),
216
- array(
217
- 'key' => '_featured',
218
- 'value' => 'yes'
219
- )
220
- )
221
- );
222
-
223
- ob_start();
224
-
225
- $products = new WP_Query( apply_filters( 'woocommerce_shortcode_products_query', $args, $atts ) );
226
-
227
- $woocommerce_loop['columns'] = $columns;
228
-
229
- if ( $products->have_posts() ) : ?>
230
-
231
- <?php woocommerce_product_loop_start(); ?>
232
-
233
- <?php while ( $products->have_posts() ) : $products->the_post(); ?>
234
-
235
- <?php wc_get_template_part( 'content', 'product' ); ?>
236
-
237
- <?php endwhile; // end of the loop. ?>
238
-
239
- <?php woocommerce_product_loop_end(); ?>
240
-
241
- <?php endif;
242
-
243
- wp_reset_postdata();
244
-
245
- return '<div class="woocommerce columns-' . $columns . '">' . ob_get_clean() . '</div>';
246
- }
247
-
248
- /**
249
- * List all products on sale
250
- *
251
- * @access public
252
- * @param array $atts
253
- * @return string
254
- */
255
- public static function sale_products( $atts ) {
256
- global $woocommerce_loop;
257
-
258
- extract( shortcode_atts( array(
259
- 'vendor' => '',
260
- 'per_page' => '12',
261
- 'columns' => '4',
262
- 'orderby' => 'title',
263
- 'order' => 'asc'
264
- ), $atts ) );
265
-
266
- // Get products on sale
267
- $product_ids_on_sale = wc_get_product_ids_on_sale();
268
-
269
- $meta_query = array();
270
- $meta_query[] = WC()->query->visibility_meta_query();
271
- $meta_query[] = WC()->query->stock_status_meta_query();
272
- $meta_query = array_filter( $meta_query );
273
-
274
- $args = array(
275
- 'posts_per_page' => $per_page,
276
- 'author' => self::get_vendor($vendor),
277
- 'orderby' => $orderby,
278
- 'order' => $order,
279
- 'no_found_rows' => 1,
280
- 'post_status' => 'publish',
281
- 'post_type' => 'product',
282
- 'meta_query' => $meta_query,
283
- 'post__in' => array_merge( array( 0 ), $product_ids_on_sale )
284
- );
285
-
286
- ob_start();
287
-
288
- $products = new WP_Query( apply_filters( 'woocommerce_shortcode_products_query', $args, $atts ) );
289
-
290
- $woocommerce_loop['columns'] = $columns;
291
-
292
- if ( $products->have_posts() ) : ?>
293
-
294
- <?php woocommerce_product_loop_start(); ?>
295
-
296
- <?php while ( $products->have_posts() ) : $products->the_post(); ?>
297
-
298
- <?php wc_get_template_part( 'content', 'product' ); ?>
299
-
300
- <?php endwhile; // end of the loop. ?>
301
-
302
- <?php woocommerce_product_loop_end(); ?>
303
-
304
- <?php endif;
305
-
306
- wp_reset_postdata();
307
-
308
- return '<div class="woocommerce columns-' . $columns . '">' . ob_get_clean() . '</div>';
309
- }
310
-
311
- /**
312
- * List top rated products on sale by vendor
313
- *
314
- * @access public
315
- * @param array $atts
316
- * @return string
317
- */
318
- public static function top_rated_products( $atts ) {
319
- global $woocommerce_loop;
320
-
321
- extract( shortcode_atts( array(
322
- 'vendor' => '',
323
- 'per_page' => '12',
324
- 'columns' => '4',
325
- 'orderby' => 'title',
326
- 'order' => 'asc'
327
- ), $atts ) );
328
-
329
- $args = array(
330
- 'post_type' => 'product',
331
- 'author' => self::get_vendor($vendor),
332
- 'post_status' => 'publish',
333
- 'ignore_sticky_posts' => 1,
334
- 'orderby' => $orderby,
335
- 'order' => $order,
336
- 'posts_per_page' => $per_page,
337
- 'meta_query' => array(
338
- array(
339
- 'key' => '_visibility',
340
- 'value' => array('catalog', 'visible'),
341
- 'compare' => 'IN'
342
- )
343
- )
344
- );
345
-
346
- ob_start();
347
-
348
- add_filter( 'posts_clauses', array( 'WC_Shortcodes', 'order_by_rating_post_clauses' ) );
349
-
350
- $products = new WP_Query( apply_filters( 'woocommerce_shortcode_products_query', $args, $atts ) );
351
-
352
- remove_filter( 'posts_clauses', array( 'WC_Shortcodes', 'order_by_rating_post_clauses' ) );
353
-
354
- $woocommerce_loop['columns'] = $columns;
355
-
356
- if ( $products->have_posts() ) : ?>
357
-
358
- <?php woocommerce_product_loop_start(); ?>
359
-
360
- <?php while ( $products->have_posts() ) : $products->the_post(); ?>
361
-
362
- <?php wc_get_template_part( 'content', 'product' ); ?>
363
-
364
- <?php endwhile; // end of the loop. ?>
365
-
366
- <?php woocommerce_product_loop_end(); ?>
367
-
368
- <?php endif;
369
-
370
- wp_reset_postdata();
371
-
372
- return '<div class="woocommerce columns-' . $columns . '">' . ob_get_clean() . '</div>';
373
- }
374
-
375
- /**
376
- * List best selling products on sale per vendor
377
- *
378
- * @access public
379
- * @param array $atts
380
- * @return string
381
- */
382
- public static function best_selling_products( $atts ) {
383
- global $woocommerce_loop;
384
-
385
- extract( shortcode_atts( array(
386
- 'vendor' => '',
387
- 'per_page' => '12',
388
- 'columns' => '4'
389
- ), $atts ) );
390
-
391
- $args = array(
392
- 'post_type' => 'product',
393
- 'post_status' => 'publish',
394
- 'author' => self::get_vendor($vendor),
395
- 'ignore_sticky_posts' => 1,
396
- 'posts_per_page' => $per_page,
397
- 'meta_key' => 'total_sales',
398
- 'orderby' => 'meta_value_num',
399
- 'meta_query' => array(
400
- array(
401
- 'key' => '_visibility',
402
- 'value' => array( 'catalog', 'visible' ),
403
- 'compare' => 'IN'
404
- )
405
- )
406
- );
407
-
408
- ob_start();
409
-
410
- $products = new WP_Query( apply_filters( 'woocommerce_shortcode_products_query', $args, $atts ) );
411
-
412
- $woocommerce_loop['columns'] = $columns;
413
-
414
- if ( $products->have_posts() ) : ?>
415
-
416
- <?php woocommerce_product_loop_start(); ?>
417
-
418
- <?php while ( $products->have_posts() ) : $products->the_post(); ?>
419
-
420
- <?php wc_get_template_part( 'content', 'product' ); ?>
421
-
422
- <?php endwhile; // end of the loop. ?>
423
-
424
- <?php woocommerce_product_loop_end(); ?>
425
-
426
- <?php endif;
427
-
428
- wp_reset_postdata();
429
-
430
- return '<div class="woocommerce columns-' . $columns . '">' . ob_get_clean() . '</div>';
431
- }
432
-
433
- /**
434
- * List products in a category shortcode
435
- *
436
- * @access public
437
- * @param array $atts
438
- * @return string
439
- */
440
- public static function product_category( $atts ) {
441
- global $woocommerce_loop;
442
-
443
- extract( shortcode_atts( array(
444
- 'vendor' => '',
445
- 'per_page' => '12',
446
- 'columns' => '4',
447
- 'orderby' => 'title',
448
- 'order' => 'desc',
449
- 'category' => '', // Slugs
450
- 'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
451
- ), $atts ) );
452
-
453
- if ( ! $category ) {
454
- return '';
455
- }
456
-
457
- // Default ordering args
458
- $ordering_args = WC()->query->get_catalog_ordering_args( $orderby, $order );
459
-
460
- $args = array(
461
- 'post_type' => 'product',
462
- 'post_status' => 'publish',
463
- 'author' => self::get_vendor($vendor),
464
- 'ignore_sticky_posts' => 1,
465
- 'orderby' => $ordering_args['orderby'],
466
- 'order' => $ordering_args['order'],
467
- 'posts_per_page' => $per_page,
468
- 'meta_query' => array(
469
- array(
470
- 'key' => '_visibility',
471
- 'value' => array('catalog', 'visible'),
472
- 'compare' => 'IN'
473
- )
474
- ),
475
- 'tax_query' => array(
476
- array(
477
- 'taxonomy' => 'product_cat',
478
- 'terms' => array_map( 'sanitize_title', explode( ',', $category ) ),
479
- 'field' => 'slug',
480
- 'operator' => $operator
481
- )
482
- )
483
- );
484
-
485
- if ( isset( $ordering_args['meta_key'] ) ) {
486
- $args['meta_key'] = $ordering_args['meta_key'];
487
- }
488
-
489
- ob_start();
490
-
491
- $products = new WP_Query( apply_filters( 'woocommerce_shortcode_products_query', $args, $atts ) );
492
-
493
- $woocommerce_loop['columns'] = $columns;
494
-
495
- if ( $products->have_posts() ) : ?>
496
-
497
- <?php woocommerce_product_loop_start(); ?>
498
-
499
- <?php while ( $products->have_posts() ) : $products->the_post(); ?>
500
-
501
- <?php wc_get_template_part( 'content', 'product' ); ?>
502
-
503
- <?php endwhile; // end of the loop. ?>
504
-
505
- <?php woocommerce_product_loop_end(); ?>
506
-
507
- <?php endif;
508
-
509
- woocommerce_reset_loop();
510
- wp_reset_postdata();
511
-
512
- $return = '<div class="woocommerce columns-' . $columns . '">' . ob_get_clean() . '</div>';
513
-
514
- // Remove ordering query arguments
515
- WC()->query->remove_ordering_args();
516
-
517
- return $return;
518
- }
519
-
520
- /**
521
- * vendors_with_products - Get vendors with products pubilc or private
522
- * @param array $query
523
- */
524
- public function vendors_with_products( $query ) {
525
-
526
- if ( isset( $query->query_vars['query_id'] ) && 'vendors_with_products' == $query->query_vars['query_id'] ) {
527
- $query->query_from = $query->query_from . ' LEFT OUTER JOIN (
528
- SELECT post_author, COUNT(*) as post_count
529
- FROM wp_posts
530
- WHERE post_type = "product" AND (post_status = "publish" OR post_status = "private")
531
- GROUP BY post_author
532
- ) p ON (wp_users.ID = p.post_author)';
533
- $query->query_where = $query->query_where . ' AND post_count > 0 ';
534
- }
535
- }
536
-
537
- /**
538
- * list of vendors
539
- *
540
- * @param $atts shortcode attributs
541
- */
542
- public function wcv_vendorslist( $atts ) {
543
-
544
- $html = '';
545
-
546
- extract( shortcode_atts( array(
547
- 'orderby' => 'registered',
548
- 'order' => 'ASC',
549
- 'per_page' => '12',
550
- 'columns' => '4'
551
- ), $atts ) );
552
-
553
- $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
554
- $offset = ($paged - 1) * $per_page;
555
-
556
- // Hook into the user query to modify the query to return users that have at least one product
557
- add_action( 'pre_user_query', array( $this, 'vendors_with_products' ) );
558
-
559
- // Get all vendors
560
- $vendor_total_args = array (
561
- 'role' => 'vendor',
562
- 'meta_key' => 'pv_shop_slug',
563
- 'meta_value' => '',
564
- 'meta_compare' => '>',
565
- 'orderby' => $orderby,
566
- 'order' => $order,
567
- 'query_id' => 'vendors_with_products',
568
- );
569
- $vendor_query = New WP_User_Query( $vendor_total_args );
570
- $all_vendors =$vendor_query->get_results();
571
-
572
- // Get the paged vendors
573
- $vendor_paged_args = array (
574
- 'role' => 'vendor',
575
- 'meta_key' => 'pv_shop_slug',
576
- 'meta_value' => '',
577
- 'meta_compare' => '>',
578
- 'orderby' => $orderby,
579
- 'order' => $order,
580
- 'offset' => $offset,
581
- 'number' => $per_page,
582
- 'query_id' => 'vendors_with_products',
583
- );
584
- $vendor_paged_query = New WP_User_Query( $vendor_paged_args );
585
- $paged_vendors = $vendor_query->get_results();
586
-
587
- // Pagination calcs
588
- $total_vendors = count($all_vendors);
589
- $total_vendors_paged = count($paged_vendors);
590
- $total_pages = intval($total_vendors / $per_page) + 1;
591
-
592
- ob_start();
593
-
594
- // Loop through all vendors and output a simple link to their vendor pages
595
- foreach ($paged_vendors as $vendor) {
596
- wc_get_template( 'vendor-list.php', array(
597
- 'shop_link' => WCV_Vendors::get_vendor_shop_page($vendor->ID),
598
- 'shop_name' => $vendor->pv_shop_name,
599
- 'vendor_id' => $vendor->ID,
600
- 'shop_description' => $vendor->pv_shop_description,
601
- ), 'wc-product-vendor/front/', wcv_plugin_dir . 'views/front/' );
602
- } // End foreach
603
-
604
- $html .= '<ul class="wcv_vendorslist">' . ob_get_clean() . '</ul>';
605
-
606
- if ($total_vendors > $total_vendors_paged) {
607
- $html .= '<div class="wcv_pagination">';
608
- $current_page = max( 1, get_query_var('paged') );
609
- $html .= paginate_links( array(
610
- 'base' => get_pagenum_link(1) . '%_%',
611
- 'format' => 'page/%#%/',
612
- 'current' => $current_page,
613
- 'total' => $total_pages,
614
- 'prev_next' => false,
615
- 'type' => 'list',
616
- ));
617
- $html .= '</div>';
618
- }
619
-
620
- return $html;
621
- }
622
-
623
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/languages/default.mo DELETED
Binary file
WCVendors/languages/default.pot DELETED
@@ -1,1451 +0,0 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: WC Vendors\n"
4
- "POT-Creation-Date: 2015-01-08 14:31+1000\n"
5
- "PO-Revision-Date: 2015-01-08 14:31+1000\n"
6
- "Last-Translator: \n"
7
- "Language-Team: WC Vendors <support@wcvendors.com>\n"
8
- "Language: en\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.7.1\n"
13
- "X-Poedit-Basepath: .\n"
14
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
- "X-Poedit-SourceCharset: UTF-8\n"
16
- "X-Poedit-KeywordsList: __;_e\n"
17
- "X-Poedit-SearchPath-0: .\n"
18
- "X-Poedit-SearchPath-1: ..\n"
19
-
20
- #: ../classes/admin/class-admin-page.php:28
21
- msgid "Vendors shipped"
22
- msgstr ""
23
-
24
- #: ../classes/admin/class-admin-page.php:51
25
- msgid "Vendors Shipped"
26
- msgstr ""
27
-
28
- #: ../classes/admin/class-admin-page.php:73
29
- #: ../classes/admin/class-admin-page.php:133
30
- #: ../classes/admin/class-admin-reports.php:345
31
- #: ../classes/admin/class-product-meta.php:148
32
- #: ../classes/admin/class-product-meta.php:164
33
- #: ../views/dashboard/reports.php:19
34
- msgid "Commission"
35
- msgstr ""
36
-
37
- #: ../classes/admin/class-admin-page.php:252
38
- #: ../classes/admin/class-admin-reports.php:175
39
- #: ../views/dashboard/reports.php:17 ../views/emails/admin-new-order.php:22
40
- #: ../views/emails/notify-vendor-shipped.php:22
41
- msgid "Product"
42
- msgstr ""
43
-
44
- #: ../classes/admin/class-admin-page.php:253
45
- msgid "Order ID"
46
- msgstr ""
47
-
48
- #: ../classes/admin/class-admin-page.php:254
49
- #: ../classes/admin/class-admin-reports.php:176
50
- #: ../classes/admin/class-product-meta.php:44
51
- #: ../classes/admin/class-product-meta.php:184
52
- #: ../classes/admin/class-product-meta.php:220
53
- msgid "Vendor"
54
- msgstr ""
55
-
56
- #: ../classes/admin/class-admin-page.php:255
57
- #: ../classes/admin/class-admin-reports.php:177
58
- #: ../classes/admin/class-admin-reports.php:350
59
- #: ../classes/admin/class-admin-reports.php:374
60
- #: ../views/dashboard/orders.php:25
61
- msgid "Total"
62
- msgstr ""
63
-
64
- #: ../classes/admin/class-admin-page.php:256
65
- #: ../classes/admin/class-admin-reports.php:179
66
- msgid "Status"
67
- msgstr ""
68
-
69
- #: ../classes/admin/class-admin-page.php:257
70
- #: ../classes/front/orders/class-orders.php:216
71
- #: ../views/dashboard/orders.php:26
72
- msgid "Date"
73
- msgstr ""
74
-
75
- #: ../classes/admin/class-admin-page.php:294
76
- msgid "Mark paid"
77
- msgstr ""
78
-
79
- #: ../classes/admin/class-admin-page.php:295
80
- msgid "Mark due"
81
- msgstr ""
82
-
83
- #: ../classes/admin/class-admin-page.php:296
84
- msgid "Mark reversed"
85
- msgstr ""
86
-
87
- #: ../classes/admin/class-admin-page.php:313
88
- msgid "Filter"
89
- msgstr ""
90
-
91
- #: ../classes/admin/class-admin-page.php:347
92
- msgid "Show all dates"
93
- msgstr ""
94
-
95
- #: ../classes/admin/class-admin-page.php:360
96
- #, php-format
97
- msgid "%1$s %2$d"
98
- msgstr ""
99
-
100
- #: ../classes/admin/class-admin-page.php:386
101
- msgid "Commission marked paid."
102
- msgstr ""
103
-
104
- #: ../classes/admin/class-admin-page.php:393
105
- msgid "Commission marked due."
106
- msgstr ""
107
-
108
- #: ../classes/admin/class-admin-page.php:400
109
- msgid "Commission marked reversed."
110
- msgstr ""
111
-
112
- #: ../classes/admin/class-admin-reports.php:41
113
- #: ../classes/admin/class-admin-users.php:349
114
- msgid "WC Vendors"
115
- msgstr ""
116
-
117
- #: ../classes/admin/class-admin-reports.php:44
118
- msgid "Overview"
119
- msgstr ""
120
-
121
- #: ../classes/admin/class-admin-reports.php:50
122
- msgid "Commission by vendor"
123
- msgstr ""
124
-
125
- #: ../classes/admin/class-admin-reports.php:56
126
- msgid "Commission by product"
127
- msgstr ""
128
-
129
- #: ../classes/admin/class-admin-reports.php:115
130
- #: ../views/dashboard/date-picker.php:3
131
- msgid "From:"
132
- msgstr ""
133
-
134
- #: ../classes/admin/class-admin-reports.php:119
135
- #: ../views/dashboard/date-picker.php:7
136
- msgid "To:"
137
- msgstr ""
138
-
139
- #: ../classes/admin/class-admin-reports.php:122
140
- #: ../classes/admin/class-admin-reports.php:283
141
- #: ../views/dashboard/date-picker.php:12
142
- msgid "Show"
143
- msgstr ""
144
-
145
- #: ../classes/admin/class-admin-reports.php:133
146
- msgid "Total paid in range"
147
- msgstr ""
148
-
149
- #: ../classes/admin/class-admin-reports.php:136
150
- #: ../classes/admin/class-admin-reports.php:143
151
- #: ../classes/admin/class-admin-reports.php:150
152
- msgid "n/a"
153
- msgstr ""
154
-
155
- #: ../classes/admin/class-admin-reports.php:140
156
- msgid "Total due in range"
157
- msgstr ""
158
-
159
- #: ../classes/admin/class-admin-reports.php:147
160
- msgid "Total reversed in range"
161
- msgstr ""
162
-
163
- #: ../classes/admin/class-admin-reports.php:157
164
- msgid "Recent Commission"
165
- msgstr ""
166
-
167
- #: ../classes/admin/class-admin-reports.php:174
168
- #: ../classes/front/orders/class-orders.php:208
169
- #: ../views/dashboard/orders.php:23
170
- msgid "Order"
171
- msgstr ""
172
-
173
- #: ../classes/admin/class-admin-reports.php:178
174
- msgid "Date &amp; Time"
175
- msgstr ""
176
-
177
- #: ../classes/admin/class-admin-reports.php:187
178
- msgid "N/A"
179
- msgstr ""
180
-
181
- #: ../classes/admin/class-admin-reports.php:192
182
- msgid "D j M Y \\a\\t h:ia"
183
- msgstr ""
184
-
185
- #: ../classes/admin/class-admin-reports.php:201
186
- msgid "No commission yet"
187
- msgstr ""
188
-
189
- #: ../classes/admin/class-admin-reports.php:232
190
- msgid "Show:"
191
- msgstr ""
192
-
193
- #: ../classes/admin/class-admin-reports.php:243
194
- msgid "Year"
195
- msgstr ""
196
-
197
- #: ../classes/admin/class-admin-reports.php:276
198
- msgid "Select a vendor&hellip;"
199
- msgstr ""
200
-
201
- #: ../classes/admin/class-admin-reports.php:344
202
- msgid "Month"
203
- msgstr ""
204
-
205
- #: ../classes/admin/class-admin-reports.php:346
206
- msgid "Tax"
207
- msgstr ""
208
-
209
- #: ../classes/admin/class-admin-reports.php:347
210
- #: ../views/dashboard/orders.php:24 ../views/orders/orders.php:113
211
- msgid "Shipping"
212
- msgstr ""
213
-
214
- #: ../classes/admin/class-admin-reports.php:348
215
- msgid "Reversed"
216
- msgstr ""
217
-
218
- #: ../classes/admin/class-admin-reports.php:349
219
- msgid "Paid"
220
- msgstr ""
221
-
222
- #: ../classes/admin/class-admin-users.php:359
223
- msgid "Enable HTML for the shop description"
224
- msgstr ""
225
-
226
- #: ../classes/admin/class-admin-users.php:365
227
- msgid "Shop name"
228
- msgstr ""
229
-
230
- #: ../classes/admin/class-admin-users.php:372
231
- msgid "PayPal E-mail"
232
- msgstr ""
233
-
234
- #: ../classes/admin/class-admin-users.php:373
235
- msgid "required"
236
- msgstr ""
237
-
238
- #: ../classes/admin/class-admin-users.php:380
239
- msgid "Commission rate"
240
- msgstr ""
241
-
242
- #: ../classes/admin/class-admin-users.php:381
243
- #: ../classes/admin/class-product-meta.php:171
244
- msgid "Leave blank for default"
245
- msgstr ""
246
-
247
- #: ../classes/admin/class-admin-users.php:387
248
- #: ../classes/front/class-vendor-shop.php:103
249
- #: ../views/dashboard/settings/seller-info.php:3
250
- msgid "Seller info"
251
- msgstr ""
252
-
253
- #: ../classes/admin/class-admin-users.php:392
254
- msgid "Shop description"
255
- msgstr ""
256
-
257
- #: ../classes/admin/class-vendor-applicants.php:26
258
- msgid "Approve"
259
- msgstr ""
260
-
261
- #: ../classes/admin/class-vendor-applicants.php:27
262
- msgid "Deny"
263
- msgstr ""
264
-
265
- #: ../classes/admin/class-vendor-applicants.php:71
266
- msgid "Vendor has been <b>denied</b>."
267
- msgstr ""
268
-
269
- #: ../classes/admin/class-vendor-applicants.php:82
270
- msgid "Vendor has been <b>approved</b>."
271
- msgstr ""
272
-
273
- #: ../classes/admin/class-vendor-applicants.php:96
274
- msgid "Pending Vendors"
275
- msgstr ""
276
-
277
- #: ../classes/admin/emails/class-emails.php:55
278
- #: ../classes/admin/emails/class-wc-approve-vendor.php:70
279
- msgid "pending"
280
- msgstr ""
281
-
282
- #: ../classes/admin/emails/class-emails.php:57
283
- msgid "approved"
284
- msgstr ""
285
-
286
- #: ../classes/admin/emails/class-emails.php:59
287
- msgid "denied"
288
- msgstr ""
289
-
290
- #: ../classes/admin/emails/class-emails.php:87
291
- #: ../classes/front/class-vendor-cart.php:60
292
- #: ../classes/front/class-vendor-shop.php:178
293
- msgid "Sold by: "
294
- msgstr ""
295
-
296
- #: ../classes/admin/emails/class-wc-approve-vendor.php:28
297
- msgid "Vendor Application"
298
- msgstr ""
299
-
300
- #: ../classes/admin/emails/class-wc-approve-vendor.php:29
301
- msgid "Vendor application will either be approved, denied, or pending."
302
- msgstr ""
303
-
304
- #: ../classes/admin/emails/class-wc-approve-vendor.php:31
305
- msgid "Application {status}"
306
- msgstr ""
307
-
308
- #: ../classes/admin/emails/class-wc-approve-vendor.php:32
309
- msgid "[{blogname}] Your vendor application has been {status}"
310
- msgstr ""
311
-
312
- #: ../classes/admin/emails/class-wc-approve-vendor.php:123
313
- #: ../classes/admin/emails/class-wc-notify-admin.php:129
314
- #: ../classes/admin/emails/class-wc-notify-shipped.php:163
315
- #: ../classes/admin/emails/class-wc-notify-vendor.php:230
316
- msgid "Enable/Disable"
317
- msgstr ""
318
-
319
- #: ../classes/admin/emails/class-wc-approve-vendor.php:125
320
- #: ../classes/admin/emails/class-wc-notify-admin.php:131
321
- #: ../classes/admin/emails/class-wc-notify-shipped.php:165
322
- #: ../classes/admin/emails/class-wc-notify-vendor.php:232
323
- msgid "Enable this email notification"
324
- msgstr ""
325
-
326
- #: ../classes/admin/emails/class-wc-approve-vendor.php:129
327
- #: ../classes/admin/emails/class-wc-notify-admin.php:135
328
- msgid "Recipient(s)"
329
- msgstr ""
330
-
331
- #: ../classes/admin/emails/class-wc-approve-vendor.php:131
332
- #: ../classes/admin/emails/class-wc-notify-admin.php:137
333
- #, php-format
334
- msgid ""
335
- "Enter recipients (comma separated) for this email. Defaults to <code>%s</"
336
- "code>."
337
- msgstr ""
338
-
339
- #: ../classes/admin/emails/class-wc-approve-vendor.php:136
340
- #: ../classes/admin/emails/class-wc-notify-admin.php:142
341
- #: ../classes/admin/emails/class-wc-notify-shipped.php:169
342
- #: ../classes/admin/emails/class-wc-notify-vendor.php:236
343
- msgid "Subject"
344
- msgstr ""
345
-
346
- #: ../classes/admin/emails/class-wc-approve-vendor.php:138
347
- #: ../classes/admin/emails/class-wc-notify-admin.php:144
348
- #: ../classes/admin/emails/class-wc-notify-shipped.php:171
349
- #: ../classes/admin/emails/class-wc-notify-vendor.php:238
350
- #, php-format
351
- msgid ""
352
- "This controls the email subject line. Leave blank to use the default "
353
- "subject: <code>%s</code>."
354
- msgstr ""
355
-
356
- #: ../classes/admin/emails/class-wc-approve-vendor.php:143
357
- #: ../classes/admin/emails/class-wc-notify-admin.php:149
358
- #: ../classes/admin/emails/class-wc-notify-shipped.php:176
359
- #: ../classes/admin/emails/class-wc-notify-vendor.php:243
360
- msgid "Email Heading"
361
- msgstr ""
362
-
363
- #: ../classes/admin/emails/class-wc-approve-vendor.php:145
364
- #: ../classes/admin/emails/class-wc-notify-admin.php:151
365
- #: ../classes/admin/emails/class-wc-notify-shipped.php:178
366
- #: ../classes/admin/emails/class-wc-notify-vendor.php:245
367
- #, php-format
368
- msgid ""
369
- "This controls the main heading contained within the email notification. "
370
- "Leave blank to use the default heading: <code>%s</code>."
371
- msgstr ""
372
-
373
- #: ../classes/admin/emails/class-wc-approve-vendor.php:150
374
- #: ../classes/admin/emails/class-wc-notify-admin.php:156
375
- #: ../classes/admin/emails/class-wc-notify-shipped.php:183
376
- #: ../classes/admin/emails/class-wc-notify-vendor.php:250
377
- msgid "Email type"
378
- msgstr ""
379
-
380
- #: ../classes/admin/emails/class-wc-approve-vendor.php:152
381
- #: ../classes/admin/emails/class-wc-notify-admin.php:158
382
- #: ../classes/admin/emails/class-wc-notify-shipped.php:185
383
- #: ../classes/admin/emails/class-wc-notify-vendor.php:252
384
- msgid "Choose which format of email to send."
385
- msgstr ""
386
-
387
- #: ../classes/admin/emails/class-wc-approve-vendor.php:156
388
- #: ../classes/admin/emails/class-wc-notify-admin.php:162
389
- #: ../classes/admin/emails/class-wc-notify-shipped.php:189
390
- #: ../classes/admin/emails/class-wc-notify-vendor.php:256
391
- msgid "Plain text"
392
- msgstr ""
393
-
394
- #: ../classes/admin/emails/class-wc-approve-vendor.php:157
395
- #: ../classes/admin/emails/class-wc-notify-admin.php:163
396
- #: ../classes/admin/emails/class-wc-notify-shipped.php:190
397
- #: ../classes/admin/emails/class-wc-notify-vendor.php:257
398
- msgid "HTML"
399
- msgstr ""
400
-
401
- #: ../classes/admin/emails/class-wc-approve-vendor.php:158
402
- #: ../classes/admin/emails/class-wc-notify-admin.php:164
403
- #: ../classes/admin/emails/class-wc-notify-shipped.php:191
404
- #: ../classes/admin/emails/class-wc-notify-vendor.php:258
405
- msgid "Multipart"
406
- msgstr ""
407
-
408
- #: ../classes/admin/emails/class-wc-notify-admin.php:28
409
- msgid "New Vendor Product"
410
- msgstr ""
411
-
412
- #: ../classes/admin/emails/class-wc-notify-admin.php:29
413
- msgid "New order emails are sent when a new product is submitted by a vendor"
414
- msgstr ""
415
-
416
- #: ../classes/admin/emails/class-wc-notify-admin.php:31
417
- msgid "New product submitted: {product_name}"
418
- msgstr ""
419
-
420
- #: ../classes/admin/emails/class-wc-notify-admin.php:32
421
- msgid "[{blogname}] New product submitted by {vendor_name} - {product_name}"
422
- msgstr ""
423
-
424
- #: ../classes/admin/emails/class-wc-notify-shipped.php:28
425
- msgid "Vendor has shipped"
426
- msgstr ""
427
-
428
- #: ../classes/admin/emails/class-wc-notify-shipped.php:29
429
- msgid ""
430
- "An email is sent when a vendor has marked one of their orders as shipped."
431
- msgstr ""
432
-
433
- #: ../classes/admin/emails/class-wc-notify-shipped.php:31
434
- msgid "Your order has been shipped"
435
- msgstr ""
436
-
437
- #: ../classes/admin/emails/class-wc-notify-shipped.php:32
438
- msgid ""
439
- "[{blogname}] Your order has been shipped ({order_number}) - {order_date}"
440
- msgstr ""
441
-
442
- #: ../classes/admin/emails/class-wc-notify-shipped.php:112
443
- msgid "Subtotal:"
444
- msgstr ""
445
-
446
- #: ../classes/admin/emails/class-wc-notify-vendor.php:27
447
- msgid "Notify vendors"
448
- msgstr ""
449
-
450
- #: ../classes/admin/emails/class-wc-notify-vendor.php:28
451
- msgid "New order emails are sent when an order is received/paid by a customer."
452
- msgstr ""
453
-
454
- #: ../classes/admin/emails/class-wc-notify-vendor.php:30
455
- msgid "New customer order"
456
- msgstr ""
457
-
458
- #: ../classes/admin/emails/class-wc-notify-vendor.php:31
459
- msgid "[{blogname}] New customer order ({order_number}) - {order_date}"
460
- msgstr ""
461
-
462
- #: ../classes/admin/emails/class-wc-notify-vendor.php:103
463
- msgid "Commission Subtotal:"
464
- msgstr ""
465
-
466
- #: ../classes/admin/emails/class-wc-notify-vendor.php:110
467
- msgid "Shipping Subtotal:"
468
- msgstr ""
469
-
470
- #: ../classes/admin/settings/classes/sf-class-format-options.php:211
471
- #: ../classes/admin/settings/classes/sf-class-settings.php:773
472
- msgid "Select a page..."
473
- msgstr ""
474
-
475
- #: ../classes/admin/settings/classes/sf-class-settings.php:153
476
- #: ../views/dashboard/settings/settings.php:1
477
- msgid "Settings"
478
- msgstr ""
479
-
480
- #: ../classes/admin/settings/classes/sf-class-settings.php:297
481
- msgid "Could not load settings at: "
482
- msgstr ""
483
-
484
- #: ../classes/admin/settings/classes/sf-class-settings.php:297
485
- msgid "Error - WP Settings Framework"
486
- msgstr ""
487
-
488
- #: ../classes/admin/settings/classes/sf-class-settings.php:363
489
- #: ../classes/front/dashboard/class-vendor-dashboard.php:96
490
- msgid "Settings saved."
491
- msgstr ""
492
-
493
- #: ../classes/admin/settings/classes/sf-class-settings.php:479
494
- #, php-format
495
- msgid "Save %s changes"
496
- msgstr ""
497
-
498
- #: ../classes/admin/settings/sf-options.php:4
499
- msgid "General"
500
- msgstr ""
501
-
502
- #: ../classes/admin/settings/sf-options.php:5
503
- msgid "General options"
504
- msgstr ""
505
-
506
- #: ../classes/admin/settings/sf-options.php:5
507
- #: ../classes/admin/settings/sf-options.php:45
508
- #: ../classes/admin/settings/sf-options.php:223
509
- msgid " "
510
- msgstr ""
511
-
512
- #: ../classes/admin/settings/sf-options.php:8
513
- msgid "Default commission (%)"
514
- msgstr ""
515
-
516
- #: ../classes/admin/settings/sf-options.php:9
517
- msgid ""
518
- "The default rate the vendor receives for each product. If a product has a "
519
- "commission rate already set, this value will be ignored for that product."
520
- msgstr ""
521
-
522
- #: ../classes/admin/settings/sf-options.php:20
523
- msgid "Registration"
524
- msgstr ""
525
-
526
- #: ../classes/admin/settings/sf-options.php:21
527
- msgid "Allow users or guests to apply to become a vendor"
528
- msgstr ""
529
-
530
- #: ../classes/admin/settings/sf-options.php:22
531
- msgid ""
532
- "This will show a checkbox on the My Account page's registration form asking "
533
- "if the user would like to apply to be a vendor. Also, on the Vendor "
534
- "Dashboard, users can apply to become a vendor."
535
- msgstr ""
536
-
537
- #: ../classes/admin/settings/sf-options.php:29
538
- msgid "Approve vendor applications manually"
539
- msgstr ""
540
-
541
- #: ../classes/admin/settings/sf-options.php:30
542
- msgid ""
543
- "With this unchecked, all vendor applications are automatically accepted. "
544
- "Otherwise, you must approve each manually."
545
- msgstr ""
546
-
547
- #: ../classes/admin/settings/sf-options.php:37
548
- msgid "Taxes"
549
- msgstr ""
550
-
551
- #: ../classes/admin/settings/sf-options.php:38
552
- msgid "Give vendors any tax collected per-product"
553
- msgstr ""
554
-
555
- #: ../classes/admin/settings/sf-options.php:39
556
- msgid ""
557
- "The tax collected on a vendor's product will be given to him in its entirety"
558
- msgstr ""
559
-
560
- #: ../classes/admin/settings/sf-options.php:45
561
- msgid "Shop options"
562
- msgstr ""
563
-
564
- #: ../classes/admin/settings/sf-options.php:48
565
- msgid "Shop HTML"
566
- msgstr ""
567
-
568
- #: ../classes/admin/settings/sf-options.php:49
569
- msgid "Enable HTML for a vendor's shop description by default"
570
- msgstr ""
571
-
572
- #: ../classes/admin/settings/sf-options.php:56
573
- msgid "Vendor shop page"
574
- msgstr ""
575
-
576
- #: ../classes/admin/settings/sf-options.php:57
577
- msgid "Eg: <code>yoursite.com/[your_setting_here]/[vendor_name_here]</code>"
578
- msgstr ""
579
-
580
- #: ../classes/admin/settings/sf-options.php:64
581
- msgid "Shop Headers"
582
- msgstr ""
583
-
584
- #: ../classes/admin/settings/sf-options.php:65
585
- msgid "Enable vendor shop headers"
586
- msgstr ""
587
-
588
- #: ../classes/admin/settings/sf-options.php:66
589
- msgid ""
590
- "This will override the HTML Shop description output on product-archive pages."
591
- msgstr ""
592
-
593
- #: ../classes/admin/settings/sf-options.php:72
594
- #: ../classes/admin/settings/sf-options.php:198
595
- msgid "Products"
596
- msgstr ""
597
-
598
- #: ../classes/admin/settings/sf-options.php:73
599
- msgid "Product Add Page"
600
- msgstr ""
601
-
602
- #: ../classes/admin/settings/sf-options.php:73
603
- msgid "Configure what to hide from all vendors when adding a product"
604
- msgstr ""
605
-
606
- #: ../classes/admin/settings/sf-options.php:76
607
- msgid "Left side panel"
608
- msgstr ""
609
-
610
- #: ../classes/admin/settings/sf-options.php:77
611
- msgid "Hide these areas of the add product page for vendors"
612
- msgstr ""
613
-
614
- #: ../classes/admin/settings/sf-options.php:91
615
- msgid "Types"
616
- msgstr ""
617
-
618
- #: ../classes/admin/settings/sf-options.php:92
619
- msgid "Hide these product types from the vendor"
620
- msgstr ""
621
-
622
- #: ../classes/admin/settings/sf-options.php:105
623
- msgid "Type options"
624
- msgstr ""
625
-
626
- #: ../classes/admin/settings/sf-options.php:106
627
- msgid "Hide these product options from the vendor"
628
- msgstr ""
629
-
630
- #: ../classes/admin/settings/sf-options.php:117
631
- msgid "Miscellaneous"
632
- msgstr ""
633
-
634
- #: ../classes/admin/settings/sf-options.php:129
635
- msgid "Stylesheet"
636
- msgstr ""
637
-
638
- #: ../classes/admin/settings/sf-options.php:130
639
- msgid ""
640
- "You can add CSS in this textarea, which will be loaded on the product add/"
641
- "edit page for vendors."
642
- msgstr ""
643
-
644
- #: ../classes/admin/settings/sf-options.php:136
645
- msgid "Capabilities"
646
- msgstr ""
647
-
648
- #: ../classes/admin/settings/sf-options.php:137
649
- msgid "Permissions"
650
- msgstr ""
651
-
652
- #: ../classes/admin/settings/sf-options.php:137
653
- msgid "General permissions used around the shop"
654
- msgstr ""
655
-
656
- #: ../classes/admin/settings/sf-options.php:140
657
- #: ../classes/class-install.php:205 ../views/dashboard/orders.php:18
658
- msgid "Orders"
659
- msgstr ""
660
-
661
- #: ../classes/admin/settings/sf-options.php:141
662
- msgid "View orders"
663
- msgstr ""
664
-
665
- #: ../classes/admin/settings/sf-options.php:142
666
- msgid "Show customer details such as email, address, name, etc, for each order"
667
- msgstr ""
668
-
669
- #: ../classes/admin/settings/sf-options.php:149
670
- msgid "View comments"
671
- msgstr ""
672
-
673
- #: ../classes/admin/settings/sf-options.php:150
674
- msgid "View all vendor comments for an order on the frontend"
675
- msgstr ""
676
-
677
- #: ../classes/admin/settings/sf-options.php:157
678
- msgid "Submit comments"
679
- msgstr ""
680
-
681
- #: ../classes/admin/settings/sf-options.php:158
682
- msgid ""
683
- "Submit comments for an order on the frontend. Eg, tracking ID for a product"
684
- msgstr ""
685
-
686
- #: ../classes/admin/settings/sf-options.php:165
687
- msgid "View email addresses"
688
- msgstr ""
689
-
690
- #: ../classes/admin/settings/sf-options.php:166
691
- msgid ""
692
- "While viewing order details on the frontend, you can disable or enable email "
693
- "addresses"
694
- msgstr ""
695
-
696
- #: ../classes/admin/settings/sf-options.php:173
697
- msgid "Export a CSV file of orders for a product"
698
- msgstr ""
699
-
700
- #: ../classes/admin/settings/sf-options.php:174
701
- msgid "Vendors could export orders for a product on the frontend"
702
- msgstr ""
703
-
704
- #: ../classes/admin/settings/sf-options.php:181
705
- msgid "Reports"
706
- msgstr ""
707
-
708
- #: ../classes/admin/settings/sf-options.php:182
709
- msgid "View backend sales reports"
710
- msgstr ""
711
-
712
- #: ../classes/admin/settings/sf-options.php:183
713
- msgid ""
714
- "Graphs and tables via the Reports page in backend. The reports will only "
715
- "display sales data that pertain to their products"
716
- msgstr ""
717
-
718
- #: ../classes/admin/settings/sf-options.php:190
719
- msgid "View Frontend sales reports"
720
- msgstr ""
721
-
722
- #: ../classes/admin/settings/sf-options.php:191
723
- msgid ""
724
- "Sales table on the frontend on the My Account page. The table will only "
725
- "display sales data that pertain to their products"
726
- msgstr ""
727
-
728
- #: ../classes/admin/settings/sf-options.php:199
729
- msgid "Submit products"
730
- msgstr ""
731
-
732
- #: ../classes/admin/settings/sf-options.php:200
733
- msgid ""
734
- "Vendors could submit a product through the backend, and an admin would "
735
- "approve or deny it"
736
- msgstr ""
737
-
738
- #: ../classes/admin/settings/sf-options.php:207
739
- msgid "Edit live products"
740
- msgstr ""
741
-
742
- #: ../classes/admin/settings/sf-options.php:208
743
- msgid ""
744
- "Vendors could edit an approved product after it has already gone live. There "
745
- "is no approval or review after editing a live product. This could be "
746
- "dangerous with malicious vendors, so take caution."
747
- msgstr ""
748
-
749
- #: ../classes/admin/settings/sf-options.php:215
750
- msgid "Submit products live without requiring approval"
751
- msgstr ""
752
-
753
- #: ../classes/admin/settings/sf-options.php:216
754
- msgid ""
755
- "Vendors can submit products without review or approval from a shop admin. "
756
- "This could be dangerous with malicious vendors, so take caution."
757
- msgstr ""
758
-
759
- #: ../classes/admin/settings/sf-options.php:222
760
- msgid "Pages"
761
- msgstr ""
762
-
763
- #: ../classes/admin/settings/sf-options.php:223
764
- msgid "Page configuration"
765
- msgstr ""
766
-
767
- #: ../classes/admin/settings/sf-options.php:226
768
- msgid "Vendor dashboard"
769
- msgstr ""
770
-
771
- #: ../classes/admin/settings/sf-options.php:227
772
- msgid ""
773
- "Choose the page that has the shortcode <code>[wcv_vendor_dashboard]</"
774
- "code><br/>By default, My Account > Vendor Dashboard should have the "
775
- "shortcode."
776
- msgstr ""
777
-
778
- #: ../classes/admin/settings/sf-options.php:234
779
- msgid "Shop settings"
780
- msgstr ""
781
-
782
- #: ../classes/admin/settings/sf-options.php:235
783
- msgid ""
784
- "Choose the page that has the shortcode <code>[wcv_shop_settings]</code><br/"
785
- ">These are the shop settings a vendor can configure."
786
- msgstr ""
787
-
788
- #: ../classes/admin/settings/sf-options.php:242
789
- msgid "Orders page"
790
- msgstr ""
791
-
792
- #: ../classes/admin/settings/sf-options.php:243
793
- msgid ""
794
- "Choose the page that has the shortcode <code>[wcv_orders]</code><br/>By "
795
- "default, My Account > Orders should have the shortcode."
796
- msgstr ""
797
-
798
- #: ../classes/admin/settings/sf-options.php:250
799
- msgid "Vendor terms"
800
- msgstr ""
801
-
802
- #: ../classes/admin/settings/sf-options.php:251
803
- msgid ""
804
- "These terms are shown to a user when submitting an application to become a "
805
- "vendor.<br/>If left blank, no terms will be shown to the applicant."
806
- msgstr ""
807
-
808
- #: ../classes/admin/settings/sf-options.php:269
809
- msgid "Payments"
810
- msgstr ""
811
-
812
- #: ../classes/admin/settings/sf-options.php:271
813
- msgid "User payments"
814
- msgstr ""
815
-
816
- #: ../classes/admin/settings/sf-options.php:272
817
- #, php-format
818
- msgid "Total commission currently due: %s. <a href=\"%s\">View details</a>."
819
- msgstr ""
820
-
821
- #: ../classes/admin/settings/sf-options.php:273
822
- #, php-format
823
- msgid ""
824
- "Make sure you update your PayPal Adaptive Payments settings <a href=\"%s"
825
- "\">here</a>."
826
- msgstr ""
827
-
828
- #: ../classes/admin/settings/sf-options.php:277
829
- msgid "Instant pay"
830
- msgstr ""
831
-
832
- #: ../classes/admin/settings/sf-options.php:278
833
- msgid "Instantly pay vendors their commission when an order is made"
834
- msgstr ""
835
-
836
- #: ../classes/admin/settings/sf-options.php:279
837
- msgid ""
838
- "For this to work, customers must checkout with the PayPal Adaptive Payments "
839
- "gateway. Using other gateways will not pay vendors instantly"
840
- msgstr ""
841
-
842
- #: ../classes/admin/settings/sf-options.php:286
843
- msgid "Payment schedule"
844
- msgstr ""
845
-
846
- #: ../classes/admin/settings/sf-options.php:287
847
- msgid "Note: Schedule will only work if instant pay is unchecked"
848
- msgstr ""
849
-
850
- #: ../classes/admin/settings/sf-options.php:292
851
- msgid "Weekly"
852
- msgstr ""
853
-
854
- #: ../classes/admin/settings/sf-options.php:293
855
- msgid "Biweekly"
856
- msgstr ""
857
-
858
- #: ../classes/admin/settings/sf-options.php:294
859
- msgid "Monthly"
860
- msgstr ""
861
-
862
- #: ../classes/admin/settings/sf-options.php:295
863
- msgid "Manual"
864
- msgstr ""
865
-
866
- #: ../classes/admin/settings/sf-options.php:296
867
- msgid "Now"
868
- msgstr ""
869
-
870
- #: ../classes/admin/settings/sf-options.php:301
871
- msgid "Email notification"
872
- msgstr ""
873
-
874
- #: ../classes/admin/settings/sf-options.php:302
875
- msgid ""
876
- "Send the WooCommerce admin an email each time a payment has been made via "
877
- "the payment schedule options above"
878
- msgstr ""
879
-
880
- #: ../classes/class-cron.php:87
881
- #, php-format
882
- msgid "Payment total: %s"
883
- msgstr ""
884
-
885
- #: ../classes/class-cron.php:148
886
- msgid "Once Weekly"
887
- msgstr ""
888
-
889
- #: ../classes/class-cron.php:153
890
- msgid "Once every two weeks"
891
- msgstr ""
892
-
893
- #: ../classes/class-cron.php:158
894
- msgid "Once a month"
895
- msgstr ""
896
-
897
- #: ../classes/class-install.php:99 ../classes/class-install.php:253
898
- msgid "Pending Vendor"
899
- msgstr ""
900
-
901
- #: ../classes/class-install.php:204
902
- msgid "Vendor Dashboard"
903
- msgstr ""
904
-
905
- #: ../classes/class-install.php:206
906
- msgid "Shop Settings"
907
- msgstr ""
908
-
909
- #: ../classes/front/class-vendor-cart.php:41
910
- #: ../classes/front/class-vendor-shop.php:255
911
- msgid "Sold by"
912
- msgstr ""
913
-
914
- #: ../classes/front/dashboard/class-vendor-dashboard.php:41
915
- msgid "Order unmarked shipped."
916
- msgstr ""
917
-
918
- #: ../classes/front/dashboard/class-vendor-dashboard.php:51
919
- msgid "Order marked shipped."
920
- msgstr ""
921
-
922
- #: ../classes/front/dashboard/class-vendor-dashboard.php:69
923
- msgid "Your PayPal address is not a valid email address."
924
- msgstr ""
925
-
926
- #: ../classes/front/dashboard/class-vendor-dashboard.php:78
927
- msgid "That shop name is already taken. Your shop name must be unique."
928
- msgstr ""
929
-
930
- #: ../classes/front/orders/class-export-csv.php:37
931
- msgid "Extra data"
932
- msgstr ""
933
-
934
- #: ../classes/front/orders/class-export-csv.php:38
935
- #: ../views/dashboard/reports.php:18 ../views/emails/admin-new-order.php:23
936
- #: ../views/emails/notify-vendor-shipped.php:23
937
- msgid "Quantity"
938
- msgstr ""
939
-
940
- #: ../classes/front/orders/class-orders.php:107
941
- msgid ""
942
- "You haven't selected a product's orders to view! Please go back to the "
943
- "Vendor Dashboard and click Show Orders on the product you'd like to view."
944
- msgstr ""
945
-
946
- #: ../classes/front/orders/class-orders.php:111
947
- msgid "No orders."
948
- msgstr ""
949
-
950
- #: ../classes/front/orders/class-orders.php:144
951
- #: ../classes/front/orders/class-orders.php:145
952
- msgid "Tracking number"
953
- msgstr ""
954
-
955
- #: ../classes/front/orders/class-orders.php:147
956
- msgid "Success. Your tracking number has been updated."
957
- msgstr ""
958
-
959
- #: ../classes/front/orders/class-orders.php:209
960
- msgid "Product Title"
961
- msgstr ""
962
-
963
- #: ../classes/front/orders/class-orders.php:210
964
- msgid "Full name"
965
- msgstr ""
966
-
967
- #: ../classes/front/orders/class-orders.php:211
968
- msgid "Address"
969
- msgstr ""
970
-
971
- #: ../classes/front/orders/class-orders.php:212
972
- msgid "City"
973
- msgstr ""
974
-
975
- #: ../classes/front/orders/class-orders.php:213
976
- msgid "State"
977
- msgstr ""
978
-
979
- #: ../classes/front/orders/class-orders.php:214
980
- msgid "Zip"
981
- msgstr ""
982
-
983
- #: ../classes/front/orders/class-orders.php:215
984
- msgid "Email address"
985
- msgstr ""
986
-
987
- #: ../classes/front/orders/class-submit-comment.php:41
988
- msgid "You've left the comment field empty!"
989
- msgstr ""
990
-
991
- #: ../classes/front/orders/class-submit-comment.php:63
992
- msgid "Success. The customer has been notified of your comment."
993
- msgstr ""
994
-
995
- #: ../classes/front/signup/class-vendor-signup.php:44
996
- #: ../views/dashboard/denied.php:22
997
- msgid "Apply to become a vendor? "
998
- msgstr ""
999
-
1000
- #: ../classes/front/signup/class-vendor-signup.php:53
1001
- #: ../views/dashboard/denied.php:33
1002
- #, php-format
1003
- msgid "I have read and accepted the <a href=\"%s\">terms and conditions</a>"
1004
- msgstr ""
1005
-
1006
- #: ../classes/front/signup/class-vendor-signup.php:87
1007
- msgid "Application denied. You are an administrator."
1008
- msgstr ""
1009
-
1010
- #: ../classes/front/signup/class-vendor-signup.php:89
1011
- msgid "Your application has been submitted."
1012
- msgstr ""
1013
-
1014
- #: ../classes/front/signup/class-vendor-signup.php:125
1015
- msgid "You must accept the terms and conditions to become a vendor."
1016
- msgstr ""
1017
-
1018
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:43
1019
- msgid "PayPal Adaptive Payments"
1020
- msgstr ""
1021
-
1022
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:119
1023
- #, php-format
1024
- msgid ""
1025
- "Something went wrong. Response from PayPal invalidated this order. Status: "
1026
- "%s."
1027
- msgstr ""
1028
-
1029
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:124
1030
- msgid "IPN payment completed"
1031
- msgstr ""
1032
-
1033
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:146
1034
- msgid "Enable PayPal Adaptive Payments"
1035
- msgstr ""
1036
-
1037
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:152
1038
- msgid "Method Title"
1039
- msgstr ""
1040
-
1041
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:153
1042
- msgid "This controls the title which the user sees during checkout."
1043
- msgstr ""
1044
-
1045
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:154
1046
- msgid "PayPal"
1047
- msgstr ""
1048
-
1049
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:159
1050
- msgid "Description"
1051
- msgstr ""
1052
-
1053
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:160
1054
- msgid "This controls the description which the user sees during checkout."
1055
- msgstr ""
1056
-
1057
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:161
1058
- msgid "Pay via PayPal!"
1059
- msgstr ""
1060
-
1061
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:172
1062
- msgid "Live Credentials"
1063
- msgstr ""
1064
-
1065
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:174
1066
- #, php-format
1067
- msgid ""
1068
- "You must have an <a href=\"%s\">Application ID</a> to process live "
1069
- "transactions. You do not need one for testing in Sandbox mode."
1070
- msgstr ""
1071
-
1072
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:179
1073
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:213
1074
- msgid "PayPal Email"
1075
- msgstr ""
1076
-
1077
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:180
1078
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:214
1079
- msgid "The email address main payments should go to."
1080
- msgstr ""
1081
-
1082
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:185
1083
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:219
1084
- msgid "API Username"
1085
- msgstr ""
1086
-
1087
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:190
1088
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:224
1089
- msgid "API Password"
1090
- msgstr ""
1091
-
1092
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:195
1093
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:229
1094
- msgid "API Signature"
1095
- msgstr ""
1096
-
1097
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:200
1098
- msgid "Application ID"
1099
- msgstr ""
1100
-
1101
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:202
1102
- msgid "Only required when doing live transactions."
1103
- msgstr ""
1104
-
1105
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:206
1106
- msgid "Sandbox Credentials"
1107
- msgstr ""
1108
-
1109
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:208
1110
- #, php-format
1111
- msgid ""
1112
- "You can signup for a sandbox developer account <a href=\"%s\">here</a>. You "
1113
- "need a developer account if you want to enable Sandbox mode for testing."
1114
- msgstr ""
1115
-
1116
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:240
1117
- msgid "Misc. Settings"
1118
- msgstr ""
1119
-
1120
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:245
1121
- msgid "Enable PayPal Sandbox mode"
1122
- msgstr ""
1123
-
1124
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:251
1125
- msgid "Enable logging"
1126
- msgstr ""
1127
-
1128
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:269
1129
- msgid ""
1130
- "The PayPal Adaptive Payments gateway can instantly pay your vendors their "
1131
- "due commission (if enabled). Also used to mass pay vendors on a schedule / "
1132
- "manual method (if enabled)."
1133
- msgstr ""
1134
-
1135
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:280
1136
- msgid "Gateway Disabled"
1137
- msgstr ""
1138
-
1139
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:280
1140
- #, php-format
1141
- msgid "%s does not support your store currency."
1142
- msgstr ""
1143
-
1144
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:369
1145
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:483
1146
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:150
1147
- #, php-format
1148
- msgid "Error: %s"
1149
- msgstr ""
1150
-
1151
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:378
1152
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:379
1153
- #, php-format
1154
- msgid "Error ID: %s. %s"
1155
- msgstr ""
1156
-
1157
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:115
1158
- msgid "No vendors found to pay. Maybe they haven't set a PayPal address?"
1159
- msgstr ""
1160
-
1161
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:164
1162
- msgid "All due commission has been paid for."
1163
- msgstr ""
1164
-
1165
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:170
1166
- msgid ""
1167
- "All due commission has been paid for, but I could not clear it from their "
1168
- "profiles due to an internal error. Commission will still be listed as due. "
1169
- "Please manually mark the commission as paid from the Commissions page."
1170
- msgstr ""
1171
-
1172
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:205
1173
- msgid "WooCommerce: Mass payments for vendors update"
1174
- msgstr ""
1175
-
1176
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:207
1177
- msgid ""
1178
- "Hello! A payment was just triggered to mass pay all vendors their due "
1179
- "commission."
1180
- msgstr ""
1181
-
1182
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:208
1183
- #, php-format
1184
- msgid "Payment status: %s."
1185
- msgstr ""
1186
-
1187
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:209
1188
- #, php-format
1189
- msgid "Payment message: %s."
1190
- msgstr ""
1191
-
1192
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:212
1193
- #, php-format
1194
- msgid "Payment total: %s."
1195
- msgstr ""
1196
-
1197
- #: ../views/dashboard/denied.php:8
1198
- msgid ""
1199
- "Your account has not yet been approved to become a vendor. When it is, you "
1200
- "will receive an email telling you that your account is approved!"
1201
- msgstr ""
1202
-
1203
- #: ../views/dashboard/denied.php:12
1204
- msgid ""
1205
- "Your account is not setup as a vendor yet. If you would like to register, "
1206
- "please complete this page!"
1207
- msgstr ""
1208
-
1209
- #: ../views/dashboard/denied.php:53
1210
- msgid "Submit"
1211
- msgstr ""
1212
-
1213
- #: ../views/dashboard/links.php:1
1214
- msgid "Control Center"
1215
- msgstr ""
1216
-
1217
- #: ../views/dashboard/links.php:3
1218
- msgid "My shop"
1219
- msgstr ""
1220
-
1221
- #: ../views/dashboard/links.php:7
1222
- msgid "My settings"
1223
- msgstr ""
1224
-
1225
- #: ../views/dashboard/links.php:13
1226
- msgid "Submit a product"
1227
- msgstr ""
1228
-
1229
- #: ../views/dashboard/orders.php:7 ../views/dashboard/orders.php:10
1230
- msgid "Hide items"
1231
- msgstr ""
1232
-
1233
- #: ../views/dashboard/orders.php:8 ../views/dashboard/orders.php:58
1234
- msgid "View items"
1235
- msgstr ""
1236
-
1237
- #: ../views/dashboard/orders.php:27
1238
- msgid "Links"
1239
- msgstr ""
1240
-
1241
- #: ../views/dashboard/orders.php:58
1242
- msgid "Unmark shipped"
1243
- msgstr ""
1244
-
1245
- #: ../views/dashboard/orders.php:58
1246
- msgid "Mark shipped"
1247
- msgstr ""
1248
-
1249
- #: ../views/dashboard/orders.php:90
1250
- msgid "You have no orders during this period."
1251
- msgstr ""
1252
-
1253
- #: ../views/dashboard/reports.php:1
1254
- msgid "Sales Report"
1255
- msgstr ""
1256
-
1257
- #: ../views/dashboard/reports.php:20
1258
- msgid "Rate"
1259
- msgstr ""
1260
-
1261
- #: ../views/dashboard/reports.php:47
1262
- msgid "Show Orders"
1263
- msgstr ""
1264
-
1265
- #: ../views/dashboard/reports.php:56
1266
- msgid "Totals"
1267
- msgstr ""
1268
-
1269
- #: ../views/dashboard/reports.php:71
1270
- msgid "You have no sales during this period."
1271
- msgstr ""
1272
-
1273
- #: ../views/dashboard/reports.php:82
1274
- msgid "You haven't made any sales yet."
1275
- msgstr ""
1276
-
1277
- #: ../views/dashboard/settings/paypal-email-form.php:2
1278
- msgid "PayPal Address"
1279
- msgstr ""
1280
-
1281
- #: ../views/dashboard/settings/paypal-email-form.php:3
1282
- msgid "Your PayPal address is used to send you your commission."
1283
- msgstr ""
1284
-
1285
- #: ../views/dashboard/settings/seller-info.php:4
1286
- msgid "This is displayed on each of your products."
1287
- msgstr ""
1288
-
1289
- #: ../views/dashboard/settings/settings.php:47
1290
- msgid "Save"
1291
- msgstr ""
1292
-
1293
- #: ../views/dashboard/settings/shop-description.php:2
1294
- msgid "Shop Description"
1295
- msgstr ""
1296
-
1297
- #: ../views/dashboard/settings/shop-description.php:3
1298
- #, php-format
1299
- msgid "This is displayed on your <a href=\"%s\">shop page</a>."
1300
- msgstr ""
1301
-
1302
- #: ../views/dashboard/settings/shop-name.php:2
1303
- msgid "Shop Name"
1304
- msgstr ""
1305
-
1306
- #: ../views/dashboard/settings/shop-name.php:3
1307
- msgid "Your shop name is public and must be unique."
1308
- msgstr ""
1309
-
1310
- #: ../views/emails/admin-new-order.php:13
1311
- #, php-format
1312
- msgid "You have received an order from %s. Their order is as follows:"
1313
- msgstr ""
1314
-
1315
- #: ../views/emails/admin-new-order.php:17
1316
- #: ../views/emails/notify-vendor-shipped.php:17
1317
- #, php-format
1318
- msgid "Order: %s"
1319
- msgstr ""
1320
-
1321
- #: ../views/emails/admin-new-order.php:24
1322
- #: ../views/emails/notify-vendor-shipped.php:24
1323
- msgid "Price"
1324
- msgstr ""
1325
-
1326
- #: ../views/emails/admin-new-order.php:50
1327
- #: ../views/emails/notify-vendor-shipped.php:50
1328
- msgid "Customer details"
1329
- msgstr ""
1330
-
1331
- #: ../views/emails/admin-new-order.php:53
1332
- #: ../views/emails/notify-vendor-shipped.php:53
1333
- msgid "Email:"
1334
- msgstr ""
1335
-
1336
- #: ../views/emails/admin-new-order.php:56
1337
- #: ../views/emails/notify-vendor-shipped.php:56
1338
- msgid "Tel:"
1339
- msgstr ""
1340
-
1341
- #: ../views/emails/application-status.php:5
1342
- #, php-format
1343
- msgid "Hi there. This is a notification about a vendor application on %s."
1344
- msgstr ""
1345
-
1346
- #: ../views/emails/application-status.php:8
1347
- #, php-format
1348
- msgid "Application status: %s"
1349
- msgstr ""
1350
-
1351
- #: ../views/emails/application-status.php:9
1352
- #, php-format
1353
- msgid "Applicant username: %s"
1354
- msgstr ""
1355
-
1356
- #: ../views/emails/new-product.php:5
1357
- #, php-format
1358
- msgid "Hi there. This is a notification about a new product on %s."
1359
- msgstr ""
1360
-
1361
- #: ../views/emails/new-product.php:8
1362
- #, php-format
1363
- msgid "Product title: %s"
1364
- msgstr ""
1365
-
1366
- #: ../views/emails/new-product.php:9
1367
- #, php-format
1368
- msgid "Submitted by: %s"
1369
- msgstr ""
1370
-
1371
- #: ../views/emails/new-product.php:10
1372
- #, php-format
1373
- msgid "Edit product: %s"
1374
- msgstr ""
1375
-
1376
- #: ../views/emails/notify-vendor-shipped.php:13
1377
- msgid ""
1378
- "A vendor has marked part of your order as shipped. The items that are "
1379
- "shipped are as follows:"
1380
- msgstr ""
1381
-
1382
- #: ../views/orders/comments/add-new-comment.php:11
1383
- msgid "Add comment"
1384
- msgstr ""
1385
-
1386
- #: ../views/orders/comments/existing-comments.php:9
1387
- #, php-format
1388
- msgid "added %s ago"
1389
- msgstr ""
1390
-
1391
- #: ../views/orders/csv-export.php:6
1392
- msgid "Export orders"
1393
- msgstr ""
1394
-
1395
- #: ../views/orders/customer-note/customer-note.php:4
1396
- msgid "Customer note"
1397
- msgstr ""
1398
-
1399
- #: ../views/orders/customer-note/customer-note.php:8
1400
- msgid "No customer note."
1401
- msgstr ""
1402
-
1403
- #: ../views/orders/orders.php:84
1404
- #, php-format
1405
- msgid "Comments (%s)"
1406
- msgstr ""
1407
-
1408
- #: ../views/orders/shipping/shipping-form.php:46
1409
- msgid "Provider:"
1410
- msgstr ""
1411
-
1412
- #: ../views/orders/shipping/shipping-form.php:48
1413
- msgid "Custom Provider"
1414
- msgstr ""
1415
-
1416
- #: ../views/orders/shipping/shipping-form.php:68
1417
- msgid "Provider Name:"
1418
- msgstr ""
1419
-
1420
- #: ../views/orders/shipping/shipping-form.php:76
1421
- msgid "Tracking number:"
1422
- msgstr ""
1423
-
1424
- #: ../views/orders/shipping/shipping-form.php:84
1425
- msgid "Tracking link:"
1426
- msgstr ""
1427
-
1428
- #: ../views/orders/shipping/shipping-form.php:93
1429
- msgid "Date shipped:"
1430
- msgstr ""
1431
-
1432
- #: ../views/orders/shipping/shipping-form.php:101
1433
- msgid "Preview:"
1434
- msgstr ""
1435
-
1436
- #: ../views/orders/shipping/shipping-form.php:101
1437
- msgid "Click here to track your shipment"
1438
- msgstr ""
1439
-
1440
- #: ../views/orders/shipping/shipping-form.php:110
1441
- msgid "Update tracking number"
1442
- msgstr ""
1443
-
1444
- #: ../views/orders/shipping/shipping-form.php:112
1445
- msgid "Mark as shipped"
1446
- msgstr ""
1447
-
1448
- #: ../views/orders/table-body.php:25
1449
- #, php-format
1450
- msgid "Quantity: %d"
1451
- msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/languages/wc_vendors-de_DE.mo DELETED
Binary file
WCVendors/languages/wc_vendors-de_DE.po DELETED
@@ -1,1439 +0,0 @@
1
- # WooCommerce translation strings
2
- # Copyright (C) 2011-2012
3
- # This file is distributed under the same license as the WooCommerce package.
4
- # Last Updated: December 26, 2012.
5
- msgid ""
6
- msgstr ""
7
- "Project-Id-Version: WooCommerce Product Vendor 1.4.1\n"
8
- "Report-Msgid-Bugs-To: Matt Gates <info@mgates.me\n"
9
- "POT-Creation-Date: 2013-02-24 16:07-0500\n"
10
- "PO-Revision-Date: 2013-03-29 19:46+0100\n"
11
- "Last-Translator: S. Hupe - www.3d-board.de <info@bryce-board.de>\n"
12
- "Language-Team: 3D-Board - www.3d-board.de <info@bryce-board.de>\n"
13
- "Language: Deutsch\n"
14
- "MIME-Version: 1.0\n"
15
- "Content-Type: text/plain; charset=UTF-8\n"
16
- "Content-Transfer-Encoding: 8bit\n"
17
- "X-Generator: Poedit 1.5.5\n"
18
-
19
- #: class-product-vendor.php:57
20
- #: productvendor\classes\admin\class-admin-users.php:241
21
- msgid "Product Vendor"
22
- msgstr "Produkt-Verk&auml;ufer"
23
-
24
- #: class-product-vendor.php:82
25
- msgid ""
26
- "<b>Product Vendor is disabled</b>. Product Vendor requires WooCommerce "
27
- "v2.0.1."
28
- msgstr ""
29
- "<b>Product Vendor is deaktiviert</b>. Product Vendor ben&ouml;tigt mind. "
30
- "WooCommerce v2.0.1."
31
-
32
- #: productvendor\classes\class-cron.php:86
33
- #, php-format
34
- msgid "Payment total: %s"
35
- msgstr "Zahlungen insges.: %s"
36
-
37
- #: productvendor\classes\class-cron.php:143
38
- msgid "Once Weekly"
39
- msgstr "Einmal w&ouml;chentlich"
40
-
41
- #: productvendor\classes\class-cron.php:148
42
- msgid "Once every two weeks"
43
- msgstr "Alle zwei Wochen"
44
-
45
- #: productvendor\classes\class-cron.php:153
46
- msgid "Once a month"
47
- msgstr "Einmal im Monat"
48
-
49
- #: productvendor\classes\class-install.php:84
50
- #: productvendor\classes\class-install.php:234
51
- msgid "Pending Vendor"
52
- msgstr "Freizuschaltender Verk&auml;ufer"
53
-
54
- #: productvendor\classes\class-install.php:185
55
- msgid "Vendor Dashboard"
56
- msgstr "Verk&auml;ufer-Seite"
57
-
58
- #: productvendor\classes\class-install.php:186
59
- #: productvendor\classes\admin\settings\sf-options.php:119
60
- msgid "Orders"
61
- msgstr "Bestellungen"
62
-
63
- #: productvendor\classes\class-install.php:187
64
- msgid "Shop Settings"
65
- msgstr "Shop-Einstellungen"
66
-
67
- #: productvendor\classes\admin\class-admin-page.php:14
68
- #: productvendor\classes\admin\class-admin-page.php:35
69
- #: productvendor\classes\admin\class-product-meta.php:139
70
- #: productvendor\classes\admin\class-product-meta.php:155
71
- #: productvendor\views\dashboard\reports.php:16
72
- msgid "Commission"
73
- msgstr "Provisionen"
74
-
75
- #: productvendor\classes\admin\class-admin-page.php:142
76
- #: productvendor\classes\admin\class-admin-reports.php:164
77
- #: productvendor\views\dashboard\reports.php:14
78
- msgid "Product"
79
- msgstr "Produkt"
80
-
81
- #: productvendor\classes\admin\class-admin-page.php:143
82
- msgid "Order ID"
83
- msgstr "Bestell-Nr."
84
-
85
- #: productvendor\classes\admin\class-admin-page.php:144
86
- #: productvendor\classes\admin\class-admin-reports.php:165
87
- #: productvendor\classes\admin\class-product-meta.php:38
88
- msgid "Vendor"
89
- msgstr "Verk&auml;ufer"
90
-
91
- #: productvendor\classes\admin\class-admin-page.php:145
92
- #: productvendor\classes\admin\class-admin-reports.php:166
93
- #: productvendor\classes\admin\class-admin-reports.php:303
94
- msgid "Total"
95
- msgstr "Gesamt"
96
-
97
- #: productvendor\classes\admin\class-admin-page.php:146
98
- #: productvendor\classes\admin\class-admin-reports.php:168
99
- msgid "Status"
100
- msgstr "Status"
101
-
102
- #: productvendor\classes\admin\class-admin-page.php:147
103
- #: productvendor\classes\front\orders\class-orders.php:162
104
- msgid "Date"
105
- msgstr "Datum"
106
-
107
- #: productvendor\classes\admin\class-admin-page.php:182
108
- msgid "Mark paid"
109
- msgstr "Als bezahlt kennzeichnen"
110
-
111
- #: productvendor\classes\admin\class-admin-page.php:183
112
- msgid "Mark due"
113
- msgstr "Als ausstehend kennzeichnen"
114
-
115
- #: productvendor\classes\admin\class-admin-page.php:184
116
- msgid "Mark reversed"
117
- msgstr "Als storniert kennzeichnen"
118
-
119
- #: productvendor\classes\admin\class-admin-page.php:208
120
- msgid "Commission marked paid."
121
- msgstr "Provision als bezahlt gekennzeichnet."
122
-
123
- #: productvendor\classes\admin\class-admin-page.php:215
124
- msgid "Commission marked due."
125
- msgstr "Provision als ausstehend gekennzeichnet."
126
-
127
- #: productvendor\classes\admin\class-admin-page.php:222
128
- msgid "Commission marked reversed."
129
- msgstr "Provision als storniert gekennzeichnet."
130
-
131
- #: productvendor\classes\admin\class-admin-reports.php:39
132
- msgid "Product Vendors"
133
- msgstr "Produkt-Verk&auml;ufer"
134
-
135
- #: productvendor\classes\admin\class-admin-reports.php:42
136
- msgid "Overview"
137
- msgstr "&Uuml;berblick"
138
-
139
- #: productvendor\classes\admin\class-admin-reports.php:48
140
- msgid "Commission by vendor"
141
- msgstr "Provision nach Verk&auml;ufer"
142
-
143
- #: productvendor\classes\admin\class-admin-reports.php:115
144
- #: productvendor\views\dashboard\date-picker.php:3
145
- msgid "From:"
146
- msgstr "Von:"
147
-
148
- #: productvendor\classes\admin\class-admin-reports.php:115
149
- #: productvendor\views\dashboard\date-picker.php:6
150
- msgid "To:"
151
- msgstr "An:"
152
-
153
- #: productvendor\classes\admin\class-admin-reports.php:115
154
- #: productvendor\classes\admin\class-admin-reports.php:230
155
- #: productvendor\views\dashboard\date-picker.php:9
156
- msgid "Show"
157
- msgstr "Zeige"
158
-
159
- #: productvendor\classes\admin\class-admin-reports.php:126
160
- msgid "Total paid in range"
161
- msgstr "Gesamt ausgezahlt im Zeitraum"
162
-
163
- #: productvendor\classes\admin\class-admin-reports.php:128
164
- #: productvendor\classes\admin\class-admin-reports.php:134
165
- #: productvendor\classes\admin\class-admin-reports.php:140
166
- #: productvendor\classes\front\orders\class-export-csv.php:50
167
- #: productvendor\views\orders\table-body-simple.php:13
168
- msgid "n/a"
169
- msgstr "n/a"
170
-
171
- #: productvendor\classes\admin\class-admin-reports.php:132
172
- msgid "Total due in range"
173
- msgstr "Gesamt offen im Zeitraum"
174
-
175
- #: productvendor\classes\admin\class-admin-reports.php:138
176
- msgid "Total reversed in range"
177
- msgstr "Gesamt storniert im Zeitraum"
178
-
179
- #: productvendor\classes\admin\class-admin-reports.php:147
180
- msgid "Recent Commission"
181
- msgstr "Neueste Provision"
182
-
183
- #: productvendor\classes\admin\class-admin-reports.php:163
184
- #: productvendor\classes\front\orders\class-orders.php:155
185
- msgid "Order"
186
- msgstr "Bestellung"
187
-
188
- #: productvendor\classes\admin\class-admin-reports.php:167
189
- msgid "Date &amp; Time"
190
- msgstr "Datum &amp; Uhrzeit"
191
-
192
- #: productvendor\classes\admin\class-admin-reports.php:174
193
- msgid "N/A"
194
- msgstr "N/A"
195
-
196
- #: productvendor\classes\admin\class-admin-reports.php:178
197
- msgid "D j M Y \\a\\t h:ia"
198
- msgstr "D, j.m.Y \\u\\m H:i \\U\\h\\r"
199
-
200
- #: productvendor\classes\admin\class-admin-reports.php:187
201
- msgid "No commission yet"
202
- msgstr "Keine Provision f&auml;llig."
203
-
204
- #: productvendor\classes\admin\class-admin-reports.php:217
205
- msgid "Show:"
206
- msgstr "Zeige:"
207
-
208
- #: productvendor\classes\admin\class-admin-reports.php:278
209
- msgid "Month"
210
- msgstr "Monatlich"
211
-
212
- #: productvendor\classes\admin\class-admin-reports.php:279
213
- msgid "Total Due"
214
- msgstr "Gesamt offen"
215
-
216
- #: productvendor\classes\admin\class-admin-reports.php:279
217
- msgid "This is the sum of the commission that hasn't been paid yet."
218
- msgstr "Dies ist die Summer aller ausstehenden Provosionszahlungen."
219
-
220
- #: productvendor\classes\admin\class-admin-reports.php:280
221
- msgid "Total Paid"
222
- msgstr "Gesamt gezahlt"
223
-
224
- #: productvendor\classes\admin\class-admin-reports.php:280
225
- msgid "This is the sum of the commission you've already paid."
226
- msgstr ""
227
- "Dies ist die Summe aller Provisionen, die Ihnen bereits ausgezahlt wurden."
228
-
229
- #: productvendor\classes\admin\class-admin-reports.php:281
230
- msgid "Total Reversed"
231
- msgstr "Gesamt storniert"
232
-
233
- #: productvendor\classes\admin\class-admin-reports.php:281
234
- msgid ""
235
- "This is the sum of the commssion where an order was reversed, thus so was "
236
- "commission."
237
- msgstr ""
238
- "Dies ist die Summe der Provisionen aller stornierten Bestellungen, also die "
239
- "stornierte Provision."
240
-
241
- #: productvendor\classes\admin\class-admin-reports.php:282
242
- msgid "Total Shipping"
243
- msgstr "Versand gesamt"
244
-
245
- #: productvendor\classes\admin\class-admin-reports.php:282
246
- msgid "This is the sum of the shipping costs given to vendors."
247
- msgstr ""
248
- "Dies ist die Summer aller Versandkosten, die dem Verk&auml;ufer zugestanden "
249
- "wurden."
250
-
251
- #: productvendor\classes\admin\class-admin-users.php:249
252
- msgid "Enable HTML for the shop description"
253
- msgstr "HTML f&uuml;r die Shop-Beschreibung erlauben"
254
-
255
- #: productvendor\classes\admin\class-admin-users.php:254
256
- msgid "PayPal E-mail"
257
- msgstr "PayPal E-Mail"
258
-
259
- #: productvendor\classes\admin\class-admin-users.php:254
260
- msgid "required"
261
- msgstr "erforderlich"
262
-
263
- #: productvendor\classes\admin\class-admin-users.php:258
264
- msgid "Commission due"
265
- msgstr "Ausstehende Provision"
266
-
267
- #: productvendor\classes\admin\class-admin-users.php:275
268
- msgid "Commission Due"
269
- msgstr "Ausstehende Provision"
270
-
271
- #: productvendor\classes\admin\class-product-meta.php:162
272
- msgid "Leave blank for default"
273
- msgstr "Leer lassen f&uuml;r Voreinstellung"
274
-
275
- #: productvendor\classes\admin\class-vendor-applicants.php:25
276
- msgid "Approve"
277
- msgstr "Freischalten"
278
-
279
- #: productvendor\classes\admin\class-vendor-applicants.php:26
280
- msgid "Deny"
281
- msgstr "Ablehnen"
282
-
283
- #: productvendor\classes\admin\class-vendor-applicants.php:70
284
- msgid "Vendor has been <b>denied</b>."
285
- msgstr "Verk&auml;ufer wurde <b>abgelehnt</b>."
286
-
287
- #: productvendor\classes\admin\class-vendor-applicants.php:81
288
- msgid "Vendor has been <b>approved</b>."
289
- msgstr "Verk&auml;ufer wurde <b>freigeschaltet</b>."
290
-
291
- #: productvendor\classes\admin\class-vendor-applicants.php:94
292
- msgid "Pending Vendors"
293
- msgstr "Freizuschaltende Verk&auml;ufer"
294
-
295
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:27
296
- msgid "Vendor Application"
297
- msgstr "Bewerbung als Verk&auml;ufer"
298
-
299
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:28
300
- msgid "Vendor application will either be approved, denied, or pending."
301
- msgstr ""
302
- "Die Bewerbung als Verk&auml;ufer wird entweder genehmigt, abgelehnt oder auf "
303
- "in Bearbeitung gesetzt."
304
-
305
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:30
306
- msgid "Application {status}"
307
- msgstr "Bewerbung {status}"
308
-
309
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:31
310
- msgid "[{blogname}] Your vendor application has been {status}"
311
- msgstr "[{blogname}] Ihre Bewerbung als Verk&auml;ufer wurde {status}"
312
-
313
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:115
314
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:224
315
- msgid "Enable/Disable"
316
- msgstr "Aktivieren/Deaktiveren"
317
-
318
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:117
319
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:226
320
- msgid "Enable this email notification"
321
- msgstr "E-Mail-Benachrichtigung aktivieren"
322
-
323
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:121
324
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:230
325
- msgid "Subject"
326
- msgstr "Betreff"
327
-
328
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:123
329
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:232
330
- #, php-format
331
- msgid ""
332
- "This controls the email subject line. Leave blank to use the default "
333
- "subject: <code>%s</code>."
334
- msgstr ""
335
- "Hier kann die E-Mail-Betreffzeile festgelegt werden. Leer lassen f&uuml;r "
336
- "den Standard-Betreff: <code>%s</code>."
337
-
338
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:128
339
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:237
340
- msgid "Email Heading"
341
- msgstr "E-Mail-Header (Kopfzeile)"
342
-
343
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:130
344
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:239
345
- #, php-format
346
- msgid ""
347
- "This controls the main heading contained within the email notification. "
348
- "Leave blank to use the default heading: <code>%s</code>."
349
- msgstr ""
350
- "Dies bestimmt den Header-Abschnitt (Kopfzeile) der Benachrichtigungs-E-Mail. "
351
- "Leer lassen f&uuml;r den Standard-Inhalt: <code>%s</code>."
352
-
353
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:135
354
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:244
355
- msgid "Email type"
356
- msgstr "E-Mail-Typ"
357
-
358
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:137
359
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:246
360
- msgid "Choose which format of email to send."
361
- msgstr "W&auml;hlen Sie, in welchem Format die E-Mail gesendet werden soll."
362
-
363
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:141
364
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:250
365
- msgid "Plain text"
366
- msgstr "Klartext"
367
-
368
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:142
369
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:251
370
- msgid "HTML"
371
- msgstr "HTML"
372
-
373
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:143
374
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:252
375
- msgid "Multipart"
376
- msgstr "Multipart"
377
-
378
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:27
379
- msgid "Notify vendors"
380
- msgstr "Verk&auml;ufer benachrichtigen"
381
-
382
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:28
383
- msgid "New order emails are sent when an order is received/paid by a customer."
384
- msgstr ""
385
- "Neue Bestell-E-Mails wird gesendet, wenn eine Bestellung eingegangen ist / "
386
- "von einem Kunden bezahlt wurde."
387
-
388
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:30
389
- msgid "New customer order"
390
- msgstr "Neue Bestellung"
391
-
392
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:31
393
- msgid "[{blogname}] New customer order ({order_number}) - {order_date}"
394
- msgstr "[{blogname}] Neue Kundenbestellung ({order_number}) - {order_date}"
395
-
396
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:102
397
- msgid "Commission Subtotal:"
398
- msgstr "Zwischensumme Provisionen:"
399
-
400
- #: productvendor\classes\admin\settings\sf-options.php:4
401
- msgid "General"
402
- msgstr "Allgemein"
403
-
404
- #: productvendor\classes\admin\settings\sf-options.php:5
405
- msgid "General options"
406
- msgstr "Allgemeine Optionen"
407
-
408
- #: productvendor\classes\admin\settings\sf-options.php:8
409
- msgid "Default commission (%)"
410
- msgstr "Standard-Provision (in %)"
411
-
412
- #: productvendor\classes\admin\settings\sf-options.php:9
413
- msgid ""
414
- "Choose the default rate for each product. If a product has a commission rate "
415
- "already set, this value will be ignored for that product."
416
- msgstr ""
417
- "W&auml;hlen Sie eine Standard-Provisionsrate, die f&uuml;r alle Produkte "
418
- "g&uuml;ltig ist. Wenn bei einem Produkt eine einzelne Provision eingestellt "
419
- "ist oder wird, &uuml;berschreibt der Einzelwert die Standardeinstellung und "
420
- "der hier eingetragene Wert wird f&uuml;r das Einzel-Produkt ignoriert."
421
-
422
- #: productvendor\classes\admin\settings\sf-options.php:20
423
- msgid "Registration"
424
- msgstr "Registration"
425
-
426
- #: productvendor\classes\admin\settings\sf-options.php:21
427
- msgid "Allow users or guests to apply to become a vendor"
428
- msgstr ""
429
- "Erlaube Benutzern oder G&auml;sten sich als Verk&auml;ufer zu bewerben."
430
-
431
- #: productvendor\classes\admin\settings\sf-options.php:22
432
- msgid ""
433
- "This will show a checkbox on the My Account page's registration form asking "
434
- "if the user would like to apply to be a vendor. Also, on the Vendor "
435
- "Dashboard, users can apply to become a vendor."
436
- msgstr ""
437
- "Ist dies aktiviert, wird eine Ckeckbox auf der bei der Registration als "
438
- "neuer Benutzer angezeigt, mit der der Benutzer gefragt wird, ob er sich auch "
439
- "als Verk&auml;ufer beqwerben m&ouml;chte.. Bereits registrierte Benutzer "
440
- "k&ouml;nnen sich auch nachtr&auml;glich auf der Verk&auml;ufer-Seite als "
441
- "Verk&auml;ufer bewerben."
442
-
443
- #: productvendor\classes\admin\settings\sf-options.php:29
444
- msgid "Shop HTML"
445
- msgstr "Shop-HTML"
446
-
447
- #: productvendor\classes\admin\settings\sf-options.php:30
448
- msgid "Enable HTML for a vendor's shop description by default"
449
- msgstr ""
450
- "Erlaube HTML in der Shop-Beschreibung eines Verk&auml;ufers f&uuml;r alle "
451
- "Verk&auml;ufer als Voreinstellung"
452
-
453
- #: productvendor\classes\admin\settings\sf-options.php:37
454
- msgid "Vendor shop page"
455
- msgstr "Verk&auml;ufer-Seite"
456
-
457
- #: productvendor\classes\admin\settings\sf-options.php:38
458
- msgid "Eg: <code>yoursite.com/[your_setting_here]/[vendor_name_here]</code>"
459
- msgstr ""
460
- "Z.B.: <code>deineseite.de/[deine_einstellung_hier]/[verk&auml;ufer_name_hier]"
461
- "</code>"
462
-
463
- #: productvendor\classes\admin\settings\sf-options.php:45
464
- msgid "Seller info tab"
465
- msgstr "Verk&auml;ufer-Info-Tab"
466
-
467
- #: productvendor\classes\admin\settings\sf-options.php:46
468
- msgid "Choose what this custom tab on a vendor's product should say"
469
- msgstr ""
470
- "W&auml;hle, was dieses Tab auf einer Produktseite des Verk&auml;ufers "
471
- "enthalten soll"
472
-
473
- #: productvendor\classes\admin\settings\sf-options.php:49
474
- msgid "Seller Info"
475
- msgstr "Verk&auml;ufer-Info"
476
-
477
- #: productvendor\classes\admin\settings\sf-options.php:52
478
- #: productvendor\classes\admin\settings\sf-options.php:177
479
- msgid "Products"
480
- msgstr "Produkte"
481
-
482
- #: productvendor\classes\admin\settings\sf-options.php:53
483
- msgid "Product Add Page"
484
- msgstr "Produkt hinzuf&uuml;gen Seite"
485
-
486
- #: productvendor\classes\admin\settings\sf-options.php:53
487
- msgid "Configure what to hide from all vendors when adding a product"
488
- msgstr ""
489
- "Stelle ein, was der Verk&auml;ufer nicht sehen darf, wenn er ein Produkt "
490
- "hinzuf&uuml;gt"
491
-
492
- #: productvendor\classes\admin\settings\sf-options.php:56
493
- msgid "Left side panel"
494
- msgstr "Produktdaten (Feld auf der linken Seite)"
495
-
496
- #: productvendor\classes\admin\settings\sf-options.php:57
497
- msgid "Hide these areas of the add product page for vendors"
498
- msgstr ""
499
- "Verberge diese Bereiche der Seite Produkt hinzuf&uuml;gen f&uuml;r den "
500
- "Verk&auml;ufer"
501
-
502
- #: productvendor\classes\admin\settings\sf-options.php:71
503
- msgid "Types"
504
- msgstr "Produkttypen"
505
-
506
- #: productvendor\classes\admin\settings\sf-options.php:72
507
- msgid "Hide these product types from the vendor"
508
- msgstr "Verberge diese Produktdaten f&uuml;r den Verk&auml;ufer"
509
-
510
- #: productvendor\classes\admin\settings\sf-options.php:85
511
- msgid "Type options"
512
- msgstr "Produkttyp-Optionen"
513
-
514
- #: productvendor\classes\admin\settings\sf-options.php:86
515
- msgid "Hide these product options from the vendor"
516
- msgstr "Verberge diese Produktoptionen f&uuml;r den Verk&auml;ufer"
517
-
518
- #: productvendor\classes\admin\settings\sf-options.php:97
519
- msgid "Miscellaneous"
520
- msgstr "Diverses"
521
-
522
- #: productvendor\classes\admin\settings\sf-options.php:108
523
- msgid "Stylesheet"
524
- msgstr "Stylesheet"
525
-
526
- #: productvendor\classes\admin\settings\sf-options.php:109
527
- msgid ""
528
- "You can add CSS in this textarea, which will be loaded on the product add/"
529
- "edit page for vendors."
530
- msgstr ""
531
- "Sie k&ouml;nnen CSS in diesem Textfeld eintragen, welches auf der Seite "
532
- "Produkt hinzuf&uuml;gen/editieren f&uuml;r Verk&auml;ufer angezeigt wird."
533
-
534
- #: productvendor\classes\admin\settings\sf-options.php:115
535
- msgid "Capabilities"
536
- msgstr "Verk&auml;ufer-Rechte"
537
-
538
- #: productvendor\classes\admin\settings\sf-options.php:116
539
- msgid "Permissions"
540
- msgstr "Berechtigungen"
541
-
542
- #: productvendor\classes\admin\settings\sf-options.php:116
543
- msgid "General permissions used around the shop"
544
- msgstr "Allgemeine Berechtigungen rund um den Shop"
545
-
546
- #: productvendor\classes\admin\settings\sf-options.php:120
547
- msgid "View orders"
548
- msgstr "Bestellungen ansehen"
549
-
550
- #: productvendor\classes\admin\settings\sf-options.php:121
551
- msgid "Show customer details such as email, address, name, etc, for each order"
552
- msgstr ""
553
- "Zeige K&auml;ufer-Details f&uuml;r jede Bestellung, wie z.B. E-Mail-Adresse, "
554
- "Name, etc."
555
-
556
- #: productvendor\classes\admin\settings\sf-options.php:128
557
- msgid "View comments"
558
- msgstr "Bestell-Kommentare ansehen"
559
-
560
- #: productvendor\classes\admin\settings\sf-options.php:129
561
- msgid "View all vendor comments for an order on the frontend"
562
- msgstr ""
563
- "Zeige alle Verk&auml;ufer-Kommentare f&uuml;r eine Bestellung im Frontend."
564
-
565
- #: productvendor\classes\admin\settings\sf-options.php:136
566
- msgid "Submit comments"
567
- msgstr "Bestell-Kommentare hinzuf&uuml;gen"
568
-
569
- #: productvendor\classes\admin\settings\sf-options.php:137
570
- msgid ""
571
- "Submit comments for an order on the frontend. Eg, tracking ID for a product"
572
- msgstr ""
573
- "Kommentare zu einer Bestellung &uuml;ber das Frontend hinzuf&uuml;gen, z.B. "
574
- "die Sendungsverfolgungs-Nr. f&uuml;r ein Produkt."
575
-
576
- #: productvendor\classes\admin\settings\sf-options.php:144
577
- msgid "View email addresses"
578
- msgstr "E-Mail-Adressen ansehen"
579
-
580
- #: productvendor\classes\admin\settings\sf-options.php:145
581
- msgid ""
582
- "While viewing order details on the frontend, you can disable or enable email "
583
- "addresses"
584
- msgstr ""
585
- "Wenn der Verk&auml;ufer die Bestelldetails sehen darf, kann hiermit zus&auml;"
586
- "tzlich die Anzeige der eMail-Adressen der K&auml;fer erm&ouml;glicht werden."
587
-
588
- #: productvendor\classes\admin\settings\sf-options.php:152
589
- msgid "Export a CSV file of orders for a product"
590
- msgstr "Bestelldetails eines Produktes als CSV-Datei exportieren"
591
-
592
- #: productvendor\classes\admin\settings\sf-options.php:153
593
- msgid "Vendors could export orders for a product on the frontend"
594
- msgstr ""
595
- "Verk&auml;ufer kann Bestellungen eines Produktes im Frontend exportieren."
596
-
597
- #: productvendor\classes\admin\settings\sf-options.php:160
598
- msgid "Reports"
599
- msgstr "Berichte"
600
-
601
- #: productvendor\classes\admin\settings\sf-options.php:161
602
- msgid "View backend sales reports"
603
- msgstr "Backend Verkaufs-&Uuml;bersicht ansehen"
604
-
605
- #: productvendor\classes\admin\settings\sf-options.php:162
606
- msgid ""
607
- "Graphs and tables via the Reports page in backend. The reports will only "
608
- "display sales data that pretain to their products"
609
- msgstr ""
610
- "Grafiken und Tabellen in den &Uuml;bersichten im Backend. Die &Uuml;bersicht "
611
- "zeigt nur die Verkaufs-Daten, die zu den Produkten des jeweiligen Verk&auml;"
612
- "ufers geh&ouml;ren. "
613
-
614
- #: productvendor\classes\admin\settings\sf-options.php:169
615
- msgid "View Frontend sales reports"
616
- msgstr "Frontend Verkaufs-&Uuml;bersicht ansehen"
617
-
618
- #: productvendor\classes\admin\settings\sf-options.php:170
619
- msgid ""
620
- "Sales table on the frontend on the My Account page. The table will only "
621
- "display sales data that pretain to their products"
622
- msgstr ""
623
- "Verkaufs-&Uuml;bersicht im Frontend auf der Mein Konto Seite. Die &Uuml;"
624
- "bersicht zeigt nur die Verkaufs-Daten, die zu den Produkten des jeweiligen "
625
- "Verk&auml;ufers geh&ouml;ren."
626
-
627
- #: productvendor\classes\admin\settings\sf-options.php:178
628
- msgid "Submit products"
629
- msgstr "Produkte hinzuf&uuml;gen"
630
-
631
- #: productvendor\classes\admin\settings\sf-options.php:179
632
- msgid ""
633
- "Vendors could submit a product through the backend, and an admin would "
634
- "approve or deny it"
635
- msgstr ""
636
- "Verk&auml;ufer k&ouml;nnen ein neues Produkt im Backend hinzufügen. Ein "
637
- "Admin kann es dann freischalten oder ablehnen."
638
-
639
- #: productvendor\classes\admin\settings\sf-options.php:186
640
- msgid "Edit live products"
641
- msgstr "Live-Produkte bearbeiten."
642
-
643
- #: productvendor\classes\admin\settings\sf-options.php:187
644
- msgid ""
645
- "Vendors could edit an approved product after it has already gone live. There "
646
- "is no approval or review after editing a live product. This could be "
647
- "dangerous with malicious vendors, so take caution."
648
- msgstr ""
649
- "Ist dies aktiviert, k&ouml;nnen Verk&auml;ufer ein bereits freigeschaltetes "
650
- "Product bearbeiten. Es gibt keine erneute Freischaltung der Bearbeitung, "
651
- "also Vorsicht!"
652
-
653
- #: productvendor\classes\admin\settings\sf-options.php:194
654
- msgid "Submit products live without requiring approval"
655
- msgstr ""
656
- "Produkte hinzuf&uuml;gen, ohne dass eine Freischaltung durch den Admin "
657
- "erforderlich ist"
658
-
659
- #: productvendor\classes\admin\settings\sf-options.php:195
660
- msgid ""
661
- "Vendors can submit products without review or approval from a shop admin. "
662
- "This could be dangerous with malicious vendors, so take caution."
663
- msgstr ""
664
- "Ist dies aktiviert, k&ouml;nnen Verk&auml;ufer neue Produkte hinzuf&uuml;"
665
- "gen, ohne dass eine vorherige Freischaltung durch den Admin erforderlich "
666
- "ist. Dies k&ouml;nnte bei b&ouml;swilligen Verk&auml;ufern gef&auml;hrlich "
667
- "sein, daher Vorsicht und mit Bedacht entscheiden!"
668
-
669
- #: productvendor\classes\admin\settings\sf-options.php:201
670
- msgid "Pages"
671
- msgstr "Seiten"
672
-
673
- #: productvendor\classes\admin\settings\sf-options.php:202
674
- msgid "Page configuration"
675
- msgstr "Seitenkonfiguration"
676
-
677
- #: productvendor\classes\admin\settings\sf-options.php:205
678
- msgid "Vendor dashboard"
679
- msgstr "Verk&auml;ufer-Seite"
680
-
681
- #: productvendor\classes\admin\settings\sf-options.php:206
682
- msgid ""
683
- "Choose the page that has the shortcode <code>[pv_vendor_dashboard]</code><br/"
684
- ">By default, My Account > Vendor Dashboard should have the shortcode."
685
- msgstr ""
686
- "W&auml;hle die Seite, die den shortcode <code>[pv_vendor_dashboard]</"
687
- "code><br/> enth&auml;lt. Standardm&auml;&szlig;ig sollte dies Mein Konto > "
688
- "Verk&auml;ufer-Seite sein."
689
-
690
- #: productvendor\classes\admin\settings\sf-options.php:213
691
- msgid "Shop settings"
692
- msgstr "Shop-Einstellungen"
693
-
694
- #: productvendor\classes\admin\settings\sf-options.php:214
695
- msgid ""
696
- "Choose the page that has the shortcode <code>[pv_shop_settings]</code><br/"
697
- ">These are the shop settings a vendor can configure."
698
- msgstr ""
699
- "W&auml;hle die Seite, die den shortcode <code>[pv_shop_settings]</code><br/> "
700
- "enth&auml;lt. Dies sind die Shop-Einstellungen, die ein Verk&auml;ufer "
701
- "vornehmen kann."
702
-
703
- #: productvendor\classes\admin\settings\sf-options.php:221
704
- msgid "Orders page"
705
- msgstr "Bestellseite"
706
-
707
- #: productvendor\classes\admin\settings\sf-options.php:222
708
- msgid ""
709
- "Choose the page that has the shortcode <code>[pv_orders]</code><br/>By "
710
- "default, My Account > Orders should have the shortcode."
711
- msgstr ""
712
- "W&auml;hle die Seite, die den shortcode <code>[pv_orders]</code><br/> "
713
- "enth&auml;lt. Standardm&auml;&szlig;ig sollte dies Mein Konto > Bestellungen "
714
- "sein."
715
-
716
- #: productvendor\classes\admin\settings\sf-options.php:229
717
- msgid "Vendor terms"
718
- msgstr "Verk&auml;ufer-Bedingungen"
719
-
720
- #: productvendor\classes\admin\settings\sf-options.php:230
721
- msgid ""
722
- "These terms are shown to a user when submitting an application to become a "
723
- "vendor.<br/>If left blank, no terms will be shown to the applicant."
724
- msgstr ""
725
- "Diese Bedingungen werden einem Benutzer angezeigt, wenn er sich als "
726
- "Verk&auml;ufer bewirbt.<br/>Falls leer gelassen, werden dem Bewerber keine "
727
- "Bedingungen angezeigt."
728
-
729
- #: productvendor\classes\admin\settings\sf-options.php:248
730
- msgid "Payments"
731
- msgstr "Auszahlungen"
732
-
733
- #: productvendor\classes\admin\settings\sf-options.php:249
734
- msgid "User payments"
735
- msgstr "Benutzer-Zahlungen"
736
-
737
- #: productvendor\classes\admin\settings\sf-options.php:250
738
- #, php-format
739
- msgid "Total commission currently due: %s. <a href=\"%s\">View details</a>."
740
- msgstr ""
741
- "Gesamte derzeit ausstehende Provision: %s. <a href=\"%s\">Zeige Details</a>."
742
-
743
- #: productvendor\classes\admin\settings\sf-options.php:251
744
- #, php-format
745
- msgid ""
746
- "Make sure you update your PayPal Adaptive Payments settings <a href=\"%s"
747
- "\">here</a>."
748
- msgstr ""
749
- "Stellen Sie sicher, dass die PayPal Adaptive Payments Einstellungen <a href="
750
- "\"%s\">korrekt sind</a>."
751
-
752
- #: productvendor\classes\admin\settings\sf-options.php:254
753
- msgid "Instant pay"
754
- msgstr "Sofortzahlung"
755
-
756
- #: productvendor\classes\admin\settings\sf-options.php:255
757
- msgid "Instantly pay vendors their commission when an order is made"
758
- msgstr ""
759
- "Zahlt dem Verk&auml;ufer seine Provision automatisch sofort, wenn eine "
760
- "Bestellung eines seiner Produkte erfolgt ist."
761
-
762
- #: productvendor\classes\admin\settings\sf-options.php:256
763
- msgid ""
764
- "For this to work, customers must checkout with the PayPal Adaptive Payments "
765
- "gateway. Using other gateways will not pay vendors instantly"
766
- msgstr ""
767
- "For this to work, customers must checkout with the PayPal Adaptive Payments "
768
- "gateway. Using other gateways will not pay vendors instantly"
769
-
770
- #: productvendor\classes\admin\settings\sf-options.php:263
771
- msgid "Payment schedule"
772
- msgstr "Zeitplan f&uuml;r Zahlungen"
773
-
774
- #: productvendor\classes\admin\settings\sf-options.php:264
775
- msgid "Note: Schedule will only work if instant pay is unchecked"
776
- msgstr ""
777
- "Hinweis: Zeitplan funktioniert nur, wenn sofortige Zahlung deaktiviert ist."
778
-
779
- #: productvendor\classes\admin\settings\sf-options.php:269
780
- msgid "Weekly"
781
- msgstr "W&ouml;chentlich"
782
-
783
- #: productvendor\classes\admin\settings\sf-options.php:270
784
- msgid "Biweekly"
785
- msgstr "Zweiw&ouml;chentlich"
786
-
787
- #: productvendor\classes\admin\settings\sf-options.php:271
788
- msgid "Monthly"
789
- msgstr "Monatlich"
790
-
791
- #: productvendor\classes\admin\settings\sf-options.php:272
792
- msgid "Manual"
793
- msgstr "Von Hand"
794
-
795
- #: productvendor\classes\admin\settings\sf-options.php:273
796
- msgid "Now"
797
- msgstr "Jetzt"
798
-
799
- #: productvendor\classes\admin\settings\sf-options.php:278
800
- msgid "Email notification"
801
- msgstr "E-Mail-Benachrichtigung"
802
-
803
- #: productvendor\classes\admin\settings\sf-options.php:279
804
- msgid ""
805
- "Send the WooCommerce admin an email each time a payment has been made via "
806
- "the payment schedule options above"
807
- msgstr ""
808
- "Sendet dem WooCommerce-Admin eine automtische E-Mail, wenn eine Zahlung "
809
- "aufgrund des Zahlungsplans ausgef&uuml;hrt wurde."
810
-
811
- #: productvendor\classes\admin\settings\classes\sf-class-format-options.php:201
812
- #: productvendor\classes\admin\settings\classes\sf-class-format-options.php:205
813
- msgid "Select a page..."
814
- msgstr "W&auml;hle eine Seite..."
815
-
816
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:149
817
- #: productvendor\views\dashboard\settings\settings.php:1
818
- msgid "Settings"
819
- msgstr "Einstellungen"
820
-
821
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:279
822
- msgid "Could not load settings at: "
823
- msgstr "Einstellungen konnten nicht geladen werden f&uuml;r:"
824
-
825
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:279
826
- msgid "Error - WP Settings Framework"
827
- msgstr "Fehler - WP Settings Framework"
828
-
829
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:341
830
- #: productvendor\classes\front\dashboard\class-vendor-dashboard.php:120
831
- msgid "Settings saved."
832
- msgstr "Einstellungen gespeichert."
833
-
834
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:454
835
- #, php-format
836
- msgid "Save %s changes"
837
- msgstr "&Auml;nderungen %s speichern"
838
-
839
- #: productvendor\classes\front\orders\class-export-csv.php:60
840
- #: productvendor\views\dashboard\reports.php:15
841
- msgid "Quantity"
842
- msgstr "Anzahl"
843
-
844
- #: productvendor\classes\front\orders\class-orders.php:97
845
- msgid ""
846
- "You haven't selected a product's orders to view! Please go back to the "
847
- "Vendor Dashboard and click Show Orders on the product you'd like to view."
848
- msgstr ""
849
- "Sie haben keine Produkt-Bestellung ausgew&auml;hlt, zu der Sie die Details "
850
- "angezeigt haben wollen. Bitte gehen Sie zur&uuml;ck auf die Verk&auml;ufer-"
851
- "Seite und klicken auf Bestellung anzeigen bei dem Produkt, zu dem Sie die "
852
- "Bestell-Details ansehen wollen."
853
-
854
- #: productvendor\classes\front\orders\class-orders.php:102
855
- msgid "No orders."
856
- msgstr "Keine Bestellungen."
857
-
858
- #: productvendor\classes\front\orders\class-orders.php:156
859
- msgid "Full name"
860
- msgstr "Vollst&auml;ndiger Name"
861
-
862
- #: productvendor\classes\front\orders\class-orders.php:157
863
- msgid "Address"
864
- msgstr "Adresse"
865
-
866
- #: productvendor\classes\front\orders\class-orders.php:158
867
- msgid "City"
868
- msgstr "Stadt"
869
-
870
- #: productvendor\classes\front\orders\class-orders.php:159
871
- msgid "State"
872
- msgstr "Bundesland"
873
-
874
- #: productvendor\classes\front\orders\class-orders.php:160
875
- msgid "Zip"
876
- msgstr "PLZ"
877
-
878
- #: productvendor\classes\front\orders\class-orders.php:161
879
- msgid "Email address"
880
- msgstr "E-Mail-Adresse"
881
-
882
- #: productvendor\classes\front\signup\class-vendor-signup.php:38
883
- #: productvendor\views\dashboard\denied.php:16
884
- msgid "Apply to become a vendor?"
885
- msgstr "Bewerben um ein Verk&auml;ufer zu werden?"
886
-
887
- #: productvendor\classes\front\signup\class-vendor-signup.php:56
888
- msgid "Your application has been submitted."
889
- msgstr "Ihre Bewerbung wurde eingereicht."
890
-
891
- #: productvendor\classes\front\signup\class-vendor-signup.php:72
892
- msgid "You must accept the terms and conditions to become a vendor."
893
- msgstr ""
894
- "Sie m&uuml;ssen die Verk&auml;ufer-Bedingungen lesen und akzeptieren um ein "
895
- "Verk&auml;ufer zu werden."
896
-
897
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:37
898
- msgid "PayPal Adaptive Payments"
899
- msgstr "PayPal Adaptive Payments"
900
-
901
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:112
902
- #, php-format
903
- msgid ""
904
- "Something went wrong. Response from PayPal invalidated this order. Status: "
905
- "%s."
906
- msgstr ""
907
- "Ein Fehler ist aufgetreten. Die Antwort von Paypal hat dieses Bestllung als "
908
- "ung&uuml;ltig gekennzeichnet. Status: %s."
909
-
910
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:117
911
- msgid "IPN payment completed"
912
- msgstr "IPN Zahlung abgeschlossen"
913
-
914
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:139
915
- msgid "Enable PayPal Adaptive Payments"
916
- msgstr "PayPal Adaptive Payments aktivieren"
917
-
918
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:145
919
- msgid "Method Title"
920
- msgstr "Methoden-&Uuml;berschrift"
921
-
922
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:146
923
- msgid "This controls the title which the user sees during checkout."
924
- msgstr ""
925
- "Hier wird der Titel eingestellt, den der Benutzer w&auml;hrend des "
926
- "Abschlusses an der Kasse sieht."
927
-
928
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:147
929
- msgid "PayPal"
930
- msgstr "PayPal"
931
-
932
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:152
933
- msgid "Description"
934
- msgstr "Beschreibung"
935
-
936
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:153
937
- msgid "This controls the description which the user sees during checkout."
938
- msgstr ""
939
- "Hier wird der Text eingestellt, den der Benutzer w&auml;hrend des "
940
- "Abschlusses an der Kasse sieht."
941
-
942
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:154
943
- msgid "Pay via PayPal!"
944
- msgstr "Zahlen Sie mit Paypal!"
945
-
946
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:165
947
- msgid "Live Credentials"
948
- msgstr "Live Credentials"
949
-
950
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:167
951
- #, php-format
952
- msgid ""
953
- "You must have an <a href=\"%s\">Application ID</a> to process live "
954
- "transactions. You do not need one for testing in Sandbox mode."
955
- msgstr ""
956
- "Sie ben&ouml;tigen eine <a href=\"%s\">Application ID</a> um Live-"
957
- "Transaktionen auszuf&uuml;hren. Nicht erforderlich zum Testen im Sandbox-"
958
- "Modus."
959
-
960
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:172
961
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:206
962
- msgid "PayPal Email"
963
- msgstr "PayPal E-Mail"
964
-
965
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:173
966
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:207
967
- msgid "The email address main payments should go to."
968
- msgstr "Die E-Mail-Adresse, an die die Hauptzahlungen gehen sollen."
969
-
970
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:178
971
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:212
972
- msgid "API Username"
973
- msgstr "API Benutzername"
974
-
975
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:183
976
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:217
977
- msgid "API Password"
978
- msgstr "API Passwort"
979
-
980
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:188
981
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:222
982
- msgid "API Signature"
983
- msgstr "API Signatur"
984
-
985
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:193
986
- msgid "Application ID"
987
- msgstr "Application ID"
988
-
989
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:195
990
- msgid "Only required when doing live transactions."
991
- msgstr "Nur erforderlich, wenn Live-Zahlungen genutzt werden."
992
-
993
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:199
994
- msgid "Sandbox Credentials"
995
- msgstr "Sandbox Credentials"
996
-
997
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:201
998
- #, php-format
999
- msgid ""
1000
- "You can signup for a sandbox developer account <a href=\"%s\">here</a>. You "
1001
- "need a developer account if you want to enable Sandbox mode for testing."
1002
- msgstr ""
1003
- "Sie k&ouml;nnen sich f&uuml;r einen Sandbox Developer Account <a href=\"%s"
1004
- "\">hier</a> anmelden. Sie ben&ouml;tigen einen Developer Account, wenn Sie "
1005
- "den Sandbox-Modus zum Testen aktivieren wollen."
1006
-
1007
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:233
1008
- msgid "Misc. Settings"
1009
- msgstr "Einstellungen"
1010
-
1011
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:238
1012
- msgid "Enable PayPal Sandbox mode"
1013
- msgstr "PayPal Sandbox-Modus aktivieren"
1014
-
1015
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:244
1016
- msgid "Enable logging"
1017
- msgstr "Logging aktivieren"
1018
-
1019
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:261
1020
- msgid ""
1021
- "The PayPal Adaptive Payments gateway can instantly pay your vendors their "
1022
- "due commission (if enabled). Also used to mass pay vendors on a schedule / "
1023
- "manual method (if enabled)."
1024
- msgstr ""
1025
- "Das PayPal Adaptive Payments Gateway kann Ihren Verk&auml;ufern sofort nach "
1026
- "einem Verkauf die angefallene Provision automatisch auszahlen (sofern diese "
1027
- "Funktion aktiviert ist). Es wird auch benutzt, um Massenzahlungen an die "
1028
- "Verk&auml;ufer - manuell oder nach Zeitplan - auszuf&uuml;hren."
1029
-
1030
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:271
1031
- msgid "Gateway Disabled"
1032
- msgstr "Gateway deaktiviert"
1033
-
1034
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:271
1035
- #, php-format
1036
- msgid "%s does not support your store currency."
1037
- msgstr "%s unterst&uuml;tzt nicht die im Shop eingestellte W&auml;hrung."
1038
-
1039
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:390
1040
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:526
1041
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:147
1042
- #, php-format
1043
- msgid "Error: %s"
1044
- msgstr "Fehler: %s"
1045
-
1046
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:398
1047
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:399
1048
- #, php-format
1049
- msgid "Error ID: %s. %s"
1050
- msgstr "Error ID: %s. %s"
1051
-
1052
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:565
1053
- #, php-format
1054
- msgid "Attempted to checkout with %s when shipping costs are not permitted."
1055
- msgstr "Versucht mit %s auszuchecken, wenn Versandkosten nicht gestattet sind."
1056
-
1057
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:566
1058
- #, php-format
1059
- msgid "You can not use %s when there are shipping costs."
1060
- msgstr "Sie k&ouml;nnen %s nicht benutzen, wenn Versandkosten enthalten sind."
1061
-
1062
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:113
1063
- msgid "No vendors found to pay. Maybe they haven't set a PayPal address?"
1064
- msgstr ""
1065
- "Keine Verk&auml;ufer gefunden, an die gezahlt werden kann. Vielleicht haben "
1066
- "diese keine PayPal-Adresse hinterlegt?"
1067
-
1068
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:160
1069
- msgid "All due commission has been paid for."
1070
- msgstr "Alle ausstehenden Provosionszahlungen wurden ausgezahlt."
1071
-
1072
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:166
1073
- msgid ""
1074
- "All due commission has been paid for, but I could not clear it from their "
1075
- "profiles due to an internal error. Commission will still be listed as due. "
1076
- "Please manually mark the commission as paid from the Commissions page."
1077
- msgstr ""
1078
- "Alle offenen Provisionen wurden ausgezahlt, aber aufgrund eines internen "
1079
- "Fehlers konnten die Provisionen nicht auf den Status bezahlt gesetzt werden. "
1080
- "Die Provisionen werden weiterhin als offen gelistet. Bitte manuell auf "
1081
- "bezahlt setzen."
1082
-
1083
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:200
1084
- msgid "WooCommerce: Mass payments for vendors update"
1085
- msgstr "WooCommerce: Massenzahlung für Verk&auml;fer Update"
1086
-
1087
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:202
1088
- msgid ""
1089
- "Hello! A payment was just triggered to mass pay all vendors their due "
1090
- "commission."
1091
- msgstr ""
1092
- "Hallo! Eine Massenzahlung wurde so eben ausgel&ouml;st um allen Verk&auml;"
1093
- "ufern ihre aussstehenden Provisionen zu zahlen."
1094
-
1095
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:203
1096
- #, php-format
1097
- msgid "Payment status: %s."
1098
- msgstr "Auszahlungsstatus: %s."
1099
-
1100
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:204
1101
- #, php-format
1102
- msgid "Payment message: %s."
1103
- msgstr "Nachricht zur Zahlung: %s."
1104
-
1105
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:207
1106
- #, php-format
1107
- msgid "Payment total: %s."
1108
- msgstr "Zahlung gesamt: %s."
1109
-
1110
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:137
1111
- msgid ""
1112
- "The plugin has been updated, but could not be reactivated. Please reactivate "
1113
- "it manually."
1114
- msgstr ""
1115
- "Das Plugin wurde geupdated, konnte aber nicht aktiviert werden. Bitte "
1116
- "aktivieren Sie es von Hand erneut."
1117
-
1118
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:138
1119
- msgid "Plugin reactivated successfully."
1120
- msgstr "Plugin erfolgreich erneut aktiviert."
1121
-
1122
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:229
1123
- msgid "MGates.me Updates"
1124
- msgstr "MGates.me Updates"
1125
-
1126
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:259
1127
- msgid "MGates.me Plugin Updater"
1128
- msgstr "MGates.me Plugin-Updater"
1129
-
1130
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:270
1131
- msgid "Enter your license key to automatically receive updates."
1132
- msgstr ""
1133
- "F&uuml;gen Sie den Lizenzschl&uuml;ssel hinzu, um automatisch Plugin-Updates "
1134
- "zu erhalten."
1135
-
1136
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:295
1137
- #: productvendor\views\dashboard\settings\settings.php:19
1138
- msgid "Save"
1139
- msgstr "Speichern"
1140
-
1141
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:296
1142
- msgid "Check for updates <b>now</b>"
1143
- msgstr "<b>Jetzt</b> auf Updates pr&uuml;fen."
1144
-
1145
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:323
1146
- #, php-format
1147
- msgid ""
1148
- "<b style=\"color: #468847;\">Key deactivated.</b> License key for <i>%s</i> "
1149
- "has been <b>deactivated</b>."
1150
- msgstr ""
1151
- "<b style=\"color: #468847;\">Schl&uuml;ssel wurde deaktiviert.</b> Der "
1152
- "Lizenzschl&uuml;ssel f&uuml;r <i>%s</i> wurde <b>deaktiviert</b>."
1153
-
1154
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:325
1155
- #, php-format
1156
- msgid ""
1157
- "<b style=\"color: #B94A48;\">Error.</b> License key for <i>%s</i> could not "
1158
- "be deactivated."
1159
- msgstr ""
1160
- "<b style=\"color: #B94A48;\">Fehler.</b> Der Lizenzschl&uuml;ssel f&uuml;r "
1161
- "<i>%s</i> konnte nicht deaktiviert werden."
1162
-
1163
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:333
1164
- #, php-format
1165
- msgid ""
1166
- "<b style=\"color: #468847;\">Key activated.</b> License key for <i>%s</i> "
1167
- "has been <b>activated</b>."
1168
- msgstr ""
1169
- "<b style=\"color: #468847;\">Schl&uuml;ssel aktiviert.</b> Der "
1170
- "Lizenzschl&uuml;ssel f&uuml;r<i>%s</i> wurde <b>aktiviert</b>."
1171
-
1172
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:335
1173
- #, php-format
1174
- msgid ""
1175
- "<b style=\"color: #B94A48;\">Error.</b> License key for <i>%s</i> is invalid."
1176
- msgstr ""
1177
- "<b style=\"color: #B94A48;\">Error.</b> Lizenz-Key f&uuml;r <i>%s</i> ist "
1178
- "ung&uuml;ltig."
1179
-
1180
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:370
1181
- msgid "Enable MGates.me Plugin Updates."
1182
- msgstr "Aktiviere MGates.me Plugin Updates."
1183
-
1184
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:372
1185
- #, php-format
1186
- msgid ""
1187
- "<a href=\"%1$s\">Add your license keys</a> to enable automatic plugin "
1188
- "updates."
1189
- msgstr ""
1190
- "<a href=\"%1$s\">F&uuml;gen Sie den Lizenz-Schl&uuml;ssel hinzu</a>, um die "
1191
- "automatischen Plugin-Updates zu aktivieren."
1192
-
1193
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:379
1194
- msgid "Hide This Message"
1195
- msgstr "Diese Nachricht verbergen"
1196
-
1197
- #: productvendor\views\dashboard\denied.php:5
1198
- msgid "Your account has not yet been approved to become a vendor."
1199
- msgstr ""
1200
- "Ihr Benutzerprofil ist noch nicht als Verk&auml;ufer-Account freigeschaltet."
1201
-
1202
- #: productvendor\views\dashboard\denied.php:9
1203
- msgid "Your account is not vendor capable."
1204
- msgstr "Ihr Benutzerprofil ist nicht als Verk&auml;ufer freigeschaltet."
1205
-
1206
- #: productvendor\views\dashboard\denied.php:24
1207
- #, php-format
1208
- msgid "I have read and accepted the <a href=\"%s\">terms and conditions</a>"
1209
- msgstr ""
1210
- "Ich habe die <a href=\"%s\">Verk&auml;ufer-Bedingungen</a> gelesen und "
1211
- "akzeptiert."
1212
-
1213
- #: productvendor\views\dashboard\denied.php:30
1214
- msgid "Submit"
1215
- msgstr "Absenden"
1216
-
1217
- #: productvendor\views\dashboard\links.php:1
1218
- msgid "Control Center"
1219
- msgstr "Kontrollzentrum"
1220
-
1221
- #: productvendor\views\dashboard\links.php:3
1222
- msgid "My shop"
1223
- msgstr "Mein Shop"
1224
-
1225
- #: productvendor\views\dashboard\links.php:7
1226
- msgid "My settings"
1227
- msgstr "Meine Einstellungen"
1228
-
1229
- #: productvendor\views\dashboard\links.php:13
1230
- msgid "Submit a product"
1231
- msgstr "Produkt hinzuf&uuml;gen"
1232
-
1233
- #: productvendor\views\dashboard\reports.php:1
1234
- msgid "Sales Report"
1235
- msgstr "Verkaufs-Bericht"
1236
-
1237
- #: productvendor\views\dashboard\reports.php:17
1238
- msgid "Rate"
1239
- msgstr "Quote"
1240
-
1241
- #: productvendor\views\dashboard\reports.php:37
1242
- msgid "Show Orders"
1243
- msgstr "Zeige Bestellungen"
1244
-
1245
- #: productvendor\views\dashboard\reports.php:45
1246
- msgid "Totals"
1247
- msgstr "Gesamt"
1248
-
1249
- #: productvendor\views\dashboard\reports.php:58
1250
- msgid "You have no sales during this period."
1251
- msgstr "Sie haben keine Verk&auml;ufe innerhalb dieses Zeitraums."
1252
-
1253
- #: productvendor\views\dashboard\reports.php:66
1254
- msgid "You have no products."
1255
- msgstr "Sie haben keine Produkte."
1256
-
1257
- #: productvendor\views\dashboard\settings\paypal-email-form.php:2
1258
- msgid "PayPal Address"
1259
- msgstr "PayPal-Adresse"
1260
-
1261
- #: productvendor\views\dashboard\settings\paypal-email-form.php:3
1262
- msgid "Your PayPal address is used to send you your commission."
1263
- msgstr ""
1264
- "Diese Paypal-eMail-Adresse wird verwendet, um angefallenen Provisionen "
1265
- "auszuzahlen."
1266
-
1267
- #: productvendor\views\dashboard\settings\seller-info.php:3
1268
- msgid "This is displayed on each of your products."
1269
- msgstr ""
1270
- "Dies wird bei jedem Ihrer Produkte auf der Produktseite bei der "
1271
- "Produktbeschreibung in einem extra Tab angezeigt."
1272
-
1273
- #: productvendor\views\dashboard\settings\shop-description.php:2
1274
- msgid "Shop Description"
1275
- msgstr "Shop-Beschreibung"
1276
-
1277
- #: productvendor\views\dashboard\settings\shop-description.php:3
1278
- #, php-format
1279
- msgid "This is displayed on your <a href=\"%s\">shop page</a>."
1280
- msgstr "Dies wird auf Ihrer <a href=\"%s\">Shop-Seite</a> angezeigt."
1281
-
1282
- #: productvendor\views\emails\application-status.php:5
1283
- #, php-format
1284
- msgid "Hi there. This is a notification about a vendor application on %s."
1285
- msgstr ""
1286
- "Hallo. Dies ist eine Benachrichtigung &uuml;ber eine vorliegende, neue "
1287
- "Bewerbung als Verk&auml;ufer auf %s."
1288
-
1289
- #: productvendor\views\emails\application-status.php:8
1290
- #, php-format
1291
- msgid "Application status: %s"
1292
- msgstr "Bewerbung-Status: %s"
1293
-
1294
- #: productvendor\views\emails\application-status.php:9
1295
- #, php-format
1296
- msgid "Applicant username: %s"
1297
- msgstr "Username des Bewerbers: %s"
1298
-
1299
- #: productvendor\views\orders\csv-export.php:6
1300
- msgid "Export orders"
1301
- msgstr "Bestellungen exportieren"
1302
-
1303
- #: productvendor\views\orders\orders.php:135
1304
- #: productvendor\views\orders\table-body-simple.php:39
1305
- #, php-format
1306
- msgid "Total quantity: %d"
1307
- msgstr "Menge gesamt: %d"
1308
-
1309
- #: productvendor\views\orders\orders.php:159
1310
- msgid "Comments"
1311
- msgstr "Kommentare"
1312
-
1313
- #: productvendor\views\orders\orders.php:188
1314
- msgid "Shipping - Tracking #"
1315
- msgstr "Versand - Sendungsverfolgung #"
1316
-
1317
- #: productvendor\views\orders\orders.php:200
1318
- msgid "Shipping - Mark Shipped"
1319
- msgstr "Versand - kennzeichne als versandt"
1320
-
1321
- #: productvendor\views\orders\orders.php:207
1322
- msgid "Enter your tracking number first before marking the order as shipped."
1323
- msgstr ""
1324
- "Erst die Sendungsnummer eingeben, bevor die Bestellung als versandt "
1325
- "gekennzeichnet wird."
1326
-
1327
- #: productvendor\views\orders\table-body-simple.php:21
1328
- #: productvendor\views\orders\table-body-variable.php:24
1329
- #, php-format
1330
- msgid "Quantity: %d"
1331
- msgstr "Menge: %d"
1332
-
1333
- #: productvendor\views\orders\comments\add-new-comment.php:10
1334
- msgid "Add comment"
1335
- msgstr "Kommentar hinzuf&uuml;gen"
1336
-
1337
- #: productvendor\views\orders\comments\existing-comments.php:9
1338
- #, php-format
1339
- msgid "added %s ago"
1340
- msgstr "hinzugef&uuml;gt vor %s"
1341
-
1342
- #: productvendor\views\orders\customer-note\customer-note.php:4
1343
- msgid "Customer note"
1344
- msgstr "Kundenmitteilung"
1345
-
1346
- #: productvendor\views\orders\customer-note\customer-note.php:8
1347
- msgid "No customer note."
1348
- msgstr "Keine Kundenmitteilung."
1349
-
1350
- #: productvendor\views\orders\shipping\shipping-form.php:8
1351
- msgid "Mark order as shipped"
1352
- msgstr "Bestellung als versendet kennzeichnen."
1353
-
1354
- #: productvendor\views\orders\shipping\tracking-form.php:6
1355
- msgid "Provider:"
1356
- msgstr "Versandunternehmen:"
1357
-
1358
- #: productvendor\views\orders\shipping\tracking-form.php:8
1359
- msgid "Custom Provider"
1360
- msgstr "Benutzerdefiniertes Versandunternehmen"
1361
-
1362
- #: productvendor\views\orders\shipping\tracking-form.php:30
1363
- msgid "Provider Name:"
1364
- msgstr "Name des Versendunternehmens:"
1365
-
1366
- #: productvendor\views\orders\shipping\tracking-form.php:38
1367
- msgid "Tracking number:"
1368
- msgstr "Sendungsverfolgungs-Nr.:"
1369
-
1370
- #: productvendor\views\orders\shipping\tracking-form.php:46
1371
- msgid "Tracking link:"
1372
- msgstr "Link zur Sendungsverfolgung:"
1373
-
1374
- #: productvendor\views\orders\shipping\tracking-form.php:54
1375
- msgid "Date shipped:"
1376
- msgstr "Versanddatum:"
1377
-
1378
- #: productvendor\views\orders\shipping\tracking-form.php:62
1379
- msgid "Preview:"
1380
- msgstr "Vorschau:"
1381
-
1382
- #: productvendor\views\orders\shipping\tracking-form.php:62
1383
- msgid "Click here to track your shipment"
1384
- msgstr "Hier klicken, um Ihre Sendung zu verfolgen"
1385
-
1386
- #: productvendor\views\orders\shipping\tracking-form.php:70
1387
- msgid "Update tracking number"
1388
- msgstr "Sendungs-Nr. aktualisieren"
1389
-
1390
- #~ msgid "Error: WooCommerce v2.0 or greater is required to use this plugin."
1391
- #~ msgstr ""
1392
- #~ "Fehler: WooCommerce v2.0 oder h&ouml;her ist erforderlich um dieses "
1393
- #~ "Plugin nutzen zu k&ouml;nnen."
1394
-
1395
- #~ msgid "E-mail"
1396
- #~ msgstr "E-Mail"
1397
-
1398
- #~ msgid "View: Order details"
1399
- #~ msgstr "Ansehen: Bestell-Details"
1400
-
1401
- #~ msgid ""
1402
- #~ "Thank you for your order, please click the button below to pay with %s."
1403
- #~ msgstr ""
1404
- #~ "Vielen Dank f&uuml;r Ihre Bestellung. Bitte klicken Sie auf den "
1405
- #~ "nachfolgenden Button, um mit %s zu zahlen."
1406
-
1407
- #~ msgid "Pay via PayPal"
1408
- #~ msgstr "Zahlung via Paypal"
1409
-
1410
- #~ msgid "Cancel order &amp; restore cart"
1411
- #~ msgstr "Bestellung abbrechen &amp; Warenkorb wiederherstellen"
1412
-
1413
- #~ msgid ""
1414
- #~ "Thank you for your order. We are now redirecting you to PayPal to make "
1415
- #~ "payment."
1416
- #~ msgstr ""
1417
- #~ "Vielen Dank f&uuml;r Ihre Bestellung. Wir leiten Sie nun direkt zu "
1418
- #~ "PayPayl weiter, damit Sie die Zahlung abschlie&szlig;en k&ouml;nnen."
1419
-
1420
- #~ msgid "Shop Description (HTML enabled)"
1421
- #~ msgstr "Shop-Beschreibung (HTML aktiviert)"
1422
-
1423
- #~ msgid "Shop page"
1424
- #~ msgstr "Shop-Seite"
1425
-
1426
- #~ msgid "Sales"
1427
- #~ msgstr "Verk&auml;ufe"
1428
-
1429
- #~ msgid "Due commission"
1430
- #~ msgstr "Ausstehende Provision"
1431
-
1432
- #~ msgid "Title"
1433
- #~ msgstr "Titel"
1434
-
1435
- #~ msgid "Due"
1436
- #~ msgstr "Ausstehend"
1437
-
1438
- #~ msgid "My Products"
1439
- #~ msgstr "Meine Produkte"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/languages/wc_vendors-en_US.mo DELETED
Binary file
WCVendors/languages/wc_vendors-en_US.po DELETED
@@ -1,1199 +0,0 @@
1
- # WooCommerce translation strings
2
- # Copyright (C) 2011-2012
3
- # This file is distributed under the same license as the WooCommerce package.
4
- # Last Updated: February 24, 2013.
5
- msgid ""
6
- msgstr ""
7
- "Project-Id-Version: Product Vendor v1.0\n"
8
- "Report-Msgid-Bugs-To: Matt Gates <info@mgates.me\n"
9
- "POT-Creation-Date: 2013-04-05 10:53-0400\n"
10
- "PO-Revision-Date: 2013-04-18 11:48-0500\n"
11
- "Last-Translator: Matt Gates <info@mgates.me>\n"
12
- "Language-Team: \n"
13
- "MIME-Version: 1.0\n"
14
- "Content-Type: text/plain; charset=UTF-8\n"
15
- "Content-Transfer-Encoding: 8bit\n"
16
-
17
- #: class-product-vendor.php:57
18
- #: productvendor\classes\admin\class-admin-users.php:270
19
- msgid "Product Vendor"
20
- msgstr ""
21
-
22
- #: class-product-vendor.php:81
23
- msgid "<b>Product Vendor is disabled</b>. Product Vendor requires WooCommerce v2.0.1."
24
- msgstr ""
25
-
26
- #: productvendor\classes\class-cron.php:86
27
- #, php-format
28
- msgid "Payment total: %s"
29
- msgstr ""
30
-
31
- #: productvendor\classes\class-cron.php:143
32
- msgid "Once Weekly"
33
- msgstr ""
34
-
35
- #: productvendor\classes\class-cron.php:148
36
- msgid "Once every two weeks"
37
- msgstr ""
38
-
39
- #: productvendor\classes\class-cron.php:153
40
- msgid "Once a month"
41
- msgstr ""
42
-
43
- #: productvendor\classes\class-install.php:94
44
- #: productvendor\classes\class-install.php:245
45
- msgid "Pending Vendor"
46
- msgstr ""
47
-
48
- #: productvendor\classes\class-install.php:196
49
- msgid "Vendor Dashboard"
50
- msgstr ""
51
-
52
- #: productvendor\classes\class-install.php:197
53
- #: productvendor\classes\admin\settings\sf-options.php:122
54
- msgid "Orders"
55
- msgstr ""
56
-
57
- #: productvendor\classes\class-install.php:198
58
- msgid "Shop Settings"
59
- msgstr ""
60
-
61
- #: productvendor\classes\admin\class-admin-page.php:14
62
- #: productvendor\classes\admin\class-admin-page.php:35
63
- #: productvendor\classes\admin\class-admin-reports.php:299
64
- #: productvendor\classes\admin\class-product-meta.php:139
65
- #: productvendor\classes\admin\class-product-meta.php:155
66
- #: productvendor\views\dashboard\reports.php:19
67
- msgid "Commission"
68
- msgstr ""
69
-
70
- #: productvendor\classes\admin\class-admin-page.php:142
71
- #: productvendor\classes\admin\class-admin-reports.php:164
72
- #: productvendor\views\dashboard\reports.php:17
73
- msgid "Product"
74
- msgstr ""
75
-
76
- #: productvendor\classes\admin\class-admin-page.php:143
77
- msgid "Order ID"
78
- msgstr ""
79
-
80
- #: productvendor\classes\admin\class-admin-page.php:144
81
- #: productvendor\classes\admin\class-admin-reports.php:165
82
- #: productvendor\classes\admin\class-product-meta.php:38
83
- msgid "Vendor"
84
- msgstr ""
85
-
86
- #: productvendor\classes\admin\class-admin-page.php:145
87
- #: productvendor\classes\admin\class-admin-reports.php:166
88
- #: productvendor\classes\admin\class-admin-reports.php:304
89
- #: productvendor\classes\admin\class-admin-reports.php:329
90
- msgid "Total"
91
- msgstr ""
92
-
93
- #: productvendor\classes\admin\class-admin-page.php:146
94
- #: productvendor\classes\admin\class-admin-reports.php:168
95
- msgid "Status"
96
- msgstr ""
97
-
98
- #: productvendor\classes\admin\class-admin-page.php:147
99
- #: productvendor\classes\front\orders\class-orders.php:168
100
- msgid "Date"
101
- msgstr ""
102
-
103
- #: productvendor\classes\admin\class-admin-page.php:182
104
- msgid "Mark paid"
105
- msgstr ""
106
-
107
- #: productvendor\classes\admin\class-admin-page.php:183
108
- msgid "Mark due"
109
- msgstr ""
110
-
111
- #: productvendor\classes\admin\class-admin-page.php:184
112
- msgid "Mark reversed"
113
- msgstr ""
114
-
115
- #: productvendor\classes\admin\class-admin-page.php:208
116
- msgid "Commission marked paid."
117
- msgstr ""
118
-
119
- #: productvendor\classes\admin\class-admin-page.php:215
120
- msgid "Commission marked due."
121
- msgstr ""
122
-
123
- #: productvendor\classes\admin\class-admin-page.php:222
124
- msgid "Commission marked reversed."
125
- msgstr ""
126
-
127
- #: productvendor\classes\admin\class-admin-reports.php:39
128
- msgid "Product Vendors"
129
- msgstr ""
130
-
131
- #: productvendor\classes\admin\class-admin-reports.php:42
132
- msgid "Overview"
133
- msgstr ""
134
-
135
- #: productvendor\classes\admin\class-admin-reports.php:48
136
- msgid "Commission by vendor"
137
- msgstr ""
138
-
139
- #: productvendor\classes\admin\class-admin-reports.php:115
140
- #: productvendor\views\dashboard\date-picker.php:3
141
- msgid "From:"
142
- msgstr ""
143
-
144
- #: productvendor\classes\admin\class-admin-reports.php:115
145
- #: productvendor\views\dashboard\date-picker.php:6
146
- msgid "To:"
147
- msgstr ""
148
-
149
- #: productvendor\classes\admin\class-admin-reports.php:115
150
- #: productvendor\classes\admin\class-admin-reports.php:230
151
- #: productvendor\views\dashboard\date-picker.php:9
152
- msgid "Show"
153
- msgstr ""
154
-
155
- #: productvendor\classes\admin\class-admin-reports.php:126
156
- msgid "Total paid in range"
157
- msgstr ""
158
-
159
- #: productvendor\classes\admin\class-admin-reports.php:128
160
- #: productvendor\classes\admin\class-admin-reports.php:134
161
- #: productvendor\classes\admin\class-admin-reports.php:140
162
- #: productvendor\classes\front\orders\class-export-csv.php:50
163
- #: productvendor\views\orders\table-body-simple.php:13
164
- msgid "n/a"
165
- msgstr ""
166
-
167
- #: productvendor\classes\admin\class-admin-reports.php:132
168
- msgid "Total due in range"
169
- msgstr ""
170
-
171
- #: productvendor\classes\admin\class-admin-reports.php:138
172
- msgid "Total reversed in range"
173
- msgstr ""
174
-
175
- #: productvendor\classes\admin\class-admin-reports.php:147
176
- msgid "Recent Commission"
177
- msgstr ""
178
-
179
- #: productvendor\classes\admin\class-admin-reports.php:163
180
- #: productvendor\classes\front\orders\class-orders.php:161
181
- msgid "Order"
182
- msgstr ""
183
-
184
- #: productvendor\classes\admin\class-admin-reports.php:167
185
- msgid "Date &amp; Time"
186
- msgstr ""
187
-
188
- #: productvendor\classes\admin\class-admin-reports.php:174
189
- msgid "N/A"
190
- msgstr ""
191
-
192
- #: productvendor\classes\admin\class-admin-reports.php:178
193
- msgid "D j M Y \\a\\t h:ia"
194
- msgstr ""
195
-
196
- #: productvendor\classes\admin\class-admin-reports.php:187
197
- msgid "No commission yet"
198
- msgstr ""
199
-
200
- #: productvendor\classes\admin\class-admin-reports.php:217
201
- msgid "Show:"
202
- msgstr ""
203
-
204
- #: productvendor\classes\admin\class-admin-reports.php:298
205
- msgid "Month"
206
- msgstr ""
207
-
208
- #: productvendor\classes\admin\class-admin-reports.php:300
209
- msgid "Tax"
210
- msgstr ""
211
-
212
- #: productvendor\classes\admin\class-admin-reports.php:301
213
- msgid "Shipping"
214
- msgstr ""
215
-
216
- #: productvendor\classes\admin\class-admin-reports.php:302
217
- msgid "Reversed"
218
- msgstr ""
219
-
220
- #: productvendor\classes\admin\class-admin-reports.php:303
221
- msgid "Paid"
222
- msgstr ""
223
-
224
- #: productvendor\classes\admin\class-admin-users.php:278
225
- msgid "Enable HTML for the shop description"
226
- msgstr ""
227
-
228
- #: productvendor\classes\admin\class-admin-users.php:283
229
- msgid "Shop name"
230
- msgstr ""
231
-
232
- #: productvendor\classes\admin\class-admin-users.php:287
233
- msgid "PayPal E-mail"
234
- msgstr ""
235
-
236
- #: productvendor\classes\admin\class-admin-users.php:287
237
- msgid "required"
238
- msgstr ""
239
-
240
- #: productvendor\classes\admin\class-admin-users.php:291
241
- msgid "Commission due"
242
- msgstr ""
243
-
244
- #: productvendor\classes\admin\class-admin-users.php:308
245
- msgid "Commission Due"
246
- msgstr ""
247
-
248
- #: productvendor\classes\admin\class-product-meta.php:162
249
- msgid "Leave blank for default"
250
- msgstr ""
251
-
252
- #: productvendor\classes\admin\class-vendor-applicants.php:25
253
- msgid "Approve"
254
- msgstr ""
255
-
256
- #: productvendor\classes\admin\class-vendor-applicants.php:26
257
- msgid "Deny"
258
- msgstr ""
259
-
260
- #: productvendor\classes\admin\class-vendor-applicants.php:70
261
- msgid "Vendor has been <b>denied</b>."
262
- msgstr ""
263
-
264
- #: productvendor\classes\admin\class-vendor-applicants.php:81
265
- msgid "Vendor has been <b>approved</b>."
266
- msgstr ""
267
-
268
- #: productvendor\classes\admin\class-vendor-applicants.php:94
269
- msgid "Pending Vendors"
270
- msgstr ""
271
-
272
- #: productvendor\classes\admin\emails\class-emails.php:71
273
- #: productvendor\classes\front\class-vendor-cart.php:39
274
- #: productvendor\classes\front\class-vendor-cart.php:55
275
- msgid "Sold by"
276
- msgstr ""
277
-
278
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:27
279
- msgid "Vendor Application"
280
- msgstr ""
281
-
282
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:28
283
- msgid "Vendor application will either be approved, denied, or pending."
284
- msgstr ""
285
-
286
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:30
287
- msgid "Application {status}"
288
- msgstr ""
289
-
290
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:31
291
- msgid "[{blogname}] Your vendor application has been {status}"
292
- msgstr ""
293
-
294
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:115
295
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:224
296
- msgid "Enable/Disable"
297
- msgstr ""
298
-
299
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:117
300
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:226
301
- msgid "Enable this email notification"
302
- msgstr ""
303
-
304
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:121
305
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:230
306
- msgid "Subject"
307
- msgstr ""
308
-
309
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:123
310
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:232
311
- #, php-format
312
- msgid "This controls the email subject line. Leave blank to use the default subject: <code>%s</code>."
313
- msgstr ""
314
-
315
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:128
316
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:237
317
- msgid "Email Heading"
318
- msgstr ""
319
-
320
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:130
321
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:239
322
- #, php-format
323
- msgid "This controls the main heading contained within the email notification. Leave blank to use the default heading: <code>%s</code>."
324
- msgstr ""
325
-
326
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:135
327
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:244
328
- msgid "Email type"
329
- msgstr ""
330
-
331
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:137
332
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:246
333
- msgid "Choose which format of email to send."
334
- msgstr ""
335
-
336
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:141
337
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:250
338
- msgid "Plain text"
339
- msgstr ""
340
-
341
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:142
342
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:251
343
- msgid "HTML"
344
- msgstr ""
345
-
346
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:143
347
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:252
348
- msgid "Multipart"
349
- msgstr ""
350
-
351
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:27
352
- msgid "Notify vendors"
353
- msgstr ""
354
-
355
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:28
356
- msgid "New order emails are sent when an order is received/paid by a customer."
357
- msgstr ""
358
-
359
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:30
360
- msgid "New customer order"
361
- msgstr ""
362
-
363
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:31
364
- msgid "[{blogname}] New customer order ({order_number}) - {order_date}"
365
- msgstr ""
366
-
367
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:102
368
- msgid "Commission Subtotal:"
369
- msgstr ""
370
-
371
- #: productvendor\classes\admin\settings\sf-options.php:4
372
- msgid "General"
373
- msgstr ""
374
-
375
- #: productvendor\classes\admin\settings\sf-options.php:5
376
- msgid "General options"
377
- msgstr ""
378
-
379
- #: productvendor\classes\admin\settings\sf-options.php:8
380
- msgid "Default commission (%)"
381
- msgstr ""
382
-
383
- #: productvendor\classes\admin\settings\sf-options.php:9
384
- msgid "Choose the default rate for each product. If a product has a commission rate already set, this value will be ignored for that product."
385
- msgstr ""
386
-
387
- #: productvendor\classes\admin\settings\sf-options.php:20
388
- msgid "Registration"
389
- msgstr ""
390
-
391
- #: productvendor\classes\admin\settings\sf-options.php:21
392
- msgid "Allow users or guests to apply to become a vendor"
393
- msgstr ""
394
-
395
- #: productvendor\classes\admin\settings\sf-options.php:22
396
- msgid "This will show a checkbox on the My Account page's registration form asking if the user would like to apply to be a vendor. Also, on the Vendor Dashboard, users can apply to become a vendor."
397
- msgstr ""
398
-
399
- #: productvendor\classes\admin\settings\sf-options.php:29
400
- msgid "Taxes"
401
- msgstr ""
402
-
403
- #: productvendor\classes\admin\settings\sf-options.php:30
404
- msgid "Give vendors any tax collected per-product"
405
- msgstr ""
406
-
407
- #: productvendor\classes\admin\settings\sf-options.php:31
408
- msgid "The tax collected on a vendor's product will be given to him in its entirety"
409
- msgstr ""
410
-
411
- #: productvendor\classes\admin\settings\sf-options.php:37
412
- msgid "Shop options"
413
- msgstr ""
414
-
415
- #: productvendor\classes\admin\settings\sf-options.php:40
416
- msgid "Shop HTML"
417
- msgstr ""
418
-
419
- #: productvendor\classes\admin\settings\sf-options.php:41
420
- msgid "Enable HTML for a vendor's shop description by default"
421
- msgstr ""
422
-
423
- #: productvendor\classes\admin\settings\sf-options.php:48
424
- msgid "Vendor shop page"
425
- msgstr ""
426
-
427
- #: productvendor\classes\admin\settings\sf-options.php:49
428
- msgid "Eg: <code>yoursite.com/[your_setting_here]/[vendor_name_here]</code>"
429
- msgstr ""
430
-
431
- #: productvendor\classes\admin\settings\sf-options.php:55
432
- #: productvendor\classes\admin\settings\sf-options.php:180
433
- msgid "Products"
434
- msgstr ""
435
-
436
- #: productvendor\classes\admin\settings\sf-options.php:56
437
- msgid "Product Add Page"
438
- msgstr ""
439
-
440
- #: productvendor\classes\admin\settings\sf-options.php:56
441
- msgid "Configure what to hide from all vendors when adding a product"
442
- msgstr ""
443
-
444
- #: productvendor\classes\admin\settings\sf-options.php:59
445
- msgid "Left side panel"
446
- msgstr ""
447
-
448
- #: productvendor\classes\admin\settings\sf-options.php:60
449
- msgid "Hide these areas of the add product page for vendors"
450
- msgstr ""
451
-
452
- #: productvendor\classes\admin\settings\sf-options.php:74
453
- msgid "Types"
454
- msgstr ""
455
-
456
- #: productvendor\classes\admin\settings\sf-options.php:75
457
- msgid "Hide these product types from the vendor"
458
- msgstr ""
459
-
460
- #: productvendor\classes\admin\settings\sf-options.php:88
461
- msgid "Type options"
462
- msgstr ""
463
-
464
- #: productvendor\classes\admin\settings\sf-options.php:89
465
- msgid "Hide these product options from the vendor"
466
- msgstr ""
467
-
468
- #: productvendor\classes\admin\settings\sf-options.php:100
469
- msgid "Miscellaneous"
470
- msgstr ""
471
-
472
- #: productvendor\classes\admin\settings\sf-options.php:111
473
- msgid "Stylesheet"
474
- msgstr ""
475
-
476
- #: productvendor\classes\admin\settings\sf-options.php:112
477
- msgid "You can add CSS in this textarea, which will be loaded on the product add/edit page for vendors."
478
- msgstr ""
479
-
480
- #: productvendor\classes\admin\settings\sf-options.php:118
481
- msgid "Capabilities"
482
- msgstr ""
483
-
484
- #: productvendor\classes\admin\settings\sf-options.php:119
485
- msgid "Permissions"
486
- msgstr ""
487
-
488
- #: productvendor\classes\admin\settings\sf-options.php:119
489
- msgid "General permissions used around the shop"
490
- msgstr ""
491
-
492
- #: productvendor\classes\admin\settings\sf-options.php:123
493
- msgid "View orders"
494
- msgstr ""
495
-
496
- #: productvendor\classes\admin\settings\sf-options.php:124
497
- msgid "Show customer details such as email, address, name, etc, for each order"
498
- msgstr ""
499
-
500
- #: productvendor\classes\admin\settings\sf-options.php:131
501
- msgid "View comments"
502
- msgstr ""
503
-
504
- #: productvendor\classes\admin\settings\sf-options.php:132
505
- msgid "View all vendor comments for an order on the frontend"
506
- msgstr ""
507
-
508
- #: productvendor\classes\admin\settings\sf-options.php:139
509
- msgid "Submit comments"
510
- msgstr ""
511
-
512
- #: productvendor\classes\admin\settings\sf-options.php:140
513
- msgid "Submit comments for an order on the frontend. Eg, tracking ID for a product"
514
- msgstr ""
515
-
516
- #: productvendor\classes\admin\settings\sf-options.php:147
517
- msgid "View email addresses"
518
- msgstr ""
519
-
520
- #: productvendor\classes\admin\settings\sf-options.php:148
521
- msgid "While viewing order details on the frontend, you can disable or enable email addresses"
522
- msgstr ""
523
-
524
- #: productvendor\classes\admin\settings\sf-options.php:155
525
- msgid "Export a CSV file of orders for a product"
526
- msgstr ""
527
-
528
- #: productvendor\classes\admin\settings\sf-options.php:156
529
- msgid "Vendors could export orders for a product on the frontend"
530
- msgstr ""
531
-
532
- #: productvendor\classes\admin\settings\sf-options.php:163
533
- msgid "Reports"
534
- msgstr ""
535
-
536
- #: productvendor\classes\admin\settings\sf-options.php:164
537
- msgid "View backend sales reports"
538
- msgstr ""
539
-
540
- #: productvendor\classes\admin\settings\sf-options.php:165
541
- msgid "Graphs and tables via the Reports page in backend. The reports will only display sales data that pretain to their products"
542
- msgstr ""
543
-
544
- #: productvendor\classes\admin\settings\sf-options.php:172
545
- msgid "View Frontend sales reports"
546
- msgstr ""
547
-
548
- #: productvendor\classes\admin\settings\sf-options.php:173
549
- msgid "Sales table on the frontend on the My Account page. The table will only display sales data that pretain to their products"
550
- msgstr ""
551
-
552
- #: productvendor\classes\admin\settings\sf-options.php:181
553
- msgid "Submit products"
554
- msgstr ""
555
-
556
- #: productvendor\classes\admin\settings\sf-options.php:182
557
- msgid "Vendors could submit a product through the backend, and an admin would approve or deny it"
558
- msgstr ""
559
-
560
- #: productvendor\classes\admin\settings\sf-options.php:189
561
- msgid "Edit live products"
562
- msgstr ""
563
-
564
- #: productvendor\classes\admin\settings\sf-options.php:190
565
- msgid "Vendors could edit an approved product after it has already gone live. There is no approval or review after editing a live product. This could be dangerous with malicious vendors, so take caution."
566
- msgstr ""
567
-
568
- #: productvendor\classes\admin\settings\sf-options.php:197
569
- msgid "Submit products live without requiring approval"
570
- msgstr ""
571
-
572
- #: productvendor\classes\admin\settings\sf-options.php:198
573
- msgid "Vendors can submit products without review or approval from a shop admin. This could be dangerous with malicious vendors, so take caution."
574
- msgstr ""
575
-
576
- #: productvendor\classes\admin\settings\sf-options.php:204
577
- msgid "Pages"
578
- msgstr ""
579
-
580
- #: productvendor\classes\admin\settings\sf-options.php:205
581
- msgid "Page configuration"
582
- msgstr ""
583
-
584
- #: productvendor\classes\admin\settings\sf-options.php:208
585
- msgid "Vendor dashboard"
586
- msgstr ""
587
-
588
- #: productvendor\classes\admin\settings\sf-options.php:209
589
- msgid "Choose the page that has the shortcode <code>[pv_vendor_dashboard]</code><br/>By default, My Account > Vendor Dashboard should have the shortcode."
590
- msgstr ""
591
-
592
- #: productvendor\classes\admin\settings\sf-options.php:216
593
- msgid "Shop settings"
594
- msgstr ""
595
-
596
- #: productvendor\classes\admin\settings\sf-options.php:217
597
- msgid "Choose the page that has the shortcode <code>[pv_shop_settings]</code><br/>These are the shop settings a vendor can configure."
598
- msgstr ""
599
-
600
- #: productvendor\classes\admin\settings\sf-options.php:224
601
- msgid "Orders page"
602
- msgstr ""
603
-
604
- #: productvendor\classes\admin\settings\sf-options.php:225
605
- msgid "Choose the page that has the shortcode <code>[pv_orders]</code><br/>By default, My Account > Orders should have the shortcode."
606
- msgstr ""
607
-
608
- #: productvendor\classes\admin\settings\sf-options.php:232
609
- msgid "Vendor terms"
610
- msgstr ""
611
-
612
- #: productvendor\classes\admin\settings\sf-options.php:233
613
- msgid "These terms are shown to a user when submitting an application to become a vendor.<br/>If left blank, no terms will be shown to the applicant."
614
- msgstr ""
615
-
616
- #: productvendor\classes\admin\settings\sf-options.php:251
617
- msgid "Payments"
618
- msgstr ""
619
-
620
- #: productvendor\classes\admin\settings\sf-options.php:252
621
- msgid "User payments"
622
- msgstr ""
623
-
624
- #: productvendor\classes\admin\settings\sf-options.php:253
625
- #, php-format
626
- msgid "Total commission currently due: %s. <a href=\"%s\">View details</a>."
627
- msgstr ""
628
-
629
- #: productvendor\classes\admin\settings\sf-options.php:254
630
- #, php-format
631
- msgid "Make sure you update your PayPal Adaptive Payments settings <a href=\"%s\">here</a>."
632
- msgstr ""
633
-
634
- #: productvendor\classes\admin\settings\sf-options.php:257
635
- msgid "Instant pay"
636
- msgstr ""
637
-
638
- #: productvendor\classes\admin\settings\sf-options.php:258
639
- msgid "Instantly pay vendors their commission when an order is made"
640
- msgstr ""
641
-
642
- #: productvendor\classes\admin\settings\sf-options.php:259
643
- msgid "For this to work, customers must checkout with the PayPal Adaptive Payments gateway. Using other gateways will not pay vendors instantly"
644
- msgstr ""
645
-
646
- #: productvendor\classes\admin\settings\sf-options.php:266
647
- msgid "Payment schedule"
648
- msgstr ""
649
-
650
- #: productvendor\classes\admin\settings\sf-options.php:267
651
- msgid "Note: Schedule will only work if instant pay is unchecked"
652
- msgstr ""
653
-
654
- #: productvendor\classes\admin\settings\sf-options.php:272
655
- msgid "Weekly"
656
- msgstr ""
657
-
658
- #: productvendor\classes\admin\settings\sf-options.php:273
659
- msgid "Biweekly"
660
- msgstr ""
661
-
662
- #: productvendor\classes\admin\settings\sf-options.php:274
663
- msgid "Monthly"
664
- msgstr ""
665
-
666
- #: productvendor\classes\admin\settings\sf-options.php:275
667
- msgid "Manual"
668
- msgstr ""
669
-
670
- #: productvendor\classes\admin\settings\sf-options.php:276
671
- msgid "Now"
672
- msgstr ""
673
-
674
- #: productvendor\classes\admin\settings\sf-options.php:281
675
- msgid "Email notification"
676
- msgstr ""
677
-
678
- #: productvendor\classes\admin\settings\sf-options.php:282
679
- msgid "Send the WooCommerce admin an email each time a payment has been made via the payment schedule options above"
680
- msgstr ""
681
-
682
- #: productvendor\classes\admin\settings\classes\sf-class-format-options.php:201
683
- #: productvendor\classes\admin\settings\classes\sf-class-format-options.php:205
684
- msgid "Select a page..."
685
- msgstr ""
686
-
687
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:149
688
- #: productvendor\views\dashboard\settings\settings.php:1
689
- msgid "Settings"
690
- msgstr ""
691
-
692
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:279
693
- msgid "Could not load settings at: "
694
- msgstr ""
695
-
696
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:279
697
- msgid "Error - WP Settings Framework"
698
- msgstr ""
699
-
700
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:344
701
- #: productvendor\classes\front\dashboard\class-vendor-dashboard.php:73
702
- msgid "Settings saved."
703
- msgstr ""
704
-
705
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:457
706
- #, php-format
707
- msgid "Save %s changes"
708
- msgstr ""
709
-
710
- #: productvendor\classes\front\class-vendor-shop.php:45
711
- #: productvendor\views\dashboard\settings\seller-info.php:2
712
- msgid "Seller info"
713
- msgstr ""
714
-
715
- #: productvendor\classes\front\dashboard\class-vendor-dashboard.php:46
716
- msgid "Your PayPal address is not a valid email address."
717
- msgstr ""
718
-
719
- #: productvendor\classes\front\dashboard\class-vendor-dashboard.php:55
720
- msgid "That shop name is already taken. Your shop name must be unique."
721
- msgstr ""
722
-
723
- #: productvendor\classes\front\orders\class-export-csv.php:60
724
- #: productvendor\views\dashboard\reports.php:18
725
- msgid "Quantity"
726
- msgstr ""
727
-
728
- #: productvendor\classes\front\orders\class-orders.php:97
729
- msgid "You haven't selected a product's orders to view! Please go back to the Vendor Dashboard and click Show Orders on the product you'd like to view."
730
- msgstr ""
731
-
732
- #: productvendor\classes\front\orders\class-orders.php:102
733
- msgid "No orders."
734
- msgstr ""
735
-
736
- #: productvendor\classes\front\orders\class-orders.php:162
737
- msgid "Full name"
738
- msgstr ""
739
-
740
- #: productvendor\classes\front\orders\class-orders.php:163
741
- msgid "Address"
742
- msgstr ""
743
-
744
- #: productvendor\classes\front\orders\class-orders.php:164
745
- msgid "City"
746
- msgstr ""
747
-
748
- #: productvendor\classes\front\orders\class-orders.php:165
749
- msgid "State"
750
- msgstr ""
751
-
752
- #: productvendor\classes\front\orders\class-orders.php:166
753
- msgid "Zip"
754
- msgstr ""
755
-
756
- #: productvendor\classes\front\orders\class-orders.php:167
757
- msgid "Email address"
758
- msgstr ""
759
-
760
- #: productvendor\classes\front\signup\class-vendor-signup.php:40
761
- #: productvendor\views\dashboard\denied.php:16
762
- msgid "Apply to become a vendor?"
763
- msgstr ""
764
-
765
- #: productvendor\classes\front\signup\class-vendor-signup.php:46
766
- #: productvendor\views\dashboard\denied.php:23
767
- #, php-format
768
- msgid "I have read and accepted the <a href=\"%s\">terms and conditions</a>"
769
- msgstr ""
770
-
771
- #: productvendor\classes\front\signup\class-vendor-signup.php:80
772
- msgid "Application denied. You are an administrator."
773
- msgstr ""
774
-
775
- #: productvendor\classes\front\signup\class-vendor-signup.php:82
776
- msgid "Your application has been submitted."
777
- msgstr ""
778
-
779
- #: productvendor\classes\front\signup\class-vendor-signup.php:105
780
- msgid "You must accept the terms and conditions to become a vendor."
781
- msgstr ""
782
-
783
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:39
784
- msgid "PayPal Adaptive Payments"
785
- msgstr ""
786
-
787
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:117
788
- #, php-format
789
- msgid "Something went wrong. Response from PayPal invalidated this order. Status: %s."
790
- msgstr ""
791
-
792
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:122
793
- msgid "IPN payment completed"
794
- msgstr ""
795
-
796
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:144
797
- msgid "Enable PayPal Adaptive Payments"
798
- msgstr ""
799
-
800
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:150
801
- msgid "Method Title"
802
- msgstr ""
803
-
804
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:151
805
- msgid "This controls the title which the user sees during checkout."
806
- msgstr ""
807
-
808
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:152
809
- msgid "PayPal"
810
- msgstr ""
811
-
812
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:157
813
- msgid "Description"
814
- msgstr ""
815
-
816
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:158
817
- msgid "This controls the description which the user sees during checkout."
818
- msgstr ""
819
-
820
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:159
821
- msgid "Pay via PayPal!"
822
- msgstr ""
823
-
824
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:170
825
- msgid "Live Credentials"
826
- msgstr ""
827
-
828
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:172
829
- #, php-format
830
- msgid "You must have an <a href=\"%s\">Application ID</a> to process live transactions. You do not need one for testing in Sandbox mode."
831
- msgstr ""
832
-
833
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:177
834
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:211
835
- msgid "PayPal Email"
836
- msgstr ""
837
-
838
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:178
839
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:212
840
- msgid "The email address main payments should go to."
841
- msgstr ""
842
-
843
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:183
844
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:217
845
- msgid "API Username"
846
- msgstr ""
847
-
848
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:188
849
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:222
850
- msgid "API Password"
851
- msgstr ""
852
-
853
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:193
854
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:227
855
- msgid "API Signature"
856
- msgstr ""
857
-
858
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:198
859
- msgid "Application ID"
860
- msgstr ""
861
-
862
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:200
863
- msgid "Only required when doing live transactions."
864
- msgstr ""
865
-
866
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:204
867
- msgid "Sandbox Credentials"
868
- msgstr ""
869
-
870
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:206
871
- #, php-format
872
- msgid "You can signup for a sandbox developer account <a href=\"%s\">here</a>. You need a developer account if you want to enable Sandbox mode for testing."
873
- msgstr ""
874
-
875
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:238
876
- msgid "Misc. Settings"
877
- msgstr ""
878
-
879
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:243
880
- msgid "Enable PayPal Sandbox mode"
881
- msgstr ""
882
-
883
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:249
884
- msgid "Enable logging"
885
- msgstr ""
886
-
887
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:266
888
- msgid "The PayPal Adaptive Payments gateway can instantly pay your vendors their due commission (if enabled). Also used to mass pay vendors on a schedule / manual method (if enabled)."
889
- msgstr ""
890
-
891
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:267
892
- #, php-format
893
- msgid "<b>Important:</b> Unless you're using the <a href=\"%s\">beta version of TRS2</a>, all shipping costs will be given to the shop admin. Vendors will not receive shipping costs."
894
- msgstr ""
895
-
896
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:277
897
- msgid "Gateway Disabled"
898
- msgstr ""
899
-
900
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:277
901
- #, php-format
902
- msgid "%s does not support your store currency."
903
- msgstr ""
904
-
905
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:363
906
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:478
907
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:147
908
- #, php-format
909
- msgid "Error: %s"
910
- msgstr ""
911
-
912
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:371
913
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:372
914
- #, php-format
915
- msgid "Error ID: %s. %s"
916
- msgstr ""
917
-
918
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:113
919
- msgid "No vendors found to pay. Maybe they haven't set a PayPal address?"
920
- msgstr ""
921
-
922
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:160
923
- msgid "All due commission has been paid for."
924
- msgstr ""
925
-
926
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:166
927
- msgid "All due commission has been paid for, but I could not clear it from their profiles due to an internal error. Commission will still be listed as due. Please manually mark the commission as paid from the Commissions page."
928
- msgstr ""
929
-
930
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:200
931
- msgid "WooCommerce: Mass payments for vendors update"
932
- msgstr ""
933
-
934
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:202
935
- msgid "Hello! A payment was just triggered to mass pay all vendors their due commission."
936
- msgstr ""
937
-
938
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:203
939
- #, php-format
940
- msgid "Payment status: %s."
941
- msgstr ""
942
-
943
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:204
944
- #, php-format
945
- msgid "Payment message: %s."
946
- msgstr ""
947
-
948
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:207
949
- #, php-format
950
- msgid "Payment total: %s."
951
- msgstr ""
952
-
953
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:137
954
- msgid "The plugin has been updated, but could not be reactivated. Please reactivate it manually."
955
- msgstr ""
956
-
957
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:138
958
- msgid "Plugin reactivated successfully."
959
- msgstr ""
960
-
961
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:229
962
- msgid "MGates.me Updates"
963
- msgstr ""
964
-
965
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:259
966
- msgid "MGates.me Plugin Updater"
967
- msgstr ""
968
-
969
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:270
970
- msgid "Enter your license key to automatically receive updates."
971
- msgstr ""
972
-
973
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:295
974
- #: productvendor\views\dashboard\settings\settings.php:46
975
- msgid "Save"
976
- msgstr ""
977
-
978
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:296
979
- msgid "Check for updates <b>now</b>"
980
- msgstr ""
981
-
982
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:323
983
- #, php-format
984
- msgid "<b style=\"color: #468847;\">Key deactivated.</b> License key for <i>%s</i> has been <b>deactivated</b>."
985
- msgstr ""
986
-
987
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:325
988
- #, php-format
989
- msgid "<b style=\"color: #B94A48;\">Error.</b> License key for <i>%s</i> could not be deactivated."
990
- msgstr ""
991
-
992
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:333
993
- #, php-format
994
- msgid "<b style=\"color: #468847;\">Key activated.</b> License key for <i>%s</i> has been <b>activated</b>."
995
- msgstr ""
996
-
997
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:335
998
- #, php-format
999
- msgid "<b style=\"color: #B94A48;\">Error.</b> License key for <i>%s</i> is invalid."
1000
- msgstr ""
1001
-
1002
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:370
1003
- msgid "Enable MGates.me Plugin Updates."
1004
- msgstr ""
1005
-
1006
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:372
1007
- #, php-format
1008
- msgid "<a href=\"%1$s\">Add your license keys</a> to enable automatic plugin updates."
1009
- msgstr ""
1010
-
1011
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:379
1012
- msgid "Hide This Message"
1013
- msgstr ""
1014
-
1015
- #: productvendor\views\dashboard\denied.php:5
1016
- msgid "Your account has not yet been approved to become a vendor."
1017
- msgstr ""
1018
-
1019
- #: productvendor\views\dashboard\denied.php:9
1020
- msgid "Your account is not vendor capable."
1021
- msgstr ""
1022
-
1023
- #: productvendor\views\dashboard\denied.php:42
1024
- msgid "Submit"
1025
- msgstr ""
1026
-
1027
- #: productvendor\views\dashboard\links.php:1
1028
- msgid "Control Center"
1029
- msgstr ""
1030
-
1031
- #: productvendor\views\dashboard\links.php:3
1032
- msgid "My shop"
1033
- msgstr ""
1034
-
1035
- #: productvendor\views\dashboard\links.php:7
1036
- msgid "My settings"
1037
- msgstr ""
1038
-
1039
- #: productvendor\views\dashboard\links.php:13
1040
- msgid "Submit a product"
1041
- msgstr ""
1042
-
1043
- #: productvendor\views\dashboard\reports.php:1
1044
- msgid "Sales Report"
1045
- msgstr ""
1046
-
1047
- #: productvendor\views\dashboard\reports.php:20
1048
- msgid "Rate"
1049
- msgstr ""
1050
-
1051
- #: productvendor\views\dashboard\reports.php:43
1052
- msgid "Show Orders"
1053
- msgstr ""
1054
-
1055
- #: productvendor\views\dashboard\reports.php:51
1056
- msgid "Totals"
1057
- msgstr ""
1058
-
1059
- #: productvendor\views\dashboard\reports.php:64
1060
- msgid "You have no sales during this period."
1061
- msgstr ""
1062
-
1063
- #: productvendor\views\dashboard\reports.php:72
1064
- msgid "You haven't made any sales yet."
1065
- msgstr ""
1066
-
1067
- #: productvendor\views\dashboard\settings\paypal-email-form.php:2
1068
- msgid "PayPal Address"
1069
- msgstr ""
1070
-
1071
- #: productvendor\views\dashboard\settings\paypal-email-form.php:3
1072
- msgid "Your PayPal address is used to send you your commission."
1073
- msgstr ""
1074
-
1075
- #: productvendor\views\dashboard\settings\seller-info.php:3
1076
- msgid "This is displayed on each of your products."
1077
- msgstr ""
1078
-
1079
- #: productvendor\views\dashboard\settings\shop-description.php:2
1080
- msgid "Shop Description"
1081
- msgstr ""
1082
-
1083
- #: productvendor\views\dashboard\settings\shop-description.php:3
1084
- #, php-format
1085
- msgid "This is displayed on your <a href=\"%s\">shop page</a>."
1086
- msgstr ""
1087
-
1088
- #: productvendor\views\dashboard\settings\shop-name.php:2
1089
- msgid "Shop Name"
1090
- msgstr ""
1091
-
1092
- #: productvendor\views\dashboard\settings\shop-name.php:3
1093
- msgid "Your shop name is public and must be unique."
1094
- msgstr ""
1095
-
1096
- #: productvendor\views\emails\application-status.php:5
1097
- #, php-format
1098
- msgid "Hi there. This is a notification about a vendor application on %s."
1099
- msgstr ""
1100
-
1101
- #: productvendor\views\emails\application-status.php:8
1102
- #, php-format
1103
- msgid "Application status: %s"
1104
- msgstr ""
1105
-
1106
- #: productvendor\views\emails\application-status.php:9
1107
- #, php-format
1108
- msgid "Applicant username: %s"
1109
- msgstr ""
1110
-
1111
- #: productvendor\views\orders\csv-export.php:6
1112
- msgid "Export orders"
1113
- msgstr ""
1114
-
1115
- #: productvendor\views\orders\orders.php:149
1116
- #: productvendor\views\orders\table-body-simple.php:39
1117
- #, php-format
1118
- msgid "Total quantity: %d"
1119
- msgstr ""
1120
-
1121
- #: productvendor\views\orders\orders.php:175
1122
- msgid "Comments"
1123
- msgstr ""
1124
-
1125
- #: productvendor\views\orders\orders.php:209
1126
- msgid "Shipping - Tracking #"
1127
- msgstr ""
1128
-
1129
- #: productvendor\views\orders\orders.php:227
1130
- msgid "Shipping - Mark Shipped"
1131
- msgstr ""
1132
-
1133
- #: productvendor\views\orders\orders.php:234
1134
- msgid "Enter your tracking number first before marking the order as shipped."
1135
- msgstr ""
1136
-
1137
- #: productvendor\views\orders\table-body-simple.php:21
1138
- #: productvendor\views\orders\table-body-variable.php:24
1139
- #, php-format
1140
- msgid "Quantity: %d"
1141
- msgstr ""
1142
-
1143
- #: productvendor\views\orders\comments\add-new-comment.php:10
1144
- msgid "Add comment"
1145
- msgstr ""
1146
-
1147
- #: productvendor\views\orders\comments\existing-comments.php:9
1148
- #, php-format
1149
- msgid "added %s ago"
1150
- msgstr ""
1151
-
1152
- #: productvendor\views\orders\customer-note\customer-note.php:4
1153
- msgid "Customer note"
1154
- msgstr ""
1155
-
1156
- #: productvendor\views\orders\customer-note\customer-note.php:8
1157
- msgid "No customer note."
1158
- msgstr ""
1159
-
1160
- #: productvendor\views\orders\shipping\shipping-form.php:8
1161
- msgid "Mark order as shipped"
1162
- msgstr ""
1163
-
1164
- #: productvendor\views\orders\shipping\tracking-form.php:6
1165
- msgid "Provider:"
1166
- msgstr ""
1167
-
1168
- #: productvendor\views\orders\shipping\tracking-form.php:8
1169
- msgid "Custom Provider"
1170
- msgstr ""
1171
-
1172
- #: productvendor\views\orders\shipping\tracking-form.php:30
1173
- msgid "Provider Name:"
1174
- msgstr ""
1175
-
1176
- #: productvendor\views\orders\shipping\tracking-form.php:38
1177
- msgid "Tracking number:"
1178
- msgstr ""
1179
-
1180
- #: productvendor\views\orders\shipping\tracking-form.php:46
1181
- msgid "Tracking link:"
1182
- msgstr ""
1183
-
1184
- #: productvendor\views\orders\shipping\tracking-form.php:54
1185
- msgid "Date shipped:"
1186
- msgstr ""
1187
-
1188
- #: productvendor\views\orders\shipping\tracking-form.php:62
1189
- msgid "Preview:"
1190
- msgstr ""
1191
-
1192
- #: productvendor\views\orders\shipping\tracking-form.php:62
1193
- msgid "Click here to track your shipment"
1194
- msgstr ""
1195
-
1196
- #: productvendor\views\orders\shipping\tracking-form.php:70
1197
- msgid "Update tracking number"
1198
- msgstr ""
1199
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/languages/wc_vendors-fr_FR.mo DELETED
Binary file
WCVendors/languages/wc_vendors-fr_FR.po DELETED
@@ -1,1286 +0,0 @@
1
- # Woocommerce translation strings
2
- # Copyright (C) 2011-2012
3
- # This file is distributed under the same license as the Woocommerce package.
4
- # Last Updated: August 17, 2013.
5
- msgid ""
6
- msgstr ""
7
- "Project-Id-Version: Woocommerce v1.0.1\n"
8
- "Report-Msgid-Bugs-To: Woocommerce <info@Woocommerce.com>\n"
9
- "POT-Creation-Date: 2013-08-17 07:57-0400\n"
10
- "PO-Revision-Date: 2013-08-21 13:02-0500\n"
11
- "Last-Translator: Matt Gates <info@mgates.me>\n"
12
- "Language-Team: Woocommerce <info@Woocommerce.com>\n"
13
- "MIME-Version: 1.0\n"
14
- "Content-Type: text/plain; charset=UTF-8\n"
15
- "Content-Transfer-Encoding: 8bit\n"
16
- "X-Generator: Poedit 1.5.7\n"
17
-
18
- #: class-product-vendor.php:57
19
- #: productvendor\classes\admin\class-admin-users.php:296
20
- msgid "Product Vendor"
21
- msgstr "Product Vendor"
22
-
23
- #: class-product-vendor.php:79
24
- msgid "<b>Product Vendor is disabled</b>. Product Vendor requires WooCommerce v2.0.1."
25
- msgstr "<b>Product Vendor est désactivé</b>. Product Vendor nécessite WooCommerce v2.0.1."
26
-
27
- #: productvendor\classes\class-cron.php:86
28
- #, php-format
29
- msgid "Payment total: %s"
30
- msgstr "Total a payer: %s"
31
-
32
- #: productvendor\classes\class-cron.php:143
33
- msgid "Once Weekly"
34
- msgstr "Chaque semaine"
35
-
36
- #: productvendor\classes\class-cron.php:148
37
- msgid "Once every two weeks"
38
- msgstr "Toutes les 2 semaines"
39
-
40
- #: productvendor\classes\class-cron.php:153
41
- msgid "Once a month"
42
- msgstr "Chaque mois"
43
-
44
- #: productvendor\classes\class-install.php:99
45
- #: productvendor\classes\class-install.php:250
46
- msgid "Pending Vendor"
47
- msgstr "Vendeur En Attente"
48
-
49
- #: productvendor\classes\class-install.php:201
50
- msgid "Vendor Dashboard"
51
- msgstr "Tableau de bord Du vendeur"
52
-
53
- #: productvendor\classes\class-install.php:202
54
- #: productvendor\classes\admin\settings\sf-options.php:130
55
- msgid "Orders"
56
- msgstr "Commandes"
57
-
58
- #: productvendor\classes\class-install.php:203
59
- msgid "Shop Settings"
60
- msgstr "Paramètres de votre boutique"
61
-
62
- #: productvendor\classes\admin\class-admin-page.php:24
63
- #: productvendor\classes\admin\class-admin-page.php:83
64
- #: productvendor\classes\admin\class-admin-reports.php:323
65
- #: productvendor\classes\admin\class-product-meta.php:139
66
- #: productvendor\classes\admin\class-product-meta.php:155
67
- #: productvendor\views\dashboard\reports.php:19
68
- msgid "Commission"
69
- msgstr "Commission"
70
-
71
- #: productvendor\classes\admin\class-admin-page.php:192
72
- #: productvendor\classes\admin\class-admin-reports.php:161
73
- #: productvendor\views\dashboard\reports.php:17
74
- msgid "Product"
75
- msgstr "Produit"
76
-
77
- #: productvendor\classes\admin\class-admin-page.php:193
78
- msgid "Order ID"
79
- msgstr "Numero de commande"
80
-
81
- #: productvendor\classes\admin\class-admin-page.php:194
82
- #: productvendor\classes\admin\class-admin-reports.php:162
83
- #: productvendor\classes\admin\class-product-meta.php:38
84
- msgid "Vendor"
85
- msgstr "Vendeur"
86
-
87
- #: productvendor\classes\admin\class-admin-page.php:195
88
- #: productvendor\classes\admin\class-admin-reports.php:163
89
- #: productvendor\classes\admin\class-admin-reports.php:328
90
- #: productvendor\classes\admin\class-admin-reports.php:352
91
- msgid "Total"
92
- msgstr "Total"
93
-
94
- #: productvendor\classes\admin\class-admin-page.php:196
95
- #: productvendor\classes\admin\class-admin-reports.php:165
96
- msgid "Status"
97
- msgstr "Statut"
98
-
99
- #: productvendor\classes\admin\class-admin-page.php:197
100
- #: productvendor\classes\front\orders\class-orders.php:203
101
- msgid "Date"
102
- msgstr "Date"
103
-
104
- #: productvendor\classes\admin\class-admin-page.php:232
105
- msgid "Mark paid"
106
- msgstr "Indiquer Payer"
107
-
108
- #: productvendor\classes\admin\class-admin-page.php:233
109
- msgid "Mark due"
110
- msgstr "Indiquer A Payer"
111
-
112
- #: productvendor\classes\admin\class-admin-page.php:234
113
- msgid "Mark reversed"
114
- msgstr "Indiquer reverser"
115
-
116
- #: productvendor\classes\admin\class-admin-page.php:249
117
- msgid "Filter"
118
- msgstr "Filtres"
119
-
120
- #: productvendor\classes\admin\class-admin-page.php:282
121
- msgid "Show all dates"
122
- msgstr "Montrer Toutes Les Dates"
123
-
124
- #: productvendor\classes\admin\class-admin-page.php:295
125
- #, php-format
126
- msgid "%1$s %2$d"
127
- msgstr "%1$s %2$d"
128
-
129
- #: productvendor\classes\admin\class-admin-page.php:321
130
- msgid "Commission marked paid."
131
- msgstr "Commission payée"
132
-
133
- #: productvendor\classes\admin\class-admin-page.php:328
134
- msgid "Commission marked due."
135
- msgstr "Commission a payer"
136
-
137
- #: productvendor\classes\admin\class-admin-page.php:335
138
- msgid "Commission marked reversed."
139
- msgstr "Commission reversée"
140
-
141
- #: productvendor\classes\admin\class-admin-reports.php:38
142
- msgid "Product Vendors"
143
- msgstr "Vendeurs"
144
-
145
- #: productvendor\classes\admin\class-admin-reports.php:41
146
- msgid "Overview"
147
- msgstr "Vue D'ensemble"
148
-
149
- #: productvendor\classes\admin\class-admin-reports.php:47
150
- msgid "Commission by vendor"
151
- msgstr "Commission par vendeur"
152
-
153
- #: productvendor\classes\admin\class-admin-reports.php:53
154
- msgid "Commission by product"
155
- msgstr "Commission par produit"
156
-
157
- #: productvendor\classes\admin\class-admin-reports.php:112
158
- #: productvendor\views\dashboard\date-picker.php:3
159
- msgid "From:"
160
- msgstr "De:"
161
-
162
- #: productvendor\classes\admin\class-admin-reports.php:112
163
- #: productvendor\views\dashboard\date-picker.php:6
164
- msgid "To:"
165
- msgstr "A:"
166
-
167
- #: productvendor\classes\admin\class-admin-reports.php:112
168
- #: productvendor\classes\admin\class-admin-reports.php:262
169
- #: productvendor\views\dashboard\date-picker.php:9
170
- msgid "Show"
171
- msgstr "Voir"
172
-
173
- #: productvendor\classes\admin\class-admin-reports.php:123
174
- msgid "Total paid in range"
175
- msgstr "Total des sommes versées"
176
-
177
- #: productvendor\classes\admin\class-admin-reports.php:125
178
- #: productvendor\classes\admin\class-admin-reports.php:131
179
- #: productvendor\classes\admin\class-admin-reports.php:137
180
- msgid "n/a"
181
- msgstr ""
182
-
183
- #: productvendor\classes\admin\class-admin-reports.php:129
184
- msgid "Total due in range"
185
- msgstr "Total des sommes dues"
186
-
187
- #: productvendor\classes\admin\class-admin-reports.php:135
188
- msgid "Total reversed in range"
189
- msgstr "Total des sommes reversées"
190
-
191
- #: productvendor\classes\admin\class-admin-reports.php:144
192
- msgid "Recent Commission"
193
- msgstr "Commission Recentes"
194
-
195
- #: productvendor\classes\admin\class-admin-reports.php:160
196
- #: productvendor\classes\front\orders\class-orders.php:196
197
- msgid "Order"
198
- msgstr "Commande"
199
-
200
- #: productvendor\classes\admin\class-admin-reports.php:164
201
- msgid "Date &amp; Time"
202
- msgstr "Date &amp; Heure"
203
-
204
- #: productvendor\classes\admin\class-admin-reports.php:171
205
- msgid "N/A"
206
- msgstr "N/A"
207
-
208
- #: productvendor\classes\admin\class-admin-reports.php:175
209
- msgid "D j M Y \\a\\t h:ia"
210
- msgstr ""
211
-
212
- #: productvendor\classes\admin\class-admin-reports.php:184
213
- msgid "No commission yet"
214
- msgstr "Pas encore de commission"
215
-
216
- #: productvendor\classes\admin\class-admin-reports.php:215
217
- msgid "Show:"
218
- msgstr "Montrer:"
219
-
220
- #: productvendor\classes\admin\class-admin-reports.php:225
221
- msgid "Search for a product&hellip;"
222
- msgstr "Recherche d'un produit&hellip;"
223
-
224
- #: productvendor\classes\admin\class-admin-reports.php:255
225
- msgid "Select a vendor&hellip;"
226
- msgstr "Choisir un Vendeur&hellip;"
227
-
228
- #: productvendor\classes\admin\class-admin-reports.php:322
229
- msgid "Month"
230
- msgstr "Mois"
231
-
232
- #: productvendor\classes\admin\class-admin-reports.php:324
233
- msgid "Tax"
234
- msgstr "Taxes"
235
-
236
- #: productvendor\classes\admin\class-admin-reports.php:325
237
- #: productvendor\views\orders\orders.php:111
238
- msgid "Shipping"
239
- msgstr "Livraison"
240
-
241
- #: productvendor\classes\admin\class-admin-reports.php:326
242
- msgid "Reversed"
243
- msgstr "Reverser"
244
-
245
- #: productvendor\classes\admin\class-admin-reports.php:327
246
- msgid "Paid"
247
- msgstr "Payer"
248
-
249
- #: productvendor\classes\admin\class-admin-users.php:305
250
- msgid "Enable HTML for the shop description"
251
- msgstr "Activer le HTML pour la description de la boutique."
252
-
253
- #: productvendor\classes\admin\class-admin-users.php:311
254
- msgid "Shop name"
255
- msgstr "Nom de la boutique"
256
-
257
- #: productvendor\classes\admin\class-admin-users.php:316
258
- msgid "PayPal E-mail"
259
- msgstr "E-Mail Paypal"
260
-
261
- #: productvendor\classes\admin\class-admin-users.php:316
262
- msgid "required"
263
- msgstr "required"
264
-
265
- #: productvendor\classes\admin\class-admin-users.php:321
266
- msgid "Commission due"
267
- msgstr "Commission due"
268
-
269
- #: productvendor\classes\admin\class-admin-users.php:326
270
- #: productvendor\classes\front\class-vendor-shop.php:58
271
- #: productvendor\views\dashboard\settings\seller-info.php:2
272
- msgid "Seller info"
273
- msgstr "Information du vendeur"
274
-
275
- #: productvendor\classes\admin\class-admin-users.php:331
276
- msgid "Shop description"
277
- msgstr "Description de la boutique"
278
-
279
- #: productvendor\classes\admin\class-admin-users.php:349
280
- msgid "Commission Due"
281
- msgstr "Commission due"
282
-
283
- #: productvendor\classes\admin\class-product-meta.php:162
284
- msgid "Leave blank for default"
285
- msgstr "Laisser blanc par défaut"
286
-
287
- #: productvendor\classes\admin\class-vendor-applicants.php:25
288
- msgid "Approve"
289
- msgstr "Accepter"
290
-
291
- #: productvendor\classes\admin\class-vendor-applicants.php:26
292
- msgid "Deny"
293
- msgstr "Refuser"
294
-
295
- #: productvendor\classes\admin\class-vendor-applicants.php:70
296
- msgid "Vendor has been <b>denied</b>."
297
- msgstr "Le vendeur a été <b>refusé</b>."
298
-
299
- #: productvendor\classes\admin\class-vendor-applicants.php:81
300
- msgid "Vendor has been <b>approved</b>."
301
- msgstr "Le vendeur a été <b>accepté</b>."
302
-
303
- #: productvendor\classes\admin\class-vendor-applicants.php:94
304
- msgid "Pending Vendors"
305
- msgstr "Vendeur en attente"
306
-
307
- #: productvendor\classes\admin\emails\class-emails.php:85
308
- #: productvendor\classes\front\class-vendor-cart.php:41
309
- #: productvendor\classes\front\class-vendor-cart.php:60
310
- msgid "Sold by"
311
- msgstr "Vendu par"
312
-
313
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:27
314
- msgid "Vendor Application"
315
- msgstr "Demande de vendeur"
316
-
317
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:28
318
- msgid "Vendor application will either be approved, denied, or pending."
319
- msgstr "La demande du vendeur sera soit approuvée, refusée, ou en attente."
320
-
321
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:30
322
- msgid "Application {status}"
323
- msgstr "Demande {status}"
324
-
325
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:31
326
- msgid "[{blogname}] Your vendor application has been {status}"
327
- msgstr "Votre demande pour etre vendeur a été"
328
-
329
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:115
330
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:120
331
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:224
332
- msgid "Enable/Disable"
333
- msgstr "Activer / Désactiver"
334
-
335
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:117
336
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:122
337
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:226
338
- msgid "Enable this email notification"
339
- msgstr "Activer cette notification "
340
-
341
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:121
342
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:126
343
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:230
344
- msgid "Subject"
345
- msgstr "Sujet"
346
-
347
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:123
348
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:128
349
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:232
350
- #, php-format
351
- msgid "This controls the email subject line. Leave blank to use the default subject: <code>%s</code>."
352
- msgstr "Control du sujet. Laissez vide pour utiliser l'objet par défaut: <code>%s</code>."
353
-
354
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:128
355
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:133
356
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:237
357
- msgid "Email Heading"
358
- msgstr "Entête de l'email"
359
-
360
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:130
361
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:135
362
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:239
363
- #, php-format
364
- msgid "This controls the main heading contained within the email notification. Leave blank to use the default heading: <code>%s</code>."
365
- msgstr "Control du entête. Laissez vide pour utiliser l'entête par défaut: <code>%s</code>."
366
-
367
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:135
368
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:140
369
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:244
370
- msgid "Email type"
371
- msgstr "Email type"
372
-
373
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:137
374
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:142
375
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:246
376
- msgid "Choose which format of email to send."
377
- msgstr "Choisir le format d'email"
378
-
379
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:141
380
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:146
381
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:250
382
- msgid "Plain text"
383
- msgstr "Texte"
384
-
385
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:142
386
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:147
387
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:251
388
- msgid "HTML"
389
- msgstr "HTML"
390
-
391
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:143
392
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:148
393
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:252
394
- msgid "Multipart"
395
- msgstr "Multipart"
396
-
397
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:27
398
- msgid "New Vendor Product"
399
- msgstr "Nouveau Produit"
400
-
401
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:28
402
- msgid "New order emails are sent when a new product is submitted by a vendor"
403
- msgstr "E-mails de nouvelles commandes envoyées quand un nouveau produit est présentée par un fournisseur"
404
-
405
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:30
406
- msgid "New product submitted: {product_name}"
407
- msgstr "Nouveau produit soumis: {product_name}"
408
-
409
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:31
410
- msgid "[{blogname}] New product submitted by {vendor_name} - {product_name}"
411
- msgstr "[{blogname}] Nouveau produit soumis par {vendor_name} - {product_name}"
412
-
413
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:27
414
- msgid "Notify vendors"
415
- msgstr "Notifier les vendeurs"
416
-
417
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:28
418
- msgid "New order emails are sent when an order is received/paid by a customer."
419
- msgstr "E-mails de nouvelles commandes envoyées quand un ordre est reçu / payé par un client."
420
-
421
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:30
422
- msgid "New customer order"
423
- msgstr "Nouvelle Commande"
424
-
425
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:31
426
- msgid "[{blogname}] New customer order ({order_number}) - {order_date}"
427
- msgstr "[{blogname}] Nouvelle Commande {order_number}) - {order_date}"
428
-
429
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:102
430
- msgid "Commission Subtotal:"
431
- msgstr "Sous-Total Commission :"
432
-
433
- #: productvendor\classes\admin\settings\sf-options.php:4
434
- msgid "General"
435
- msgstr "General"
436
-
437
- #: productvendor\classes\admin\settings\sf-options.php:5
438
- msgid "General options"
439
- msgstr "Options Generales"
440
-
441
- #: productvendor\classes\admin\settings\sf-options.php:8
442
- msgid "Default commission (%)"
443
- msgstr "Defaut Commission (%)"
444
-
445
- #: productvendor\classes\admin\settings\sf-options.php:9
446
- msgid "The default rate the vendor receives for each product. If a product has a commission rate already set, this value will be ignored for that product."
447
- msgstr "Le taux par défaut que le vendeur reçoit pour chaque produit. Si un produit a un taux de commission déjà défini, cette valeur sera ignorée pour ce produit."
448
-
449
- #: productvendor\classes\admin\settings\sf-options.php:20
450
- msgid "Registration"
451
- msgstr "Inscription"
452
-
453
- #: productvendor\classes\admin\settings\sf-options.php:21
454
- msgid "Allow users or guests to apply to become a vendor"
455
- msgstr "Autoriser les utilisateurs ou les invités à s'inscrire pour devenir un vendeur"
456
-
457
- #: productvendor\classes\admin\settings\sf-options.php:22
458
- msgid "This will show a checkbox on the My Account page's registration form asking if the user would like to apply to be a vendor. Also, on the Vendor Dashboard, users can apply to become a vendor."
459
- msgstr "Cela fera apparaître une case à cocher sur le formulaire d'inscription de la page Mon Compte demandant si l'utilisateur souhaite s'inscrire pour être un vendeur. En outre, sur le tableau de bord du vendeur, les utilisateurs peuvent demander à devenir un vendeur."
460
-
461
- #: productvendor\classes\admin\settings\sf-options.php:29
462
- msgid "Approve vendor applications manually"
463
- msgstr "Approuver les demandes des vendeurs manuellement"
464
-
465
- #: productvendor\classes\admin\settings\sf-options.php:30
466
- msgid "With this unchecked, all vendor applications are automatically accepted. Otherwise, you must approve each manually."
467
- msgstr "Avec cette cochée, toutes les actions de vendeurs sont automatiquement acceptés. Sinon, vous devez approuver chacune manuellement."
468
-
469
- #: productvendor\classes\admin\settings\sf-options.php:37
470
- msgid "Taxes"
471
- msgstr "Taxes"
472
-
473
- #: productvendor\classes\admin\settings\sf-options.php:38
474
- msgid "Give vendors any tax collected per-product"
475
- msgstr "Donnez au vendeur toutes taxes perçues par produit"
476
-
477
- #: productvendor\classes\admin\settings\sf-options.php:39
478
- msgid "The tax collected on a vendor's product will be given to him in its entirety"
479
- msgstr "La taxe perçue sur le produit d'un vendeur va lui être donnée dans son intégralité"
480
-
481
- #: productvendor\classes\admin\settings\sf-options.php:45
482
- msgid "Shop options"
483
- msgstr "Option de la boutique"
484
-
485
- #: productvendor\classes\admin\settings\sf-options.php:48
486
- msgid "Shop HTML"
487
- msgstr "Boutique HTML"
488
-
489
- #: productvendor\classes\admin\settings\sf-options.php:49
490
- msgid "Enable HTML for a vendor's shop description by default"
491
- msgstr "Activer la description HTML pour la boutique d'un vendeur par défaut"
492
-
493
- #: productvendor\classes\admin\settings\sf-options.php:56
494
- msgid "Vendor shop page"
495
- msgstr "Page de la boutique d'un vendeur"
496
-
497
- #: productvendor\classes\admin\settings\sf-options.php:57
498
- msgid "Eg: <code>yoursite.com/[your_setting_here]/[vendor_name_here]</code>"
499
- msgstr ""
500
-
501
- #: productvendor\classes\admin\settings\sf-options.php:63
502
- #: productvendor\classes\admin\settings\sf-options.php:188
503
- msgid "Products"
504
- msgstr "Produits"
505
-
506
- #: productvendor\classes\admin\settings\sf-options.php:64
507
- msgid "Product Add Page"
508
- msgstr "Page Ajout Produit"
509
-
510
- #: productvendor\classes\admin\settings\sf-options.php:64
511
- msgid "Configure what to hide from all vendors when adding a product"
512
- msgstr "Configurez ce que vous voulez cacher pour tous les vendeurs lors de l'ajout d'un produit"
513
-
514
- #: productvendor\classes\admin\settings\sf-options.php:67
515
- msgid "Left side panel"
516
- msgstr "Panneau latéral gauche"
517
-
518
- #: productvendor\classes\admin\settings\sf-options.php:68
519
- msgid "Hide these areas of the add product page for vendors"
520
- msgstr "Masquer ces zones de la page ajout produit pour les vendeurs"
521
-
522
- #: productvendor\classes\admin\settings\sf-options.php:82
523
- msgid "Types"
524
- msgstr "Types"
525
-
526
- #: productvendor\classes\admin\settings\sf-options.php:83
527
- msgid "Hide these product types from the vendor"
528
- msgstr "Masquer ces types produits pour le vendeur"
529
-
530
- #: productvendor\classes\admin\settings\sf-options.php:96
531
- msgid "Type options"
532
- msgstr "Type options"
533
-
534
- #: productvendor\classes\admin\settings\sf-options.php:97
535
- msgid "Hide these product options from the vendor"
536
- msgstr "Masquer ces options produits pour le vendeur"
537
-
538
- #: productvendor\classes\admin\settings\sf-options.php:108
539
- msgid "Miscellaneous"
540
- msgstr "Miscellaneous"
541
-
542
- #: productvendor\classes\admin\settings\sf-options.php:119
543
- msgid "Stylesheet"
544
- msgstr "Stylesheet"
545
-
546
- #: productvendor\classes\admin\settings\sf-options.php:120
547
- msgid "You can add CSS in this textarea, which will be loaded on the product add/edit page for vendors."
548
- msgstr "Vous pouvez ajouter des CSS dans cette zone de texte, qui sera chargée sur la page ajouter / modifier produit pour les vendeurs."
549
-
550
- #: productvendor\classes\admin\settings\sf-options.php:126
551
- msgid "Capabilities"
552
- msgstr "Ffonctionnalités"
553
-
554
- #: productvendor\classes\admin\settings\sf-options.php:127
555
- msgid "Permissions"
556
- msgstr "Autorisations"
557
-
558
- #: productvendor\classes\admin\settings\sf-options.php:127
559
- msgid "General permissions used around the shop"
560
- msgstr "Autorisations générales utiliséespour la boutique"
561
-
562
- #: productvendor\classes\admin\settings\sf-options.php:131
563
- msgid "View orders"
564
- msgstr "Voir Commandes"
565
-
566
- #: productvendor\classes\admin\settings\sf-options.php:132
567
- msgid "Show customer details such as email, address, name, etc, for each order"
568
- msgstr "Afficher les détails des clients tels que e-mail, adresse, nom, etc, pour chaque commande"
569
-
570
- #: productvendor\classes\admin\settings\sf-options.php:139
571
- msgid "View comments"
572
- msgstr "Voir les commentaires"
573
-
574
- #: productvendor\classes\admin\settings\sf-options.php:140
575
- msgid "View all vendor comments for an order on the frontend"
576
- msgstr "Voir tous les commentaires des vendeurs pour une commande sur le frontend"
577
-
578
- #: productvendor\classes\admin\settings\sf-options.php:147
579
- msgid "Submit comments"
580
- msgstr "Envois commentaires"
581
-
582
- #: productvendor\classes\admin\settings\sf-options.php:148
583
- msgid "Submit comments for an order on the frontend. Eg, tracking ID for a product"
584
- msgstr "Envois commentaires pour une commande en frontend. Ex numero de suivi par produit"
585
-
586
- #: productvendor\classes\admin\settings\sf-options.php:155
587
- msgid "View email addresses"
588
- msgstr "Voir adresse email"
589
-
590
- #: productvendor\classes\admin\settings\sf-options.php:156
591
- msgid "While viewing order details on the frontend, you can disable or enable email addresses"
592
- msgstr "Lors de l'affichage des détails de la commande sur l'interface, vous pouvez activer ou désactiver les adresses e-mail"
593
-
594
- #: productvendor\classes\admin\settings\sf-options.php:163
595
- msgid "Export a CSV file of orders for a product"
596
- msgstr "Export CSV des commandes pour un produit"
597
-
598
- #: productvendor\classes\admin\settings\sf-options.php:164
599
- msgid "Vendors could export orders for a product on the frontend"
600
- msgstr "Les vendeurs peuvent exporter les commandes pour un produit sur le frontend"
601
-
602
- #: productvendor\classes\admin\settings\sf-options.php:171
603
- msgid "Reports"
604
- msgstr "Rapports"
605
-
606
- #: productvendor\classes\admin\settings\sf-options.php:172
607
- msgid "View backend sales reports"
608
- msgstr "Voir les commandes dans le backend"
609
-
610
- #: productvendor\classes\admin\settings\sf-options.php:173
611
- msgid "Graphs and tables via the Reports page in backend. The reports will only display sales data that pertain to their products"
612
- msgstr "Graphiques et tableaux via la page Rapports en backend. Les rapports n'affichent que les données sur les ventes qui se rapportent à leurs produits"
613
-
614
- #: productvendor\classes\admin\settings\sf-options.php:180
615
- msgid "View Frontend sales reports"
616
- msgstr "Voir les rapports de ventes en frontend"
617
-
618
- #: productvendor\classes\admin\settings\sf-options.php:181
619
- msgid "Sales table on the frontend on the My Account page. The table will only display sales data that pertain to their products"
620
- msgstr "Tableau des ventes sur le frontend sur la page Mon compte. Le tableau n'affiche que les données de ventes qui s'appliquent à leurs produits"
621
-
622
- #: productvendor\classes\admin\settings\sf-options.php:189
623
- msgid "Submit products"
624
- msgstr "Soummettre produits"
625
-
626
- #: productvendor\classes\admin\settings\sf-options.php:190
627
- msgid "Vendors could submit a product through the backend, and an admin would approve or deny it"
628
- msgstr "Les vendeurs peuvent soumettre un produit à travers le backend, et un admin devra approuver ou refuser."
629
-
630
- #: productvendor\classes\admin\settings\sf-options.php:197
631
- msgid "Edit live products"
632
- msgstr "Editer produit en ligne"
633
-
634
- #: productvendor\classes\admin\settings\sf-options.php:198
635
- msgid "Vendors could edit an approved product after it has already gone live. There is no approval or review after editing a live product. This could be dangerous with malicious vendors, so take caution."
636
- msgstr "Les vendeurs peuvent modifier un produit approuvé après qu'il soit en ligne. Il n'y a pas d'approbation ou d'examen après la modification d'un produit vivant. Cela pourrait être dangereux avec les vendeurs malveillants. Soyez vigileant."
637
-
638
- #: productvendor\classes\admin\settings\sf-options.php:205
639
- msgid "Submit products live without requiring approval"
640
- msgstr "Soumettre Produits en ligne sans approbation"
641
-
642
- #: productvendor\classes\admin\settings\sf-options.php:206
643
- msgid "Vendors can submit products without review or approval from a shop admin. This could be dangerous with malicious vendors, so take caution."
644
- msgstr "Les vendeurs peuvent soumettre produits sans révision ou l'approbation d'un administrateur de la boutique. Cela pourrait être dangereux avec les vendeurs malveillants. Soyez vigileant."
645
-
646
- #: productvendor\classes\admin\settings\sf-options.php:212
647
- msgid "Pages"
648
- msgstr "Pages"
649
-
650
- #: productvendor\classes\admin\settings\sf-options.php:213
651
- msgid "Page configuration"
652
- msgstr "Page de configuration"
653
-
654
- #: productvendor\classes\admin\settings\sf-options.php:216
655
- msgid "Vendor dashboard"
656
- msgstr "Dashboard Vendeur"
657
-
658
- #: productvendor\classes\admin\settings\sf-options.php:217
659
- msgid "Choose the page that has the shortcode <code>[pv_vendor_dashboard]</code><br/>By default, My Account > Vendor Dashboard should have the shortcode."
660
- msgstr "Choisir la page qui a le shortcode <code>[pv_vendor_dashboard]</code><br/>Par defaut, My Account > Vendor Dashboard a le shortcode."
661
-
662
- #: productvendor\classes\admin\settings\sf-options.php:224
663
- msgid "Shop settings"
664
- msgstr "Parametres de la boutique"
665
-
666
- #: productvendor\classes\admin\settings\sf-options.php:225
667
- msgid "Choose the page that has the shortcode <code>[pv_shop_settings]</code><br/>These are the shop settings a vendor can configure."
668
- msgstr "Choisir la page qui a le shortcode <code>[pv_shop_settings]</code><br/>Ce sont les paramètres de la boutique du vendeur"
669
-
670
- #: productvendor\classes\admin\settings\sf-options.php:232
671
- msgid "Orders page"
672
- msgstr "Page Commandes"
673
-
674
- #: productvendor\classes\admin\settings\sf-options.php:233
675
- msgid "Choose the page that has the shortcode <code>[pv_orders]</code><br/>By default, My Account > Orders should have the shortcode."
676
- msgstr "Choisir la page qui a le shortcode <code>[pv_orders]</code><br/>par défaut, My Account > Orders a le shortcode."
677
-
678
- #: productvendor\classes\admin\settings\sf-options.php:240
679
- msgid "Vendor terms"
680
- msgstr "Termes du vendeur"
681
-
682
- #: productvendor\classes\admin\settings\sf-options.php:241
683
- msgid "These terms are shown to a user when submitting an application to become a vendor.<br/>If left blank, no terms will be shown to the applicant."
684
- msgstr "Ces termes sont présentés à l'utilisateur lors de la soumission d'une demande pour devenir un fournisseur. <br/> Si laissé vide, aucun terme seront affichés au demandeur."
685
-
686
- #: productvendor\classes\admin\settings\sf-options.php:259
687
- msgid "Payments"
688
- msgstr "Paiements"
689
-
690
- #: productvendor\classes\admin\settings\sf-options.php:260
691
- msgid "User payments"
692
- msgstr "Paiements Utilisateur"
693
-
694
- #: productvendor\classes\admin\settings\sf-options.php:261
695
- #, php-format
696
- msgid "Total commission currently due: %s. <a href=\"%s\">View details</a>."
697
- msgstr "Total des commissions dues: %s. <a href=\"%s\">Voir Détails</a>."
698
-
699
- #: productvendor\classes\admin\settings\sf-options.php:262
700
- #, php-format
701
- msgid "Make sure you update your PayPal Adaptive Payments settings <a href=\"%s\">here</a>."
702
- msgstr "Assurez-vous que vous avez mis à jour vos paramètres de paiements PayPal <a href=\"%s\">ici</a>."
703
-
704
- #: productvendor\classes\admin\settings\sf-options.php:265
705
- msgid "Instant pay"
706
- msgstr "Instant pay"
707
-
708
- #: productvendor\classes\admin\settings\sf-options.php:266
709
- msgid "Instantly pay vendors their commission when an order is made"
710
- msgstr "Payer instantanément les vendeurs quand une commande est faite"
711
-
712
- #: productvendor\classes\admin\settings\sf-options.php:267
713
- msgid "For this to work, customers must checkout with the PayPal Adaptive Payments gateway. Using other gateways will not pay vendors instantly"
714
- msgstr "Pour que cela fonctionne, les clients doivent accéder à la passerelle Adaptive PayPal. L'utilisation d'autres passerelles ne paiera pas les vendeurs instantanément"
715
-
716
- #: productvendor\classes\admin\settings\sf-options.php:274
717
- msgid "Payment schedule"
718
- msgstr "Calendrier des paiements"
719
-
720
- #: productvendor\classes\admin\settings\sf-options.php:275
721
- msgid "Note: Schedule will only work if instant pay is unchecked"
722
- msgstr "Note: Calendrier des paiements ne fonctionne que si le paiement instantané est décoché"
723
-
724
- #: productvendor\classes\admin\settings\sf-options.php:280
725
- msgid "Weekly"
726
- msgstr "Par semaine"
727
-
728
- #: productvendor\classes\admin\settings\sf-options.php:281
729
- msgid "Biweekly"
730
- msgstr "Par 2 semaines"
731
-
732
- #: productvendor\classes\admin\settings\sf-options.php:282
733
- msgid "Monthly"
734
- msgstr "Par mois"
735
-
736
- #: productvendor\classes\admin\settings\sf-options.php:283
737
- msgid "Manual"
738
- msgstr "Manuel"
739
-
740
- #: productvendor\classes\admin\settings\sf-options.php:284
741
- msgid "Now"
742
- msgstr "Maintenant"
743
-
744
- #: productvendor\classes\admin\settings\sf-options.php:289
745
- msgid "Email notification"
746
- msgstr "Notification Email"
747
-
748
- #: productvendor\classes\admin\settings\sf-options.php:290
749
- msgid "Send the WooCommerce admin an email each time a payment has been made via the payment schedule options above"
750
- msgstr "Envoyer a l'admin WooCommerce un email chaque fois qu'un paiement a été effectué via les options du calendrier de paiement ci-dessus"
751
-
752
- #: productvendor\classes\admin\settings\classes\sf-class-format-options.php:207
753
- msgid "Select a page..."
754
- msgstr "Choisir une page..."
755
-
756
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:149
757
- #: productvendor\views\dashboard\settings\settings.php:1
758
- msgid "Settings"
759
- msgstr "Parametres"
760
-
761
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:282
762
- msgid "Could not load settings at: "
763
- msgstr "Impossible de charger les parametres à l'adresse:"
764
-
765
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:282
766
- msgid "Error - WP Settings Framework"
767
- msgstr "Error - WP Settings Framework"
768
-
769
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:347
770
- #: productvendor\classes\front\dashboard\class-vendor-dashboard.php:73
771
- msgid "Settings saved."
772
- msgstr "Parametres sauvegarder"
773
-
774
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:460
775
- #, php-format
776
- msgid "Save %s changes"
777
- msgstr "Changements sauver %s"
778
-
779
- #: productvendor\classes\front\dashboard\class-vendor-dashboard.php:46
780
- msgid "Your PayPal address is not a valid email address."
781
- msgstr "Votre E-mail PayPal n'est pas valide."
782
-
783
- #: productvendor\classes\front\dashboard\class-vendor-dashboard.php:55
784
- msgid "That shop name is already taken. Your shop name must be unique."
785
- msgstr "Ce nom de la boutique est déjà pris. Votre nom de la boutique doit être unique."
786
-
787
- #: productvendor\classes\front\orders\class-export-csv.php:35
788
- msgid "Extra data"
789
- msgstr "Extra data"
790
-
791
- #: productvendor\classes\front\orders\class-export-csv.php:36
792
- #: productvendor\views\dashboard\reports.php:18
793
- msgid "Quantity"
794
- msgstr "Quantité"
795
-
796
- #: productvendor\classes\front\orders\class-orders.php:98
797
- msgid "You haven't selected a product's orders to view! Please go back to the Vendor Dashboard and click Show Orders on the product you'd like to view."
798
- msgstr "Vous n'avez pas choisi les commandes d'un produit a voir ! S'il vous plaît revenir au tableau de bord du vendeur et cliquez sur Afficher les commandes du produit que vous souhaitez consulter."
799
-
800
- #: productvendor\classes\front\orders\class-orders.php:102
801
- msgid "No orders."
802
- msgstr "Pas de Commandes"
803
-
804
- #: productvendor\classes\front\orders\class-orders.php:135
805
- #: productvendor\classes\front\orders\class-orders.php:136
806
- msgid "Tracking number"
807
- msgstr "Numero de suivi"
808
-
809
- #: productvendor\classes\front\orders\class-orders.php:138
810
- msgid "Success. Your tracking number has been updated."
811
- msgstr "Succes. Votre numéro de suivi a ete mis a jour"
812
-
813
- #: productvendor\classes\front\orders\class-orders.php:197
814
- msgid "Full name"
815
- msgstr "Nom Complet"
816
-
817
- #: productvendor\classes\front\orders\class-orders.php:198
818
- msgid "Address"
819
- msgstr "Adresse"
820
-
821
- #: productvendor\classes\front\orders\class-orders.php:199
822
- msgid "City"
823
- msgstr "Ville"
824
-
825
- #: productvendor\classes\front\orders\class-orders.php:200
826
- msgid "State"
827
- msgstr "Etat"
828
-
829
- #: productvendor\classes\front\orders\class-orders.php:201
830
- msgid "Zip"
831
- msgstr "Code Postal "
832
-
833
- #: productvendor\classes\front\orders\class-orders.php:202
834
- msgid "Email address"
835
- msgstr "Adresse Email"
836
-
837
- #: productvendor\classes\front\orders\class-submit-comment.php:40
838
- msgid "You've left the comment field empty!"
839
- msgstr "Vous avez laissé le champ de commentaire vide!"
840
-
841
- #: productvendor\classes\front\orders\class-submit-comment.php:61
842
- msgid "Success. The customer has been notified of your comment."
843
- msgstr "Succès. Le client a été avisé de votre commentaire."
844
-
845
- #: productvendor\classes\front\signup\class-vendor-signup.php:40
846
- #: productvendor\views\dashboard\denied.php:16
847
- msgid "Apply to become a vendor?"
848
- msgstr "Postuler pour devenir vendeur ?"
849
-
850
- #: productvendor\classes\front\signup\class-vendor-signup.php:46
851
- #: productvendor\views\dashboard\denied.php:23
852
- #, php-format
853
- msgid "I have read and accepted the <a href=\"%s\">terms and conditions</a>"
854
- msgstr "J'ai lu et accepté <a href=\"%s\">les termes et conditions</a>"
855
-
856
- #: productvendor\classes\front\signup\class-vendor-signup.php:80
857
- msgid "Application denied. You are an administrator."
858
- msgstr "Demande rejetée. Vous êtes un administrateur."
859
-
860
- #: productvendor\classes\front\signup\class-vendor-signup.php:82
861
- msgid "Your application has been submitted."
862
- msgstr "Votre demande a été soumise."
863
-
864
- #: productvendor\classes\front\signup\class-vendor-signup.php:118
865
- msgid "You must accept the terms and conditions to become a vendor."
866
- msgstr "Vous devez accepter les termes et conditions pour devenir un vendeur."
867
-
868
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:39
869
- msgid "PayPal Adaptive Payments"
870
- msgstr "PayPal Adaptive Payments"
871
-
872
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:115
873
- #, php-format
874
- msgid "Something went wrong. Response from PayPal invalidated this order. Status: %s."
875
- msgstr "Something went wrong. Response from PayPal invalidated this order. Status: %s."
876
-
877
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:120
878
- msgid "IPN payment completed"
879
- msgstr "IPN payment completed"
880
-
881
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:142
882
- msgid "Enable PayPal Adaptive Payments"
883
- msgstr "Activer PayPal Adaptive Payments"
884
-
885
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:148
886
- msgid "Method Title"
887
- msgstr "Titre de la méthode"
888
-
889
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:149
890
- msgid "This controls the title which the user sees during checkout."
891
- msgstr "Contrôle du titre que voit l'utilisateur lors de la commande."
892
-
893
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:150
894
- msgid "PayPal"
895
- msgstr "PayPal"
896
-
897
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:155
898
- msgid "Description"
899
- msgstr "Description"
900
-
901
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:156
902
- msgid "This controls the description which the user sees during checkout."
903
- msgstr "Contrôle la description que voit l'utilisateur lors de la commande."
904
-
905
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:157
906
- msgid "Pay via PayPal!"
907
- msgstr "Payer via Paypal!"
908
-
909
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:168
910
- msgid "Live Credentials"
911
- msgstr "Certificats en ligne"
912
-
913
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:170
914
- #, php-format
915
- msgid "You must have an <a href=\"%s\">Application ID</a> to process live transactions. You do not need one for testing in Sandbox mode."
916
- msgstr "You must have an <a href=\"%s\">Application ID</a> to process live transactions. You do not need one for testing in Sandbox mode."
917
-
918
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:175
919
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:209
920
- msgid "PayPal Email"
921
- msgstr "Email PayPal"
922
-
923
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:176
924
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:210
925
- msgid "The email address main payments should go to."
926
- msgstr "L'email principal de paiement"
927
-
928
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:181
929
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:215
930
- msgid "API Username"
931
- msgstr "API Username"
932
-
933
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:186
934
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:220
935
- msgid "API Password"
936
- msgstr "API Password"
937
-
938
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:191
939
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:225
940
- msgid "API Signature"
941
- msgstr "API Signature"
942
-
943
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:196
944
- msgid "Application ID"
945
- msgstr "Application ID"
946
-
947
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:198
948
- msgid "Only required when doing live transactions."
949
- msgstr "N'est nécessaire que lorsque vous effectuez des transactions en direct."
950
-
951
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:202
952
- msgid "Sandbox Credentials"
953
- msgstr "Sandbox Credentials"
954
-
955
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:204
956
- #, php-format
957
- msgid "You can signup for a sandbox developer account <a href=\"%s\">here</a>. You need a developer account if you want to enable Sandbox mode for testing."
958
- msgstr "You can signup for a sandbox developer account <a href=\"%s\">here</a>. You need a developer account if you want to enable Sandbox mode for testing."
959
-
960
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:236
961
- msgid "Misc. Settings"
962
- msgstr "Misc. Settings"
963
-
964
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:241
965
- msgid "Enable PayPal Sandbox mode"
966
- msgstr "Activer le mode PayPal Sandbox"
967
-
968
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:247
969
- msgid "Enable logging"
970
- msgstr "Activer logging"
971
-
972
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:264
973
- msgid "The PayPal Adaptive Payments gateway can instantly pay your vendors their due commission (if enabled). Also used to mass pay vendors on a schedule / manual method (if enabled)."
974
- msgstr "The PayPal Adaptive Payments gateway can instantly pay your vendors their due commission (if enabled). Also used to mass pay vendors on a schedule / manual method (if enabled)."
975
-
976
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:265
977
- #, php-format
978
- msgid "<b>Important:</b> Unless you're using the <a href=\"%s\">beta version of TRS2</a>, all shipping costs will be given to the shop admin. Vendors will not receive shipping costs."
979
- msgstr "<b>Important:</b> Unless you're using the <a href=\"%s\">beta version of TRS2</a>, all shipping costs will be given to the shop admin. Vendors will not receive shipping costs."
980
-
981
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:275
982
- msgid "Gateway Disabled"
983
- msgstr "Gateway Disabled"
984
-
985
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:275
986
- #, php-format
987
- msgid "%s does not support your store currency."
988
- msgstr "%s does not support your store currency."
989
-
990
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:361
991
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:469
992
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:147
993
- #, php-format
994
- msgid "Error: %s"
995
- msgstr "Erreur: %s"
996
-
997
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:369
998
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:370
999
- #, php-format
1000
- msgid "Error ID: %s. %s"
1001
- msgstr "Erreur ID: %s. %s"
1002
-
1003
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:113
1004
- msgid "No vendors found to pay. Maybe they haven't set a PayPal address?"
1005
- msgstr "Pas de vendeurs trouvés à payer. Peut-être qu'ils n'ont pas défini une adresse PayPal?"
1006
-
1007
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:160
1008
- msgid "All due commission has been paid for."
1009
- msgstr "Toutes les commissions ont été payée."
1010
-
1011
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:166
1012
- msgid "All due commission has been paid for, but I could not clear it from their profiles due to an internal error. Commission will still be listed as due. Please manually mark the commission as paid from the Commissions page."
1013
- msgstr "Toutes les commission ont été payé, mais je ne pouvais pas le faire disparaître de leurs profils en raison d'une erreur interne. Les commissions seront toujours listé comme a payer. S'il vous plaît marquer manuellement les commissions comme payés à la page des commissions."
1014
-
1015
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:200
1016
- msgid "WooCommerce: Mass payments for vendors update"
1017
- msgstr "WooCommerce: paiements en masse mise à jour des vendeurs"
1018
-
1019
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:202
1020
- msgid "Hello! A payment was just triggered to mass pay all vendors their due commission."
1021
- msgstr "Bonjour! Un paiement a été déclenché pour payer tous les vendeurs leurs commissions dues."
1022
-
1023
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:203
1024
- #, php-format
1025
- msgid "Payment status: %s."
1026
- msgstr "Statut Payement: %s."
1027
-
1028
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:204
1029
- #, php-format
1030
- msgid "Payment message: %s."
1031
- msgstr "Message Payement: %s."
1032
-
1033
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:207
1034
- #, php-format
1035
- msgid "Payment total: %s."
1036
- msgstr "Payement total: %s."
1037
-
1038
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:137
1039
- msgid "The plugin has been updated, but could not be reactivated. Please reactivate it manually."
1040
- msgstr "The plugin has been updated, but could not be reactivated. Please reactivate it manually."
1041
-
1042
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:138
1043
- msgid "Plugin reactivated successfully."
1044
- msgstr "Plugin réactivé avec succès."
1045
-
1046
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:229
1047
- msgid "MGates.me Updates"
1048
- msgstr "Mises a jour MGates.me"
1049
-
1050
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:259
1051
- msgid "MGates.me Plugin Updater"
1052
- msgstr "MGates.me Plugin Updater"
1053
-
1054
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:270
1055
- msgid "Enter your license key to automatically receive updates."
1056
- msgstr "Entrez votre numéro de licence afin de recevoir automatiquement les mises à jour."
1057
-
1058
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:295
1059
- #: productvendor\views\dashboard\settings\settings.php:46
1060
- msgid "Save"
1061
- msgstr "Sauvegarder"
1062
-
1063
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:296
1064
- msgid "Check for updates <b>now</b>"
1065
- msgstr "Check for updates <b>now</b>"
1066
-
1067
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:323
1068
- #, php-format
1069
- msgid "<b style=\"color: #468847;\">Key deactivated.</b> License key for <i>%s</i> has been <b>deactivated</b>."
1070
- msgstr "<b style=\"color: #468847;\">Key deactivated.</b> License key for <i>%s</i> has been <b>deactivated</b>."
1071
-
1072
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:325
1073
- #, php-format
1074
- msgid "<b style=\"color: #B94A48;\">Error.</b> License key for <i>%s</i> could not be deactivated."
1075
- msgstr "<b style=\"color: #B94A48;\">Error.</b> License key for <i>%s</i> could not be deactivated."
1076
-
1077
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:333
1078
- #, php-format
1079
- msgid "<b style=\"color: #468847;\">Key activated.</b> License key for <i>%s</i> has been <b>activated</b>."
1080
- msgstr "<b style=\"color: #468847;\">Key activated.</b> License key for <i>%s</i> has been <b>activated</b>."
1081
-
1082
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:335
1083
- #, php-format
1084
- msgid "<b style=\"color: #B94A48;\">Error.</b> License key for <i>%s</i> is invalid."
1085
- msgstr "<b style=\"color: #B94A48;\">Error.</b> License key for <i>%s</i> is invalid."
1086
-
1087
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:370
1088
- msgid "Enable MGates.me Plugin Updates."
1089
- msgstr "Authoriser les mises a jour des plugin MGates.me."
1090
-
1091
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:372
1092
- #, php-format
1093
- msgid "<a href=\"%1$s\">Add your license keys</a> to enable automatic plugin updates."
1094
- msgstr "<a href=\"%1$s\">Add your license keys</a> to enable automatic plugin updates."
1095
-
1096
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:379
1097
- msgid "Hide This Message"
1098
- msgstr "Masquer ce message"
1099
-
1100
- #: productvendor\views\dashboard\denied.php:5
1101
- msgid "Your account has not yet been approved to become a vendor."
1102
- msgstr "Votre compte n'a pas encore été approuvé pour devenir Vendeur."
1103
-
1104
- #: productvendor\views\dashboard\denied.php:9
1105
- msgid "Your account is not vendor capable."
1106
- msgstr "Votre compte n'a pas les authorisations vendeur."
1107
-
1108
- #: productvendor\views\dashboard\denied.php:42
1109
- msgid "Submit"
1110
- msgstr "Soumettre"
1111
-
1112
- #: productvendor\views\dashboard\links.php:1
1113
- msgid "Control Center"
1114
- msgstr "Mon Espace"
1115
-
1116
- #: productvendor\views\dashboard\links.php:3
1117
- msgid "My shop"
1118
- msgstr "Ma boutique"
1119
-
1120
- #: productvendor\views\dashboard\links.php:7
1121
- msgid "My settings"
1122
- msgstr "Mes parametres"
1123
-
1124
- #: productvendor\views\dashboard\links.php:13
1125
- msgid "Submit a product"
1126
- msgstr "Soumettre un produit"
1127
-
1128
- #: productvendor\views\dashboard\reports.php:1
1129
- msgid "Sales Report"
1130
- msgstr "Rapport de vente"
1131
-
1132
- #: productvendor\views\dashboard\reports.php:20
1133
- msgid "Rate"
1134
- msgstr "Taux"
1135
-
1136
- #: productvendor\views\dashboard\reports.php:43
1137
- msgid "Show Orders"
1138
- msgstr "Voir Commandes"
1139
-
1140
- #: productvendor\views\dashboard\reports.php:51
1141
- msgid "Totals"
1142
- msgstr "Totales"
1143
-
1144
- #: productvendor\views\dashboard\reports.php:64
1145
- msgid "You have no sales during this period."
1146
- msgstr "Vous n'avez pas de ventes au cours de cette période."
1147
-
1148
- #: productvendor\views\dashboard\reports.php:72
1149
- msgid "You haven't made any sales yet."
1150
- msgstr "Vous n'avez pas encore fait de vente."
1151
-
1152
- #: productvendor\views\dashboard\settings\paypal-email-form.php:2
1153
- msgid "PayPal Address"
1154
- msgstr "Adresse Email Paypal"
1155
-
1156
- #: productvendor\views\dashboard\settings\paypal-email-form.php:3
1157
- msgid "Your PayPal address is used to send you your commission."
1158
- msgstr "Votre adresse PayPal est utilisée pour vous payer votre commission."
1159
-
1160
- #: productvendor\views\dashboard\settings\seller-info.php:3
1161
- msgid "This is displayed on each of your products."
1162
- msgstr "Ce message s'affiche sur chacun de vos produits."
1163
-
1164
- #: productvendor\views\dashboard\settings\shop-description.php:2
1165
- msgid "Shop Description"
1166
- msgstr "Description de votre boutique"
1167
-
1168
- #: productvendor\views\dashboard\settings\shop-description.php:3
1169
- #, php-format
1170
- msgid "This is displayed on your <a href=\"%s\">shop page</a>."
1171
- msgstr "Ceci est affiché sur <a href=\"%s\">page boutique</a>. "
1172
-
1173
- #: productvendor\views\dashboard\settings\shop-name.php:2
1174
- msgid "Shop Name"
1175
- msgstr "Nom de votre boutique"
1176
-
1177
- #: productvendor\views\dashboard\settings\shop-name.php:3
1178
- msgid "Your shop name is public and must be unique."
1179
- msgstr "Le nom de votre boutique est publique et doit être unique."
1180
-
1181
- #: productvendor\views\emails\application-status.php:5
1182
- #, php-format
1183
- msgid "Hi there. This is a notification about a vendor application on %s."
1184
- msgstr "Hello. Il s'agit d'une notification pour une demande de vendeur sur% s."
1185
-
1186
- #: productvendor\views\emails\application-status.php:8
1187
- #, php-format
1188
- msgid "Application status: %s"
1189
- msgstr "Statut du Candidat: %s"
1190
-
1191
- #: productvendor\views\emails\application-status.php:9
1192
- #, php-format
1193
- msgid "Applicant username: %s"
1194
- msgstr "Nom d'utilisateur du Candidat: %s"
1195
-
1196
- #: productvendor\views\emails\new-product.php:5
1197
- #, php-format
1198
- msgid "Hi there. This is a notification about a new product on %s."
1199
- msgstr "Hello. Il s'agit d'une notification a propos d'un nouveau produit sur​​% s."
1200
-
1201
- #: productvendor\views\emails\new-product.php:8
1202
- #, php-format
1203
- msgid "Product title: %s"
1204
- msgstr "Titre du Produit: %s"
1205
-
1206
- #: productvendor\views\emails\new-product.php:9
1207
- #, php-format
1208
- msgid "Submitted by: %s"
1209
- msgstr "Soumis par: %s"
1210
-
1211
- #: productvendor\views\emails\new-product.php:10
1212
- #, php-format
1213
- msgid "Edit product: %s"
1214
- msgstr "Editer produit: %s"
1215
-
1216
- #: productvendor\views\orders\csv-export.php:6
1217
- msgid "Export orders"
1218
- msgstr "Export Commandes"
1219
-
1220
- #: productvendor\views\orders\orders.php:82
1221
- #, php-format
1222
- msgid "Comments (%s)"
1223
- msgstr "Commentaires (%s)"
1224
-
1225
- #: productvendor\views\orders\table-body.php:25
1226
- #, php-format
1227
- msgid "Quantity: %d"
1228
- msgstr "Quantité: %d"
1229
-
1230
- #: productvendor\views\orders\comments\add-new-comment.php:10
1231
- msgid "Add comment"
1232
- msgstr "Ajouter Commentaire"
1233
-
1234
- #: productvendor\views\orders\comments\existing-comments.php:9
1235
- #, php-format
1236
- msgid "added %s ago"
1237
- msgstr "Ajouter il y a %s"
1238
-
1239
- #: productvendor\views\orders\customer-note\customer-note.php:4
1240
- msgid "Customer note"
1241
- msgstr "Note de l'acheteur"
1242
-
1243
- #: productvendor\views\orders\customer-note\customer-note.php:8
1244
- msgid "No customer note."
1245
- msgstr "Pas de note de l'acheteur"
1246
-
1247
- #: productvendor\views\orders\shipping\shipping-form.php:46
1248
- msgid "Provider:"
1249
- msgstr "Fournisseur"
1250
-
1251
- #: productvendor\views\orders\shipping\shipping-form.php:48
1252
- msgid "Custom Provider"
1253
- msgstr "Fournisseur personnalisé"
1254
-
1255
- #: productvendor\views\orders\shipping\shipping-form.php:68
1256
- msgid "Provider Name:"
1257
- msgstr "Nom du fournisseur:"
1258
-
1259
- #: productvendor\views\orders\shipping\shipping-form.php:76
1260
- msgid "Tracking number:"
1261
- msgstr "Numéro de suivi:"
1262
-
1263
- #: productvendor\views\orders\shipping\shipping-form.php:84
1264
- msgid "Tracking link:"
1265
- msgstr "Lien de suivi:"
1266
-
1267
- #: productvendor\views\orders\shipping\shipping-form.php:93
1268
- msgid "Date shipped:"
1269
- msgstr "Date de l'expédition:"
1270
-
1271
- #: productvendor\views\orders\shipping\shipping-form.php:101
1272
- msgid "Preview:"
1273
- msgstr "Aperçu:"
1274
-
1275
- #: productvendor\views\orders\shipping\shipping-form.php:101
1276
- msgid "Click here to track your shipment"
1277
- msgstr "Cliquez ici pour votre numero de tracking"
1278
-
1279
- #: productvendor\views\orders\shipping\shipping-form.php:109
1280
- msgid "Update tracking number"
1281
- msgstr "Update numéro de tracking"
1282
-
1283
- #: productvendor\views\orders\shipping\shipping-form.php:110
1284
- msgid "Mark as shipped"
1285
- msgstr "Marquer comme envoyé"
1286
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/languages/wc_vendors-it_IT.mo DELETED
Binary file
WCVendors/languages/wc_vendors-it_IT.po DELETED
@@ -1,1288 +0,0 @@
1
- # Woocommerce translation strings
2
- # Copyright (C) 2011-2012
3
- # This file is distributed under the same license as the Woocommerce package.
4
- # Last Updated: August 17, 2013.
5
- msgid ""
6
- msgstr ""
7
- "Project-Id-Version: Woocommerce v1.0.1\n"
8
- "Report-Msgid-Bugs-To: Woocommerce <info@Woocommerce.com>\n"
9
- "POT-Creation-Date: 2013-08-17 07:57-0400\n"
10
- "PO-Revision-Date: 2013-08-19 20:08-0500\n"
11
- "Last-Translator: Matt Gates <info@mgates.me>\n"
12
- "Language-Team: Pixeland <info@pixeland.it>\n"
13
- "MIME-Version: 1.0\n"
14
- "Content-Type: text/plain; charset=UTF-8\n"
15
- "Content-Transfer-Encoding: 8bit\n"
16
- "X-Generator: Poedit 1.5.7\n"
17
- "Language: Italiano\n"
18
- "X-Poedit-SourceCharset: UTF-8\n"
19
-
20
- #: class-product-vendor.php:57
21
- #: productvendor\classes\admin\class-admin-users.php:296
22
- msgid "Product Vendor"
23
- msgstr "Product Vendor"
24
-
25
- #: class-product-vendor.php:79
26
- msgid "<b>Product Vendor is disabled</b>. Product Vendor requires WooCommerce v2.0.1."
27
- msgstr "<b>Product Vendor è disabilitato</b>. Product Vendor richiede WooCommerce v2.0.1."
28
-
29
- #: productvendor\classes\class-cron.php:86
30
- #, php-format
31
- msgid "Payment total: %s"
32
- msgstr "Totale Pagamento: %s"
33
-
34
- #: productvendor\classes\class-cron.php:143
35
- msgid "Once Weekly"
36
- msgstr "Una volta a settimana"
37
-
38
- #: productvendor\classes\class-cron.php:148
39
- msgid "Once every two weeks"
40
- msgstr "Una volta ogni due settimane"
41
-
42
- #: productvendor\classes\class-cron.php:153
43
- msgid "Once a month"
44
- msgstr "Una volta al mese"
45
-
46
- #: productvendor\classes\class-install.php:99
47
- #: productvendor\classes\class-install.php:250
48
- msgid "Pending Vendor"
49
- msgstr "Venditore in sospeso"
50
-
51
- #: productvendor\classes\class-install.php:201
52
- msgid "Vendor Dashboard"
53
- msgstr "Dashboard venditore"
54
-
55
- #: productvendor\classes\class-install.php:202
56
- #: productvendor\classes\admin\settings\sf-options.php:130
57
- msgid "Orders"
58
- msgstr "Ordini"
59
-
60
- #: productvendor\classes\class-install.php:203
61
- msgid "Shop Settings"
62
- msgstr "Impostazioni del negozio"
63
-
64
- #: productvendor\classes\admin\class-admin-page.php:24
65
- #: productvendor\classes\admin\class-admin-page.php:83
66
- #: productvendor\classes\admin\class-admin-reports.php:323
67
- #: productvendor\classes\admin\class-product-meta.php:139
68
- #: productvendor\classes\admin\class-product-meta.php:155
69
- #: productvendor\views\dashboard\reports.php:19
70
- msgid "Commission"
71
- msgstr "Commissione"
72
-
73
- #: productvendor\classes\admin\class-admin-page.php:192
74
- #: productvendor\classes\admin\class-admin-reports.php:161
75
- #: productvendor\views\dashboard\reports.php:17
76
- msgid "Product"
77
- msgstr "Prodotto"
78
-
79
- #: productvendor\classes\admin\class-admin-page.php:193
80
- msgid "Order ID"
81
- msgstr "ID ordine"
82
-
83
- #: productvendor\classes\admin\class-admin-page.php:194
84
- #: productvendor\classes\admin\class-admin-reports.php:162
85
- #: productvendor\classes\admin\class-product-meta.php:38
86
- msgid "Vendor"
87
- msgstr "Venditore"
88
-
89
- #: productvendor\classes\admin\class-admin-page.php:195
90
- #: productvendor\classes\admin\class-admin-reports.php:163
91
- #: productvendor\classes\admin\class-admin-reports.php:328
92
- #: productvendor\classes\admin\class-admin-reports.php:352
93
- msgid "Total"
94
- msgstr "Totale"
95
-
96
- #: productvendor\classes\admin\class-admin-page.php:196
97
- #: productvendor\classes\admin\class-admin-reports.php:165
98
- msgid "Status"
99
- msgstr "Stato"
100
-
101
- #: productvendor\classes\admin\class-admin-page.php:197
102
- #: productvendor\classes\front\orders\class-orders.php:203
103
- msgid "Date"
104
- msgstr "Data"
105
-
106
- #: productvendor\classes\admin\class-admin-page.php:232
107
- msgid "Mark paid"
108
- msgstr "Segna come pagato"
109
-
110
- #: productvendor\classes\admin\class-admin-page.php:233
111
- msgid "Mark due"
112
- msgstr "Segna come dovuto"
113
-
114
- #: productvendor\classes\admin\class-admin-page.php:234
115
- msgid "Mark reversed"
116
- msgstr "Segna come revocato"
117
-
118
- #: productvendor\classes\admin\class-admin-page.php:249
119
- msgid "Filter"
120
- msgstr "Filtro"
121
-
122
- #: productvendor\classes\admin\class-admin-page.php:282
123
- msgid "Show all dates"
124
- msgstr "Visualizza tutti i dati"
125
-
126
- #: productvendor\classes\admin\class-admin-page.php:295
127
- #, php-format
128
- msgid "%1$s %2$d"
129
- msgstr "%1$s %2$d"
130
-
131
- #: productvendor\classes\admin\class-admin-page.php:321
132
- msgid "Commission marked paid."
133
- msgstr "Commissione segnata come pagata."
134
-
135
- #: productvendor\classes\admin\class-admin-page.php:328
136
- msgid "Commission marked due."
137
- msgstr "Commissione segnata come dovuta."
138
-
139
- #: productvendor\classes\admin\class-admin-page.php:335
140
- msgid "Commission marked reversed."
141
- msgstr "Commissione segnata come revocata."
142
-
143
- #: productvendor\classes\admin\class-admin-reports.php:38
144
- msgid "Product Vendors"
145
- msgstr "Prodotto dei Venditori"
146
-
147
- #: productvendor\classes\admin\class-admin-reports.php:41
148
- msgid "Overview"
149
- msgstr "Panoramica"
150
-
151
- #: productvendor\classes\admin\class-admin-reports.php:47
152
- msgid "Commission by vendor"
153
- msgstr "Commissione del venditore"
154
-
155
- #: productvendor\classes\admin\class-admin-reports.php:53
156
- msgid "Commission by product"
157
- msgstr "Commissione del prodotto"
158
-
159
- #: productvendor\classes\admin\class-admin-reports.php:112
160
- #: productvendor\views\dashboard\date-picker.php:3
161
- msgid "From:"
162
- msgstr "Da:"
163
-
164
- #: productvendor\classes\admin\class-admin-reports.php:112
165
- #: productvendor\views\dashboard\date-picker.php:6
166
- msgid "To:"
167
- msgstr "A:"
168
-
169
- #: productvendor\classes\admin\class-admin-reports.php:112
170
- #: productvendor\classes\admin\class-admin-reports.php:262
171
- #: productvendor\views\dashboard\date-picker.php:9
172
- msgid "Show"
173
- msgstr "Mostra"
174
-
175
- #: productvendor\classes\admin\class-admin-reports.php:123
176
- msgid "Total paid in range"
177
- msgstr "Totale pagato in gamma"
178
-
179
- #: productvendor\classes\admin\class-admin-reports.php:125
180
- #: productvendor\classes\admin\class-admin-reports.php:131
181
- #: productvendor\classes\admin\class-admin-reports.php:137
182
- msgid "n/a"
183
- msgstr "n/a"
184
-
185
- #: productvendor\classes\admin\class-admin-reports.php:129
186
- msgid "Total due in range"
187
- msgstr "Totale dovuto nel range"
188
-
189
- #: productvendor\classes\admin\class-admin-reports.php:135
190
- msgid "Total reversed in range"
191
- msgstr "Totale invertita nel range"
192
-
193
- #: productvendor\classes\admin\class-admin-reports.php:144
194
- msgid "Recent Commission"
195
- msgstr "Commissione Recente"
196
-
197
- #: productvendor\classes\admin\class-admin-reports.php:160
198
- #: productvendor\classes\front\orders\class-orders.php:196
199
- msgid "Order"
200
- msgstr "Ordine"
201
-
202
- #: productvendor\classes\admin\class-admin-reports.php:164
203
- msgid "Date &amp; Time"
204
- msgstr "Data &amp; Orario"
205
-
206
- #: productvendor\classes\admin\class-admin-reports.php:171
207
- msgid "N/A"
208
- msgstr "N/A"
209
-
210
- #: productvendor\classes\admin\class-admin-reports.php:175
211
- msgid "D j M Y \\a\\t h:ia"
212
- msgstr "D j M Y \\a\\t h:ia"
213
-
214
- #: productvendor\classes\admin\class-admin-reports.php:184
215
- msgid "No commission yet"
216
- msgstr "Nessuna commissione ancora"
217
-
218
- #: productvendor\classes\admin\class-admin-reports.php:215
219
- msgid "Show:"
220
- msgstr "Mostra:"
221
-
222
- #: productvendor\classes\admin\class-admin-reports.php:225
223
- msgid "Search for a product&hellip;"
224
- msgstr "Cerca un prodotto&hellip;"
225
-
226
- #: productvendor\classes\admin\class-admin-reports.php:255
227
- msgid "Select a vendor&hellip;"
228
- msgstr "Seleziona un venditore&hellip;"
229
-
230
- #: productvendor\classes\admin\class-admin-reports.php:322
231
- msgid "Month"
232
- msgstr "Mese"
233
-
234
- #: productvendor\classes\admin\class-admin-reports.php:324
235
- msgid "Tax"
236
- msgstr "Tassa"
237
-
238
- #: productvendor\classes\admin\class-admin-reports.php:325
239
- #: productvendor\views\orders\orders.php:111
240
- msgid "Shipping"
241
- msgstr "Spedizione"
242
-
243
- #: productvendor\classes\admin\class-admin-reports.php:326
244
- msgid "Reversed"
245
- msgstr "Revocato"
246
-
247
- #: productvendor\classes\admin\class-admin-reports.php:327
248
- msgid "Paid"
249
- msgstr "Pagato"
250
-
251
- #: productvendor\classes\admin\class-admin-users.php:305
252
- msgid "Enable HTML for the shop description"
253
- msgstr "Abilita l'Html per la descrizione del negozio"
254
-
255
- #: productvendor\classes\admin\class-admin-users.php:311
256
- msgid "Shop name"
257
- msgstr "Nome del negozio"
258
-
259
- #: productvendor\classes\admin\class-admin-users.php:316
260
- msgid "PayPal E-mail"
261
- msgstr "E-mail PayPal"
262
-
263
- #: productvendor\classes\admin\class-admin-users.php:316
264
- msgid "required"
265
- msgstr "Richiesta"
266
-
267
- #: productvendor\classes\admin\class-admin-users.php:321
268
- msgid "Commission due"
269
- msgstr "Commissione dovuta"
270
-
271
- #: productvendor\classes\admin\class-admin-users.php:326
272
- #: productvendor\classes\front\class-vendor-shop.php:58
273
- #: productvendor\views\dashboard\settings\seller-info.php:2
274
- msgid "Seller info"
275
- msgstr "Informazioni venditore"
276
-
277
- #: productvendor\classes\admin\class-admin-users.php:331
278
- msgid "Shop description"
279
- msgstr "Descrizione del negozio"
280
-
281
- #: productvendor\classes\admin\class-admin-users.php:349
282
- msgid "Commission Due"
283
- msgstr "Commissione dovuta"
284
-
285
- #: productvendor\classes\admin\class-product-meta.php:162
286
- msgid "Leave blank for default"
287
- msgstr "Lascia bianco di default"
288
-
289
- #: productvendor\classes\admin\class-vendor-applicants.php:25
290
- msgid "Approve"
291
- msgstr "Approva"
292
-
293
- #: productvendor\classes\admin\class-vendor-applicants.php:26
294
- msgid "Deny"
295
- msgstr "Nega"
296
-
297
- #: productvendor\classes\admin\class-vendor-applicants.php:70
298
- msgid "Vendor has been <b>denied</b>."
299
- msgstr "Il venditore <b>non è stato accettato</b>."
300
-
301
- #: productvendor\classes\admin\class-vendor-applicants.php:81
302
- msgid "Vendor has been <b>approved</b>."
303
- msgstr "Il venditore è stato <b>approvato</b>."
304
-
305
- #: productvendor\classes\admin\class-vendor-applicants.php:94
306
- msgid "Pending Vendors"
307
- msgstr "Venditori in sospeso"
308
-
309
- #: productvendor\classes\admin\emails\class-emails.php:85
310
- #: productvendor\classes\front\class-vendor-cart.php:41
311
- #: productvendor\classes\front\class-vendor-cart.php:60
312
- msgid "Sold by"
313
- msgstr "Venduto da"
314
-
315
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:27
316
- msgid "Vendor Application"
317
- msgstr "Richiesta venditore"
318
-
319
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:28
320
- msgid "Vendor application will either be approved, denied, or pending."
321
- msgstr "La richiesta del venditore sarà approvata, negata o messa in sospeso."
322
-
323
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:30
324
- msgid "Application {status}"
325
- msgstr "Richiesta {status}"
326
-
327
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:31
328
- msgid "[{blogname}] Your vendor application has been {status}"
329
- msgstr "[{blogname}] La tua richiesta del venditore è stata {status}"
330
-
331
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:115
332
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:120
333
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:224
334
- msgid "Enable/Disable"
335
- msgstr "Abilita/Disabilita"
336
-
337
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:117
338
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:122
339
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:226
340
- msgid "Enable this email notification"
341
- msgstr "Abilita questa notificazione email"
342
-
343
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:121
344
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:126
345
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:230
346
- msgid "Subject"
347
- msgstr "Soggetto"
348
-
349
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:123
350
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:128
351
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:232
352
- #, php-format
353
- msgid "This controls the email subject line. Leave blank to use the default subject: <code>%s</code>."
354
- msgstr "Questo controlla la linea del soggetto dell'email. Lascia bianco per usare il soggetto di default: <code>%s</code>."
355
-
356
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:128
357
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:133
358
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:237
359
- msgid "Email Heading"
360
- msgstr "Testata email."
361
-
362
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:130
363
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:135
364
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:239
365
- #, php-format
366
- msgid "This controls the main heading contained within the email notification. Leave blank to use the default heading: <code>%s</code>."
367
- msgstr "Questo controlla il contenuto della testata principale senza notificazione mail. Lascia bianco per usare la testata di default: <code>%s</code>."
368
-
369
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:135
370
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:140
371
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:244
372
- msgid "Email type"
373
- msgstr "Tipo email"
374
-
375
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:137
376
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:142
377
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:246
378
- msgid "Choose which format of email to send."
379
- msgstr "Scegli quale formato di email spedire."
380
-
381
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:141
382
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:146
383
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:250
384
- msgid "Plain text"
385
- msgstr "Testo normale"
386
-
387
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:142
388
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:147
389
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:251
390
- msgid "HTML"
391
- msgstr "HTML"
392
-
393
- #: productvendor\classes\admin\emails\class-wc-approve-vendor.php:143
394
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:148
395
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:252
396
- msgid "Multipart"
397
- msgstr "Multipart"
398
-
399
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:27
400
- msgid "New Vendor Product"
401
- msgstr "Nuovo prodotto del venditore"
402
-
403
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:28
404
- msgid "New order emails are sent when a new product is submitted by a vendor"
405
- msgstr "Le email del nuovo ordine sono inviate quando un nuovo prodotto è inserito da un venditore."
406
-
407
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:30
408
- msgid "New product submitted: {product_name}"
409
- msgstr "Nuovo prodotto inserito: {product_name}"
410
-
411
- #: productvendor\classes\admin\emails\class-wc-notify-admin.php:31
412
- msgid "[{blogname}] New product submitted by {vendor_name} - {product_name}"
413
- msgstr "[{blogname}] Nuovo prodotto inserito da {vendor_name} - {product_name}"
414
-
415
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:27
416
- msgid "Notify vendors"
417
- msgstr "Notifica venditori"
418
-
419
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:28
420
- msgid "New order emails are sent when an order is received/paid by a customer."
421
- msgstr "Le email dei nuovo ordine sono inviate quando un ordine è ricevuto/pagato da un cliente."
422
-
423
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:30
424
- msgid "New customer order"
425
- msgstr "Nuovo ordine del cliente"
426
-
427
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:31
428
- msgid "[{blogname}] New customer order ({order_number}) - {order_date}"
429
- msgstr "[{blogname}] Nuovo ordine del cliente ({order_number}) - {order_date}"
430
-
431
- #: productvendor\classes\admin\emails\class-wc-notify-vendor.php:102
432
- msgid "Commission Subtotal:"
433
- msgstr "Subtotale commissione:"
434
-
435
- #: productvendor\classes\admin\settings\sf-options.php:4
436
- msgid "General"
437
- msgstr "Generale"
438
-
439
- #: productvendor\classes\admin\settings\sf-options.php:5
440
- msgid "General options"
441
- msgstr "Opzioni generali"
442
-
443
- #: productvendor\classes\admin\settings\sf-options.php:8
444
- msgid "Default commission (%)"
445
- msgstr "Commissione di default (%)"
446
-
447
- #: productvendor\classes\admin\settings\sf-options.php:9
448
- msgid "The default rate the vendor receives for each product. If a product has a commission rate already set, this value will be ignored for that product."
449
- msgstr "Il tasso di default che il venditore riceve per ogni prodotto. Se un prodotto ha un tasso di commissione già settato, questovalore sarà ignorato per quel prodotto."
450
-
451
- #: productvendor\classes\admin\settings\sf-options.php:20
452
- msgid "Registration"
453
- msgstr "Registrazione"
454
-
455
- #: productvendor\classes\admin\settings\sf-options.php:21
456
- msgid "Allow users or guests to apply to become a vendor"
457
- msgstr "Consentire agli utenti o agli ospiti di diventare venditori"
458
-
459
- #: productvendor\classes\admin\settings\sf-options.php:22
460
- msgid "This will show a checkbox on the My Account page's registration form asking if the user would like to apply to be a vendor. Also, on the Vendor Dashboard, users can apply to become a vendor."
461
- msgstr "Questo mostrerà un checkbox sul modulo di registrazione della pagina del \"Mio account\" chiedendo se l'utente vuole fare domanda per essere venditore. Inoltre, sulla Dashboard del venditore, gli utenti possono diventare venditori."
462
-
463
- #: productvendor\classes\admin\settings\sf-options.php:29
464
- msgid "Approve vendor applications manually"
465
- msgstr "Approva le richieste del venditore manualmente"
466
-
467
- #: productvendor\classes\admin\settings\sf-options.php:30
468
- msgid "With this unchecked, all vendor applications are automatically accepted. Otherwise, you must approve each manually."
469
- msgstr "Con questo non spuntato, tutte le richieste del venditore sono automaticamente accettate. Diversamente, tu puoi approvarle manualmente."
470
-
471
- #: productvendor\classes\admin\settings\sf-options.php:37
472
- msgid "Taxes"
473
- msgstr "Tasse"
474
-
475
- #: productvendor\classes\admin\settings\sf-options.php:38
476
- msgid "Give vendors any tax collected per-product"
477
- msgstr "Dai ai venditori ogni tassa collezionata per prodotto"
478
-
479
- #: productvendor\classes\admin\settings\sf-options.php:39
480
- msgid "The tax collected on a vendor's product will be given to him in its entirety"
481
- msgstr "La tassa raccolta sul prodotto del venditore sarà data a lui per intero"
482
-
483
- #: productvendor\classes\admin\settings\sf-options.php:45
484
- msgid "Shop options"
485
- msgstr "Opzioni negozio"
486
-
487
- #: productvendor\classes\admin\settings\sf-options.php:48
488
- msgid "Shop HTML"
489
- msgstr "HTML negozio"
490
-
491
- #: productvendor\classes\admin\settings\sf-options.php:49
492
- msgid "Enable HTML for a vendor's shop description by default"
493
- msgstr "Abilita l'HTML per la descrizione del nogozio del venditore di default"
494
-
495
- #: productvendor\classes\admin\settings\sf-options.php:56
496
- msgid "Vendor shop page"
497
- msgstr "Pagina del negozio del venditore"
498
-
499
- #: productvendor\classes\admin\settings\sf-options.php:57
500
- msgid "Eg: <code>yoursite.com/[your_setting_here]/[vendor_name_here]</code>"
501
- msgstr "Eg: <code>tuosito.com/[your_setting_here]/[vendor_name_here]</code>"
502
-
503
- #: productvendor\classes\admin\settings\sf-options.php:63
504
- #: productvendor\classes\admin\settings\sf-options.php:188
505
- msgid "Products"
506
- msgstr "Prodotti"
507
-
508
- #: productvendor\classes\admin\settings\sf-options.php:64
509
- msgid "Product Add Page"
510
- msgstr "Pagina aggiunta prodotto"
511
-
512
- #: productvendor\classes\admin\settings\sf-options.php:64
513
- msgid "Configure what to hide from all vendors when adding a product"
514
- msgstr "Configura cosa nascondere a tutti i venditori quando aggiungono un prodotto"
515
-
516
- #: productvendor\classes\admin\settings\sf-options.php:67
517
- msgid "Left side panel"
518
- msgstr "Pannello laterale sinistro"
519
-
520
- #: productvendor\classes\admin\settings\sf-options.php:68
521
- msgid "Hide these areas of the add product page for vendors"
522
- msgstr "Nascondi queste aree di pagina aggiunta prodotto per i venditori"
523
-
524
- #: productvendor\classes\admin\settings\sf-options.php:82
525
- msgid "Types"
526
- msgstr "Tipi"
527
-
528
- #: productvendor\classes\admin\settings\sf-options.php:83
529
- msgid "Hide these product types from the vendor"
530
- msgstr "Nascondi questi tipi di prodotti al venditore"
531
-
532
- #: productvendor\classes\admin\settings\sf-options.php:96
533
- msgid "Type options"
534
- msgstr "Opzioni di tipo"
535
-
536
- #: productvendor\classes\admin\settings\sf-options.php:97
537
- msgid "Hide these product options from the vendor"
538
- msgstr "Nascondi queste opzioni del prodotto al venditore"
539
-
540
- #: productvendor\classes\admin\settings\sf-options.php:108
541
- msgid "Miscellaneous"
542
- msgstr "Varie"
543
-
544
- #: productvendor\classes\admin\settings\sf-options.php:119
545
- msgid "Stylesheet"
546
- msgstr "Foglio di stile"
547
-
548
- #: productvendor\classes\admin\settings\sf-options.php:120
549
- msgid "You can add CSS in this textarea, which will be loaded on the product add/edit page for vendors."
550
- msgstr "Puoi aggiungere codice CSS in questa area di testo, che sarà caricato sulla pagina aggiungi/modifica dei venditori."
551
-
552
- #: productvendor\classes\admin\settings\sf-options.php:126
553
- msgid "Capabilities"
554
- msgstr "Capacità"
555
-
556
- #: productvendor\classes\admin\settings\sf-options.php:127
557
- msgid "Permissions"
558
- msgstr "Autorizzazioni"
559
-
560
- #: productvendor\classes\admin\settings\sf-options.php:127
561
- msgid "General permissions used around the shop"
562
- msgstr "Autorizzazioni generali usati per il negozio"
563
-
564
- #: productvendor\classes\admin\settings\sf-options.php:131
565
- msgid "View orders"
566
- msgstr "Visualizza ordini"
567
-
568
- #: productvendor\classes\admin\settings\sf-options.php:132
569
- msgid "Show customer details such as email, address, name, etc, for each order"
570
- msgstr "Mostra i dettagli del cliente come email, indiizzo, nome, etc, per ogni ordine"
571
-
572
- #: productvendor\classes\admin\settings\sf-options.php:139
573
- msgid "View comments"
574
- msgstr "Visualizza commenti"
575
-
576
- #: productvendor\classes\admin\settings\sf-options.php:140
577
- msgid "View all vendor comments for an order on the frontend"
578
- msgstr "Visualizza tutti i commenti del venditore per un ordine sul frontend"
579
-
580
- #: productvendor\classes\admin\settings\sf-options.php:147
581
- msgid "Submit comments"
582
- msgstr "Invia commenti"
583
-
584
- #: productvendor\classes\admin\settings\sf-options.php:148
585
- msgid "Submit comments for an order on the frontend. Eg, tracking ID for a product"
586
- msgstr "Invia commenti per un ordine sul fronend. Eg, ID rilevamento per un prodotto"
587
-
588
- #: productvendor\classes\admin\settings\sf-options.php:155
589
- msgid "View email addresses"
590
- msgstr "Visualizza indirizzi email"
591
-
592
- #: productvendor\classes\admin\settings\sf-options.php:156
593
- msgid "While viewing order details on the frontend, you can disable or enable email addresses"
594
- msgstr "Durante la visualizzazione dei dettagli dell'ordine sul front-end, è possibile disabilitare o abilitare gli indirizzi email"
595
-
596
- #: productvendor\classes\admin\settings\sf-options.php:163
597
- msgid "Export a CSV file of orders for a product"
598
- msgstr "Esporta un file CSV degli ordini per un prodotto"
599
-
600
- #: productvendor\classes\admin\settings\sf-options.php:164
601
- msgid "Vendors could export orders for a product on the frontend"
602
- msgstr "I venditori possono esportare ordini per un prodotto sul fronted"
603
-
604
- #: productvendor\classes\admin\settings\sf-options.php:171
605
- msgid "Reports"
606
- msgstr "Rapporti"
607
-
608
- #: productvendor\classes\admin\settings\sf-options.php:172
609
- msgid "View backend sales reports"
610
- msgstr "Visualizza i rapporti delle vendite del backend"
611
-
612
- #: productvendor\classes\admin\settings\sf-options.php:173
613
- msgid "Graphs and tables via the Reports page in backend. The reports will only display sales data that pertain to their products"
614
- msgstr "Grafici e tabelle tramite la pagina dei rapporti nel backend. I rapporti visualizzeranno solo i dati di vendita che appartengono ai loro prodotti"
615
-
616
- #: productvendor\classes\admin\settings\sf-options.php:180
617
- msgid "View Frontend sales reports"
618
- msgstr "Visualizza i rapporti delle vendite del frontend"
619
-
620
- #: productvendor\classes\admin\settings\sf-options.php:181
621
- msgid "Sales table on the frontend on the My Account page. The table will only display sales data that pertain to their products"
622
- msgstr "Tabella vendita sul frontend sulla pagina Mio Account . Nella tabella verranno visualizzati solo i dati di vendita che appartengono ai loro prodotti"
623
-
624
- #: productvendor\classes\admin\settings\sf-options.php:189
625
- msgid "Submit products"
626
- msgstr "Invia prodotti"
627
-
628
- #: productvendor\classes\admin\settings\sf-options.php:190
629
- msgid "Vendors could submit a product through the backend, and an admin would approve or deny it"
630
- msgstr "I venditori possono inviare un prodotto attraverso il backend, e un admin può approvarlo o negarlo"
631
-
632
- #: productvendor\classes\admin\settings\sf-options.php:197
633
- msgid "Edit live products"
634
- msgstr "Modifica prodotti dal vivo"
635
-
636
- #: productvendor\classes\admin\settings\sf-options.php:198
637
- msgid "Vendors could edit an approved product after it has already gone live. There is no approval or review after editing a live product. This could be dangerous with malicious vendors, so take caution."
638
- msgstr "I venditori possono modificare un prodotto approvato dopo che è già stato inserito. Non c'è alcuna approvazione o revisione dopo la modifica di un prodotto inserito. Questo potrebbe essere pericoloso con venditori scorretti, quindi di fare attenzione.\t"
639
-
640
- #: productvendor\classes\admin\settings\sf-options.php:205
641
- msgid "Submit products live without requiring approval"
642
- msgstr "Inviare prodotti senza chiedere l'approvazione"
643
-
644
- #: productvendor\classes\admin\settings\sf-options.php:206
645
- msgid "Vendors can submit products without review or approval from a shop admin. This could be dangerous with malicious vendors, so take caution."
646
- msgstr "I venditori possono inviare prodotti senza revisione e approvazione da parte di un amministratore di negozio. Questo potrebbe essere pericoloso con venditori scorretti, quindi di fare attenzione."
647
-
648
- #: productvendor\classes\admin\settings\sf-options.php:212
649
- msgid "Pages"
650
- msgstr "Pagine"
651
-
652
- #: productvendor\classes\admin\settings\sf-options.php:213
653
- msgid "Page configuration"
654
- msgstr "Configurazione pagina"
655
-
656
- #: productvendor\classes\admin\settings\sf-options.php:216
657
- msgid "Vendor dashboard"
658
- msgstr "Dashboard venditore"
659
-
660
- #: productvendor\classes\admin\settings\sf-options.php:217
661
- msgid "Choose the page that has the shortcode <code>[pv_vendor_dashboard]</code><br/>By default, My Account > Vendor Dashboard should have the shortcode."
662
- msgstr "Scegli la pagina che ha lo shortcode <code>[pv_vendor_dashboard]</code><br/>Di default, Mio Account > Dashboard venditore dovrebbe avere lo shortcode."
663
-
664
- #: productvendor\classes\admin\settings\sf-options.php:224
665
- msgid "Shop settings"
666
- msgstr "Impostazioni del negozio"
667
-
668
- #: productvendor\classes\admin\settings\sf-options.php:225
669
- msgid "Choose the page that has the shortcode <code>[pv_shop_settings]</code><br/>These are the shop settings a vendor can configure."
670
- msgstr "Scegli la pagina che ha lo shortcode <code>[pv_shop_settings]</code><br/>Queste sono le impostazioni del negozio che un venditore può configurare."
671
-
672
- #: productvendor\classes\admin\settings\sf-options.php:232
673
- msgid "Orders page"
674
- msgstr "Pagina ordini"
675
-
676
- #: productvendor\classes\admin\settings\sf-options.php:233
677
- msgid "Choose the page that has the shortcode <code>[pv_orders]</code><br/>By default, My Account > Orders should have the shortcode."
678
- msgstr "Scegli la pagina che ha lo shortcode <code>[pv_orders]</code><br/>Di default, Mio Account > Ordini dovrebbe avere lo shortcode."
679
-
680
- #: productvendor\classes\admin\settings\sf-options.php:240
681
- msgid "Vendor terms"
682
- msgstr "Termini venditore"
683
-
684
- #: productvendor\classes\admin\settings\sf-options.php:241
685
- msgid "These terms are shown to a user when submitting an application to become a vendor.<br/>If left blank, no terms will be shown to the applicant."
686
- msgstr "Questi termini sono indicati ad un utente quando invia una richiesta per diventare un venditore. <br/>Se lasciato vuoto, nessun termine verrà mostrato al richiedente."
687
-
688
- #: productvendor\classes\admin\settings\sf-options.php:259
689
- msgid "Payments"
690
- msgstr "Pagamenti"
691
-
692
- #: productvendor\classes\admin\settings\sf-options.php:260
693
- msgid "User payments"
694
- msgstr "Pagamenti utente"
695
-
696
- #: productvendor\classes\admin\settings\sf-options.php:261
697
- #, php-format
698
- msgid "Total commission currently due: %s. <a href=\"%s\">View details</a>."
699
- msgstr "Totale Commissione attualmente dovuto: %s. <a href=\"%s\">Visualizzare i dettagli</a>."
700
-
701
- #: productvendor\classes\admin\settings\sf-options.php:262
702
- #, php-format
703
- msgid "Make sure you update your PayPal Adaptive Payments settings <a href=\"%s\">here</a>."
704
- msgstr "Aggiornare le impostazioni di Pagamenti adattativi PayPal <a href=\"%s\">qui</a>."
705
-
706
- #: productvendor\classes\admin\settings\sf-options.php:265
707
- msgid "Instant pay"
708
- msgstr "Pagamento instantaneo"
709
-
710
- #: productvendor\classes\admin\settings\sf-options.php:266
711
- msgid "Instantly pay vendors their commission when an order is made"
712
- msgstr "Paga instantaneamente le commissioni ai venditori quando è fatto un ordine"
713
-
714
- #: productvendor\classes\admin\settings\sf-options.php:267
715
- msgid "For this to work, customers must checkout with the PayPal Adaptive Payments gateway. Using other gateways will not pay vendors instantly"
716
- msgstr "Per questo lavoro, i clienti devono effettuare il checkout con il gateway di pagamenti adattivo PayPal. Utilizzando altri gateway i venditori non verranno pagati istantaneamente"
717
-
718
- #: productvendor\classes\admin\settings\sf-options.php:274
719
- msgid "Payment schedule"
720
- msgstr "Scadenze di pagamento"
721
-
722
- #: productvendor\classes\admin\settings\sf-options.php:275
723
- msgid "Note: Schedule will only work if instant pay is unchecked"
724
- msgstr "Nota: Il programma funzionerà solo se la paga istantanea è deselezionata"
725
-
726
- #: productvendor\classes\admin\settings\sf-options.php:280
727
- msgid "Weekly"
728
- msgstr "Settimanale"
729
-
730
- #: productvendor\classes\admin\settings\sf-options.php:281
731
- msgid "Biweekly"
732
- msgstr "Bisettimanale"
733
-
734
- #: productvendor\classes\admin\settings\sf-options.php:282
735
- msgid "Monthly"
736
- msgstr "Mensile"
737
-
738
- #: productvendor\classes\admin\settings\sf-options.php:283
739
- msgid "Manual"
740
- msgstr "Manuale"
741
-
742
- #: productvendor\classes\admin\settings\sf-options.php:284
743
- msgid "Now"
744
- msgstr "Adesso"
745
-
746
- #: productvendor\classes\admin\settings\sf-options.php:289
747
- msgid "Email notification"
748
- msgstr "Notificazione email"
749
-
750
- #: productvendor\classes\admin\settings\sf-options.php:290
751
- msgid "Send the WooCommerce admin an email each time a payment has been made via the payment schedule options above"
752
- msgstr "Invia all'amministratore WooCommerce un'e-mail ogni volta che è stato effettuato un pagamento tramite le opzioni del programma di pagamento sopra\t"
753
-
754
- #: productvendor\classes\admin\settings\classes\sf-class-format-options.php:207
755
- msgid "Select a page..."
756
- msgstr "Seleziona una pagina..."
757
-
758
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:149
759
- #: productvendor\views\dashboard\settings\settings.php:1
760
- msgid "Settings"
761
- msgstr "Impostazioni"
762
-
763
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:282
764
- msgid "Could not load settings at: "
765
- msgstr "Impossibile caricare le impostazioni a:"
766
-
767
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:282
768
- msgid "Error - WP Settings Framework"
769
- msgstr "Errore - Impostazioni Framework WP"
770
-
771
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:347
772
- #: productvendor\classes\front\dashboard\class-vendor-dashboard.php:73
773
- msgid "Settings saved."
774
- msgstr "Impostazioni salvate."
775
-
776
- #: productvendor\classes\admin\settings\classes\sf-class-settings.php:460
777
- #, php-format
778
- msgid "Save %s changes"
779
- msgstr "Salva %s cambiamenti"
780
-
781
- #: productvendor\classes\front\dashboard\class-vendor-dashboard.php:46
782
- msgid "Your PayPal address is not a valid email address."
783
- msgstr "Il tuo indirizzo PayPal non è un indirizzo email valido."
784
-
785
- #: productvendor\classes\front\dashboard\class-vendor-dashboard.php:55
786
- msgid "That shop name is already taken. Your shop name must be unique."
787
- msgstr "Il nome del negozio già esiste. Il nome del tuo negozio deve essere unico."
788
-
789
- #: productvendor\classes\front\orders\class-export-csv.php:35
790
- msgid "Extra data"
791
- msgstr "Dati aggiuntivi"
792
-
793
- #: productvendor\classes\front\orders\class-export-csv.php:36
794
- #: productvendor\views\dashboard\reports.php:18
795
- msgid "Quantity"
796
- msgstr "Quantità"
797
-
798
- #: productvendor\classes\front\orders\class-orders.php:98
799
- msgid "You haven't selected a product's orders to view! Please go back to the Vendor Dashboard and click Show Orders on the product you'd like to view."
800
- msgstr "Non hai selezionato gli ordini di un prodotto da visualizzare! Si prega di tornare alla Dashboard Vendor e fare clic su Visualizza ordini sul prodotto che si desidera visualizzare."
801
-
802
- #: productvendor\classes\front\orders\class-orders.php:102
803
- msgid "No orders."
804
- msgstr "Nessun ordine."
805
-
806
- #: productvendor\classes\front\orders\class-orders.php:135
807
- #: productvendor\classes\front\orders\class-orders.php:136
808
- msgid "Tracking number"
809
- msgstr "Numero identificativo (Tracking number)"
810
-
811
- #: productvendor\classes\front\orders\class-orders.php:138
812
- msgid "Success. Your tracking number has been updated."
813
- msgstr "Bene. Il numero identificativo (Tracking number) è stato aggiornato."
814
-
815
- #: productvendor\classes\front\orders\class-orders.php:197
816
- msgid "Full name"
817
- msgstr "Nome completo"
818
-
819
- #: productvendor\classes\front\orders\class-orders.php:198
820
- msgid "Address"
821
- msgstr "Indirizzo"
822
-
823
- #: productvendor\classes\front\orders\class-orders.php:199
824
- msgid "City"
825
- msgstr "Città"
826
-
827
- #: productvendor\classes\front\orders\class-orders.php:200
828
- msgid "State"
829
- msgstr "Stato"
830
-
831
- #: productvendor\classes\front\orders\class-orders.php:201
832
- msgid "Zip"
833
- msgstr "CAP"
834
-
835
- #: productvendor\classes\front\orders\class-orders.php:202
836
- msgid "Email address"
837
- msgstr "Indirizzo email"
838
-
839
- #: productvendor\classes\front\orders\class-submit-comment.php:40
840
- msgid "You've left the comment field empty!"
841
- msgstr "Hai lasciato il campo di commento vuoto!"
842
-
843
- #: productvendor\classes\front\orders\class-submit-comment.php:61
844
- msgid "Success. The customer has been notified of your comment."
845
- msgstr "Bene. E' stato notificato il tuo commento al cliente."
846
-
847
- #: productvendor\classes\front\signup\class-vendor-signup.php:40
848
- #: productvendor\views\dashboard\denied.php:16
849
- msgid "Apply to become a vendor?"
850
- msgstr "Domanda per diventare un venditore?"
851
-
852
- #: productvendor\classes\front\signup\class-vendor-signup.php:46
853
- #: productvendor\views\dashboard\denied.php:23
854
- #, php-format
855
- msgid "I have read and accepted the <a href=\"%s\">terms and conditions</a>"
856
- msgstr "Ho letto e accettato i <a href=\"%s\">termini e le condizioni</a>"
857
-
858
- #: productvendor\classes\front\signup\class-vendor-signup.php:80
859
- msgid "Application denied. You are an administrator."
860
- msgstr "Richiesta negata. Sei un amministratore."
861
-
862
- #: productvendor\classes\front\signup\class-vendor-signup.php:82
863
- msgid "Your application has been submitted."
864
- msgstr "La tua richiesta è stata inviata."
865
-
866
- #: productvendor\classes\front\signup\class-vendor-signup.php:118
867
- msgid "You must accept the terms and conditions to become a vendor."
868
- msgstr "Devi accettare i termini e le condizioni per diventare un venditore."
869
-
870
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:39
871
- msgid "PayPal Adaptive Payments"
872
- msgstr "Pagamenti adattivi PayPal"
873
-
874
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:115
875
- #, php-format
876
- msgid "Something went wrong. Response from PayPal invalidated this order. Status: %s."
877
- msgstr "Qualcosa è andato storto. La risposta da PayPal invalida questo ordine. Stato: % s."
878
-
879
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:120
880
- msgid "IPN payment completed"
881
- msgstr "Pagamento IPN completato"
882
-
883
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:142
884
- msgid "Enable PayPal Adaptive Payments"
885
- msgstr "Abilita i pagamenti adattativi PayPal"
886
-
887
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:148
888
- msgid "Method Title"
889
- msgstr "Metodo titolo"
890
-
891
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:149
892
- msgid "This controls the title which the user sees during checkout."
893
- msgstr "Questo controlla il titolo che l'utente vede durante il checkout."
894
-
895
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:150
896
- msgid "PayPal"
897
- msgstr "PayPal"
898
-
899
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:155
900
- msgid "Description"
901
- msgstr "Descrizione"
902
-
903
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:156
904
- msgid "This controls the description which the user sees during checkout."
905
- msgstr "Questo controlla la descrizione che l'utente vede durante il checkout"
906
-
907
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:157
908
- msgid "Pay via PayPal!"
909
- msgstr "Paga tramite PayPal!"
910
-
911
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:168
912
- msgid "Live Credentials"
913
- msgstr "Credenziali Live"
914
-
915
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:170
916
- #, php-format
917
- msgid "You must have an <a href=\"%s\">Application ID</a> to process live transactions. You do not need one for testing in Sandbox mode."
918
- msgstr "Devi avere un <a href=\"%s\">Application ID</a> per processare le transazioni inserite. Tu non ne hai bisogno per il testing nel Sandbox mode."
919
-
920
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:175
921
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:209
922
- msgid "PayPal Email"
923
- msgstr "Email PayPal"
924
-
925
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:176
926
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:210
927
- msgid "The email address main payments should go to."
928
- msgstr "I pagamenti dell'indirizzo email principale dovrebbero andare a:"
929
-
930
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:181
931
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:215
932
- msgid "API Username"
933
- msgstr "Username API (API Username)"
934
-
935
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:186
936
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:220
937
- msgid "API Password"
938
- msgstr "Password API (API Password)"
939
-
940
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:191
941
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:225
942
- msgid "API Signature"
943
- msgstr "Firma API (API Signature)"
944
-
945
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:196
946
- msgid "Application ID"
947
- msgstr "ID Richiesta (Application ID)"
948
-
949
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:198
950
- msgid "Only required when doing live transactions."
951
- msgstr "Richiesto solo quando si effettuano delle transazioni."
952
-
953
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:202
954
- msgid "Sandbox Credentials"
955
- msgstr "Credenziali Sandbox"
956
-
957
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:204
958
- #, php-format
959
- msgid "You can signup for a sandbox developer account <a href=\"%s\">here</a>. You need a developer account if you want to enable Sandbox mode for testing."
960
- msgstr "Puoi iscriverti ad un account sandbox sviluppatore <a href=\"%s\">qui</a>. Tu hai bisogno di un account sviluppatore se tu vuoi abilitare il Sandbox mode per i test."
961
-
962
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:236
963
- msgid "Misc. Settings"
964
- msgstr "Impostazioni varie"
965
-
966
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:241
967
- msgid "Enable PayPal Sandbox mode"
968
- msgstr "Attiva la modalità PayPal Sandbox"
969
-
970
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:247
971
- msgid "Enable logging"
972
- msgstr "Abilitare il logging"
973
-
974
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:264
975
- msgid "The PayPal Adaptive Payments gateway can instantly pay your vendors their due commission (if enabled). Also used to mass pay vendors on a schedule / manual method (if enabled)."
976
- msgstr "Il gateway dei pagamenti adattativi PayPal può instantaneamente pagare i tuoi venditori le loro commissioni dovute (se abilitato). Utilizzato anche per pagare in massa i venditori su un programma / metodo manuale (se abilitato)."
977
-
978
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:265
979
- #, php-format
980
- msgid "<b>Important:</b> Unless you're using the <a href=\"%s\">beta version of TRS2</a>, all shipping costs will be given to the shop admin. Vendors will not receive shipping costs."
981
- msgstr "<b>Importante:</b> A meno che non stai usando il<a href=\"%s\">beta version of TRS2</a>, tutti i costi di spedizione saranno dati al negozio dell'amministrazione. I venditori non riceveranno i costi di spedizione."
982
-
983
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:275
984
- msgid "Gateway Disabled"
985
- msgstr "Gateway disabilitato"
986
-
987
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:275
988
- #, php-format
989
- msgid "%s does not support your store currency."
990
- msgstr "%s non supporta la valuta del tuo negozio."
991
-
992
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:361
993
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:469
994
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:147
995
- #, php-format
996
- msgid "Error: %s"
997
- msgstr "Errore: %s"
998
-
999
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:369
1000
- #: productvendor\classes\gateways\paypal_advpayments\paypal_ap.php:370
1001
- #, php-format
1002
- msgid "Error ID: %s. %s"
1003
- msgstr "Errore ID: %s. %s"
1004
-
1005
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:113
1006
- msgid "No vendors found to pay. Maybe they haven't set a PayPal address?"
1007
- msgstr "Nessun venditore trovato per pagare. Forse non hanno impostato un indirizzo di PayPal?"
1008
-
1009
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:160
1010
- msgid "All due commission has been paid for."
1011
- msgstr "Tutte le commissioni dovute sono state pagate."
1012
-
1013
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:166
1014
- msgid "All due commission has been paid for, but I could not clear it from their profiles due to an internal error. Commission will still be listed as due. Please manually mark the commission as paid from the Commissions page."
1015
- msgstr "Tutta la commissione dovuta è stata pagata, ma non riuscivo a cancellarlo dai loro profili a causa di un errore interno. La commissione sarà ancora elencata come dovuta. Per favore contrassegna manualmente la commissione come pagato dalla pagina di commissioni."
1016
-
1017
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:200
1018
- msgid "WooCommerce: Mass payments for vendors update"
1019
- msgstr "WooCommerce: I pagamenti di massa per aggiornamento venditori"
1020
-
1021
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:202
1022
- msgid "Hello! A payment was just triggered to mass pay all vendors their due commission."
1023
- msgstr "Ciao! Un pagamento è stato appena attivato per pagare in massa a tutti i venditori la loro commissione dovuta."
1024
-
1025
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:203
1026
- #, php-format
1027
- msgid "Payment status: %s."
1028
- msgstr "Stato pagamento: %s."
1029
-
1030
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:204
1031
- #, php-format
1032
- msgid "Payment message: %s."
1033
- msgstr "Messaggio pagamento: %s."
1034
-
1035
- #: productvendor\classes\gateways\paypal_masspay\class-paypal-masspay.php:207
1036
- #, php-format
1037
- msgid "Payment total: %s."
1038
- msgstr "Totale pagamento: % s."
1039
-
1040
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:137
1041
- msgid "The plugin has been updated, but could not be reactivated. Please reactivate it manually."
1042
- msgstr "Il plugin è stato aggiornato, ma potrebbe non essere tato riattivato. Si prega di riattivarlo manualmente."
1043
-
1044
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:138
1045
- msgid "Plugin reactivated successfully."
1046
- msgstr "Plugin riattivato con successo."
1047
-
1048
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:229
1049
- msgid "MGates.me Updates"
1050
- msgstr "Aggiornamenti MGates.me"
1051
-
1052
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:259
1053
- msgid "MGates.me Plugin Updater"
1054
- msgstr "MGates.me Plugin Updater"
1055
-
1056
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:270
1057
- msgid "Enter your license key to automatically receive updates."
1058
- msgstr "Inserisci la tua chiave di licenza per ricevere aggiornamenti automaticamente."
1059
-
1060
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:295
1061
- #: productvendor\views\dashboard\settings\settings.php:46
1062
- msgid "Save"
1063
- msgstr "Salva"
1064
-
1065
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:296
1066
- msgid "Check for updates <b>now</b>"
1067
- msgstr "Cerca aggiornamenti <b>ora</b>"
1068
-
1069
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:323
1070
- #, php-format
1071
- msgid "<b style=\"color: #468847;\">Key deactivated.</b> License key for <i>%s</i> has been <b>deactivated</b>."
1072
- msgstr "<b style=\"color: #468847;\">Chiave disattivata.</b>La chiave della licenza per<i>%s</i> è stata <b>disattivata</b>."
1073
-
1074
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:325
1075
- #, php-format
1076
- msgid "<b style=\"color: #B94A48;\">Error.</b> License key for <i>%s</i> could not be deactivated."
1077
- msgstr "<b style=\"color: #B94A48;\">Errore.</b> La chiave della licenza per<i>%s</i> potrebbe non essere disattivata."
1078
-
1079
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:333
1080
- #, php-format
1081
- msgid "<b style=\"color: #468847;\">Key activated.</b> License key for <i>%s</i> has been <b>activated</b>."
1082
- msgstr "<b style=\"color: #468847;\">Chiave attivata.</b> La chiave della licenza per <i>%s</i>è stata<b>attivata</b>."
1083
-
1084
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:335
1085
- #, php-format
1086
- msgid "<b style=\"color: #B94A48;\">Error.</b> License key for <i>%s</i> is invalid."
1087
- msgstr "<b style=\"color: #B94A48;\">Errore.</b> La chiave della licenza per<i>%s</i> non è valida."
1088
-
1089
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:370
1090
- msgid "Enable MGates.me Plugin Updates."
1091
- msgstr "Abilita Aggiornamenti MGates.me Plugin"
1092
-
1093
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:372
1094
- #, php-format
1095
- msgid "<a href=\"%1$s\">Add your license keys</a> to enable automatic plugin updates."
1096
- msgstr "<a href=\"%1$s\">Aggiungi le tue chiavi licenza</a> per abilitare gli aggiornamenti automatici del plugin."
1097
-
1098
- #: productvendor\classes\mg-includes\class-mgates-plugin-updater.php:379
1099
- msgid "Hide This Message"
1100
- msgstr "Nascondi questo messaggio"
1101
-
1102
- #: productvendor\views\dashboard\denied.php:5
1103
- msgid "Your account has not yet been approved to become a vendor."
1104
- msgstr "Il tuo account non è stato ancora approvato per diventare un venditore."
1105
-
1106
- #: productvendor\views\dashboard\denied.php:9
1107
- msgid "Your account is not vendor capable."
1108
- msgstr "Il tuo account non è un account venditore."
1109
-
1110
- #: productvendor\views\dashboard\denied.php:42
1111
- msgid "Submit"
1112
- msgstr "Invia"
1113
-
1114
- #: productvendor\views\dashboard\links.php:1
1115
- msgid "Control Center"
1116
- msgstr "Centro di controllo"
1117
-
1118
- #: productvendor\views\dashboard\links.php:3
1119
- msgid "My shop"
1120
- msgstr "Il mio negozio"
1121
-
1122
- #: productvendor\views\dashboard\links.php:7
1123
- msgid "My settings"
1124
- msgstr "Le mie impostazioni"
1125
-
1126
- #: productvendor\views\dashboard\links.php:13
1127
- msgid "Submit a product"
1128
- msgstr "Invia un prodotto"
1129
-
1130
- #: productvendor\views\dashboard\reports.php:1
1131
- msgid "Sales Report"
1132
- msgstr "Rapporto Vendite\t"
1133
-
1134
- #: productvendor\views\dashboard\reports.php:20
1135
- msgid "Rate"
1136
- msgstr "Tasso"
1137
-
1138
- #: productvendor\views\dashboard\reports.php:43
1139
- msgid "Show Orders"
1140
- msgstr "Mostra ordini"
1141
-
1142
- #: productvendor\views\dashboard\reports.php:51
1143
- msgid "Totals"
1144
- msgstr "Totali"
1145
-
1146
- #: productvendor\views\dashboard\reports.php:64
1147
- msgid "You have no sales during this period."
1148
- msgstr "Non hai vendite in questo periodo."
1149
-
1150
- #: productvendor\views\dashboard\reports.php:72
1151
- msgid "You haven't made any sales yet."
1152
- msgstr "Non hai venduto ancora niente."
1153
-
1154
- #: productvendor\views\dashboard\settings\paypal-email-form.php:2
1155
- msgid "PayPal Address"
1156
- msgstr "Indirizzo PayPal"
1157
-
1158
- #: productvendor\views\dashboard\settings\paypal-email-form.php:3
1159
- msgid "Your PayPal address is used to send you your commission."
1160
- msgstr "Il tuo indirizzo PayPal è usato per inviare a te la tua commissione."
1161
-
1162
- #: productvendor\views\dashboard\settings\seller-info.php:3
1163
- msgid "This is displayed on each of your products."
1164
- msgstr "Questo è mostrato su tutti i tuoi prodotti."
1165
-
1166
- #: productvendor\views\dashboard\settings\shop-description.php:2
1167
- msgid "Shop Description"
1168
- msgstr "Descrizione negozio"
1169
-
1170
- #: productvendor\views\dashboard\settings\shop-description.php:3
1171
- #, php-format
1172
- msgid "This is displayed on your <a href=\"%s\">shop page</a>."
1173
- msgstr "Questo è mostrato sulla tua <a href=\"%s\">pagina del negozio</a>."
1174
-
1175
- #: productvendor\views\dashboard\settings\shop-name.php:2
1176
- msgid "Shop Name"
1177
- msgstr "Nome negozio"
1178
-
1179
- #: productvendor\views\dashboard\settings\shop-name.php:3
1180
- msgid "Your shop name is public and must be unique."
1181
- msgstr "Il nome del tuo negozio è pubblico e deve essere unico."
1182
-
1183
- #: productvendor\views\emails\application-status.php:5
1184
- #, php-format
1185
- msgid "Hi there. This is a notification about a vendor application on %s."
1186
- msgstr "Ehilà. Questa è una notifica relativa ad una richiesta del venditore su % s."
1187
-
1188
- #: productvendor\views\emails\application-status.php:8
1189
- #, php-format
1190
- msgid "Application status: %s"
1191
- msgstr "Stato richiesta: %s"
1192
-
1193
- #: productvendor\views\emails\application-status.php:9
1194
- #, php-format
1195
- msgid "Applicant username: %s"
1196
- msgstr "Nome utente richiedente: %s"
1197
-
1198
- #: productvendor\views\emails\new-product.php:5
1199
- #, php-format
1200
- msgid "Hi there. This is a notification about a new product on %s."
1201
- msgstr "Ehilà. Questa è una notifica di un nuovo prodotto su %s."
1202
-
1203
- #: productvendor\views\emails\new-product.php:8
1204
- #, php-format
1205
- msgid "Product title: %s"
1206
- msgstr "Titolo prodotto: %s"
1207
-
1208
- #: productvendor\views\emails\new-product.php:9
1209
- #, php-format
1210
- msgid "Submitted by: %s"
1211
- msgstr "Inviato da: %s"
1212
-
1213
- #: productvendor\views\emails\new-product.php:10
1214
- #, php-format
1215
- msgid "Edit product: %s"
1216
- msgstr "Modifica prodotto: %s"
1217
-
1218
- #: productvendor\views\orders\csv-export.php:6
1219
- msgid "Export orders"
1220
- msgstr "Esporta ordini"
1221
-
1222
- #: productvendor\views\orders\orders.php:82
1223
- #, php-format
1224
- msgid "Comments (%s)"
1225
- msgstr "Commenti (%s)"
1226
-
1227
- #: productvendor\views\orders\table-body.php:25
1228
- #, php-format
1229
- msgid "Quantity: %d"
1230
- msgstr "Quantità: %d"
1231
-
1232
- #: productvendor\views\orders\comments\add-new-comment.php:10
1233
- msgid "Add comment"
1234
- msgstr "Aggiungi commento"
1235
-
1236
- #: productvendor\views\orders\comments\existing-comments.php:9
1237
- #, php-format
1238
- msgid "added %s ago"
1239
- msgstr "Aggiunto %s giorni fà"
1240
-
1241
- #: productvendor\views\orders\customer-note\customer-note.php:4
1242
- msgid "Customer note"
1243
- msgstr "Nota del cliente"
1244
-
1245
- #: productvendor\views\orders\customer-note\customer-note.php:8
1246
- msgid "No customer note."
1247
- msgstr "Nessuna nota del cliente."
1248
-
1249
- #: productvendor\views\orders\shipping\shipping-form.php:46
1250
- msgid "Provider:"
1251
- msgstr "Provider:"
1252
-
1253
- #: productvendor\views\orders\shipping\shipping-form.php:48
1254
- msgid "Custom Provider"
1255
- msgstr "Provider personalizzato"
1256
-
1257
- #: productvendor\views\orders\shipping\shipping-form.php:68
1258
- msgid "Provider Name:"
1259
- msgstr "Nome provider:"
1260
-
1261
- #: productvendor\views\orders\shipping\shipping-form.php:76
1262
- msgid "Tracking number:"
1263
- msgstr "Numero identificativo (Tracking number):"
1264
-
1265
- #: productvendor\views\orders\shipping\shipping-form.php:84
1266
- msgid "Tracking link:"
1267
- msgstr "Link identificativo (Tracking link):"
1268
-
1269
- #: productvendor\views\orders\shipping\shipping-form.php:93
1270
- msgid "Date shipped:"
1271
- msgstr "Data di spedizione:"
1272
-
1273
- #: productvendor\views\orders\shipping\shipping-form.php:101
1274
- msgid "Preview:"
1275
- msgstr "Anteprima:"
1276
-
1277
- #: productvendor\views\orders\shipping\shipping-form.php:101
1278
- msgid "Click here to track your shipment"
1279
- msgstr "Clicca qui per rilevare la tua spedizione"
1280
-
1281
- #: productvendor\views\orders\shipping\shipping-form.php:109
1282
- msgid "Update tracking number"
1283
- msgstr "Aggiorna numero identificativo (Tracking link)"
1284
-
1285
- #: productvendor\views\orders\shipping\shipping-form.php:110
1286
- msgid "Mark as shipped"
1287
- msgstr "Segna come spedito"
1288
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/languages/wcvendors-de_AT.mo DELETED
Binary file
WCVendors/languages/wcvendors-de_AT.po DELETED
@@ -1,1577 +0,0 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: WC Vendors\n"
4
- "POT-Creation-Date: 2015-01-08 14:31+1000\n"
5
- "PO-Revision-Date: 2015-01-27 15:01+0100\n"
6
- "Last-Translator: \n"
7
- "Language-Team: WC Vendors <support@wcvendors.com>\n"
8
- "MIME-Version: 1.0\n"
9
- "Content-Type: text/plain; charset=UTF-8\n"
10
- "Content-Transfer-Encoding: 8bit\n"
11
- "X-Generator: Poedit 1.7.3\n"
12
- "X-Poedit-Basepath: .\n"
13
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
14
- "X-Poedit-SourceCharset: UTF-8\n"
15
- "X-Poedit-KeywordsList: __;_e\n"
16
- "Language: de_DE\n"
17
- "X-Poedit-SearchPath-0: .\n"
18
- "X-Poedit-SearchPath-1: ..\n"
19
-
20
- #: ../classes/admin/class-admin-page.php:28
21
- msgid "Vendors shipped"
22
- msgstr "vom Verk&auml;ufer versandt"
23
-
24
- #: ../classes/admin/class-admin-page.php:51
25
- msgid "Vendors Shipped"
26
- msgstr "vom Verk&auml;ufer versandt"
27
-
28
- #: ../classes/admin/class-admin-page.php:73
29
- #: ../classes/admin/class-admin-page.php:133
30
- #: ../classes/admin/class-admin-reports.php:345
31
- #: ../classes/admin/class-product-meta.php:148
32
- #: ../classes/admin/class-product-meta.php:164
33
- #: ../views/dashboard/reports.php:19
34
- msgid "Commission"
35
- msgstr "Provision"
36
-
37
- #: ../classes/admin/class-admin-page.php:252
38
- #: ../classes/admin/class-admin-reports.php:175
39
- #: ../views/dashboard/reports.php:17 ../views/emails/admin-new-order.php:22
40
- #: ../views/emails/notify-vendor-shipped.php:22
41
- msgid "Product"
42
- msgstr "Produkt"
43
-
44
- #: ../classes/admin/class-admin-page.php:253
45
- msgid "Order ID"
46
- msgstr "Bestell-Nr."
47
-
48
- #: ../classes/admin/class-admin-page.php:254
49
- #: ../classes/admin/class-admin-reports.php:176
50
- #: ../classes/admin/class-product-meta.php:44
51
- #: ../classes/admin/class-product-meta.php:184
52
- #: ../classes/admin/class-product-meta.php:220
53
- msgid "Vendor"
54
- msgstr "Verk&auml;ufer"
55
-
56
- #: ../classes/admin/class-admin-page.php:255
57
- #: ../classes/admin/class-admin-reports.php:177
58
- #: ../classes/admin/class-admin-reports.php:350
59
- #: ../classes/admin/class-admin-reports.php:374
60
- #: ../views/dashboard/orders.php:25
61
- msgid "Total"
62
- msgstr "Summe"
63
-
64
- #: ../classes/admin/class-admin-page.php:256
65
- #: ../classes/admin/class-admin-reports.php:179
66
- msgid "Status"
67
- msgstr "Status"
68
-
69
- #: ../classes/admin/class-admin-page.php:257
70
- #: ../classes/front/orders/class-orders.php:216
71
- #: ../views/dashboard/orders.php:26
72
- msgid "Date"
73
- msgstr "Datum"
74
-
75
- #: ../classes/admin/class-admin-page.php:294
76
- msgid "Mark paid"
77
- msgstr "Als bezahlt markieren"
78
-
79
- #: ../classes/admin/class-admin-page.php:295
80
- msgid "Mark due"
81
- msgstr "Als noch offen kennzeichnen"
82
-
83
- #: ../classes/admin/class-admin-page.php:296
84
- msgid "Mark reversed"
85
- msgstr "Als storniert kennzeichnen"
86
-
87
- #: ../classes/admin/class-admin-page.php:313
88
- msgid "Filter"
89
- msgstr "Filter"
90
-
91
- #: ../classes/admin/class-admin-page.php:347
92
- msgid "Show all dates"
93
- msgstr "Zeige alle Daten"
94
-
95
- #: ../classes/admin/class-admin-page.php:360
96
- #, php-format
97
- msgid "%1$s %2$d"
98
- msgstr "%1$s %2$d"
99
-
100
- #: ../classes/admin/class-admin-page.php:386
101
- msgid "Commission marked paid."
102
- msgstr "Provision als ausgezahlt kennzeichnen"
103
-
104
- #: ../classes/admin/class-admin-page.php:393
105
- msgid "Commission marked due."
106
- msgstr "Als Provision noch offen kennzeichnen"
107
-
108
- #: ../classes/admin/class-admin-page.php:400
109
- msgid "Commission marked reversed."
110
- msgstr "Provision als storniert kennzeichnen"
111
-
112
- #: ../classes/admin/class-admin-reports.php:41
113
- #: ../classes/admin/class-admin-users.php:349
114
- msgid "WC Vendors"
115
- msgstr "WC Vendors"
116
-
117
- #: ../classes/admin/class-admin-reports.php:44
118
- msgid "Overview"
119
- msgstr "Übersicht"
120
-
121
- #: ../classes/admin/class-admin-reports.php:50
122
- msgid "Commission by vendor"
123
- msgstr "Provision nach Verk&auml;ufer"
124
-
125
- #: ../classes/admin/class-admin-reports.php:56
126
- msgid "Commission by product"
127
- msgstr "Provision nach Produkt"
128
-
129
- #: ../classes/admin/class-admin-reports.php:115
130
- #: ../views/dashboard/date-picker.php:3
131
- msgid "From:"
132
- msgstr "Von:"
133
-
134
- #: ../classes/admin/class-admin-reports.php:119
135
- #: ../views/dashboard/date-picker.php:7
136
- msgid "To:"
137
- msgstr "An:"
138
-
139
- #: ../classes/admin/class-admin-reports.php:122
140
- #: ../classes/admin/class-admin-reports.php:283
141
- #: ../views/dashboard/date-picker.php:12
142
- msgid "Show"
143
- msgstr "Zeige"
144
-
145
- #: ../classes/admin/class-admin-reports.php:133
146
- msgid "Total paid in range"
147
- msgstr "Gesamt ausgezahlt im Zeitraum"
148
-
149
- #: ../classes/admin/class-admin-reports.php:136
150
- #: ../classes/admin/class-admin-reports.php:143
151
- #: ../classes/admin/class-admin-reports.php:150
152
- msgid "n/a"
153
- msgstr "n/a"
154
-
155
- #: ../classes/admin/class-admin-reports.php:140
156
- msgid "Total due in range"
157
- msgstr "Gesamt offen im Zeitraum"
158
-
159
- #: ../classes/admin/class-admin-reports.php:147
160
- msgid "Total reversed in range"
161
- msgstr "Gesamt storniert im Zeitraum"
162
-
163
- #: ../classes/admin/class-admin-reports.php:157
164
- msgid "Recent Commission"
165
- msgstr "Neueste Provision"
166
-
167
- #: ../classes/admin/class-admin-reports.php:174
168
- #: ../classes/front/orders/class-orders.php:208
169
- #: ../views/dashboard/orders.php:23
170
- msgid "Order"
171
- msgstr "Bestellung"
172
-
173
- #: ../classes/admin/class-admin-reports.php:178
174
- msgid "Date &amp; Time"
175
- msgstr "Datum &amp; Uhrzeit"
176
-
177
- #: ../classes/admin/class-admin-reports.php:187
178
- msgid "N/A"
179
- msgstr "N/A"
180
-
181
- #: ../classes/admin/class-admin-reports.php:192
182
- msgid "D j M Y \\a\\t h:ia"
183
- msgstr "D, j.m.Y \\u\\m H:i \\U\\h\\r"
184
-
185
- #: ../classes/admin/class-admin-reports.php:201
186
- msgid "No commission yet"
187
- msgstr "Keine Provision f&auml;llig"
188
-
189
- #: ../classes/admin/class-admin-reports.php:232
190
- msgid "Show:"
191
- msgstr "Zeige:"
192
-
193
- #: ../classes/admin/class-admin-reports.php:243
194
- msgid "Year"
195
- msgstr "Jahr"
196
-
197
- #: ../classes/admin/class-admin-reports.php:276
198
- msgid "Select a vendor&hellip;"
199
- msgstr "Einen Verk&auml;ufer w&auml;hlen"
200
-
201
- #: ../classes/admin/class-admin-reports.php:344
202
- msgid "Month"
203
- msgstr "Monat"
204
-
205
- #: ../classes/admin/class-admin-reports.php:346
206
- msgid "Tax"
207
- msgstr "Steuer"
208
-
209
- #: ../classes/admin/class-admin-reports.php:347
210
- #: ../views/dashboard/orders.php:24 ../views/orders/orders.php:113
211
- msgid "Shipping"
212
- msgstr "Versand"
213
-
214
- #: ../classes/admin/class-admin-reports.php:348
215
- msgid "Reversed"
216
- msgstr "Storniert"
217
-
218
- #: ../classes/admin/class-admin-reports.php:349
219
- msgid "Paid"
220
- msgstr "Bezahlt"
221
-
222
- #: ../classes/admin/class-admin-users.php:359
223
- msgid "Enable HTML for the shop description"
224
- msgstr "HTML f&uuml;r die Shop-Beschreibung erlauben"
225
-
226
- #: ../classes/admin/class-admin-users.php:365
227
- msgid "Shop name"
228
- msgstr "Shop-Name"
229
-
230
- #: ../classes/admin/class-admin-users.php:372
231
- msgid "PayPal E-mail"
232
- msgstr "PayPal E-Mail"
233
-
234
- #: ../classes/admin/class-admin-users.php:373
235
- msgid "required"
236
- msgstr "notwendig"
237
-
238
- #: ../classes/admin/class-admin-users.php:380
239
- msgid "Commission rate"
240
- msgstr "Provisionsrate"
241
-
242
- #: ../classes/admin/class-admin-users.php:381
243
- #: ../classes/admin/class-product-meta.php:171
244
- msgid "Leave blank for default"
245
- msgstr "Leer lassen für Voreinstellung"
246
-
247
- #: ../classes/admin/class-admin-users.php:387
248
- #: ../classes/front/class-vendor-shop.php:103
249
- #: ../views/dashboard/settings/seller-info.php:3
250
- msgid "Seller info"
251
- msgstr "Verk&auml;ufer-Info"
252
-
253
- #: ../classes/admin/class-admin-users.php:392
254
- msgid "Shop description"
255
- msgstr "Shopbeschreibung"
256
-
257
- #: ../classes/admin/class-vendor-applicants.php:26
258
- msgid "Approve"
259
- msgstr "Freischalten"
260
-
261
- #: ../classes/admin/class-vendor-applicants.php:27
262
- msgid "Deny"
263
- msgstr "Ablehnen"
264
-
265
- #: ../classes/admin/class-vendor-applicants.php:71
266
- msgid "Vendor has been <b>denied</b>."
267
- msgstr "Verk&auml;ufer wurde <b>abgelehnt</b>"
268
-
269
- #: ../classes/admin/class-vendor-applicants.php:82
270
- msgid "Vendor has been <b>approved</b>."
271
- msgstr "Verk&auml;ufer wurde <b>freigeschaltet</b>"
272
-
273
- #: ../classes/admin/class-vendor-applicants.php:96
274
- msgid "Pending Vendors"
275
- msgstr "Freizuschaltende Verk&auml;ufer"
276
-
277
- #: ../classes/admin/emails/class-emails.php:55
278
- #: ../classes/admin/emails/class-wc-approve-vendor.php:70
279
- msgid "pending"
280
- msgstr "in Bearbeitung"
281
-
282
- #: ../classes/admin/emails/class-emails.php:57
283
- msgid "approved"
284
- msgstr "freigeschaltet"
285
-
286
- #: ../classes/admin/emails/class-emails.php:59
287
- msgid "denied"
288
- msgstr "abgelehnt"
289
-
290
- #: ../classes/admin/emails/class-emails.php:87
291
- #: ../classes/front/class-vendor-cart.php:60
292
- #: ../classes/front/class-vendor-shop.php:178
293
- msgid "Sold by: "
294
- msgstr "Verkauft von:"
295
-
296
- #: ../classes/admin/emails/class-wc-approve-vendor.php:28
297
- msgid "Vendor Application"
298
- msgstr "Bewerbung als Verk&auml;ufer"
299
-
300
- #: ../classes/admin/emails/class-wc-approve-vendor.php:29
301
- msgid "Vendor application will either be approved, denied, or pending."
302
- msgstr ""
303
- "Die Bewerbung als Verk&auml;ufer wird entweder genehmigt, abgelehnt oder auf "
304
- "\"\"in Bearbeitung gesetzt."
305
-
306
- #: ../classes/admin/emails/class-wc-approve-vendor.php:31
307
- msgid "Application {status}"
308
- msgstr "Bewerbung {status}"
309
-
310
- #: ../classes/admin/emails/class-wc-approve-vendor.php:32
311
- msgid "[{blogname}] Your vendor application has been {status}"
312
- msgstr "[{blogname}] Ihre Bewerbung als Verk&auml;ufer wurde {status}"
313
-
314
- #: ../classes/admin/emails/class-wc-approve-vendor.php:123
315
- #: ../classes/admin/emails/class-wc-notify-admin.php:129
316
- #: ../classes/admin/emails/class-wc-notify-shipped.php:163
317
- #: ../classes/admin/emails/class-wc-notify-vendor.php:230
318
- msgid "Enable/Disable"
319
- msgstr "Aktivieren/Deaktivieren"
320
-
321
- #: ../classes/admin/emails/class-wc-approve-vendor.php:125
322
- #: ../classes/admin/emails/class-wc-notify-admin.php:131
323
- #: ../classes/admin/emails/class-wc-notify-shipped.php:165
324
- #: ../classes/admin/emails/class-wc-notify-vendor.php:232
325
- msgid "Enable this email notification"
326
- msgstr "E-Mail-Benachrichtigung aktivieren"
327
-
328
- #: ../classes/admin/emails/class-wc-approve-vendor.php:129
329
- #: ../classes/admin/emails/class-wc-notify-admin.php:135
330
- msgid "Recipient(s)"
331
- msgstr "Empf&auml;nger"
332
-
333
- #: ../classes/admin/emails/class-wc-approve-vendor.php:131
334
- #: ../classes/admin/emails/class-wc-notify-admin.php:137
335
- #, php-format
336
- msgid ""
337
- "Enter recipients (comma separated) for this email. Defaults to <code>%s</"
338
- "code>."
339
- msgstr ""
340
- "Empf&auml;nger (mit Komma getrennt) eingeben. Standardm&auml;&szlig;ig "
341
- "<code>%s</code>"
342
-
343
- #: ../classes/admin/emails/class-wc-approve-vendor.php:136
344
- #: ../classes/admin/emails/class-wc-notify-admin.php:142
345
- #: ../classes/admin/emails/class-wc-notify-shipped.php:169
346
- #: ../classes/admin/emails/class-wc-notify-vendor.php:236
347
- msgid "Subject"
348
- msgstr "Betreff"
349
-
350
- #: ../classes/admin/emails/class-wc-approve-vendor.php:138
351
- #: ../classes/admin/emails/class-wc-notify-admin.php:144
352
- #: ../classes/admin/emails/class-wc-notify-shipped.php:171
353
- #: ../classes/admin/emails/class-wc-notify-vendor.php:238
354
- #, php-format
355
- msgid ""
356
- "This controls the email subject line. Leave blank to use the default "
357
- "subject: <code>%s</code>."
358
- msgstr ""
359
- "Dies bestimmt den E-Mail-Betreff. Leer lassen für Standard-Betreff: <code>"
360
- "%s</code>"
361
-
362
- #: ../classes/admin/emails/class-wc-approve-vendor.php:143
363
- #: ../classes/admin/emails/class-wc-notify-admin.php:149
364
- #: ../classes/admin/emails/class-wc-notify-shipped.php:176
365
- #: ../classes/admin/emails/class-wc-notify-vendor.php:243
366
- msgid "Email Heading"
367
- msgstr "E-Mail-Header (Kopfzeile)"
368
-
369
- #: ../classes/admin/emails/class-wc-approve-vendor.php:145
370
- #: ../classes/admin/emails/class-wc-notify-admin.php:151
371
- #: ../classes/admin/emails/class-wc-notify-shipped.php:178
372
- #: ../classes/admin/emails/class-wc-notify-vendor.php:245
373
- #, php-format
374
- msgid ""
375
- "This controls the main heading contained within the email notification. "
376
- "Leave blank to use the default heading: <code>%s</code>."
377
- msgstr ""
378
- "Dies bestimmt den Header-Abschnitt (Kopfzeile) der Benachrichtigungs-E-Mail."
379
- "Leer lassen f&uuml;r den Standard-Inhalt: <code>%s</code>."
380
-
381
- #: ../classes/admin/emails/class-wc-approve-vendor.php:150
382
- #: ../classes/admin/emails/class-wc-notify-admin.php:156
383
- #: ../classes/admin/emails/class-wc-notify-shipped.php:183
384
- #: ../classes/admin/emails/class-wc-notify-vendor.php:250
385
- msgid "Email type"
386
- msgstr "E-Mail-Typ"
387
-
388
- #: ../classes/admin/emails/class-wc-approve-vendor.php:152
389
- #: ../classes/admin/emails/class-wc-notify-admin.php:158
390
- #: ../classes/admin/emails/class-wc-notify-shipped.php:185
391
- #: ../classes/admin/emails/class-wc-notify-vendor.php:252
392
- msgid "Choose which format of email to send."
393
- msgstr "W&auml;hlen Sie, in welchem Format die E-Mail gesendet werden soll."
394
-
395
- #: ../classes/admin/emails/class-wc-approve-vendor.php:156
396
- #: ../classes/admin/emails/class-wc-notify-admin.php:162
397
- #: ../classes/admin/emails/class-wc-notify-shipped.php:189
398
- #: ../classes/admin/emails/class-wc-notify-vendor.php:256
399
- msgid "Plain text"
400
- msgstr "Klartext"
401
-
402
- #: ../classes/admin/emails/class-wc-approve-vendor.php:157
403
- #: ../classes/admin/emails/class-wc-notify-admin.php:163
404
- #: ../classes/admin/emails/class-wc-notify-shipped.php:190
405
- #: ../classes/admin/emails/class-wc-notify-vendor.php:257
406
- msgid "HTML"
407
- msgstr "HTML"
408
-
409
- #: ../classes/admin/emails/class-wc-approve-vendor.php:158
410
- #: ../classes/admin/emails/class-wc-notify-admin.php:164
411
- #: ../classes/admin/emails/class-wc-notify-shipped.php:191
412
- #: ../classes/admin/emails/class-wc-notify-vendor.php:258
413
- msgid "Multipart"
414
- msgstr "Multipart (Mehrteiler)"
415
-
416
- #: ../classes/admin/emails/class-wc-notify-admin.php:28
417
- msgid "New Vendor Product"
418
- msgstr "Neues Produkt"
419
-
420
- #: ../classes/admin/emails/class-wc-notify-admin.php:29
421
- msgid "New order emails are sent when a new product is submitted by a vendor"
422
- msgstr ""
423
- "Neue Bestell-E-Mails werden gesendet, wenn eine Bestellung eingegangen ist / "
424
- "von einem Kunden bezahlt wurde"
425
-
426
- #: ../classes/admin/emails/class-wc-notify-admin.php:31
427
- msgid "New product submitted: {product_name}"
428
- msgstr "Neues Produkt erstellt {product_name}"
429
-
430
- #: ../classes/admin/emails/class-wc-notify-admin.php:32
431
- msgid "[{blogname}] New product submitted by {vendor_name} - {product_name}"
432
- msgstr "[{blogname}] Neues Produkt von {vendor_name} erstellt - {product_name}"
433
-
434
- #: ../classes/admin/emails/class-wc-notify-shipped.php:28
435
- msgid "Vendor has shipped"
436
- msgstr "Verk&auml;ufer hat versandt"
437
-
438
- #: ../classes/admin/emails/class-wc-notify-shipped.php:29
439
- msgid ""
440
- "An email is sent when a vendor has marked one of their orders as shipped."
441
- msgstr ""
442
- "Eine E-Mail wird verschickt, wenn ein Verk&auml;ufer eine seiner "
443
- "Bestellungen als versandt markiert hat. "
444
-
445
- #: ../classes/admin/emails/class-wc-notify-shipped.php:31
446
- msgid "Your order has been shipped"
447
- msgstr "Ihre Bestellung wurde versandt"
448
-
449
- #: ../classes/admin/emails/class-wc-notify-shipped.php:32
450
- msgid ""
451
- "[{blogname}] Your order has been shipped ({order_number}) - {order_date}"
452
- msgstr ""
453
- "[{blogname}]Ihre Bestellung wurde versandt ({order_number}) - {order_date}"
454
-
455
- #: ../classes/admin/emails/class-wc-notify-shipped.php:112
456
- msgid "Subtotal:"
457
- msgstr "Zwischensumme:"
458
-
459
- #: ../classes/admin/emails/class-wc-notify-vendor.php:27
460
- msgid "Notify vendors"
461
- msgstr "Verk&auml;ufer benachrichtigen"
462
-
463
- #: ../classes/admin/emails/class-wc-notify-vendor.php:28
464
- msgid "New order emails are sent when an order is received/paid by a customer."
465
- msgstr ""
466
- "Neue Bestell-E-Mails werden gesendet, wenn eine Bestellung eingegangen ist / "
467
- "von einem Kunden bezahlt wurde."
468
-
469
- #: ../classes/admin/emails/class-wc-notify-vendor.php:30
470
- msgid "New customer order"
471
- msgstr "Neue Bestellung"
472
-
473
- #: ../classes/admin/emails/class-wc-notify-vendor.php:31
474
- msgid "[{blogname}] New customer order ({order_number}) - {order_date}"
475
- msgstr "[{blogname}] Neue Kundenbestellung ({order_number}) - {order_date}"
476
-
477
- #: ../classes/admin/emails/class-wc-notify-vendor.php:103
478
- msgid "Commission Subtotal:"
479
- msgstr "Zwischensumme Provisionen:"
480
-
481
- #: ../classes/admin/emails/class-wc-notify-vendor.php:110
482
- msgid "Shipping Subtotal:"
483
- msgstr "Zwischensumme Versand:"
484
-
485
- #: ../classes/admin/settings/classes/sf-class-format-options.php:211
486
- #: ../classes/admin/settings/classes/sf-class-settings.php:773
487
- msgid "Select a page..."
488
- msgstr "Wählen Sie eine Seite"
489
-
490
- #: ../classes/admin/settings/classes/sf-class-settings.php:153
491
- #: ../views/dashboard/settings/settings.php:1
492
- msgid "Settings"
493
- msgstr "Einstellungen"
494
-
495
- #: ../classes/admin/settings/classes/sf-class-settings.php:297
496
- msgid "Could not load settings at: "
497
- msgstr "Einstellungen konnten nicht geladen werden für:"
498
-
499
- #: ../classes/admin/settings/classes/sf-class-settings.php:297
500
- msgid "Error - WP Settings Framework"
501
- msgstr "Fehler - WP Settings Framework"
502
-
503
- #: ../classes/admin/settings/classes/sf-class-settings.php:363
504
- #: ../classes/front/dashboard/class-vendor-dashboard.php:96
505
- msgid "Settings saved."
506
- msgstr "Einstellungen gespeichert."
507
-
508
- #: ../classes/admin/settings/classes/sf-class-settings.php:479
509
- #, php-format
510
- msgid "Save %s changes"
511
- msgstr "&Auml;nderungen %s speichern"
512
-
513
- #: ../classes/admin/settings/sf-options.php:4
514
- msgid "General"
515
- msgstr "Allgemein"
516
-
517
- #: ../classes/admin/settings/sf-options.php:5
518
- msgid "General options"
519
- msgstr "Allgemeine Einstellugen"
520
-
521
- #: ../classes/admin/settings/sf-options.php:5
522
- #: ../classes/admin/settings/sf-options.php:45
523
- #: ../classes/admin/settings/sf-options.php:223
524
- msgid " "
525
- msgstr ""
526
-
527
- #: ../classes/admin/settings/sf-options.php:8
528
- msgid "Default commission (%)"
529
- msgstr "Standard-Provision (%)"
530
-
531
- #: ../classes/admin/settings/sf-options.php:9
532
- msgid ""
533
- "The default rate the vendor receives for each product. If a product has a "
534
- "commission rate already set, this value will be ignored for that product."
535
- msgstr ""
536
- "Die Standard-Provision, die ein Verk&auml;ufer für jedes Produkt erhält. "
537
- "Wenn ein Produkt bereits eine Provisions-Einstellung besitzt, überschreibt "
538
- "diese den hier festgelegten Standardwert."
539
-
540
- #: ../classes/admin/settings/sf-options.php:20
541
- msgid "Registration"
542
- msgstr "Registrierung"
543
-
544
- #: ../classes/admin/settings/sf-options.php:21
545
- msgid "Allow users or guests to apply to become a vendor"
546
- msgstr "Erlaube Benutzern oder G&auml;sten sich als Verk&auml;ufer zu bewerben"
547
-
548
- #: ../classes/admin/settings/sf-options.php:22
549
- msgid ""
550
- "This will show a checkbox on the My Account page's registration form asking "
551
- "if the user would like to apply to be a vendor. Also, on the Vendor "
552
- "Dashboard, users can apply to become a vendor."
553
- msgstr ""
554
- "Ist dies aktiviert, wird eine Checkbox auf der bei der Registration als "
555
- "neuer Benutzer angezeigt, mit der der Benutzer gefragt wird, ob er sich auch "
556
- "als Verk&auml;ufer bewerben m&ouml;chte.Bereits registrierte Benutzer k&ouml;"
557
- "nnen sich auch nachtr&auml;glich auf der Verk&auml;ufer-Seite als Verk&auml;"
558
- "ufer bewerben."
559
-
560
- #: ../classes/admin/settings/sf-options.php:29
561
- msgid "Approve vendor applications manually"
562
- msgstr "Verk&auml;ufer-Bewerbungen manuell akzeptieren"
563
-
564
- #: ../classes/admin/settings/sf-options.php:30
565
- msgid ""
566
- "With this unchecked, all vendor applications are automatically accepted. "
567
- "Otherwise, you must approve each manually."
568
- msgstr ""
569
- "Ist diese Option deaktiviert, werden alle Bewerbungen automatisch "
570
- "akzeptiert. Ansonsten muss jede Bewerbung manuell akzeptiert werden."
571
-
572
- #: ../classes/admin/settings/sf-options.php:37
573
- msgid "Taxes"
574
- msgstr "Steuern"
575
-
576
- #: ../classes/admin/settings/sf-options.php:38
577
- msgid "Give vendors any tax collected per-product"
578
- msgstr "Verkäufer erhalten alle eingenommenen Steuern pro Produkt"
579
-
580
- #: ../classes/admin/settings/sf-options.php:39
581
- msgid ""
582
- "The tax collected on a vendor's product will be given to him in its entirety"
583
- msgstr ""
584
- "Die Steuern, die für ein Produkt eingenommen wurden, werden dem Verk&auml;"
585
- "ufer zur G&auml;nze &uuml;berlassen"
586
-
587
- #: ../classes/admin/settings/sf-options.php:45
588
- msgid "Shop options"
589
- msgstr "Shop-Optionen"
590
-
591
- #: ../classes/admin/settings/sf-options.php:48
592
- msgid "Shop HTML"
593
- msgstr "Shop-HTML"
594
-
595
- #: ../classes/admin/settings/sf-options.php:49
596
- msgid "Enable HTML for a vendor's shop description by default"
597
- msgstr ""
598
- "Erlaube HTML in der Shop-Beschreibung f&uuml;r alle Verk&auml;ufer als "
599
- "Voreinstellung"
600
-
601
- #: ../classes/admin/settings/sf-options.php:56
602
- msgid "Vendor shop page"
603
- msgstr "Verk&auml;ufer-Seite"
604
-
605
- #: ../classes/admin/settings/sf-options.php:57
606
- msgid "Eg: <code>yoursite.com/[your_setting_here]/[vendor_name_here]</code>"
607
- msgstr ""
608
- "z.B.: <code>deineseite.de/[deine_einstellung_hier]/[verk&auml;"
609
- "ufer_name_hier] </code>"
610
-
611
- #: ../classes/admin/settings/sf-options.php:64
612
- msgid "Shop Headers"
613
- msgstr "Kopfzeile der Shops"
614
-
615
- #: ../classes/admin/settings/sf-options.php:65
616
- msgid "Enable vendor shop headers"
617
- msgstr "Kopfzeilen in Verk&auml;ufer-Shops aktivieren"
618
-
619
- #: ../classes/admin/settings/sf-options.php:66
620
- msgid ""
621
- "This will override the HTML Shop description output on product-archive pages."
622
- msgstr ""
623
- "Dies wird die HTML Shop-Beschreibung auf den Produkt-Archiv-Seiten "
624
- "überschreiben."
625
-
626
- #: ../classes/admin/settings/sf-options.php:72
627
- #: ../classes/admin/settings/sf-options.php:198
628
- msgid "Products"
629
- msgstr "Produkte"
630
-
631
- #: ../classes/admin/settings/sf-options.php:73
632
- msgid "Product Add Page"
633
- msgstr "Produkt hinzufügen-Seite"
634
-
635
- #: ../classes/admin/settings/sf-options.php:73
636
- msgid "Configure what to hide from all vendors when adding a product"
637
- msgstr ""
638
- "Stelle ein, was der Verk&auml;ufer nicht sehen darf, wenn er ein Produkt "
639
- "hinzuf&uuml;gt"
640
-
641
- #: ../classes/admin/settings/sf-options.php:76
642
- msgid "Left side panel"
643
- msgstr "Produktdaten (Feld auf der linken Seite)"
644
-
645
- #: ../classes/admin/settings/sf-options.php:77
646
- msgid "Hide these areas of the add product page for vendors"
647
- msgstr ""
648
- "Verberge diese Bereiche der Seite Produkt hinzuf&uuml;gen f&uuml;r den "
649
- "Verk&auml;ufer"
650
-
651
- #: ../classes/admin/settings/sf-options.php:91
652
- msgid "Types"
653
- msgstr "Produkttypen"
654
-
655
- #: ../classes/admin/settings/sf-options.php:92
656
- msgid "Hide these product types from the vendor"
657
- msgstr "Verberge diese Produktdaten f&uuml;r den Verk&auml;ufer"
658
-
659
- #: ../classes/admin/settings/sf-options.php:105
660
- msgid "Type options"
661
- msgstr "Produkttyp-Optionen"
662
-
663
- #: ../classes/admin/settings/sf-options.php:106
664
- msgid "Hide these product options from the vendor"
665
- msgstr "Verberge diese Produktoptionen vor dem Verk&auml;ufer"
666
-
667
- #: ../classes/admin/settings/sf-options.php:117
668
- msgid "Miscellaneous"
669
- msgstr "Diverses"
670
-
671
- #: ../classes/admin/settings/sf-options.php:129
672
- msgid "Stylesheet"
673
- msgstr "Stylesheet (CSS)"
674
-
675
- #: ../classes/admin/settings/sf-options.php:130
676
- msgid ""
677
- "You can add CSS in this textarea, which will be loaded on the product add/"
678
- "edit page for vendors."
679
- msgstr ""
680
- "Sie k&ouml;nnen CSS in diesem Textfeld eintragen, welches auf der Seite "
681
- "Produkt hinzuf&uuml;gen/editieren f&uuml;r Verk&auml;ufer angezeigt wird."
682
-
683
- #: ../classes/admin/settings/sf-options.php:136
684
- msgid "Capabilities"
685
- msgstr "Verk&auml;ufer-Rechte"
686
-
687
- #: ../classes/admin/settings/sf-options.php:137
688
- msgid "Permissions"
689
- msgstr "Berechtigungen"
690
-
691
- #: ../classes/admin/settings/sf-options.php:137
692
- msgid "General permissions used around the shop"
693
- msgstr "Allgemeine Berechtigungen rund um den Shop"
694
-
695
- #: ../classes/admin/settings/sf-options.php:140
696
- #: ../classes/class-install.php:205 ../views/dashboard/orders.php:18
697
- msgid "Orders"
698
- msgstr "Bestellungen"
699
-
700
- #: ../classes/admin/settings/sf-options.php:141
701
- msgid "View orders"
702
- msgstr "Bestellungen ansehen"
703
-
704
- #: ../classes/admin/settings/sf-options.php:142
705
- msgid "Show customer details such as email, address, name, etc, for each order"
706
- msgstr ""
707
- "Zeige K&auml;ufer-Details f&uuml;r jede Bestellung, wie z.B. E-Mail-Adresse, "
708
- "Name, etc."
709
-
710
- #: ../classes/admin/settings/sf-options.php:149
711
- msgid "View comments"
712
- msgstr "Bestell-Kommentare ansehen"
713
-
714
- #: ../classes/admin/settings/sf-options.php:150
715
- msgid "View all vendor comments for an order on the frontend"
716
- msgstr ""
717
- "Zeige alle Verk&auml;ufer-Kommentare f&uuml;r eine Bestellung im Frontend."
718
-
719
- #: ../classes/admin/settings/sf-options.php:157
720
- msgid "Submit comments"
721
- msgstr "Bestell-Kommentare hinzuf&uuml;gen"
722
-
723
- #: ../classes/admin/settings/sf-options.php:158
724
- msgid ""
725
- "Submit comments for an order on the frontend. Eg, tracking ID for a product"
726
- msgstr ""
727
- "Kommentare zu einer Bestellung &uuml;ber das Frontend hinzuf&uuml;gen, z.B. "
728
- "die Sendungsverfolgungs-Nr. f&uuml;r ein Produkt."
729
-
730
- #: ../classes/admin/settings/sf-options.php:165
731
- msgid "View email addresses"
732
- msgstr "E-Mail-Adressen ansehen"
733
-
734
- #: ../classes/admin/settings/sf-options.php:166
735
- msgid ""
736
- "While viewing order details on the frontend, you can disable or enable email "
737
- "addresses"
738
- msgstr ""
739
- "Beim Ansehen der Bestelldetails im Frontend, kann hiermit die Anzeige der E-"
740
- "Mail-Adressen der K&auml;fer aktiviert/deaktiviert werden."
741
-
742
- #: ../classes/admin/settings/sf-options.php:173
743
- msgid "Export a CSV file of orders for a product"
744
- msgstr "Bestelldetails eines Produktes als CSV-Datei exportieren"
745
-
746
- #: ../classes/admin/settings/sf-options.php:174
747
- msgid "Vendors could export orders for a product on the frontend"
748
- msgstr ""
749
- "Verk&auml;ufer kann Bestellungen eines Produktes im Frontend exportieren."
750
-
751
- #: ../classes/admin/settings/sf-options.php:181
752
- msgid "Reports"
753
- msgstr "Berichte"
754
-
755
- #: ../classes/admin/settings/sf-options.php:182
756
- msgid "View backend sales reports"
757
- msgstr "Verkaufs-Berichte im Backend ansehen"
758
-
759
- #: ../classes/admin/settings/sf-options.php:183
760
- msgid ""
761
- "Graphs and tables via the Reports page in backend. The reports will only "
762
- "display sales data that pertain to their products"
763
- msgstr ""
764
- "Grafiken und Tabellen in den &Uuml;bersichten im Backend. Die Berichte "
765
- "zeigen nur die Verkaufs-Daten zu den Produkten des jeweiligen Verk&auml;"
766
- "ufers an"
767
-
768
- #: ../classes/admin/settings/sf-options.php:190
769
- msgid "View Frontend sales reports"
770
- msgstr "Verkaufs-Berichte im Frontend ansehen"
771
-
772
- #: ../classes/admin/settings/sf-options.php:191
773
- msgid ""
774
- "Sales table on the frontend on the My Account page. The table will only "
775
- "display sales data that pertain to their products"
776
- msgstr ""
777
- "Verkaufs-&Uuml;bersicht im Frontend auf der Mein Konto-Seite. Die &Uuml;"
778
- "bersicht zeigt nur die Verkaufs-Daten zu den Produkten des jeweiligen "
779
- "Verk&auml;ufers."
780
-
781
- #: ../classes/admin/settings/sf-options.php:199
782
- msgid "Submit products"
783
- msgstr "Produkte hinzuf&uuml;gen"
784
-
785
- #: ../classes/admin/settings/sf-options.php:200
786
- msgid ""
787
- "Vendors could submit a product through the backend, and an admin would "
788
- "approve or deny it"
789
- msgstr ""
790
- "Verk&auml;ufer k&ouml;nnen ein neues Produkt im Backend hinzufügen. Ein "
791
- "Admin kann es dann freischalten oder ablehnen."
792
-
793
- #: ../classes/admin/settings/sf-options.php:207
794
- msgid "Edit live products"
795
- msgstr "Bereits ver&ouml;ffentlichte Produkte bearbeiten"
796
-
797
- #: ../classes/admin/settings/sf-options.php:208
798
- msgid ""
799
- "Vendors could edit an approved product after it has already gone live. There "
800
- "is no approval or review after editing a live product. This could be "
801
- "dangerous with malicious vendors, so take caution."
802
- msgstr ""
803
- "Ist dies aktiviert, k&ouml;nnen Verk&auml;ufer ein bereits freigeschaltetes "
804
- "Product bearbeiten. Es gibt keine erneute Freischaltung der Bearbeitung, "
805
- "also Vorsicht!"
806
-
807
- #: ../classes/admin/settings/sf-options.php:215
808
- msgid "Submit products live without requiring approval"
809
- msgstr ""
810
- "Produkte hinzuf&uuml;gen, ohne dass eine Freischaltung durch den Admin "
811
- "erforderlich ist"
812
-
813
- #: ../classes/admin/settings/sf-options.php:216
814
- msgid ""
815
- "Vendors can submit products without review or approval from a shop admin. "
816
- "This could be dangerous with malicious vendors, so take caution."
817
- msgstr ""
818
- "Ist dies aktiviert, k&ouml;nnen Verk&auml;ufer neue Produkte hinzuf&uuml;"
819
- "gen, ohne dass eine vorherige Freischaltung durch den Admin erforderlich "
820
- "ist. Dies k&ouml;nnte bei b&ouml;swilligen Verk&auml;ufern gef&auml;hrlich "
821
- "sein, daher Vorsicht!"
822
-
823
- #: ../classes/admin/settings/sf-options.php:222
824
- msgid "Pages"
825
- msgstr "Seiten"
826
-
827
- #: ../classes/admin/settings/sf-options.php:223
828
- msgid "Page configuration"
829
- msgstr "Seitenkonfiguration"
830
-
831
- #: ../classes/admin/settings/sf-options.php:226
832
- msgid "Vendor dashboard"
833
- msgstr "Verk&auml;ufer-Seite"
834
-
835
- #: ../classes/admin/settings/sf-options.php:227
836
- msgid ""
837
- "Choose the page that has the shortcode <code>[wcv_vendor_dashboard]</"
838
- "code><br/>By default, My Account > Vendor Dashboard should have the "
839
- "shortcode."
840
- msgstr ""
841
- "W&auml;hle die Seite, die den shortcode <code>[pv_vendor_dashboard]</"
842
- "code><br/> enth&auml;lt. Standardm&auml;&szlig;ig sollte dies Mein Konto > "
843
- "Verk&auml;ufer-Seite sein."
844
-
845
- #: ../classes/admin/settings/sf-options.php:234
846
- msgid "Shop settings"
847
- msgstr "Shop-Einstellungen"
848
-
849
- #: ../classes/admin/settings/sf-options.php:235
850
- msgid ""
851
- "Choose the page that has the shortcode <code>[wcv_shop_settings]</code><br/"
852
- ">These are the shop settings a vendor can configure."
853
- msgstr ""
854
- "W&auml;hle die Seite, die den shortcode <code>[pv_shop_settings]</code><br/> "
855
- "enth&auml;lt. Dies sind die Shop-Einstellungen, die ein Verk&auml;ufer "
856
- "vornehmen kann."
857
-
858
- #: ../classes/admin/settings/sf-options.php:242
859
- msgid "Orders page"
860
- msgstr "Bestellungsseite"
861
-
862
- #: ../classes/admin/settings/sf-options.php:243
863
- msgid ""
864
- "Choose the page that has the shortcode <code>[wcv_orders]</code><br/>By "
865
- "default, My Account > Orders should have the shortcode."
866
- msgstr ""
867
- "W&auml;hle die Seite, die den shortcode <code>[pv_orders]</code><br/> "
868
- "enth&auml;lt. Standardm&auml;&szlig;ig sollte dies Mein Konto > Bestellungen "
869
- "sein."
870
-
871
- #: ../classes/admin/settings/sf-options.php:250
872
- msgid "Vendor terms"
873
- msgstr "Verk&auml;ufer-Bedingungen"
874
-
875
- #: ../classes/admin/settings/sf-options.php:251
876
- msgid ""
877
- "These terms are shown to a user when submitting an application to become a "
878
- "vendor.<br/>If left blank, no terms will be shown to the applicant."
879
- msgstr ""
880
- "Diese Bedingungen werden einem Benutzer angezeigt, wenn er sich als "
881
- "Verk&auml;ufer bewirbt.<br/>Falls leer gelassen, werden dem Bewerber keine "
882
- "Bedingungen angezeigt."
883
-
884
- #: ../classes/admin/settings/sf-options.php:269
885
- msgid "Payments"
886
- msgstr "Auszahlungen"
887
-
888
- #: ../classes/admin/settings/sf-options.php:271
889
- msgid "User payments"
890
- msgstr "Benutzer-Zahlungen"
891
-
892
- #: ../classes/admin/settings/sf-options.php:272
893
- #, php-format
894
- msgid "Total commission currently due: %s. <a href=\"%s\">View details</a>."
895
- msgstr ""
896
- "Gesamte derzeit ausstehende Provision: %s. <a href=\"%s\">Zeige Details</a>."
897
-
898
- #: ../classes/admin/settings/sf-options.php:273
899
- #, php-format
900
- msgid ""
901
- "Make sure you update your PayPal Adaptive Payments settings <a href=\"%s"
902
- "\">here</a>."
903
- msgstr ""
904
- "Stellen Sie sicher, dass die PayPal Adaptive Payments Einstellungen <a href="
905
- "\"%s\"> korrekt sind</a>."
906
-
907
- #: ../classes/admin/settings/sf-options.php:277
908
- msgid "Instant pay"
909
- msgstr "Sofortzahlung"
910
-
911
- #: ../classes/admin/settings/sf-options.php:278
912
- msgid "Instantly pay vendors their commission when an order is made"
913
- msgstr ""
914
- "Zahlt dem Verk&auml;ufer seine Provision automatisch sofort, wenn eine "
915
- "Bestellung für eines seiner Produkte erfolgt ist."
916
-
917
- #: ../classes/admin/settings/sf-options.php:279
918
- msgid ""
919
- "For this to work, customers must checkout with the PayPal Adaptive Payments "
920
- "gateway. Using other gateways will not pay vendors instantly"
921
- msgstr ""
922
- "Damit dies funktioniert, müssen Kunden via PayPal Adaptive Payments "
923
- "auschecken.Bei anderen Bezahlmethoden wird der Verkäufer nicht direkt bezahlt"
924
-
925
- #: ../classes/admin/settings/sf-options.php:286
926
- msgid "Payment schedule"
927
- msgstr "Zeitplan f&uuml;r Zahlungen"
928
-
929
- #: ../classes/admin/settings/sf-options.php:287
930
- msgid "Note: Schedule will only work if instant pay is unchecked"
931
- msgstr ""
932
- "Hinweis: Zeitplan funktioniert nur, wenn sofortige Zahlung deaktiviert ist."
933
-
934
- #: ../classes/admin/settings/sf-options.php:292
935
- msgid "Weekly"
936
- msgstr "W&ouml;chentlich"
937
-
938
- #: ../classes/admin/settings/sf-options.php:293
939
- msgid "Biweekly"
940
- msgstr "Zweiw&ouml;chentlich"
941
-
942
- #: ../classes/admin/settings/sf-options.php:294
943
- msgid "Monthly"
944
- msgstr "Monatlich"
945
-
946
- #: ../classes/admin/settings/sf-options.php:295
947
- msgid "Manual"
948
- msgstr "Manuell"
949
-
950
- #: ../classes/admin/settings/sf-options.php:296
951
- msgid "Now"
952
- msgstr "Sofort"
953
-
954
- #: ../classes/admin/settings/sf-options.php:301
955
- msgid "Email notification"
956
- msgstr "E-Mail-Benachrichtigung"
957
-
958
- #: ../classes/admin/settings/sf-options.php:302
959
- msgid ""
960
- "Send the WooCommerce admin an email each time a payment has been made via "
961
- "the payment schedule options above"
962
- msgstr ""
963
- "Sendet dem WooCommerce-Admin eine automatische E-Mail, wenn eine Zahlung auf "
964
- "Grund des Zahlungsplans ausgef&uuml;hrt wurde."
965
-
966
- #: ../classes/class-cron.php:87
967
- #, php-format
968
- msgid "Payment total: %s"
969
- msgstr "Zahlung gesamt: %s"
970
-
971
- #: ../classes/class-cron.php:148
972
- msgid "Once Weekly"
973
- msgstr "Einmal w&ouml;chentlich"
974
-
975
- #: ../classes/class-cron.php:153
976
- msgid "Once every two weeks"
977
- msgstr "Alle zweite Woche"
978
-
979
- #: ../classes/class-cron.php:158
980
- msgid "Once a month"
981
- msgstr "Einmal im Monat"
982
-
983
- #: ../classes/class-install.php:99 ../classes/class-install.php:253
984
- msgid "Pending Vendor"
985
- msgstr "Freizuschaltender Verk&auml;ufer"
986
-
987
- #: ../classes/class-install.php:204
988
- msgid "Vendor Dashboard"
989
- msgstr "Verk&auml;ufer-Seite"
990
-
991
- #: ../classes/class-install.php:206
992
- msgid "Shop Settings"
993
- msgstr "Shop-Einstellungen"
994
-
995
- #: ../classes/front/class-vendor-cart.php:41
996
- #: ../classes/front/class-vendor-shop.php:255
997
- msgid "Sold by"
998
- msgstr "Verkauft von"
999
-
1000
- #: ../classes/front/dashboard/class-vendor-dashboard.php:41
1001
- msgid "Order unmarked shipped."
1002
- msgstr "Bestellung nicht als versandt markiert"
1003
-
1004
- #: ../classes/front/dashboard/class-vendor-dashboard.php:51
1005
- msgid "Order marked shipped."
1006
- msgstr "Bestellung als versandt markiert."
1007
-
1008
- #: ../classes/front/dashboard/class-vendor-dashboard.php:69
1009
- msgid "Your PayPal address is not a valid email address."
1010
- msgstr "Ihre PayPal-Adresse ist keine g&uuml;ltige E-Mail-Adresse."
1011
-
1012
- #: ../classes/front/dashboard/class-vendor-dashboard.php:78
1013
- msgid "That shop name is already taken. Your shop name must be unique."
1014
- msgstr ""
1015
- "Dieser Shopname ist bereits vergeben. Ihr Shopname muss einzigartig sein."
1016
-
1017
- #: ../classes/front/orders/class-export-csv.php:37
1018
- msgid "Extra data"
1019
- msgstr "Zus&auml;tzliche Daten"
1020
-
1021
- #: ../classes/front/orders/class-export-csv.php:38
1022
- #: ../views/dashboard/reports.php:18 ../views/emails/admin-new-order.php:23
1023
- #: ../views/emails/notify-vendor-shipped.php:23
1024
- msgid "Quantity"
1025
- msgstr "Menge"
1026
-
1027
- #: ../classes/front/orders/class-orders.php:107
1028
- msgid ""
1029
- "You haven't selected a product's orders to view! Please go back to the "
1030
- "Vendor Dashboard and click Show Orders on the product you'd like to view."
1031
- msgstr ""
1032
- "Sie haben keine Produktbestellungen ausgewählt! Bitte gehen Sie zurück zur "
1033
- "Verk&auml;ferseite und klicken Sie auf Zeige Bestellungen bei dem Produkt, "
1034
- "das Sie ansehen wollen."
1035
-
1036
- #: ../classes/front/orders/class-orders.php:111
1037
- msgid "No orders."
1038
- msgstr "Keine Bestellungen."
1039
-
1040
- #: ../classes/front/orders/class-orders.php:144
1041
- #: ../classes/front/orders/class-orders.php:145
1042
- msgid "Tracking number"
1043
- msgstr "Sendungsnummer"
1044
-
1045
- #: ../classes/front/orders/class-orders.php:147
1046
- msgid "Success. Your tracking number has been updated."
1047
- msgstr "Erfolgreich. Ihre Sendungsnummer wurde aktualisiert."
1048
-
1049
- #: ../classes/front/orders/class-orders.php:209
1050
- msgid "Product Title"
1051
- msgstr "Produkttitel"
1052
-
1053
- #: ../classes/front/orders/class-orders.php:210
1054
- msgid "Full name"
1055
- msgstr "Vollst&auml;ndiger Name"
1056
-
1057
- #: ../classes/front/orders/class-orders.php:211
1058
- msgid "Address"
1059
- msgstr "Adresse"
1060
-
1061
- #: ../classes/front/orders/class-orders.php:212
1062
- msgid "City"
1063
- msgstr "Stadt"
1064
-
1065
- #: ../classes/front/orders/class-orders.php:213
1066
- msgid "State"
1067
- msgstr "Bundesland"
1068
-
1069
- #: ../classes/front/orders/class-orders.php:214
1070
- msgid "Zip"
1071
- msgstr "PLZ"
1072
-
1073
- #: ../classes/front/orders/class-orders.php:215
1074
- msgid "Email address"
1075
- msgstr "E-Mail-Adresse"
1076
-
1077
- #: ../classes/front/orders/class-submit-comment.php:41
1078
- msgid "You've left the comment field empty!"
1079
- msgstr "Sie haben das Kommentar-Feld leer gelassen!"
1080
-
1081
- #: ../classes/front/orders/class-submit-comment.php:63
1082
- msgid "Success. The customer has been notified of your comment."
1083
- msgstr "Erfolgreich. Der Kunde wurde über ihr Kommentar informiert."
1084
-
1085
- #: ../classes/front/signup/class-vendor-signup.php:44
1086
- #: ../views/dashboard/denied.php:22
1087
- msgid "Apply to become a vendor? "
1088
- msgstr "Als Verk&auml;ufer bewerben?"
1089
-
1090
- #: ../classes/front/signup/class-vendor-signup.php:53
1091
- #: ../views/dashboard/denied.php:33
1092
- #, php-format
1093
- msgid "I have read and accepted the <a href=\"%s\">terms and conditions</a>"
1094
- msgstr ""
1095
- "Ich habe die <a href=\"%s\">Gesch&auml;ftsbedingungen</a> gelesen und "
1096
- "akzeptiert"
1097
-
1098
- #: ../classes/front/signup/class-vendor-signup.php:87
1099
- msgid "Application denied. You are an administrator."
1100
- msgstr "Bewerbung abgelehnt. Sie sind Administrator."
1101
-
1102
- #: ../classes/front/signup/class-vendor-signup.php:89
1103
- msgid "Your application has been submitted."
1104
- msgstr "Ihre Bewerbung wurde eingereicht."
1105
-
1106
- #: ../classes/front/signup/class-vendor-signup.php:125
1107
- msgid "You must accept the terms and conditions to become a vendor."
1108
- msgstr ""
1109
- "Sie m&uuml;ssen die AGBs akzeptieren um Verk&auml;ufer werden zu k&ouml;nnen."
1110
-
1111
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:43
1112
- msgid "PayPal Adaptive Payments"
1113
- msgstr "PayPal Adaptive Payments"
1114
-
1115
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:119
1116
- #, php-format
1117
- msgid ""
1118
- "Something went wrong. Response from PayPal invalidated this order. Status: "
1119
- "%s."
1120
- msgstr ""
1121
- "Ein Fehler ist aufgetreten. Die Antwort von PayPl hat diese Bestellung als "
1122
- "ung&uuml;ltig gekennzeichnet. Status: %s."
1123
-
1124
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:124
1125
- msgid "IPN payment completed"
1126
- msgstr "IPN Zahlung abgeschlossen"
1127
-
1128
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:146
1129
- msgid "Enable PayPal Adaptive Payments"
1130
- msgstr "PayPal Adaptive Payments aktivieren"
1131
-
1132
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:152
1133
- msgid "Method Title"
1134
- msgstr "Methoden-&Uuml;berschrift"
1135
-
1136
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:153
1137
- msgid "This controls the title which the user sees during checkout."
1138
- msgstr ""
1139
- "Hier wird der Titel eingestellt, den der Benutzer w&auml;hrend des "
1140
- "Abschlusses an der Kasse sieht."
1141
-
1142
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:154
1143
- msgid "PayPal"
1144
- msgstr "PayPal"
1145
-
1146
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:159
1147
- msgid "Description"
1148
- msgstr "Beschreibung"
1149
-
1150
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:160
1151
- msgid "This controls the description which the user sees during checkout."
1152
- msgstr ""
1153
- "Hier wird der Text eingestellt, den der Benutzer w&auml;hrend des "
1154
- "Abschlusses an der Kasse sieht."
1155
-
1156
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:161
1157
- msgid "Pay via PayPal!"
1158
- msgstr "Zahlen via PayPal!"
1159
-
1160
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:172
1161
- msgid "Live Credentials"
1162
- msgstr "Live Berechtigungen"
1163
-
1164
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:174
1165
- #, php-format
1166
- msgid ""
1167
- "You must have an <a href=\"%s\">Application ID</a> to process live "
1168
- "transactions. You do not need one for testing in Sandbox mode."
1169
- msgstr ""
1170
- "Sie ben&ouml;tigen eine <a href=\"%s\">Application ID</a> um Live-"
1171
- "Transaktionen auszuf&uuml;hren. Nicht erforderlich zum Testen im Sandbox-"
1172
- "Modus."
1173
-
1174
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:179
1175
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:213
1176
- msgid "PayPal Email"
1177
- msgstr "PayPal E-Mail"
1178
-
1179
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:180
1180
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:214
1181
- msgid "The email address main payments should go to."
1182
- msgstr "Die E-Mail-Adresse, an die die Hauptzahlungen gehen sollten."
1183
-
1184
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:185
1185
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:219
1186
- msgid "API Username"
1187
- msgstr "API Benutzername"
1188
-
1189
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:190
1190
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:224
1191
- msgid "API Password"
1192
- msgstr "API Passwort"
1193
-
1194
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:195
1195
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:229
1196
- msgid "API Signature"
1197
- msgstr "API Signatur"
1198
-
1199
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:200
1200
- msgid "Application ID"
1201
- msgstr "Application ID"
1202
-
1203
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:202
1204
- msgid "Only required when doing live transactions."
1205
- msgstr "Nur erforderlich, wenn Live-Zahlungen genutzt werden."
1206
-
1207
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:206
1208
- msgid "Sandbox Credentials"
1209
- msgstr "Sandbox Berechtigung"
1210
-
1211
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:208
1212
- #, php-format
1213
- msgid ""
1214
- "You can signup for a sandbox developer account <a href=\"%s\">here</a>. You "
1215
- "need a developer account if you want to enable Sandbox mode for testing."
1216
- msgstr ""
1217
- "Sie k&ouml;nnen sich f&uuml;r einen Sandbox Developer Account <a href=\"%s"
1218
- "\">hier</a> anmelden. Sie ben&ouml;tigen einen Entwickler Account, wenn Sie "
1219
- "den Sandbox-Modus zum Testen aktivieren wollen."
1220
-
1221
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:240
1222
- msgid "Misc. Settings"
1223
- msgstr "Einstellungen"
1224
-
1225
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:245
1226
- msgid "Enable PayPal Sandbox mode"
1227
- msgstr "PayPal Sandbox-Modus aktivieren"
1228
-
1229
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:251
1230
- msgid "Enable logging"
1231
- msgstr "Logging aktivieren"
1232
-
1233
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:269
1234
- msgid ""
1235
- "The PayPal Adaptive Payments gateway can instantly pay your vendors their "
1236
- "due commission (if enabled). Also used to mass pay vendors on a schedule / "
1237
- "manual method (if enabled)."
1238
- msgstr ""
1239
- "Der PayPal Adaptive Payments Gateway kann Ihren Verk&auml;ufern sofort nach "
1240
- "einem Verkauf die angefallene Provision automatisch auszahlen(sofern "
1241
- "aktiviert). Es wird auch benutzt, um Massenzahlungen an die Verk&auml;ufer - "
1242
- "manuell oder nach Zeitplan - auszuf&uuml;hren."
1243
-
1244
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:280
1245
- msgid "Gateway Disabled"
1246
- msgstr "Gateway deaktiviert"
1247
-
1248
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:280
1249
- #, php-format
1250
- msgid "%s does not support your store currency."
1251
- msgstr "%s unterst&uuml;tzt nicht die im Shop eingestellte W&auml;hrung."
1252
-
1253
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:369
1254
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:483
1255
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:150
1256
- #, php-format
1257
- msgid "Error: %s"
1258
- msgstr "Fehler: %s"
1259
-
1260
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:378
1261
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:379
1262
- #, php-format
1263
- msgid "Error ID: %s. %s"
1264
- msgstr "Fehler-ID: %s. %s"
1265
-
1266
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:115
1267
- msgid "No vendors found to pay. Maybe they haven't set a PayPal address?"
1268
- msgstr ""
1269
- "Keine Verk&auml;ufer gefunden, an die gezahlt werden kann. Vielleicht haben "
1270
- "diese keine PayPal-Adresse hinterlegt?"
1271
-
1272
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:164
1273
- msgid "All due commission has been paid for."
1274
- msgstr "Alle ausstehenden Provisionszahlungen wurden ausgezahlt."
1275
-
1276
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:170
1277
- msgid ""
1278
- "All due commission has been paid for, but I could not clear it from their "
1279
- "profiles due to an internal error. Commission will still be listed as due. "
1280
- "Please manually mark the commission as paid from the Commissions page."
1281
- msgstr ""
1282
- "Alle offenen Provisionen wurden ausgezahlt. Auf Grund eines internen Fehlers "
1283
- "konnten die Provisionen aber nicht auf den Status bezahlt gesetzt werden. "
1284
- "Die Provisionen werden weiterhin als offen gelistet. Bitte manuell auf "
1285
- "bezahlt setzen."
1286
-
1287
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:205
1288
- msgid "WooCommerce: Mass payments for vendors update"
1289
- msgstr "WooCommerce: Massenzahlung für Verk&auml;fer Update"
1290
-
1291
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:207
1292
- msgid ""
1293
- "Hello! A payment was just triggered to mass pay all vendors their due "
1294
- "commission."
1295
- msgstr ""
1296
- "Hallo! Eine Massenzahlung wurde so eben ausgel&ouml;st um allen Verk&auml;"
1297
- "ufern ihre ausstehenden Provisionen zu zahlen."
1298
-
1299
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:208
1300
- #, php-format
1301
- msgid "Payment status: %s."
1302
- msgstr "Auszahlungsstatus: %s"
1303
-
1304
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:209
1305
- #, php-format
1306
- msgid "Payment message: %s."
1307
- msgstr "Nachricht zur Zahlung: %s"
1308
-
1309
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:212
1310
- #, php-format
1311
- msgid "Payment total: %s."
1312
- msgstr "Zahlung gesamt: %s"
1313
-
1314
- #: ../views/dashboard/denied.php:8
1315
- msgid ""
1316
- "Your account has not yet been approved to become a vendor. When it is, you "
1317
- "will receive an email telling you that your account is approved!"
1318
- msgstr ""
1319
- "Ihr Benutzerprofil ist noch nicht als Verk&auml;ufer-Account freigeschaltet. "
1320
- "Sie erhalten eine E-Mail sobald dies geschehen ist."
1321
-
1322
- #: ../views/dashboard/denied.php:12
1323
- msgid ""
1324
- "Your account is not setup as a vendor yet. If you would like to register, "
1325
- "please complete this page!"
1326
- msgstr ""
1327
- "Ihr Benutzerprofil ist noch nicht als Verk&auml;ufer freigeschaltet. Sollten "
1328
- "Sie sich bewerben wollen, füllen Sie bitte diese Seite aus!"
1329
-
1330
- #: ../views/dashboard/denied.php:53
1331
- msgid "Submit"
1332
- msgstr "Absenden"
1333
-
1334
- #: ../views/dashboard/links.php:1
1335
- msgid "Control Center"
1336
- msgstr "Kontrollzentrum"
1337
-
1338
- #: ../views/dashboard/links.php:3
1339
- msgid "My shop"
1340
- msgstr "Mein Shop"
1341
-
1342
- #: ../views/dashboard/links.php:7
1343
- msgid "My settings"
1344
- msgstr "Meine Einstellungen"
1345
-
1346
- #: ../views/dashboard/links.php:13
1347
- msgid "Submit a product"
1348
- msgstr "Produkt hinzuf&uuml;gen"
1349
-
1350
- #: ../views/dashboard/orders.php:7 ../views/dashboard/orders.php:10
1351
- msgid "Hide items"
1352
- msgstr "Produkte verstecken"
1353
-
1354
- #: ../views/dashboard/orders.php:8 ../views/dashboard/orders.php:58
1355
- msgid "View items"
1356
- msgstr "Produkte anzeigen"
1357
-
1358
- #: ../views/dashboard/orders.php:27
1359
- msgid "Links"
1360
- msgstr "Links"
1361
-
1362
- #: ../views/dashboard/orders.php:58
1363
- msgid "Unmark shipped"
1364
- msgstr "Markierung als versandt aufheben"
1365
-
1366
- #: ../views/dashboard/orders.php:58
1367
- msgid "Mark shipped"
1368
- msgstr "Als versandt markieren"
1369
-
1370
- #: ../views/dashboard/orders.php:90
1371
- msgid "You have no orders during this period."
1372
- msgstr "Sie haben keine Bestellungen in diesem Zeitraum."
1373
-
1374
- #: ../views/dashboard/reports.php:1
1375
- msgid "Sales Report"
1376
- msgstr "Verkauf-Bericht"
1377
-
1378
- #: ../views/dashboard/reports.php:20
1379
- msgid "Rate"
1380
- msgstr "Quote"
1381
-
1382
- #: ../views/dashboard/reports.php:47
1383
- msgid "Show Orders"
1384
- msgstr "Zeige Bestellungen"
1385
-
1386
- #: ../views/dashboard/reports.php:56
1387
- msgid "Totals"
1388
- msgstr "Gesamt"
1389
-
1390
- #: ../views/dashboard/reports.php:71
1391
- msgid "You have no sales during this period."
1392
- msgstr "Sie haben keine Verk&auml;ufe innerhalb dieses Zeitraums."
1393
-
1394
- #: ../views/dashboard/reports.php:82
1395
- msgid "You haven't made any sales yet."
1396
- msgstr "Sie haben noch nichts verkauft."
1397
-
1398
- #: ../views/dashboard/settings/paypal-email-form.php:2
1399
- msgid "PayPal Address"
1400
- msgstr "PayPal-Adresse"
1401
-
1402
- #: ../views/dashboard/settings/paypal-email-form.php:3
1403
- msgid "Your PayPal address is used to send you your commission."
1404
- msgstr ""
1405
- "Ihre PayPal-Adresse wird verwendet, um angefallene Provisionen auszuzahlen."
1406
-
1407
- #: ../views/dashboard/settings/seller-info.php:4
1408
- msgid "This is displayed on each of your products."
1409
- msgstr "Dies wird bei jedem Ihrer Produkte angezeigt."
1410
-
1411
- #: ../views/dashboard/settings/settings.php:47
1412
- msgid "Save"
1413
- msgstr "Speichern"
1414
-
1415
- #: ../views/dashboard/settings/shop-description.php:2
1416
- msgid "Shop Description"
1417
- msgstr "Shop-Beschreibung"
1418
-
1419
- #: ../views/dashboard/settings/shop-description.php:3
1420
- #, php-format
1421
- msgid "This is displayed on your <a href=\"%s\">shop page</a>."
1422
- msgstr "Dies wird auf Ihrer <a href=\"%s\">Shop-Seite</a> angezeigt."
1423
-
1424
- #: ../views/dashboard/settings/shop-name.php:2
1425
- msgid "Shop Name"
1426
- msgstr "Shop-Name"
1427
-
1428
- #: ../views/dashboard/settings/shop-name.php:3
1429
- msgid "Your shop name is public and must be unique."
1430
- msgstr "Ihr Shop-Name ist &ouml;ffentlich und muss einzigartig sein."
1431
-
1432
- #: ../views/emails/admin-new-order.php:13
1433
- #, php-format
1434
- msgid "You have received an order from %s. Their order is as follows:"
1435
- msgstr "Sie haben eine Bestellung von %s erhalten. Diese Bestellung lautet:"
1436
-
1437
- #: ../views/emails/admin-new-order.php:17
1438
- #: ../views/emails/notify-vendor-shipped.php:17
1439
- #, php-format
1440
- msgid "Order: %s"
1441
- msgstr "Bestellung: %s"
1442
-
1443
- #: ../views/emails/admin-new-order.php:24
1444
- #: ../views/emails/notify-vendor-shipped.php:24
1445
- msgid "Price"
1446
- msgstr "Preis"
1447
-
1448
- #: ../views/emails/admin-new-order.php:50
1449
- #: ../views/emails/notify-vendor-shipped.php:50
1450
- msgid "Customer details"
1451
- msgstr "Kundendetails"
1452
-
1453
- #: ../views/emails/admin-new-order.php:53
1454
- #: ../views/emails/notify-vendor-shipped.php:53
1455
- msgid "Email:"
1456
- msgstr "E-Mail:"
1457
-
1458
- #: ../views/emails/admin-new-order.php:56
1459
- #: ../views/emails/notify-vendor-shipped.php:56
1460
- msgid "Tel:"
1461
- msgstr "Tel:"
1462
-
1463
- #: ../views/emails/application-status.php:5
1464
- #, php-format
1465
- msgid "Hi there. This is a notification about a vendor application on %s."
1466
- msgstr ""
1467
- "Hallo. Dies ist eine Benachrichtigung für eine Verk&auml;ufer-Bewerbung auf "
1468
- "%s."
1469
-
1470
- #: ../views/emails/application-status.php:8
1471
- #, php-format
1472
- msgid "Application status: %s"
1473
- msgstr "Bewerbungs-Status: %s"
1474
-
1475
- #: ../views/emails/application-status.php:9
1476
- #, php-format
1477
- msgid "Applicant username: %s"
1478
- msgstr "Bewerbungs-Benutzername: %s"
1479
-
1480
- #: ../views/emails/new-product.php:5
1481
- #, php-format
1482
- msgid "Hi there. This is a notification about a new product on %s."
1483
- msgstr "Hallo. Dies ist eine Benachrichtigung für ein neues Produkt auf %s."
1484
-
1485
- #: ../views/emails/new-product.php:8
1486
- #, php-format
1487
- msgid "Product title: %s"
1488
- msgstr "Produkttitel: %s"
1489
-
1490
- #: ../views/emails/new-product.php:9
1491
- #, php-format
1492
- msgid "Submitted by: %s"
1493
- msgstr "Eingereicht von: %s"
1494
-
1495
- #: ../views/emails/new-product.php:10
1496
- #, php-format
1497
- msgid "Edit product: %s"
1498
- msgstr "Produkte bearbeiten: %s"
1499
-
1500
- #: ../views/emails/notify-vendor-shipped.php:13
1501
- msgid ""
1502
- "A vendor has marked part of your order as shipped. The items that are "
1503
- "shipped are as follows:"
1504
- msgstr ""
1505
- "Ein Verk&auml;ufer hat Teil Ihrer Bestellung als versandt markiert. Die "
1506
- "versandten Produkte sind wie folgt:"
1507
-
1508
- #: ../views/orders/comments/add-new-comment.php:11
1509
- msgid "Add comment"
1510
- msgstr "Kommentar hinzuf&uuml;gen"
1511
-
1512
- #: ../views/orders/comments/existing-comments.php:9
1513
- #, php-format
1514
- msgid "added %s ago"
1515
- msgstr "hinzugef&uuml;gt vor %s"
1516
-
1517
- #: ../views/orders/csv-export.php:6
1518
- msgid "Export orders"
1519
- msgstr "Bestellungen exportieren"
1520
-
1521
- #: ../views/orders/customer-note/customer-note.php:4
1522
- msgid "Customer note"
1523
- msgstr "Kunden-Benachrichtigung"
1524
-
1525
- #: ../views/orders/customer-note/customer-note.php:8
1526
- msgid "No customer note."
1527
- msgstr "Keine Kunden-Benachrichtung"
1528
-
1529
- #: ../views/orders/orders.php:84
1530
- #, php-format
1531
- msgid "Comments (%s)"
1532
- msgstr "Kommentare (%s)"
1533
-
1534
- #: ../views/orders/shipping/shipping-form.php:46
1535
- msgid "Provider:"
1536
- msgstr "Versandunternehmen:"
1537
-
1538
- #: ../views/orders/shipping/shipping-form.php:48
1539
- msgid "Custom Provider"
1540
- msgstr "Benutzerdefiniertes Versandunternehmen"
1541
-
1542
- #: ../views/orders/shipping/shipping-form.php:68
1543
- msgid "Provider Name:"
1544
- msgstr "Name des Versandunternehmens:"
1545
-
1546
- #: ../views/orders/shipping/shipping-form.php:76
1547
- msgid "Tracking number:"
1548
- msgstr "Sendungsnummer:"
1549
-
1550
- #: ../views/orders/shipping/shipping-form.php:84
1551
- msgid "Tracking link:"
1552
- msgstr "Link zur Sendungsverfolgung:"
1553
-
1554
- #: ../views/orders/shipping/shipping-form.php:93
1555
- msgid "Date shipped:"
1556
- msgstr "Versanddatum:"
1557
-
1558
- #: ../views/orders/shipping/shipping-form.php:101
1559
- msgid "Preview:"
1560
- msgstr "Vorschau:"
1561
-
1562
- #: ../views/orders/shipping/shipping-form.php:101
1563
- msgid "Click here to track your shipment"
1564
- msgstr "Hier klicken, um Ihre Sendung zu verfolgen"
1565
-
1566
- #: ../views/orders/shipping/shipping-form.php:110
1567
- msgid "Update tracking number"
1568
- msgstr "Sendungsnummer aktualisieren"
1569
-
1570
- #: ../views/orders/shipping/shipping-form.php:112
1571
- msgid "Mark as shipped"
1572
- msgstr "Als versandt markieren"
1573
-
1574
- #: ../views/orders/table-body.php:25
1575
- #, php-format
1576
- msgid "Quantity: %d"
1577
- msgstr "Menge: %d"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/languages/wcvendors-de_DE.mo DELETED
Binary file
WCVendors/languages/wcvendors-de_DE.po DELETED
@@ -1,1577 +0,0 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: WC Vendors\n"
4
- "POT-Creation-Date: 2015-01-08 14:31+1000\n"
5
- "PO-Revision-Date: 2015-01-27 15:01+0100\n"
6
- "Last-Translator: \n"
7
- "Language-Team: WC Vendors <support@wcvendors.com>\n"
8
- "MIME-Version: 1.0\n"
9
- "Content-Type: text/plain; charset=UTF-8\n"
10
- "Content-Transfer-Encoding: 8bit\n"
11
- "X-Generator: Poedit 1.7.3\n"
12
- "X-Poedit-Basepath: .\n"
13
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
14
- "X-Poedit-SourceCharset: UTF-8\n"
15
- "X-Poedit-KeywordsList: __;_e\n"
16
- "Language: de_DE\n"
17
- "X-Poedit-SearchPath-0: .\n"
18
- "X-Poedit-SearchPath-1: ..\n"
19
-
20
- #: ../classes/admin/class-admin-page.php:28
21
- msgid "Vendors shipped"
22
- msgstr "vom Verk&auml;ufer versandt"
23
-
24
- #: ../classes/admin/class-admin-page.php:51
25
- msgid "Vendors Shipped"
26
- msgstr "vom Verk&auml;ufer versandt"
27
-
28
- #: ../classes/admin/class-admin-page.php:73
29
- #: ../classes/admin/class-admin-page.php:133
30
- #: ../classes/admin/class-admin-reports.php:345
31
- #: ../classes/admin/class-product-meta.php:148
32
- #: ../classes/admin/class-product-meta.php:164
33
- #: ../views/dashboard/reports.php:19
34
- msgid "Commission"
35
- msgstr "Provision"
36
-
37
- #: ../classes/admin/class-admin-page.php:252
38
- #: ../classes/admin/class-admin-reports.php:175
39
- #: ../views/dashboard/reports.php:17 ../views/emails/admin-new-order.php:22
40
- #: ../views/emails/notify-vendor-shipped.php:22
41
- msgid "Product"
42
- msgstr "Produkt"
43
-
44
- #: ../classes/admin/class-admin-page.php:253
45
- msgid "Order ID"
46
- msgstr "Bestell-Nr."
47
-
48
- #: ../classes/admin/class-admin-page.php:254
49
- #: ../classes/admin/class-admin-reports.php:176
50
- #: ../classes/admin/class-product-meta.php:44
51
- #: ../classes/admin/class-product-meta.php:184
52
- #: ../classes/admin/class-product-meta.php:220
53
- msgid "Vendor"
54
- msgstr "Verk&auml;ufer"
55
-
56
- #: ../classes/admin/class-admin-page.php:255
57
- #: ../classes/admin/class-admin-reports.php:177
58
- #: ../classes/admin/class-admin-reports.php:350
59
- #: ../classes/admin/class-admin-reports.php:374
60
- #: ../views/dashboard/orders.php:25
61
- msgid "Total"
62
- msgstr "Summe"
63
-
64
- #: ../classes/admin/class-admin-page.php:256
65
- #: ../classes/admin/class-admin-reports.php:179
66
- msgid "Status"
67
- msgstr "Status"
68
-
69
- #: ../classes/admin/class-admin-page.php:257
70
- #: ../classes/front/orders/class-orders.php:216
71
- #: ../views/dashboard/orders.php:26
72
- msgid "Date"
73
- msgstr "Datum"
74
-
75
- #: ../classes/admin/class-admin-page.php:294
76
- msgid "Mark paid"
77
- msgstr "Als bezahlt markieren"
78
-
79
- #: ../classes/admin/class-admin-page.php:295
80
- msgid "Mark due"
81
- msgstr "Als noch offen kennzeichnen"
82
-
83
- #: ../classes/admin/class-admin-page.php:296
84
- msgid "Mark reversed"
85
- msgstr "Als storniert kennzeichnen"
86
-
87
- #: ../classes/admin/class-admin-page.php:313
88
- msgid "Filter"
89
- msgstr "Filter"
90
-
91
- #: ../classes/admin/class-admin-page.php:347
92
- msgid "Show all dates"
93
- msgstr "Zeige alle Daten"
94
-
95
- #: ../classes/admin/class-admin-page.php:360
96
- #, php-format
97
- msgid "%1$s %2$d"
98
- msgstr "%1$s %2$d"
99
-
100
- #: ../classes/admin/class-admin-page.php:386
101
- msgid "Commission marked paid."
102
- msgstr "Provision als ausgezahlt kennzeichnen"
103
-
104
- #: ../classes/admin/class-admin-page.php:393
105
- msgid "Commission marked due."
106
- msgstr "Als Provision noch offen kennzeichnen"
107
-
108
- #: ../classes/admin/class-admin-page.php:400
109
- msgid "Commission marked reversed."
110
- msgstr "Provision als storniert kennzeichnen"
111
-
112
- #: ../classes/admin/class-admin-reports.php:41
113
- #: ../classes/admin/class-admin-users.php:349
114
- msgid "WC Vendors"
115
- msgstr "WC Vendors"
116
-
117
- #: ../classes/admin/class-admin-reports.php:44
118
- msgid "Overview"
119
- msgstr "Übersicht"
120
-
121
- #: ../classes/admin/class-admin-reports.php:50
122
- msgid "Commission by vendor"
123
- msgstr "Provision nach Verk&auml;ufer"
124
-
125
- #: ../classes/admin/class-admin-reports.php:56
126
- msgid "Commission by product"
127
- msgstr "Provision nach Produkt"
128
-
129
- #: ../classes/admin/class-admin-reports.php:115
130
- #: ../views/dashboard/date-picker.php:3
131
- msgid "From:"
132
- msgstr "Von:"
133
-
134
- #: ../classes/admin/class-admin-reports.php:119
135
- #: ../views/dashboard/date-picker.php:7
136
- msgid "To:"
137
- msgstr "An:"
138
-
139
- #: ../classes/admin/class-admin-reports.php:122
140
- #: ../classes/admin/class-admin-reports.php:283
141
- #: ../views/dashboard/date-picker.php:12
142
- msgid "Show"
143
- msgstr "Zeige"
144
-
145
- #: ../classes/admin/class-admin-reports.php:133
146
- msgid "Total paid in range"
147
- msgstr "Gesamt ausgezahlt im Zeitraum"
148
-
149
- #: ../classes/admin/class-admin-reports.php:136
150
- #: ../classes/admin/class-admin-reports.php:143
151
- #: ../classes/admin/class-admin-reports.php:150
152
- msgid "n/a"
153
- msgstr "n/a"
154
-
155
- #: ../classes/admin/class-admin-reports.php:140
156
- msgid "Total due in range"
157
- msgstr "Gesamt offen im Zeitraum"
158
-
159
- #: ../classes/admin/class-admin-reports.php:147
160
- msgid "Total reversed in range"
161
- msgstr "Gesamt storniert im Zeitraum"
162
-
163
- #: ../classes/admin/class-admin-reports.php:157
164
- msgid "Recent Commission"
165
- msgstr "Neueste Provision"
166
-
167
- #: ../classes/admin/class-admin-reports.php:174
168
- #: ../classes/front/orders/class-orders.php:208
169
- #: ../views/dashboard/orders.php:23
170
- msgid "Order"
171
- msgstr "Bestellung"
172
-
173
- #: ../classes/admin/class-admin-reports.php:178
174
- msgid "Date &amp; Time"
175
- msgstr "Datum &amp; Uhrzeit"
176
-
177
- #: ../classes/admin/class-admin-reports.php:187
178
- msgid "N/A"
179
- msgstr "N/A"
180
-
181
- #: ../classes/admin/class-admin-reports.php:192
182
- msgid "D j M Y \\a\\t h:ia"
183
- msgstr "D, j.m.Y \\u\\m H:i \\U\\h\\r"
184
-
185
- #: ../classes/admin/class-admin-reports.php:201
186
- msgid "No commission yet"
187
- msgstr "Keine Provision f&auml;llig"
188
-
189
- #: ../classes/admin/class-admin-reports.php:232
190
- msgid "Show:"
191
- msgstr "Zeige:"
192
-
193
- #: ../classes/admin/class-admin-reports.php:243
194
- msgid "Year"
195
- msgstr "Jahr"
196
-
197
- #: ../classes/admin/class-admin-reports.php:276
198
- msgid "Select a vendor&hellip;"
199
- msgstr "Einen Verk&auml;ufer w&auml;hlen"
200
-
201
- #: ../classes/admin/class-admin-reports.php:344
202
- msgid "Month"
203
- msgstr "Monat"
204
-
205
- #: ../classes/admin/class-admin-reports.php:346
206
- msgid "Tax"
207
- msgstr "Steuer"
208
-
209
- #: ../classes/admin/class-admin-reports.php:347
210
- #: ../views/dashboard/orders.php:24 ../views/orders/orders.php:113
211
- msgid "Shipping"
212
- msgstr "Versand"
213
-
214
- #: ../classes/admin/class-admin-reports.php:348
215
- msgid "Reversed"
216
- msgstr "Storniert"
217
-
218
- #: ../classes/admin/class-admin-reports.php:349
219
- msgid "Paid"
220
- msgstr "Bezahlt"
221
-
222
- #: ../classes/admin/class-admin-users.php:359
223
- msgid "Enable HTML for the shop description"
224
- msgstr "HTML f&uuml;r die Shop-Beschreibung erlauben"
225
-
226
- #: ../classes/admin/class-admin-users.php:365
227
- msgid "Shop name"
228
- msgstr "Shop-Name"
229
-
230
- #: ../classes/admin/class-admin-users.php:372
231
- msgid "PayPal E-mail"
232
- msgstr "PayPal E-Mail"
233
-
234
- #: ../classes/admin/class-admin-users.php:373
235
- msgid "required"
236
- msgstr "notwendig"
237
-
238
- #: ../classes/admin/class-admin-users.php:380
239
- msgid "Commission rate"
240
- msgstr "Provisionsrate"
241
-
242
- #: ../classes/admin/class-admin-users.php:381
243
- #: ../classes/admin/class-product-meta.php:171
244
- msgid "Leave blank for default"
245
- msgstr "Leer lassen für Voreinstellung"
246
-
247
- #: ../classes/admin/class-admin-users.php:387
248
- #: ../classes/front/class-vendor-shop.php:103
249
- #: ../views/dashboard/settings/seller-info.php:3
250
- msgid "Seller info"
251
- msgstr "Verk&auml;ufer-Info"
252
-
253
- #: ../classes/admin/class-admin-users.php:392
254
- msgid "Shop description"
255
- msgstr "Shopbeschreibung"
256
-
257
- #: ../classes/admin/class-vendor-applicants.php:26
258
- msgid "Approve"
259
- msgstr "Freischalten"
260
-
261
- #: ../classes/admin/class-vendor-applicants.php:27
262
- msgid "Deny"
263
- msgstr "Ablehnen"
264
-
265
- #: ../classes/admin/class-vendor-applicants.php:71
266
- msgid "Vendor has been <b>denied</b>."
267
- msgstr "Verk&auml;ufer wurde <b>abgelehnt</b>"
268
-
269
- #: ../classes/admin/class-vendor-applicants.php:82
270
- msgid "Vendor has been <b>approved</b>."
271
- msgstr "Verk&auml;ufer wurde <b>freigeschaltet</b>"
272
-
273
- #: ../classes/admin/class-vendor-applicants.php:96
274
- msgid "Pending Vendors"
275
- msgstr "Freizuschaltende Verk&auml;ufer"
276
-
277
- #: ../classes/admin/emails/class-emails.php:55
278
- #: ../classes/admin/emails/class-wc-approve-vendor.php:70
279
- msgid "pending"
280
- msgstr "in Bearbeitung"
281
-
282
- #: ../classes/admin/emails/class-emails.php:57
283
- msgid "approved"
284
- msgstr "freigeschaltet"
285
-
286
- #: ../classes/admin/emails/class-emails.php:59
287
- msgid "denied"
288
- msgstr "abgelehnt"
289
-
290
- #: ../classes/admin/emails/class-emails.php:87
291
- #: ../classes/front/class-vendor-cart.php:60
292
- #: ../classes/front/class-vendor-shop.php:178
293
- msgid "Sold by: "
294
- msgstr "Verkauft von:"
295
-
296
- #: ../classes/admin/emails/class-wc-approve-vendor.php:28
297
- msgid "Vendor Application"
298
- msgstr "Bewerbung als Verk&auml;ufer"
299
-
300
- #: ../classes/admin/emails/class-wc-approve-vendor.php:29
301
- msgid "Vendor application will either be approved, denied, or pending."
302
- msgstr ""
303
- "Die Bewerbung als Verk&auml;ufer wird entweder genehmigt, abgelehnt oder auf "
304
- "\"\"in Bearbeitung gesetzt."
305
-
306
- #: ../classes/admin/emails/class-wc-approve-vendor.php:31
307
- msgid "Application {status}"
308
- msgstr "Bewerbung {status}"
309
-
310
- #: ../classes/admin/emails/class-wc-approve-vendor.php:32
311
- msgid "[{blogname}] Your vendor application has been {status}"
312
- msgstr "[{blogname}] Ihre Bewerbung als Verk&auml;ufer wurde {status}"
313
-
314
- #: ../classes/admin/emails/class-wc-approve-vendor.php:123
315
- #: ../classes/admin/emails/class-wc-notify-admin.php:129
316
- #: ../classes/admin/emails/class-wc-notify-shipped.php:163
317
- #: ../classes/admin/emails/class-wc-notify-vendor.php:230
318
- msgid "Enable/Disable"
319
- msgstr "Aktivieren/Deaktivieren"
320
-
321
- #: ../classes/admin/emails/class-wc-approve-vendor.php:125
322
- #: ../classes/admin/emails/class-wc-notify-admin.php:131
323
- #: ../classes/admin/emails/class-wc-notify-shipped.php:165
324
- #: ../classes/admin/emails/class-wc-notify-vendor.php:232
325
- msgid "Enable this email notification"
326
- msgstr "E-Mail-Benachrichtigung aktivieren"
327
-
328
- #: ../classes/admin/emails/class-wc-approve-vendor.php:129
329
- #: ../classes/admin/emails/class-wc-notify-admin.php:135
330
- msgid "Recipient(s)"
331
- msgstr "Empf&auml;nger"
332
-
333
- #: ../classes/admin/emails/class-wc-approve-vendor.php:131
334
- #: ../classes/admin/emails/class-wc-notify-admin.php:137
335
- #, php-format
336
- msgid ""
337
- "Enter recipients (comma separated) for this email. Defaults to <code>%s</"
338
- "code>."
339
- msgstr ""
340
- "Empf&auml;nger (mit Komma getrennt) eingeben. Standardm&auml;&szlig;ig "
341
- "<code>%s</code>"
342
-
343
- #: ../classes/admin/emails/class-wc-approve-vendor.php:136
344
- #: ../classes/admin/emails/class-wc-notify-admin.php:142
345
- #: ../classes/admin/emails/class-wc-notify-shipped.php:169
346
- #: ../classes/admin/emails/class-wc-notify-vendor.php:236
347
- msgid "Subject"
348
- msgstr "Betreff"
349
-
350
- #: ../classes/admin/emails/class-wc-approve-vendor.php:138
351
- #: ../classes/admin/emails/class-wc-notify-admin.php:144
352
- #: ../classes/admin/emails/class-wc-notify-shipped.php:171
353
- #: ../classes/admin/emails/class-wc-notify-vendor.php:238
354
- #, php-format
355
- msgid ""
356
- "This controls the email subject line. Leave blank to use the default "
357
- "subject: <code>%s</code>."
358
- msgstr ""
359
- "Dies bestimmt den E-Mail-Betreff. Leer lassen für Standard-Betreff: <code>"
360
- "%s</code>"
361
-
362
- #: ../classes/admin/emails/class-wc-approve-vendor.php:143
363
- #: ../classes/admin/emails/class-wc-notify-admin.php:149
364
- #: ../classes/admin/emails/class-wc-notify-shipped.php:176
365
- #: ../classes/admin/emails/class-wc-notify-vendor.php:243
366
- msgid "Email Heading"
367
- msgstr "E-Mail-Header (Kopfzeile)"
368
-
369
- #: ../classes/admin/emails/class-wc-approve-vendor.php:145
370
- #: ../classes/admin/emails/class-wc-notify-admin.php:151
371
- #: ../classes/admin/emails/class-wc-notify-shipped.php:178
372
- #: ../classes/admin/emails/class-wc-notify-vendor.php:245
373
- #, php-format
374
- msgid ""
375
- "This controls the main heading contained within the email notification. "
376
- "Leave blank to use the default heading: <code>%s</code>."
377
- msgstr ""
378
- "Dies bestimmt den Header-Abschnitt (Kopfzeile) der Benachrichtigungs-E-Mail."
379
- "Leer lassen f&uuml;r den Standard-Inhalt: <code>%s</code>."
380
-
381
- #: ../classes/admin/emails/class-wc-approve-vendor.php:150
382
- #: ../classes/admin/emails/class-wc-notify-admin.php:156
383
- #: ../classes/admin/emails/class-wc-notify-shipped.php:183
384
- #: ../classes/admin/emails/class-wc-notify-vendor.php:250
385
- msgid "Email type"
386
- msgstr "E-Mail-Typ"
387
-
388
- #: ../classes/admin/emails/class-wc-approve-vendor.php:152
389
- #: ../classes/admin/emails/class-wc-notify-admin.php:158
390
- #: ../classes/admin/emails/class-wc-notify-shipped.php:185
391
- #: ../classes/admin/emails/class-wc-notify-vendor.php:252
392
- msgid "Choose which format of email to send."
393
- msgstr "W&auml;hlen Sie, in welchem Format die E-Mail gesendet werden soll."
394
-
395
- #: ../classes/admin/emails/class-wc-approve-vendor.php:156
396
- #: ../classes/admin/emails/class-wc-notify-admin.php:162
397
- #: ../classes/admin/emails/class-wc-notify-shipped.php:189
398
- #: ../classes/admin/emails/class-wc-notify-vendor.php:256
399
- msgid "Plain text"
400
- msgstr "Klartext"
401
-
402
- #: ../classes/admin/emails/class-wc-approve-vendor.php:157
403
- #: ../classes/admin/emails/class-wc-notify-admin.php:163
404
- #: ../classes/admin/emails/class-wc-notify-shipped.php:190
405
- #: ../classes/admin/emails/class-wc-notify-vendor.php:257
406
- msgid "HTML"
407
- msgstr "HTML"
408
-
409
- #: ../classes/admin/emails/class-wc-approve-vendor.php:158
410
- #: ../classes/admin/emails/class-wc-notify-admin.php:164
411
- #: ../classes/admin/emails/class-wc-notify-shipped.php:191
412
- #: ../classes/admin/emails/class-wc-notify-vendor.php:258
413
- msgid "Multipart"
414
- msgstr "Multipart (Mehrteiler)"
415
-
416
- #: ../classes/admin/emails/class-wc-notify-admin.php:28
417
- msgid "New Vendor Product"
418
- msgstr "Neues Produkt"
419
-
420
- #: ../classes/admin/emails/class-wc-notify-admin.php:29
421
- msgid "New order emails are sent when a new product is submitted by a vendor"
422
- msgstr ""
423
- "Neue Bestell-E-Mails werden gesendet, wenn eine Bestellung eingegangen ist / "
424
- "von einem Kunden bezahlt wurde"
425
-
426
- #: ../classes/admin/emails/class-wc-notify-admin.php:31
427
- msgid "New product submitted: {product_name}"
428
- msgstr "Neues Produkt erstellt {product_name}"
429
-
430
- #: ../classes/admin/emails/class-wc-notify-admin.php:32
431
- msgid "[{blogname}] New product submitted by {vendor_name} - {product_name}"
432
- msgstr "[{blogname}] Neues Produkt von {vendor_name} erstellt - {product_name}"
433
-
434
- #: ../classes/admin/emails/class-wc-notify-shipped.php:28
435
- msgid "Vendor has shipped"
436
- msgstr "Verk&auml;ufer hat versandt"
437
-
438
- #: ../classes/admin/emails/class-wc-notify-shipped.php:29
439
- msgid ""
440
- "An email is sent when a vendor has marked one of their orders as shipped."
441
- msgstr ""
442
- "Eine E-Mail wird verschickt, wenn ein Verk&auml;ufer eine seiner "
443
- "Bestellungen als versandt markiert hat. "
444
-
445
- #: ../classes/admin/emails/class-wc-notify-shipped.php:31
446
- msgid "Your order has been shipped"
447
- msgstr "Ihre Bestellung wurde versandt"
448
-
449
- #: ../classes/admin/emails/class-wc-notify-shipped.php:32
450
- msgid ""
451
- "[{blogname}] Your order has been shipped ({order_number}) - {order_date}"
452
- msgstr ""
453
- "[{blogname}]Ihre Bestellung wurde versandt ({order_number}) - {order_date}"
454
-
455
- #: ../classes/admin/emails/class-wc-notify-shipped.php:112
456
- msgid "Subtotal:"
457
- msgstr "Zwischensumme:"
458
-
459
- #: ../classes/admin/emails/class-wc-notify-vendor.php:27
460
- msgid "Notify vendors"
461
- msgstr "Verk&auml;ufer benachrichtigen"
462
-
463
- #: ../classes/admin/emails/class-wc-notify-vendor.php:28
464
- msgid "New order emails are sent when an order is received/paid by a customer."
465
- msgstr ""
466
- "Neue Bestell-E-Mails werden gesendet, wenn eine Bestellung eingegangen ist / "
467
- "von einem Kunden bezahlt wurde."
468
-
469
- #: ../classes/admin/emails/class-wc-notify-vendor.php:30
470
- msgid "New customer order"
471
- msgstr "Neue Bestellung"
472
-
473
- #: ../classes/admin/emails/class-wc-notify-vendor.php:31
474
- msgid "[{blogname}] New customer order ({order_number}) - {order_date}"
475
- msgstr "[{blogname}] Neue Kundenbestellung ({order_number}) - {order_date}"
476
-
477
- #: ../classes/admin/emails/class-wc-notify-vendor.php:103
478
- msgid "Commission Subtotal:"
479
- msgstr "Zwischensumme Provisionen:"
480
-
481
- #: ../classes/admin/emails/class-wc-notify-vendor.php:110
482
- msgid "Shipping Subtotal:"
483
- msgstr "Zwischensumme Versand:"
484
-
485
- #: ../classes/admin/settings/classes/sf-class-format-options.php:211
486
- #: ../classes/admin/settings/classes/sf-class-settings.php:773
487
- msgid "Select a page..."
488
- msgstr "Wählen Sie eine Seite"
489
-
490
- #: ../classes/admin/settings/classes/sf-class-settings.php:153
491
- #: ../views/dashboard/settings/settings.php:1
492
- msgid "Settings"
493
- msgstr "Einstellungen"
494
-
495
- #: ../classes/admin/settings/classes/sf-class-settings.php:297
496
- msgid "Could not load settings at: "
497
- msgstr "Einstellungen konnten nicht geladen werden für:"
498
-
499
- #: ../classes/admin/settings/classes/sf-class-settings.php:297
500
- msgid "Error - WP Settings Framework"
501
- msgstr "Fehler - WP Settings Framework"
502
-
503
- #: ../classes/admin/settings/classes/sf-class-settings.php:363
504
- #: ../classes/front/dashboard/class-vendor-dashboard.php:96
505
- msgid "Settings saved."
506
- msgstr "Einstellungen gespeichert."
507
-
508
- #: ../classes/admin/settings/classes/sf-class-settings.php:479
509
- #, php-format
510
- msgid "Save %s changes"
511
- msgstr "&Auml;nderungen %s speichern"
512
-
513
- #: ../classes/admin/settings/sf-options.php:4
514
- msgid "General"
515
- msgstr "Allgemein"
516
-
517
- #: ../classes/admin/settings/sf-options.php:5
518
- msgid "General options"
519
- msgstr "Allgemeine Einstellugen"
520
-
521
- #: ../classes/admin/settings/sf-options.php:5
522
- #: ../classes/admin/settings/sf-options.php:45
523
- #: ../classes/admin/settings/sf-options.php:223
524
- msgid " "
525
- msgstr ""
526
-
527
- #: ../classes/admin/settings/sf-options.php:8
528
- msgid "Default commission (%)"
529
- msgstr "Standard-Provision (%)"
530
-
531
- #: ../classes/admin/settings/sf-options.php:9
532
- msgid ""
533
- "The default rate the vendor receives for each product. If a product has a "
534
- "commission rate already set, this value will be ignored for that product."
535
- msgstr ""
536
- "Die Standard-Provision, die ein Verk&auml;ufer für jedes Produkt erhält. "
537
- "Wenn ein Produkt bereits eine Provisions-Einstellung besitzt, überschreibt "
538
- "diese den hier festgelegten Standardwert."
539
-
540
- #: ../classes/admin/settings/sf-options.php:20
541
- msgid "Registration"
542
- msgstr "Registrierung"
543
-
544
- #: ../classes/admin/settings/sf-options.php:21
545
- msgid "Allow users or guests to apply to become a vendor"
546
- msgstr "Erlaube Benutzern oder G&auml;sten sich als Verk&auml;ufer zu bewerben"
547
-
548
- #: ../classes/admin/settings/sf-options.php:22
549
- msgid ""
550
- "This will show a checkbox on the My Account page's registration form asking "
551
- "if the user would like to apply to be a vendor. Also, on the Vendor "
552
- "Dashboard, users can apply to become a vendor."
553
- msgstr ""
554
- "Ist dies aktiviert, wird eine Checkbox auf der bei der Registration als "
555
- "neuer Benutzer angezeigt, mit der der Benutzer gefragt wird, ob er sich auch "
556
- "als Verk&auml;ufer bewerben m&ouml;chte.Bereits registrierte Benutzer k&ouml;"
557
- "nnen sich auch nachtr&auml;glich auf der Verk&auml;ufer-Seite als Verk&auml;"
558
- "ufer bewerben."
559
-
560
- #: ../classes/admin/settings/sf-options.php:29
561
- msgid "Approve vendor applications manually"
562
- msgstr "Verk&auml;ufer-Bewerbungen manuell akzeptieren"
563
-
564
- #: ../classes/admin/settings/sf-options.php:30
565
- msgid ""
566
- "With this unchecked, all vendor applications are automatically accepted. "
567
- "Otherwise, you must approve each manually."
568
- msgstr ""
569
- "Ist diese Option deaktiviert, werden alle Bewerbungen automatisch "
570
- "akzeptiert. Ansonsten muss jede Bewerbung manuell akzeptiert werden."
571
-
572
- #: ../classes/admin/settings/sf-options.php:37
573
- msgid "Taxes"
574
- msgstr "Steuern"
575
-
576
- #: ../classes/admin/settings/sf-options.php:38
577
- msgid "Give vendors any tax collected per-product"
578
- msgstr "Verkäufer erhalten alle eingenommenen Steuern pro Produkt"
579
-
580
- #: ../classes/admin/settings/sf-options.php:39
581
- msgid ""
582
- "The tax collected on a vendor's product will be given to him in its entirety"
583
- msgstr ""
584
- "Die Steuern, die für ein Produkt eingenommen wurden, werden dem Verk&auml;"
585
- "ufer zur G&auml;nze &uuml;berlassen"
586
-
587
- #: ../classes/admin/settings/sf-options.php:45
588
- msgid "Shop options"
589
- msgstr "Shop-Optionen"
590
-
591
- #: ../classes/admin/settings/sf-options.php:48
592
- msgid "Shop HTML"
593
- msgstr "Shop-HTML"
594
-
595
- #: ../classes/admin/settings/sf-options.php:49
596
- msgid "Enable HTML for a vendor's shop description by default"
597
- msgstr ""
598
- "Erlaube HTML in der Shop-Beschreibung f&uuml;r alle Verk&auml;ufer als "
599
- "Voreinstellung"
600
-
601
- #: ../classes/admin/settings/sf-options.php:56
602
- msgid "Vendor shop page"
603
- msgstr "Verk&auml;ufer-Seite"
604
-
605
- #: ../classes/admin/settings/sf-options.php:57
606
- msgid "Eg: <code>yoursite.com/[your_setting_here]/[vendor_name_here]</code>"
607
- msgstr ""
608
- "z.B.: <code>deineseite.de/[deine_einstellung_hier]/[verk&auml;"
609
- "ufer_name_hier] </code>"
610
-
611
- #: ../classes/admin/settings/sf-options.php:64
612
- msgid "Shop Headers"
613
- msgstr "Kopfzeile der Shops"
614
-
615
- #: ../classes/admin/settings/sf-options.php:65
616
- msgid "Enable vendor shop headers"
617
- msgstr "Kopfzeilen in Verk&auml;ufer-Shops aktivieren"
618
-
619
- #: ../classes/admin/settings/sf-options.php:66
620
- msgid ""
621
- "This will override the HTML Shop description output on product-archive pages."
622
- msgstr ""
623
- "Dies wird die HTML Shop-Beschreibung auf den Produkt-Archiv-Seiten "
624
- "überschreiben."
625
-
626
- #: ../classes/admin/settings/sf-options.php:72
627
- #: ../classes/admin/settings/sf-options.php:198
628
- msgid "Products"
629
- msgstr "Produkte"
630
-
631
- #: ../classes/admin/settings/sf-options.php:73
632
- msgid "Product Add Page"
633
- msgstr "Produkt hinzufügen-Seite"
634
-
635
- #: ../classes/admin/settings/sf-options.php:73
636
- msgid "Configure what to hide from all vendors when adding a product"
637
- msgstr ""
638
- "Stelle ein, was der Verk&auml;ufer nicht sehen darf, wenn er ein Produkt "
639
- "hinzuf&uuml;gt"
640
-
641
- #: ../classes/admin/settings/sf-options.php:76
642
- msgid "Left side panel"
643
- msgstr "Produktdaten (Feld auf der linken Seite)"
644
-
645
- #: ../classes/admin/settings/sf-options.php:77
646
- msgid "Hide these areas of the add product page for vendors"
647
- msgstr ""
648
- "Verberge diese Bereiche der Seite Produkt hinzuf&uuml;gen f&uuml;r den "
649
- "Verk&auml;ufer"
650
-
651
- #: ../classes/admin/settings/sf-options.php:91
652
- msgid "Types"
653
- msgstr "Produkttypen"
654
-
655
- #: ../classes/admin/settings/sf-options.php:92
656
- msgid "Hide these product types from the vendor"
657
- msgstr "Verberge diese Produktdaten f&uuml;r den Verk&auml;ufer"
658
-
659
- #: ../classes/admin/settings/sf-options.php:105
660
- msgid "Type options"
661
- msgstr "Produkttyp-Optionen"
662
-
663
- #: ../classes/admin/settings/sf-options.php:106
664
- msgid "Hide these product options from the vendor"
665
- msgstr "Verberge diese Produktoptionen vor dem Verk&auml;ufer"
666
-
667
- #: ../classes/admin/settings/sf-options.php:117
668
- msgid "Miscellaneous"
669
- msgstr "Diverses"
670
-
671
- #: ../classes/admin/settings/sf-options.php:129
672
- msgid "Stylesheet"
673
- msgstr "Stylesheet (CSS)"
674
-
675
- #: ../classes/admin/settings/sf-options.php:130
676
- msgid ""
677
- "You can add CSS in this textarea, which will be loaded on the product add/"
678
- "edit page for vendors."
679
- msgstr ""
680
- "Sie k&ouml;nnen CSS in diesem Textfeld eintragen, welches auf der Seite "
681
- "Produkt hinzuf&uuml;gen/editieren f&uuml;r Verk&auml;ufer angezeigt wird."
682
-
683
- #: ../classes/admin/settings/sf-options.php:136
684
- msgid "Capabilities"
685
- msgstr "Verk&auml;ufer-Rechte"
686
-
687
- #: ../classes/admin/settings/sf-options.php:137
688
- msgid "Permissions"
689
- msgstr "Berechtigungen"
690
-
691
- #: ../classes/admin/settings/sf-options.php:137
692
- msgid "General permissions used around the shop"
693
- msgstr "Allgemeine Berechtigungen rund um den Shop"
694
-
695
- #: ../classes/admin/settings/sf-options.php:140
696
- #: ../classes/class-install.php:205 ../views/dashboard/orders.php:18
697
- msgid "Orders"
698
- msgstr "Bestellungen"
699
-
700
- #: ../classes/admin/settings/sf-options.php:141
701
- msgid "View orders"
702
- msgstr "Bestellungen ansehen"
703
-
704
- #: ../classes/admin/settings/sf-options.php:142
705
- msgid "Show customer details such as email, address, name, etc, for each order"
706
- msgstr ""
707
- "Zeige K&auml;ufer-Details f&uuml;r jede Bestellung, wie z.B. E-Mail-Adresse, "
708
- "Name, etc."
709
-
710
- #: ../classes/admin/settings/sf-options.php:149
711
- msgid "View comments"
712
- msgstr "Bestell-Kommentare ansehen"
713
-
714
- #: ../classes/admin/settings/sf-options.php:150
715
- msgid "View all vendor comments for an order on the frontend"
716
- msgstr ""
717
- "Zeige alle Verk&auml;ufer-Kommentare f&uuml;r eine Bestellung im Frontend."
718
-
719
- #: ../classes/admin/settings/sf-options.php:157
720
- msgid "Submit comments"
721
- msgstr "Bestell-Kommentare hinzuf&uuml;gen"
722
-
723
- #: ../classes/admin/settings/sf-options.php:158
724
- msgid ""
725
- "Submit comments for an order on the frontend. Eg, tracking ID for a product"
726
- msgstr ""
727
- "Kommentare zu einer Bestellung &uuml;ber das Frontend hinzuf&uuml;gen, z.B. "
728
- "die Sendungsverfolgungs-Nr. f&uuml;r ein Produkt."
729
-
730
- #: ../classes/admin/settings/sf-options.php:165
731
- msgid "View email addresses"
732
- msgstr "E-Mail-Adressen ansehen"
733
-
734
- #: ../classes/admin/settings/sf-options.php:166
735
- msgid ""
736
- "While viewing order details on the frontend, you can disable or enable email "
737
- "addresses"
738
- msgstr ""
739
- "Beim Ansehen der Bestelldetails im Frontend, kann hiermit die Anzeige der E-"
740
- "Mail-Adressen der K&auml;fer aktiviert/deaktiviert werden."
741
-
742
- #: ../classes/admin/settings/sf-options.php:173
743
- msgid "Export a CSV file of orders for a product"
744
- msgstr "Bestelldetails eines Produktes als CSV-Datei exportieren"
745
-
746
- #: ../classes/admin/settings/sf-options.php:174
747
- msgid "Vendors could export orders for a product on the frontend"
748
- msgstr ""
749
- "Verk&auml;ufer kann Bestellungen eines Produktes im Frontend exportieren."
750
-
751
- #: ../classes/admin/settings/sf-options.php:181
752
- msgid "Reports"
753
- msgstr "Berichte"
754
-
755
- #: ../classes/admin/settings/sf-options.php:182
756
- msgid "View backend sales reports"
757
- msgstr "Verkaufs-Berichte im Backend ansehen"
758
-
759
- #: ../classes/admin/settings/sf-options.php:183
760
- msgid ""
761
- "Graphs and tables via the Reports page in backend. The reports will only "
762
- "display sales data that pertain to their products"
763
- msgstr ""
764
- "Grafiken und Tabellen in den &Uuml;bersichten im Backend. Die Berichte "
765
- "zeigen nur die Verkaufs-Daten zu den Produkten des jeweiligen Verk&auml;"
766
- "ufers an"
767
-
768
- #: ../classes/admin/settings/sf-options.php:190
769
- msgid "View Frontend sales reports"
770
- msgstr "Verkaufs-Berichte im Frontend ansehen"
771
-
772
- #: ../classes/admin/settings/sf-options.php:191
773
- msgid ""
774
- "Sales table on the frontend on the My Account page. The table will only "
775
- "display sales data that pertain to their products"
776
- msgstr ""
777
- "Verkaufs-&Uuml;bersicht im Frontend auf der Mein Konto-Seite. Die &Uuml;"
778
- "bersicht zeigt nur die Verkaufs-Daten zu den Produkten des jeweiligen "
779
- "Verk&auml;ufers."
780
-
781
- #: ../classes/admin/settings/sf-options.php:199
782
- msgid "Submit products"
783
- msgstr "Produkte hinzuf&uuml;gen"
784
-
785
- #: ../classes/admin/settings/sf-options.php:200
786
- msgid ""
787
- "Vendors could submit a product through the backend, and an admin would "
788
- "approve or deny it"
789
- msgstr ""
790
- "Verk&auml;ufer k&ouml;nnen ein neues Produkt im Backend hinzufügen. Ein "
791
- "Admin kann es dann freischalten oder ablehnen."
792
-
793
- #: ../classes/admin/settings/sf-options.php:207
794
- msgid "Edit live products"
795
- msgstr "Bereits ver&ouml;ffentlichte Produkte bearbeiten"
796
-
797
- #: ../classes/admin/settings/sf-options.php:208
798
- msgid ""
799
- "Vendors could edit an approved product after it has already gone live. There "
800
- "is no approval or review after editing a live product. This could be "
801
- "dangerous with malicious vendors, so take caution."
802
- msgstr ""
803
- "Ist dies aktiviert, k&ouml;nnen Verk&auml;ufer ein bereits freigeschaltetes "
804
- "Product bearbeiten. Es gibt keine erneute Freischaltung der Bearbeitung, "
805
- "also Vorsicht!"
806
-
807
- #: ../classes/admin/settings/sf-options.php:215
808
- msgid "Submit products live without requiring approval"
809
- msgstr ""
810
- "Produkte hinzuf&uuml;gen, ohne dass eine Freischaltung durch den Admin "
811
- "erforderlich ist"
812
-
813
- #: ../classes/admin/settings/sf-options.php:216
814
- msgid ""
815
- "Vendors can submit products without review or approval from a shop admin. "
816
- "This could be dangerous with malicious vendors, so take caution."
817
- msgstr ""
818
- "Ist dies aktiviert, k&ouml;nnen Verk&auml;ufer neue Produkte hinzuf&uuml;"
819
- "gen, ohne dass eine vorherige Freischaltung durch den Admin erforderlich "
820
- "ist. Dies k&ouml;nnte bei b&ouml;swilligen Verk&auml;ufern gef&auml;hrlich "
821
- "sein, daher Vorsicht!"
822
-
823
- #: ../classes/admin/settings/sf-options.php:222
824
- msgid "Pages"
825
- msgstr "Seiten"
826
-
827
- #: ../classes/admin/settings/sf-options.php:223
828
- msgid "Page configuration"
829
- msgstr "Seitenkonfiguration"
830
-
831
- #: ../classes/admin/settings/sf-options.php:226
832
- msgid "Vendor dashboard"
833
- msgstr "Verk&auml;ufer-Seite"
834
-
835
- #: ../classes/admin/settings/sf-options.php:227
836
- msgid ""
837
- "Choose the page that has the shortcode <code>[wcv_vendor_dashboard]</"
838
- "code><br/>By default, My Account > Vendor Dashboard should have the "
839
- "shortcode."
840
- msgstr ""
841
- "W&auml;hle die Seite, die den shortcode <code>[pv_vendor_dashboard]</"
842
- "code><br/> enth&auml;lt. Standardm&auml;&szlig;ig sollte dies Mein Konto > "
843
- "Verk&auml;ufer-Seite sein."
844
-
845
- #: ../classes/admin/settings/sf-options.php:234
846
- msgid "Shop settings"
847
- msgstr "Shop-Einstellungen"
848
-
849
- #: ../classes/admin/settings/sf-options.php:235
850
- msgid ""
851
- "Choose the page that has the shortcode <code>[wcv_shop_settings]</code><br/"
852
- ">These are the shop settings a vendor can configure."
853
- msgstr ""
854
- "W&auml;hle die Seite, die den shortcode <code>[pv_shop_settings]</code><br/> "
855
- "enth&auml;lt. Dies sind die Shop-Einstellungen, die ein Verk&auml;ufer "
856
- "vornehmen kann."
857
-
858
- #: ../classes/admin/settings/sf-options.php:242
859
- msgid "Orders page"
860
- msgstr "Bestellungsseite"
861
-
862
- #: ../classes/admin/settings/sf-options.php:243
863
- msgid ""
864
- "Choose the page that has the shortcode <code>[wcv_orders]</code><br/>By "
865
- "default, My Account > Orders should have the shortcode."
866
- msgstr ""
867
- "W&auml;hle die Seite, die den shortcode <code>[pv_orders]</code><br/> "
868
- "enth&auml;lt. Standardm&auml;&szlig;ig sollte dies Mein Konto > Bestellungen "
869
- "sein."
870
-
871
- #: ../classes/admin/settings/sf-options.php:250
872
- msgid "Vendor terms"
873
- msgstr "Verk&auml;ufer-Bedingungen"
874
-
875
- #: ../classes/admin/settings/sf-options.php:251
876
- msgid ""
877
- "These terms are shown to a user when submitting an application to become a "
878
- "vendor.<br/>If left blank, no terms will be shown to the applicant."
879
- msgstr ""
880
- "Diese Bedingungen werden einem Benutzer angezeigt, wenn er sich als "
881
- "Verk&auml;ufer bewirbt.<br/>Falls leer gelassen, werden dem Bewerber keine "
882
- "Bedingungen angezeigt."
883
-
884
- #: ../classes/admin/settings/sf-options.php:269
885
- msgid "Payments"
886
- msgstr "Auszahlungen"
887
-
888
- #: ../classes/admin/settings/sf-options.php:271
889
- msgid "User payments"
890
- msgstr "Benutzer-Zahlungen"
891
-
892
- #: ../classes/admin/settings/sf-options.php:272
893
- #, php-format
894
- msgid "Total commission currently due: %s. <a href=\"%s\">View details</a>."
895
- msgstr ""
896
- "Gesamte derzeit ausstehende Provision: %s. <a href=\"%s\">Zeige Details</a>."
897
-
898
- #: ../classes/admin/settings/sf-options.php:273
899
- #, php-format
900
- msgid ""
901
- "Make sure you update your PayPal Adaptive Payments settings <a href=\"%s"
902
- "\">here</a>."
903
- msgstr ""
904
- "Stellen Sie sicher, dass die PayPal Adaptive Payments Einstellungen <a href="
905
- "\"%s\"> korrekt sind</a>."
906
-
907
- #: ../classes/admin/settings/sf-options.php:277
908
- msgid "Instant pay"
909
- msgstr "Sofortzahlung"
910
-
911
- #: ../classes/admin/settings/sf-options.php:278
912
- msgid "Instantly pay vendors their commission when an order is made"
913
- msgstr ""
914
- "Zahlt dem Verk&auml;ufer seine Provision automatisch sofort, wenn eine "
915
- "Bestellung für eines seiner Produkte erfolgt ist."
916
-
917
- #: ../classes/admin/settings/sf-options.php:279
918
- msgid ""
919
- "For this to work, customers must checkout with the PayPal Adaptive Payments "
920
- "gateway. Using other gateways will not pay vendors instantly"
921
- msgstr ""
922
- "Damit dies funktioniert, müssen Kunden via PayPal Adaptive Payments "
923
- "auschecken.Bei anderen Bezahlmethoden wird der Verkäufer nicht direkt bezahlt"
924
-
925
- #: ../classes/admin/settings/sf-options.php:286
926
- msgid "Payment schedule"
927
- msgstr "Zeitplan f&uuml;r Zahlungen"
928
-
929
- #: ../classes/admin/settings/sf-options.php:287
930
- msgid "Note: Schedule will only work if instant pay is unchecked"
931
- msgstr ""
932
- "Hinweis: Zeitplan funktioniert nur, wenn sofortige Zahlung deaktiviert ist."
933
-
934
- #: ../classes/admin/settings/sf-options.php:292
935
- msgid "Weekly"
936
- msgstr "W&ouml;chentlich"
937
-
938
- #: ../classes/admin/settings/sf-options.php:293
939
- msgid "Biweekly"
940
- msgstr "Zweiw&ouml;chentlich"
941
-
942
- #: ../classes/admin/settings/sf-options.php:294
943
- msgid "Monthly"
944
- msgstr "Monatlich"
945
-
946
- #: ../classes/admin/settings/sf-options.php:295
947
- msgid "Manual"
948
- msgstr "Manuell"
949
-
950
- #: ../classes/admin/settings/sf-options.php:296
951
- msgid "Now"
952
- msgstr "Sofort"
953
-
954
- #: ../classes/admin/settings/sf-options.php:301
955
- msgid "Email notification"
956
- msgstr "E-Mail-Benachrichtigung"
957
-
958
- #: ../classes/admin/settings/sf-options.php:302
959
- msgid ""
960
- "Send the WooCommerce admin an email each time a payment has been made via "
961
- "the payment schedule options above"
962
- msgstr ""
963
- "Sendet dem WooCommerce-Admin eine automatische E-Mail, wenn eine Zahlung auf "
964
- "Grund des Zahlungsplans ausgef&uuml;hrt wurde."
965
-
966
- #: ../classes/class-cron.php:87
967
- #, php-format
968
- msgid "Payment total: %s"
969
- msgstr "Zahlung gesamt: %s"
970
-
971
- #: ../classes/class-cron.php:148
972
- msgid "Once Weekly"
973
- msgstr "Einmal w&ouml;chentlich"
974
-
975
- #: ../classes/class-cron.php:153
976
- msgid "Once every two weeks"
977
- msgstr "Alle zweite Woche"
978
-
979
- #: ../classes/class-cron.php:158
980
- msgid "Once a month"
981
- msgstr "Einmal im Monat"
982
-
983
- #: ../classes/class-install.php:99 ../classes/class-install.php:253
984
- msgid "Pending Vendor"
985
- msgstr "Freizuschaltender Verk&auml;ufer"
986
-
987
- #: ../classes/class-install.php:204
988
- msgid "Vendor Dashboard"
989
- msgstr "Verk&auml;ufer-Seite"
990
-
991
- #: ../classes/class-install.php:206
992
- msgid "Shop Settings"
993
- msgstr "Shop-Einstellungen"
994
-
995
- #: ../classes/front/class-vendor-cart.php:41
996
- #: ../classes/front/class-vendor-shop.php:255
997
- msgid "Sold by"
998
- msgstr "Verkauft von"
999
-
1000
- #: ../classes/front/dashboard/class-vendor-dashboard.php:41
1001
- msgid "Order unmarked shipped."
1002
- msgstr "Bestellung nicht als versandt markiert"
1003
-
1004
- #: ../classes/front/dashboard/class-vendor-dashboard.php:51
1005
- msgid "Order marked shipped."
1006
- msgstr "Bestellung als versandt markiert."
1007
-
1008
- #: ../classes/front/dashboard/class-vendor-dashboard.php:69
1009
- msgid "Your PayPal address is not a valid email address."
1010
- msgstr "Ihre PayPal-Adresse ist keine g&uuml;ltige E-Mail-Adresse."
1011
-
1012
- #: ../classes/front/dashboard/class-vendor-dashboard.php:78
1013
- msgid "That shop name is already taken. Your shop name must be unique."
1014
- msgstr ""
1015
- "Dieser Shopname ist bereits vergeben. Ihr Shopname muss einzigartig sein."
1016
-
1017
- #: ../classes/front/orders/class-export-csv.php:37
1018
- msgid "Extra data"
1019
- msgstr "Zus&auml;tzliche Daten"
1020
-
1021
- #: ../classes/front/orders/class-export-csv.php:38
1022
- #: ../views/dashboard/reports.php:18 ../views/emails/admin-new-order.php:23
1023
- #: ../views/emails/notify-vendor-shipped.php:23
1024
- msgid "Quantity"
1025
- msgstr "Menge"
1026
-
1027
- #: ../classes/front/orders/class-orders.php:107
1028
- msgid ""
1029
- "You haven't selected a product's orders to view! Please go back to the "
1030
- "Vendor Dashboard and click Show Orders on the product you'd like to view."
1031
- msgstr ""
1032
- "Sie haben keine Produktbestellungen ausgewählt! Bitte gehen Sie zurück zur "
1033
- "Verk&auml;ferseite und klicken Sie auf Zeige Bestellungen bei dem Produkt, "
1034
- "das Sie ansehen wollen."
1035
-
1036
- #: ../classes/front/orders/class-orders.php:111
1037
- msgid "No orders."
1038
- msgstr "Keine Bestellungen."
1039
-
1040
- #: ../classes/front/orders/class-orders.php:144
1041
- #: ../classes/front/orders/class-orders.php:145
1042
- msgid "Tracking number"
1043
- msgstr "Sendungsnummer"
1044
-
1045
- #: ../classes/front/orders/class-orders.php:147
1046
- msgid "Success. Your tracking number has been updated."
1047
- msgstr "Erfolgreich. Ihre Sendungsnummer wurde aktualisiert."
1048
-
1049
- #: ../classes/front/orders/class-orders.php:209
1050
- msgid "Product Title"
1051
- msgstr "Produkttitel"
1052
-
1053
- #: ../classes/front/orders/class-orders.php:210
1054
- msgid "Full name"
1055
- msgstr "Vollst&auml;ndiger Name"
1056
-
1057
- #: ../classes/front/orders/class-orders.php:211
1058
- msgid "Address"
1059
- msgstr "Adresse"
1060
-
1061
- #: ../classes/front/orders/class-orders.php:212
1062
- msgid "City"
1063
- msgstr "Stadt"
1064
-
1065
- #: ../classes/front/orders/class-orders.php:213
1066
- msgid "State"
1067
- msgstr "Bundesland"
1068
-
1069
- #: ../classes/front/orders/class-orders.php:214
1070
- msgid "Zip"
1071
- msgstr "PLZ"
1072
-
1073
- #: ../classes/front/orders/class-orders.php:215
1074
- msgid "Email address"
1075
- msgstr "E-Mail-Adresse"
1076
-
1077
- #: ../classes/front/orders/class-submit-comment.php:41
1078
- msgid "You've left the comment field empty!"
1079
- msgstr "Sie haben das Kommentar-Feld leer gelassen!"
1080
-
1081
- #: ../classes/front/orders/class-submit-comment.php:63
1082
- msgid "Success. The customer has been notified of your comment."
1083
- msgstr "Erfolgreich. Der Kunde wurde über ihr Kommentar informiert."
1084
-
1085
- #: ../classes/front/signup/class-vendor-signup.php:44
1086
- #: ../views/dashboard/denied.php:22
1087
- msgid "Apply to become a vendor? "
1088
- msgstr "Als Verk&auml;ufer bewerben?"
1089
-
1090
- #: ../classes/front/signup/class-vendor-signup.php:53
1091
- #: ../views/dashboard/denied.php:33
1092
- #, php-format
1093
- msgid "I have read and accepted the <a href=\"%s\">terms and conditions</a>"
1094
- msgstr ""
1095
- "Ich habe die <a href=\"%s\">Gesch&auml;ftsbedingungen</a> gelesen und "
1096
- "akzeptiert"
1097
-
1098
- #: ../classes/front/signup/class-vendor-signup.php:87
1099
- msgid "Application denied. You are an administrator."
1100
- msgstr "Bewerbung abgelehnt. Sie sind Administrator."
1101
-
1102
- #: ../classes/front/signup/class-vendor-signup.php:89
1103
- msgid "Your application has been submitted."
1104
- msgstr "Ihre Bewerbung wurde eingereicht."
1105
-
1106
- #: ../classes/front/signup/class-vendor-signup.php:125
1107
- msgid "You must accept the terms and conditions to become a vendor."
1108
- msgstr ""
1109
- "Sie m&uuml;ssen die AGBs akzeptieren um Verk&auml;ufer werden zu k&ouml;nnen."
1110
-
1111
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:43
1112
- msgid "PayPal Adaptive Payments"
1113
- msgstr "PayPal Adaptive Payments"
1114
-
1115
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:119
1116
- #, php-format
1117
- msgid ""
1118
- "Something went wrong. Response from PayPal invalidated this order. Status: "
1119
- "%s."
1120
- msgstr ""
1121
- "Ein Fehler ist aufgetreten. Die Antwort von PayPl hat diese Bestellung als "
1122
- "ung&uuml;ltig gekennzeichnet. Status: %s."
1123
-
1124
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:124
1125
- msgid "IPN payment completed"
1126
- msgstr "IPN Zahlung abgeschlossen"
1127
-
1128
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:146
1129
- msgid "Enable PayPal Adaptive Payments"
1130
- msgstr "PayPal Adaptive Payments aktivieren"
1131
-
1132
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:152
1133
- msgid "Method Title"
1134
- msgstr "Methoden-&Uuml;berschrift"
1135
-
1136
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:153
1137
- msgid "This controls the title which the user sees during checkout."
1138
- msgstr ""
1139
- "Hier wird der Titel eingestellt, den der Benutzer w&auml;hrend des "
1140
- "Abschlusses an der Kasse sieht."
1141
-
1142
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:154
1143
- msgid "PayPal"
1144
- msgstr "PayPal"
1145
-
1146
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:159
1147
- msgid "Description"
1148
- msgstr "Beschreibung"
1149
-
1150
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:160
1151
- msgid "This controls the description which the user sees during checkout."
1152
- msgstr ""
1153
- "Hier wird der Text eingestellt, den der Benutzer w&auml;hrend des "
1154
- "Abschlusses an der Kasse sieht."
1155
-
1156
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:161
1157
- msgid "Pay via PayPal!"
1158
- msgstr "Zahlen via PayPal!"
1159
-
1160
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:172
1161
- msgid "Live Credentials"
1162
- msgstr "Live Berechtigungen"
1163
-
1164
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:174
1165
- #, php-format
1166
- msgid ""
1167
- "You must have an <a href=\"%s\">Application ID</a> to process live "
1168
- "transactions. You do not need one for testing in Sandbox mode."
1169
- msgstr ""
1170
- "Sie ben&ouml;tigen eine <a href=\"%s\">Application ID</a> um Live-"
1171
- "Transaktionen auszuf&uuml;hren. Nicht erforderlich zum Testen im Sandbox-"
1172
- "Modus."
1173
-
1174
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:179
1175
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:213
1176
- msgid "PayPal Email"
1177
- msgstr "PayPal E-Mail"
1178
-
1179
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:180
1180
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:214
1181
- msgid "The email address main payments should go to."
1182
- msgstr "Die E-Mail-Adresse, an die die Hauptzahlungen gehen sollten."
1183
-
1184
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:185
1185
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:219
1186
- msgid "API Username"
1187
- msgstr "API Benutzername"
1188
-
1189
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:190
1190
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:224
1191
- msgid "API Password"
1192
- msgstr "API Passwort"
1193
-
1194
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:195
1195
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:229
1196
- msgid "API Signature"
1197
- msgstr "API Signatur"
1198
-
1199
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:200
1200
- msgid "Application ID"
1201
- msgstr "Application ID"
1202
-
1203
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:202
1204
- msgid "Only required when doing live transactions."
1205
- msgstr "Nur erforderlich, wenn Live-Zahlungen genutzt werden."
1206
-
1207
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:206
1208
- msgid "Sandbox Credentials"
1209
- msgstr "Sandbox Berechtigung"
1210
-
1211
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:208
1212
- #, php-format
1213
- msgid ""
1214
- "You can signup for a sandbox developer account <a href=\"%s\">here</a>. You "
1215
- "need a developer account if you want to enable Sandbox mode for testing."
1216
- msgstr ""
1217
- "Sie k&ouml;nnen sich f&uuml;r einen Sandbox Developer Account <a href=\"%s"
1218
- "\">hier</a> anmelden. Sie ben&ouml;tigen einen Entwickler Account, wenn Sie "
1219
- "den Sandbox-Modus zum Testen aktivieren wollen."
1220
-
1221
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:240
1222
- msgid "Misc. Settings"
1223
- msgstr "Einstellungen"
1224
-
1225
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:245
1226
- msgid "Enable PayPal Sandbox mode"
1227
- msgstr "PayPal Sandbox-Modus aktivieren"
1228
-
1229
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:251
1230
- msgid "Enable logging"
1231
- msgstr "Logging aktivieren"
1232
-
1233
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:269
1234
- msgid ""
1235
- "The PayPal Adaptive Payments gateway can instantly pay your vendors their "
1236
- "due commission (if enabled). Also used to mass pay vendors on a schedule / "
1237
- "manual method (if enabled)."
1238
- msgstr ""
1239
- "Der PayPal Adaptive Payments Gateway kann Ihren Verk&auml;ufern sofort nach "
1240
- "einem Verkauf die angefallene Provision automatisch auszahlen(sofern "
1241
- "aktiviert). Es wird auch benutzt, um Massenzahlungen an die Verk&auml;ufer - "
1242
- "manuell oder nach Zeitplan - auszuf&uuml;hren."
1243
-
1244
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:280
1245
- msgid "Gateway Disabled"
1246
- msgstr "Gateway deaktiviert"
1247
-
1248
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:280
1249
- #, php-format
1250
- msgid "%s does not support your store currency."
1251
- msgstr "%s unterst&uuml;tzt nicht die im Shop eingestellte W&auml;hrung."
1252
-
1253
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:369
1254
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:483
1255
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:150
1256
- #, php-format
1257
- msgid "Error: %s"
1258
- msgstr "Fehler: %s"
1259
-
1260
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:378
1261
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:379
1262
- #, php-format
1263
- msgid "Error ID: %s. %s"
1264
- msgstr "Fehler-ID: %s. %s"
1265
-
1266
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:115
1267
- msgid "No vendors found to pay. Maybe they haven't set a PayPal address?"
1268
- msgstr ""
1269
- "Keine Verk&auml;ufer gefunden, an die gezahlt werden kann. Vielleicht haben "
1270
- "diese keine PayPal-Adresse hinterlegt?"
1271
-
1272
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:164
1273
- msgid "All due commission has been paid for."
1274
- msgstr "Alle ausstehenden Provisionszahlungen wurden ausgezahlt."
1275
-
1276
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:170
1277
- msgid ""
1278
- "All due commission has been paid for, but I could not clear it from their "
1279
- "profiles due to an internal error. Commission will still be listed as due. "
1280
- "Please manually mark the commission as paid from the Commissions page."
1281
- msgstr ""
1282
- "Alle offenen Provisionen wurden ausgezahlt. Auf Grund eines internen Fehlers "
1283
- "konnten die Provisionen aber nicht auf den Status bezahlt gesetzt werden. "
1284
- "Die Provisionen werden weiterhin als offen gelistet. Bitte manuell auf "
1285
- "bezahlt setzen."
1286
-
1287
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:205
1288
- msgid "WooCommerce: Mass payments for vendors update"
1289
- msgstr "WooCommerce: Massenzahlung für Verk&auml;fer Update"
1290
-
1291
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:207
1292
- msgid ""
1293
- "Hello! A payment was just triggered to mass pay all vendors their due "
1294
- "commission."
1295
- msgstr ""
1296
- "Hallo! Eine Massenzahlung wurde so eben ausgel&ouml;st um allen Verk&auml;"
1297
- "ufern ihre ausstehenden Provisionen zu zahlen."
1298
-
1299
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:208
1300
- #, php-format
1301
- msgid "Payment status: %s."
1302
- msgstr "Auszahlungsstatus: %s"
1303
-
1304
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:209
1305
- #, php-format
1306
- msgid "Payment message: %s."
1307
- msgstr "Nachricht zur Zahlung: %s"
1308
-
1309
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:212
1310
- #, php-format
1311
- msgid "Payment total: %s."
1312
- msgstr "Zahlung gesamt: %s"
1313
-
1314
- #: ../views/dashboard/denied.php:8
1315
- msgid ""
1316
- "Your account has not yet been approved to become a vendor. When it is, you "
1317
- "will receive an email telling you that your account is approved!"
1318
- msgstr ""
1319
- "Ihr Benutzerprofil ist noch nicht als Verk&auml;ufer-Account freigeschaltet. "
1320
- "Sie erhalten eine E-Mail sobald dies geschehen ist."
1321
-
1322
- #: ../views/dashboard/denied.php:12
1323
- msgid ""
1324
- "Your account is not setup as a vendor yet. If you would like to register, "
1325
- "please complete this page!"
1326
- msgstr ""
1327
- "Ihr Benutzerprofil ist noch nicht als Verk&auml;ufer freigeschaltet. Sollten "
1328
- "Sie sich bewerben wollen, füllen Sie bitte diese Seite aus!"
1329
-
1330
- #: ../views/dashboard/denied.php:53
1331
- msgid "Submit"
1332
- msgstr "Absenden"
1333
-
1334
- #: ../views/dashboard/links.php:1
1335
- msgid "Control Center"
1336
- msgstr "Kontrollzentrum"
1337
-
1338
- #: ../views/dashboard/links.php:3
1339
- msgid "My shop"
1340
- msgstr "Mein Shop"
1341
-
1342
- #: ../views/dashboard/links.php:7
1343
- msgid "My settings"
1344
- msgstr "Meine Einstellungen"
1345
-
1346
- #: ../views/dashboard/links.php:13
1347
- msgid "Submit a product"
1348
- msgstr "Produkt hinzuf&uuml;gen"
1349
-
1350
- #: ../views/dashboard/orders.php:7 ../views/dashboard/orders.php:10
1351
- msgid "Hide items"
1352
- msgstr "Produkte verstecken"
1353
-
1354
- #: ../views/dashboard/orders.php:8 ../views/dashboard/orders.php:58
1355
- msgid "View items"
1356
- msgstr "Produkte anzeigen"
1357
-
1358
- #: ../views/dashboard/orders.php:27
1359
- msgid "Links"
1360
- msgstr "Links"
1361
-
1362
- #: ../views/dashboard/orders.php:58
1363
- msgid "Unmark shipped"
1364
- msgstr "Markierung als versandt aufheben"
1365
-
1366
- #: ../views/dashboard/orders.php:58
1367
- msgid "Mark shipped"
1368
- msgstr "Als versandt markieren"
1369
-
1370
- #: ../views/dashboard/orders.php:90
1371
- msgid "You have no orders during this period."
1372
- msgstr "Sie haben keine Bestellungen in diesem Zeitraum."
1373
-
1374
- #: ../views/dashboard/reports.php:1
1375
- msgid "Sales Report"
1376
- msgstr "Verkauf-Bericht"
1377
-
1378
- #: ../views/dashboard/reports.php:20
1379
- msgid "Rate"
1380
- msgstr "Quote"
1381
-
1382
- #: ../views/dashboard/reports.php:47
1383
- msgid "Show Orders"
1384
- msgstr "Zeige Bestellungen"
1385
-
1386
- #: ../views/dashboard/reports.php:56
1387
- msgid "Totals"
1388
- msgstr "Gesamt"
1389
-
1390
- #: ../views/dashboard/reports.php:71
1391
- msgid "You have no sales during this period."
1392
- msgstr "Sie haben keine Verk&auml;ufe innerhalb dieses Zeitraums."
1393
-
1394
- #: ../views/dashboard/reports.php:82
1395
- msgid "You haven't made any sales yet."
1396
- msgstr "Sie haben noch nichts verkauft."
1397
-
1398
- #: ../views/dashboard/settings/paypal-email-form.php:2
1399
- msgid "PayPal Address"
1400
- msgstr "PayPal-Adresse"
1401
-
1402
- #: ../views/dashboard/settings/paypal-email-form.php:3
1403
- msgid "Your PayPal address is used to send you your commission."
1404
- msgstr ""
1405
- "Ihre PayPal-Adresse wird verwendet, um angefallene Provisionen auszuzahlen."
1406
-
1407
- #: ../views/dashboard/settings/seller-info.php:4
1408
- msgid "This is displayed on each of your products."
1409
- msgstr "Dies wird bei jedem Ihrer Produkte angezeigt."
1410
-
1411
- #: ../views/dashboard/settings/settings.php:47
1412
- msgid "Save"
1413
- msgstr "Speichern"
1414
-
1415
- #: ../views/dashboard/settings/shop-description.php:2
1416
- msgid "Shop Description"
1417
- msgstr "Shop-Beschreibung"
1418
-
1419
- #: ../views/dashboard/settings/shop-description.php:3
1420
- #, php-format
1421
- msgid "This is displayed on your <a href=\"%s\">shop page</a>."
1422
- msgstr "Dies wird auf Ihrer <a href=\"%s\">Shop-Seite</a> angezeigt."
1423
-
1424
- #: ../views/dashboard/settings/shop-name.php:2
1425
- msgid "Shop Name"
1426
- msgstr "Shop-Name"
1427
-
1428
- #: ../views/dashboard/settings/shop-name.php:3
1429
- msgid "Your shop name is public and must be unique."
1430
- msgstr "Ihr Shop-Name ist &ouml;ffentlich und muss einzigartig sein."
1431
-
1432
- #: ../views/emails/admin-new-order.php:13
1433
- #, php-format
1434
- msgid "You have received an order from %s. Their order is as follows:"
1435
- msgstr "Sie haben eine Bestellung von %s erhalten. Diese Bestellung lautet:"
1436
-
1437
- #: ../views/emails/admin-new-order.php:17
1438
- #: ../views/emails/notify-vendor-shipped.php:17
1439
- #, php-format
1440
- msgid "Order: %s"
1441
- msgstr "Bestellung: %s"
1442
-
1443
- #: ../views/emails/admin-new-order.php:24
1444
- #: ../views/emails/notify-vendor-shipped.php:24
1445
- msgid "Price"
1446
- msgstr "Preis"
1447
-
1448
- #: ../views/emails/admin-new-order.php:50
1449
- #: ../views/emails/notify-vendor-shipped.php:50
1450
- msgid "Customer details"
1451
- msgstr "Kundendetails"
1452
-
1453
- #: ../views/emails/admin-new-order.php:53
1454
- #: ../views/emails/notify-vendor-shipped.php:53
1455
- msgid "Email:"
1456
- msgstr "E-Mail:"
1457
-
1458
- #: ../views/emails/admin-new-order.php:56
1459
- #: ../views/emails/notify-vendor-shipped.php:56
1460
- msgid "Tel:"
1461
- msgstr "Tel:"
1462
-
1463
- #: ../views/emails/application-status.php:5
1464
- #, php-format
1465
- msgid "Hi there. This is a notification about a vendor application on %s."
1466
- msgstr ""
1467
- "Hallo. Dies ist eine Benachrichtigung für eine Verk&auml;ufer-Bewerbung auf "
1468
- "%s."
1469
-
1470
- #: ../views/emails/application-status.php:8
1471
- #, php-format
1472
- msgid "Application status: %s"
1473
- msgstr "Bewerbungs-Status: %s"
1474
-
1475
- #: ../views/emails/application-status.php:9
1476
- #, php-format
1477
- msgid "Applicant username: %s"
1478
- msgstr "Bewerbungs-Benutzername: %s"
1479
-
1480
- #: ../views/emails/new-product.php:5
1481
- #, php-format
1482
- msgid "Hi there. This is a notification about a new product on %s."
1483
- msgstr "Hallo. Dies ist eine Benachrichtigung für ein neues Produkt auf %s."
1484
-
1485
- #: ../views/emails/new-product.php:8
1486
- #, php-format
1487
- msgid "Product title: %s"
1488
- msgstr "Produkttitel: %s"
1489
-
1490
- #: ../views/emails/new-product.php:9
1491
- #, php-format
1492
- msgid "Submitted by: %s"
1493
- msgstr "Eingereicht von: %s"
1494
-
1495
- #: ../views/emails/new-product.php:10
1496
- #, php-format
1497
- msgid "Edit product: %s"
1498
- msgstr "Produkte bearbeiten: %s"
1499
-
1500
- #: ../views/emails/notify-vendor-shipped.php:13
1501
- msgid ""
1502
- "A vendor has marked part of your order as shipped. The items that are "
1503
- "shipped are as follows:"
1504
- msgstr ""
1505
- "Ein Verk&auml;ufer hat Teil Ihrer Bestellung als versandt markiert. Die "
1506
- "versandten Produkte sind wie folgt:"
1507
-
1508
- #: ../views/orders/comments/add-new-comment.php:11
1509
- msgid "Add comment"
1510
- msgstr "Kommentar hinzuf&uuml;gen"
1511
-
1512
- #: ../views/orders/comments/existing-comments.php:9
1513
- #, php-format
1514
- msgid "added %s ago"
1515
- msgstr "hinzugef&uuml;gt vor %s"
1516
-
1517
- #: ../views/orders/csv-export.php:6
1518
- msgid "Export orders"
1519
- msgstr "Bestellungen exportieren"
1520
-
1521
- #: ../views/orders/customer-note/customer-note.php:4
1522
- msgid "Customer note"
1523
- msgstr "Kunden-Benachrichtigung"
1524
-
1525
- #: ../views/orders/customer-note/customer-note.php:8
1526
- msgid "No customer note."
1527
- msgstr "Keine Kunden-Benachrichtung"
1528
-
1529
- #: ../views/orders/orders.php:84
1530
- #, php-format
1531
- msgid "Comments (%s)"
1532
- msgstr "Kommentare (%s)"
1533
-
1534
- #: ../views/orders/shipping/shipping-form.php:46
1535
- msgid "Provider:"
1536
- msgstr "Versandunternehmen:"
1537
-
1538
- #: ../views/orders/shipping/shipping-form.php:48
1539
- msgid "Custom Provider"
1540
- msgstr "Benutzerdefiniertes Versandunternehmen"
1541
-
1542
- #: ../views/orders/shipping/shipping-form.php:68
1543
- msgid "Provider Name:"
1544
- msgstr "Name des Versandunternehmens:"
1545
-
1546
- #: ../views/orders/shipping/shipping-form.php:76
1547
- msgid "Tracking number:"
1548
- msgstr "Sendungsnummer:"
1549
-
1550
- #: ../views/orders/shipping/shipping-form.php:84
1551
- msgid "Tracking link:"
1552
- msgstr "Link zur Sendungsverfolgung:"
1553
-
1554
- #: ../views/orders/shipping/shipping-form.php:93
1555
- msgid "Date shipped:"
1556
- msgstr "Versanddatum:"
1557
-
1558
- #: ../views/orders/shipping/shipping-form.php:101
1559
- msgid "Preview:"
1560
- msgstr "Vorschau:"
1561
-
1562
- #: ../views/orders/shipping/shipping-form.php:101
1563
- msgid "Click here to track your shipment"
1564
- msgstr "Hier klicken, um Ihre Sendung zu verfolgen"
1565
-
1566
- #: ../views/orders/shipping/shipping-form.php:110
1567
- msgid "Update tracking number"
1568
- msgstr "Sendungsnummer aktualisieren"
1569
-
1570
- #: ../views/orders/shipping/shipping-form.php:112
1571
- msgid "Mark as shipped"
1572
- msgstr "Als versandt markieren"
1573
-
1574
- #: ../views/orders/table-body.php:25
1575
- #, php-format
1576
- msgid "Quantity: %d"
1577
- msgstr "Menge: %d"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/languages/wcvendors-it_IT.mo DELETED
Binary file
WCVendors/languages/wcvendors-it_IT.po DELETED
@@ -1,1676 +0,0 @@
1
- # Woocommerce translation strings
2
- # Copyright (C) 2011-2012
3
- # This file is distributed under the same license as the Woocommerce package.
4
- # Last Updated: August 17, 2013.
5
- msgid ""
6
- msgstr ""
7
- "Project-Id-Version: WC Vendors\n"
8
- "Report-Msgid-Bugs-To: Woocommerce <info@Woocommerce.com>\n"
9
- "POT-Creation-Date: 2015-01-08 14:31+1000\n"
10
- "PO-Revision-Date: 2015-01-26 18:10+0100\n"
11
- "Last-Translator: ItsEasy <ncurioni@itseasy.com>\n"
12
- "Language-Team: Nicole Curioni | NC web.design <info@nicolecurioni.com>\n"
13
- "Language: it_IT\n"
14
- "MIME-Version: 1.0\n"
15
- "Content-Type: text/plain; charset=UTF-8\n"
16
- "Content-Transfer-Encoding: 8bit\n"
17
- "X-Generator: Poedit 1.7.3\n"
18
- "X-Poedit-SourceCharset: UTF-8\n"
19
-
20
- #: ../classes/admin/class-admin-page.php:28
21
- msgid "Vendors shipped"
22
- msgstr "Il venditore ha spedito"
23
-
24
- #: ../classes/admin/class-admin-page.php:51
25
- msgid "Vendors Shipped"
26
- msgstr "Il venditore ha spedito"
27
-
28
- #: ../classes/admin/class-admin-page.php:73
29
- #: ../classes/admin/class-admin-page.php:133
30
- #: ../classes/admin/class-admin-reports.php:345
31
- #: ../classes/admin/class-product-meta.php:148
32
- #: ../classes/admin/class-product-meta.php:164
33
- #: ../views/dashboard/reports.php:19
34
- msgid "Commission"
35
- msgstr "Commissione"
36
-
37
- #: ../classes/admin/class-admin-page.php:252
38
- #: ../classes/admin/class-admin-reports.php:175
39
- #: ../views/dashboard/reports.php:17 ../views/emails/admin-new-order.php:22
40
- #: ../views/emails/notify-vendor-shipped.php:22
41
- msgid "Product"
42
- msgstr "Prodotto"
43
-
44
- #: ../classes/admin/class-admin-page.php:253
45
- msgid "Order ID"
46
- msgstr "ID ordine"
47
-
48
- #: ../classes/admin/class-admin-page.php:254
49
- #: ../classes/admin/class-admin-reports.php:176
50
- #: ../classes/admin/class-product-meta.php:44
51
- #: ../classes/admin/class-product-meta.php:184
52
- #: ../classes/admin/class-product-meta.php:220
53
- msgid "Vendor"
54
- msgstr "Venditore"
55
-
56
- #: ../classes/admin/class-admin-page.php:255
57
- #: ../classes/admin/class-admin-reports.php:177
58
- #: ../classes/admin/class-admin-reports.php:350
59
- #: ../classes/admin/class-admin-reports.php:374
60
- #: ../views/dashboard/orders.php:25
61
- msgid "Total"
62
- msgstr "Totale"
63
-
64
- #: ../classes/admin/class-admin-page.php:256
65
- #: ../classes/admin/class-admin-reports.php:179
66
- msgid "Status"
67
- msgstr "Stato"
68
-
69
- #: ../classes/admin/class-admin-page.php:257
70
- #: ../classes/front/orders/class-orders.php:216
71
- #: ../views/dashboard/orders.php:26
72
- msgid "Date"
73
- msgstr "Data"
74
-
75
- #: ../classes/admin/class-admin-page.php:294
76
- msgid "Mark paid"
77
- msgstr "Segna come pagato"
78
-
79
- #: ../classes/admin/class-admin-page.php:295
80
- msgid "Mark due"
81
- msgstr "Segna come dovuto"
82
-
83
- #: ../classes/admin/class-admin-page.php:296
84
- msgid "Mark reversed"
85
- msgstr "Segna come revocato"
86
-
87
- #: ../classes/admin/class-admin-page.php:313
88
- msgid "Filter"
89
- msgstr "Filtro"
90
-
91
- #: ../classes/admin/class-admin-page.php:347
92
- msgid "Show all dates"
93
- msgstr "Visualizza tutti i dati"
94
-
95
- #: ../classes/admin/class-admin-page.php:360
96
- #, php-format
97
- msgid "%1$s %2$d"
98
- msgstr "%1$s %2$d"
99
-
100
- #: ../classes/admin/class-admin-page.php:386
101
- msgid "Commission marked paid."
102
- msgstr "Commissione segnata come pagata."
103
-
104
- #: ../classes/admin/class-admin-page.php:393
105
- msgid "Commission marked due."
106
- msgstr "Commissione segnata come dovuta."
107
-
108
- #: ../classes/admin/class-admin-page.php:400
109
- msgid "Commission marked reversed."
110
- msgstr "Commissione segnata come revocata."
111
-
112
- #: ../classes/admin/class-admin-reports.php:41
113
- #: ../classes/admin/class-admin-users.php:349
114
- msgid "WC Vendors"
115
- msgstr "WC Vendors"
116
-
117
- #: ../classes/admin/class-admin-reports.php:44
118
- msgid "Overview"
119
- msgstr "Panoramica"
120
-
121
- #: ../classes/admin/class-admin-reports.php:50
122
- msgid "Commission by vendor"
123
- msgstr "Commissione del venditore"
124
-
125
- #: ../classes/admin/class-admin-reports.php:56
126
- msgid "Commission by product"
127
- msgstr "Commissione del prodotto"
128
-
129
- #: ../classes/admin/class-admin-reports.php:115
130
- #: ../views/dashboard/date-picker.php:3
131
- msgid "From:"
132
- msgstr "Da:"
133
-
134
- #: ../classes/admin/class-admin-reports.php:119
135
- #: ../views/dashboard/date-picker.php:7
136
- msgid "To:"
137
- msgstr "A:"
138
-
139
- #: ../classes/admin/class-admin-reports.php:122
140
- #: ../classes/admin/class-admin-reports.php:283
141
- #: ../views/dashboard/date-picker.php:12
142
- msgid "Show"
143
- msgstr "Mostra"
144
-
145
- #: ../classes/admin/class-admin-reports.php:133
146
- msgid "Total paid in range"
147
- msgstr "Totale pagato in gamma"
148
-
149
- #: ../classes/admin/class-admin-reports.php:136
150
- #: ../classes/admin/class-admin-reports.php:143
151
- #: ../classes/admin/class-admin-reports.php:150
152
- msgid "n/a"
153
- msgstr "n/a"
154
-
155
- #: ../classes/admin/class-admin-reports.php:140
156
- msgid "Total due in range"
157
- msgstr "Totale dovuto nel range"
158
-
159
- #: ../classes/admin/class-admin-reports.php:147
160
- msgid "Total reversed in range"
161
- msgstr "Totale invertita nel range"
162
-
163
- #: ../classes/admin/class-admin-reports.php:157
164
- msgid "Recent Commission"
165
- msgstr "Commissione Recente"
166
-
167
- #: ../classes/admin/class-admin-reports.php:174
168
- #: ../classes/front/orders/class-orders.php:208
169
- #: ../views/dashboard/orders.php:23
170
- msgid "Order"
171
- msgstr "Ordine"
172
-
173
- #: ../classes/admin/class-admin-reports.php:178
174
- msgid "Date &amp; Time"
175
- msgstr "Data &amp; Orario"
176
-
177
- #: ../classes/admin/class-admin-reports.php:187
178
- msgid "N/A"
179
- msgstr "N/A"
180
-
181
- #: ../classes/admin/class-admin-reports.php:192
182
- msgid "D j M Y \\a\\t h:ia"
183
- msgstr "D j M Y \\a\\t h:ia"
184
-
185
- #: ../classes/admin/class-admin-reports.php:201
186
- msgid "No commission yet"
187
- msgstr "Nessuna commissione ancora"
188
-
189
- #: ../classes/admin/class-admin-reports.php:232
190
- msgid "Show:"
191
- msgstr "Mostra:"
192
-
193
- #: ../classes/admin/class-admin-reports.php:243
194
- msgid "Year"
195
- msgstr "Anno"
196
-
197
- #: ../classes/admin/class-admin-reports.php:276
198
- msgid "Select a vendor&hellip;"
199
- msgstr "Seleziona un venditore&hellip;"
200
-
201
- #: ../classes/admin/class-admin-reports.php:344
202
- msgid "Month"
203
- msgstr "Mese"
204
-
205
- #: ../classes/admin/class-admin-reports.php:346
206
- msgid "Tax"
207
- msgstr "Tassa"
208
-
209
- #: ../classes/admin/class-admin-reports.php:347
210
- #: ../views/dashboard/orders.php:24 ../views/orders/orders.php:113
211
- msgid "Shipping"
212
- msgstr "Spedizione"
213
-
214
- #: ../classes/admin/class-admin-reports.php:348
215
- msgid "Reversed"
216
- msgstr "Revocato"
217
-
218
- #: ../classes/admin/class-admin-reports.php:349
219
- msgid "Paid"
220
- msgstr "Pagato"
221
-
222
- #: ../classes/admin/class-admin-users.php:359
223
- msgid "Enable HTML for the shop description"
224
- msgstr "Abilita l'Html per la descrizione del negozio"
225
-
226
- #: ../classes/admin/class-admin-users.php:365
227
- msgid "Shop name"
228
- msgstr "Nome del negozio"
229
-
230
- #: ../classes/admin/class-admin-users.php:372
231
- msgid "PayPal E-mail"
232
- msgstr "E-mail PayPal"
233
-
234
- #: ../classes/admin/class-admin-users.php:373
235
- msgid "required"
236
- msgstr "Richiesta"
237
-
238
- #: ../classes/admin/class-admin-users.php:380
239
- msgid "Commission rate"
240
- msgstr "Tasso di Commissione"
241
-
242
- #: ../classes/admin/class-admin-users.php:381
243
- #: ../classes/admin/class-product-meta.php:171
244
- msgid "Leave blank for default"
245
- msgstr "Lascia bianco di default"
246
-
247
- #: ../classes/admin/class-admin-users.php:387
248
- #: ../classes/front/class-vendor-shop.php:103
249
- #: ../views/dashboard/settings/seller-info.php:3
250
- msgid "Seller info"
251
- msgstr "Informazioni venditore"
252
-
253
- #: ../classes/admin/class-admin-users.php:392
254
- msgid "Shop description"
255
- msgstr "Descrizione del negozio"
256
-
257
- #: ../classes/admin/class-vendor-applicants.php:26
258
- msgid "Approve"
259
- msgstr "Approva"
260
-
261
- #: ../classes/admin/class-vendor-applicants.php:27
262
- msgid "Deny"
263
- msgstr "Nega"
264
-
265
- #: ../classes/admin/class-vendor-applicants.php:71
266
- msgid "Vendor has been <b>denied</b>."
267
- msgstr "Il venditore <b>non è stato accettato</b>."
268
-
269
- #: ../classes/admin/class-vendor-applicants.php:82
270
- msgid "Vendor has been <b>approved</b>."
271
- msgstr "Il venditore è stato <b>approvato</b>."
272
-
273
- #: ../classes/admin/class-vendor-applicants.php:96
274
- msgid "Pending Vendors"
275
- msgstr "Venditori in sospeso"
276
-
277
- #: ../classes/admin/emails/class-emails.php:55
278
- #: ../classes/admin/emails/class-wc-approve-vendor.php:70
279
- msgid "pending"
280
- msgstr "ricevuta"
281
-
282
- #: ../classes/admin/emails/class-emails.php:57
283
- msgid "approved"
284
- msgstr "approvata"
285
-
286
- #: ../classes/admin/emails/class-emails.php:59
287
- msgid "denied"
288
- msgstr "negata"
289
-
290
- #: ../classes/admin/emails/class-emails.php:87
291
- #: ../classes/front/class-vendor-cart.php:60
292
- #: ../classes/front/class-vendor-shop.php:178
293
- msgid "Sold by: "
294
- msgstr "Venduto da:"
295
-
296
- #: ../classes/admin/emails/class-wc-approve-vendor.php:28
297
- msgid "Vendor Application"
298
- msgstr "Richiesta venditore"
299
-
300
- #: ../classes/admin/emails/class-wc-approve-vendor.php:29
301
- msgid "Vendor application will either be approved, denied, or pending."
302
- msgstr "La richiesta del venditore sarà approvata, negata o messa in sospeso."
303
-
304
- #: ../classes/admin/emails/class-wc-approve-vendor.php:31
305
- msgid "Application {status}"
306
- msgstr "Richiesta {status}"
307
-
308
- #: ../classes/admin/emails/class-wc-approve-vendor.php:32
309
- msgid "[{blogname}] Your vendor application has been {status}"
310
- msgstr "[{blogname}] La richiesta per diventare venditore è stata {status}"
311
-
312
- #: ../classes/admin/emails/class-wc-approve-vendor.php:123
313
- #: ../classes/admin/emails/class-wc-notify-admin.php:129
314
- #: ../classes/admin/emails/class-wc-notify-shipped.php:163
315
- #: ../classes/admin/emails/class-wc-notify-vendor.php:230
316
- msgid "Enable/Disable"
317
- msgstr "Abilita/Disabilita"
318
-
319
- #: ../classes/admin/emails/class-wc-approve-vendor.php:125
320
- #: ../classes/admin/emails/class-wc-notify-admin.php:131
321
- #: ../classes/admin/emails/class-wc-notify-shipped.php:165
322
- #: ../classes/admin/emails/class-wc-notify-vendor.php:232
323
- msgid "Enable this email notification"
324
- msgstr "Abilita questa notificazione email"
325
-
326
- #: ../classes/admin/emails/class-wc-approve-vendor.php:129
327
- #: ../classes/admin/emails/class-wc-notify-admin.php:135
328
- msgid "Recipient(s)"
329
- msgstr "Destinatari"
330
-
331
- #: ../classes/admin/emails/class-wc-approve-vendor.php:131
332
- #: ../classes/admin/emails/class-wc-notify-admin.php:137
333
- #, php-format
334
- msgid ""
335
- "Enter recipients (comma separated) for this email. Defaults to <code>%s</"
336
- "code>."
337
- msgstr ""
338
- "Inserisci i destinatari (separati da virgola) per questa email. Default "
339
- "<code>%s</code>."
340
-
341
- #: ../classes/admin/emails/class-wc-approve-vendor.php:136
342
- #: ../classes/admin/emails/class-wc-notify-admin.php:142
343
- #: ../classes/admin/emails/class-wc-notify-shipped.php:169
344
- #: ../classes/admin/emails/class-wc-notify-vendor.php:236
345
- msgid "Subject"
346
- msgstr "Soggetto"
347
-
348
- #: ../classes/admin/emails/class-wc-approve-vendor.php:138
349
- #: ../classes/admin/emails/class-wc-notify-admin.php:144
350
- #: ../classes/admin/emails/class-wc-notify-shipped.php:171
351
- #: ../classes/admin/emails/class-wc-notify-vendor.php:238
352
- #, php-format
353
- msgid ""
354
- "This controls the email subject line. Leave blank to use the default "
355
- "subject: <code>%s</code>."
356
- msgstr ""
357
- "Questo controlla la linea del soggetto dell'email. Lascia bianco per usare "
358
- "il soggetto di default: <code>%s</code>."
359
-
360
- #: ../classes/admin/emails/class-wc-approve-vendor.php:143
361
- #: ../classes/admin/emails/class-wc-notify-admin.php:149
362
- #: ../classes/admin/emails/class-wc-notify-shipped.php:176
363
- #: ../classes/admin/emails/class-wc-notify-vendor.php:243
364
- msgid "Email Heading"
365
- msgstr "Testata email."
366
-
367
- #: ../classes/admin/emails/class-wc-approve-vendor.php:145
368
- #: ../classes/admin/emails/class-wc-notify-admin.php:151
369
- #: ../classes/admin/emails/class-wc-notify-shipped.php:178
370
- #: ../classes/admin/emails/class-wc-notify-vendor.php:245
371
- #, php-format
372
- msgid ""
373
- "This controls the main heading contained within the email notification. "
374
- "Leave blank to use the default heading: <code>%s</code>."
375
- msgstr ""
376
- "Questo controlla il contenuto della testata principale senza notificazione "
377
- "mail. Lascia bianco per usare la testata di default: <code>%s</code>."
378
-
379
- #: ../classes/admin/emails/class-wc-approve-vendor.php:150
380
- #: ../classes/admin/emails/class-wc-notify-admin.php:156
381
- #: ../classes/admin/emails/class-wc-notify-shipped.php:183
382
- #: ../classes/admin/emails/class-wc-notify-vendor.php:250
383
- msgid "Email type"
384
- msgstr "Tipo email"
385
-
386
- #: ../classes/admin/emails/class-wc-approve-vendor.php:152
387
- #: ../classes/admin/emails/class-wc-notify-admin.php:158
388
- #: ../classes/admin/emails/class-wc-notify-shipped.php:185
389
- #: ../classes/admin/emails/class-wc-notify-vendor.php:252
390
- msgid "Choose which format of email to send."
391
- msgstr "Scegli quale formato di email spedire."
392
-
393
- #: ../classes/admin/emails/class-wc-approve-vendor.php:156
394
- #: ../classes/admin/emails/class-wc-notify-admin.php:162
395
- #: ../classes/admin/emails/class-wc-notify-shipped.php:189
396
- #: ../classes/admin/emails/class-wc-notify-vendor.php:256
397
- msgid "Plain text"
398
- msgstr "Testo normale"
399
-
400
- #: ../classes/admin/emails/class-wc-approve-vendor.php:157
401
- #: ../classes/admin/emails/class-wc-notify-admin.php:163
402
- #: ../classes/admin/emails/class-wc-notify-shipped.php:190
403
- #: ../classes/admin/emails/class-wc-notify-vendor.php:257
404
- msgid "HTML"
405
- msgstr "HTML"
406
-
407
- #: ../classes/admin/emails/class-wc-approve-vendor.php:158
408
- #: ../classes/admin/emails/class-wc-notify-admin.php:164
409
- #: ../classes/admin/emails/class-wc-notify-shipped.php:191
410
- #: ../classes/admin/emails/class-wc-notify-vendor.php:258
411
- msgid "Multipart"
412
- msgstr "Multipart"
413
-
414
- #: ../classes/admin/emails/class-wc-notify-admin.php:28
415
- msgid "New Vendor Product"
416
- msgstr "Nuovo prodotto del venditore"
417
-
418
- #: ../classes/admin/emails/class-wc-notify-admin.php:29
419
- msgid "New order emails are sent when a new product is submitted by a vendor"
420
- msgstr ""
421
- "Le email del nuovo ordine sono inviate quando un nuovo prodotto è inserito "
422
- "da un venditore."
423
-
424
- #: ../classes/admin/emails/class-wc-notify-admin.php:31
425
- msgid "New product submitted: {product_name}"
426
- msgstr "Nuovo prodotto inserito: {product_name}"
427
-
428
- #: ../classes/admin/emails/class-wc-notify-admin.php:32
429
- msgid "[{blogname}] New product submitted by {vendor_name} - {product_name}"
430
- msgstr "[{blogname}] Nuovo prodotto inserito da {vendor_name} - {product_name}"
431
-
432
- #: ../classes/admin/emails/class-wc-notify-shipped.php:28
433
- msgid "Vendor has shipped"
434
- msgstr "Il venditore ha spedito l'ordine"
435
-
436
- #: ../classes/admin/emails/class-wc-notify-shipped.php:29
437
- msgid ""
438
- "An email is sent when a vendor has marked one of their orders as shipped."
439
- msgstr "Un email sarà inviata quando un venditore segna l'ordine come inviato."
440
-
441
- #: ../classes/admin/emails/class-wc-notify-shipped.php:31
442
- msgid "Your order has been shipped"
443
- msgstr "Il tuo ordine è stato spedito"
444
-
445
- #: ../classes/admin/emails/class-wc-notify-shipped.php:32
446
- msgid ""
447
- "[{blogname}] Your order has been shipped ({order_number}) - {order_date}"
448
- msgstr ""
449
- "[{blogname}] Il tuo ordine è stato spedito ({order_number}) - {order_date}"
450
-
451
- #: ../classes/admin/emails/class-wc-notify-shipped.php:112
452
- msgid "Subtotal:"
453
- msgstr "Subtotale:"
454
-
455
- #: ../classes/admin/emails/class-wc-notify-vendor.php:27
456
- msgid "Notify vendors"
457
- msgstr "Notifica venditori"
458
-
459
- #: ../classes/admin/emails/class-wc-notify-vendor.php:28
460
- msgid "New order emails are sent when an order is received/paid by a customer."
461
- msgstr ""
462
- "Le email dei nuovo ordine sono inviate quando un ordine è ricevuto/pagato da "
463
- "un cliente."
464
-
465
- #: ../classes/admin/emails/class-wc-notify-vendor.php:30
466
- msgid "New customer order"
467
- msgstr "Nuovo ordine del cliente"
468
-
469
- #: ../classes/admin/emails/class-wc-notify-vendor.php:31
470
- msgid "[{blogname}] New customer order ({order_number}) - {order_date}"
471
- msgstr "[{blogname}] Nuovo ordine del cliente ({order_number}) - {order_date}"
472
-
473
- #: ../classes/admin/emails/class-wc-notify-vendor.php:103
474
- msgid "Commission Subtotal:"
475
- msgstr "Subtotale commissione:"
476
-
477
- #: ../classes/admin/emails/class-wc-notify-vendor.php:110
478
- msgid "Shipping Subtotal:"
479
- msgstr "Subtotale Spedizione:"
480
-
481
- #: ../classes/admin/settings/classes/sf-class-format-options.php:211
482
- #: ../classes/admin/settings/classes/sf-class-settings.php:773
483
- msgid "Select a page..."
484
- msgstr "Seleziona una pagina..."
485
-
486
- #: ../classes/admin/settings/classes/sf-class-settings.php:153
487
- #: ../views/dashboard/settings/settings.php:1
488
- msgid "Settings"
489
- msgstr "Impostazioni"
490
-
491
- #: ../classes/admin/settings/classes/sf-class-settings.php:297
492
- msgid "Could not load settings at: "
493
- msgstr "Impossibile caricare le impostazioni a:"
494
-
495
- #: ../classes/admin/settings/classes/sf-class-settings.php:297
496
- msgid "Error - WP Settings Framework"
497
- msgstr "Errore - Impostazioni Framework WP"
498
-
499
- #: ../classes/admin/settings/classes/sf-class-settings.php:363
500
- #: ../classes/front/dashboard/class-vendor-dashboard.php:96
501
- msgid "Settings saved."
502
- msgstr "Impostazioni salvate."
503
-
504
- #: ../classes/admin/settings/classes/sf-class-settings.php:479
505
- #, php-format
506
- msgid "Save %s changes"
507
- msgstr "Salva %s cambiamenti"
508
-
509
- #: ../classes/admin/settings/sf-options.php:4
510
- msgid "General"
511
- msgstr "Generale"
512
-
513
- #: ../classes/admin/settings/sf-options.php:5
514
- msgid "General options"
515
- msgstr "Opzioni generali"
516
-
517
- #: ../classes/admin/settings/sf-options.php:5
518
- #: ../classes/admin/settings/sf-options.php:45
519
- #: ../classes/admin/settings/sf-options.php:223
520
- msgid " "
521
- msgstr ""
522
-
523
- #: ../classes/admin/settings/sf-options.php:8
524
- msgid "Default commission (%)"
525
- msgstr "Commissione di default (%)"
526
-
527
- #: ../classes/admin/settings/sf-options.php:9
528
- msgid ""
529
- "The default rate the vendor receives for each product. If a product has a "
530
- "commission rate already set, this value will be ignored for that product."
531
- msgstr ""
532
- "Il tasso di default che il venditore riceve per ogni prodotto. Se un "
533
- "prodotto ha un tasso di commissione già settato, questovalore sarà ignorato "
534
- "per quel prodotto."
535
-
536
- #: ../classes/admin/settings/sf-options.php:20
537
- msgid "Registration"
538
- msgstr "Registrazione"
539
-
540
- #: ../classes/admin/settings/sf-options.php:21
541
- msgid "Allow users or guests to apply to become a vendor"
542
- msgstr "Consentire agli utenti o agli ospiti di diventare venditori"
543
-
544
- #: ../classes/admin/settings/sf-options.php:22
545
- msgid ""
546
- "This will show a checkbox on the My Account page's registration form asking "
547
- "if the user would like to apply to be a vendor. Also, on the Vendor "
548
- "Dashboard, users can apply to become a vendor."
549
- msgstr ""
550
- "Questo mostrerà un checkbox sul modulo di registrazione della pagina del "
551
- "\"Mio account\" chiedendo se l'utente vuole fare domanda per essere "
552
- "venditore. Inoltre, sulla Dashboard del venditore, gli utenti possono "
553
- "diventare venditori."
554
-
555
- #: ../classes/admin/settings/sf-options.php:29
556
- msgid "Approve vendor applications manually"
557
- msgstr "Approva le richieste del venditore manualmente"
558
-
559
- #: ../classes/admin/settings/sf-options.php:30
560
- msgid ""
561
- "With this unchecked, all vendor applications are automatically accepted. "
562
- "Otherwise, you must approve each manually."
563
- msgstr ""
564
- "Con questo non spuntato, tutte le richieste del venditore sono "
565
- "automaticamente accettate. Diversamente, tu puoi approvarle manualmente."
566
-
567
- #: ../classes/admin/settings/sf-options.php:37
568
- msgid "Taxes"
569
- msgstr "Tasse"
570
-
571
- #: ../classes/admin/settings/sf-options.php:38
572
- msgid "Give vendors any tax collected per-product"
573
- msgstr "Dai ai venditori ogni tassa collezionata per prodotto"
574
-
575
- #: ../classes/admin/settings/sf-options.php:39
576
- msgid ""
577
- "The tax collected on a vendor's product will be given to him in its entirety"
578
- msgstr ""
579
- "La tassa raccolta sul prodotto del venditore sarà data a lui per intero"
580
-
581
- #: ../classes/admin/settings/sf-options.php:45
582
- msgid "Shop options"
583
- msgstr "Opzioni negozio"
584
-
585
- #: ../classes/admin/settings/sf-options.php:48
586
- msgid "Shop HTML"
587
- msgstr "HTML negozio"
588
-
589
- #: ../classes/admin/settings/sf-options.php:49
590
- msgid "Enable HTML for a vendor's shop description by default"
591
- msgstr "Abilita l'HTML per la descrizione del nogozio del venditore di default"
592
-
593
- #: ../classes/admin/settings/sf-options.php:56
594
- msgid "Vendor shop page"
595
- msgstr "Pagina del negozio del venditore"
596
-
597
- #: ../classes/admin/settings/sf-options.php:57
598
- msgid "Eg: <code>yoursite.com/[your_setting_here]/[vendor_name_here]</code>"
599
- msgstr "Eg: <code>tuosito.com/[your_setting_here]/[vendor_name_here]</code>"
600
-
601
- #: ../classes/admin/settings/sf-options.php:64
602
- msgid "Shop Headers"
603
- msgstr "Testata Negozio"
604
-
605
- #: ../classes/admin/settings/sf-options.php:65
606
- msgid "Enable vendor shop headers"
607
- msgstr "Abilita testata negozio"
608
-
609
- #: ../classes/admin/settings/sf-options.php:66
610
- msgid ""
611
- "This will override the HTML Shop description output on product-archive pages."
612
- msgstr ""
613
- "Questo scovrascriverà la descrizione in HTML del negozio, nelle pagine di "
614
- "archivio dei prodotti."
615
-
616
- #: ../classes/admin/settings/sf-options.php:72
617
- #: ../classes/admin/settings/sf-options.php:198
618
- msgid "Products"
619
- msgstr "Prodotti"
620
-
621
- #: ../classes/admin/settings/sf-options.php:73
622
- msgid "Product Add Page"
623
- msgstr "Pagina aggiunta prodotto"
624
-
625
- #: ../classes/admin/settings/sf-options.php:73
626
- msgid "Configure what to hide from all vendors when adding a product"
627
- msgstr ""
628
- "Configura cosa nascondere a tutti i venditori quando aggiungono un prodotto"
629
-
630
- #: ../classes/admin/settings/sf-options.php:76
631
- msgid "Left side panel"
632
- msgstr "Pannello laterale sinistro"
633
-
634
- #: ../classes/admin/settings/sf-options.php:77
635
- msgid "Hide these areas of the add product page for vendors"
636
- msgstr "Nascondi queste aree di pagina aggiunta prodotto per i venditori"
637
-
638
- #: ../classes/admin/settings/sf-options.php:91
639
- msgid "Types"
640
- msgstr "Tipi"
641
-
642
- #: ../classes/admin/settings/sf-options.php:92
643
- msgid "Hide these product types from the vendor"
644
- msgstr "Nascondi questi tipi di prodotti al venditore"
645
-
646
- #: ../classes/admin/settings/sf-options.php:105
647
- msgid "Type options"
648
- msgstr "Opzioni di tipo"
649
-
650
- #: ../classes/admin/settings/sf-options.php:106
651
- msgid "Hide these product options from the vendor"
652
- msgstr "Nascondi queste opzioni del prodotto al venditore"
653
-
654
- #: ../classes/admin/settings/sf-options.php:117
655
- msgid "Miscellaneous"
656
- msgstr "Varie"
657
-
658
- #: ../classes/admin/settings/sf-options.php:129
659
- msgid "Stylesheet"
660
- msgstr "Foglio di stile"
661
-
662
- #: ../classes/admin/settings/sf-options.php:130
663
- msgid ""
664
- "You can add CSS in this textarea, which will be loaded on the product add/"
665
- "edit page for vendors."
666
- msgstr ""
667
- "Puoi aggiungere codice CSS in questa area di testo, che sarà caricato sulla "
668
- "pagina aggiungi/modifica dei venditori."
669
-
670
- #: ../classes/admin/settings/sf-options.php:136
671
- msgid "Capabilities"
672
- msgstr "Capacità"
673
-
674
- #: ../classes/admin/settings/sf-options.php:137
675
- msgid "Permissions"
676
- msgstr "Autorizzazioni"
677
-
678
- #: ../classes/admin/settings/sf-options.php:137
679
- msgid "General permissions used around the shop"
680
- msgstr "Autorizzazioni generali usati per il negozio"
681
-
682
- #: ../classes/admin/settings/sf-options.php:140
683
- #: ../classes/class-install.php:205 ../views/dashboard/orders.php:18
684
- msgid "Orders"
685
- msgstr "Ordini"
686
-
687
- #: ../classes/admin/settings/sf-options.php:141
688
- msgid "View orders"
689
- msgstr "Visualizza ordini"
690
-
691
- #: ../classes/admin/settings/sf-options.php:142
692
- msgid "Show customer details such as email, address, name, etc, for each order"
693
- msgstr ""
694
- "Mostra i dettagli del cliente come email, indiizzo, nome, etc, per ogni "
695
- "ordine"
696
-
697
- #: ../classes/admin/settings/sf-options.php:149
698
- msgid "View comments"
699
- msgstr "Visualizza commenti"
700
-
701
- #: ../classes/admin/settings/sf-options.php:150
702
- msgid "View all vendor comments for an order on the frontend"
703
- msgstr "Visualizza tutti i commenti del venditore per un ordine sul frontend"
704
-
705
- #: ../classes/admin/settings/sf-options.php:157
706
- msgid "Submit comments"
707
- msgstr "Invia commenti"
708
-
709
- #: ../classes/admin/settings/sf-options.php:158
710
- msgid ""
711
- "Submit comments for an order on the frontend. Eg, tracking ID for a product"
712
- msgstr ""
713
- "Invia commenti per un ordine sul fronend. Eg, ID rilevamento per un prodotto"
714
-
715
- #: ../classes/admin/settings/sf-options.php:165
716
- msgid "View email addresses"
717
- msgstr "Visualizza indirizzi email"
718
-
719
- #: ../classes/admin/settings/sf-options.php:166
720
- msgid ""
721
- "While viewing order details on the frontend, you can disable or enable email "
722
- "addresses"
723
- msgstr ""
724
- "Durante la visualizzazione dei dettagli dell'ordine sul front-end, è "
725
- "possibile disabilitare o abilitare gli indirizzi email"
726
-
727
- #: ../classes/admin/settings/sf-options.php:173
728
- msgid "Export a CSV file of orders for a product"
729
- msgstr "Esporta un file CSV degli ordini per un prodotto"
730
-
731
- #: ../classes/admin/settings/sf-options.php:174
732
- msgid "Vendors could export orders for a product on the frontend"
733
- msgstr "I venditori possono esportare ordini per un prodotto sul fronted"
734
-
735
- #: ../classes/admin/settings/sf-options.php:181
736
- msgid "Reports"
737
- msgstr "Rapporti"
738
-
739
- #: ../classes/admin/settings/sf-options.php:182
740
- msgid "View backend sales reports"
741
- msgstr "Visualizza i rapporti delle vendite del backend"
742
-
743
- #: ../classes/admin/settings/sf-options.php:183
744
- msgid ""
745
- "Graphs and tables via the Reports page in backend. The reports will only "
746
- "display sales data that pertain to their products"
747
- msgstr ""
748
- "Grafici e tabelle tramite la pagina dei rapporti nel backend. I rapporti "
749
- "visualizzeranno solo i dati di vendita che appartengono ai loro prodotti"
750
-
751
- #: ../classes/admin/settings/sf-options.php:190
752
- msgid "View Frontend sales reports"
753
- msgstr "Visualizza i rapporti delle vendite del frontend"
754
-
755
- #: ../classes/admin/settings/sf-options.php:191
756
- msgid ""
757
- "Sales table on the frontend on the My Account page. The table will only "
758
- "display sales data that pertain to their products"
759
- msgstr ""
760
- "Tabella vendita sul frontend sulla pagina Mio Account . Nella tabella "
761
- "verranno visualizzati solo i dati di vendita che appartengono ai loro "
762
- "prodotti"
763
-
764
- #: ../classes/admin/settings/sf-options.php:199
765
- msgid "Submit products"
766
- msgstr "Invia prodotti"
767
-
768
- #: ../classes/admin/settings/sf-options.php:200
769
- msgid ""
770
- "Vendors could submit a product through the backend, and an admin would "
771
- "approve or deny it"
772
- msgstr ""
773
- "I venditori possono inviare un prodotto attraverso il backend, e un admin "
774
- "può approvarlo o negarlo"
775
-
776
- #: ../classes/admin/settings/sf-options.php:207
777
- msgid "Edit live products"
778
- msgstr "Modifica prodotti dal vivo"
779
-
780
- #: ../classes/admin/settings/sf-options.php:208
781
- msgid ""
782
- "Vendors could edit an approved product after it has already gone live. There "
783
- "is no approval or review after editing a live product. This could be "
784
- "dangerous with malicious vendors, so take caution."
785
- msgstr ""
786
- "I venditori possono modificare un prodotto approvato dopo che è già stato "
787
- "inserito. Non c'è alcuna approvazione o revisione dopo la modifica di un "
788
- "prodotto inserito. Questo potrebbe essere pericoloso con venditori "
789
- "scorretti, quindi di fare attenzione.\t"
790
-
791
- #: ../classes/admin/settings/sf-options.php:215
792
- msgid "Submit products live without requiring approval"
793
- msgstr "Inviare prodotti senza chiedere l'approvazione"
794
-
795
- #: ../classes/admin/settings/sf-options.php:216
796
- msgid ""
797
- "Vendors can submit products without review or approval from a shop admin. "
798
- "This could be dangerous with malicious vendors, so take caution."
799
- msgstr ""
800
- "I venditori possono inviare prodotti senza revisione e approvazione da parte "
801
- "di un amministratore di negozio. Questo potrebbe essere pericoloso con "
802
- "venditori scorretti, quindi di fare attenzione."
803
-
804
- #: ../classes/admin/settings/sf-options.php:222
805
- msgid "Pages"
806
- msgstr "Pagine"
807
-
808
- #: ../classes/admin/settings/sf-options.php:223
809
- msgid "Page configuration"
810
- msgstr "Configurazione pagina"
811
-
812
- #: ../classes/admin/settings/sf-options.php:226
813
- msgid "Vendor dashboard"
814
- msgstr "Dashboard venditore"
815
-
816
- #: ../classes/admin/settings/sf-options.php:227
817
- msgid ""
818
- "Choose the page that has the shortcode <code>[wcv_vendor_dashboard]</"
819
- "code><br/>By default, My Account > Vendor Dashboard should have the "
820
- "shortcode."
821
- msgstr ""
822
- "Seleziona la pagina con il shortcode <code>[wcv_vendor_dashboard]</code><br/"
823
- ">Di Default, My Account > Vendor Dashboard sarà la pagina con lo shortcode"
824
-
825
- #: ../classes/admin/settings/sf-options.php:234
826
- msgid "Shop settings"
827
- msgstr "Impostazioni del negozio"
828
-
829
- #: ../classes/admin/settings/sf-options.php:235
830
- msgid ""
831
- "Choose the page that has the shortcode <code>[wcv_shop_settings]</code><br/"
832
- ">These are the shop settings a vendor can configure."
833
- msgstr ""
834
- "Choose the page that has the shortcode <code>[wcv_shop_settings]</code><br/"
835
- ">These are the shop settings a vendor can configure."
836
-
837
- #: ../classes/admin/settings/sf-options.php:242
838
- msgid "Orders page"
839
- msgstr "Pagina ordini"
840
-
841
- #: ../classes/admin/settings/sf-options.php:243
842
- msgid ""
843
- "Choose the page that has the shortcode <code>[wcv_orders]</code><br/>By "
844
- "default, My Account > Orders should have the shortcode."
845
- msgstr ""
846
- "Seleziona la pagina con lo shortcode<code>[wcv_orders]</code><br/>Di "
847
- "default, My Account > Orders è la pagina con il shortcode."
848
-
849
- #: ../classes/admin/settings/sf-options.php:250
850
- msgid "Vendor terms"
851
- msgstr "Termini venditore"
852
-
853
- #: ../classes/admin/settings/sf-options.php:251
854
- msgid ""
855
- "These terms are shown to a user when submitting an application to become a "
856
- "vendor.<br/>If left blank, no terms will be shown to the applicant."
857
- msgstr ""
858
- "Questi termini sono indicati ad un utente quando invia una richiesta per "
859
- "diventare un venditore. <br/>Se lasciato vuoto, nessun termine verrà "
860
- "mostrato al richiedente."
861
-
862
- #: ../classes/admin/settings/sf-options.php:269
863
- msgid "Payments"
864
- msgstr "Pagamenti"
865
-
866
- #: ../classes/admin/settings/sf-options.php:271
867
- msgid "User payments"
868
- msgstr "Pagamenti utente"
869
-
870
- #: ../classes/admin/settings/sf-options.php:272
871
- #, php-format
872
- msgid "Total commission currently due: %s. <a href=\"%s\">View details</a>."
873
- msgstr ""
874
- "Totale Commissione attualmente dovuto: %s. <a href=\"%s\">Visualizzare i "
875
- "dettagli</a>."
876
-
877
- #: ../classes/admin/settings/sf-options.php:273
878
- #, php-format
879
- msgid ""
880
- "Make sure you update your PayPal Adaptive Payments settings <a href=\"%s"
881
- "\">here</a>."
882
- msgstr ""
883
- "Aggiornare le impostazioni di Pagamenti adattativi PayPal <a href=\"%s"
884
- "\">qui</a>."
885
-
886
- #: ../classes/admin/settings/sf-options.php:277
887
- msgid "Instant pay"
888
- msgstr "Pagamento instantaneo"
889
-
890
- #: ../classes/admin/settings/sf-options.php:278
891
- msgid "Instantly pay vendors their commission when an order is made"
892
- msgstr ""
893
- "Paga instantaneamente le commissioni ai venditori quando è fatto un ordine"
894
-
895
- #: ../classes/admin/settings/sf-options.php:279
896
- msgid ""
897
- "For this to work, customers must checkout with the PayPal Adaptive Payments "
898
- "gateway. Using other gateways will not pay vendors instantly"
899
- msgstr ""
900
- "Per questo lavoro, i clienti devono effettuare il checkout con il gateway di "
901
- "pagamenti adattivo PayPal. Utilizzando altri gateway i venditori non "
902
- "verranno pagati istantaneamente"
903
-
904
- #: ../classes/admin/settings/sf-options.php:286
905
- msgid "Payment schedule"
906
- msgstr "Scadenze di pagamento"
907
-
908
- #: ../classes/admin/settings/sf-options.php:287
909
- msgid "Note: Schedule will only work if instant pay is unchecked"
910
- msgstr ""
911
- "Nota: Il programma funzionerà solo se la paga istantanea è deselezionata"
912
-
913
- #: ../classes/admin/settings/sf-options.php:292
914
- msgid "Weekly"
915
- msgstr "Settimanale"
916
-
917
- #: ../classes/admin/settings/sf-options.php:293
918
- msgid "Biweekly"
919
- msgstr "Bisettimanale"
920
-
921
- #: ../classes/admin/settings/sf-options.php:294
922
- msgid "Monthly"
923
- msgstr "Mensile"
924
-
925
- #: ../classes/admin/settings/sf-options.php:295
926
- msgid "Manual"
927
- msgstr "Manuale"
928
-
929
- #: ../classes/admin/settings/sf-options.php:296
930
- msgid "Now"
931
- msgstr "Adesso"
932
-
933
- #: ../classes/admin/settings/sf-options.php:301
934
- msgid "Email notification"
935
- msgstr "Notificazione email"
936
-
937
- #: ../classes/admin/settings/sf-options.php:302
938
- msgid ""
939
- "Send the WooCommerce admin an email each time a payment has been made via "
940
- "the payment schedule options above"
941
- msgstr ""
942
- "Invia all'amministratore WooCommerce un'e-mail ogni volta che è stato "
943
- "effettuato un pagamento tramite le opzioni del programma di pagamento sopra\t"
944
-
945
- #: ../classes/class-cron.php:87
946
- #, php-format
947
- msgid "Payment total: %s"
948
- msgstr "Totale Pagamento: %s"
949
-
950
- #: ../classes/class-cron.php:148
951
- msgid "Once Weekly"
952
- msgstr "Una volta a settimana"
953
-
954
- #: ../classes/class-cron.php:153
955
- msgid "Once every two weeks"
956
- msgstr "Una volta ogni due settimane"
957
-
958
- #: ../classes/class-cron.php:158
959
- msgid "Once a month"
960
- msgstr "Una volta al mese"
961
-
962
- #: ../classes/class-install.php:99 ../classes/class-install.php:253
963
- msgid "Pending Vendor"
964
- msgstr "Venditore in sospeso"
965
-
966
- #: ../classes/class-install.php:204
967
- msgid "Vendor Dashboard"
968
- msgstr "Dashboard venditore"
969
-
970
- #: ../classes/class-install.php:206
971
- msgid "Shop Settings"
972
- msgstr "Impostazioni del negozio"
973
-
974
- #: ../classes/front/class-vendor-cart.php:41
975
- #: ../classes/front/class-vendor-shop.php:255
976
- msgid "Sold by"
977
- msgstr "Venduto da"
978
-
979
- #: ../classes/front/dashboard/class-vendor-dashboard.php:41
980
- msgid "Order unmarked shipped."
981
- msgstr "Ordine non più segnato come spedito."
982
-
983
- #: ../classes/front/dashboard/class-vendor-dashboard.php:51
984
- msgid "Order marked shipped."
985
- msgstr "Ordine segnato come spedito."
986
-
987
- #: ../classes/front/dashboard/class-vendor-dashboard.php:69
988
- msgid "Your PayPal address is not a valid email address."
989
- msgstr "Il tuo indirizzo PayPal non è un indirizzo email valido."
990
-
991
- #: ../classes/front/dashboard/class-vendor-dashboard.php:78
992
- msgid "That shop name is already taken. Your shop name must be unique."
993
- msgstr ""
994
- "Il nome del negozio già esiste. Il nome del tuo negozio deve essere unico."
995
-
996
- #: ../classes/front/orders/class-export-csv.php:37
997
- msgid "Extra data"
998
- msgstr "Dati aggiuntivi"
999
-
1000
- #: ../classes/front/orders/class-export-csv.php:38
1001
- #: ../views/dashboard/reports.php:18 ../views/emails/admin-new-order.php:23
1002
- #: ../views/emails/notify-vendor-shipped.php:23
1003
- msgid "Quantity"
1004
- msgstr "Quantità"
1005
-
1006
- #: ../classes/front/orders/class-orders.php:107
1007
- msgid ""
1008
- "You haven't selected a product's orders to view! Please go back to the "
1009
- "Vendor Dashboard and click Show Orders on the product you'd like to view."
1010
- msgstr ""
1011
- "Non hai selezionato gli ordini di un prodotto da visualizzare! Si prega di "
1012
- "tornare alla Dashboard Vendor e fare clic su Visualizza ordini sul prodotto "
1013
- "che si desidera visualizzare."
1014
-
1015
- #: ../classes/front/orders/class-orders.php:111
1016
- msgid "No orders."
1017
- msgstr "Nessun ordine."
1018
-
1019
- #: ../classes/front/orders/class-orders.php:144
1020
- #: ../classes/front/orders/class-orders.php:145
1021
- msgid "Tracking number"
1022
- msgstr "Numero identificativo (Tracking number)"
1023
-
1024
- #: ../classes/front/orders/class-orders.php:147
1025
- msgid "Success. Your tracking number has been updated."
1026
- msgstr "Bene. Il numero identificativo (Tracking number) è stato aggiornato."
1027
-
1028
- #: ../classes/front/orders/class-orders.php:209
1029
- msgid "Product Title"
1030
- msgstr "Titolo Prodotto"
1031
-
1032
- #: ../classes/front/orders/class-orders.php:210
1033
- msgid "Full name"
1034
- msgstr "Nome completo"
1035
-
1036
- #: ../classes/front/orders/class-orders.php:211
1037
- msgid "Address"
1038
- msgstr "Indirizzo"
1039
-
1040
- #: ../classes/front/orders/class-orders.php:212
1041
- msgid "City"
1042
- msgstr "Città"
1043
-
1044
- #: ../classes/front/orders/class-orders.php:213
1045
- msgid "State"
1046
- msgstr "Stato"
1047
-
1048
- #: ../classes/front/orders/class-orders.php:214
1049
- msgid "Zip"
1050
- msgstr "CAP"
1051
-
1052
- #: ../classes/front/orders/class-orders.php:215
1053
- msgid "Email address"
1054
- msgstr "Indirizzo email"
1055
-
1056
- #: ../classes/front/orders/class-submit-comment.php:41
1057
- msgid "You've left the comment field empty!"
1058
- msgstr "Hai lasciato il campo di commento vuoto!"
1059
-
1060
- #: ../classes/front/orders/class-submit-comment.php:63
1061
- msgid "Success. The customer has been notified of your comment."
1062
- msgstr "Bene. E' stato notificato il tuo commento al cliente."
1063
-
1064
- #: ../classes/front/signup/class-vendor-signup.php:44
1065
- #: ../views/dashboard/denied.php:22
1066
- msgid "Apply to become a vendor? "
1067
- msgstr "Vuoi diventare un venditore?"
1068
-
1069
- #: ../classes/front/signup/class-vendor-signup.php:53
1070
- #: ../views/dashboard/denied.php:33
1071
- #, php-format
1072
- msgid "I have read and accepted the <a href=\"%s\">terms and conditions</a>"
1073
- msgstr "Ho letto e accettato i <a href=\"%s\">termini e le condizioni</a>"
1074
-
1075
- #: ../classes/front/signup/class-vendor-signup.php:87
1076
- msgid "Application denied. You are an administrator."
1077
- msgstr "Richiesta negata. Sei un amministratore."
1078
-
1079
- #: ../classes/front/signup/class-vendor-signup.php:89
1080
- msgid "Your application has been submitted."
1081
- msgstr "La tua richiesta è stata inviata."
1082
-
1083
- #: ../classes/front/signup/class-vendor-signup.php:125
1084
- msgid "You must accept the terms and conditions to become a vendor."
1085
- msgstr "Devi accettare i termini e le condizioni per diventare un venditore."
1086
-
1087
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:43
1088
- msgid "PayPal Adaptive Payments"
1089
- msgstr "Pagamenti adattivi PayPal"
1090
-
1091
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:119
1092
- #, php-format
1093
- msgid ""
1094
- "Something went wrong. Response from PayPal invalidated this order. Status: "
1095
- "%s."
1096
- msgstr ""
1097
- "Qualcosa è andato storto. La risposta da PayPal invalida questo ordine. "
1098
- "Stato: % s."
1099
-
1100
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:124
1101
- msgid "IPN payment completed"
1102
- msgstr "Pagamento IPN completato"
1103
-
1104
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:146
1105
- msgid "Enable PayPal Adaptive Payments"
1106
- msgstr "Abilita i pagamenti adattativi PayPal"
1107
-
1108
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:152
1109
- msgid "Method Title"
1110
- msgstr "Metodo titolo"
1111
-
1112
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:153
1113
- msgid "This controls the title which the user sees during checkout."
1114
- msgstr "Questo controlla il titolo che l'utente vede durante il checkout."
1115
-
1116
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:154
1117
- msgid "PayPal"
1118
- msgstr "PayPal"
1119
-
1120
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:159
1121
- msgid "Description"
1122
- msgstr "Descrizione"
1123
-
1124
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:160
1125
- msgid "This controls the description which the user sees during checkout."
1126
- msgstr "Questo controlla la descrizione che l'utente vede durante il checkout"
1127
-
1128
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:161
1129
- msgid "Pay via PayPal!"
1130
- msgstr "Paga tramite PayPal!"
1131
-
1132
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:172
1133
- msgid "Live Credentials"
1134
- msgstr "Credenziali Live"
1135
-
1136
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:174
1137
- #, php-format
1138
- msgid ""
1139
- "You must have an <a href=\"%s\">Application ID</a> to process live "
1140
- "transactions. You do not need one for testing in Sandbox mode."
1141
- msgstr ""
1142
- "Devi avere un <a href=\"%s\">Application ID</a> per processare le "
1143
- "transazioni inserite. Tu non ne hai bisogno per il testing nel Sandbox mode."
1144
-
1145
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:179
1146
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:213
1147
- msgid "PayPal Email"
1148
- msgstr "Email PayPal"
1149
-
1150
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:180
1151
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:214
1152
- msgid "The email address main payments should go to."
1153
- msgstr "I pagamenti dell'indirizzo email principale dovrebbero andare a:"
1154
-
1155
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:185
1156
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:219
1157
- msgid "API Username"
1158
- msgstr "Username API (API Username)"
1159
-
1160
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:190
1161
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:224
1162
- msgid "API Password"
1163
- msgstr "Password API (API Password)"
1164
-
1165
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:195
1166
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:229
1167
- msgid "API Signature"
1168
- msgstr "Firma API (API Signature)"
1169
-
1170
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:200
1171
- msgid "Application ID"
1172
- msgstr "ID Richiesta (Application ID)"
1173
-
1174
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:202
1175
- msgid "Only required when doing live transactions."
1176
- msgstr "Richiesto solo quando si effettuano delle transazioni."
1177
-
1178
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:206
1179
- msgid "Sandbox Credentials"
1180
- msgstr "Credenziali Sandbox"
1181
-
1182
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:208
1183
- #, php-format
1184
- msgid ""
1185
- "You can signup for a sandbox developer account <a href=\"%s\">here</a>. You "
1186
- "need a developer account if you want to enable Sandbox mode for testing."
1187
- msgstr ""
1188
- "Puoi iscriverti ad un account sandbox sviluppatore <a href=\"%s\">qui</a>. "
1189
- "Tu hai bisogno di un account sviluppatore se tu vuoi abilitare il Sandbox "
1190
- "mode per i test."
1191
-
1192
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:240
1193
- msgid "Misc. Settings"
1194
- msgstr "Impostazioni varie"
1195
-
1196
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:245
1197
- msgid "Enable PayPal Sandbox mode"
1198
- msgstr "Attiva la modalità PayPal Sandbox"
1199
-
1200
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:251
1201
- msgid "Enable logging"
1202
- msgstr "Abilitare il logging"
1203
-
1204
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:269
1205
- msgid ""
1206
- "The PayPal Adaptive Payments gateway can instantly pay your vendors their "
1207
- "due commission (if enabled). Also used to mass pay vendors on a schedule / "
1208
- "manual method (if enabled)."
1209
- msgstr ""
1210
- "Il gateway dei pagamenti adattativi PayPal può instantaneamente pagare i "
1211
- "tuoi venditori le loro commissioni dovute (se abilitato). Utilizzato anche "
1212
- "per pagare in massa i venditori su un programma / metodo manuale (se "
1213
- "abilitato)."
1214
-
1215
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:280
1216
- msgid "Gateway Disabled"
1217
- msgstr "Gateway disabilitato"
1218
-
1219
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:280
1220
- #, php-format
1221
- msgid "%s does not support your store currency."
1222
- msgstr "%s non supporta la valuta del tuo negozio."
1223
-
1224
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:369
1225
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:483
1226
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:150
1227
- #, php-format
1228
- msgid "Error: %s"
1229
- msgstr "Errore: %s"
1230
-
1231
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:378
1232
- #: ../classes/gateways/PayPal_AdvPayments/paypal_ap.php:379
1233
- #, php-format
1234
- msgid "Error ID: %s. %s"
1235
- msgstr "Errore ID: %s. %s"
1236
-
1237
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:115
1238
- msgid "No vendors found to pay. Maybe they haven't set a PayPal address?"
1239
- msgstr ""
1240
- "Nessun venditore trovato per pagare. Forse non hanno impostato un indirizzo "
1241
- "di PayPal?"
1242
-
1243
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:164
1244
- msgid "All due commission has been paid for."
1245
- msgstr "Tutte le commissioni dovute sono state pagate."
1246
-
1247
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:170
1248
- msgid ""
1249
- "All due commission has been paid for, but I could not clear it from their "
1250
- "profiles due to an internal error. Commission will still be listed as due. "
1251
- "Please manually mark the commission as paid from the Commissions page."
1252
- msgstr ""
1253
- "Tutta la commissione dovuta è stata pagata, ma non riuscivo a cancellarlo "
1254
- "dai loro profili a causa di un errore interno. La commissione sarà ancora "
1255
- "elencata come dovuta. Per favore contrassegna manualmente la commissione "
1256
- "come pagato dalla pagina di commissioni."
1257
-
1258
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:205
1259
- msgid "WooCommerce: Mass payments for vendors update"
1260
- msgstr "WooCommerce: I pagamenti di massa per aggiornamento venditori"
1261
-
1262
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:207
1263
- msgid ""
1264
- "Hello! A payment was just triggered to mass pay all vendors their due "
1265
- "commission."
1266
- msgstr ""
1267
- "Ciao! Un pagamento è stato appena attivato per pagare in massa a tutti i "
1268
- "venditori la loro commissione dovuta."
1269
-
1270
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:208
1271
- #, php-format
1272
- msgid "Payment status: %s."
1273
- msgstr "Stato pagamento: %s."
1274
-
1275
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:209
1276
- #, php-format
1277
- msgid "Payment message: %s."
1278
- msgstr "Messaggio pagamento: %s."
1279
-
1280
- #: ../classes/gateways/PayPal_Masspay/class-paypal-masspay.php:212
1281
- #, php-format
1282
- msgid "Payment total: %s."
1283
- msgstr "Totale pagamento: % s."
1284
-
1285
- #: ../views/dashboard/denied.php:8
1286
- msgid ""
1287
- "Your account has not yet been approved to become a vendor. When it is, you "
1288
- "will receive an email telling you that your account is approved!"
1289
- msgstr ""
1290
- "Il tuo account non è ancora stato approvato per diventare un venditore. "
1291
- "Quando la tua richiesta verrà approvata, riceverai un'email con "
1292
- "l'aggiornamento della tua richiesta!"
1293
-
1294
- #: ../views/dashboard/denied.php:12
1295
- msgid ""
1296
- "Your account is not setup as a vendor yet. If you would like to register, "
1297
- "please complete this page!"
1298
- msgstr ""
1299
- "Il tuo account non è impostato come account venditore. Se desideri "
1300
- "registrarti, perfavore completa questa pagina!"
1301
-
1302
- #: ../views/dashboard/denied.php:53
1303
- msgid "Submit"
1304
- msgstr "Invia"
1305
-
1306
- #: ../views/dashboard/links.php:1
1307
- msgid "Control Center"
1308
- msgstr "Centro di controllo"
1309
-
1310
- #: ../views/dashboard/links.php:3
1311
- msgid "My shop"
1312
- msgstr "Il mio negozio"
1313
-
1314
- #: ../views/dashboard/links.php:7
1315
- msgid "My settings"
1316
- msgstr "Le mie impostazioni"
1317
-
1318
- #: ../views/dashboard/links.php:13
1319
- msgid "Submit a product"
1320
- msgstr "Invia un prodotto"
1321
-
1322
- #: ../views/dashboard/orders.php:7 ../views/dashboard/orders.php:10
1323
- msgid "Hide items"
1324
- msgstr "Nascondi Items"
1325
-
1326
- #: ../views/dashboard/orders.php:8 ../views/dashboard/orders.php:58
1327
- msgid "View items"
1328
- msgstr "Visualizza Items"
1329
-
1330
- #: ../views/dashboard/orders.php:27
1331
- msgid "Links"
1332
- msgstr "Links"
1333
-
1334
- #: ../views/dashboard/orders.php:58
1335
- msgid "Unmark shipped"
1336
- msgstr "Segna come non spedito"
1337
-
1338
- #: ../views/dashboard/orders.php:58
1339
- msgid "Mark shipped"
1340
- msgstr "Segna come spedito"
1341
-
1342
- #: ../views/dashboard/orders.php:90
1343
- msgid "You have no orders during this period."
1344
- msgstr "Non hai nessun ordine in questo periodo."
1345
-
1346
- #: ../views/dashboard/reports.php:1
1347
- msgid "Sales Report"
1348
- msgstr "Rapporto Vendite\t"
1349
-
1350
- #: ../views/dashboard/reports.php:20
1351
- msgid "Rate"
1352
- msgstr "Tasso"
1353
-
1354
- #: ../views/dashboard/reports.php:47
1355
- msgid "Show Orders"
1356
- msgstr "Mostra ordini"
1357
-
1358
- #: ../views/dashboard/reports.php:56
1359
- msgid "Totals"
1360
- msgstr "Totali"
1361
-
1362
- #: ../views/dashboard/reports.php:71
1363
- msgid "You have no sales during this period."
1364
- msgstr "Non hai vendite in questo periodo."
1365
-
1366
- #: ../views/dashboard/reports.php:82
1367
- msgid "You haven't made any sales yet."
1368
- msgstr "Non hai venduto ancora niente."
1369
-
1370
- #: ../views/dashboard/settings/paypal-email-form.php:2
1371
- msgid "PayPal Address"
1372
- msgstr "Indirizzo PayPal"
1373
-
1374
- #: ../views/dashboard/settings/paypal-email-form.php:3
1375
- msgid "Your PayPal address is used to send you your commission."
1376
- msgstr "Il tuo indirizzo PayPal è usato per inviare a te la tua commissione."
1377
-
1378
- #: ../views/dashboard/settings/seller-info.php:4
1379
- msgid "This is displayed on each of your products."
1380
- msgstr "Questo è mostrato su tutti i tuoi prodotti."
1381
-
1382
- #: ../views/dashboard/settings/settings.php:47
1383
- msgid "Save"
1384
- msgstr "Salva"
1385
-
1386
- #: ../views/dashboard/settings/shop-description.php:2
1387
- msgid "Shop Description"
1388
- msgstr "Descrizione negozio"
1389
-
1390
- #: ../views/dashboard/settings/shop-description.php:3
1391
- #, php-format
1392
- msgid "This is displayed on your <a href=\"%s\">shop page</a>."
1393
- msgstr "Questo è mostrato sulla tua <a href=\"%s\">pagina del negozio</a>."
1394
-
1395
- #: ../views/dashboard/settings/shop-name.php:2
1396
- msgid "Shop Name"
1397
- msgstr "Nome negozio"
1398
-
1399
- #: ../views/dashboard/settings/shop-name.php:3
1400
- msgid "Your shop name is public and must be unique."
1401
- msgstr "Il nome del tuo negozio è pubblico e deve essere unico."
1402
-
1403
- #: ../views/emails/admin-new-order.php:13
1404
- #, php-format
1405
- msgid "You have received an order from %s. Their order is as follows:"
1406
- msgstr "Hai ricevuto un ordine da %s. Ecco i dettagli:"
1407
-
1408
- #: ../views/emails/admin-new-order.php:17
1409
- #: ../views/emails/notify-vendor-shipped.php:17
1410
- #, php-format
1411
- msgid "Order: %s"
1412
- msgstr "Ordine: %s"
1413
-
1414
- #: ../views/emails/admin-new-order.php:24
1415
- #: ../views/emails/notify-vendor-shipped.php:24
1416
- msgid "Price"
1417
- msgstr "Prezzo"
1418
-
1419
- #: ../views/emails/admin-new-order.php:50
1420
- #: ../views/emails/notify-vendor-shipped.php:50
1421
- msgid "Customer details"
1422
- msgstr "Dettagli Cliente"
1423
-
1424
- #: ../views/emails/admin-new-order.php:53
1425
- #: ../views/emails/notify-vendor-shipped.php:53
1426
- msgid "Email:"
1427
- msgstr "Email:"
1428
-
1429
- #: ../views/emails/admin-new-order.php:56
1430
- #: ../views/emails/notify-vendor-shipped.php:56
1431
- msgid "Tel:"
1432
- msgstr "Tel:"
1433
-
1434
- #: ../views/emails/application-status.php:5
1435
- #, php-format
1436
- msgid "Hi there. This is a notification about a vendor application on %s."
1437
- msgstr ""
1438
- "Ehilà. Questa è una notifica relativa ad una richiesta del venditore su % s."
1439
-
1440
- #: ../views/emails/application-status.php:8
1441
- #, php-format
1442
- msgid "Application status: %s"
1443
- msgstr "Stato richiesta: %s"
1444
-
1445
- #: ../views/emails/application-status.php:9
1446
- #, php-format
1447
- msgid "Applicant username: %s"
1448
- msgstr "Nome utente richiedente: %s"
1449
-
1450
- #: ../views/emails/new-product.php:5
1451
- #, php-format
1452
- msgid "Hi there. This is a notification about a new product on %s."
1453
- msgstr "Ehilà. Questa è una notifica di un nuovo prodotto su %s."
1454
-
1455
- #: ../views/emails/new-product.php:8
1456
- #, php-format
1457
- msgid "Product title: %s"
1458
- msgstr "Titolo prodotto: %s"
1459
-
1460
- #: ../views/emails/new-product.php:9
1461
- #, php-format
1462
- msgid "Submitted by: %s"
1463
- msgstr "Inviato da: %s"
1464
-
1465
- #: ../views/emails/new-product.php:10
1466
- #, php-format
1467
- msgid "Edit product: %s"
1468
- msgstr "Modifica prodotto: %s"
1469
-
1470
- #: ../views/emails/notify-vendor-shipped.php:13
1471
- msgid ""
1472
- "A vendor has marked part of your order as shipped. The items that are "
1473
- "shipped are as follows:"
1474
- msgstr ""
1475
- "Il venditore ha segnato parte del tuo ordine come spedito. Gli articoli "
1476
- "segnati come spediti sono i seguenti:"
1477
-
1478
- #: ../views/orders/comments/add-new-comment.php:11
1479
- msgid "Add comment"
1480
- msgstr "Aggiungi commento"
1481
-
1482
- #: ../views/orders/comments/existing-comments.php:9
1483
- #, php-format
1484
- msgid "added %s ago"
1485
- msgstr "Aggiunto %s giorni fà"
1486
-
1487
- #: ../views/orders/csv-export.php:6
1488
- msgid "Export orders"
1489
- msgstr "Esporta ordini"
1490
-
1491
- #: ../views/orders/customer-note/customer-note.php:4
1492
- msgid "Customer note"
1493
- msgstr "Nota del cliente"
1494
-
1495
- #: ../views/orders/customer-note/customer-note.php:8
1496
- msgid "No customer note."
1497
- msgstr "Nessuna nota del cliente."
1498
-
1499
- #: ../views/orders/orders.php:84
1500
- #, php-format
1501
- msgid "Comments (%s)"
1502
- msgstr "Commenti (%s)"
1503
-
1504
- #: ../views/orders/shipping/shipping-form.php:46
1505
- msgid "Provider:"
1506
- msgstr "Provider:"
1507
-
1508
- #: ../views/orders/shipping/shipping-form.php:48
1509
- msgid "Custom Provider"
1510
- msgstr "Provider personalizzato"
1511
-
1512
- #: ../views/orders/shipping/shipping-form.php:68
1513
- msgid "Provider Name:"
1514
- msgstr "Nome provider:"
1515
-
1516
- #: ../views/orders/shipping/shipping-form.php:76
1517
- msgid "Tracking number:"
1518
- msgstr "Numero identificativo (Tracking number):"
1519
-
1520
- #: ../views/orders/shipping/shipping-form.php:84
1521
- msgid "Tracking link:"
1522
- msgstr "Link identificativo (Tracking link):"
1523
-
1524
- #: ../views/orders/shipping/shipping-form.php:93
1525
- msgid "Date shipped:"
1526
- msgstr "Data di spedizione:"
1527
-
1528
- #: ../views/orders/shipping/shipping-form.php:101
1529
- msgid "Preview:"
1530
- msgstr "Anteprima:"
1531
-
1532
- #: ../views/orders/shipping/shipping-form.php:101
1533
- msgid "Click here to track your shipment"
1534
- msgstr "Clicca qui per rilevare la tua spedizione"
1535
-
1536
- #: ../views/orders/shipping/shipping-form.php:110
1537
- msgid "Update tracking number"
1538
- msgstr "Aggiorna numero identificativo (Tracking link)"
1539
-
1540
- #: ../views/orders/shipping/shipping-form.php:112
1541
- msgid "Mark as shipped"
1542
- msgstr "Segna come spedito"
1543
-
1544
- #: ../views/orders/table-body.php:25
1545
- #, php-format
1546
- msgid "Quantity: %d"
1547
- msgstr "Quantità: %d"
1548
-
1549
- #~ msgid "Product Vendor"
1550
- #~ msgstr "Product Vendor"
1551
-
1552
- #~ msgid ""
1553
- #~ "<b>Product Vendor is disabled</b>. Product Vendor requires WooCommerce "
1554
- #~ "v2.0.1."
1555
- #~ msgstr ""
1556
- #~ "<b>Product Vendor è disabilitato</b>. Product Vendor richiede WooCommerce "
1557
- #~ "v2.0.1."
1558
-
1559
- #~ msgid "Product Vendors"
1560
- #~ msgstr "Prodotto dei Venditori"
1561
-
1562
- #~ msgid "Search for a product&hellip;"
1563
- #~ msgstr "Cerca un prodotto&hellip;"
1564
-
1565
- #~ msgid "Commission due"
1566
- #~ msgstr "Commissione dovuta"
1567
-
1568
- #~ msgid "Commission Due"
1569
- #~ msgstr "Commissione dovuta"
1570
-
1571
- #~ msgid ""
1572
- #~ "Choose the page that has the shortcode <code>[pv_vendor_dashboard]</"
1573
- #~ "code><br/>By default, My Account > Vendor Dashboard should have the "
1574
- #~ "shortcode."
1575
- #~ msgstr ""
1576
- #~ "Scegli la pagina che ha lo shortcode <code>[pv_vendor_dashboard]</"
1577
- #~ "code><br/>Di default, Mio Account > Dashboard venditore dovrebbe avere lo "
1578
- #~ "shortcode."
1579
-
1580
- #~ msgid ""
1581
- #~ "Choose the page that has the shortcode <code>[pv_shop_settings]</code><br/"
1582
- #~ ">These are the shop settings a vendor can configure."
1583
- #~ msgstr ""
1584
- #~ "Scegli la pagina che ha lo shortcode <code>[pv_shop_settings]</code><br/"
1585
- #~ ">Queste sono le impostazioni del negozio che un venditore può configurare."
1586
-
1587
- #~ msgid ""
1588
- #~ "Choose the page that has the shortcode <code>[pv_orders]</code><br/>By "
1589
- #~ "default, My Account > Orders should have the shortcode."
1590
- #~ msgstr ""
1591
- #~ "Scegli la pagina che ha lo shortcode <code>[pv_orders]</code><br/>Di "
1592
- #~ "default, Mio Account > Ordini dovrebbe avere lo shortcode."
1593
-
1594
- #~ msgid "Apply to become a vendor?"
1595
- #~ msgstr "Domanda per diventare un venditore?"
1596
-
1597
- #~ msgid ""
1598
- #~ "<b>Important:</b> Unless you're using the <a href=\"%s\">beta version of "
1599
- #~ "TRS2</a>, all shipping costs will be given to the shop admin. Vendors "
1600
- #~ "will not receive shipping costs."
1601
- #~ msgstr ""
1602
- #~ "<b>Importante:</b> A meno che non stai usando il<a href=\"%s\">beta "
1603
- #~ "version of TRS2</a>, tutti i costi di spedizione saranno dati al negozio "
1604
- #~ "dell'amministrazione. I venditori non riceveranno i costi di spedizione."
1605
-
1606
- #~ msgid ""
1607
- #~ "The plugin has been updated, but could not be reactivated. Please "
1608
- #~ "reactivate it manually."
1609
- #~ msgstr ""
1610
- #~ "Il plugin è stato aggiornato, ma potrebbe non essere tato riattivato. Si "
1611
- #~ "prega di riattivarlo manualmente."
1612
-
1613
- #~ msgid "Plugin reactivated successfully."
1614
- #~ msgstr "Plugin riattivato con successo."
1615
-
1616
- #~ msgid "MGates.me Updates"
1617
- #~ msgstr "Aggiornamenti MGates.me"
1618
-
1619
- #~ msgid "MGates.me Plugin Updater"
1620
- #~ msgstr "MGates.me Plugin Updater"
1621
-
1622
- #~ msgid "Enter your license key to automatically receive updates."
1623
- #~ msgstr ""
1624
- #~ "Inserisci la tua chiave di licenza per ricevere aggiornamenti "
1625
- #~ "automaticamente."
1626
-
1627
- #~ msgid "Check for updates <b>now</b>"
1628
- #~ msgstr "Cerca aggiornamenti <b>ora</b>"
1629
-
1630
- #~ msgid ""
1631
- #~ "<b style=\"color: #468847;\">Key deactivated.</b> License key for <i>%s</"
1632
- #~ "i> has been <b>deactivated</b>."
1633
- #~ msgstr ""
1634
- #~ "<b style=\"color: #468847;\">Chiave disattivata.</b>La chiave della "
1635
- #~ "licenza per<i>%s</i> è stata <b>disattivata</b>."
1636
-
1637
- #~ msgid ""
1638
- #~ "<b style=\"color: #B94A48;\">Error.</b> License key for <i>%s</i> could "
1639
- #~ "not be deactivated."
1640
- #~ msgstr ""
1641
- #~ "<b style=\"color: #B94A48;\">Errore.</b> La chiave della licenza per<i>"
1642
- #~ "%s</i> potrebbe non essere disattivata."
1643
-
1644
- #~ msgid ""
1645
- #~ "<b style=\"color: #468847;\">Key activated.</b> License key for <i>%s</i> "
1646
- #~ "has been <b>activated</b>."
1647
- #~ msgstr ""
1648
- #~ "<b style=\"color: #468847;\">Chiave attivata.</b> La chiave della licenza "
1649
- #~ "per <i>%s</i>è stata<b>attivata</b>."
1650
-
1651
- #~ msgid ""
1652
- #~ "<b style=\"color: #B94A48;\">Error.</b> License key for <i>%s</i> is "
1653
- #~ "invalid."
1654
- #~ msgstr ""
1655
- #~ "<b style=\"color: #B94A48;\">Errore.</b> La chiave della licenza per<i>"
1656
- #~ "%s</i> non è valida."
1657
-
1658
- #~ msgid "Enable MGates.me Plugin Updates."
1659
- #~ msgstr "Abilita Aggiornamenti MGates.me Plugin"
1660
-
1661
- #~ msgid ""
1662
- #~ "<a href=\"%1$s\">Add your license keys</a> to enable automatic plugin "
1663
- #~ "updates."
1664
- #~ msgstr ""
1665
- #~ "<a href=\"%1$s\">Aggiungi le tue chiavi licenza</a> per abilitare gli "
1666
- #~ "aggiornamenti automatici del plugin."
1667
-
1668
- #~ msgid "Hide This Message"
1669
- #~ msgstr "Nascondi questo messaggio"
1670
-
1671
- #~ msgid "Your account has not yet been approved to become a vendor."
1672
- #~ msgstr ""
1673
- #~ "Il tuo account non è stato ancora approvato per diventare un venditore."
1674
-
1675
- #~ msgid "Your account is not vendor capable."
1676
- #~ msgstr "Il tuo account non è un account venditore."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/dashboard/date-picker.php DELETED
@@ -1,14 +0,0 @@
1
- <form method="post">
2
- <p>
3
- <label style="display:inline;" for="from"><?php _e( 'From:', 'wcvendors' ); ?></label>
4
- <input class="date-pick" type="date" name="start_date" id="from"
5
- value="<?php echo esc_attr( date( 'Y-m-d', $start_date ) ); ?>"/>
6
-
7
- <label style="display:inline;" for="to"><?php _e( 'To:', 'wcvendors' ); ?></label>
8
- <input type="date" class="date-pick" name="end_date" id="to"
9
- value="<?php echo esc_attr( date( 'Y-m-d', $end_date ) ); ?>"/>
10
-
11
- <input type="submit" class="btn btn-inverse btn-small" style="float:none;"
12
- value="<?php _e( 'Show', 'wcvendors' ); ?>"/>
13
- </p>
14
- </form>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/dashboard/denied.php DELETED
@@ -1,60 +0,0 @@
1
- <?php if ( function_exists( 'wc_print_notices' ) ) wc_print_notices(); else {
2
- global $woocommerce;
3
- wc_print_notices();
4
- } ?>
5
-
6
- <?php if ( WCV_Vendors::is_pending( get_current_user_id() ) ) { ?>
7
-
8
- <p><?php _e( 'Your account has not yet been approved to become a vendor. When it is, you will receive an email telling you that your account is approved!', 'wcvendors' ); ?></p>
9
-
10
- <?php } else { ?>
11
-
12
- <p><?php _e( 'Your account is not setup as a vendor yet. If you would like to register, please complete this page!', 'wcvendors' ); ?></p>
13
-
14
- <?php if ( WC_Vendors::$pv_options->get_option( 'show_vendor_registration' ) ) { ?>
15
- <form method="POST" action="">
16
- <div class="clear"></div>
17
- <p class="form-row">
18
- <input class="input-checkbox"
19
- id="apply_for_vendor" <?php checked( isset( $_POST[ 'apply_for_vendor' ] ), true ) ?>
20
- type="checkbox" name="apply_for_vendor" value="1"/>
21
- <label for="apply_for_vendor"
22
- class="checkbox"><?php echo apply_filters('wcvendors_vendor_registration_checkbox', __( 'Apply to become a vendor? ', 'wcvendors' )); ?></label>
23
- </p>
24
-
25
- <div class="clear"></div>
26
-
27
- <?php if ( $terms_page = WC_Vendors::$pv_options->get_option( 'terms_to_apply_page' ) ) { ?>
28
- <p class="form-row agree-to-terms-container" style="display:none">
29
- <input class="input-checkbox"
30
- id="agree_to_terms" <?php checked( isset( $_POST[ 'agree_to_terms' ] ), true ) ?>
31
- type="checkbox" name="agree_to_terms" value="1"/>
32
- <label for="agree_to_terms"
33
- class="checkbox"><?php printf( __( 'I have read and accepted the <a href="%s">terms and conditions</a>', 'wcvendors' ), get_permalink( $terms_page ) ); ?></label>
34
- </p>
35
-
36
- <script type="text/javascript">
37
- jQuery(function () {
38
- if (jQuery('#apply_for_vendor').is(':checked')) {
39
- jQuery('.agree-to-terms-container').show();
40
- }
41
-
42
- jQuery('#apply_for_vendor').on('click', function () {
43
- jQuery('.agree-to-terms-container').slideToggle();
44
- });
45
- })
46
- </script>
47
-
48
- <div class="clear"></div>
49
- <?php } ?>
50
-
51
- <p class="form-row">
52
- <input type="submit" class="button" name="apply_for_vendor_submit"
53
- value="<?php _e( 'Submit', 'wcvendors' ); ?>"/>
54
- </p>
55
- </form>
56
- <?php } ?>
57
-
58
- <?php } ?>
59
-
60
- <br class="clear">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/dashboard/links.php DELETED
@@ -1,18 +0,0 @@
1
- <h2><?php _e( 'Control Center', 'wcvendors' ); ?></h2>
2
- <p>
3
- <b><?php _e( 'My shop', 'wcvendors' ); ?></b><br/>
4
- <a href="<?php echo $shop_page; ?>"><?php echo $shop_page; ?></a>
5
- </p>
6
- <p>
7
- <b><?php _e( 'My settings', 'wcvendors' ); ?></b><br/>
8
- <a href="<?php echo $settings_page; ?>"><?php echo $settings_page; ?></a>
9
- </p>
10
-
11
- <?php if ( $can_submit ) { ?>
12
- <p>
13
- <b><?php _e( 'Submit a product', 'wcvendors' ); ?></b><br/>
14
- <a target="_TOP" href="<?php echo $submit_link; ?>"><?php echo $submit_link; ?></a>
15
- </p>
16
- <?php } ?>
17
-
18
- <hr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/dashboard/orders.php DELETED
@@ -1,123 +0,0 @@
1
- <script type="text/javascript">
2
- jQuery(function () {
3
- jQuery('a.view-items').on('click', function (e) {
4
- e.preventDefault();
5
- var id = jQuery(this).attr('id');
6
-
7
- if ( jQuery(this).text() == "<?php _e('Hide items', 'wcvendors'); ?>" ) {
8
- jQuery(this).text("<?php _e('View items', 'wcvendors'); ?>");
9
- } else {
10
- jQuery(this).text("<?php _e('Hide items', 'wcvendors'); ?>");
11
- }
12
-
13
- jQuery("#view-items-" + id).fadeToggle();
14
- });
15
-
16
- jQuery('a.view-order-tracking').on('click', function (e) {
17
- e.preventDefault();
18
- var id = jQuery(this).attr('id');
19
- jQuery("#view-tracking-" + id).fadeToggle();
20
- });
21
- });
22
- </script>
23
-
24
- <h2><?php _e( 'Orders', 'wcvendors' ); ?></h2>
25
-
26
- <?php global $woocommerce; ?>
27
-
28
- <?php if ( function_exists( 'wc_print_notices' ) ) { wc_print_notices(); } ?>
29
-
30
- <table class="table table-condensed table-vendor-sales-report">
31
- <thead>
32
- <tr>
33
- <th class="product-header"><?php _e( 'Order', 'wcvendors' ); ?></th>
34
- <th class="quantity-header"><?php _e( 'Shipping', 'wcvendors' ) ?></th>
35
- <th class="commission-header"><?php _e( 'Total', 'wcvendors' ) ?></th>
36
- <th class="rate-header"><?php _e( 'Date', 'wcvendors' ) ?></th>
37
- <th class="rate-header"><?php _e( 'Links', 'wcvendors' ) ?></th>
38
- </thead>
39
- <tbody>
40
-
41
- <?php if ( !empty( $order_summary ) ) : $totals = 0;
42
- $user_id = get_current_user_id();
43
- ?>
44
-
45
- <?php foreach ( $order_summary as $order ) :
46
-
47
- $order = new WC_Order( $order->order_id );
48
- $valid_items = WCV_Queries::get_products_for_order( $order->id );
49
- $valid = array();
50
-
51
- $items = $order->get_items();
52
- foreach ($items as $key => $value) {
53
- if ( in_array($value['variation_id'], $valid_items) || in_array($value['product_id'], $valid_items)) {
54
- $valid[] = $value;
55
- }
56
- }
57
-
58
- $shippers = (array) get_post_meta( $order->id, 'wc_pv_shipped', true );
59
- $shipped = in_array($user_id, $shippers);
60
- ?>
61
-
62
- <tr>
63
- <td><?php echo $order->get_order_number(); ?></td>
64
- <td><?php echo apply_filters( 'wcvendors_dashboard_google_maps_link', '<a target="_blank" href="' . esc_url( 'http://maps.google.com/maps?&q=' . urlencode( esc_html( preg_replace( '#<br\s*/?>#i', ', ', $order->get_formatted_shipping_address() ) ) ) . '&z=16' ) . '">'. esc_html( preg_replace( '#<br\s*/?>#i', ', ', $order->get_formatted_shipping_address() ) ) .'</a>' ); ?></td>
65
- <td><?php $sum = WCV_Queries::sum_for_orders( array( $order->id ), array('vendor_id'=>get_current_user_id()) ); $total = $sum[0]->line_total; $totals += $total; echo woocommerce_price( $total ); ?></td>
66
- <td><?php echo $order->order_date; ?></td>
67
- <td><a href="#" class="view-items" id="<?php echo $order->id; ?>"><?php _e('View items', 'wcvendors'); ?></a> | <a href="?wc_pv_mark_shipped=<?php echo $order->id; ?>" class="mark-shipped"><?php echo $shipped ? __('Unmark shipped', 'wcvendors') : __('Mark shipped', 'wcvendors'); ?></a> <?php if ( $providers ) : ?> <a href="#" class="view-order-tracking" id="<?php echo $order->id; ?>"><?php _e( 'Tracking', 'wcvendors' ); ?></a><?php endif; ?></td>
68
- </tr>
69
-
70
- <tr id="view-items-<?php echo $order->id; ?>" style="display:none;">
71
- <td colspan="5">
72
- <?php foreach ($valid as $key => $item):
73
- $item_meta = new WC_Order_Item_Meta( $item[ 'item_meta' ] );
74
- $item_meta = $item_meta->display( false, true ); ?>
75
- <?php echo $item['qty'] . 'x ' . $item['name']; ?>
76
-
77
- <?php if (!empty( $item_meta ) && $item_meta != '<dl class="variation"></dl>') : ?>
78
- <?php echo $item_meta; ?>
79
- <?php endif; ?>
80
-
81
- <br/>
82
-
83
- <?php endforeach ?>
84
-
85
- </td>
86
- </tr>
87
-
88
- <?php if ( $providers ) : ?>
89
- <tr id="view-tracking-<?php echo $order->id; ?>" style="display:none;">
90
- <td colspan="5">
91
- <div class="order-tracking">
92
- <?php
93
- wc_get_template( 'shipping-form.php', array(
94
- 'order_id' => $order->id,
95
- 'product_id' => $product_id,
96
- 'providers' => $providers,
97
- 'provider_array' => $provider_array,
98
- ), 'wc-product-vendor/orders/shipping/', wcv_plugin_dir . 'views/orders/shipping/' );
99
- ?>
100
- </div>
101
-
102
- </td>
103
- </tr>
104
- <?php endif; ?>
105
-
106
- <?php endforeach; ?>
107
-
108
- <tr>
109
- <td><b>Total:</b></td>
110
- <td colspan="4"><?php echo woocommerce_price( $totals ); ?></td>
111
- </tr>
112
-
113
- <?php else : ?>
114
-
115
- <tr>
116
- <td colspan="4"
117
- style="text-align:center;"><?php _e( 'You have no orders during this period.', 'wcvendors' ); ?></td>
118
- </tr>
119
-
120
- <?php endif; ?>
121
-
122
- </tbody>
123
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/dashboard/reports.php DELETED
@@ -1,88 +0,0 @@
1
- <h2><?php _e( 'Sales Report', 'wcvendors' ); ?></h2>
2
-
3
- <?php
4
-
5
- if ( $datepicker !== 'false' ) {
6
- wc_get_template( 'date-picker.php', array(
7
- 'start_date' => $start_date,
8
- 'end_date' => $end_date,
9
- ), 'wc-product-vendor/dashboard/', wcv_plugin_dir . 'views/dashboard/' );
10
- }
11
-
12
- ?>
13
-
14
- <table class="table table-condensed table-vendor-sales-report">
15
- <thead>
16
- <tr>
17
- <th class="product-header"><?php _e( 'Product', 'wcvendors' ); ?></th>
18
- <th class="quantity-header"><?php _e( 'Quantity', 'wcvendors' ) ?></th>
19
- <th class="commission-header"><?php _e( 'Commission', 'wcvendors' ) ?></th>
20
- <th class="rate-header"><?php _e( 'Rate', 'wcvendors' ) ?></th>
21
- <th></th>
22
- </thead>
23
- <tbody>
24
-
25
- <?php if ( !empty( $vendor_summary ) ) : ?>
26
-
27
-
28
- <?php if ( !empty( $vendor_summary[ 'products' ] ) ) : ?>
29
-
30
- <?php foreach ( $vendor_summary[ 'products' ] as $product ) :
31
- $_product = get_product( $product[ 'id' ] ); ?>
32
-
33
- <tr>
34
-
35
- <td class="product"><strong><a
36
- href="<?php echo esc_url( get_permalink( $_product->id ) ) ?>"><?php echo $product[ 'title' ] ?></a></strong>
37
- <?php if ( !empty( $_product->variation_id ) ) {
38
- echo woocommerce_get_formatted_variation( $_product->variation_data );
39
- } ?>
40
- </td>
41
- <td class="qty"><?php echo $product[ 'qty' ]; ?></td>
42
- <td class="commission"><?php echo woocommerce_price( $product[ 'cost' ] ); ?></td>
43
- <td class="rate"><?php echo sprintf( '%.2f%%', $product[ 'commission_rate' ] ); ?></td>
44
-
45
- <?php if ( $can_view_orders ) : ?>
46
- <td>
47
- <a href="<?php echo $product[ 'view_orders_url' ]; ?>"><?php _e( 'Show Orders', 'wcvendors' ); ?></a>
48
- </td>
49
- <?php endif; ?>
50
-
51
- </tr>
52
-
53
- <?php endforeach; ?>
54
-
55
- <tr>
56
- <td><strong><?php _e( 'Totals', 'wcvendors' ); ?></strong></td>
57
- <td><?php echo $vendor_summary[ 'total_qty' ]; ?></td>
58
- <td><?php echo woocommerce_price( $vendor_summary[ 'total_cost' ] ); ?></td>
59
- <td></td>
60
-
61
- <?php if ( $can_view_orders ) : ?>
62
- <td></td>
63
- <?php endif; ?>
64
-
65
- </tr>
66
-
67
- <?php else : ?>
68
-
69
- <tr>
70
- <td colspan="4"
71
- style="text-align:center;"><?php _e( 'You have no sales during this period.', 'wcvendors' ); ?></td>
72
- </tr>
73
-
74
- <?php endif; ?>
75
-
76
-
77
-
78
- <?php else : ?>
79
-
80
- <tr>
81
- <td colspan="4"
82
- style="text-align:center;"><?php _e( 'You haven\'t made any sales yet.', 'wcvendors' ); ?></td>
83
- </tr>
84
-
85
- <?php endif; ?>
86
-
87
- </tbody>
88
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/dashboard/settings/paypal-email-form.php DELETED
@@ -1,8 +0,0 @@
1
- <div class="pv_paypal_container">
2
- <p><b><?php _e( 'PayPal Address', 'wcvendors' ); ?></b><br/>
3
- <?php _e( 'Your PayPal address is used to send you your commission.', 'wcvendors' ); ?><br/>
4
-
5
- <input type="email" name="pv_paypal" id="pv_paypal" placeholder="some@email.com"
6
- value="<?php echo get_user_meta( $user_id, 'pv_paypal', true ); ?>"/>
7
- </p>
8
- </div>
 
 
 
 
 
 
 
 
WCVendors/views/dashboard/settings/seller-info.php DELETED
@@ -1,21 +0,0 @@
1
- <div id="pv_seller_info_container">
2
- <p>
3
- <b><?php echo apply_filters( 'wcvendors_seller_info_label', __( 'Seller info', 'wcvendors' ) ); ?></b><br/>
4
- <?php _e( 'This is displayed on each of your products.', 'wcvendors' ); ?></p>
5
-
6
- <p>
7
- <?php
8
-
9
- if ( $global_html || $has_html ) {
10
- $old_post = $GLOBALS[ 'post' ];
11
- $GLOBALS[ 'post' ] = 0;
12
- wp_editor( $seller_info, 'pv_seller_info' );
13
- $GLOBALS[ 'post' ] = $old_post;
14
- } else {
15
- ?><textarea class="large-text" rows="10" id="pv_seller_info_unhtml" style="width:95%"
16
- name="pv_seller_info"><?php echo $seller_info; ?></textarea><?php
17
- }
18
-
19
- ?>
20
- </p>
21
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/dashboard/settings/settings.php DELETED
@@ -1,48 +0,0 @@
1
- <h2><?php _e( 'Settings', 'wcvendors' ); ?></h2>
2
-
3
- <?php if ( function_exists( 'wc_print_notices' ) ) { wc_print_notices(); } ?>
4
-
5
- <form method="post">
6
- <?php
7
-
8
- do_action( 'wcvendors_settings_before_paypal' );
9
-
10
- if ( $paypal_address !== 'false' ) {
11
- wc_get_template( 'paypal-email-form.php', array(
12
- 'user_id' => $user_id,
13
- ), 'wc-product-vendor/dashboard/settings/', wcv_plugin_dir . 'views/dashboard/settings/' );
14
- }
15
-
16
- do_action( 'wcvendors_settings_after_paypal' );
17
-
18
- wc_get_template( 'shop-name.php', array(
19
- 'user_id' => $user_id,
20
- ), 'wc-product-vendor/dashboard/settings/', wcv_plugin_dir . 'views/dashboard/settings/' );
21
-
22
- do_action( 'wcvendors_settings_after_shop_name' );
23
-
24
- wc_get_template( 'seller-info.php', array(
25
- 'global_html' => $global_html,
26
- 'has_html' => $has_html,
27
- 'seller_info' => $seller_info,
28
- ), 'wc-product-vendor/dashboard/settings/', wcv_plugin_dir . 'views/dashboard/settings/' );
29
-
30
- do_action( 'wcvendors_settings_after_seller_info' );
31
-
32
- if ( $shop_description !== 'false' ) {
33
- wc_get_template( 'shop-description.php', array(
34
- 'description' => $description,
35
- 'global_html' => $global_html,
36
- 'has_html' => $has_html,
37
- 'shop_page' => $shop_page,
38
- 'user_id' => $user_id,
39
- ), 'wc-product-vendor/dashboard/settings/', wcv_plugin_dir . 'views/dashboard/settings/' );
40
-
41
- do_action( 'wcvendors_settings_after_shop_description' );
42
- }
43
- ?>
44
-
45
- <?php wp_nonce_field( 'save-shop-settings', 'wc-product-vendor-nonce' ); ?>
46
- <input type="submit" class="btn btn-inverse btn-small" style="float:none;" name="vendor_application_submit"
47
- value="<?php _e( 'Save', 'wcvendors' ); ?>"/>
48
- </form>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/dashboard/settings/shop-description.php DELETED
@@ -1,22 +0,0 @@
1
- <div id="pv_shop_description_container">
2
- <p><b><?php _e( 'Shop Description', 'wcvendors' ); ?></b><br/>
3
- <?php printf( __( 'This is displayed on your <a href="%s">shop page</a>.', 'wcvendors' ), $shop_page ); ?>
4
- </p>
5
-
6
- <p>
7
- <?php
8
-
9
- if ( $global_html || $has_html ) {
10
- $old_post = $GLOBALS[ 'post' ];
11
- $GLOBALS[ 'post' ] = 0;
12
- wp_editor( $description, 'pv_shop_description' );
13
- $GLOBALS[ 'post' ] = $old_post;
14
- } else {
15
- ?><textarea class="large-text" rows="10" id="pv_shop_description_unhtml" style="width:95%"
16
- name="pv_shop_description"><?php echo $description; ?></textarea><?php
17
- }
18
-
19
- ?>
20
- </p>
21
-
22
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/dashboard/settings/shop-name.php DELETED
@@ -1,8 +0,0 @@
1
- <div class="pv_shop_name_container">
2
- <p><b><?php _e( 'Shop Name', 'wcvendors' ); ?></b><br/>
3
- <?php _e( 'Your shop name is public and must be unique.', 'wcvendors' ); ?><br/>
4
-
5
- <input type="text" name="pv_shop_name" id="pv_shop_name" placeholder="Your shop name"
6
- value="<?php echo get_user_meta( $user_id, 'pv_shop_name', true ); ?>"/>
7
- </p>
8
- </div>
 
 
 
 
 
 
 
 
WCVendors/views/emails/admin-new-order.php DELETED
@@ -1,61 +0,0 @@
1
- <?php
2
- /**
3
- * Admin new order email
4
- *
5
- * @author WooThemes
6
- * @package WooCommerce/Templates/Emails/HTML
7
- * @version 2.0.0
8
- */
9
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly ?>
10
-
11
- <?php do_action( 'woocommerce_email_header', $email_heading ); ?>
12
-
13
- <p><?php printf( __( 'You have received an order from %s. Their order is as follows:', 'woocommerce' ), $order->billing_first_name . ' ' . $order->billing_last_name ); ?></p>
14
-
15
- <?php do_action( 'woocommerce_email_before_order_table', $order, true ); ?>
16
-
17
- <h2><?php printf( __( 'Order: %s', 'woocommerce'), $order->get_order_number() ); ?> (<?php printf( '<time datetime="%s">%s</time>', date_i18n( 'c', strtotime( $order->order_date ) ), date_i18n( woocommerce_date_format(), strtotime( $order->order_date ) ) ); ?>)</h2>
18
-
19
- <table cellspacing="0" cellpadding="6" style="width: 100%; border: 1px solid #eee;" border="1" bordercolor="#eee">
20
- <thead>
21
- <tr>
22
- <th scope="col" style="text-align:left; border: 1px solid #eee;"><?php _e( 'Product', 'woocommerce' ); ?></th>
23
- <th scope="col" style="text-align:left; border: 1px solid #eee;"><?php _e( 'Quantity', 'woocommerce' ); ?></th>
24
- <th scope="col" style="text-align:left; border: 1px solid #eee;"><?php _e( 'Price', 'woocommerce' ); ?></th>
25
- </tr>
26
- </thead>
27
- <tbody>
28
- <?php echo $order->email_order_items_table( false, true ); ?>
29
- </tbody>
30
- <tfoot>
31
- <?php
32
- if ( $totals = $order->get_order_item_totals() ) {
33
- $i = 0;
34
- foreach ( $totals as $total ) {
35
- $i++;
36
- ?><tr>
37
- <th scope="row" colspan="2" style="text-align:left; border: 1px solid #eee; <?php if ( $i == 1 ) echo 'border-top-width: 4px;'; ?>"><?php echo $total['label']; ?></th>
38
- <td style="text-align:left; border: 1px solid #eee; <?php if ( $i == 1 ) echo 'border-top-width: 4px;'; ?>"><?php echo $total['value']; ?></td>
39
- </tr><?php
40
- }
41
- }
42
- ?>
43
- </tfoot>
44
- </table>
45
-
46
- <?php do_action('woocommerce_email_after_order_table', $order, true); ?>
47
-
48
- <?php do_action( 'woocommerce_email_order_meta', $order, true ); ?>
49
-
50
- <h2><?php _e( 'Customer details', 'woocommerce' ); ?></h2>
51
-
52
- <?php if ( $order->billing_email ) : ?>
53
- <p><strong><?php _e( 'Email:', 'woocommerce' ); ?></strong> <?php echo $order->billing_email; ?></p>
54
- <?php endif; ?>
55
- <?php if ( $order->billing_phone ) : ?>
56
- <p><strong><?php _e( 'Tel:', 'woocommerce' ); ?></strong> <?php echo $order->billing_phone; ?></p>
57
- <?php endif; ?>
58
-
59
- <?php wc_get_template( 'emails/email-addresses.php', array( 'order' => $order ) ); ?>
60
-
61
- <?php do_action( 'woocommerce_email_footer' ); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/emails/application-status.php DELETED
@@ -1,12 +0,0 @@
1
- <?php if ( !defined( 'ABSPATH' ) ) exit; ?>
2
-
3
- <?php do_action( 'woocommerce_email_header', $email_heading ); ?>
4
-
5
- <p><?php printf( __( "Hi there. This is a notification about a vendor application on %s.", 'wcvendors' ), get_option( 'blogname' ) ); ?></p>
6
-
7
- <p>
8
- <?php printf( __( "Application status: %s", 'wcvendors' ), $status ); ?><br/>
9
- <?php printf( __( "Applicant username: %s", 'wcvendors' ), $user->user_login ); ?>
10
- </p>
11
-
12
- <?php do_action( 'woocommerce_email_footer' ); ?>
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/emails/new-product.php DELETED
@@ -1,14 +0,0 @@
1
- <?php if ( !defined( 'ABSPATH' ) ) exit; ?>
2
-
3
- <?php do_action( 'woocommerce_email_header', $email_heading ); ?>
4
-
5
- <p><?php printf( __( "Hi there. This is a notification about a new product on %s.", 'wcvendors' ), get_option( 'blogname' ) ); ?></p>
6
-
7
- <p>
8
- <?php printf( __( "Product title: %s", 'wcvendors' ), $product_name ); ?><br/>
9
- <?php printf( __( "Submitted by: %s", 'wcvendors' ), $vendor_name ); ?><br/>
10
- <?php printf( __( "Edit product: %s", 'wcvendors' ), admin_url( 'post.php?post=' . $post_id . '&action=edit' ) ); ?>
11
- <br/>
12
- </p>
13
-
14
- <?php do_action( 'woocommerce_email_footer' ); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/emails/notify-vendor-shipped.php DELETED
@@ -1,61 +0,0 @@
1
- <?php
2
- /**
3
- * Admin new order email
4
- *
5
- * @author WooThemes
6
- * @package WooCommerce/Templates/Emails/HTML
7
- * @version 2.0.0
8
- */
9
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly ?>
10
-
11
- <?php do_action( 'woocommerce_email_header', $email_heading ); ?>
12
-
13
- <p><?php _e( 'A vendor has marked part of your order as shipped. The items that are shipped are as follows:', 'woocommerce' ); ?></p>
14
-
15
- <?php do_action( 'woocommerce_email_before_order_table', $order, true ); ?>
16
-
17
- <h2><?php printf( __( 'Order: %s', 'woocommerce'), $order->get_order_number() ); ?> (<?php printf( '<time datetime="%s">%s</time>', date_i18n( 'c', strtotime( $order->order_date ) ), date_i18n( woocommerce_date_format(), strtotime( $order->order_date ) ) ); ?>)</h2>
18
-
19
- <table cellspacing="0" cellpadding="6" style="width: 100%; border: 1px solid #eee;" border="1" bordercolor="#eee">
20
- <thead>
21
- <tr>
22
- <th scope="col" style="text-align:left; border: 1px solid #eee;"><?php _e( 'Product', 'woocommerce' ); ?></th>
23
- <th scope="col" style="text-align:left; border: 1px solid #eee;"><?php _e( 'Quantity', 'woocommerce' ); ?></th>
24
- <th scope="col" style="text-align:left; border: 1px solid #eee;"><?php _e( 'Price', 'woocommerce' ); ?></th>
25
- </tr>
26
- </thead>
27
- <tbody>
28
- <?php echo $order->email_order_items_table( false, true ); ?>
29
- </tbody>
30
- <tfoot>
31
- <?php
32
- if ( $totals = $order->get_order_item_totals() ) {
33
- $i = 0;
34
- foreach ( $totals as $total ) {
35
- $i++;
36
- ?><tr>
37
- <th scope="row" colspan="2" style="text-align:left; border: 1px solid #eee; <?php if ( $i == 1 ) echo 'border-top-width: 4px;'; ?>"><?php echo $total['label']; ?></th>
38
- <td style="text-align:left; border: 1px solid #eee; <?php if ( $i == 1 ) echo 'border-top-width: 4px;'; ?>"><?php echo $total['value']; ?></td>
39
- </tr><?php
40
- }
41
- }
42
- ?>
43
- </tfoot>
44
- </table>
45
-
46
- <?php do_action('woocommerce_email_after_order_table', $order, true); ?>
47
-
48
- <?php do_action( 'woocommerce_email_order_meta', $order, true ); ?>
49
-
50
- <h2><?php _e( 'Customer details', 'woocommerce' ); ?></h2>
51
-
52
- <?php if ( $order->billing_email ) : ?>
53
- <p><strong><?php _e( 'Email:', 'woocommerce' ); ?></strong> <?php echo $order->billing_email; ?></p>
54
- <?php endif; ?>
55
- <?php if ( $order->billing_phone ) : ?>
56
- <p><strong><?php _e( 'Tel:', 'woocommerce' ); ?></strong> <?php echo $order->billing_phone; ?></p>
57
- <?php endif; ?>
58
-
59
- <?php wc_get_template( 'emails/email-addresses.php', array( 'order' => $order ) ); ?>
60
-
61
- <?php do_action( 'woocommerce_email_footer' ); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/front/vendor-list.php DELETED
@@ -1,18 +0,0 @@
1
- <?php
2
- /*
3
- * Template Variables available
4
- * $shop_name : pv_shop_name
5
- * $shop_description : pv_shop_description (completely sanitized)
6
- * $shop_link : the vendor shop link
7
- * $vendor_id : current vendor id for customization
8
- */
9
- ?>
10
-
11
- <li>
12
- <a href="<?php echo $shop_link; ?>" alt="<?php echo $shop_name; ?>" >
13
- <figure>
14
- <?php echo get_avatar($vendor_id, 50); ?>
15
- <span><?php echo $shop_name; ?></span>
16
- </figure>
17
- </a>
18
- </li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/front/vendor-main-header.php DELETED
@@ -1,23 +0,0 @@
1
- <?php
2
- /**
3
- * Vendor Main Header - Hooked into archive-product page
4
- *
5
- * @author WCVendors
6
- * @package WCVendors
7
- * @version 1.3.0
8
- */
9
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
10
-
11
- /*
12
- * Template Variables available
13
- * $shop_name : pv_shop_name
14
- * $shop_description : pv_shop_description (completely sanitized)
15
- * $vendor_id : current vendor id for customization
16
- */
17
-
18
- ?>
19
-
20
- <h1><?php echo $shop_name; ?></h1>
21
- <div class="wcv_shop_description">
22
- <?php echo $shop_description; ?>
23
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/front/vendor-mini-header.php DELETED
@@ -1,23 +0,0 @@
1
- <?php
2
- /**
3
- * Vendor Mini Header - Hooked into archive-product page
4
- *
5
- * @author WCVendors
6
- * @package WCVendors
7
- * @version 1.3.0
8
- */
9
- if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
10
-
11
- /*
12
- * Template Variables available
13
- * $shop_name : pv_shop_name
14
- * $shop_description : pv_shop_description (completely sanitized)
15
- * $vendor_id : current vendor id for customization
16
- */
17
-
18
- ?>
19
-
20
- <h1><?php echo $shop_name; ?></h1>
21
- <div class="wcv_shop_description">
22
- <?php echo $shop_description; ?>
23
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/orders/comments/existing-comments.php DELETED
@@ -1,14 +0,0 @@
1
- <?php
2
-
3
- foreach ( $comments as $comment ) :
4
- $last_added = human_time_diff( strtotime( $comment->comment_date_gmt ), current_time( 'timestamp', 1 ) );
5
-
6
- ?>
7
-
8
- <p>
9
- <?php printf( __( 'added %s ago', 'wcvendors' ), $last_added ); ?>
10
- </br>
11
- <?php echo $comment->comment_content; ?>
12
- </p>
13
-
14
- <?php endforeach; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/orders/csv-export.php DELETED
@@ -1,8 +0,0 @@
1
- <form method="post" name="export_orders">
2
- <input type="submit"
3
- class="btn btn-primary btn-small"
4
- style="float:right;margin-bottom:10px;"
5
- name="export_orders"
6
- value="<?php _e( 'Export orders', 'wcvendors' ); ?>"
7
- >
8
- </form>
 
 
 
 
 
 
 
 
WCVendors/views/orders/customer-note/customer-note.php DELETED
@@ -1,11 +0,0 @@
1
- <tr>
2
- <td colspan="100%">
3
- <h2>
4
- <?php _e( 'Customer note', 'wcvendors' ); ?>
5
- </h2>
6
-
7
- <p>
8
- <?php echo $customer_note ? $customer_note : __( 'No customer note.', 'wcvendors' ); ?>
9
- </p>
10
- </td>
11
- </tr>
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/orders/orders.php DELETED
@@ -1,138 +0,0 @@
1
- <?php
2
-
3
- global $woocommerce; ?>
4
-
5
- <?php if ( function_exists( 'wc_print_notices' ) ) { wc_print_notices(); } ?>
6
-
7
- <h2><?php printf( 'Orders for %s', get_product( $product_id )->get_title() ); ?></h2>
8
-
9
- <table class="table table-striped table-bordered">
10
- <thead>
11
- <tr>
12
- <?php foreach ( $headers as $header ) : ?>
13
- <th class="<?php echo sanitize_title( $header ); ?>"><?php echo $header; ?></th>
14
- <?php endforeach; ?>
15
- </tr>
16
- </thead>
17
- <tbody>
18
-
19
- <?php foreach ( $body as $order_id => $order ) :
20
-
21
- $order_items = !empty( $items[ $order_id ][ 'items' ] ) ? $items[ $order_id ][ 'items' ] : array();
22
- $count = count( $order_items ); ?>
23
-
24
- <tr>
25
-
26
- <?php
27
- $order_keys = array_keys( $order );
28
- $first_index = array_shift( $order_keys );
29
- $last_index = end( $order_keys );
30
- foreach ( $order as $detail_key => $detail ) : if ( $detail_key == $last_index ) continue; ?>
31
- <?php if ( $detail_key == $first_index ) : ?>
32
-
33
- <td class="<?php echo $detail_key; ?>"
34
- rowspan="<?php echo $count == 1 ? 3 : ( $count + 3 ); ?>"><?php echo $detail; ?></td>
35
-
36
- <?php else : ?>
37
-
38
- <td class="<?php echo $detail_key; ?>"><?php echo $detail; ?></td>
39
-
40
- <?php endif; ?>
41
- <?php endforeach; ?>
42
-
43
- </tr>
44
-
45
- <tr>
46
-
47
- <?php foreach ( $order_items as $item ) {
48
-
49
- wc_get_template( 'table-body.php', array(
50
- 'item' => $item,
51
- 'count' => $count,
52
- 'order_id' => $order_id,
53
- ), 'wc-product-vendor/orders/', wcv_plugin_dir . 'views/orders/' );
54
-
55
- }
56
-
57
- if ( !empty( $order[ 'comments' ] ) ) {
58
- $customer_note = $order[ 'comments' ];
59
- wc_get_template( 'customer-note.php', array(
60
- 'customer_note' => $customer_note,
61
- ), 'wc-product-vendor/orders/customer-note/', wcv_plugin_dir . 'views/orders/customer-note/' );
62
- }
63
-
64
- ?>
65
-
66
- <tr>
67
- <td colspan="100%">
68
-
69
- <?php
70
- $can_view_comments = WC_Vendors::$pv_options->get_option( 'can_view_order_comments' );
71
- $can_add_comments = WC_Vendors::$pv_options->get_option( 'can_submit_order_comments' );
72
-
73
- if ($can_view_comments || $can_add_comments) :
74
-
75
- $comments = array();
76
-
77
- if ( $can_view_comments ) {
78
- $order = new WC_Order( $order_id );
79
- $comments = $order->get_customer_order_notes();
80
- }
81
- ?>
82
- <a href="#" class="order-comments-link">
83
- <p>
84
- <?php printf( __( 'Comments (%s)', 'wcvendors' ), count( $comments ) ); ?>
85
- </p>
86
- </a>
87
-
88
- <div class="order-comments">
89
- <?php
90
-
91
- endif;
92
-
93
- if ( $can_view_comments && !empty( $comments ) ) {
94
- wc_get_template( 'existing-comments.php', array(
95
- 'comments' => $comments,
96
- ), 'wc-product-vendor/orders/comments/', wcv_plugin_dir . 'views/orders/comments/' );
97
- }
98
-
99
- if ( $can_add_comments ) {
100
- wc_get_template( 'add-new-comment.php', array(
101
- 'order_id' => $order_id,
102
- 'product_id' => $product_id,
103
- ), 'wc-product-vendor/orders/comments/', wcv_plugin_dir . 'views/orders/comments/' );
104
- }
105
-
106
- ?>
107
- </div>
108
-
109
- <?php if ( $providers ) : ?>
110
-
111
- <a href="#" class="order-tracking-link">
112
- <p>
113
- <?php _e( 'Shipping', 'wcvendors' ); ?>
114
- </p>
115
- </a>
116
-
117
- <div class="order-tracking">
118
- <?php
119
- wc_get_template( 'shipping-form.php', array(
120
- 'order_id' => $order_id,
121
- 'product_id' => $product_id,
122
- 'providers' => $providers,
123
- 'provider_array' => $provider_array,
124
- ), 'wc-product-vendor/orders/shipping/', wcv_plugin_dir . 'views/orders/shipping/' );
125
- ?>
126
- </div>
127
-
128
- <?php endif; ?>
129
-
130
- </td>
131
- </tr>
132
-
133
- </tr>
134
-
135
- <?php endforeach; ?>
136
-
137
- </tbody>
138
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/orders/shipping/shipping-form.php DELETED
@@ -1,115 +0,0 @@
1
- <?php if ( $providers ) : ?>
2
- <script>
3
- jQuery(function () {
4
- jQuery('input#custom_tracking_link, input#tracking_number, #tracking_provider').on('change',function () {
5
- var form = jQuery(this).parent().parent().attr('id');
6
-
7
- var tracking = jQuery('#' + form + ' input#tracking_number').val();
8
- var provider = jQuery('#' + form + ' #tracking_provider').val();
9
- var providers = jQuery.parseJSON('<?php echo json_encode( $provider_array ) ?>');
10
-
11
- var postcode = "32";
12
- postcode = encodeURIComponent(postcode);
13
-
14
- var link = '';
15
-
16
- if (providers[ provider ]) {
17
- link = providers[provider];
18
- link = link.replace('%251%24s', tracking);
19
- link = link.replace('%252%24s', postcode);
20
- link = decodeURIComponent(link);
21
-
22
- jQuery('#' + form + ' p.custom_tracking_link_field, #' + form + ' p.custom_tracking_provider_field').hide();
23
- } else {
24
- jQuery('#' + form + ' p.custom_tracking_link_field, #' + form + ' p.custom_tracking_provider_field').show();
25
-
26
- link = jQuery('#' + form + ' input#custom_tracking_link').val();
27
- }
28
-
29
- if (link) {
30
- jQuery('#' + form + ' p.preview_tracking_link a').attr('href', link);
31
- jQuery('#' + form + ' p.preview_tracking_link').show();
32
- } else {
33
- jQuery('#' + form + ' p.preview_tracking_link').hide();
34
- }
35
-
36
- }).change();
37
- });
38
- </script>
39
- <?php endif; ?>
40
-
41
- <form method="post" name="track_shipment" id="track-shipment_<?php echo $order_id; ?>">
42
-
43
- <?php wp_nonce_field( 'track-shipment' );
44
-
45
- // Providers
46
- echo '<p class="form-field tracking_provider_field"><label for="tracking_provider">' . __( 'Provider:', 'wc_shipment_tracking' ) . '</label><br/><select id="tracking_provider" name="tracking_provider" class="chosen_select" style="width:100%;">';
47
-
48
- echo '<option value="">' . __( 'Custom Provider', 'wc_shipment_tracking' ) . '</option>';
49
-
50
- $selected_provider = get_post_meta( $order_id, '_tracking_provider', true );
51
-
52
- foreach ( $providers as $provider_group => $providerss ) {
53
-
54
- echo '<optgroup label="' . $provider_group . '">';
55
-
56
- foreach ( $providerss as $provider => $url ) {
57
- echo '<option value="' . sanitize_title( $provider ) . '" ' . selected( sanitize_title( $provider ), $selected_provider, true ) . '>' . $provider . '</option>';
58
- }
59
-
60
- echo '</optgroup>';
61
-
62
- }
63
-
64
- echo '</select> ';
65
-
66
- woocommerce_wp_text_input( array(
67
- 'id' => 'custom_tracking_provider',
68
- 'label' => __( 'Provider Name:', 'wc_shipment_tracking' ),
69
- 'placeholder' => '',
70
- 'description' => '',
71
- 'value' => get_post_meta( $order_id, '_custom_tracking_provider', true )
72
- ) );
73
-
74
- woocommerce_wp_text_input( array(
75
- 'id' => 'tracking_number',
76
- 'label' => __( 'Tracking number:', 'wc_shipment_tracking' ),
77
- 'placeholder' => '',
78
- 'description' => '',
79
- 'value' => get_post_meta( $order_id, '_tracking_number', true )
80
- ) );
81
-
82
- woocommerce_wp_text_input( array(
83
- 'id' => 'custom_tracking_link',
84
- 'label' => __( 'Tracking link:', 'wc_shipment_tracking' ),
85
- 'placeholder' => 'http://',
86
- 'description' => '',
87
- 'value' => get_post_meta( $order_id, '_custom_tracking_link', true )
88
- ) );
89
-
90
- woocommerce_wp_text_input( array(
91
- 'type' => 'date',
92
- 'id' => 'date_shipped',
93
- 'label' => __( 'Date shipped:', 'wc_shipment_tracking' ),
94
- 'placeholder' => 'YYYY-MM-DD',
95
- 'description' => '',
96
- 'class' => 'date-picker-field',
97
- 'value' => ( $date = get_post_meta( $order_id, '_date_shipped', true ) ) ? date( 'Y-m-d', $date ) : ''
98
- ) );
99
-
100
- // Live preview
101
- echo '<p class="preview_tracking_link">' . __( 'Preview:', 'wc_shipment_tracking' ) . ' <a href="" target="_blank">' . __( 'Click here to track your shipment', 'wc_shipment_tracking' ) . '</a></p>';
102
-
103
- ?>
104
-
105
-
106
- <input type="hidden" name="product_id" value="<?php echo $product_id ?>">
107
- <input type="hidden" name="order_id" value="<?php echo $order_id; ?>">
108
-
109
- <input class="btn btn-large" type="submit" name="update_tracking"
110
- value="<?php _e( 'Update tracking number', 'wcvendors' ); ?>">
111
- <input class="btn btn-large" type="submit" name="mark_shipped"
112
- value="<?php _e( 'Mark as shipped', 'wcvendors' ); ?>">
113
-
114
- </form>
115
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WCVendors/views/orders/table-body.php DELETED
@@ -1,32 +0,0 @@
1
- <?php
2
- $item_meta = new WC_Order_Item_Meta( $item[ 'item_meta' ] );
3
- $item_meta = $item_meta->display( false, true );
4
-
5
- if ($count > 1) : ?>
6
-
7
- <tr>
8
-
9
- <?php endif; ?>
10
-
11
- <?php if (!empty( $item_meta ) && $item_meta != '<dl class="variation"></dl>') : ?>
12
-
13
- <td colspan="5">
14
- <?php echo $item_meta; ?>
15
- </td>
16
-
17
- <td colspan="2">
18
-
19
- <?php else : ?>
20
-
21
- <td colspan="100%">
22
-
23
- <?php endif; ?>
24
-
25
- <?php printf( __( 'Quantity: %d', 'wcvendors' ), $item[ 'qty' ] ); ?>
26
- </td>
27
-
28
- <?php if ($count > 1) : ?>
29
-
30
- </tr>
31
-
32
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/_variables.scss ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WooCommerce CSS Variables
3
+ */
4
+
5
+ $wcvendors: #005580;
6
+ $wcvendors-light: #5897b6;
7
+ $green: #7ad03a;
8
+ $red: #a00;
9
+ $orange: #ffba00;
10
+ $blue: #2ea2cc;
11
+
12
+ $primary: #a46497; // Primary color for buttons (alt)
13
+ $primarytext: desaturate(lighten($primary, 50%), 18%); // Text on primary color bg
14
+
15
+ $secondary: desaturate(lighten($primary, 40%), 21%); // Secondary buttons
16
+ $secondarytext: desaturate(darken($secondary, 60%), 21%); // Text on secondary color bg
17
+
18
+ $highlight: adjust-hue($primary, 150deg); // Prices, In stock labels, sales flash
19
+ $highlightext: desaturate(lighten($highlight, 50%), 18%); // Text on highlight color bg
20
+
21
+ $contentbg: #fff; // Content BG - Tabs (active state)
22
+ $subtext: #777; // small, breadcrumbs etc
23
+ $white: #fff;
assets/css/admin-orders.css ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ .wp-list-table .column-order_id { width: 10%; }
2
+ .wp-list-table .column-customer { width: 15%; }
3
+ .wp-list-table .column-product { width: 35%; }
4
+ .wp-list-table .column-total { width: 10%;}
5
+ /*.wp-list-table .column-comments { width: 27.5%;}*/
6
+ .wp-list-table .column-date { width: 15%;}
7
+ .wp-list-table .column-status { width: 15%;}
assets/css/select2.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
assets/css/wcv-activation.css ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** activation.scss Styles applied to elements displayed on activation */
2
+ /** Styling begins */
3
+ div.wcvendors-message { overflow: hidden; position: relative; border-left-color: #005580 !important; }
4
+
5
+ div.wcvendors-message p { max-width: 700px; }
6
+
7
+ div.wcvendors-message p:last-child { max-width: inherit; }
8
+
9
+ p.wcvendors-actions .button-primary, .wcvendors-message .button-primary { background: #005580; border-color: #005580; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #a36597; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #a36597; color: #fff; text-shadow: 0 -1px 1px #005580, 1px 0 1px #005580, 0 1px 1px #005580, -1px 0 1px #005580; }
10
+
11
+ p.wcvendors-actions .button-primary:hover, p.wcvendors-actions .button-primary:focus, p.wcvendors-actions .button-primary:active, .wcvendors-message .button-primary:hover, .wcvendors-message .button-primary:focus, .wcvendors-message .button-primary:active { background: #005580; border-color: #005580; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #005580; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #005580; }
12
+
13
+ p.wcvendors-actions a.wcvendors-message-close, .wcvendors-message a.wcvendors-message-close { position: absolute; top: 0; right: 0; padding: 10px 15px 10px 21px; font-size: 13px; line-height: 1.23076923; text-decoration: none; }
14
+
15
+ p.wcvendors-actions a.wcvendors-message-close::before, .wcvendors-message a.wcvendors-message-close::before { position: absolute; top: 8px; left: 0; -webkit-transition: all 0.1s ease-in-out; transition: all 0.1s ease-in-out; }
16
+
17
+ p.wcvendors-actions .button-primary, p.wcvendors-actions .button-secondary, .wcvendors-message .button-primary, .wcvendors-message .button-secondary { text-decoration: none !important; }
18
+
19
+ p.wcvendors-actions .twitter-share-button, .wcvendors-message .twitter-share-button { margin-top: -3px; margin-left: 3px; vertical-align: middle; }
20
+
21
+ p.wcvendors-actions, .wcvendors-about-text { margin-bottom: 1em !important; }
assets/css/wcv-activation.min.css ADDED
@@ -0,0 +1 @@
 
1
+ div.wcvendors-message{overflow:hidden;position:relative;border-left-color:#005580!important}div.wcvendors-message p{max-width:700px}div.wcvendors-message p:last-child{max-width:inherit}.wcvendors-message .button-primary,p.wcvendors-actions .button-primary{background:#005580;border-color:#005580;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #a36597;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #a36597;color:#fff;text-shadow:0 -1px 1px #005580,1px 0 1px #005580,0 1px 1px #005580,-1px 0 1px #005580}.wcvendors-message .button-primary:active,.wcvendors-message .button-primary:focus,.wcvendors-message .button-primary:hover,p.wcvendors-actions .button-primary:active,p.wcvendors-actions .button-primary:focus,p.wcvendors-actions .button-primary:hover{background:#005580;border-color:#005580;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #005580;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #005580}.wcvendors-message a.wcvendors-message-close,p.wcvendors-actions a.wcvendors-message-close{position:absolute;top:0;right:0;padding:10px 15px 10px 21px;font-size:13px;line-height:1.23076923;text-decoration:none}.wcvendors-message a.wcvendors-message-close::before,p.wcvendors-actions a.wcvendors-message-close::before{position:absolute;top:8px;left:0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wcvendors-message .button-primary,.wcvendors-message .button-secondary,p.wcvendors-actions .button-primary,p.wcvendors-actions .button-secondary{text-decoration:none!important}.wcvendors-message .twitter-share-button,p.wcvendors-actions .twitter-share-button{margin-top:-3px;margin-left:3px;vertical-align:middle}.wcvendors-about-text,p.wcvendors-actions{margin-bottom:1em!important}
assets/css/wcv-activation.scss ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * activation.scss
3
+ * Styles applied to elements displayed on activation
4
+ */
5
+
6
+ /**
7
+ * Styling begins
8
+ */
9
+ div.wcvendors-message {
10
+ overflow: hidden;
11
+ position: relative;
12
+ border-left-color: #005580 !important;
13
+ p {
14
+ max-width: 700px;
15
+ }
16
+ p:last-child {
17
+ max-width: inherit;
18
+ }
19
+ }
20
+
21
+ p.wcvendors-actions,
22
+ .wcvendors-message {
23
+ .button-primary {
24
+ background: #005580;
25
+ border-color: #005580;
26
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #a36597;
27
+ color: #fff;
28
+ text-shadow: 0 -1px 1px #005580, 1px 0 1px #005580, 0 1px 1px #005580, -1px 0 1px #005580;
29
+
30
+ &:hover, &:focus, &:active {
31
+ background: #005580;
32
+ border-color: #005580;
33
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #005580;
34
+ }
35
+ }
36
+
37
+ a.wcvendors-message-close {
38
+ position: absolute;
39
+ top: 0;
40
+ right: 0;
41
+ padding: 10px 15px 10px 21px;
42
+ font-size: 13px;
43
+ line-height: 1.23076923;
44
+ text-decoration: none;
45
+ &::before {
46
+ position: absolute;
47
+ top: 8px;
48
+ left: 0;
49
+ transition: all 0.1s ease-in-out;
50
+ }
51
+ }
52
+
53
+ .button-primary,
54
+ .button-secondary {
55
+ text-decoration: none !important;
56
+ }
57
+
58
+ .twitter-share-button {
59
+ margin-top: -3px;
60
+ margin-left: 3px;
61
+ vertical-align: middle;
62
+ }
63
+ }
64
+
65
+ p.wcvendors-actions,
66
+ .wcvendors-about-text {
67
+ margin-bottom: 1em !important;
68
+ }
assets/css/wcv-admin.css ADDED
@@ -0,0 +1,244 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .column-vendor { width: 10%; }
2
+
3
+ .bulk-edit-product .inline-edit-author { display: none; }
4
+
5
+ .bulk-edit-product .post_author { display: none; }
6
+
7
+ .widefat .column-wc_actions a.wcvendors_mark_shipped::after { content: "\f15f"; }
8
+
9
+ .wcv-mark-shipped span { line-height: 2em; margin-right: 10px; }
10
+
11
+ .wcv_addons_wrap { max-width: 1200px; margin: auto; /*Carousel*/ }
12
+
13
+ .wcv_addons_wrap h1.search-form-title { clear: left; padding: 0; }
14
+
15
+ .wcv_addons_wrap h1 { text-align: center; }
16
+
17
+ .wcv_addons_wrap .addons-featured { margin: 0; }
18
+
19
+ .wcv_addons_wrap ul.feature-list { list-style: inherit; }
20
+
21
+ .wcv_addons_wrap ul.feature-list li { margin-left: 20px; }
22
+
23
+ .wcv_addons_wrap ul.subsubsub.subsubsub { margin: -2px 0 12px; }
24
+
25
+ .wcv_addons_wrap .subsubsub li::after { content: '|'; }
26
+
27
+ .wcv_addons_wrap .subsubsub li:last-child::after { content: ''; }
28
+
29
+ .wcv_addons_wrap .align-center { text-align: center; }
30
+
31
+ .wcv_addons_wrap .wcv-logo { max-width: 250px; padding-top: 20px; display: block; margin-left: auto; margin-right: auto; width: 50%; }
32
+
33
+ .wcv_addons_wrap .addons-banner-block-item-icon { -webkit-box-align: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; background: #ffffff; height: 100px; }
34
+
35
+ .wcv_addons_wrap .addons-column-block-item-icon { -webkit-box-align: center; -ms-flex-align: center; align-items: center; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; background: #f7f7f7; border: 1px solid #e6e6e6; height: 100px; margin: 0 10px 10px 0; width: 100px; }
36
+
37
+ .wcv_addons_wrap .addons-banner-block { background: #ffffff; border: 1px solid #ddd; margin: 0 0 1em 0; padding: 2em 2em 1em; }
38
+
39
+ .wcv_addons_wrap .addons-banner-block img { height: 62px; }
40
+
41
+ .wcv_addons_wrap .addons-banner-block p { margin: 0 0 20px; }
42
+
43
+ .wcv_addons_wrap .addons-wcs-banner-block { background: #ffffff; border: 1px solid #ddd; margin: 0 0 1em 0; padding: 2em 2em 1em; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
44
+
45
+ .wcv_addons_wrap .addons-banner-block-items { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: distribute; justify-content: space-around; margin: 0 -10px 0 -10px; }
46
+
47
+ .wcv_addons_wrap .addons-banner-block-item { border: 1px solid #e6e6e6; border-radius: 3px; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; margin: 1em; min-width: 200px; width: 30%; display: none; }
48
+
49
+ .wcv_addons_wrap .addons-banner-block-item:nth-child(-n+3) { display: block; }
50
+
51
+ .wcv_addons_wrap .addons-banner-block-item-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 24px; }
52
+
53
+ .wcv_addons_wrap .addons-banner-block-item-content h3 { margin-top: 0; }
54
+
55
+ .wcv_addons_wrap .addons-banner-block-item-content p { margin: 0 0 auto; }
56
+
57
+ .wcv_addons_wrap .addons-wcs-banner-block-image { background: #f7f7f7; border: 1px solid #e6e6e6; margin-right: 2em; width: 400px; padding: 1em; text-align: center; }
58
+
59
+ .wcv_addons_wrap .addons-wcs-banner-block-image .addons-img { margin: auto 0; max-height: 350px; max-width: 350px; }
60
+
61
+ .wcv_addons_wrap .addons-shipping-methods .addons-wcs-banner-block { margin-left: 0; margin-right: 0; margin-top: 1em; }
62
+
63
+ .wcv_addons_wrap .addons-wcs-banner-block-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: distribute; justify-content: space-around; -ms-flex-item-align: stretch; align-self: stretch; padding: 1em 0; }
64
+
65
+ .wcv_addons_wrap .addons-wcs-banner-block-content h1 { padding-bottom: 0; }
66
+
67
+ .wcv_addons_wrap .addons-wcs-banner-block-content p { margin-bottom: 0; text-align: center; }
68
+
69
+ .wcv_addons_wrap .addons-wcs-banner-block-content .wcs-service-logo { max-width: 40px; }
70
+
71
+ .wcv_addons_wrap .addons-column-section { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: distribute; justify-content: space-around; }
72
+
73
+ .wcv_addons_wrap .addons-column { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; width: 50%; padding: 0 .5em; }
74
+
75
+ .wcv_addons_wrap .addons-column:nth-child(2) { margin-right: 0; }
76
+
77
+ .wcv_addons_wrap .addons-small-light-block { -webkit-box-sizing: border-box; box-sizing: border-box; border: 1px solid #ddd; margin: 0 0 1em; padding: 20px; background: #ffffff; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
78
+
79
+ .wcv_addons_wrap .addons-small-light-block h1 { margin-top: -12px; }
80
+
81
+ .wcv_addons_wrap .addons-small-light-block p { margin-top: 0; }
82
+
83
+ .wcv_addons_wrap .addons-small-light-block img { height: 225px; margin: 0 0 0 -20px; }
84
+
85
+ .wcv_addons_wrap .addons-small-dark-block { -webkit-box-sizing: border-box; box-sizing: border-box; border: 1px solid #ddd; margin: 0 0 1em; padding: 20px; background-color: #54687d; text-align: center; }
86
+
87
+ .wcv_addons_wrap .addons-small-dark-block h1 { color: #ffffff; }
88
+
89
+ .wcv_addons_wrap .addons-small-dark-block p { color: #fafafa; }
90
+
91
+ .wcv_addons_wrap .addons-column-block { -webkit-box-sizing: border-box; box-sizing: border-box; border: 1px solid #ddd; margin: 0 0 1em; padding: 20px; background: #ffffff; }
92
+
93
+ .wcv_addons_wrap .addons-column-block img { max-height: 50px; max-width: 50px; }
94
+
95
+ .wcv_addons_wrap .addons-column-block .wcv-columns { padding-top: 20px; }
96
+
97
+ .wcv_addons_wrap .addons-column-block .wcv-columns table { border-collapse: collapse; border-spacing: 0; width: 70%; border: 1px solid #ddd; margin-top: 20px; margin: auto; }
98
+
99
+ .wcv_addons_wrap .addons-column-block .wcv-columns th, .wcv_addons_wrap .addons-column-block .wcv-columns td { text-align: center; padding: 16px; }
100
+
101
+ .wcv_addons_wrap .addons-column-block .wcv-columns th:first-child, .wcv_addons_wrap .addons-column-block .wcv-columns td:first-child { text-align: left; }
102
+
103
+ .wcv_addons_wrap .addons-column-block .wcv-columns tr:nth-child(even) { background-color: #f2f2f2; }
104
+
105
+ .wcv_addons_wrap .addons-column-block .wcv-columns .fa-check { color: green; }
106
+
107
+ .wcv_addons_wrap .addons-column-block .wcv-columns .fa-remove { color: red; }
108
+
109
+ .wcv_addons_wrap .addons-column-block-left { float: left; }
110
+
111
+ .wcv_addons_wrap .addons-column-block-right { float: right; }
112
+
113
+ .wcv_addons_wrap .addons-column-block-item { border-top: 2px solid #f9f9f9; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: 0 -20px; padding: 20px; display: none; }
114
+
115
+ .wcv_addons_wrap .addons-column-block-item:nth-of-type(-n+3) { display: -webkit-box; display: -ms-flexbox; display: flex; }
116
+
117
+ .wcv_addons_wrap .addons-column-block-item-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; -ms-flex-wrap: wrap; flex-wrap: wrap; height: 20%; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; min-width: 200px; }
118
+
119
+ .wcv_addons_wrap .addons-column-block-item-content h2 { float: left; margin-top: 8px; }
120
+
121
+ .wcv_addons_wrap .addons-column-block-item-content a { float: right; }
122
+
123
+ .wcv_addons_wrap .addons-column-block-item-content p { float: left; }
124
+
125
+ .wcv_addons_wrap .addons-small-dark-items { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: distribute; justify-content: space-around; }
126
+
127
+ .wcv_addons_wrap .addons-small-dark-item { margin: 0 0 20px; }
128
+
129
+ .wcv_addons_wrap .addons-small-dark-item a { margin: 28px auto 0; }
130
+
131
+ .wcv_addons_wrap .addons-small-dark-item-icon img { height: 30px; }
132
+
133
+ .wcv_addons_wrap .addons-small-light-block-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -ms-flex: 1 1 100px; flex: 1 1 100px; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: distribute; justify-content: space-around; }
134
+
135
+ .wcv_addons_wrap .addons-small-light-block-content a { width: 48%; }
136
+
137
+ .wcv_addons_wrap .addons-small-light-block-buttons { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
138
+
139
+ .wcv_addons_wrap .product-addons-button { cursor: pointer; display: block; height: 37px; line-height: 37px; text-align: center; text-decoration: none; width: 124px; }
140
+
141
+ .wcv_addons_wrap .started-button { cursor: pointer; display: block; height: 37px; line-height: 37px; text-align: center; text-decoration: none; width: 180px; margin: auto; }
142
+
143
+ .wcv_addons_wrap .started-button svg { width: 15px; fill: #fff; margin-left: 5px; }
144
+
145
+ .wcv_addons_wrap .product-addons-button-solid { background-color: #005580; color: #ffffff; }
146
+
147
+ .wcv_addons_wrap .addons-button { border-radius: 3px; cursor: pointer; display: block; height: 37px; line-height: 37px; text-align: center; text-decoration: none; width: 124px; }
148
+
149
+ .wcv_addons_wrap .addons-button-solid { background-color: #005580; color: #ffffff; }
150
+
151
+ .wcv_addons_wrap .addons-button-solid:hover { color: #ffffff; opacity: 0.8; }
152
+
153
+ .wcv_addons_wrap .addons-button-outline-green { border: 1px solid #73ae39; color: #73ae39; }
154
+
155
+ .wcv_addons_wrap .addons-button-outline-green:hover { color: #73ae39; opacity: 0.8; }
156
+
157
+ .wcv_addons_wrap .addons-button-outline-white { border: 1px solid #ffffff; color: #ffffff; }
158
+
159
+ .wcv_addons_wrap .addons-button-outline-white:hover { color: #ffffff; opacity: 0.8; }
160
+
161
+ .wcv_addons_wrap .addons-button-installed { background: #e6e6e6; color: #3c3c3c; }
162
+
163
+ .wcv_addons_wrap .addons-button-installed:hover { color: #3c3c3c; opacity: 0.8; }
164
+
165
+ .wcv_addons_wrap .colorpickpreview { padding: 7px 0; line-height: 1em; display: inline-block; width: 26px; border: 1px solid #ddd; font-size: 14px; }
166
+
167
+ .wcv_addons_wrap .products { overflow: hidden; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row; flex-flow: row; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -.5em; }
168
+
169
+ .wcv_addons_wrap .products li { float: left; border: 1px solid #ddd; margin: 0 .5em 1em !important; padding: 0; vertical-align: top; width: 25%; min-width: 280px; min-height: 220px; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; overflow: hidden; background: #f5f5f5; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.1); }
170
+
171
+ .wcv_addons_wrap .products li a { text-decoration: none; color: inherit; display: block; height: 100%; }
172
+
173
+ .wcv_addons_wrap .products li a .product-img-wrap { background: #fff; display: block; }
174
+
175
+ .wcv_addons_wrap .products li a img { max-width: 258px; max-height: 24px; padding: 17px 20px; display: block; margin: 0; background: #fff; border-right: 260px solid #fff; }
176
+
177
+ .wcv_addons_wrap .products li a img.extension-thumb + h3 { display: none; }
178
+
179
+ .wcv_addons_wrap .products li a .price { display: none; }
180
+
181
+ .wcv_addons_wrap .products li a h2 { margin: 0 !important; padding: 20px !important; background: #fff; }
182
+
183
+ .wcv_addons_wrap .products li a h3 { margin: 0 !important; padding: 20px !important; background: #fff; }
184
+
185
+ .wcv_addons_wrap .products li a p { padding: 20px !important; margin: 0 !important; border-top: 1px solid #f1f1f1; }
186
+
187
+ .wcv_addons_wrap .products li a:hover { background-color: #fff; }
188
+
189
+ .wcv_addons_wrap .products li a:focus { background-color: #fff; }
190
+
191
+ .wcv_addons_wrap .carrousel { background: #ffffff; text-align: center; padding-top: 1em; padding-bottom: 4em; max-width: 750px; margin: auto; position: relative; overflow: hidden; }
192
+
193
+ .wcv_addons_wrap .carrousel h1 { font-size: 1.5em; text-align: center; margin: 0.8em 0; color: #555555; }
194
+
195
+ .wcv_addons_wrap .carrousel h2 { margin: 0; margin-top: -1.7em; padding: 0; font-size: 1em; text-align: center; color: #bbbbbb; }
196
+
197
+ .wcv_addons_wrap .carrousel .slides { width: 400%; left: 0; padding-left: 0; padding-top: 1em; overflow: hidden; list-style: none; position: relative; -webkit-transition: transform .5s; -webkit-transition: -webkit-transform .5s; transition: -webkit-transform .5s; transition: transform .5s; transition: transform .5s, -webkit-transform .5s; }
198
+
199
+ .wcv_addons_wrap .carrousel .slides li { width: 25%; position: relative; float: left; }
200
+
201
+ .wcv_addons_wrap .carrousel li p { margin-top: 0; }
202
+
203
+ .wcv_addons_wrap .carrousel li q { max-width: 90%; margin: auto; color: #666666; font-size: 1.3em; font-weight: bold; }
204
+
205
+ .wcv_addons_wrap .carrousel li img { width: 3em; height: 3em; -o-object-fit: cover; object-fit: cover; border-radius: 50%; margin-left: -1.5em; margin-right: 0.5em; vertical-align: middle; }
206
+
207
+ .wcv_addons_wrap .carrousel li span.author { margin-top: 0.5em; font-size: 1.2em; color: #777777; display: block; }
208
+
209
+ .wcv_addons_wrap .carrousel .slidesNavigation { display: block; list-style: none; text-align: center; bottom: 1em; position: absolute; width: 104px; left: 50%; margin-left: -52px; }
210
+
211
+ .wcv_addons_wrap .carrousel .slidesNavigation label { float: left; margin: 6px; display: block; height: 10px; width: 10px; border-radius: 50%; border: solid 2px #2980b9; font-size: 0; }
212
+
213
+ .wcv_addons_wrap .carrousel .slidesNavigation label:hover { cursor: pointer; }
214
+
215
+ .wcv_addons_wrap .carrousel input { display: none; }
216
+
217
+ .wcv_addons_wrap .carrousel #radio-1:checked ~ .slidesNavigation label#dotForRadio-1 { background: #2980b9; }
218
+
219
+ .wcv_addons_wrap .carrousel #radio-2:checked ~ .slidesNavigation label#dotForRadio-2 { background: #2980b9; }
220
+
221
+ .wcv_addons_wrap .carrousel #radio-3:checked ~ .slidesNavigation label#dotForRadio-3 { background: #2980b9; }
222
+
223
+ .wcv_addons_wrap .carrousel #radio-4:checked ~ .slidesNavigation label#dotForRadio-4 { background: #2980b9; }
224
+
225
+ .wcv_addons_wrap #radio-1:checked ~ .slides { -webkit-transform: translateX(0%); transform: translateX(0%); }
226
+
227
+ .wcv_addons_wrap #radio-2:checked ~ .slides { -webkit-transform: translateX(-25%); transform: translateX(-25%); }
228
+
229
+ .wcv_addons_wrap #radio-3:checked ~ .slides { -webkit-transform: translateX(-50%); transform: translateX(-50%); }
230
+
231
+ .wcv_addons_wrap #radio-4:checked ~ .slides { -webkit-transform: translateX(-75%); transform: translateX(-75%); }
232
+
233
+ @media (max-width: 796px) { .wcv_addons_wrap .carrousel { height: 8.5em; } }
234
+
235
+ @media (max-width: 480px) { .wcv_addons_wrap .carrousel li p { padding-left: 0.5em; padding-right: 0.5em; }
236
+ .wcv_addons_wrap .carrousel li q { font-size: 1em; }
237
+ .wcv_addons_wrap .carrousel li img { width: 2em; margin-left: -1em; margin-right: 0.25em; } }
238
+
239
+ @media only screen and (max-width: 400px) { .wcv_addons_wrap .addons-featured { margin: -1% -5%; }
240
+ .wcv_addons_wrap .addons-button { width: 100%; }
241
+ .wcv_addons_wrap .addons-small-dark-item { width: 100%; }
242
+ .wcv_addons_wrap .addons-column-block-item-icon { background: none; border: none; height: 75px; margin: 0 10px 10px 0; width: 75px; } }
243
+
244
+ .edit-post-post-author { display: none; }
assets/css/wcv-admin.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .column-vendor{width:10%}.bulk-edit-product .inline-edit-author{display:none}.bulk-edit-product .post_author{display:none}.widefat .column-wc_actions a.wcvendors_mark_shipped::after{content:"\f15f"}.wcv-mark-shipped span{line-height:2em;margin-right:10px}.wcv_addons_wrap{max-width:1200px;margin:auto}.wcv_addons_wrap h1.search-form-title{clear:left;padding:0}.wcv_addons_wrap h1{text-align:center}.wcv_addons_wrap .addons-featured{margin:0}.wcv_addons_wrap ul.feature-list{list-style:inherit}.wcv_addons_wrap ul.feature-list li{margin-left:20px}.wcv_addons_wrap ul.subsubsub.subsubsub{margin:-2px 0 12px}.wcv_addons_wrap .subsubsub li::after{content:'|'}.wcv_addons_wrap .subsubsub li:last-child::after{content:''}.wcv_addons_wrap .align-center{text-align:center}.wcv_addons_wrap .wcv-logo{max-width:250px;padding-top:20px;display:block;margin-left:auto;margin-right:auto;width:50%}.wcv_addons_wrap .addons-banner-block-item-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:#fff;height:100px}.wcv_addons_wrap .addons-column-block-item-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:#f7f7f7;border:1px solid #e6e6e6;height:100px;margin:0 10px 10px 0;width:100px}.wcv_addons_wrap .addons-banner-block{background:#fff;border:1px solid #ddd;margin:0 0 1em 0;padding:2em 2em 1em}.wcv_addons_wrap .addons-banner-block img{height:62px}.wcv_addons_wrap .addons-banner-block p{margin:0 0 20px}.wcv_addons_wrap .addons-wcs-banner-block{background:#fff;border:1px solid #ddd;margin:0 0 1em 0;padding:2em 2em 1em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wcv_addons_wrap .addons-banner-block-items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around;margin:0 -10px 0 -10px}.wcv_addons_wrap .addons-banner-block-item{border:1px solid #e6e6e6;border-radius:3px;-webkit-box-flex:1;-ms-flex:1;flex:1;margin:1em;min-width:200px;width:30%;display:none}.wcv_addons_wrap .addons-banner-block-item:nth-child(-n+3){display:block}.wcv_addons_wrap .addons-banner-block-item-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:24px}.wcv_addons_wrap .addons-banner-block-item-content h3{margin-top:0}.wcv_addons_wrap .addons-banner-block-item-content p{margin:0 0 auto}.wcv_addons_wrap .addons-wcs-banner-block-image{background:#f7f7f7;border:1px solid #e6e6e6;margin-right:2em;width:400px;padding:1em;text-align:center}.wcv_addons_wrap .addons-wcs-banner-block-image .addons-img{margin:auto 0;max-height:350px;max-width:350px}.wcv_addons_wrap .addons-shipping-methods .addons-wcs-banner-block{margin-left:0;margin-right:0;margin-top:1em}.wcv_addons_wrap .addons-wcs-banner-block-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex-item-align:stretch;align-self:stretch;padding:1em 0}.wcv_addons_wrap .addons-wcs-banner-block-content h1{padding-bottom:0}.wcv_addons_wrap .addons-wcs-banner-block-content p{margin-bottom:0;text-align:center}.wcv_addons_wrap .addons-wcs-banner-block-content .wcs-service-logo{max-width:40px}.wcv_addons_wrap .addons-column-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around}.wcv_addons_wrap .addons-column{-webkit-box-flex:1;-ms-flex:1;flex:1;width:50%;padding:0 .5em}.wcv_addons_wrap .addons-column:nth-child(2){margin-right:0}.wcv_addons_wrap .addons-small-light-block{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #ddd;margin:0 0 1em;padding:20px;background:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.wcv_addons_wrap .addons-small-light-block h1{margin-top:-12px}.wcv_addons_wrap .addons-small-light-block p{margin-top:0}.wcv_addons_wrap .addons-small-light-block img{height:225px;margin:0 0 0 -20px}.wcv_addons_wrap .addons-small-dark-block{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #ddd;margin:0 0 1em;padding:20px;background-color:#54687d;text-align:center}.wcv_addons_wrap .addons-small-dark-block h1{color:#fff}.wcv_addons_wrap .addons-small-dark-block p{color:#fafafa}.wcv_addons_wrap .addons-column-block{-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #ddd;margin:0 0 1em;padding:20px;background:#fff}.wcv_addons_wrap .addons-column-block img{max-height:50px;max-width:50px}.wcv_addons_wrap .addons-column-block .wcv-columns{padding-top:20px}.wcv_addons_wrap .addons-column-block .wcv-columns table{border-collapse:collapse;border-spacing:0;width:70%;border:1px solid #ddd;margin-top:20px;margin:auto}.wcv_addons_wrap .addons-column-block .wcv-columns td,.wcv_addons_wrap .addons-column-block .wcv-columns th{text-align:center;padding:16px}.wcv_addons_wrap .addons-column-block .wcv-columns td:first-child,.wcv_addons_wrap .addons-column-block .wcv-columns th:first-child{text-align:left}.wcv_addons_wrap .addons-column-block .wcv-columns tr:nth-child(even){background-color:#f2f2f2}.wcv_addons_wrap .addons-column-block .wcv-columns .fa-check{color:green}.wcv_addons_wrap .addons-column-block .wcv-columns .fa-remove{color:red}.wcv_addons_wrap .addons-column-block-left{float:left}.wcv_addons_wrap .addons-column-block-right{float:right}.wcv_addons_wrap .addons-column-block-item{border-top:2px solid #f9f9f9;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin:0 -20px;padding:20px;display:none}.wcv_addons_wrap .addons-column-block-item:nth-of-type(-n+3){display:-webkit-box;display:-ms-flexbox;display:flex}.wcv_addons_wrap .addons-column-block-item-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap;height:20%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;min-width:200px}.wcv_addons_wrap .addons-column-block-item-content h2{float:left;margin-top:8px}.wcv_addons_wrap .addons-column-block-item-content a{float:right}.wcv_addons_wrap .addons-column-block-item-content p{float:left}.wcv_addons_wrap .addons-small-dark-items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around}.wcv_addons_wrap .addons-small-dark-item{margin:0 0 20px}.wcv_addons_wrap .addons-small-dark-item a{margin:28px auto 0}.wcv_addons_wrap .addons-small-dark-item-icon img{height:30px}.wcv_addons_wrap .addons-small-light-block-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 1 100px;flex:1 1 100px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:distribute;justify-content:space-around}.wcv_addons_wrap .addons-small-light-block-content a{width:48%}.wcv_addons_wrap .addons-small-light-block-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wcv_addons_wrap .product-addons-button{cursor:pointer;display:block;height:37px;line-height:37px;text-align:center;text-decoration:none;width:124px}.wcv_addons_wrap .started-button{cursor:pointer;display:block;height:37px;line-height:37px;text-align:center;text-decoration:none;width:180px;margin:auto}.wcv_addons_wrap .started-button svg{width:15px;fill:#fff;margin-left:5px}.wcv_addons_wrap .product-addons-button-solid{background-color:#005580;color:#fff}.wcv_addons_wrap .addons-button{border-radius:3px;cursor:pointer;display:block;height:37px;line-height:37px;text-align:center;text-decoration:none;width:124px}.wcv_addons_wrap .addons-button-solid{background-color:#005580;color:#fff}.wcv_addons_wrap .addons-button-solid:hover{color:#fff;opacity:.8}.wcv_addons_wrap .addons-button-outline-green{border:1px solid #73ae39;color:#73ae39}.wcv_addons_wrap .addons-button-outline-green:hover{color:#73ae39;opacity:.8}.wcv_addons_wrap .addons-button-outline-white{border:1px solid #fff;color:#fff}.wcv_addons_wrap .addons-button-outline-white:hover{color:#fff;opacity:.8}.wcv_addons_wrap .addons-button-installed{background:#e6e6e6;color:#3c3c3c}.wcv_addons_wrap .addons-button-installed:hover{color:#3c3c3c;opacity:.8}.wcv_addons_wrap .colorpickpreview{padding:7px 0;line-height:1em;display:inline-block;width:26px;border:1px solid #ddd;font-size:14px}.wcv_addons_wrap .products{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row;flex-flow:row;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -.5em}.wcv_addons_wrap .products li{float:left;border:1px solid #ddd;margin:0 .5em 1em!important;padding:0;vertical-align:top;width:25%;min-width:280px;min-height:220px;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;background:#f5f5f5;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1)}.wcv_addons_wrap .products li a{text-decoration:none;color:inherit;display:block;height:100%}.wcv_addons_wrap .products li a .product-img-wrap{background:#fff;display:block}.wcv_addons_wrap .products li a img{max-width:258px;max-height:24px;padding:17px 20px;display:block;margin:0;background:#fff;border-right:260px solid #fff}.wcv_addons_wrap .products li a img.extension-thumb+h3{display:none}.wcv_addons_wrap .products li a .price{display:none}.wcv_addons_wrap .products li a h2{margin:0!important;padding:20px!important;background:#fff}.wcv_addons_wrap .products li a h3{margin:0!important;padding:20px!important;background:#fff}.wcv_addons_wrap .products li a p{padding:20px!important;margin:0!important;border-top:1px solid #f1f1f1}.wcv_addons_wrap .products li a:hover{background-color:#fff}.wcv_addons_wrap .products li a:focus{background-color:#fff}.wcv_addons_wrap .carrousel{background:#fff;text-align:center;padding-top:1em;padding-bottom:4em;max-width:750px;margin:auto;position:relative;overflow:hidden}.wcv_addons_wrap .carrousel h1{font-size:1.5em;text-align:center;margin:.8em 0;color:#555}.wcv_addons_wrap .carrousel h2{margin:0;margin-top:-1.7em;padding:0;font-size:1em;text-align:center;color:#bbb}.wcv_addons_wrap .carrousel .slides{width:400%;left:0;padding-left:0;padding-top:1em;overflow:hidden;list-style:none;position:relative;-webkit-transition:transform .5s;-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s}.wcv_addons_wrap .carrousel .slides li{width:25%;position:relative;float:left}.wcv_addons_wrap .carrousel li p{margin-top:0}.wcv_addons_wrap .carrousel li q{max-width:90%;margin:auto;color:#666;font-size:1.3em;font-weight:700}.wcv_addons_wrap .carrousel li img{width:3em;height:3em;-o-object-fit:cover;object-fit:cover;border-radius:50%;margin-left:-1.5em;margin-right:.5em;vertical-align:middle}.wcv_addons_wrap .carrousel li span.author{margin-top:.5em;font-size:1.2em;color:#777;display:block}.wcv_addons_wrap .carrousel .slidesNavigation{display:block;list-style:none;text-align:center;bottom:1em;position:absolute;width:104px;left:50%;margin-left:-52px}.wcv_addons_wrap .carrousel .slidesNavigation label{float:left;margin:6px;display:block;height:10px;width:10px;border-radius:50%;border:solid 2px #2980b9;font-size:0}.wcv_addons_wrap .carrousel .slidesNavigation label:hover{cursor:pointer}.wcv_addons_wrap .carrousel input{display:none}.wcv_addons_wrap .carrousel #radio-1:checked~.slidesNavigation label#dotForRadio-1{background:#2980b9}.wcv_addons_wrap .carrousel #radio-2:checked~.slidesNavigation label#dotForRadio-2{background:#2980b9}.wcv_addons_wrap .carrousel #radio-3:checked~.slidesNavigation label#dotForRadio-3{background:#2980b9}.wcv_addons_wrap .carrousel #radio-4:checked~.slidesNavigation label#dotForRadio-4{background:#2980b9}.wcv_addons_wrap #radio-1:checked~.slides{-webkit-transform:translateX(0);transform:translateX(0)}.wcv_addons_wrap #radio-2:checked~.slides{-webkit-transform:translateX(-25%);transform:translateX(-25%)}.wcv_addons_wrap #radio-3:checked~.slides{-webkit-transform:translateX(-50%);transform:translateX(-50%)}.wcv_addons_wrap #radio-4:checked~.slides{-webkit-transform:translateX(-75%);transform:translateX(-75%)}@media (max-width:796px){.wcv_addons_wrap .carrousel{height:8.5em}}@media (max-width:480px){.wcv_addons_wrap .carrousel li p{padding-left:.5em;padding-right:.5em}.wcv_addons_wrap .carrousel li q{font-size:1em}.wcv_addons_wrap .carrousel li img{width:2em;margin-left:-1em;margin-right:.25em}}@media only screen and (max-width:400px){.wcv_addons_wrap .addons-featured{margin:-1% -5%}.wcv_addons_wrap .addons-button{width:100%}.wcv_addons_wrap .addons-small-dark-item{width:100%}.wcv_addons_wrap .addons-column-block-item-icon{background:0 0;border:none;height:75px;margin:0 10px 10px 0;width:75px}}.edit-post-post-author{display:none}
assets/css/wcv-admin.scss ADDED
@@ -0,0 +1,811 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ .column-vendor {
3
+ width: 10%;
4
+ }
5
+ .bulk-edit-product {
6
+ .inline-edit-author {
7
+ display: none;
8
+ }
9
+ .post_author {
10
+ display: none;
11
+ }
12
+ }
13
+
14
+ .widefat .column-wc_actions a.wcvendors_mark_shipped::after {
15
+ content: "\f15f";
16
+ }
17
+
18
+ .wcv-mark-shipped {
19
+ span {
20
+ line-height: 2em;
21
+ margin-right: 10px;
22
+ }
23
+ }
24
+
25
+ // Extensions and Updates
26
+ .wcv_addons_wrap {
27
+ max-width: 1200px;
28
+ margin: auto;
29
+
30
+ h1.search-form-title {
31
+ clear: left;
32
+ padding: 0;
33
+ }
34
+ h1 {
35
+ text-align: center;
36
+ }
37
+
38
+ .addons-featured {
39
+ margin: 0;
40
+ }
41
+ ul.feature-list {
42
+ list-style: inherit;
43
+ li {
44
+ margin-left: 20px;
45
+ }
46
+ }
47
+ ul.subsubsub.subsubsub {
48
+ margin: -2px 0 12px;
49
+ }
50
+ .subsubsub {
51
+ li {
52
+ &::after {
53
+ content: '|';
54
+ }
55
+ &:last-child {
56
+ &::after {
57
+ content: '';
58
+ }
59
+ }
60
+ }
61
+ }
62
+ .align-center {
63
+ text-align: center;
64
+ }
65
+ .wcv-logo {
66
+ max-width: 250px;
67
+ padding-top: 20px;
68
+ display: block;
69
+ margin-left: auto;
70
+ margin-right: auto;
71
+ width: 50%;
72
+ }
73
+ .addons-banner-block-item-icon {
74
+ -webkit-box-align: center;
75
+ -ms-flex-align: center;
76
+ align-items: center;
77
+ display: -webkit-box;
78
+ display: -ms-flexbox;
79
+ display: flex;
80
+ -webkit-box-pack: center;
81
+ -ms-flex-pack: center;
82
+ justify-content: center;
83
+ background: #ffffff;
84
+ height: 100px;
85
+ }
86
+ .addons-column-block-item-icon {
87
+ -webkit-box-align: center;
88
+ -ms-flex-align: center;
89
+ align-items: center;
90
+ display: -webkit-box;
91
+ display: -ms-flexbox;
92
+ display: flex;
93
+ -webkit-box-pack: center;
94
+ -ms-flex-pack: center;
95
+ justify-content: center;
96
+ background: #f7f7f7;
97
+ border: 1px solid #e6e6e6;
98
+ height: 100px;
99
+ margin: 0 10px 10px 0;
100
+ width: 100px;
101
+ }
102
+ .addons-banner-block {
103
+ background: #ffffff;
104
+ border: 1px solid #ddd;
105
+ margin: 0 0 1em 0;
106
+ padding: 2em 2em 1em;
107
+ img {
108
+ height: 62px;
109
+ }
110
+ p {
111
+ margin: 0 0 20px;
112
+ }
113
+ }
114
+ .addons-wcs-banner-block {
115
+ background: #ffffff;
116
+ border: 1px solid #ddd;
117
+ margin: 0 0 1em 0;
118
+ padding: 2em 2em 1em;
119
+ display: -webkit-box;
120
+ display: -ms-flexbox;
121
+ display: flex;
122
+ -webkit-box-align: center;
123
+ -ms-flex-align: center;
124
+ align-items: center;
125
+ }
126
+ .addons-banner-block-items {
127
+ display: -webkit-box;
128
+ display: -ms-flexbox;
129
+ display: flex;
130
+ -webkit-box-orient: horizontal;
131
+ -webkit-box-direction: normal;
132
+ -ms-flex-direction: row;
133
+ flex-direction: row;
134
+ -ms-flex-wrap: wrap;
135
+ flex-wrap: wrap;
136
+ -ms-flex-pack: distribute;
137
+ justify-content: space-around;
138
+ margin: 0 -10px 0 -10px;
139
+ }
140
+ .addons-banner-block-item {
141
+ border: 1px solid #e6e6e6;
142
+ border-radius: 3px;
143
+ -webkit-box-flex: 1;
144
+ -ms-flex: 1;
145
+ flex: 1;
146
+ margin: 1em;
147
+ min-width: 200px;
148
+ width: 30%;
149
+ display: none;
150
+ &:nth-child(-n+3) {
151
+ display: block;
152
+ }
153
+ }
154
+ .addons-banner-block-item-content {
155
+ display: -webkit-box;
156
+ display: -ms-flexbox;
157
+ display: flex;
158
+ -webkit-box-orient: vertical;
159
+ -webkit-box-direction: normal;
160
+ -ms-flex-direction: column;
161
+ flex-direction: column;
162
+ -webkit-box-pack: justify;
163
+ -ms-flex-pack: justify;
164
+ justify-content: space-between;
165
+ padding: 24px;
166
+ h3 {
167
+ margin-top: 0;
168
+ }
169
+ p {
170
+ margin: 0 0 auto;
171
+ }
172
+ }
173
+ .addons-wcs-banner-block-image {
174
+ background: #f7f7f7;
175
+ border: 1px solid #e6e6e6;
176
+ margin-right: 2em;
177
+ width: 400px;
178
+ padding: 1em;
179
+ text-align: center;
180
+ .addons-img {
181
+ margin: auto 0;
182
+ max-height: 350px;
183
+ max-width: 350px;
184
+ }
185
+ }
186
+ .addons-shipping-methods {
187
+ .addons-wcs-banner-block {
188
+ margin-left: 0;
189
+ margin-right: 0;
190
+ margin-top: 1em;
191
+ }
192
+ }
193
+ .addons-wcs-banner-block-content {
194
+ display: -webkit-box;
195
+ display: -ms-flexbox;
196
+ display: flex;
197
+ -webkit-box-orient: vertical;
198
+ -webkit-box-direction: normal;
199
+ -ms-flex-direction: column;
200
+ flex-direction: column;
201
+ -ms-flex-pack: distribute;
202
+ justify-content: space-around;
203
+ -ms-flex-item-align: stretch;
204
+ align-self: stretch;
205
+ padding: 1em 0;
206
+ h1 {
207
+ padding-bottom: 0;
208
+ }
209
+ p {
210
+ margin-bottom: 0;
211
+ text-align: center;
212
+
213
+ }
214
+ .wcs-service-logo {
215
+ max-width: 40px;
216
+ }
217
+ }
218
+ .addons-column-section {
219
+ display: -webkit-box;
220
+ display: -ms-flexbox;
221
+ display: flex;
222
+ -webkit-box-orient: horizontal;
223
+ -webkit-box-direction: normal;
224
+ -ms-flex-direction: row;
225
+ flex-direction: row;
226
+ -ms-flex-wrap: wrap;
227
+ flex-wrap: wrap;
228
+ -ms-flex-pack: distribute;
229
+ justify-content: space-around;
230
+ }
231
+ .addons-column {
232
+ -webkit-box-flex: 1;
233
+ -ms-flex: 1;
234
+ flex: 1;
235
+ width: 50%;
236
+ padding: 0 .5em;
237
+ &:nth-child(2) {
238
+ margin-right: 0;
239
+ }
240
+ }
241
+ .addons-small-light-block {
242
+ -webkit-box-sizing: border-box;
243
+ box-sizing: border-box;
244
+ border: 1px solid #ddd;
245
+ margin: 0 0 1em;
246
+ padding: 20px;
247
+ background: #ffffff;
248
+ display: -webkit-box;
249
+ display: -ms-flexbox;
250
+ display: flex;
251
+ -ms-flex-wrap: wrap;
252
+ flex-wrap: wrap;
253
+ h1 {
254
+ margin-top: -12px;
255
+ }
256
+ p {
257
+ margin-top: 0;
258
+ }
259
+ img {
260
+ height: 225px;
261
+ margin: 0 0 0 -20px;
262
+ }
263
+ }
264
+ .addons-small-dark-block {
265
+ -webkit-box-sizing: border-box;
266
+ box-sizing: border-box;
267
+ border: 1px solid #ddd;
268
+ margin: 0 0 1em;
269
+ padding: 20px;
270
+ background-color: #54687d;
271
+ text-align: center;
272
+ h1 {
273
+ color: #ffffff;
274
+ }
275
+ p {
276
+ color: #fafafa;
277
+ }
278
+ }
279
+ .addons-column-block {
280
+ -webkit-box-sizing: border-box;
281
+ box-sizing: border-box;
282
+ border: 1px solid #ddd;
283
+ margin: 0 0 1em;
284
+ padding: 20px;
285
+ background: #ffffff;
286
+ img {
287
+ max-height: 50px;
288
+ max-width: 50px;
289
+ }
290
+
291
+ .wcv-columns {
292
+
293
+ padding-top: 20px;
294
+ table {
295
+ border-collapse: collapse;
296
+ border-spacing: 0;
297
+ width: 70%;
298
+ border: 1px solid #ddd;
299
+ margin-top: 20px;
300
+ margin: auto;
301
+ }
302
+
303
+ th, td {
304
+ text-align: center;
305
+ padding: 16px;
306
+ }
307
+
308
+ th:first-child, td:first-child {
309
+ text-align: left;
310
+ }
311
+
312
+ tr:nth-child(even) {
313
+ background-color: #f2f2f2
314
+ }
315
+
316
+ .fa-check {
317
+ color: green;
318
+ }
319
+
320
+ .fa-remove {
321
+ color: red;
322
+ }
323
+ }
324
+ }
325
+ .addons-column-block-left {
326
+ float: left;
327
+ }
328
+ .addons-column-block-right {
329
+ float: right;
330
+ }
331
+ .addons-column-block-item {
332
+ border-top: 2px solid #f9f9f9;
333
+ -webkit-box-orient: horizontal;
334
+ -webkit-box-direction: normal;
335
+ -ms-flex-direction: row;
336
+ flex-direction: row;
337
+ -ms-flex-wrap: wrap;
338
+ flex-wrap: wrap;
339
+ -webkit-box-pack: justify;
340
+ -ms-flex-pack: justify;
341
+ justify-content: space-between;
342
+ margin: 0 -20px;
343
+ padding: 20px;
344
+ display: none;
345
+ &:nth-of-type(-n+3) {
346
+ display: -webkit-box;
347
+ display: -ms-flexbox;
348
+ display: flex;
349
+ }
350
+ }
351
+ .addons-column-block-item-content {
352
+ display: -webkit-box;
353
+ display: -ms-flexbox;
354
+ display: flex;
355
+ -webkit-box-flex: 1;
356
+ -ms-flex: 1;
357
+ flex: 1;
358
+ -ms-flex-wrap: wrap;
359
+ flex-wrap: wrap;
360
+ height: 20%;
361
+ -webkit-box-pack: justify;
362
+ -ms-flex-pack: justify;
363
+ justify-content: space-between;
364
+ min-width: 200px;
365
+ h2 {
366
+ float: left;
367
+ margin-top: 8px;
368
+ }
369
+ a {
370
+ float: right;
371
+ }
372
+ p {
373
+ float: left;
374
+ }
375
+ }
376
+ .addons-small-dark-items {
377
+ display: -webkit-box;
378
+ display: -ms-flexbox;
379
+ display: flex;
380
+ -ms-flex-wrap: wrap;
381
+ flex-wrap: wrap;
382
+ -ms-flex-pack: distribute;
383
+ justify-content: space-around;
384
+ }
385
+ .addons-small-dark-item {
386
+ margin: 0 0 20px;
387
+ a {
388
+ margin: 28px auto 0;
389
+ }
390
+ }
391
+ .addons-small-dark-item-icon {
392
+ img {
393
+ height: 30px;
394
+ }
395
+ }
396
+ .addons-small-light-block-content {
397
+ display: -webkit-box;
398
+ display: -ms-flexbox;
399
+ display: flex;
400
+ -webkit-box-flex: 1;
401
+ -ms-flex: 1 1 100px;
402
+ flex: 1 1 100px;
403
+ -webkit-box-orient: vertical;
404
+ -webkit-box-direction: normal;
405
+ -ms-flex-direction: column;
406
+ flex-direction: column;
407
+ -ms-flex-pack: distribute;
408
+ justify-content: space-around;
409
+ a {
410
+ width: 48%;
411
+ }
412
+ }
413
+ .addons-small-light-block-buttons {
414
+ display: -webkit-box;
415
+ display: -ms-flexbox;
416
+ display: flex;
417
+ -webkit-box-pack: justify;
418
+ -ms-flex-pack: justify;
419
+ justify-content: space-between;
420
+ }
421
+ .product-addons-button {
422
+ cursor: pointer;
423
+ display: block;
424
+ height: 37px;
425
+ line-height: 37px;
426
+ text-align: center;
427
+ text-decoration: none;
428
+ width: 124px;
429
+ }
430
+
431
+ .started-button {
432
+ cursor: pointer;
433
+ display: block;
434
+ height: 37px;
435
+ line-height: 37px;
436
+ text-align: center;
437
+ text-decoration: none;
438
+ width: 180px;
439
+ margin: auto;
440
+
441
+ svg {
442
+ width: 15px;
443
+ fill: #fff;
444
+ margin-left: 5px;
445
+ }
446
+ }
447
+
448
+ .product-addons-button-solid {
449
+ background-color: #005580;
450
+ color: #ffffff;
451
+ }
452
+ .addons-button {
453
+ border-radius: 3px;
454
+ cursor: pointer;
455
+ display: block;
456
+ height: 37px;
457
+ line-height: 37px;
458
+ text-align: center;
459
+ text-decoration: none;
460
+ width: 124px;
461
+ }
462
+ .addons-button-solid {
463
+ background-color: #005580;
464
+ color: #ffffff;
465
+ &:hover {
466
+ color: #ffffff;
467
+ opacity: 0.8;
468
+ }
469
+ }
470
+ .addons-button-outline-green {
471
+ border: 1px solid #73ae39;
472
+ color: #73ae39;
473
+ &:hover {
474
+ color: #73ae39;
475
+ opacity: 0.8;
476
+ }
477
+ }
478
+ .addons-button-outline-white {
479
+ border: 1px solid #ffffff;
480
+ color: #ffffff;
481
+ &:hover {
482
+ color: #ffffff;
483
+ opacity: 0.8;
484
+ }
485
+ }
486
+ .addons-button-installed {
487
+ background: #e6e6e6;
488
+ color: #3c3c3c;
489
+ &:hover {
490
+ color: #3c3c3c;
491
+ opacity: 0.8;
492
+ }
493
+ }
494
+ .colorpickpreview {
495
+ padding: 7px 0;
496
+ line-height: 1em;
497
+ display: inline-block;
498
+ width: 26px;
499
+ border: 1px solid #ddd;
500
+ font-size: 14px;
501
+ }
502
+ .products {
503
+ overflow: hidden;
504
+ display: -webkit-box;
505
+ display: -ms-flexbox;
506
+ display: flex;
507
+ -webkit-box-orient: horizontal;
508
+ -webkit-box-direction: normal;
509
+ -ms-flex-flow: row;
510
+ flex-flow: row;
511
+ -ms-flex-wrap: wrap;
512
+ flex-wrap: wrap;
513
+ margin: 0 -.5em;
514
+ li {
515
+ float: left;
516
+ border: 1px solid #ddd;
517
+ margin: 0 .5em 1em !important;
518
+ padding: 0;
519
+ vertical-align: top;
520
+ width: 25%;
521
+ min-width: 280px;
522
+ min-height: 220px;
523
+ -webkit-box-flex: 1;
524
+ -ms-flex: 1;
525
+ flex: 1;
526
+ overflow: hidden;
527
+ background: #f5f5f5;
528
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
529
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
530
+ a {
531
+ text-decoration: none;
532
+ color: inherit;
533
+ display: block;
534
+ height: 100%;
535
+ .product-img-wrap {
536
+ background: #fff;
537
+ display: block;
538
+ }
539
+ img {
540
+ max-width: 258px;
541
+ max-height: 24px;
542
+ padding: 17px 20px;
543
+ display: block;
544
+ margin: 0;
545
+ background: #fff;
546
+ border-right: 260px solid #fff;
547
+ }
548
+ img.extension-thumb {
549
+ + {
550
+ h3 {
551
+ display: none;
552
+ }
553
+ }
554
+ }
555
+ .price {
556
+ display: none;
557
+ }
558
+ h2 {
559
+ margin: 0 !important;
560
+ padding: 20px !important;
561
+ background: #fff;
562
+ }
563
+ h3 {
564
+ margin: 0 !important;
565
+ padding: 20px !important;
566
+ background: #fff;
567
+ }
568
+ p {
569
+ padding: 20px !important;
570
+ margin: 0 !important;
571
+ border-top: 1px solid #f1f1f1;
572
+ }
573
+ &:hover {
574
+ background-color: #fff;
575
+ }
576
+ &:focus {
577
+ background-color: #fff;
578
+ }
579
+ }
580
+ }
581
+ }
582
+
583
+ // Testimonial Slider
584
+ /*Carousel*/
585
+
586
+ .carrousel {
587
+ background: #ffffff;
588
+ text-align: center;
589
+ padding-top: 1em;
590
+ padding-bottom: 4em;
591
+ max-width: 750px;
592
+ margin: auto;
593
+ position: relative;
594
+ overflow: hidden;
595
+ h1 {
596
+ font-size: 1.5em;
597
+ text-align: center;
598
+ margin: 0.8em 0;
599
+ color: #555555;
600
+ }
601
+ h2 {
602
+ margin: 0;
603
+ margin-top: -1.7em;
604
+ padding: 0;
605
+ font-size: 1em;
606
+ text-align: center;
607
+ color: #bbbbbb;
608
+ }
609
+ .slides {
610
+ width: 400%;
611
+ left: 0;
612
+ padding-left: 0;
613
+ padding-top: 1em;
614
+ overflow: hidden;
615
+ list-style: none;
616
+ position: relative;
617
+ -webkit-transition: transform .5s;
618
+ -moz-transition: transform .5s;
619
+ -o-transition: transform .5s;
620
+ transition: transform .5s;
621
+ li {
622
+ width: 25%;
623
+ position: relative;
624
+ float: left;
625
+ }
626
+ }
627
+ li {
628
+ p {
629
+ margin-top: 0;
630
+ }
631
+ q {
632
+ max-width: 90%;
633
+ margin: auto;
634
+ color: #666666;
635
+ font-size: 1.3em;
636
+ font-weight: bold;
637
+ }
638
+ img {
639
+ width: 3em;
640
+ height: 3em;
641
+ object-fit: cover;
642
+ border-radius: 50%;
643
+ margin-left: -1.5em;
644
+ margin-right: 0.5em;
645
+ vertical-align: middle;
646
+ }
647
+ span.author {
648
+ margin-top: 0.5em;
649
+ font-size: 1.2em;
650
+ color: #777777;
651
+ display: block;
652
+ }
653
+ }
654
+ .slidesNavigation {
655
+ display: block;
656
+ list-style: none;
657
+ text-align: center;
658
+ bottom: 1em;
659
+ position: absolute;
660
+ width: 104px;
661
+ left: 50%;
662
+ margin-left: -52px;
663
+ label {
664
+ float: left;
665
+ margin: 6px;
666
+ display: block;
667
+ height: 10px;
668
+ width: 10px;
669
+ -webkit-border-radius: 50%;
670
+ border-radius: 50%;
671
+ border: solid 2px #2980b9;
672
+ font-size: 0;
673
+ &:hover {
674
+ cursor: pointer;
675
+ }
676
+ }
677
+ }
678
+ input {
679
+ display: none;
680
+ }
681
+ #radio-1 {
682
+ &:checked {
683
+ ~ {
684
+ .slidesNavigation {
685
+ label#dotForRadio-1 {
686
+ background: #2980b9;
687
+ }
688
+ }
689
+ }
690
+ }
691
+ }
692
+ #radio-2 {
693
+ &:checked {
694
+ ~ {
695
+ .slidesNavigation {
696
+ label#dotForRadio-2 {
697
+ background: #2980b9;
698
+ }
699
+ }
700
+ }
701
+ }
702
+ }
703
+ #radio-3 {
704
+ &:checked {
705
+ ~ {
706
+ .slidesNavigation {
707
+ label#dotForRadio-3 {
708
+ background: #2980b9;
709
+ }
710
+ }
711
+ }
712
+ }
713
+ }
714
+ #radio-4 {
715
+ &:checked {
716
+ ~ {
717
+ .slidesNavigation {
718
+ label#dotForRadio-4 {
719
+ background: #2980b9;
720
+ }
721
+ }
722
+ }
723
+ }
724
+ }
725
+ }
726
+ #radio-1 {
727
+ &:checked {
728
+ ~ {
729
+ .slides {
730
+ transform: translateX(0%);
731
+ }
732
+ }
733
+ }
734
+ }
735
+ #radio-2 {
736
+ &:checked {
737
+ ~ {
738
+ .slides {
739
+ transform: translateX(-25%);
740
+ }
741
+ }
742
+ }
743
+ }
744
+ #radio-3 {
745
+ &:checked {
746
+ ~ {
747
+ .slides {
748
+ transform: translateX(-50%);
749
+ }
750
+ }
751
+ }
752
+ }
753
+ #radio-4 {
754
+ &:checked {
755
+ ~ {
756
+ .slides {
757
+ transform: translateX(-75%);
758
+ }
759
+ }
760
+ }
761
+ }
762
+ @media (max-width: 796px) {
763
+ .carrousel {
764
+ height: 8.5em;
765
+ }
766
+ }
767
+ @media (max-width: 480px) {
768
+ .carrousel {
769
+ li {
770
+ p {
771
+ padding-left: 0.5em;
772
+ padding-right: 0.5em;
773
+ }
774
+ q {
775
+ font-size: 1em;
776
+ }
777
+ img {
778
+ width: 2em;
779
+ margin-left: -1em;
780
+ margin-right: 0.25em;
781
+ }
782
+ }
783
+ }
784
+ }
785
+
786
+ }
787
+
788
+ @media only screen and (max-width: 400px) {
789
+ .wcv_addons_wrap {
790
+ .addons-featured {
791
+ margin: -1% -5%;
792
+ }
793
+ .addons-button {
794
+ width: 100%;
795
+ }
796
+ .addons-small-dark-item {
797
+ width: 100%;
798
+ }
799
+ .addons-column-block-item-icon {
800
+ background: none;
801
+ border: none;
802
+ height: 75px;
803
+ margin: 0 10px 10px 0;
804
+ width: 75px;
805
+ }
806
+ }
807
+ }
808
+
809
+ .edit-post-post-author {
810
+ display: none;
811
+ }
assets/css/wcv-frontend.css ADDED
@@ -0,0 +1,339 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! Bootstrap v2.1.1 Copyright 2012 Twitter, Inc Licensed under the Apache License v2.0 http://www.apache.org/licenses/LICENSE-2.0 Designed and built with all the love in the world @twitter by @mdo and @fat. */
2
+ clearfix { *zoom: 1; }
3
+
4
+ .clearfix:before { display: table; content: ""; line-height: 0; }
5
+
6
+ .clearfix:after { display: table; content: ""; line-height: 0; clear: both; }
7
+
8
+ .hide-text { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; }
9
+
10
+ .input-block-level { display: block; width: 100%; min-height: 30px; -webkit-box-sizing: border-box; box-sizing: border-box; }
11
+
12
+ .wcv-btn { display: inline-block; *display: inline; *zoom: 1; padding: 4px 14px; margin-bottom: 0; font-size: 14px; line-height: 20px; *line-height: 20px; text-align: center; vertical-align: middle; cursor: pointer; color: #333333; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); background-color: #f5f5f5; background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e6e6e6)); background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); border-color: #e6e6e6 #e6e6e6 #bfbfbf; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #e6e6e6; filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); border: 1px solid #bbbbbb; *border: 0; border-bottom-color: #a2a2a2; border-radius: 4px; *margin-left: 0.3em; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); border-color: #c5c5c5; border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); }
13
+
14
+ .wcv-btn:hover { color: #333333; background-color: #e6e6e6; *background-color: #d9d9d9; color: #333333; text-decoration: none; background-color: #e6e6e6; *background-color: #d9d9d9; background-position: 0 -15px; -webkit-transition: background-position 0.1s linear; transition: background-position 0.1s linear; }
15
+
16
+ .wcv-btn:active { color: #333333; background-color: #e6e6e6; *background-color: #d9d9d9; background-color: #cccccc \9; background-color: #e6e6e6; background-color: #d9d9d9 \9; background-image: none; outline: 0; -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }
17
+
18
+ .wcv-btn:first-child { *margin-left: 0; }
19
+
20
+ .wcv-btn:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
21
+
22
+ .wcv-btn.active { color: #333333; background-color: #e6e6e6; *background-color: #d9d9d9; background-color: #cccccc \9; background-color: #e6e6e6; background-color: #d9d9d9 \9; background-image: none; outline: 0; -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }
23
+
24
+ .wcv-btn.disabled { color: #333333; background-color: #e6e6e6; *background-color: #d9d9d9; cursor: default; background-color: #e6e6e6; background-image: none; opacity: 0.65; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; }
25
+
26
+ .wcv-btn[disabled] { color: #333333; background-color: #e6e6e6; *background-color: #d9d9d9; cursor: default; background-color: #e6e6e6; background-image: none; opacity: 0.65; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; }
27
+
28
+ .wcv-btn-large { padding: 9px 14px; font-size: 16px; line-height: normal; border-radius: 5px; }
29
+
30
+ .wcv-btn-large [class^="icon-"] { margin-top: 2px; }
31
+
32
+ .wcv-btn-small { padding: 3px 9px; font-size: 12px; line-height: 18px; }
33
+
34
+ .wcv-btn-small [class^="icon-"] { margin-top: 0; }
35
+
36
+ .wcv-btn-mini { padding: 2px 6px; font-size: 11px; line-height: 17px; }
37
+
38
+ .wcv-btn-block { display: block; width: 100%; padding-left: 0; padding-right: 0; -webkit-box-sizing: border-box; box-sizing: border-box; }
39
+
40
+ .wcv-btn-block + .wcv-btn-block { margin-top: 5px; }
41
+
42
+ input[type="submit"].wcv-btn-block { width: 100%; }
43
+
44
+ input[type="reset"].wcv-btn-block { width: 100%; }
45
+
46
+ input[type="button"].wcv-btn-block { width: 100%; }
47
+
48
+ .wcv-btn-primary.active { color: rgba(255, 255, 255, 0.75); color: #ffffff; background-color: #0044cc; *background-color: #003bb3; background-color: #003399 \9; }
49
+
50
+ .wcv-btn-warning.active { color: rgba(255, 255, 255, 0.75); color: #ffffff; background-color: #f89406; *background-color: #df8505; background-color: #c67605 \9; }
51
+
52
+ .wcv-btn-danger.active { color: rgba(255, 255, 255, 0.75); color: #ffffff; background-color: #bd362f; *background-color: #a9302a; background-color: #942a25 \9; }
53
+
54
+ .wcv-btn-success.active { color: rgba(255, 255, 255, 0.75); color: #ffffff; background-color: #51a351; *background-color: #499249; background-color: #408140 \9; }
55
+
56
+ .wcv-btn-info.active { color: rgba(255, 255, 255, 0.75); color: #ffffff; background-color: #2f96b4; *background-color: #2a85a0; background-color: #24748c \9; }
57
+
58
+ .wcv-btn-inverse.active { color: rgba(255, 255, 255, 0.75); color: #ffffff; background-color: #222222; *background-color: #151515; background-color: #080808 \9; }
59
+
60
+ .wcv-btn-primary { color: #ffffff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #006dcc; background-image: -webkit-gradient(linear, left top, left bottom, from(#0088cc), to(#0044cc)); background-image: linear-gradient(to bottom, #0088cc, #0044cc); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); border-color: #0044cc #0044cc #002a80; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #0044cc; filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
61
+
62
+ .wcv-btn-primary:hover { color: #ffffff; background-color: #0044cc; *background-color: #003bb3; }
63
+
64
+ .wcv-btn-primary:active { color: #ffffff; background-color: #0044cc; *background-color: #003bb3; background-color: #003399 \9; }
65
+
66
+ .wcv-btn-primary.disabled { color: #ffffff; background-color: #0044cc; *background-color: #003bb3; }
67
+
68
+ .wcv-btn-primary[disabled] { color: #ffffff; background-color: #0044cc; *background-color: #003bb3; }
69
+
70
+ .wcv-btn-warning { color: #ffffff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #faa732; background-image: -webkit-gradient(linear, left top, left bottom, from(#fbb450), to(#f89406)); background-image: linear-gradient(to bottom, #fbb450, #f89406); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); border-color: #f89406 #f89406 #ad6704; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #f89406; filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
71
+
72
+ .wcv-btn-warning:hover { color: #ffffff; background-color: #f89406; *background-color: #df8505; }
73
+
74
+ .wcv-btn-warning:active { color: #ffffff; background-color: #f89406; *background-color: #df8505; background-color: #c67605 \9; }
75
+
76
+ .wcv-btn-warning.disabled { color: #ffffff; background-color: #f89406; *background-color: #df8505; }
77
+
78
+ .wcv-btn-warning[disabled] { color: #ffffff; background-color: #f89406; *background-color: #df8505; }
79
+
80
+ .wcv-btn-danger { color: #ffffff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #da4f49; background-image: -webkit-gradient(linear, left top, left bottom, from(#ee5f5b), to(#bd362f)); background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); border-color: #bd362f #bd362f #802420; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #bd362f; filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
81
+
82
+ .wcv-btn-danger:hover { color: #ffffff; background-color: #bd362f; *background-color: #a9302a; }
83
+
84
+ .wcv-btn-danger:active { color: #ffffff; background-color: #bd362f; *background-color: #a9302a; background-color: #942a25 \9; }
85
+
86
+ .wcv-btn-danger.disabled { color: #ffffff; background-color: #bd362f; *background-color: #a9302a; }
87
+
88
+ .wcv-btn-danger[disabled] { color: #ffffff; background-color: #bd362f; *background-color: #a9302a; }
89
+
90
+ .wcv-btn-success { color: #ffffff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #5bb75b; background-image: -webkit-gradient(linear, left top, left bottom, from(#62c462), to(#51a351)); background-image: linear-gradient(to bottom, #62c462, #51a351); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); border-color: #51a351 #51a351 #387038; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #51a351; filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
91
+
92
+ .wcv-btn-success:hover { color: #ffffff; background-color: #51a351; *background-color: #499249; }
93
+
94
+ .wcv-btn-success:active { color: #ffffff; background-color: #51a351; *background-color: #499249; background-color: #408140 \9; }
95
+
96
+ .wcv-btn-success.disabled { color: #ffffff; background-color: #51a351; *background-color: #499249; }
97
+
98
+ .wcv-btn-success[disabled] { color: #ffffff; background-color: #51a351; *background-color: #499249; }
99
+
100
+ .wcv-btn-info { color: #ffffff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #49afcd; background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2f96b4)); background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); border-color: #2f96b4 #2f96b4 #1f6377; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #2f96b4; filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
101
+
102
+ .wcv-btn-info:hover { color: #ffffff; background-color: #2f96b4; *background-color: #2a85a0; }
103
+
104
+ .wcv-btn-info:active { color: #ffffff; background-color: #2f96b4; *background-color: #2a85a0; background-color: #24748c \9; }
105
+
106
+ .wcv-btn-info.disabled { color: #ffffff; background-color: #2f96b4; *background-color: #2a85a0; }
107
+
108
+ .wcv-btn-info[disabled] { color: #ffffff; background-color: #2f96b4; *background-color: #2a85a0; }
109
+
110
+ .wcv-btn-inverse { color: #ffffff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #363636; background-image: -webkit-gradient(linear, left top, left bottom, from(#444444), to(#222222)); background-image: linear-gradient(to bottom, #444444, #222222); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); border-color: #222222 #222222 #000000; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #222222; filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
111
+
112
+ .wcv-btn-inverse:hover { color: #ffffff; background-color: #222222; *background-color: #151515; }
113
+
114
+ .wcv-btn-inverse:active { color: #ffffff; background-color: #222222; *background-color: #151515; background-color: #080808 \9; }
115
+
116
+ .wcv-btn-inverse.disabled { color: #ffffff; background-color: #222222; *background-color: #151515; }
117
+
118
+ .wcv-btn-inverse[disabled] { color: #ffffff; background-color: #222222; *background-color: #151515; }
119
+
120
+ button.wcv-btn { *padding-top: 3px; *padding-bottom: 3px; }
121
+
122
+ button.wcv-btn::-moz-focus-inner { padding: 0; border: 0; }
123
+
124
+ input[type="submit"].wcv-btn { *padding-top: 3px; *padding-bottom: 3px; }
125
+
126
+ input[type="submit"].wcv-btn::-moz-focus-inner { padding: 0; border: 0; }
127
+
128
+ button.wcv-btn.wcv-btn-large { *padding-top: 7px; *padding-bottom: 7px; }
129
+
130
+ input[type="submit"].wcv-btn.wcv-btn-large { *padding-top: 7px; *padding-bottom: 7px; }
131
+
132
+ button.wcv-btn.wcv-btn-small { *padding-top: 3px; *padding-bottom: 3px; }
133
+
134
+ input[type="submit"].wcv-btn.wcv-btn-small { *padding-top: 3px; *padding-bottom: 3px; }
135
+
136
+ button.wcv-btn.wcv-btn-mini { *padding-top: 1px; *padding-bottom: 1px; }
137
+
138
+ input[type="submit"].wcv-btn.wcv-btn-mini { *padding-top: 1px; *padding-bottom: 1px; }
139
+
140
+ .wcv-btn-link { background-color: transparent; background-image: none; -webkit-box-shadow: none; box-shadow: none; border-color: transparent; cursor: pointer; color: #0088cc; border-radius: 0; }
141
+
142
+ .wcv-btn-link:active { background-color: transparent; background-image: none; -webkit-box-shadow: none; box-shadow: none; }
143
+
144
+ .wcv-btn-link:hover { color: #005580; text-decoration: underline; background-color: transparent; }
145
+
146
+ .wcv-btn-link[disabled] { background-color: transparent; background-image: none; -webkit-box-shadow: none; box-shadow: none; }
147
+
148
+ .wcv-btn-link[disabled]:hover { color: #333333; text-decoration: none; }
149
+
150
+ table { max-width: 100%; background-color: transparent; border-collapse: collapse; border-spacing: 0; }
151
+
152
+ table [class*="span"] { display: table-cell; float: none; margin-left: 0; }
153
+
154
+ .table { width: 100%; margin-bottom: 20px; }
155
+
156
+ .table th { padding: 8px; line-height: 20px; text-align: left; vertical-align: top; border-top: 1px solid #dddddd; font-weight: bold; }
157
+
158
+ .table td { padding: 8px; line-height: 20px; text-align: left; vertical-align: top; border-top: 1px solid #dddddd; }
159
+
160
+ .table thead th { vertical-align: bottom; }
161
+
162
+ .table thead:first-child tr:first-child th { border-top: 0; }
163
+
164
+ .table thead:first-child tr:first-child td { border-top: 0; }
165
+
166
+ .table caption + thead tr:first-child th { border-top: 0; }
167
+
168
+ .table caption + thead tr:first-child td { border-top: 0; }
169
+
170
+ .table colgroup + thead tr:first-child th { border-top: 0; }
171
+
172
+ .table colgroup + thead tr:first-child td { border-top: 0; }
173
+
174
+ .table tbody + tbody { border-top: 2px solid #dddddd; }
175
+
176
+ .table tbody tr.success td { background-color: #dff0d8; }
177
+
178
+ .table tbody tr.error td { background-color: #f2dede; }
179
+
180
+ .table tbody tr.warning td { background-color: #fcf8e3; }
181
+
182
+ .table tbody tr.info td { background-color: #d9edf7; }
183
+
184
+ .table-condensed th { padding: 4px 5px; }
185
+
186
+ .table-condensed td { padding: 4px 5px; }
187
+
188
+ .table-bordered { border: 1px solid #dddddd; border-collapse: separate; *border-collapse: collapse; border-left: 0; border-radius: 4px; }
189
+
190
+ .table-bordered th { border-left: 1px solid #dddddd; }
191
+
192
+ .table-bordered td { border-left: 1px solid #dddddd; }
193
+
194
+ .table-bordered caption + thead tr:first-child th { border-top: 0; }
195
+
196
+ .table-bordered caption + thead tr:first-child th:first-child { border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; }
197
+
198
+ .table-bordered caption + thead tr:first-child th:last-child { border-top-right-radius: 4px; -moz-border-radius-topleft: 4px; }
199
+
200
+ .table-bordered caption + tbody tr:first-child th { border-top: 0; }
201
+
202
+ .table-bordered caption + tbody tr:first-child td { border-top: 0; }
203
+
204
+ .table-bordered caption + tbody tr:first-child td:first-child { border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; }
205
+
206
+ .table-bordered caption + tbody tr:first-child td:last-child { border-top-right-radius: 4px; -moz-border-radius-topleft: 4px; }
207
+
208
+ .table-bordered colgroup + thead tr:first-child th { border-top: 0; }
209
+
210
+ .table-bordered colgroup + thead tr:first-child th:first-child { border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; }
211
+
212
+ .table-bordered colgroup + thead tr:first-child th:last-child { border-top-right-radius: 4px; -moz-border-radius-topleft: 4px; }
213
+
214
+ .table-bordered colgroup + tbody tr:first-child th { border-top: 0; }
215
+
216
+ .table-bordered colgroup + tbody tr:first-child td { border-top: 0; }
217
+
218
+ .table-bordered colgroup + tbody tr:first-child td:first-child { border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; }
219
+
220
+ .table-bordered colgroup + tbody tr:first-child td:last-child { border-top-right-radius: 4px; -moz-border-radius-topleft: 4px; }
221
+
222
+ .table-bordered thead:first-child tr:first-child th { border-top: 0; }
223
+
224
+ .table-bordered thead:first-child tr:first-child th:first-child { border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; }
225
+
226
+ .table-bordered thead:first-child tr:first-child th:last-child { border-top-right-radius: 4px; -moz-border-radius-topright: 4px; }
227
+
228
+ .table-bordered thead:last-child tr:last-child th:first-child { border-radius: 0 0 0 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; }
229
+
230
+ .table-bordered thead:last-child tr:last-child th:last-child { border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; }
231
+
232
+ .table-bordered tbody:first-child tr:first-child th { border-top: 0; }
233
+
234
+ .table-bordered tbody:first-child tr:first-child td { border-top: 0; }
235
+
236
+ .table-bordered tbody:first-child tr:first-child td:first-child { border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; }
237
+
238
+ .table-bordered tbody:first-child tr:first-child td:last-child { border-top-right-radius: 4px; -moz-border-radius-topright: 4px; }
239
+
240
+ .table-bordered tbody:last-child tr:last-child td:first-child { border-radius: 0 0 0 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; }
241
+
242
+ .table-bordered tbody:last-child tr:last-child td:last-child { border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; }
243
+
244
+ .table-bordered tfoot:last-child tr:last-child td:first-child { border-radius: 0 0 0 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; }
245
+
246
+ .table-bordered tfoot:last-child tr:last-child td:last-child { border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; }
247
+
248
+ .table-striped tbody tr:nth-child(odd) td { background-color: #f9f9f9; }
249
+
250
+ .table-striped tbody tr:nth-child(odd) th { background-color: #f9f9f9; }
251
+
252
+ .table-hover tbody tr:hover td { background-color: #f5f5f5; }
253
+
254
+ .table-hover tbody tr:hover th { background-color: #f5f5f5; }
255
+
256
+ .table-hover tbody tr.success:hover td { background-color: #d0e9c6; }
257
+
258
+ .table-hover tbody tr.error:hover td { background-color: #ebcccc; }
259
+
260
+ .table-hover tbody tr.warning:hover td { background-color: #faf2cc; }
261
+
262
+ .table-hover tbody tr.info:hover td { background-color: #c4e3f3; }
263
+
264
+ .row-fluid table [class*="span"] { display: table-cell; float: none; margin-left: 0; }
265
+
266
+ .hidden { display: none; }
267
+
268
+ .dashicons { vertical-align: middle; }
269
+
270
+ .wcv_vendorslist { margin-left: 0; }
271
+
272
+ .wcv_vendorslist .vendor_list .vendors_list--shop-link { margin-top: 10px; font-size: 14px; display: inline-block; }
273
+
274
+ .wcv_vendorslist .vendor_list .vendors_list--shop-address span, .wcv_vendorslist .vendor_list .vendors_list--shop-phone span { vertical-align: bottom; }
275
+
276
+ .wcv_vendorslist .vendor_list .vendor_list--shop-name { min-height: 50px; margin-bottom: 10px; }
277
+
278
+ .wcv_vendorslist .vendor_list .vendor_list--shop-name a { font-size: 1em; text-decoration: none; color: #636363; }
279
+
280
+ .wcv_vendorslist .vendor_list .vendor_list--shop-name a:hover { color: #0073aa; }
281
+
282
+ @media screen and (max-width: 767px) { .wcv_vendorslist .vendor_list .vendor_list--shop-name { font-size: 1.2em; } }
283
+
284
+ .wcv_vendorslist.grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); display: grid; grid-gap: 20px; }
285
+
286
+ .wcv_vendorslist.grid .vendor_list { -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1); }
287
+
288
+ .wcv_vendorslist.grid .vendor_list .vendor_list_avatar { border-bottom: 1px solid #eee; height: 200px; overflow: hidden; }
289
+
290
+ .wcv_vendorslist.grid .vendor_list .vendor_list_avatar img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; border-radius: 0; }
291
+
292
+ .wcv_vendorslist.grid .vendor_list .vendor_list_info { padding: 10px; }
293
+
294
+ @media screen and (max-width: 767px) { .wcv_vendorslist.grid { grid-template-columns: repeat(auto-fit, minmax(calc(50% - 20px), 1fr)); } }
295
+
296
+ @media screen and (max-width: 375px) { .wcv_vendorslist.grid { grid-template-columns: 1fr; }
297
+ .wcv_vendorslist.grid .vendor_list_avatar img { margin: 0 auto; } }
298
+
299
+ .wcv_vendorslist.list { display: block; }
300
+
301
+ .wcv_vendorslist.list .vendor_list { display: -webkit-box; display: -ms-flexbox; display: flex; margin-bottom: 15px; -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1); padding: 15px; }
302
+
303
+ .wcv_vendorslist.list .vendor_list .vendor_list--shop-desc { display: block; }
304
+
305
+ .wcv_vendorslist.list .vendor_list .vendor_list_avatar { width: 30%; margin-right: 20px; }
306
+
307
+ .wcv-vendor-list-filter { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 30px; position: relative; }
308
+
309
+ .wcv-vendor-list-filter .wcv-vendor-list-switch { color: #000000; }
310
+
311
+ .wcv-vendor-list-filter .wcv-vendor-list-switch .wcv-vendor-list-switch-item { display: inline-block; margin-right: 5px; text-decoration: none !important; }
312
+
313
+ .wcv-vendor-list-filter .wcv-vendor-list-switch .wcv-vendor-list-switch-item.active { font-weight: bold; color: #000000; }
314
+
315
+ .wcv-vendor-list-filter .wcv-vendor-list-switch:last-child { margin-right: 0; }
316
+
317
+ .wcv-vendor-list-filter #search-vendors-toggle-checkbox { display: none; }
318
+
319
+ .wcv-vendor-list-filter #search-vendors-toggle-checkbox:checked + .wcv-vendor-list-search { display: block; }
320
+
321
+ .wcv-vendor-list-filter .search-vendors-toggle-button { display: none; }
322
+
323
+ .wcv-vendor-list-filter form { margin-bottom: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
324
+
325
+ .wcv-vendor-list-filter form input[type="text"] { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; padding: 10px 5px; margin-right: 7px; }
326
+
327
+ @media screen and (max-width: 767px) { .wcv-vendor-list-filter form { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
328
+ .wcv-vendor-list-filter form input[type="text"] { margin-right: 0; margin-bottom: 10px; } }
329
+
330
+ .wcv-vendor-list-filter .wcv-vendor-list-search { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; margin-right: 30px; }
331
+
332
+ @media screen and (max-width: 767px) { .wcv-vendor-list-filter .wcv-vendor-list-search { position: absolute; display: none; top: 0; -webkit-transform: translateY(50%); transform: translateY(50%); background-color: #fff; border: 1px solid #eee; border-radius: 4px; padding: 10px; width: 100%; z-index: 1; }
333
+ .wcv-vendor-list-filter .search-vendors-toggle-button { display: block; } }
334
+
335
+ .vendor-search-result-text { margin-bottom: 20px; font-size: 1.2em; color: #000000; }
336
+
337
+ .wcv-dashboard-navigation ul { margin-left: 0; }
338
+
339
+ .wcv-dashboard-navigation ul li { margin-bottom: 3px; display: inline-block; }
assets/css/wcv-frontend.min.css ADDED
@@ -0,0 +1 @@
 
1
+ /*! Bootstrap v2.1.1 Copyright 2012 Twitter, Inc Licensed under the Apache License v2.0 http://www.apache.org/licenses/LICENSE-2.0 Designed and built with all the love in the world @twitter by @mdo and @fat. */.clearfix:before{display:table;content:"";line-height:0}.clearfix:after{display:table;content:"";line-height:0;clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.wcv-btn{display:inline-block;padding:4px 14px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333;text-shadow:0 1px 1px rgba(255,255,255,.75);background-color:#f5f5f5;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e6e6e6));background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);border:1px solid #bbb;border-bottom-color:#a2a2a2;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);border-color:#c5c5c5;border-color:rgba(0,0,0,.15) rgba(0,0,0,.15) rgba(0,0,0,.25)}.wcv-btn:hover{color:#333;background-color:#e6e6e6;color:#333;text-decoration:none;background-color:#e6e6e6;background-position:0 -15px;-webkit-transition:background-position .1s linear;transition:background-position .1s linear}.wcv-btn:active{color:#333;background-color:#e6e6e6;background-color:#e6e6e6;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.wcv-btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.wcv-btn.active{color:#333;background-color:#e6e6e6;background-color:#e6e6e6;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.wcv-btn.disabled{color:#333;background-color:#e6e6e6;cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;-webkit-box-shadow:none;box-shadow:none}.wcv-btn[disabled]{color:#333;background-color:#e6e6e6;cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;-webkit-box-shadow:none;box-shadow:none}.wcv-btn-large{padding:9px 14px;font-size:16px;line-height:normal;border-radius:5px}.wcv-btn-large [class^=icon-]{margin-top:2px}.wcv-btn-small{padding:3px 9px;font-size:12px;line-height:18px}.wcv-btn-small [class^=icon-]{margin-top:0}.wcv-btn-mini{padding:2px 6px;font-size:11px;line-height:17px}.wcv-btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;box-sizing:border-box}.wcv-btn-block+.wcv-btn-block{margin-top:5px}input[type=submit].wcv-btn-block{width:100%}input[type=reset].wcv-btn-block{width:100%}input[type=button].wcv-btn-block{width:100%}.wcv-btn-primary.active{color:rgba(255,255,255,.75);color:#fff;background-color:#04c}.wcv-btn-warning.active{color:rgba(255,255,255,.75);color:#fff;background-color:#f89406}.wcv-btn-danger.active{color:rgba(255,255,255,.75);color:#fff;background-color:#bd362f}.wcv-btn-success.active{color:rgba(255,255,255,.75);color:#fff;background-color:#51a351}.wcv-btn-info.active{color:rgba(255,255,255,.75);color:#fff;background-color:#2f96b4}.wcv-btn-inverse.active{color:rgba(255,255,255,.75);color:#fff;background-color:#222}.wcv-btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#006dcc;background-image:-webkit-gradient(linear,left top,left bottom,from(#08c),to(#04c));background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25)}.wcv-btn-primary:hover{color:#fff;background-color:#04c}.wcv-btn-primary:active{color:#fff;background-color:#04c}.wcv-btn-primary.disabled{color:#fff;background-color:#04c}.wcv-btn-primary[disabled]{color:#fff;background-color:#04c}.wcv-btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#faa732;background-image:-webkit-gradient(linear,left top,left bottom,from(#fbb450),to(#f89406));background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25)}.wcv-btn-warning:hover{color:#fff;background-color:#f89406}.wcv-btn-warning:active{color:#fff;background-color:#f89406}.wcv-btn-warning.disabled{color:#fff;background-color:#f89406}.wcv-btn-warning[disabled]{color:#fff;background-color:#f89406}.wcv-btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#da4f49;background-image:-webkit-gradient(linear,left top,left bottom,from(#ee5f5b),to(#bd362f));background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25)}.wcv-btn-danger:hover{color:#fff;background-color:#bd362f}.wcv-btn-danger:active{color:#fff;background-color:#bd362f}.wcv-btn-danger.disabled{color:#fff;background-color:#bd362f}.wcv-btn-danger[disabled]{color:#fff;background-color:#bd362f}.wcv-btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#5bb75b;background-image:-webkit-gradient(linear,left top,left bottom,from(#62c462),to(#51a351));background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25)}.wcv-btn-success:hover{color:#fff;background-color:#51a351}.wcv-btn-success:active{color:#fff;background-color:#51a351}.wcv-btn-success.disabled{color:#fff;background-color:#51a351}.wcv-btn-success[disabled]{color:#fff;background-color:#51a351}.wcv-btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#49afcd;background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2f96b4));background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25)}.wcv-btn-info:hover{color:#fff;background-color:#2f96b4}.wcv-btn-info:active{color:#fff;background-color:#2f96b4}.wcv-btn-info.disabled{color:#fff;background-color:#2f96b4}.wcv-btn-info[disabled]{color:#fff;background-color:#2f96b4}.wcv-btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#363636;background-image:-webkit-gradient(linear,left top,left bottom,from(#444),to(#222));background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25)}.wcv-btn-inverse:hover{color:#fff;background-color:#222}.wcv-btn-inverse:active{color:#fff;background-color:#222}.wcv-btn-inverse.disabled{color:#fff;background-color:#222}.wcv-btn-inverse[disabled]{color:#fff;background-color:#222}button.wcv-btn::-moz-focus-inner{padding:0;border:0}input[type=submit].wcv-btn::-moz-focus-inner{padding:0;border:0}.wcv-btn-link{background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none;border-color:transparent;cursor:pointer;color:#08c;border-radius:0}.wcv-btn-link:active{background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.wcv-btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.wcv-btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.wcv-btn-link[disabled]:hover{color:#333;text-decoration:none}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}table [class*=span]{display:table-cell;float:none;margin-left:0}.table{width:100%;margin-bottom:20px}.table th{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd;font-weight:700}.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table thead th{vertical-align:bottom}.table thead:first-child tr:first-child th{border-top:0}.table thead:first-child tr:first-child td{border-top:0}.table caption+thead tr:first-child th{border-top:0}.table caption+thead tr:first-child td{border-top:0}.table colgroup+thead tr:first-child th{border-top:0}.table colgroup+thead tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-condensed th{padding:4px 5px}.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;border-left:0;border-radius:4px}.table-bordered th{border-left:1px solid #ddd}.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th{border-top:0}.table-bordered caption+thead tr:first-child th:first-child{border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child{border-top-right-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+tbody tr:first-child th{border-top:0}.table-bordered caption+tbody tr:first-child td{border-top:0}.table-bordered caption+tbody tr:first-child td:first-child{border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+tbody tr:first-child td:last-child{border-top-right-radius:4px;-moz-border-radius-topleft:4px}.table-bordered colgroup+thead tr:first-child th{border-top:0}.table-bordered colgroup+thead tr:first-child th:first-child{border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered colgroup+thead tr:first-child th:last-child{border-top-right-radius:4px;-moz-border-radius-topleft:4px}.table-bordered colgroup+tbody tr:first-child th{border-top:0}.table-bordered colgroup+tbody tr:first-child td{border-top:0}.table-bordered colgroup+tbody tr:first-child td:first-child{border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered colgroup+tbody tr:first-child td:last-child{border-top-right-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child th{border-top:0}.table-bordered thead:first-child tr:first-child th:first-child{border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child th:last-child{border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child th:first-child{border-radius:0 0 0 4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child th:last-child{border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tbody:first-child tr:first-child th{border-top:0}.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered tbody:first-child tr:first-child td:first-child{border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered tbody:first-child tr:first-child td:last-child{border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered tbody:last-child tr:last-child td:first-child{border-radius:0 0 0 4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered tbody:last-child tr:last-child td:last-child{border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot:last-child tr:last-child td:first-child{border-radius:0 0 0 4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered tfoot:last-child tr:last-child td:last-child{border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-striped tbody tr:nth-child(odd) td{background-color:#f9f9f9}.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9}.table-hover tbody tr:hover td{background-color:#f5f5f5}.table-hover tbody tr:hover th{background-color:#f5f5f5}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}.row-fluid table [class*=span]{display:table-cell;float:none;margin-left:0}.hidden{display:none}.dashicons{vertical-align:middle}.wcv_vendorslist{margin-left:0}.wcv_vendorslist .vendor_list .vendors_list--shop-link{margin-top:10px;font-size:14px;display:inline-block}.wcv_vendorslist .vendor_list .vendors_list--shop-address span,.wcv_vendorslist .vendor_list .vendors_list--shop-phone span{vertical-align:bottom}.wcv_vendorslist .vendor_list .vendor_list--shop-name{min-height:50px;margin-bottom:10px}.wcv_vendorslist .vendor_list .vendor_list--shop-name a{font-size:1em;text-decoration:none;color:#636363}.wcv_vendorslist .vendor_list .vendor_list--shop-name a:hover{color:#0073aa}@media screen and (max-width:767px){.wcv_vendorslist .vendor_list .vendor_list--shop-name{font-size:1.2em}}.wcv_vendorslist.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid;grid-gap:20px}.wcv_vendorslist.grid .vendor_list{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1)}.wcv_vendorslist.grid .vendor_list .vendor_list_avatar{border-bottom:1px solid #eee;height:200px;overflow:hidden}.wcv_vendorslist.grid .vendor_list .vendor_list_avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:0}.wcv_vendorslist.grid .vendor_list .vendor_list_info{padding:10px}@media screen and (max-width:767px){.wcv_vendorslist.grid{grid-template-columns:repeat(auto-fit,minmax(calc(50% - 20px),1fr))}}@media screen and (max-width:375px){.wcv_vendorslist.grid{grid-template-columns:1fr}.wcv_vendorslist.grid .vendor_list_avatar img{margin:0 auto}}.wcv_vendorslist.list{display:block}.wcv_vendorslist.list .vendor_list{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:15px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.1);padding:15px}.wcv_vendorslist.list .vendor_list .vendor_list--shop-desc{display:block}.wcv_vendorslist.list .vendor_list .vendor_list_avatar{width:30%;margin-right:20px}.wcv-vendor-list-filter{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:30px;position:relative}.wcv-vendor-list-filter .wcv-vendor-list-switch{color:#000}.wcv-vendor-list-filter .wcv-vendor-list-switch .wcv-vendor-list-switch-item{display:inline-block;margin-right:5px;text-decoration:none!important}.wcv-vendor-list-filter .wcv-vendor-list-switch .wcv-vendor-list-switch-item.active{font-weight:700;color:#000}.wcv-vendor-list-filter .wcv-vendor-list-switch:last-child{margin-right:0}.wcv-vendor-list-filter #search-vendors-toggle-checkbox{display:none}.wcv-vendor-list-filter #search-vendors-toggle-checkbox:checked+.wcv-vendor-list-search{display:block}.wcv-vendor-list-filter .search-vendors-toggle-button{display:none}.wcv-vendor-list-filter form{margin-bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wcv-vendor-list-filter form input[type=text]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:10px 5px;margin-right:7px}@media screen and (max-width:767px){.wcv-vendor-list-filter form{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.wcv-vendor-list-filter form input[type=text]{margin-right:0;margin-bottom:10px}}.wcv-vendor-list-filter .wcv-vendor-list-search{-webkit-box-flex:1;-ms-flex:1;flex:1;margin-right:30px}@media screen and (max-width:767px){.wcv-vendor-list-filter .wcv-vendor-list-search{position:absolute;display:none;top:0;-webkit-transform:translateY(50%);transform:translateY(50%);background-color:#fff;border:1px solid #eee;border-radius:4px;padding:10px;width:100%;z-index:1}.wcv-vendor-list-filter .search-vendors-toggle-button{display:block}}.vendor-search-result-text{margin-bottom:20px;font-size:1.2em;color:#000}.wcv-dashboard-navigation ul{margin-left:0}.wcv-dashboard-navigation ul li{margin-bottom:3px;display:inline-block}
assets/css/wcv-frontend.scss ADDED
@@ -0,0 +1,1165 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v2.1.1
3
+ *
4
+ * Copyright 2012 Twitter, Inc
5
+ * Licensed under the Apache License v2.0
6
+ * http://www.apache.org/licenses/LICENSE-2.0
7
+ *
8
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
9
+ */
10
+ clearfix {
11
+ *zoom: 1;
12
+ }
13
+ .clearfix {
14
+ &:before {
15
+ display: table;
16
+ content: "";
17
+ line-height: 0;
18
+ }
19
+ &:after {
20
+ display: table;
21
+ content: "";
22
+ line-height: 0;
23
+ clear: both;
24
+ }
25
+ }
26
+ .hide-text {
27
+ font: 0/0 a;
28
+ color: transparent;
29
+ text-shadow: none;
30
+ background-color: transparent;
31
+ border: 0;
32
+ }
33
+ .input-block-level {
34
+ display: block;
35
+ width: 100%;
36
+ min-height: 30px;
37
+ -webkit-box-sizing: border-box;
38
+ -moz-box-sizing: border-box;
39
+ box-sizing: border-box;
40
+ }
41
+ .wcv-btn {
42
+ display: inline-block;
43
+ *display: inline;
44
+ *zoom: 1;
45
+ padding: 4px 14px;
46
+ margin-bottom: 0;
47
+ font-size: 14px;
48
+ line-height: 20px;
49
+ *line-height: 20px;
50
+ text-align: center;
51
+ vertical-align: middle;
52
+ cursor: pointer;
53
+ color: #333333;
54
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
55
+ background-color: #f5f5f5;
56
+ background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
57
+ background-image: -webkit-gradient(
58
+ linear,
59
+ 0 0,
60
+ 0 100%,
61
+ from(#ffffff),
62
+ to(#e6e6e6)
63
+ );
64
+ background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
65
+ background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
66
+ background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
67
+ background-repeat: repeat-x;
68
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
69
+ border-color: #e6e6e6 #e6e6e6 #bfbfbf;
70
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
71
+ *background-color: #e6e6e6;
72
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
73
+ border: 1px solid #bbbbbb;
74
+ *border: 0;
75
+ border-bottom-color: #a2a2a2;
76
+ -webkit-border-radius: 4px;
77
+ -moz-border-radius: 4px;
78
+ border-radius: 4px;
79
+ *margin-left: 0.3em;
80
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2),
81
+ 0 1px 2px rgba(0, 0, 0, 0.05);
82
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2),
83
+ 0 1px 2px rgba(0, 0, 0, 0.05);
84
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2),
85
+ 0 1px 2px rgba(0, 0, 0, 0.05);
86
+ border-color: #c5c5c5;
87
+ border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);
88
+ &:hover {
89
+ color: #333333;
90
+ background-color: #e6e6e6;
91
+ *background-color: #d9d9d9;
92
+ color: #333333;
93
+ text-decoration: none;
94
+ background-color: #e6e6e6;
95
+ *background-color: #d9d9d9;
96
+ background-position: 0 -15px;
97
+ -webkit-transition: background-position 0.1s linear;
98
+ -moz-transition: background-position 0.1s linear;
99
+ -o-transition: background-position 0.1s linear;
100
+ transition: background-position 0.1s linear;
101
+ }
102
+ &:active {
103
+ color: #333333;
104
+ background-color: #e6e6e6;
105
+ *background-color: #d9d9d9;
106
+ background-color: #cccccc \9;
107
+ background-color: #e6e6e6;
108
+ background-color: #d9d9d9 \9;
109
+ background-image: none;
110
+ outline: 0;
111
+ -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),
112
+ 0 1px 2px rgba(0, 0, 0, 0.05);
113
+ -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),
114
+ 0 1px 2px rgba(0, 0, 0, 0.05);
115
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),
116
+ 0 1px 2px rgba(0, 0, 0, 0.05);
117
+ }
118
+ &:first-child {
119
+ *margin-left: 0;
120
+ }
121
+ &:focus {
122
+ outline: thin dotted #333;
123
+ outline: 5px auto -webkit-focus-ring-color;
124
+ outline-offset: -2px;
125
+ }
126
+ }
127
+ .wcv-btn.active {
128
+ color: #333333;
129
+ background-color: #e6e6e6;
130
+ *background-color: #d9d9d9;
131
+ background-color: #cccccc \9;
132
+ background-color: #e6e6e6;
133
+ background-color: #d9d9d9 \9;
134
+ background-image: none;
135
+ outline: 0;
136
+ -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),
137
+ 0 1px 2px rgba(0, 0, 0, 0.05);
138
+ -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),
139
+ 0 1px 2px rgba(0, 0, 0, 0.05);
140
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
141
+ }
142
+ .wcv-btn.disabled {
143
+ color: #333333;
144
+ background-color: #e6e6e6;
145
+ *background-color: #d9d9d9;
146
+ cursor: default;
147
+ background-color: #e6e6e6;
148
+ background-image: none;
149
+ opacity: 0.65;
150
+ filter: alpha(opacity=65);
151
+ -webkit-box-shadow: none;
152
+ -moz-box-shadow: none;
153
+ box-shadow: none;
154
+ }
155
+ .wcv-btn[disabled] {
156
+ color: #333333;
157
+ background-color: #e6e6e6;
158
+ *background-color: #d9d9d9;
159
+ cursor: default;
160
+ background-color: #e6e6e6;
161
+ background-image: none;
162
+ opacity: 0.65;
163
+ filter: alpha(opacity=65);
164
+ -webkit-box-shadow: none;
165
+ -moz-box-shadow: none;
166
+ box-shadow: none;
167
+ }
168
+ .wcv-btn-large {
169
+ padding: 9px 14px;
170
+ font-size: 16px;
171
+ line-height: normal;
172
+ -webkit-border-radius: 5px;
173
+ -moz-border-radius: 5px;
174
+ border-radius: 5px;
175
+ [class^="icon-"] {
176
+ margin-top: 2px;
177
+ }
178
+ }
179
+ .wcv-btn-small {
180
+ padding: 3px 9px;
181
+ font-size: 12px;
182
+ line-height: 18px;
183
+ [class^="icon-"] {
184
+ margin-top: 0;
185
+ }
186
+ }
187
+ .wcv-btn-mini {
188
+ padding: 2px 6px;
189
+ font-size: 11px;
190
+ line-height: 17px;
191
+ }
192
+ .wcv-btn-block {
193
+ display: block;
194
+ width: 100%;
195
+ padding-left: 0;
196
+ padding-right: 0;
197
+ -webkit-box-sizing: border-box;
198
+ -moz-box-sizing: border-box;
199
+ box-sizing: border-box;
200
+ + {
201
+ .wcv-btn-block {
202
+ margin-top: 5px;
203
+ }
204
+ }
205
+ }
206
+ input[type="submit"].wcv-btn-block {
207
+ width: 100%;
208
+ }
209
+ input[type="reset"].wcv-btn-block {
210
+ width: 100%;
211
+ }
212
+ input[type="button"].wcv-btn-block {
213
+ width: 100%;
214
+ }
215
+ .wcv-btn-primary.active {
216
+ color: rgba(255, 255, 255, 0.75);
217
+ color: #ffffff;
218
+ background-color: #0044cc;
219
+ *background-color: #003bb3;
220
+ background-color: #003399 \9;
221
+ }
222
+ .wcv-btn-warning.active {
223
+ color: rgba(255, 255, 255, 0.75);
224
+ color: #ffffff;
225
+ background-color: #f89406;
226
+ *background-color: #df8505;
227
+ background-color: #c67605 \9;
228
+ }
229
+ .wcv-btn-danger.active {
230
+ color: rgba(255, 255, 255, 0.75);
231
+ color: #ffffff;
232
+ background-color: #bd362f;
233
+ *background-color: #a9302a;
234
+ background-color: #942a25 \9;
235
+ }
236
+ .wcv-btn-success.active {
237
+ color: rgba(255, 255, 255, 0.75);
238
+ color: #ffffff;
239
+ background-color: #51a351;
240
+ *background-color: #499249;
241
+ background-color: #408140 \9;
242
+ }
243
+ .wcv-btn-info.active {
244
+ color: rgba(255, 255, 255, 0.75);
245
+ color: #ffffff;
246
+ background-color: #2f96b4;
247
+ *background-color: #2a85a0;
248
+ background-color: #24748c \9;
249
+ }
250
+ .wcv-btn-inverse.active {
251
+ color: rgba(255, 255, 255, 0.75);
252
+ color: #ffffff;
253
+ background-color: #222222;
254
+ *background-color: #151515;
255
+ background-color: #080808 \9;
256
+ }
257
+ .wcv-btn-primary {
258
+ color: #ffffff;
259
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
260
+ background-color: #006dcc;
261
+ background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
262
+ background-image: -webkit-gradient(
263
+ linear,
264
+ 0 0,
265
+ 0 100%,
266
+ from(#0088cc),
267
+ to(#0044cc)
268
+ );
269
+ background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
270
+ background-image: -o-linear-gradient(top, #0088cc, #0044cc);
271
+ background-image: linear-gradient(to bottom, #0088cc, #0044cc);
272
+ background-repeat: repeat-x;
273
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
274
+ border-color: #0044cc #0044cc #002a80;
275
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
276
+ *background-color: #0044cc;
277
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
278
+ &:hover {
279
+ color: #ffffff;
280
+ background-color: #0044cc;
281
+ *background-color: #003bb3;
282
+ }
283
+ &:active {
284
+ color: #ffffff;
285
+ background-color: #0044cc;
286
+ *background-color: #003bb3;
287
+ background-color: #003399 \9;
288
+ }
289
+ }
290
+ .wcv-btn-primary.disabled {
291
+ color: #ffffff;
292
+ background-color: #0044cc;
293
+ *background-color: #003bb3;
294
+ }
295
+ .wcv-btn-primary[disabled] {
296
+ color: #ffffff;
297
+ background-color: #0044cc;
298
+ *background-color: #003bb3;
299
+ }
300
+ .wcv-btn-warning {
301
+ color: #ffffff;
302
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
303
+ background-color: #faa732;
304
+ background-image: -moz-linear-gradient(top, #fbb450, #f89406);
305
+ background-image: -webkit-gradient(
306
+ linear,
307
+ 0 0,
308
+ 0 100%,
309
+ from(#fbb450),
310
+ to(#f89406)
311
+ );
312
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
313
+ background-image: -o-linear-gradient(top, #fbb450, #f89406);
314
+ background-image: linear-gradient(to bottom, #fbb450, #f89406);
315
+ background-repeat: repeat-x;
316
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
317
+ border-color: #f89406 #f89406 #ad6704;
318
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
319
+ *background-color: #f89406;
320
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
321
+ &:hover {
322
+ color: #ffffff;
323
+ background-color: #f89406;
324
+ *background-color: #df8505;
325
+ }
326
+ &:active {
327
+ color: #ffffff;
328
+ background-color: #f89406;
329
+ *background-color: #df8505;
330
+ background-color: #c67605 \9;
331
+ }
332
+ }
333
+ .wcv-btn-warning.disabled {
334
+ color: #ffffff;
335
+ background-color: #f89406;
336
+ *background-color: #df8505;
337
+ }
338
+ .wcv-btn-warning[disabled] {
339
+ color: #ffffff;
340
+ background-color: #f89406;
341
+ *background-color: #df8505;
342
+ }
343
+ .wcv-btn-danger {
344
+ color: #ffffff;
345
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
346
+ background-color: #da4f49;
347
+ background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
348
+ background-image: -webkit-gradient(
349
+ linear,
350
+ 0 0,
351
+ 0 100%,
352
+ from(#ee5f5b),
353
+ to(#bd362f)
354
+ );
355
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
356
+ background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
357
+ background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
358
+ background-repeat: repeat-x;
359
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
360
+ border-color: #bd362f #bd362f #802420;
361
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
362
+ *background-color: #bd362f;
363
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
364
+ &:hover {
365
+ color: #ffffff;
366
+ background-color: #bd362f;
367
+ *background-color: #a9302a;
368
+ }
369
+ &:active {
370
+ color: #ffffff;
371
+ background-color: #bd362f;
372
+ *background-color: #a9302a;
373
+ background-color: #942a25 \9;
374
+ }
375
+ }
376
+ .wcv-btn-danger.disabled {
377
+ color: #ffffff;
378
+ background-color: #bd362f;
379
+ *background-color: #a9302a;
380
+ }
381
+ .wcv-btn-danger[disabled] {
382
+ color: #ffffff;
383
+ background-color: #bd362f;
384
+ *background-color: #a9302a;
385
+ }
386
+ .wcv-btn-success {
387
+ color: #ffffff;
388
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
389
+ background-color: #5bb75b;
390
+ background-image: -moz-linear-gradient(top, #62c462, #51a351);
391
+ background-image: -webkit-gradient(
392
+ linear,
393
+ 0 0,
394
+ 0 100%,
395
+ from(#62c462),
396
+ to(#51a351)
397
+ );
398
+ background-image: -webkit-linear-gradient(top, #62c462, #51a351);
399
+ background-image: -o-linear-gradient(top, #62c462, #51a351);
400
+ background-image: linear-gradient(to bottom, #62c462, #51a351);
401
+ background-repeat: repeat-x;
402
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
403
+ border-color: #51a351 #51a351 #387038;
404
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
405
+ *background-color: #51a351;
406
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
407
+ &:hover {
408
+ color: #ffffff;
409
+ background-color: #51a351;
410
+ *background-color: #499249;
411
+ }
412
+ &:active {
413
+ color: #ffffff;
414
+ background-color: #51a351;
415
+ *background-color: #499249;
416
+ background-color: #408140 \9;
417
+ }
418
+ }
419
+ .wcv-btn-success.disabled {
420
+ color: #ffffff;
421
+ background-color: #51a351;
422
+ *background-color: #499249;
423
+ }
424
+ .wcv-btn-success[disabled] {
425
+ color: #ffffff;
426
+ background-color: #51a351;
427
+ *background-color: #499249;
428
+ }
429
+ .wcv-btn-info {
430
+ color: #ffffff;
431
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
432
+ background-color: #49afcd;
433
+ background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
434
+ background-image: -webkit-gradient(
435
+ linear,
436
+ 0 0,
437
+ 0 100%,
438
+ from(#5bc0de),
439
+ to(#2f96b4)
440
+ );
441
+ background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
442
+ background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
443
+ background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
444
+ background-repeat: repeat-x;
445
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
446
+ border-color: #2f96b4 #2f96b4 #1f6377;
447
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
448
+ *background-color: #2f96b4;
449
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
450
+ &:hover {
451
+ color: #ffffff;
452
+ background-color: #2f96b4;
453
+ *background-color: #2a85a0;
454
+ }
455
+ &:active {
456
+ color: #ffffff;
457
+ background-color: #2f96b4;
458
+ *background-color: #2a85a0;
459
+ background-color: #24748c \9;
460
+ }
461
+ }
462
+ .wcv-btn-info.disabled {
463
+ color: #ffffff;
464
+ background-color: #2f96b4;
465
+ *background-color: #2a85a0;
466
+ }
467
+ .wcv-btn-info[disabled] {
468
+ color: #ffffff;
469
+ background-color: #2f96b4;
470
+ *background-color: #2a85a0;
471
+ }
472
+ .wcv-btn-inverse {
473
+ color: #ffffff;
474
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
475
+ background-color: #363636;
476
+ background-image: -moz-linear-gradient(top, #444444, #222222);
477
+ background-image: -webkit-gradient(
478
+ linear,
479
+ 0 0,
480
+ 0 100%,
481
+ from(#444444),
482
+ to(#222222)
483
+ );
484
+ background-image: -webkit-linear-gradient(top, #444444, #222222);
485
+ background-image: -o-linear-gradient(top, #444444, #222222);
486
+ background-image: linear-gradient(to bottom, #444444, #222222);
487
+ background-repeat: repeat-x;
488
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
489
+ border-color: #222222 #222222 #000000;
490
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
491
+ *background-color: #222222;
492
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
493
+ &:hover {
494
+ color: #ffffff;
495
+ background-color: #222222;
496
+ *background-color: #151515;
497
+ }
498
+ &:active {
499
+ color: #ffffff;
500
+ background-color: #222222;
501
+ *background-color: #151515;
502
+ background-color: #080808 \9;
503
+ }
504
+ }
505
+ .wcv-btn-inverse.disabled {
506
+ color: #ffffff;
507
+ background-color: #222222;
508
+ *background-color: #151515;
509
+ }
510
+ .wcv-btn-inverse[disabled] {
511
+ color: #ffffff;
512
+ background-color: #222222;
513
+ *background-color: #151515;
514
+ }
515
+ button.wcv-btn {
516
+ *padding-top: 3px;
517
+ *padding-bottom: 3px;
518
+ &::-moz-focus-inner {
519
+ padding: 0;
520
+ border: 0;
521
+ }
522
+ }
523
+ input[type="submit"].wcv-btn {
524
+ *padding-top: 3px;
525
+ *padding-bottom: 3px;
526
+ &::-moz-focus-inner {
527
+ padding: 0;
528
+ border: 0;
529
+ }
530
+ }
531
+ button.wcv-btn.wcv-btn-large {
532
+ *padding-top: 7px;
533
+ *padding-bottom: 7px;
534
+ }
535
+ input[type="submit"].wcv-btn.wcv-btn-large {
536
+ *padding-top: 7px;
537
+ *padding-bottom: 7px;
538
+ }
539
+ button.wcv-btn.wcv-btn-small {
540
+ *padding-top: 3px;
541
+ *padding-bottom: 3px;
542
+ }
543
+ input[type="submit"].wcv-btn.wcv-btn-small {
544
+ *padding-top: 3px;
545
+ *padding-bottom: 3px;
546
+ }
547
+ button.wcv-btn.wcv-btn-mini {
548
+ *padding-top: 1px;
549
+ *padding-bottom: 1px;
550
+ }
551
+ input[type="submit"].wcv-btn.wcv-btn-mini {
552
+ *padding-top: 1px;
553
+ *padding-bottom: 1px;
554
+ }
555
+ .wcv-btn-link {
556
+ background-color: transparent;
557
+ background-image: none;
558
+ -webkit-box-shadow: none;
559
+ -moz-box-shadow: none;
560
+ box-shadow: none;
561
+ border-color: transparent;
562
+ cursor: pointer;
563
+ color: #0088cc;
564
+ -webkit-border-radius: 0;
565
+ -moz-border-radius: 0;
566
+ border-radius: 0;
567
+ &:active {
568
+ background-color: transparent;
569
+ background-image: none;
570
+ -webkit-box-shadow: none;
571
+ -moz-box-shadow: none;
572
+ box-shadow: none;
573
+ }
574
+ &:hover {
575
+ color: #005580;
576
+ text-decoration: underline;
577
+ background-color: transparent;
578
+ }
579
+ }
580
+ .wcv-btn-link[disabled] {
581
+ background-color: transparent;
582
+ background-image: none;
583
+ -webkit-box-shadow: none;
584
+ -moz-box-shadow: none;
585
+ box-shadow: none;
586
+ &:hover {
587
+ color: #333333;
588
+ text-decoration: none;
589
+ }
590
+ }
591
+ table {
592
+ max-width: 100%;
593
+ background-color: transparent;
594
+ border-collapse: collapse;
595
+ border-spacing: 0;
596
+ [class*="span"] {
597
+ display: table-cell;
598
+ float: none;
599
+ margin-left: 0;
600
+ }
601
+ }
602
+ .table {
603
+ width: 100%;
604
+ margin-bottom: 20px;
605
+ th {
606
+ padding: 8px;
607
+ line-height: 20px;
608
+ text-align: left;
609
+ vertical-align: top;
610
+ border-top: 1px solid #dddddd;
611
+ font-weight: bold;
612
+ }
613
+ td {
614
+ padding: 8px;
615
+ line-height: 20px;
616
+ text-align: left;
617
+ vertical-align: top;
618
+ border-top: 1px solid #dddddd;
619
+ }
620
+ thead {
621
+ th {
622
+ vertical-align: bottom;
623
+ }
624
+ &:first-child {
625
+ tr {
626
+ &:first-child {
627
+ th {
628
+ border-top: 0;
629
+ }
630
+ td {
631
+ border-top: 0;
632
+ }
633
+ }
634
+ }
635
+ }
636
+ }
637
+ caption {
638
+ + {
639
+ thead {
640
+ tr {
641
+ &:first-child {
642
+ th {
643
+ border-top: 0;
644
+ }
645
+ td {
646
+ border-top: 0;
647
+ }
648
+ }
649
+ }
650
+ }
651
+ }
652
+ }
653
+ colgroup {
654
+ + {
655
+ thead {
656
+ tr {
657
+ &:first-child {
658
+ th {
659
+ border-top: 0;
660
+ }
661
+ td {
662
+ border-top: 0;
663
+ }
664
+ }
665
+ }
666
+ }
667
+ }
668
+ }
669
+ tbody {
670
+ + {
671
+ tbody {
672
+ border-top: 2px solid #dddddd;
673
+ }
674
+ }
675
+ tr.success {
676
+ td {
677
+ background-color: #dff0d8;
678
+ }
679
+ }
680
+ tr.error {
681
+ td {
682
+ background-color: #f2dede;
683
+ }
684
+ }
685
+ tr.warning {
686
+ td {
687
+ background-color: #fcf8e3;
688
+ }
689
+ }
690
+ tr.info {
691
+ td {
692
+ background-color: #d9edf7;
693
+ }
694
+ }
695
+ }
696
+ }
697
+ .table-condensed {
698
+ th {
699
+ padding: 4px 5px;
700
+ }
701
+ td {
702
+ padding: 4px 5px;
703
+ }
704
+ }
705
+ .table-bordered {
706
+ border: 1px solid #dddddd;
707
+ border-collapse: separate;
708
+ *border-collapse: collapse;
709
+ border-left: 0;
710
+ -webkit-border-radius: 4px;
711
+ -moz-border-radius: 4px;
712
+ border-radius: 4px;
713
+ th {
714
+ border-left: 1px solid #dddddd;
715
+ }
716
+ td {
717
+ border-left: 1px solid #dddddd;
718
+ }
719
+ caption {
720
+ + {
721
+ thead {
722
+ tr {
723
+ &:first-child {
724
+ th {
725
+ border-top: 0;
726
+ &:first-child {
727
+ -webkit-border-top-left-radius: 4px;
728
+ border-top-left-radius: 4px;
729
+ -moz-border-radius-topleft: 4px;
730
+ }
731
+ &:last-child {
732
+ -webkit-border-top-right-radius: 4px;
733
+ border-top-right-radius: 4px;
734
+ -moz-border-radius-topleft: 4px;
735
+ }
736
+ }
737
+ }
738
+ }
739
+ }
740
+ tbody {
741
+ tr {
742
+ &:first-child {
743
+ th {
744
+ border-top: 0;
745
+ }
746
+ td {
747
+ border-top: 0;
748
+ &:first-child {
749
+ -webkit-border-top-left-radius: 4px;
750
+ border-top-left-radius: 4px;
751
+ -moz-border-radius-topleft: 4px;
752
+ }
753
+ &:last-child {
754
+ -webkit-border-top-right-radius: 4px;
755
+ border-top-right-radius: 4px;
756
+ -moz-border-radius-topleft: 4px;
757
+ }
758
+ }
759
+ }
760
+ }
761
+ }
762
+ }
763
+ }
764
+ colgroup {
765
+ + {
766
+ thead {
767
+ tr {
768
+ &:first-child {
769
+ th {
770
+ border-top: 0;
771
+ &:first-child {
772
+ -webkit-border-top-left-radius: 4px;
773
+ border-top-left-radius: 4px;
774
+ -moz-border-radius-topleft: 4px;
775
+ }
776
+ &:last-child {
777
+ -webkit-border-top-right-radius: 4px;
778
+ border-top-right-radius: 4px;
779
+ -moz-border-radius-topleft: 4px;
780
+ }
781
+ }
782
+ }
783
+ }
784
+ }
785
+ tbody {
786
+ tr {
787
+ &:first-child {
788
+ th {
789
+ border-top: 0;
790
+ }
791
+ td {
792
+ border-top: 0;
793
+ &:first-child {
794
+ -webkit-border-top-left-radius: 4px;
795
+ border-top-left-radius: 4px;
796
+ -moz-border-radius-topleft: 4px;
797
+ }
798
+ &:last-child {
799
+ -webkit-border-top-right-radius: 4px;
800
+ border-top-right-radius: 4px;
801
+ -moz-border-radius-topleft: 4px;
802
+ }
803
+ }
804
+ }
805
+ }
806
+ }
807
+ }
808
+ }
809
+ thead {
810
+ &:first-child {
811
+ tr {
812
+ &:first-child {
813
+ th {
814
+ border-top: 0;
815
+ &:first-child {
816
+ -webkit-border-top-left-radius: 4px;
817
+ border-top-left-radius: 4px;
818
+ -moz-border-radius-topleft: 4px;
819
+ }
820
+ &:last-child {
821
+ -webkit-border-top-right-radius: 4px;
822
+ border-top-right-radius: 4px;
823
+ -moz-border-radius-topright: 4px;
824
+ }
825
+ }
826
+ }
827
+ }
828
+ }
829
+ &:last-child {
830
+ tr {
831
+ &:last-child {
832
+ th {
833
+ &:first-child {
834
+ -webkit-border-radius: 0 0 0 4px;
835
+ -moz-border-radius: 0 0 0 4px;
836
+ border-radius: 0 0 0 4px;
837
+ -webkit-border-bottom-left-radius: 4px;
838
+ border-bottom-left-radius: 4px;
839
+ -moz-border-radius-bottomleft: 4px;
840
+ }
841
+ &:last-child {
842
+ -webkit-border-bottom-right-radius: 4px;
843
+ border-bottom-right-radius: 4px;
844
+ -moz-border-radius-bottomright: 4px;
845
+ }
846
+ }
847
+ }
848
+ }
849
+ }
850
+ }
851
+ tbody {
852
+ &:first-child {
853
+ tr {
854
+ &:first-child {
855
+ th {
856
+ border-top: 0;
857
+ }
858
+ td {
859
+ border-top: 0;
860
+ &:first-child {
861
+ -webkit-border-top-left-radius: 4px;
862
+ border-top-left-radius: 4px;
863
+ -moz-border-radius-topleft: 4px;
864
+ }
865
+ &:last-child {
866
+ -webkit-border-top-right-radius: 4px;
867
+ border-top-right-radius: 4px;
868
+ -moz-border-radius-topright: 4px;
869
+ }
870
+ }
871
+ }
872
+ }
873
+ }
874
+ &:last-child {
875
+ tr {
876
+ &:last-child {
877
+ td {
878
+ &:first-child {
879
+ -webkit-border-radius: 0 0 0 4px;
880
+ -moz-border-radius: 0 0 0 4px;
881
+ border-radius: 0 0 0 4px;
882
+ -webkit-border-bottom-left-radius: 4px;
883
+ border-bottom-left-radius: 4px;
884
+ -moz-border-radius-bottomleft: 4px;
885
+ }
886
+ &:last-child {
887
+ -webkit-border-bottom-right-radius: 4px;
888
+ border-bottom-right-radius: 4px;
889
+ -moz-border-radius-bottomright: 4px;
890
+ }
891
+ }
892
+ }
893
+ }
894
+ }
895
+ }
896
+ tfoot {
897
+ &:last-child {
898
+ tr {
899
+ &:last-child {
900
+ td {
901
+ &:first-child {
902
+ -webkit-border-radius: 0 0 0 4px;
903
+ -moz-border-radius: 0 0 0 4px;
904
+ border-radius: 0 0 0 4px;
905
+ -webkit-border-bottom-left-radius: 4px;
906
+ border-bottom-left-radius: 4px;
907
+ -moz-border-radius-bottomleft: 4px;
908
+ }
909
+ &:last-child {
910
+ -webkit-border-bottom-right-radius: 4px;
911
+ border-bottom-right-radius: 4px;
912
+ -moz-border-radius-bottomright: 4px;
913
+ }
914
+ }
915
+ }
916
+ }
917
+ }
918
+ }
919
+ }
920
+ .table-striped {
921
+ tbody {
922
+ tr {
923
+ &:nth-child(odd) {
924
+ td {
925
+ background-color: #f9f9f9;
926
+ }
927
+ th {
928
+ background-color: #f9f9f9;
929
+ }
930
+ }
931
+ }
932
+ }
933
+ }
934
+ .table-hover {
935
+ tbody {
936
+ tr {
937
+ &:hover {
938
+ td {
939
+ background-color: #f5f5f5;
940
+ }
941
+ th {
942
+ background-color: #f5f5f5;
943
+ }
944
+ }
945
+ }
946
+ tr.success {
947
+ &:hover {
948
+ td {
949
+ background-color: #d0e9c6;
950
+ }
951
+ }
952
+ }
953
+ tr.error {
954
+ &:hover {
955
+ td {
956
+ background-color: #ebcccc;
957
+ }
958
+ }
959
+ }
960
+ tr.warning {
961
+ &:hover {
962
+ td {
963
+ background-color: #faf2cc;
964
+ }
965
+ }
966
+ }
967
+ tr.info {
968
+ &:hover {
969
+ td {
970
+ background-color: #c4e3f3;
971
+ }
972
+ }
973
+ }
974
+ }
975
+ }
976
+ .row-fluid {
977
+ table {
978
+ [class*="span"] {
979
+ display: table-cell;
980
+ float: none;
981
+ margin-left: 0;
982
+ }
983
+ }
984
+ }
985
+ .hidden {
986
+ display: none;
987
+ }
988
+ .dashicons {
989
+ vertical-align: middle;
990
+ }
991
+ .wcv_vendorslist {
992
+ margin-left: 0;
993
+
994
+ .vendor_list {
995
+ & .vendors_list--shop-link {
996
+ margin-top: 10px;
997
+ font-size: 14px;
998
+ display: inline-block;
999
+ }
1000
+ & .vendors_list--shop-address, .vendors_list--shop-phone {
1001
+ & span {
1002
+ vertical-align: bottom;
1003
+ }
1004
+ }
1005
+ & .vendor_list--shop-name {
1006
+ min-height: 50px;
1007
+ margin-bottom: 10px;
1008
+ & a {
1009
+ font-size: 1em;
1010
+ text-decoration: none;
1011
+ color: #636363;
1012
+
1013
+ &:hover {
1014
+ color: #0073aa;
1015
+ }
1016
+ }
1017
+ }
1018
+
1019
+ @media screen and (max-width: 767px) {
1020
+ & .vendor_list--shop-name {
1021
+ font-size: 1.2em;
1022
+ }
1023
+ }
1024
+ }
1025
+ &.grid {
1026
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
1027
+ display: grid;
1028
+ grid-gap: 20px;
1029
+ & .vendor_list {
1030
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
1031
+
1032
+ & .vendor_list_avatar {
1033
+ border-bottom: 1px solid #eee;
1034
+ height: 200px;
1035
+ overflow: hidden;
1036
+ & img {
1037
+ width: 100%;
1038
+ height: 100%;
1039
+ object-fit: cover;
1040
+ border-radius: 0;
1041
+ }
1042
+ }
1043
+
1044
+ & .vendor_list_info {
1045
+ padding: 10px;
1046
+ }
1047
+ }
1048
+ @media screen and (max-width: 767px) {
1049
+ grid-template-columns: repeat(auto-fit, minmax(calc(50% - 20px), 1fr));
1050
+ }
1051
+ @media screen and (max-width: 375px) {
1052
+ grid-template-columns: 1fr;
1053
+ & .vendor_list_avatar {
1054
+ & img {
1055
+ margin: 0 auto;
1056
+ }
1057
+ }
1058
+ }
1059
+ }
1060
+ &.list {
1061
+ display: block;
1062
+ & .vendor_list {
1063
+ display: flex;
1064
+ margin-bottom: 15px;
1065
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
1066
+ padding: 15px;
1067
+
1068
+ & .vendor_list--shop-desc {
1069
+ display: block;
1070
+ }
1071
+ & .vendor_list_avatar {
1072
+ width: 30%;
1073
+ margin-right: 20px;
1074
+ }
1075
+ }
1076
+ }
1077
+ }
1078
+ .wcv-vendor-list-filter {
1079
+ display: flex;
1080
+ justify-content: space-between;
1081
+ align-items: center;
1082
+ margin-bottom: 30px;
1083
+ position: relative;
1084
+
1085
+ .wcv-vendor-list-switch {
1086
+ color: #000000;
1087
+ & .wcv-vendor-list-switch-item {
1088
+ display: inline-block;
1089
+ margin-right: 5px;
1090
+ text-decoration: none !important;
1091
+ &.active {
1092
+ font-weight: bold;
1093
+ color: #000000;
1094
+ }
1095
+ }
1096
+ &:last-child {
1097
+ margin-right: 0;
1098
+ }
1099
+ }
1100
+
1101
+ & #search-vendors-toggle-checkbox {
1102
+ display: none;
1103
+ &:checked + .wcv-vendor-list-search {
1104
+ display: block;
1105
+ }
1106
+ }
1107
+ & .search-vendors-toggle-button {
1108
+ display: none;
1109
+ }
1110
+ & form {
1111
+ margin-bottom: 0;
1112
+ display: flex;
1113
+ align-items: center;
1114
+ & input[type="text"] {
1115
+ flex: 1;
1116
+ padding: 10px 5px;
1117
+ margin-right: 7px;
1118
+ }
1119
+
1120
+ @media screen and (max-width: 767px) {
1121
+ flex-direction: column;
1122
+ align-items: stretch;
1123
+ & input[type="text"] {
1124
+ margin-right: 0;
1125
+ margin-bottom: 10px;
1126
+ }
1127
+ }
1128
+ }
1129
+ & .wcv-vendor-list-search {
1130
+ flex: 1;
1131
+ margin-right: 30px;
1132
+ }
1133
+ @media screen and (max-width: 767px) {
1134
+
1135
+ & .wcv-vendor-list-search{
1136
+ position: absolute;
1137
+ display: none;
1138
+ top: 0;
1139
+ transform: translateY(50%);
1140
+ background-color: #fff;
1141
+ border: 1px solid #eee;
1142
+ border-radius: 4px;
1143
+ padding: 10px;
1144
+ width: 100%;
1145
+ z-index: 1;
1146
+ }
1147
+ & .search-vendors-toggle-button {
1148
+ display: block;
1149
+ }
1150
+ }
1151
+ }
1152
+ .vendor-search-result-text {
1153
+ margin-bottom: 20px;
1154
+ font-size: 1.2em;
1155
+ color: #000000;
1156
+ }
1157
+ .wcv-dashboard-navigation {
1158
+ ul {
1159
+ margin-left: 0;
1160
+ li {
1161
+ margin-bottom: 3px;
1162
+ display: inline-block;
1163
+ }
1164
+ }
1165
+ }
assets/css/wcv-setup.css ADDED
@@ -0,0 +1,185 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** WC Vendors setup wizard styles */
2
+ /** WooCommerce CSS Variables */
3
+ body { margin: 65px auto 24px; -webkit-box-shadow: none; box-shadow: none; background: #f1f1f1; padding: 0; }
4
+
5
+ #wcv-logo { border: 0; margin: 30px 20px; padding: 0; text-align: center; }
6
+
7
+ #wcv-logo img { max-width: 30%; }
8
+
9
+ .wcv-setup-content { -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.13); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.13); padding: 2em; margin: 0 0 20px; background: #fff; overflow: hidden; zoom: 1; }
10
+
11
+ .wcv-setup-content h1, .wcv-setup-content h2, .wcv-setup-content h3, .wcv-setup-content table { margin: 0 0 20px; border: 0; padding: 0; color: #666; clear: none; font-weight: 500; }
12
+
13
+ .wcv-setup-content p { margin: 20px 0; font-size: 1em; line-height: 1.75em; color: #666; }
14
+
15
+ .wcv-setup-content table { font-size: 1em; line-height: 1.75em; color: #666; }
16
+
17
+ .wcv-setup-content a { color: #005580; }
18
+
19
+ .wcv-setup-content a:hover, .wcv-setup-content a:focus { color: #111; }
20
+
21
+ .wcv-setup-content h4.help-title { text-align: center; }
22
+
23
+ .wcv-setup-content .wcv-setup-input input { padding: 5px 10px; font-size: 1em; }
24
+
25
+ .wcv-setup-content .wcv-setup-next-steps { overflow: hidden; margin: 0 0 24px; padding-bottom: 2px; }
26
+
27
+ .wcv-setup-content .wcv-setup-next-steps h2 { margin-bottom: 12px; }
28
+
29
+ .wcv-setup-content .wcv-setup-next-steps .wcv-setup-next-steps-first { float: left; width: 50%; -webkit-box-sizing: border-box; box-sizing: border-box; }
30
+
31
+ .wcv-setup-content .wcv-setup-next-steps .wcv-setup-next-steps-last { float: right; width: 50%; -webkit-box-sizing: border-box; box-sizing: border-box; }
32
+
33
+ .wcv-setup-content .wcv-setup-next-steps ul { padding: 0 2em 0 0; list-style: none outside; margin: 0; }
34
+
35
+ .wcv-setup-content .wcv-setup-next-steps ul li a { display: block; padding: 0 0 0.75em; }
36
+
37
+ .wcv-setup-content .wcv-setup-next-steps ul .setup-product a.button { background-color: #f7f7f7; border-color: #ccc; color: #23282d; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #ccc; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #ccc; text-shadow: 1px 0 1px #eee, 0 1px 1px #eee; font-size: 1em; height: auto; line-height: 1.75em; margin: 0 0 0.75em; opacity: 1; padding: 1em; text-align: center; }
38
+
39
+ .wcv-setup-content .wcv-setup-next-steps ul .setup-product a.button:hover, .wcv-setup-content .wcv-setup-next-steps ul .setup-product a.button:focus, .wcv-setup-content .wcv-setup-next-steps ul .setup-product a.button:active { background: #5897b6; border-color: #aaa; }
40
+
41
+ .wcv-setup-content .wcv-setup-next-steps ul .setup-product a.button-primary { color: #fff; background-color: #bb77ae; border-color: #5897b6; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #5897b6; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #5897b6; text-shadow: 0 -1px 1px #5897b6, 1px 0 1px #5897b6, 0 1px 1px #5897b6, -1px 0 1px #5897b6; }
42
+
43
+ .wcv-setup-content .wcv-setup-next-steps ul .setup-product a.button-primary:hover, .wcv-setup-content .wcv-setup-next-steps ul .setup-product a.button-primary:focus, .wcv-setup-content .wcv-setup-next-steps ul .setup-product a.button-primary:active { color: #fff; background: #5897b6; border-color: #5897b6; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #5897b6; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #5897b6; }
44
+
45
+ .wcv-setup-content .wcv-setup-next-steps ul li a::before { color: #82878c; font: normal 20px/1 'dashicons'; speak: none; display: inline-block; padding: 0 10px 0 0; top: 1px; position: relative; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-decoration: none !important; vertical-align: top; }
46
+
47
+ .wcv-setup-content .wcv-setup-next-steps ul .learn-more a::before { content: '\f105'; }
48
+
49
+ .wcv-setup-content .wcv-setup-next-steps ul .video-walkthrough a::before { content: '\f126'; }
50
+
51
+ .wcv-setup-content .wcv-setup-next-steps ul .newsletter a::before { content: '\f465'; }
52
+
53
+ .wcv-setup-content .wcvendors-newsletter, .wcv-setup-content .wcvendors-tracker, .wcv-setup-content .updated { padding: 24px 24px 0; margin: 0 0 24px; overflow: hidden; background: #f5f5f5; }
54
+
55
+ .wcv-setup-content .wcvendors-newsletter p, .wcv-setup-content .wcvendors-tracker p, .wcv-setup-content .updated p { padding: 0; margin: 0 0 12px; }
56
+
57
+ .wcv-setup-content .wcvendors-newsletter form, .wcv-setup-content .wcvendors-newsletter p:last-child, .wcv-setup-content .wcvendors-tracker form, .wcv-setup-content .wcvendors-tracker p:last-child, .wcv-setup-content .updated form, .wcv-setup-content .updated p:last-child { margin: 0 0 24px; }
58
+
59
+ .wcv-setup-content .wcvendors-tracker + .wcvendors-newsletter { margin-top: -24px; border-top: 2px dashed #ddd; }
60
+
61
+ .wcv-setup-steps { padding: 0 0 24px; margin: 0; list-style: none outside; overflow: hidden; color: #ccc; width: 100%; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; }
62
+
63
+ .wcv-setup-steps li { width: 25%; float: left; padding: 0 0 0.8em; margin: 0; text-align: center; position: relative; border-bottom: 4px solid #ccc; line-height: 1.4em; }
64
+
65
+ .wcv-setup-steps li::before { content: ''; border: 4px solid #ccc; border-radius: 100%; width: 4px; height: 4px; position: absolute; bottom: 0; left: 50%; margin-left: -6px; margin-bottom: -8px; background: #fff; }
66
+
67
+ .wcv-setup-steps li.active { border