Version Description
- Fix Javascript issue
- Update Contact Type
=
Download this release
Release Info
Developer | kcseopro |
Plugin | WP SEO Structured Data Schema |
Version | 2.5.8 |
Comparing to | |
See all releases |
Code changes from version 2.5.7 to 2.5.8
- README.txt +6 -2
- assets/css/admin.css +11 -4
- assets/js/admin.js +5 -13
- assets/vendor/datepicker/jquery.datetimepicker.full.js +0 -2911
- assets/vendor/datepicker/jquery.datetimepicker.full.min.js +0 -1
- assets/vendor/datepicker/jquery.datetimepicker.min.css +0 -1
- assets/vendor/datepicker/jquery.datetimepicker.min.js +0 -1
- languages/wp-seo-structured-data-schema.pot +512 -311
- lib/classes/KcSeoHelper.php +219 -191
- lib/classes/KcSeoInit.php +3 -16
- lib/classes/KcSeoMetaData.php +2 -7
- lib/classes/KcSeoOutput.php +213 -206
- lib/functions/KcSeoOptions.php +124 -36
- lib/views/schema-options.php +3 -3
- wp-seo-structured-data-schema.php +41 -39
README.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: kcseopro
|
|
3 |
Donate link:
|
4 |
Tags: seo, schema, structured data, rich snippets, microdata, json-ld, search engine optimization, local seo, google, sitelinks, schema.org, microformat, serp
|
5 |
Requires at least: 4.5
|
6 |
-
Tested up to: 5.
|
7 |
-
Stable tag: 2.5.
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -114,6 +114,10 @@ You'll find the [FAQ on WPSEMPlugins.com](https://wpsemplugins.com/wordpress-seo
|
|
114 |
|
115 |
== Changelog ==
|
116 |
|
|
|
|
|
|
|
|
|
117 |
== 2.5.7 =
|
118 |
* Add Time for post
|
119 |
* Event Start & End Time
|
3 |
Donate link:
|
4 |
Tags: seo, schema, structured data, rich snippets, microdata, json-ld, search engine optimization, local seo, google, sitelinks, schema.org, microformat, serp
|
5 |
Requires at least: 4.5
|
6 |
+
Tested up to: 5.2
|
7 |
+
Stable tag: 2.5.8
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
114 |
|
115 |
== Changelog ==
|
116 |
|
117 |
+
== 2.5.8 =
|
118 |
+
* Fix Javascript issue
|
119 |
+
* Update Contact Type
|
120 |
+
|
121 |
== 2.5.7 =
|
122 |
* Add Time for post
|
123 |
* Event Start & End Time
|
assets/css/admin.css
CHANGED
@@ -136,7 +136,7 @@
|
|
136 |
}
|
137 |
|
138 |
.rt-tab-container .field-container input.kcseo-date {
|
139 |
-
width:
|
140 |
}
|
141 |
|
142 |
/* tab */
|
@@ -219,9 +219,11 @@ ul.rt-tab-nav li a:focus {
|
|
219 |
border: 1px solid #e7e7e7;
|
220 |
padding: 20px;
|
221 |
}
|
|
|
222 |
.rt-tab-container .rt-tab-content:not(.active) {
|
223 |
display: none;
|
224 |
}
|
|
|
225 |
div#rt-schema-tab-holder:after {
|
226 |
clear: both;
|
227 |
content: ".";
|
@@ -287,30 +289,35 @@ p.description.kco-telephone > span {
|
|
287 |
.field-container .field-label span {
|
288 |
margin-left: 5px;
|
289 |
}
|
|
|
290 |
p.description .required,
|
291 |
.field-container .field-label span.required {
|
292 |
color: red;
|
293 |
}
|
|
|
294 |
.field-container .field-label span.recommended {
|
295 |
color: #721c24;
|
296 |
}
|
|
|
297 |
/* tooltip */
|
298 |
|
299 |
-
[data-kcseo-tooltip]{
|
300 |
position: relative;
|
301 |
}
|
302 |
-
|
|
|
303 |
position: absolute;
|
304 |
left: 50%;
|
305 |
bottom: 100%;
|
306 |
content: attr(data-kcseo-tooltip);
|
307 |
-
background: rgba(0,0,0
|
308 |
color: #fff;
|
309 |
padding: .5em 1em;
|
310 |
border-radius: 7px;
|
311 |
transform: translateX(-50%);
|
312 |
transition: all ease-in-out 250ms;
|
313 |
}
|
|
|
314 |
.schema-holder .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
|
315 |
padding: .5em 0.6em;
|
316 |
font-size: 14px;
|
136 |
}
|
137 |
|
138 |
.rt-tab-container .field-container input.kcseo-date {
|
139 |
+
width: 120px;
|
140 |
}
|
141 |
|
142 |
/* tab */
|
219 |
border: 1px solid #e7e7e7;
|
220 |
padding: 20px;
|
221 |
}
|
222 |
+
|
223 |
.rt-tab-container .rt-tab-content:not(.active) {
|
224 |
display: none;
|
225 |
}
|
226 |
+
|
227 |
div#rt-schema-tab-holder:after {
|
228 |
clear: both;
|
229 |
content: ".";
|
289 |
.field-container .field-label span {
|
290 |
margin-left: 5px;
|
291 |
}
|
292 |
+
|
293 |
p.description .required,
|
294 |
.field-container .field-label span.required {
|
295 |
color: red;
|
296 |
}
|
297 |
+
|
298 |
.field-container .field-label span.recommended {
|
299 |
color: #721c24;
|
300 |
}
|
301 |
+
|
302 |
/* tooltip */
|
303 |
|
304 |
+
[data-kcseo-tooltip] {
|
305 |
position: relative;
|
306 |
}
|
307 |
+
|
308 |
+
[data-kcseo-tooltip]:hover::after {
|
309 |
position: absolute;
|
310 |
left: 50%;
|
311 |
bottom: 100%;
|
312 |
content: attr(data-kcseo-tooltip);
|
313 |
+
background: rgba(0, 0, 0, .8);
|
314 |
color: #fff;
|
315 |
padding: .5em 1em;
|
316 |
border-radius: 7px;
|
317 |
transform: translateX(-50%);
|
318 |
transition: all ease-in-out 250ms;
|
319 |
}
|
320 |
+
|
321 |
.schema-holder .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
|
322 |
padding: .5em 0.6em;
|
323 |
font-size: 14px;
|
assets/js/admin.js
CHANGED
@@ -1,14 +1,6 @@
|
|
1 |
(function ($) {
|
2 |
'use strict';
|
3 |
|
4 |
-
$(function () {
|
5 |
-
if ($.fn.datetimepicker && $(".kcseo-date").length) {
|
6 |
-
$('.kcseo-date').datetimepicker({
|
7 |
-
format: _kcseo.date_format + ' ' + _kcseo.time_format
|
8 |
-
});
|
9 |
-
}
|
10 |
-
});
|
11 |
-
|
12 |
wpSeoShowHideType();
|
13 |
$("#site_type, #_schema_aggregate_rating_schema_type").change(function () {
|
14 |
wpSeoShowHideType();
|
@@ -116,10 +108,10 @@
|
|
116 |
});
|
117 |
|
118 |
function wpSeoShowHideType() {
|
119 |
-
if($('#_schema_aggregate_rating_schema_type').length){
|
120 |
var id = $("#_schema_aggregate_rating_schema_type option:selected").val();
|
121 |
}
|
122 |
-
if($('#site_type').length){
|
123 |
var id = $("#site_type option:selected").val();
|
124 |
}
|
125 |
|
@@ -134,9 +126,9 @@
|
|
134 |
$(".form-table tr.business-info,.form-table tr.all-type-data, .aggregate-except-organization-holder").show();
|
135 |
}
|
136 |
|
137 |
-
if($.inArray(id, ['FoodEstablishment', 'Bakery','BarOrPub','Brewery','CafeOrCoffeeShop','FastFoodRestaurant','IceCreamShop','Restaurant','Winery']) >= 0){
|
138 |
$(".form-table tr.restaurant").show();
|
139 |
-
}else {
|
140 |
$(".form-table tr.restaurant").hide();
|
141 |
}
|
142 |
}
|
@@ -178,7 +170,7 @@
|
|
178 |
function AjaxCall(element, action, arg, handle) {
|
179 |
var data;
|
180 |
if (action) data = "action=" + action;
|
181 |
-
if (arg)
|
182 |
if (arg && !action) data = arg;
|
183 |
data = data;
|
184 |
|
1 |
(function ($) {
|
2 |
'use strict';
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
wpSeoShowHideType();
|
5 |
$("#site_type, #_schema_aggregate_rating_schema_type").change(function () {
|
6 |
wpSeoShowHideType();
|
108 |
});
|
109 |
|
110 |
function wpSeoShowHideType() {
|
111 |
+
if ($('#_schema_aggregate_rating_schema_type').length) {
|
112 |
var id = $("#_schema_aggregate_rating_schema_type option:selected").val();
|
113 |
}
|
114 |
+
if ($('#site_type').length) {
|
115 |
var id = $("#site_type option:selected").val();
|
116 |
}
|
117 |
|
126 |
$(".form-table tr.business-info,.form-table tr.all-type-data, .aggregate-except-organization-holder").show();
|
127 |
}
|
128 |
|
129 |
+
if ($.inArray(id, ['FoodEstablishment', 'Bakery', 'BarOrPub', 'Brewery', 'CafeOrCoffeeShop', 'FastFoodRestaurant', 'IceCreamShop', 'Restaurant', 'Winery']) >= 0) {
|
130 |
$(".form-table tr.restaurant").show();
|
131 |
+
} else {
|
132 |
$(".form-table tr.restaurant").hide();
|
133 |
}
|
134 |
}
|
170 |
function AjaxCall(element, action, arg, handle) {
|
171 |
var data;
|
172 |
if (action) data = "action=" + action;
|
173 |
+
if (arg) data = arg + "&action=" + action;
|
174 |
if (arg && !action) data = arg;
|
175 |
data = data;
|
176 |
|
assets/vendor/datepicker/jquery.datetimepicker.full.js
DELETED
@@ -1,2911 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2016
|
3 |
-
* @version 1.3.4
|
4 |
-
*
|
5 |
-
* Date formatter utility library that allows formatting date/time variables or Date objects using PHP DateTime format.
|
6 |
-
* @see http://php.net/manual/en/function.date.php
|
7 |
-
*
|
8 |
-
* For more JQuery plugins visit http://plugins.krajee.com
|
9 |
-
* For more Yii related demos visit http://demos.krajee.com
|
10 |
-
*/var DateFormatter;!function(){"use strict";var t,e,r,n,a,u,i;u=864e5,i=3600,t=function(t,e){return"string"==typeof t&&"string"==typeof e&&t.toLowerCase()===e.toLowerCase()},e=function(t,r,n){var a=n||"0",u=t.toString();return u.length<r?e(a+u,r):u},r=function(t){var e,n;for(t=t||{},e=1;e<arguments.length;e++)if(n=arguments[e])for(var a in n)n.hasOwnProperty(a)&&("object"==typeof n[a]?r(t[a],n[a]):t[a]=n[a]);return t},n=function(t,e){for(var r=0;r<e.length;r++)if(e[r].toLowerCase()===t.toLowerCase())return r;return-1},a={dateSettings:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridiem:["AM","PM"],ordinal:function(t){var e=t%10,r={1:"st",2:"nd",3:"rd"};return 1!==Math.floor(t%100/10)&&r[e]?r[e]:"th"}},separators:/[ \-+\/\.T:@]/g,validParts:/[dDjlNSwzWFmMntLoYyaABgGhHisueTIOPZcrU]/g,intParts:/[djwNzmnyYhHgGis]/g,tzParts:/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,tzClip:/[^-+\dA-Z]/g},DateFormatter=function(t){var e=this,n=r(a,t);e.dateSettings=n.dateSettings,e.separators=n.separators,e.validParts=n.validParts,e.intParts=n.intParts,e.tzParts=n.tzParts,e.tzClip=n.tzClip},DateFormatter.prototype={constructor:DateFormatter,getMonth:function(t){var e,r=this;return e=n(t,r.dateSettings.monthsShort)+1,0===e&&(e=n(t,r.dateSettings.months)+1),e},parseDate:function(e,r){var n,a,u,i,s,o,c,f,l,h,d=this,g=!1,m=!1,p=d.dateSettings,y={date:null,year:null,month:null,day:null,hour:0,min:0,sec:0};if(!e)return null;if(e instanceof Date)return e;if("U"===r)return u=parseInt(e),u?new Date(1e3*u):e;switch(typeof e){case"number":return new Date(e);case"string":break;default:return null}if(n=r.match(d.validParts),!n||0===n.length)throw new Error("Invalid date format definition.");for(a=e.replace(d.separators,"\x00").split("\x00"),u=0;u<a.length;u++)switch(i=a[u],s=parseInt(i),n[u]){case"y":case"Y":if(!s)return null;l=i.length,y.year=2===l?parseInt((70>s?"20":"19")+i):s,g=!0;break;case"m":case"n":case"M":case"F":if(isNaN(s)){if(o=d.getMonth(i),!(o>0))return null;y.month=o}else{if(!(s>=1&&12>=s))return null;y.month=s}g=!0;break;case"d":case"j":if(!(s>=1&&31>=s))return null;y.day=s,g=!0;break;case"g":case"h":if(c=n.indexOf("a")>-1?n.indexOf("a"):n.indexOf("A")>-1?n.indexOf("A"):-1,h=a[c],c>-1)f=t(h,p.meridiem[0])?0:t(h,p.meridiem[1])?12:-1,s>=1&&12>=s&&f>-1?y.hour=s+f-1:s>=0&&23>=s&&(y.hour=s);else{if(!(s>=0&&23>=s))return null;y.hour=s}m=!0;break;case"G":case"H":if(!(s>=0&&23>=s))return null;y.hour=s,m=!0;break;case"i":if(!(s>=0&&59>=s))return null;y.min=s,m=!0;break;case"s":if(!(s>=0&&59>=s))return null;y.sec=s,m=!0}if(g===!0&&y.year&&y.month&&y.day)y.date=new Date(y.year,y.month-1,y.day,y.hour,y.min,y.sec,0);else{if(m!==!0)return null;y.date=new Date(0,0,0,y.hour,y.min,y.sec,0)}return y.date},guessDate:function(t,e){if("string"!=typeof t)return t;var r,n,a,u,i,s,o=this,c=t.replace(o.separators,"\x00").split("\x00"),f=/^[djmn]/g,l=e.match(o.validParts),h=new Date,d=0;if(!f.test(l[0]))return t;for(a=0;a<c.length;a++){if(d=2,i=c[a],s=parseInt(i.substr(0,2)),isNaN(s))return null;switch(a){case 0:"m"===l[0]||"n"===l[0]?h.setMonth(s-1):h.setDate(s);break;case 1:"m"===l[0]||"n"===l[0]?h.setDate(s):h.setMonth(s-1);break;case 2:if(n=h.getFullYear(),r=i.length,d=4>r?r:4,n=parseInt(4>r?n.toString().substr(0,4-r)+i:i.substr(0,4)),!n)return null;h.setFullYear(n);break;case 3:h.setHours(s);break;case 4:h.setMinutes(s);break;case 5:h.setSeconds(s)}u=i.substr(d),u.length>0&&c.splice(a+1,0,u)}return h},parseFormat:function(t,r){var n,a=this,s=a.dateSettings,o=/\\?(.?)/gi,c=function(t,e){return n[t]?n[t]():e};return n={d:function(){return e(n.j(),2)},D:function(){return s.daysShort[n.w()]},j:function(){return r.getDate()},l:function(){return s.days[n.w()]},N:function(){return n.w()||7},w:function(){return r.getDay()},z:function(){var t=new Date(n.Y(),n.n()-1,n.j()),e=new Date(n.Y(),0,1);return Math.round((t-e)/u)},W:function(){var t=new Date(n.Y(),n.n()-1,n.j()-n.N()+3),r=new Date(t.getFullYear(),0,4);return e(1+Math.round((t-r)/u/7),2)},F:function(){return s.months[r.getMonth()]},m:function(){return e(n.n(),2)},M:function(){return s.monthsShort[r.getMonth()]},n:function(){return r.getMonth()+1},t:function(){return new Date(n.Y(),n.n(),0).getDate()},L:function(){var t=n.Y();return t%4===0&&t%100!==0||t%400===0?1:0},o:function(){var t=n.n(),e=n.W(),r=n.Y();return r+(12===t&&9>e?1:1===t&&e>9?-1:0)},Y:function(){return r.getFullYear()},y:function(){return n.Y().toString().slice(-2)},a:function(){return n.A().toLowerCase()},A:function(){var t=n.G()<12?0:1;return s.meridiem[t]},B:function(){var t=r.getUTCHours()*i,n=60*r.getUTCMinutes(),a=r.getUTCSeconds();return e(Math.floor((t+n+a+i)/86.4)%1e3,3)},g:function(){return n.G()%12||12},G:function(){return r.getHours()},h:function(){return e(n.g(),2)},H:function(){return e(n.G(),2)},i:function(){return e(r.getMinutes(),2)},s:function(){return e(r.getSeconds(),2)},u:function(){return e(1e3*r.getMilliseconds(),6)},e:function(){var t=/\((.*)\)/.exec(String(r))[1];return t||"Coordinated Universal Time"},I:function(){var t=new Date(n.Y(),0),e=Date.UTC(n.Y(),0),r=new Date(n.Y(),6),a=Date.UTC(n.Y(),6);return t-e!==r-a?1:0},O:function(){var t=r.getTimezoneOffset(),n=Math.abs(t);return(t>0?"-":"+")+e(100*Math.floor(n/60)+n%60,4)},P:function(){var t=n.O();return t.substr(0,3)+":"+t.substr(3,2)},T:function(){var t=(String(r).match(a.tzParts)||[""]).pop().replace(a.tzClip,"");return t||"UTC"},Z:function(){return 60*-r.getTimezoneOffset()},c:function(){return"Y-m-d\\TH:i:sP".replace(o,c)},r:function(){return"D, d M Y H:i:s O".replace(o,c)},U:function(){return r.getTime()/1e3||0}},c(t,t)},formatDate:function(t,e){var r,n,a,u,i,s=this,o="",c="\\";if("string"==typeof t&&(t=s.parseDate(t,e),!t))return null;if(t instanceof Date){for(a=e.length,r=0;a>r;r++)i=e.charAt(r),"S"!==i&&i!==c&&(r>0&&e.charAt(r-1)===c?o+=i:(u=s.parseFormat(i,t),r!==a-1&&s.intParts.test(i)&&"S"===e.charAt(r+1)&&(n=parseInt(u)||0,u+=s.dateSettings.ordinal(n)),o+=u));return o}return""}}}();/**
|
11 |
-
* @preserve jQuery DateTimePicker
|
12 |
-
* @homepage http://xdsoft.net/jqplugins/datetimepicker/
|
13 |
-
* @author Chupurnov Valeriy (<chupurnov@gmail.com>)
|
14 |
-
*/
|
15 |
-
|
16 |
-
/**
|
17 |
-
* @param {jQuery} $
|
18 |
-
*/
|
19 |
-
var datetimepickerFactory = function ($) {
|
20 |
-
'use strict';
|
21 |
-
|
22 |
-
var default_options = {
|
23 |
-
i18n: {
|
24 |
-
ar: { // Arabic
|
25 |
-
months: [
|
26 |
-
"كانون الثاني", "شباط", "آذار", "نيسان", "مايو", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"
|
27 |
-
],
|
28 |
-
dayOfWeekShort: [
|
29 |
-
"ن", "ث", "ع", "خ", "ج", "س", "ح"
|
30 |
-
],
|
31 |
-
dayOfWeek: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"]
|
32 |
-
},
|
33 |
-
ro: { // Romanian
|
34 |
-
months: [
|
35 |
-
"Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"
|
36 |
-
],
|
37 |
-
dayOfWeekShort: [
|
38 |
-
"Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ"
|
39 |
-
],
|
40 |
-
dayOfWeek: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă"]
|
41 |
-
},
|
42 |
-
id: { // Indonesian
|
43 |
-
months: [
|
44 |
-
"Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"
|
45 |
-
],
|
46 |
-
dayOfWeekShort: [
|
47 |
-
"Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"
|
48 |
-
],
|
49 |
-
dayOfWeek: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"]
|
50 |
-
},
|
51 |
-
is: { // Icelandic
|
52 |
-
months: [
|
53 |
-
"Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"
|
54 |
-
],
|
55 |
-
dayOfWeekShort: [
|
56 |
-
"Sun", "Mán", "Þrið", "Mið", "Fim", "Fös", "Lau"
|
57 |
-
],
|
58 |
-
dayOfWeek: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur"]
|
59 |
-
},
|
60 |
-
bg: { // Bulgarian
|
61 |
-
months: [
|
62 |
-
"Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"
|
63 |
-
],
|
64 |
-
dayOfWeekShort: [
|
65 |
-
"Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"
|
66 |
-
],
|
67 |
-
dayOfWeek: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота"]
|
68 |
-
},
|
69 |
-
fa: { // Persian/Farsi
|
70 |
-
months: [
|
71 |
-
'فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'
|
72 |
-
],
|
73 |
-
dayOfWeekShort: [
|
74 |
-
'یکشنبه', 'دوشنبه', 'سه شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'
|
75 |
-
],
|
76 |
-
dayOfWeek: ["یکشنبه", "دوشنبه", "سهشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه", "یکشنبه"]
|
77 |
-
},
|
78 |
-
ru: { // Russian
|
79 |
-
months: [
|
80 |
-
'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'
|
81 |
-
],
|
82 |
-
dayOfWeekShort: [
|
83 |
-
"Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"
|
84 |
-
],
|
85 |
-
dayOfWeek: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"]
|
86 |
-
},
|
87 |
-
uk: { // Ukrainian
|
88 |
-
months: [
|
89 |
-
'Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень'
|
90 |
-
],
|
91 |
-
dayOfWeekShort: [
|
92 |
-
"Ндл", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Сбт"
|
93 |
-
],
|
94 |
-
dayOfWeek: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"]
|
95 |
-
},
|
96 |
-
en: { // English
|
97 |
-
months: [
|
98 |
-
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
|
99 |
-
],
|
100 |
-
dayOfWeekShort: [
|
101 |
-
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
|
102 |
-
],
|
103 |
-
dayOfWeek: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
|
104 |
-
},
|
105 |
-
el: { // Ελληνικά
|
106 |
-
months: [
|
107 |
-
"Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"
|
108 |
-
],
|
109 |
-
dayOfWeekShort: [
|
110 |
-
"Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ"
|
111 |
-
],
|
112 |
-
dayOfWeek: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"]
|
113 |
-
},
|
114 |
-
de: { // German
|
115 |
-
months: [
|
116 |
-
'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'
|
117 |
-
],
|
118 |
-
dayOfWeekShort: [
|
119 |
-
"So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"
|
120 |
-
],
|
121 |
-
dayOfWeek: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"]
|
122 |
-
},
|
123 |
-
nl: { // Dutch
|
124 |
-
months: [
|
125 |
-
"januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"
|
126 |
-
],
|
127 |
-
dayOfWeekShort: [
|
128 |
-
"zo", "ma", "di", "wo", "do", "vr", "za"
|
129 |
-
],
|
130 |
-
dayOfWeek: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"]
|
131 |
-
},
|
132 |
-
tr: { // Turkish
|
133 |
-
months: [
|
134 |
-
"Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"
|
135 |
-
],
|
136 |
-
dayOfWeekShort: [
|
137 |
-
"Paz", "Pts", "Sal", "Çar", "Per", "Cum", "Cts"
|
138 |
-
],
|
139 |
-
dayOfWeek: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"]
|
140 |
-
},
|
141 |
-
fr: { //French
|
142 |
-
months: [
|
143 |
-
"Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"
|
144 |
-
],
|
145 |
-
dayOfWeekShort: [
|
146 |
-
"Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"
|
147 |
-
],
|
148 |
-
dayOfWeek: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"]
|
149 |
-
},
|
150 |
-
es: { // Spanish
|
151 |
-
months: [
|
152 |
-
"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"
|
153 |
-
],
|
154 |
-
dayOfWeekShort: [
|
155 |
-
"Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"
|
156 |
-
],
|
157 |
-
dayOfWeek: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"]
|
158 |
-
},
|
159 |
-
th: { // Thai
|
160 |
-
months: [
|
161 |
-
'มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม'
|
162 |
-
],
|
163 |
-
dayOfWeekShort: [
|
164 |
-
'อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'
|
165 |
-
],
|
166 |
-
dayOfWeek: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"]
|
167 |
-
},
|
168 |
-
pl: { // Polish
|
169 |
-
months: [
|
170 |
-
"styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień"
|
171 |
-
],
|
172 |
-
dayOfWeekShort: [
|
173 |
-
"nd", "pn", "wt", "śr", "cz", "pt", "sb"
|
174 |
-
],
|
175 |
-
dayOfWeek: ["niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota"]
|
176 |
-
},
|
177 |
-
pt: { // Portuguese
|
178 |
-
months: [
|
179 |
-
"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"
|
180 |
-
],
|
181 |
-
dayOfWeekShort: [
|
182 |
-
"Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"
|
183 |
-
],
|
184 |
-
dayOfWeek: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"]
|
185 |
-
},
|
186 |
-
ch: { // Simplified Chinese
|
187 |
-
months: [
|
188 |
-
"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"
|
189 |
-
],
|
190 |
-
dayOfWeekShort: [
|
191 |
-
"日", "一", "二", "三", "四", "五", "六"
|
192 |
-
]
|
193 |
-
},
|
194 |
-
se: { // Swedish
|
195 |
-
months: [
|
196 |
-
"Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"
|
197 |
-
],
|
198 |
-
dayOfWeekShort: [
|
199 |
-
"Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"
|
200 |
-
]
|
201 |
-
},
|
202 |
-
km: { // Khmer (ភាសាខ្មែរ)
|
203 |
-
months: [
|
204 |
-
"មករា", "កុម្ភៈ", "មិនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"
|
205 |
-
],
|
206 |
-
dayOfWeekShort: ["អាទិ", "ច័ន្ទ", "អង្គារ", "ពុធ", "ព្រហ", "សុក្រ", "សៅរ៍"],
|
207 |
-
dayOfWeek: ["អាទិត្យ", "ច័ន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍"]
|
208 |
-
},
|
209 |
-
kr: { // Korean
|
210 |
-
months: [
|
211 |
-
"1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"
|
212 |
-
],
|
213 |
-
dayOfWeekShort: [
|
214 |
-
"일", "월", "화", "수", "목", "금", "토"
|
215 |
-
],
|
216 |
-
dayOfWeek: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"]
|
217 |
-
},
|
218 |
-
it: { // Italian
|
219 |
-
months: [
|
220 |
-
"Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"
|
221 |
-
],
|
222 |
-
dayOfWeekShort: [
|
223 |
-
"Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"
|
224 |
-
],
|
225 |
-
dayOfWeek: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"]
|
226 |
-
},
|
227 |
-
da: { // Dansk
|
228 |
-
months: [
|
229 |
-
"Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"
|
230 |
-
],
|
231 |
-
dayOfWeekShort: [
|
232 |
-
"Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"
|
233 |
-
],
|
234 |
-
dayOfWeek: ["søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"]
|
235 |
-
},
|
236 |
-
no: { // Norwegian
|
237 |
-
months: [
|
238 |
-
"Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"
|
239 |
-
],
|
240 |
-
dayOfWeekShort: [
|
241 |
-
"Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"
|
242 |
-
],
|
243 |
-
dayOfWeek: ['Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag']
|
244 |
-
},
|
245 |
-
ja: { // Japanese
|
246 |
-
months: [
|
247 |
-
"1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"
|
248 |
-
],
|
249 |
-
dayOfWeekShort: [
|
250 |
-
"日", "月", "火", "水", "木", "金", "土"
|
251 |
-
],
|
252 |
-
dayOfWeek: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜"]
|
253 |
-
},
|
254 |
-
vi: { // Vietnamese
|
255 |
-
months: [
|
256 |
-
"Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"
|
257 |
-
],
|
258 |
-
dayOfWeekShort: [
|
259 |
-
"CN", "T2", "T3", "T4", "T5", "T6", "T7"
|
260 |
-
],
|
261 |
-
dayOfWeek: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy"]
|
262 |
-
},
|
263 |
-
sl: { // Slovenščina
|
264 |
-
months: [
|
265 |
-
"Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"
|
266 |
-
],
|
267 |
-
dayOfWeekShort: [
|
268 |
-
"Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob"
|
269 |
-
],
|
270 |
-
dayOfWeek: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"]
|
271 |
-
},
|
272 |
-
cs: { // Čeština
|
273 |
-
months: [
|
274 |
-
"Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"
|
275 |
-
],
|
276 |
-
dayOfWeekShort: [
|
277 |
-
"Ne", "Po", "Út", "St", "Čt", "Pá", "So"
|
278 |
-
]
|
279 |
-
},
|
280 |
-
hu: { // Hungarian
|
281 |
-
months: [
|
282 |
-
"Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"
|
283 |
-
],
|
284 |
-
dayOfWeekShort: [
|
285 |
-
"Va", "Hé", "Ke", "Sze", "Cs", "Pé", "Szo"
|
286 |
-
],
|
287 |
-
dayOfWeek: ["vasárnap", "hétfő", "kedd", "szerda", "csütörtök", "péntek", "szombat"]
|
288 |
-
},
|
289 |
-
az: { //Azerbaijanian (Azeri)
|
290 |
-
months: [
|
291 |
-
"Yanvar", "Fevral", "Mart", "Aprel", "May", "Iyun", "Iyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"
|
292 |
-
],
|
293 |
-
dayOfWeekShort: [
|
294 |
-
"B", "Be", "Ça", "Ç", "Ca", "C", "Ş"
|
295 |
-
],
|
296 |
-
dayOfWeek: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə"]
|
297 |
-
},
|
298 |
-
bs: { //Bosanski
|
299 |
-
months: [
|
300 |
-
"Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"
|
301 |
-
],
|
302 |
-
dayOfWeekShort: [
|
303 |
-
"Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"
|
304 |
-
],
|
305 |
-
dayOfWeek: ["Nedjelja","Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"]
|
306 |
-
},
|
307 |
-
ca: { //Català
|
308 |
-
months: [
|
309 |
-
"Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"
|
310 |
-
],
|
311 |
-
dayOfWeekShort: [
|
312 |
-
"Dg", "Dl", "Dt", "Dc", "Dj", "Dv", "Ds"
|
313 |
-
],
|
314 |
-
dayOfWeek: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"]
|
315 |
-
},
|
316 |
-
'en-GB': { //English (British)
|
317 |
-
months: [
|
318 |
-
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
|
319 |
-
],
|
320 |
-
dayOfWeekShort: [
|
321 |
-
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
|
322 |
-
],
|
323 |
-
dayOfWeek: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
|
324 |
-
},
|
325 |
-
et: { //"Eesti"
|
326 |
-
months: [
|
327 |
-
"Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"
|
328 |
-
],
|
329 |
-
dayOfWeekShort: [
|
330 |
-
"P", "E", "T", "K", "N", "R", "L"
|
331 |
-
],
|
332 |
-
dayOfWeek: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev"]
|
333 |
-
},
|
334 |
-
eu: { //Euskara
|
335 |
-
months: [
|
336 |
-
"Urtarrila", "Otsaila", "Martxoa", "Apirila", "Maiatza", "Ekaina", "Uztaila", "Abuztua", "Iraila", "Urria", "Azaroa", "Abendua"
|
337 |
-
],
|
338 |
-
dayOfWeekShort: [
|
339 |
-
"Ig.", "Al.", "Ar.", "Az.", "Og.", "Or.", "La."
|
340 |
-
],
|
341 |
-
dayOfWeek: ['Igandea', 'Astelehena', 'Asteartea', 'Asteazkena', 'Osteguna', 'Ostirala', 'Larunbata']
|
342 |
-
},
|
343 |
-
fi: { //Finnish (Suomi)
|
344 |
-
months: [
|
345 |
-
"Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"
|
346 |
-
],
|
347 |
-
dayOfWeekShort: [
|
348 |
-
"Su", "Ma", "Ti", "Ke", "To", "Pe", "La"
|
349 |
-
],
|
350 |
-
dayOfWeek: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai"]
|
351 |
-
},
|
352 |
-
gl: { //Galego
|
353 |
-
months: [
|
354 |
-
"Xan", "Feb", "Maz", "Abr", "Mai", "Xun", "Xul", "Ago", "Set", "Out", "Nov", "Dec"
|
355 |
-
],
|
356 |
-
dayOfWeekShort: [
|
357 |
-
"Dom", "Lun", "Mar", "Mer", "Xov", "Ven", "Sab"
|
358 |
-
],
|
359 |
-
dayOfWeek: ["Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado"]
|
360 |
-
},
|
361 |
-
hr: { //Hrvatski
|
362 |
-
months: [
|
363 |
-
"Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"
|
364 |
-
],
|
365 |
-
dayOfWeekShort: [
|
366 |
-
"Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"
|
367 |
-
],
|
368 |
-
dayOfWeek: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"]
|
369 |
-
},
|
370 |
-
ko: { //Korean (한국어)
|
371 |
-
months: [
|
372 |
-
"1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"
|
373 |
-
],
|
374 |
-
dayOfWeekShort: [
|
375 |
-
"일", "월", "화", "수", "목", "금", "토"
|
376 |
-
],
|
377 |
-
dayOfWeek: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"]
|
378 |
-
},
|
379 |
-
lt: { //Lithuanian (lietuvių)
|
380 |
-
months: [
|
381 |
-
"Sausio", "Vasario", "Kovo", "Balandžio", "Gegužės", "Birželio", "Liepos", "Rugpjūčio", "Rugsėjo", "Spalio", "Lapkričio", "Gruodžio"
|
382 |
-
],
|
383 |
-
dayOfWeekShort: [
|
384 |
-
"Sek", "Pir", "Ant", "Tre", "Ket", "Pen", "Šeš"
|
385 |
-
],
|
386 |
-
dayOfWeek: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis"]
|
387 |
-
},
|
388 |
-
lv: { //Latvian (Latviešu)
|
389 |
-
months: [
|
390 |
-
"Janvāris", "Februāris", "Marts", "Aprīlis ", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"
|
391 |
-
],
|
392 |
-
dayOfWeekShort: [
|
393 |
-
"Sv", "Pr", "Ot", "Tr", "Ct", "Pk", "St"
|
394 |
-
],
|
395 |
-
dayOfWeek: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena"]
|
396 |
-
},
|
397 |
-
mk: { //Macedonian (Македонски)
|
398 |
-
months: [
|
399 |
-
"јануари", "февруари", "март", "април", "мај", "јуни", "јули", "август", "септември", "октомври", "ноември", "декември"
|
400 |
-
],
|
401 |
-
dayOfWeekShort: [
|
402 |
-
"нед", "пон", "вто", "сре", "чет", "пет", "саб"
|
403 |
-
],
|
404 |
-
dayOfWeek: ["Недела", "Понеделник", "Вторник", "Среда", "Четврток", "Петок", "Сабота"]
|
405 |
-
},
|
406 |
-
mn: { //Mongolian (Монгол)
|
407 |
-
months: [
|
408 |
-
"1-р сар", "2-р сар", "3-р сар", "4-р сар", "5-р сар", "6-р сар", "7-р сар", "8-р сар", "9-р сар", "10-р сар", "11-р сар", "12-р сар"
|
409 |
-
],
|
410 |
-
dayOfWeekShort: [
|
411 |
-
"Дав", "Мяг", "Лха", "Пүр", "Бсн", "Бям", "Ням"
|
412 |
-
],
|
413 |
-
dayOfWeek: ["Даваа", "Мягмар", "Лхагва", "Пүрэв", "Баасан", "Бямба", "Ням"]
|
414 |
-
},
|
415 |
-
'pt-BR': { //Português(Brasil)
|
416 |
-
months: [
|
417 |
-
"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"
|
418 |
-
],
|
419 |
-
dayOfWeekShort: [
|
420 |
-
"Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"
|
421 |
-
],
|
422 |
-
dayOfWeek: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"]
|
423 |
-
},
|
424 |
-
sk: { //Slovenčina
|
425 |
-
months: [
|
426 |
-
"Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"
|
427 |
-
],
|
428 |
-
dayOfWeekShort: [
|
429 |
-
"Ne", "Po", "Ut", "St", "Št", "Pi", "So"
|
430 |
-
],
|
431 |
-
dayOfWeek: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"]
|
432 |
-
},
|
433 |
-
sq: { //Albanian (Shqip)
|
434 |
-
months: [
|
435 |
-
"Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"
|
436 |
-
],
|
437 |
-
dayOfWeekShort: [
|
438 |
-
"Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Shtu"
|
439 |
-
],
|
440 |
-
dayOfWeek: ["E Diel", "E Hënë", "E Martē", "E Mërkurë", "E Enjte", "E Premte", "E Shtunë"]
|
441 |
-
},
|
442 |
-
'sr-YU': { //Serbian (Srpski)
|
443 |
-
months: [
|
444 |
-
"Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"
|
445 |
-
],
|
446 |
-
dayOfWeekShort: [
|
447 |
-
"Ned", "Pon", "Uto", "Sre", "čet", "Pet", "Sub"
|
448 |
-
],
|
449 |
-
dayOfWeek: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota"]
|
450 |
-
},
|
451 |
-
sr: { //Serbian Cyrillic (Српски)
|
452 |
-
months: [
|
453 |
-
"јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар"
|
454 |
-
],
|
455 |
-
dayOfWeekShort: [
|
456 |
-
"нед", "пон", "уто", "сре", "чет", "пет", "суб"
|
457 |
-
],
|
458 |
-
dayOfWeek: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота"]
|
459 |
-
},
|
460 |
-
sv: { //Svenska
|
461 |
-
months: [
|
462 |
-
"Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"
|
463 |
-
],
|
464 |
-
dayOfWeekShort: [
|
465 |
-
"Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"
|
466 |
-
],
|
467 |
-
dayOfWeek: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"]
|
468 |
-
},
|
469 |
-
'zh-TW': { //Traditional Chinese (繁體中文)
|
470 |
-
months: [
|
471 |
-
"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"
|
472 |
-
],
|
473 |
-
dayOfWeekShort: [
|
474 |
-
"日", "一", "二", "三", "四", "五", "六"
|
475 |
-
],
|
476 |
-
dayOfWeek: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]
|
477 |
-
},
|
478 |
-
zh: { //Simplified Chinese (简体中文)
|
479 |
-
months: [
|
480 |
-
"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"
|
481 |
-
],
|
482 |
-
dayOfWeekShort: [
|
483 |
-
"日", "一", "二", "三", "四", "五", "六"
|
484 |
-
],
|
485 |
-
dayOfWeek: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]
|
486 |
-
},
|
487 |
-
ug:{ // Uyghur(ئۇيغۇرچە)
|
488 |
-
months: [
|
489 |
-
"1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي"
|
490 |
-
],
|
491 |
-
dayOfWeek: [
|
492 |
-
"يەكشەنبە", "دۈشەنبە","سەيشەنبە","چارشەنبە","پەيشەنبە","جۈمە","شەنبە"
|
493 |
-
]
|
494 |
-
},
|
495 |
-
he: { //Hebrew (עברית)
|
496 |
-
months: [
|
497 |
-
'ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'
|
498 |
-
],
|
499 |
-
dayOfWeekShort: [
|
500 |
-
'א\'', 'ב\'', 'ג\'', 'ד\'', 'ה\'', 'ו\'', 'שבת'
|
501 |
-
],
|
502 |
-
dayOfWeek: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"]
|
503 |
-
},
|
504 |
-
hy: { // Armenian
|
505 |
-
months: [
|
506 |
-
"Հունվար", "Փետրվար", "Մարտ", "Ապրիլ", "Մայիս", "Հունիս", "Հուլիս", "Օգոստոս", "Սեպտեմբեր", "Հոկտեմբեր", "Նոյեմբեր", "Դեկտեմբեր"
|
507 |
-
],
|
508 |
-
dayOfWeekShort: [
|
509 |
-
"Կի", "Երկ", "Երք", "Չոր", "Հնգ", "Ուրբ", "Շբթ"
|
510 |
-
],
|
511 |
-
dayOfWeek: ["Կիրակի", "Երկուշաբթի", "Երեքշաբթի", "Չորեքշաբթի", "Հինգշաբթի", "Ուրբաթ", "Շաբաթ"]
|
512 |
-
},
|
513 |
-
kg: { // Kyrgyz
|
514 |
-
months: [
|
515 |
-
'Үчтүн айы', 'Бирдин айы', 'Жалган Куран', 'Чын Куран', 'Бугу', 'Кулжа', 'Теке', 'Баш Оона', 'Аяк Оона', 'Тогуздун айы', 'Жетинин айы', 'Бештин айы'
|
516 |
-
],
|
517 |
-
dayOfWeekShort: [
|
518 |
-
"Жек", "Дүй", "Шей", "Шар", "Бей", "Жум", "Ише"
|
519 |
-
],
|
520 |
-
dayOfWeek: [
|
521 |
-
"Жекшемб", "Дүйшөмб", "Шейшемб", "Шаршемб", "Бейшемби", "Жума", "Ишенб"
|
522 |
-
]
|
523 |
-
},
|
524 |
-
rm: { // Romansh
|
525 |
-
months: [
|
526 |
-
"Schaner", "Favrer", "Mars", "Avrigl", "Matg", "Zercladur", "Fanadur", "Avust", "Settember", "October", "November", "December"
|
527 |
-
],
|
528 |
-
dayOfWeekShort: [
|
529 |
-
"Du", "Gli", "Ma", "Me", "Gie", "Ve", "So"
|
530 |
-
],
|
531 |
-
dayOfWeek: [
|
532 |
-
"Dumengia", "Glindesdi", "Mardi", "Mesemna", "Gievgia", "Venderdi", "Sonda"
|
533 |
-
]
|
534 |
-
},
|
535 |
-
ka: { // Georgian
|
536 |
-
months: [
|
537 |
-
'იანვარი', 'თებერვალი', 'მარტი', 'აპრილი', 'მაისი', 'ივნისი', 'ივლისი', 'აგვისტო', 'სექტემბერი', 'ოქტომბერი', 'ნოემბერი', 'დეკემბერი'
|
538 |
-
],
|
539 |
-
dayOfWeekShort: [
|
540 |
-
"კვ", "ორშ", "სამშ", "ოთხ", "ხუთ", "პარ", "შაბ"
|
541 |
-
],
|
542 |
-
dayOfWeek: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი"]
|
543 |
-
}
|
544 |
-
},
|
545 |
-
|
546 |
-
ownerDocument: document,
|
547 |
-
contentWindow: window,
|
548 |
-
|
549 |
-
value: '',
|
550 |
-
rtl: false,
|
551 |
-
|
552 |
-
format: 'Y/m/d H:i',
|
553 |
-
formatTime: 'H:i',
|
554 |
-
formatDate: 'Y/m/d',
|
555 |
-
|
556 |
-
startDate: false, // new Date(), '1986/12/08', '-1970/01/05','-1970/01/05',
|
557 |
-
step: 60,
|
558 |
-
monthChangeSpinner: true,
|
559 |
-
|
560 |
-
closeOnDateSelect: false,
|
561 |
-
closeOnTimeSelect: true,
|
562 |
-
closeOnWithoutClick: true,
|
563 |
-
closeOnInputClick: true,
|
564 |
-
openOnFocus: true,
|
565 |
-
|
566 |
-
timepicker: true,
|
567 |
-
datepicker: true,
|
568 |
-
weeks: false,
|
569 |
-
|
570 |
-
defaultTime: false, // use formatTime format (ex. '10:00' for formatTime: 'H:i')
|
571 |
-
defaultDate: false, // use formatDate format (ex new Date() or '1986/12/08' or '-1970/01/05' or '-1970/01/05')
|
572 |
-
|
573 |
-
minDate: false,
|
574 |
-
maxDate: false,
|
575 |
-
minTime: false,
|
576 |
-
maxTime: false,
|
577 |
-
minDateTime: false,
|
578 |
-
maxDateTime: false,
|
579 |
-
|
580 |
-
allowTimes: [],
|
581 |
-
opened: false,
|
582 |
-
initTime: true,
|
583 |
-
inline: false,
|
584 |
-
theme: '',
|
585 |
-
touchMovedThreshold: 5,
|
586 |
-
|
587 |
-
onSelectDate: function () {},
|
588 |
-
onSelectTime: function () {},
|
589 |
-
onChangeMonth: function () {},
|
590 |
-
onGetWeekOfYear: function () {},
|
591 |
-
onChangeYear: function () {},
|
592 |
-
onChangeDateTime: function () {},
|
593 |
-
onShow: function () {},
|
594 |
-
onClose: function () {},
|
595 |
-
onGenerate: function () {},
|
596 |
-
|
597 |
-
withoutCopyright: true,
|
598 |
-
inverseButton: false,
|
599 |
-
hours12: false,
|
600 |
-
next: 'xdsoft_next',
|
601 |
-
prev : 'xdsoft_prev',
|
602 |
-
dayOfWeekStart: 0,
|
603 |
-
parentID: 'body',
|
604 |
-
timeHeightInTimePicker: 25,
|
605 |
-
timepickerScrollbar: true,
|
606 |
-
todayButton: true,
|
607 |
-
prevButton: true,
|
608 |
-
nextButton: true,
|
609 |
-
defaultSelect: true,
|
610 |
-
|
611 |
-
scrollMonth: true,
|
612 |
-
scrollTime: true,
|
613 |
-
scrollInput: true,
|
614 |
-
|
615 |
-
lazyInit: false,
|
616 |
-
mask: false,
|
617 |
-
validateOnBlur: true,
|
618 |
-
allowBlank: true,
|
619 |
-
yearStart: 1950,
|
620 |
-
yearEnd: 2050,
|
621 |
-
monthStart: 0,
|
622 |
-
monthEnd: 11,
|
623 |
-
style: '',
|
624 |
-
id: '',
|
625 |
-
fixed: false,
|
626 |
-
roundTime: 'round', // ceil, floor
|
627 |
-
className: '',
|
628 |
-
weekends: [],
|
629 |
-
highlightedDates: [],
|
630 |
-
highlightedPeriods: [],
|
631 |
-
allowDates : [],
|
632 |
-
allowDateRe : null,
|
633 |
-
disabledDates : [],
|
634 |
-
disabledWeekDays: [],
|
635 |
-
yearOffset: 0,
|
636 |
-
beforeShowDay: null,
|
637 |
-
|
638 |
-
enterLikeTab: true,
|
639 |
-
showApplyButton: false,
|
640 |
-
insideParent: false,
|
641 |
-
};
|
642 |
-
|
643 |
-
var dateHelper = null,
|
644 |
-
defaultDateHelper = null,
|
645 |
-
globalLocaleDefault = 'en',
|
646 |
-
globalLocale = 'en';
|
647 |
-
|
648 |
-
var dateFormatterOptionsDefault = {
|
649 |
-
meridiem: ['AM', 'PM']
|
650 |
-
};
|
651 |
-
|
652 |
-
var initDateFormatter = function(){
|
653 |
-
var locale = default_options.i18n[globalLocale],
|
654 |
-
opts = {
|
655 |
-
days: locale.dayOfWeek,
|
656 |
-
daysShort: locale.dayOfWeekShort,
|
657 |
-
months: locale.months,
|
658 |
-
monthsShort: $.map(locale.months, function(n){ return n.substring(0, 3) })
|
659 |
-
};
|
660 |
-
|
661 |
-
if (typeof DateFormatter === 'function') {
|
662 |
-
dateHelper = defaultDateHelper = new DateFormatter({
|
663 |
-
dateSettings: $.extend({}, dateFormatterOptionsDefault, opts)
|
664 |
-
});
|
665 |
-
}
|
666 |
-
};
|
667 |
-
|
668 |
-
var dateFormatters = {
|
669 |
-
moment: {
|
670 |
-
default_options:{
|
671 |
-
format: 'YYYY/MM/DD HH:mm',
|
672 |
-
formatDate: 'YYYY/MM/DD',
|
673 |
-
formatTime: 'HH:mm',
|
674 |
-
},
|
675 |
-
formatter: {
|
676 |
-
parseDate: function (date, format) {
|
677 |
-
if(isFormatStandard(format)){
|
678 |
-
return defaultDateHelper.parseDate(date, format);
|
679 |
-
}
|
680 |
-
var d = moment(date, format);
|
681 |
-
return d.isValid() ? d.toDate() : false;
|
682 |
-
},
|
683 |
-
|
684 |
-
formatDate: function (date, format) {
|
685 |
-
if(isFormatStandard(format)){
|
686 |
-
return defaultDateHelper.formatDate(date, format);
|
687 |
-
}
|
688 |
-
return moment(date).format(format);
|
689 |
-
},
|
690 |
-
|
691 |
-
formatMask: function(format){
|
692 |
-
return format
|
693 |
-
.replace(/Y{4}/g, '9999')
|
694 |
-
.replace(/Y{2}/g, '99')
|
695 |
-
.replace(/M{2}/g, '19')
|
696 |
-
.replace(/D{2}/g, '39')
|
697 |
-
.replace(/H{2}/g, '29')
|
698 |
-
.replace(/m{2}/g, '59')
|
699 |
-
.replace(/s{2}/g, '59');
|
700 |
-
},
|
701 |
-
}
|
702 |
-
}
|
703 |
-
}
|
704 |
-
|
705 |
-
// for locale settings
|
706 |
-
$.datetimepicker = {
|
707 |
-
setLocale: function(locale){
|
708 |
-
var newLocale = default_options.i18n[locale] ? locale : globalLocaleDefault;
|
709 |
-
if (globalLocale !== newLocale) {
|
710 |
-
globalLocale = newLocale;
|
711 |
-
// reinit date formatter
|
712 |
-
initDateFormatter();
|
713 |
-
}
|
714 |
-
},
|
715 |
-
|
716 |
-
setDateFormatter: function(dateFormatter) {
|
717 |
-
if(typeof dateFormatter === 'string' && dateFormatters.hasOwnProperty(dateFormatter)){
|
718 |
-
var df = dateFormatters[dateFormatter];
|
719 |
-
$.extend(default_options, df.default_options);
|
720 |
-
dateHelper = df.formatter;
|
721 |
-
}
|
722 |
-
else {
|
723 |
-
dateHelper = dateFormatter;
|
724 |
-
}
|
725 |
-
},
|
726 |
-
};
|
727 |
-
|
728 |
-
var standardFormats = {
|
729 |
-
RFC_2822: 'D, d M Y H:i:s O',
|
730 |
-
ATOM: 'Y-m-d\TH:i:sP',
|
731 |
-
ISO_8601: 'Y-m-d\TH:i:sO',
|
732 |
-
RFC_822: 'D, d M y H:i:s O',
|
733 |
-
RFC_850: 'l, d-M-y H:i:s T',
|
734 |
-
RFC_1036: 'D, d M y H:i:s O',
|
735 |
-
RFC_1123: 'D, d M Y H:i:s O',
|
736 |
-
RSS: 'D, d M Y H:i:s O',
|
737 |
-
W3C: 'Y-m-d\TH:i:sP'
|
738 |
-
}
|
739 |
-
|
740 |
-
var isFormatStandard = function(format){
|
741 |
-
return Object.values(standardFormats).indexOf(format) === -1 ? false : true;
|
742 |
-
}
|
743 |
-
|
744 |
-
$.extend($.datetimepicker, standardFormats);
|
745 |
-
|
746 |
-
// first init date formatter
|
747 |
-
initDateFormatter();
|
748 |
-
|
749 |
-
// fix for ie8
|
750 |
-
if (!window.getComputedStyle) {
|
751 |
-
window.getComputedStyle = function (el) {
|
752 |
-
this.el = el;
|
753 |
-
this.getPropertyValue = function (prop) {
|
754 |
-
var re = /(-([a-z]))/g;
|
755 |
-
if (prop === 'float') {
|
756 |
-
prop = 'styleFloat';
|
757 |
-
}
|
758 |
-
if (re.test(prop)) {
|
759 |
-
prop = prop.replace(re, function (a, b, c) {
|
760 |
-
return c.toUpperCase();
|
761 |
-
});
|
762 |
-
}
|
763 |
-
return el.currentStyle[prop] || null;
|
764 |
-
};
|
765 |
-
return this;
|
766 |
-
};
|
767 |
-
}
|
768 |
-
if (!Array.prototype.indexOf) {
|
769 |
-
Array.prototype.indexOf = function (obj, start) {
|
770 |
-
var i, j;
|
771 |
-
for (i = (start || 0), j = this.length; i < j; i += 1) {
|
772 |
-
if (this[i] === obj) { return i; }
|
773 |
-
}
|
774 |
-
return -1;
|
775 |
-
};
|
776 |
-
}
|
777 |
-
|
778 |
-
Date.prototype.countDaysInMonth = function () {
|
779 |
-
return new Date(this.getFullYear(), this.getMonth() + 1, 0).getDate();
|
780 |
-
};
|
781 |
-
|
782 |
-
$.fn.xdsoftScroller = function (options, percent) {
|
783 |
-
return this.each(function () {
|
784 |
-
var timeboxparent = $(this),
|
785 |
-
pointerEventToXY = function (e) {
|
786 |
-
var out = {x: 0, y: 0},
|
787 |
-
touch;
|
788 |
-
if (e.type === 'touchstart' || e.type === 'touchmove' || e.type === 'touchend' || e.type === 'touchcancel') {
|
789 |
-
touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
|
790 |
-
out.x = touch.clientX;
|
791 |
-
out.y = touch.clientY;
|
792 |
-
} else if (e.type === 'mousedown' || e.type === 'mouseup' || e.type === 'mousemove' || e.type === 'mouseover' || e.type === 'mouseout' || e.type === 'mouseenter' || e.type === 'mouseleave') {
|
793 |
-
out.x = e.clientX;
|
794 |
-
out.y = e.clientY;
|
795 |
-
}
|
796 |
-
return out;
|
797 |
-
},
|
798 |
-
timebox,
|
799 |
-
parentHeight,
|
800 |
-
height,
|
801 |
-
scrollbar,
|
802 |
-
scroller,
|
803 |
-
maximumOffset = 100,
|
804 |
-
start = false,
|
805 |
-
startY = 0,
|
806 |
-
startTop = 0,
|
807 |
-
h1 = 0,
|
808 |
-
touchStart = false,
|
809 |
-
startTopScroll = 0,
|
810 |
-
calcOffset = function () {};
|
811 |
-
|
812 |
-
if (percent === 'hide') {
|
813 |
-
timeboxparent.find('.xdsoft_scrollbar').hide();
|
814 |
-
return;
|
815 |
-
}
|
816 |
-
|
817 |
-
if (!$(this).hasClass('xdsoft_scroller_box')) {
|
818 |
-
timebox = timeboxparent.children().eq(0);
|
819 |
-
parentHeight = timeboxparent[0].clientHeight;
|
820 |
-
height = timebox[0].offsetHeight;
|
821 |
-
scrollbar = $('<div class="xdsoft_scrollbar"></div>');
|
822 |
-
scroller = $('<div class="xdsoft_scroller"></div>');
|
823 |
-
scrollbar.append(scroller);
|
824 |
-
|
825 |
-
timeboxparent.addClass('xdsoft_scroller_box').append(scrollbar);
|
826 |
-
calcOffset = function calcOffset(event) {
|
827 |
-
var offset = pointerEventToXY(event).y - startY + startTopScroll;
|
828 |
-
if (offset < 0) {
|
829 |
-
offset = 0;
|
830 |
-
}
|
831 |
-
if (offset + scroller[0].offsetHeight > h1) {
|
832 |
-
offset = h1 - scroller[0].offsetHeight;
|
833 |
-
}
|
834 |
-
timeboxparent.trigger('scroll_element.xdsoft_scroller', [maximumOffset ? offset / maximumOffset : 0]);
|
835 |
-
};
|
836 |
-
|
837 |
-
scroller
|
838 |
-
.on('touchstart.xdsoft_scroller mousedown.xdsoft_scroller', function (event) {
|
839 |
-
if (!parentHeight) {
|
840 |
-
timeboxparent.trigger('resize_scroll.xdsoft_scroller', [percent]);
|
841 |
-
}
|
842 |
-
|
843 |
-
startY = pointerEventToXY(event).y;
|
844 |
-
startTopScroll = parseInt(scroller.css('margin-top'), 10);
|
845 |
-
h1 = scrollbar[0].offsetHeight;
|
846 |
-
|
847 |
-
if (event.type === 'mousedown' || event.type === 'touchstart') {
|
848 |
-
if (options.ownerDocument) {
|
849 |
-
$(options.ownerDocument.body).addClass('xdsoft_noselect');
|
850 |
-
}
|
851 |
-
$([options.ownerDocument.body, options.contentWindow]).on('touchend mouseup.xdsoft_scroller', function arguments_callee() {
|
852 |
-
$([options.ownerDocument.body, options.contentWindow]).off('touchend mouseup.xdsoft_scroller', arguments_callee)
|
853 |
-
.off('mousemove.xdsoft_scroller', calcOffset)
|
854 |
-
.removeClass('xdsoft_noselect');
|
855 |
-
});
|
856 |
-
$(options.ownerDocument.body).on('mousemove.xdsoft_scroller', calcOffset);
|
857 |
-
} else {
|
858 |
-
touchStart = true;
|
859 |
-
event.stopPropagation();
|
860 |
-
event.preventDefault();
|
861 |
-
}
|
862 |
-
})
|
863 |
-
.on('touchmove', function (event) {
|
864 |
-
if (touchStart) {
|
865 |
-
event.preventDefault();
|
866 |
-
calcOffset(event);
|
867 |
-
}
|
868 |
-
})
|
869 |
-
.on('touchend touchcancel', function () {
|
870 |
-
touchStart = false;
|
871 |
-
startTopScroll = 0;
|
872 |
-
});
|
873 |
-
|
874 |
-
timeboxparent
|
875 |
-
.on('scroll_element.xdsoft_scroller', function (event, percentage) {
|
876 |
-
if (!parentHeight) {
|
877 |
-
timeboxparent.trigger('resize_scroll.xdsoft_scroller', [percentage, true]);
|
878 |
-
}
|
879 |
-
percentage = percentage > 1 ? 1 : (percentage < 0 || isNaN(percentage)) ? 0 : percentage;
|
880 |
-
|
881 |
-
scroller.css('margin-top', maximumOffset * percentage);
|
882 |
-
|
883 |
-
setTimeout(function () {
|
884 |
-
timebox.css('marginTop', -parseInt((timebox[0].offsetHeight - parentHeight) * percentage, 10));
|
885 |
-
}, 10);
|
886 |
-
})
|
887 |
-
.on('resize_scroll.xdsoft_scroller', function (event, percentage, noTriggerScroll) {
|
888 |
-
var percent, sh;
|
889 |
-
parentHeight = timeboxparent[0].clientHeight;
|
890 |
-
height = timebox[0].offsetHeight;
|
891 |
-
percent = parentHeight / height;
|
892 |
-
sh = percent * scrollbar[0].offsetHeight;
|
893 |
-
if (percent > 1) {
|
894 |
-
scroller.hide();
|
895 |
-
} else {
|
896 |
-
scroller.show();
|
897 |
-
scroller.css('height', parseInt(sh > 10 ? sh : 10, 10));
|
898 |
-
maximumOffset = scrollbar[0].offsetHeight - scroller[0].offsetHeight;
|
899 |
-
if (noTriggerScroll !== true) {
|
900 |
-
timeboxparent.trigger('scroll_element.xdsoft_scroller', [percentage || Math.abs(parseInt(timebox.css('marginTop'), 10)) / (height - parentHeight)]);
|
901 |
-
}
|
902 |
-
}
|
903 |
-
});
|
904 |
-
|
905 |
-
timeboxparent.on('mousewheel', function (event) {
|
906 |
-
var top = Math.abs(parseInt(timebox.css('marginTop'), 10));
|
907 |
-
|
908 |
-
top = top - (event.deltaY * 20);
|
909 |
-
if (top < 0) {
|
910 |
-
top = 0;
|
911 |
-
}
|
912 |
-
|
913 |
-
timeboxparent.trigger('scroll_element.xdsoft_scroller', [top / (height - parentHeight)]);
|
914 |
-
event.stopPropagation();
|
915 |
-
return false;
|
916 |
-
});
|
917 |
-
|
918 |
-
timeboxparent.on('touchstart', function (event) {
|
919 |
-
start = pointerEventToXY(event);
|
920 |
-
startTop = Math.abs(parseInt(timebox.css('marginTop'), 10));
|
921 |
-
});
|
922 |
-
|
923 |
-
timeboxparent.on('touchmove', function (event) {
|
924 |
-
if (start) {
|
925 |
-
event.preventDefault();
|
926 |
-
var coord = pointerEventToXY(event);
|
927 |
-
timeboxparent.trigger('scroll_element.xdsoft_scroller', [(startTop - (coord.y - start.y)) / (height - parentHeight)]);
|
928 |
-
}
|
929 |
-
});
|
930 |
-
|
931 |
-
timeboxparent.on('touchend touchcancel', function () {
|
932 |
-
start = false;
|
933 |
-
startTop = 0;
|
934 |
-
});
|
935 |
-
}
|
936 |
-
timeboxparent.trigger('resize_scroll.xdsoft_scroller', [percent]);
|
937 |
-
});
|
938 |
-
};
|
939 |
-
|
940 |
-
$.fn.datetimepicker = function (opt, opt2) {
|
941 |
-
var result = this,
|
942 |
-
KEY0 = 48,
|
943 |
-
KEY9 = 57,
|
944 |
-
_KEY0 = 96,
|
945 |
-
_KEY9 = 105,
|
946 |
-
CTRLKEY = 17,
|
947 |
-
CMDKEY = 91,
|
948 |
-
DEL = 46,
|
949 |
-
ENTER = 13,
|
950 |
-
ESC = 27,
|
951 |
-
BACKSPACE = 8,
|
952 |
-
ARROWLEFT = 37,
|
953 |
-
ARROWUP = 38,
|
954 |
-
ARROWRIGHT = 39,
|
955 |
-
ARROWDOWN = 40,
|
956 |
-
TAB = 9,
|
957 |
-
F5 = 116,
|
958 |
-
AKEY = 65,
|
959 |
-
CKEY = 67,
|
960 |
-
VKEY = 86,
|
961 |
-
ZKEY = 90,
|
962 |
-
YKEY = 89,
|
963 |
-
ctrlDown = false,
|
964 |
-
cmdDown = false,
|
965 |
-
options = ($.isPlainObject(opt) || !opt) ? $.extend(true, {}, default_options, opt) : $.extend(true, {}, default_options),
|
966 |
-
|
967 |
-
lazyInitTimer = 0,
|
968 |
-
createDateTimePicker,
|
969 |
-
destroyDateTimePicker,
|
970 |
-
|
971 |
-
lazyInit = function (input) {
|
972 |
-
input
|
973 |
-
.on('open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart', function initOnActionCallback() {
|
974 |
-
if (input.is(':disabled') || input.data('xdsoft_datetimepicker')) {
|
975 |
-
return;
|
976 |
-
}
|
977 |
-
clearTimeout(lazyInitTimer);
|
978 |
-
lazyInitTimer = setTimeout(function () {
|
979 |
-
|
980 |
-
if (!input.data('xdsoft_datetimepicker')) {
|
981 |
-
createDateTimePicker(input);
|
982 |
-
}
|
983 |
-
input
|
984 |
-
.off('open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart', initOnActionCallback)
|
985 |
-
.trigger('open.xdsoft');
|
986 |
-
}, 100);
|
987 |
-
});
|
988 |
-
};
|
989 |
-
|
990 |
-
createDateTimePicker = function (input) {
|
991 |
-
var datetimepicker = $('<div class="xdsoft_datetimepicker xdsoft_noselect"></div>'),
|
992 |
-
xdsoft_copyright = $('<div class="xdsoft_copyright"><a target="_blank" href="http://xdsoft.net/jqplugins/datetimepicker/">xdsoft.net</a></div>'),
|
993 |
-
datepicker = $('<div class="xdsoft_datepicker active"></div>'),
|
994 |
-
month_picker = $('<div class="xdsoft_monthpicker"><button type="button" class="xdsoft_prev"></button><button type="button" class="xdsoft_today_button"></button>' +
|
995 |
-
'<div class="xdsoft_label xdsoft_month"><span></span><i></i></div>' +
|
996 |
-
'<div class="xdsoft_label xdsoft_year"><span></span><i></i></div>' +
|
997 |
-
'<button type="button" class="xdsoft_next"></button></div>'),
|
998 |
-
calendar = $('<div class="xdsoft_calendar"></div>'),
|
999 |
-
timepicker = $('<div class="xdsoft_timepicker active"><button type="button" class="xdsoft_prev"></button><div class="xdsoft_time_box"></div><button type="button" class="xdsoft_next"></button></div>'),
|
1000 |
-
timeboxparent = timepicker.find('.xdsoft_time_box').eq(0),
|
1001 |
-
timebox = $('<div class="xdsoft_time_variant"></div>'),
|
1002 |
-
applyButton = $('<button type="button" class="xdsoft_save_selected blue-gradient-button">Save Selected</button>'),
|
1003 |
-
|
1004 |
-
monthselect = $('<div class="xdsoft_select xdsoft_monthselect"><div></div></div>'),
|
1005 |
-
yearselect = $('<div class="xdsoft_select xdsoft_yearselect"><div></div></div>'),
|
1006 |
-
triggerAfterOpen = false,
|
1007 |
-
XDSoft_datetime,
|
1008 |
-
|
1009 |
-
xchangeTimer,
|
1010 |
-
timerclick,
|
1011 |
-
current_time_index,
|
1012 |
-
setPos,
|
1013 |
-
timer = 0,
|
1014 |
-
_xdsoft_datetime,
|
1015 |
-
forEachAncestorOf;
|
1016 |
-
|
1017 |
-
if (options.id) {
|
1018 |
-
datetimepicker.attr('id', options.id);
|
1019 |
-
}
|
1020 |
-
if (options.style) {
|
1021 |
-
datetimepicker.attr('style', options.style);
|
1022 |
-
}
|
1023 |
-
if (options.weeks) {
|
1024 |
-
datetimepicker.addClass('xdsoft_showweeks');
|
1025 |
-
}
|
1026 |
-
if (options.rtl) {
|
1027 |
-
datetimepicker.addClass('xdsoft_rtl');
|
1028 |
-
}
|
1029 |
-
|
1030 |
-
datetimepicker.addClass('xdsoft_' + options.theme);
|
1031 |
-
datetimepicker.addClass(options.className);
|
1032 |
-
|
1033 |
-
month_picker
|
1034 |
-
.find('.xdsoft_month span')
|
1035 |
-
.after(monthselect);
|
1036 |
-
month_picker
|
1037 |
-
.find('.xdsoft_year span')
|
1038 |
-
.after(yearselect);
|
1039 |
-
|
1040 |
-
month_picker
|
1041 |
-
.find('.xdsoft_month,.xdsoft_year')
|
1042 |
-
.on('touchstart mousedown.xdsoft', function (event) {
|
1043 |
-
var select = $(this).find('.xdsoft_select').eq(0),
|
1044 |
-
val = 0,
|
1045 |
-
top = 0,
|
1046 |
-
visible = select.is(':visible'),
|
1047 |
-
items,
|
1048 |
-
i;
|
1049 |
-
|
1050 |
-
month_picker
|
1051 |
-
.find('.xdsoft_select')
|
1052 |
-
.hide();
|
1053 |
-
if (_xdsoft_datetime.currentTime) {
|
1054 |
-
val = _xdsoft_datetime.currentTime[$(this).hasClass('xdsoft_month') ? 'getMonth' : 'getFullYear']();
|
1055 |
-
}
|
1056 |
-
|
1057 |
-
select[visible ? 'hide' : 'show']();
|
1058 |
-
for (items = select.find('div.xdsoft_option'), i = 0; i < items.length; i += 1) {
|
1059 |
-
if (items.eq(i).data('value') === val) {
|
1060 |
-
break;
|
1061 |
-
} else {
|
1062 |
-
top += items[0].offsetHeight;
|
1063 |
-
}
|
1064 |
-
}
|
1065 |
-
|
1066 |
-
select.xdsoftScroller(options, top / (select.children()[0].offsetHeight - (select[0].clientHeight)));
|
1067 |
-
event.stopPropagation();
|
1068 |
-
return false;
|
1069 |
-
});
|
1070 |
-
|
1071 |
-
var handleTouchMoved = function (event) {
|
1072 |
-
var evt = event.originalEvent;
|
1073 |
-
var touchPosition = evt.touches ? evt.touches[0] : evt;
|
1074 |
-
this.touchStartPosition = this.touchStartPosition || touchPosition;
|
1075 |
-
var xMovement = Math.abs(this.touchStartPosition.clientX - touchPosition.clientX);
|
1076 |
-
var yMovement = Math.abs(this.touchStartPosition.clientY - touchPosition.clientY);
|
1077 |
-
var distance = Math.sqrt(xMovement * xMovement + yMovement * yMovement);
|
1078 |
-
if(distance > options.touchMovedThreshold) {
|
1079 |
-
this.touchMoved = true;
|
1080 |
-
}
|
1081 |
-
}
|
1082 |
-
|
1083 |
-
month_picker
|
1084 |
-
.find('.xdsoft_select')
|
1085 |
-
.xdsoftScroller(options)
|
1086 |
-
.on('touchstart mousedown.xdsoft', function (event) {
|
1087 |
-
var evt = event.originalEvent;
|
1088 |
-
this.touchMoved = false;
|
1089 |
-
this.touchStartPosition = evt.touches ? evt.touches[0] : evt;
|
1090 |
-
event.stopPropagation();
|
1091 |
-
event.preventDefault();
|
1092 |
-
})
|
1093 |
-
.on('touchmove', '.xdsoft_option', handleTouchMoved)
|
1094 |
-
.on('touchend mousedown.xdsoft', '.xdsoft_option', function () {
|
1095 |
-
if (!this.touchMoved) {
|
1096 |
-
if (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) {
|
1097 |
-
_xdsoft_datetime.currentTime = _xdsoft_datetime.now();
|
1098 |
-
}
|
1099 |
-
|
1100 |
-
var year = _xdsoft_datetime.currentTime.getFullYear();
|
1101 |
-
if (_xdsoft_datetime && _xdsoft_datetime.currentTime) {
|
1102 |
-
_xdsoft_datetime.currentTime[$(this).parent().parent().hasClass('xdsoft_monthselect') ? 'setMonth' : 'setFullYear']($(this).data('value'));
|
1103 |
-
}
|
1104 |
-
|
1105 |
-
$(this).parent().parent().hide();
|
1106 |
-
|
1107 |
-
datetimepicker.trigger('xchange.xdsoft');
|
1108 |
-
if (options.onChangeMonth && $.isFunction(options.onChangeMonth)) {
|
1109 |
-
options.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
|
1110 |
-
}
|
1111 |
-
|
1112 |
-
if (year !== _xdsoft_datetime.currentTime.getFullYear() && $.isFunction(options.onChangeYear)) {
|
1113 |
-
options.onChangeYear.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
|
1114 |
-
}
|
1115 |
-
}
|
1116 |
-
});
|
1117 |
-
|
1118 |
-
datetimepicker.getValue = function () {
|
1119 |
-
return _xdsoft_datetime.getCurrentTime();
|
1120 |
-
};
|
1121 |
-
|
1122 |
-
datetimepicker.setOptions = function (_options) {
|
1123 |
-
var highlightedDates = {};
|
1124 |
-
|
1125 |
-
options = $.extend(true, {}, options, _options);
|
1126 |
-
|
1127 |
-
if (_options.allowTimes && $.isArray(_options.allowTimes) && _options.allowTimes.length) {
|
1128 |
-
options.allowTimes = $.extend(true, [], _options.allowTimes);
|
1129 |
-
}
|
1130 |
-
|
1131 |
-
if (_options.weekends && $.isArray(_options.weekends) && _options.weekends.length) {
|
1132 |
-
options.weekends = $.extend(true, [], _options.weekends);
|
1133 |
-
}
|
1134 |
-
|
1135 |
-
if (_options.allowDates && $.isArray(_options.allowDates) && _options.allowDates.length) {
|
1136 |
-
options.allowDates = $.extend(true, [], _options.allowDates);
|
1137 |
-
}
|
1138 |
-
|
1139 |
-
if (_options.allowDateRe && Object.prototype.toString.call(_options.allowDateRe)==="[object String]") {
|
1140 |
-
options.allowDateRe = new RegExp(_options.allowDateRe);
|
1141 |
-
}
|
1142 |
-
|
1143 |
-
if (_options.highlightedDates && $.isArray(_options.highlightedDates) && _options.highlightedDates.length) {
|
1144 |
-
$.each(_options.highlightedDates, function (index, value) {
|
1145 |
-
var splitData = $.map(value.split(','), $.trim),
|
1146 |
-
exDesc,
|
1147 |
-
hDate = new HighlightedDate(dateHelper.parseDate(splitData[0], options.formatDate), splitData[1], splitData[2]), // date, desc, style
|
1148 |
-
keyDate = dateHelper.formatDate(hDate.date, options.formatDate);
|
1149 |
-
if (highlightedDates[keyDate] !== undefined) {
|
1150 |
-
exDesc = highlightedDates[keyDate].desc;
|
1151 |
-
if (exDesc && exDesc.length && hDate.desc && hDate.desc.length) {
|
1152 |
-
highlightedDates[keyDate].desc = exDesc + "\n" + hDate.desc;
|
1153 |
-
}
|
1154 |
-
} else {
|
1155 |
-
highlightedDates[keyDate] = hDate;
|
1156 |
-
}
|
1157 |
-
});
|
1158 |
-
|
1159 |
-
options.highlightedDates = $.extend(true, [], highlightedDates);
|
1160 |
-
}
|
1161 |
-
|
1162 |
-
if (_options.highlightedPeriods && $.isArray(_options.highlightedPeriods) && _options.highlightedPeriods.length) {
|
1163 |
-
highlightedDates = $.extend(true, [], options.highlightedDates);
|
1164 |
-
$.each(_options.highlightedPeriods, function (index, value) {
|
1165 |
-
var dateTest, // start date
|
1166 |
-
dateEnd,
|
1167 |
-
desc,
|
1168 |
-
hDate,
|
1169 |
-
keyDate,
|
1170 |
-
exDesc,
|
1171 |
-
style;
|
1172 |
-
if ($.isArray(value)) {
|
1173 |
-
dateTest = value[0];
|
1174 |
-
dateEnd = value[1];
|
1175 |
-
desc = value[2];
|
1176 |
-
style = value[3];
|
1177 |
-
}
|
1178 |
-
else {
|
1179 |
-
var splitData = $.map(value.split(','), $.trim);
|
1180 |
-
dateTest = dateHelper.parseDate(splitData[0], options.formatDate);
|
1181 |
-
dateEnd = dateHelper.parseDate(splitData[1], options.formatDate);
|
1182 |
-
desc = splitData[2];
|
1183 |
-
style = splitData[3];
|
1184 |
-
}
|
1185 |
-
|
1186 |
-
while (dateTest <= dateEnd) {
|
1187 |
-
hDate = new HighlightedDate(dateTest, desc, style);
|
1188 |
-
keyDate = dateHelper.formatDate(dateTest, options.formatDate);
|
1189 |
-
dateTest.setDate(dateTest.getDate() + 1);
|
1190 |
-
if (highlightedDates[keyDate] !== undefined) {
|
1191 |
-
exDesc = highlightedDates[keyDate].desc;
|
1192 |
-
if (exDesc && exDesc.length && hDate.desc && hDate.desc.length) {
|
1193 |
-
highlightedDates[keyDate].desc = exDesc + "\n" + hDate.desc;
|
1194 |
-
}
|
1195 |
-
} else {
|
1196 |
-
highlightedDates[keyDate] = hDate;
|
1197 |
-
}
|
1198 |
-
}
|
1199 |
-
});
|
1200 |
-
|
1201 |
-
options.highlightedDates = $.extend(true, [], highlightedDates);
|
1202 |
-
}
|
1203 |
-
|
1204 |
-
if (_options.disabledDates && $.isArray(_options.disabledDates) && _options.disabledDates.length) {
|
1205 |
-
options.disabledDates = $.extend(true, [], _options.disabledDates);
|
1206 |
-
}
|
1207 |
-
|
1208 |
-
if (_options.disabledWeekDays && $.isArray(_options.disabledWeekDays) && _options.disabledWeekDays.length) {
|
1209 |
-
options.disabledWeekDays = $.extend(true, [], _options.disabledWeekDays);
|
1210 |
-
}
|
1211 |
-
|
1212 |
-
if ((options.open || options.opened) && (!options.inline)) {
|
1213 |
-
input.trigger('open.xdsoft');
|
1214 |
-
}
|
1215 |
-
|
1216 |
-
if (options.inline) {
|
1217 |
-
triggerAfterOpen = true;
|
1218 |
-
datetimepicker.addClass('xdsoft_inline');
|
1219 |
-
input.after(datetimepicker).hide();
|
1220 |
-
}
|
1221 |
-
|
1222 |
-
if (options.inverseButton) {
|
1223 |
-
options.next = 'xdsoft_prev';
|
1224 |
-
options.prev = 'xdsoft_next';
|
1225 |
-
}
|
1226 |
-
|
1227 |
-
if (options.datepicker) {
|
1228 |
-
datepicker.addClass('active');
|
1229 |
-
} else {
|
1230 |
-
datepicker.removeClass('active');
|
1231 |
-
}
|
1232 |
-
|
1233 |
-
if (options.timepicker) {
|
1234 |
-
timepicker.addClass('active');
|
1235 |
-
} else {
|
1236 |
-
timepicker.removeClass('active');
|
1237 |
-
}
|
1238 |
-
|
1239 |
-
if (options.value) {
|
1240 |
-
_xdsoft_datetime.setCurrentTime(options.value);
|
1241 |
-
if (input && input.val) {
|
1242 |
-
input.val(_xdsoft_datetime.str);
|
1243 |
-
}
|
1244 |
-
}
|
1245 |
-
|
1246 |
-
if (isNaN(options.dayOfWeekStart)) {
|
1247 |
-
options.dayOfWeekStart = 0;
|
1248 |
-
} else {
|
1249 |
-
options.dayOfWeekStart = parseInt(options.dayOfWeekStart, 10) % 7;
|
1250 |
-
}
|
1251 |
-
|
1252 |
-
if (!options.timepickerScrollbar) {
|
1253 |
-
timeboxparent.xdsoftScroller(options, 'hide');
|
1254 |
-
}
|
1255 |
-
|
1256 |
-
if (options.minDate && /^[\+\-](.*)$/.test(options.minDate)) {
|
1257 |
-
options.minDate = dateHelper.formatDate(_xdsoft_datetime.strToDateTime(options.minDate), options.formatDate);
|
1258 |
-
}
|
1259 |
-
|
1260 |
-
if (options.maxDate && /^[\+\-](.*)$/.test(options.maxDate)) {
|
1261 |
-
options.maxDate = dateHelper.formatDate(_xdsoft_datetime.strToDateTime(options.maxDate), options.formatDate);
|
1262 |
-
}
|
1263 |
-
|
1264 |
-
if (options.minDateTime && /^\+(.*)$/.test(options.minDateTime)) {
|
1265 |
-
options.minDateTime = _xdsoft_datetime.strToDateTime(options.minDateTime).dateFormat(options.formatDate);
|
1266 |
-
}
|
1267 |
-
|
1268 |
-
if (options.maxDateTime && /^\+(.*)$/.test(options.maxDateTime)) {
|
1269 |
-
options.maxDateTime = _xdsoft_datetime.strToDateTime(options.maxDateTime).dateFormat(options.formatDate);
|
1270 |
-
}
|
1271 |
-
|
1272 |
-
applyButton.toggle(options.showApplyButton);
|
1273 |
-
|
1274 |
-
month_picker
|
1275 |
-
.find('.xdsoft_today_button')
|
1276 |
-
.css('visibility', !options.todayButton ? 'hidden' : 'visible');
|
1277 |
-
|
1278 |
-
month_picker
|
1279 |
-
.find('.' + options.prev)
|
1280 |
-
.css('visibility', !options.prevButton ? 'hidden' : 'visible');
|
1281 |
-
|
1282 |
-
month_picker
|
1283 |
-
.find('.' + options.next)
|
1284 |
-
.css('visibility', !options.nextButton ? 'hidden' : 'visible');
|
1285 |
-
|
1286 |
-
setMask(options);
|
1287 |
-
|
1288 |
-
if (options.validateOnBlur) {
|
1289 |
-
input
|
1290 |
-
.off('blur.xdsoft')
|
1291 |
-
.on('blur.xdsoft', function () {
|
1292 |
-
if (options.allowBlank && (!$.trim($(this).val()).length ||
|
1293 |
-
(typeof options.mask === "string" && $.trim($(this).val()) === options.mask.replace(/[0-9]/g, '_')))) {
|
1294 |
-
$(this).val(null);
|
1295 |
-
datetimepicker.data('xdsoft_datetime').empty();
|
1296 |
-
} else {
|
1297 |
-
var d = dateHelper.parseDate($(this).val(), options.format);
|
1298 |
-
if (d) { // parseDate() may skip some invalid parts like date or time, so make it clear for user: show parsed date/time
|
1299 |
-
$(this).val(dateHelper.formatDate(d, options.format));
|
1300 |
-
} else {
|
1301 |
-
var splittedHours = +([$(this).val()[0], $(this).val()[1]].join('')),
|
1302 |
-
splittedMinutes = +([$(this).val()[2], $(this).val()[3]].join(''));
|
1303 |
-
|
1304 |
-
// parse the numbers as 0312 => 03:12
|
1305 |
-
if (!options.datepicker && options.timepicker && splittedHours >= 0 && splittedHours < 24 && splittedMinutes >= 0 && splittedMinutes < 60) {
|
1306 |
-
$(this).val([splittedHours, splittedMinutes].map(function (item) {
|
1307 |
-
return item > 9 ? item : '0' + item;
|
1308 |
-
}).join(':'));
|
1309 |
-
} else {
|
1310 |
-
$(this).val(dateHelper.formatDate(_xdsoft_datetime.now(), options.format));
|
1311 |
-
}
|
1312 |
-
}
|
1313 |
-
datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val());
|
1314 |
-
}
|
1315 |
-
|
1316 |
-
datetimepicker.trigger('changedatetime.xdsoft');
|
1317 |
-
datetimepicker.trigger('close.xdsoft');
|
1318 |
-
});
|
1319 |
-
}
|
1320 |
-
options.dayOfWeekStartPrev = (options.dayOfWeekStart === 0) ? 6 : options.dayOfWeekStart - 1;
|
1321 |
-
|
1322 |
-
datetimepicker
|
1323 |
-
.trigger('xchange.xdsoft')
|
1324 |
-
.trigger('afterOpen.xdsoft');
|
1325 |
-
};
|
1326 |
-
|
1327 |
-
datetimepicker
|
1328 |
-
.data('options', options)
|
1329 |
-
.on('touchstart mousedown.xdsoft', function (event) {
|
1330 |
-
event.stopPropagation();
|
1331 |
-
event.preventDefault();
|
1332 |
-
yearselect.hide();
|
1333 |
-
monthselect.hide();
|
1334 |
-
return false;
|
1335 |
-
});
|
1336 |
-
|
1337 |
-
//scroll_element = timepicker.find('.xdsoft_time_box');
|
1338 |
-
timeboxparent.append(timebox);
|
1339 |
-
timeboxparent.xdsoftScroller(options);
|
1340 |
-
|
1341 |
-
datetimepicker.on('afterOpen.xdsoft', function () {
|
1342 |
-
timeboxparent.xdsoftScroller(options);
|
1343 |
-
});
|
1344 |
-
|
1345 |
-
datetimepicker
|
1346 |
-
.append(datepicker)
|
1347 |
-
.append(timepicker);
|
1348 |
-
|
1349 |
-
if (options.withoutCopyright !== true) {
|
1350 |
-
datetimepicker
|
1351 |
-
.append(xdsoft_copyright);
|
1352 |
-
}
|
1353 |
-
|
1354 |
-
datepicker
|
1355 |
-
.append(month_picker)
|
1356 |
-
.append(calendar)
|
1357 |
-
.append(applyButton);
|
1358 |
-
|
1359 |
-
if (options.insideParent) {
|
1360 |
-
$(input).parent().append(datetimepicker);
|
1361 |
-
} else {
|
1362 |
-
$(options.parentID).append(datetimepicker);
|
1363 |
-
}
|
1364 |
-
|
1365 |
-
XDSoft_datetime = function () {
|
1366 |
-
var _this = this;
|
1367 |
-
_this.now = function (norecursion) {
|
1368 |
-
var d = new Date(),
|
1369 |
-
date,
|
1370 |
-
time;
|
1371 |
-
|
1372 |
-
if (!norecursion && options.defaultDate) {
|
1373 |
-
date = _this.strToDateTime(options.defaultDate);
|
1374 |
-
d.setFullYear(date.getFullYear());
|
1375 |
-
d.setMonth(date.getMonth());
|
1376 |
-
d.setDate(date.getDate());
|
1377 |
-
}
|
1378 |
-
|
1379 |
-
d.setFullYear(d.getFullYear());
|
1380 |
-
|
1381 |
-
if (!norecursion && options.defaultTime) {
|
1382 |
-
time = _this.strtotime(options.defaultTime);
|
1383 |
-
d.setHours(time.getHours());
|
1384 |
-
d.setMinutes(time.getMinutes());
|
1385 |
-
d.setSeconds(time.getSeconds());
|
1386 |
-
d.setMilliseconds(time.getMilliseconds());
|
1387 |
-
}
|
1388 |
-
return d;
|
1389 |
-
};
|
1390 |
-
|
1391 |
-
_this.isValidDate = function (d) {
|
1392 |
-
if (Object.prototype.toString.call(d) !== "[object Date]") {
|
1393 |
-
return false;
|
1394 |
-
}
|
1395 |
-
return !isNaN(d.getTime());
|
1396 |
-
};
|
1397 |
-
|
1398 |
-
_this.setCurrentTime = function (dTime, requireValidDate) {
|
1399 |
-
if (typeof dTime === 'string') {
|
1400 |
-
_this.currentTime = _this.strToDateTime(dTime);
|
1401 |
-
}
|
1402 |
-
else if (_this.isValidDate(dTime)) {
|
1403 |
-
_this.currentTime = dTime;
|
1404 |
-
}
|
1405 |
-
else if (!dTime && !requireValidDate && options.allowBlank && !options.inline) {
|
1406 |
-
_this.currentTime = null;
|
1407 |
-
}
|
1408 |
-
else {
|
1409 |
-
_this.currentTime = _this.now();
|
1410 |
-
}
|
1411 |
-
|
1412 |
-
datetimepicker.trigger('xchange.xdsoft');
|
1413 |
-
};
|
1414 |
-
|
1415 |
-
_this.empty = function () {
|
1416 |
-
_this.currentTime = null;
|
1417 |
-
};
|
1418 |
-
|
1419 |
-
_this.getCurrentTime = function () {
|
1420 |
-
return _this.currentTime;
|
1421 |
-
};
|
1422 |
-
|
1423 |
-
_this.nextMonth = function () {
|
1424 |
-
|
1425 |
-
if (_this.currentTime === undefined || _this.currentTime === null) {
|
1426 |
-
_this.currentTime = _this.now();
|
1427 |
-
}
|
1428 |
-
|
1429 |
-
var month = _this.currentTime.getMonth() + 1,
|
1430 |
-
year;
|
1431 |
-
if (month === 12) {
|
1432 |
-
_this.currentTime.setFullYear(_this.currentTime.getFullYear() + 1);
|
1433 |
-
month = 0;
|
1434 |
-
}
|
1435 |
-
|
1436 |
-
year = _this.currentTime.getFullYear();
|
1437 |
-
|
1438 |
-
_this.currentTime.setDate(
|
1439 |
-
Math.min(
|
1440 |
-
new Date(_this.currentTime.getFullYear(), month + 1, 0).getDate(),
|
1441 |
-
_this.currentTime.getDate()
|
1442 |
-
)
|
1443 |
-
);
|
1444 |
-
_this.currentTime.setMonth(month);
|
1445 |
-
|
1446 |
-
if (options.onChangeMonth && $.isFunction(options.onChangeMonth)) {
|
1447 |
-
options.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
|
1448 |
-
}
|
1449 |
-
|
1450 |
-
if (year !== _this.currentTime.getFullYear() && $.isFunction(options.onChangeYear)) {
|
1451 |
-
options.onChangeYear.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
|
1452 |
-
}
|
1453 |
-
|
1454 |
-
datetimepicker.trigger('xchange.xdsoft');
|
1455 |
-
return month;
|
1456 |
-
};
|
1457 |
-
|
1458 |
-
_this.prevMonth = function () {
|
1459 |
-
|
1460 |
-
if (_this.currentTime === undefined || _this.currentTime === null) {
|
1461 |
-
_this.currentTime = _this.now();
|
1462 |
-
}
|
1463 |
-
|
1464 |
-
var month = _this.currentTime.getMonth() - 1;
|
1465 |
-
if (month === -1) {
|
1466 |
-
_this.currentTime.setFullYear(_this.currentTime.getFullYear() - 1);
|
1467 |
-
month = 11;
|
1468 |
-
}
|
1469 |
-
_this.currentTime.setDate(
|
1470 |
-
Math.min(
|
1471 |
-
new Date(_this.currentTime.getFullYear(), month + 1, 0).getDate(),
|
1472 |
-
_this.currentTime.getDate()
|
1473 |
-
)
|
1474 |
-
);
|
1475 |
-
_this.currentTime.setMonth(month);
|
1476 |
-
if (options.onChangeMonth && $.isFunction(options.onChangeMonth)) {
|
1477 |
-
options.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
|
1478 |
-
}
|
1479 |
-
datetimepicker.trigger('xchange.xdsoft');
|
1480 |
-
return month;
|
1481 |
-
};
|
1482 |
-
|
1483 |
-
_this.getWeekOfYear = function (datetime) {
|
1484 |
-
if (options.onGetWeekOfYear && $.isFunction(options.onGetWeekOfYear)) {
|
1485 |
-
var week = options.onGetWeekOfYear.call(datetimepicker, datetime);
|
1486 |
-
if (typeof week !== 'undefined') {
|
1487 |
-
return week;
|
1488 |
-
}
|
1489 |
-
}
|
1490 |
-
var onejan = new Date(datetime.getFullYear(), 0, 1);
|
1491 |
-
|
1492 |
-
//First week of the year is th one with the first Thursday according to ISO8601
|
1493 |
-
if (onejan.getDay() !== 4) {
|
1494 |
-
onejan.setMonth(0, 1 + ((4 - onejan.getDay()+ 7) % 7));
|
1495 |
-
}
|
1496 |
-
|
1497 |
-
return Math.ceil((((datetime - onejan) / 86400000) + onejan.getDay() + 1) / 7);
|
1498 |
-
};
|
1499 |
-
|
1500 |
-
_this.strToDateTime = function (sDateTime) {
|
1501 |
-
var tmpDate = [], timeOffset, currentTime;
|
1502 |
-
|
1503 |
-
if (sDateTime && sDateTime instanceof Date && _this.isValidDate(sDateTime)) {
|
1504 |
-
return sDateTime;
|
1505 |
-
}
|
1506 |
-
|
1507 |
-
tmpDate = /^([+-]{1})(.*)$/.exec(sDateTime);
|
1508 |
-
|
1509 |
-
if (tmpDate) {
|
1510 |
-
tmpDate[2] = dateHelper.parseDate(tmpDate[2], options.formatDate);
|
1511 |
-
}
|
1512 |
-
|
1513 |
-
if (tmpDate && tmpDate[2]) {
|
1514 |
-
timeOffset = tmpDate[2].getTime() - (tmpDate[2].getTimezoneOffset()) * 60000;
|
1515 |
-
currentTime = new Date((_this.now(true)).getTime() + parseInt(tmpDate[1] + '1', 10) * timeOffset);
|
1516 |
-
} else {
|
1517 |
-
currentTime = sDateTime ? dateHelper.parseDate(sDateTime, options.format) : _this.now();
|
1518 |
-
}
|
1519 |
-
|
1520 |
-
if (!_this.isValidDate(currentTime)) {
|
1521 |
-
currentTime = _this.now();
|
1522 |
-
}
|
1523 |
-
|
1524 |
-
return currentTime;
|
1525 |
-
};
|
1526 |
-
|
1527 |
-
_this.strToDate = function (sDate) {
|
1528 |
-
if (sDate && sDate instanceof Date && _this.isValidDate(sDate)) {
|
1529 |
-
return sDate;
|
1530 |
-
}
|
1531 |
-
|
1532 |
-
var currentTime = sDate ? dateHelper.parseDate(sDate, options.formatDate) : _this.now(true);
|
1533 |
-
if (!_this.isValidDate(currentTime)) {
|
1534 |
-
currentTime = _this.now(true);
|
1535 |
-
}
|
1536 |
-
return currentTime;
|
1537 |
-
};
|
1538 |
-
|
1539 |
-
_this.strtotime = function (sTime) {
|
1540 |
-
if (sTime && sTime instanceof Date && _this.isValidDate(sTime)) {
|
1541 |
-
return sTime;
|
1542 |
-
}
|
1543 |
-
var currentTime = sTime ? dateHelper.parseDate(sTime, options.formatTime) : _this.now(true);
|
1544 |
-
if (!_this.isValidDate(currentTime)) {
|
1545 |
-
currentTime = _this.now(true);
|
1546 |
-
}
|
1547 |
-
return currentTime;
|
1548 |
-
};
|
1549 |
-
|
1550 |
-
_this.str = function () {
|
1551 |
-
var format = options.format;
|
1552 |
-
if (options.yearOffset) {
|
1553 |
-
format = format.replace('Y', _this.currentTime.getFullYear() + options.yearOffset);
|
1554 |
-
format = format.replace('y', String(_this.currentTime.getFullYear() + options.yearOffset).substring(2, 4));
|
1555 |
-
}
|
1556 |
-
return dateHelper.formatDate(_this.currentTime, format);
|
1557 |
-
};
|
1558 |
-
_this.currentTime = this.now();
|
1559 |
-
};
|
1560 |
-
|
1561 |
-
_xdsoft_datetime = new XDSoft_datetime();
|
1562 |
-
|
1563 |
-
applyButton.on('touchend click', function (e) {//pathbrite
|
1564 |
-
e.preventDefault();
|
1565 |
-
datetimepicker.data('changed', true);
|
1566 |
-
_xdsoft_datetime.setCurrentTime(getCurrentValue());
|
1567 |
-
input.val(_xdsoft_datetime.str());
|
1568 |
-
datetimepicker.trigger('close.xdsoft');
|
1569 |
-
});
|
1570 |
-
month_picker
|
1571 |
-
.find('.xdsoft_today_button')
|
1572 |
-
.on('touchend mousedown.xdsoft', function () {
|
1573 |
-
datetimepicker.data('changed', true);
|
1574 |
-
_xdsoft_datetime.setCurrentTime(0, true);
|
1575 |
-
datetimepicker.trigger('afterOpen.xdsoft');
|
1576 |
-
}).on('dblclick.xdsoft', function () {
|
1577 |
-
var currentDate = _xdsoft_datetime.getCurrentTime(), minDate, maxDate;
|
1578 |
-
currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());
|
1579 |
-
minDate = _xdsoft_datetime.strToDate(options.minDate);
|
1580 |
-
minDate = new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate());
|
1581 |
-
if (currentDate < minDate) {
|
1582 |
-
return;
|
1583 |
-
}
|
1584 |
-
maxDate = _xdsoft_datetime.strToDate(options.maxDate);
|
1585 |
-
maxDate = new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate());
|
1586 |
-
if (currentDate > maxDate) {
|
1587 |
-
return;
|
1588 |
-
}
|
1589 |
-
input.val(_xdsoft_datetime.str());
|
1590 |
-
input.trigger('change');
|
1591 |
-
datetimepicker.trigger('close.xdsoft');
|
1592 |
-
});
|
1593 |
-
month_picker
|
1594 |
-
.find('.xdsoft_prev,.xdsoft_next')
|
1595 |
-
.on('touchend mousedown.xdsoft', function () {
|
1596 |
-
var $this = $(this),
|
1597 |
-
timer = 0,
|
1598 |
-
stop = false;
|
1599 |
-
|
1600 |
-
(function arguments_callee1(v) {
|
1601 |
-
if ($this.hasClass(options.next)) {
|
1602 |
-
_xdsoft_datetime.nextMonth();
|
1603 |
-
} else if ($this.hasClass(options.prev)) {
|
1604 |
-
_xdsoft_datetime.prevMonth();
|
1605 |
-
}
|
1606 |
-
if (options.monthChangeSpinner) {
|
1607 |
-
if (!stop) {
|
1608 |
-
timer = setTimeout(arguments_callee1, v || 100);
|
1609 |
-
}
|
1610 |
-
}
|
1611 |
-
}(500));
|
1612 |
-
|
1613 |
-
$([options.ownerDocument.body, options.contentWindow]).on('touchend mouseup.xdsoft', function arguments_callee2() {
|
1614 |
-
clearTimeout(timer);
|
1615 |
-
stop = true;
|
1616 |
-
$([options.ownerDocument.body, options.contentWindow]).off('touchend mouseup.xdsoft', arguments_callee2);
|
1617 |
-
});
|
1618 |
-
});
|
1619 |
-
|
1620 |
-
timepicker
|
1621 |
-
.find('.xdsoft_prev,.xdsoft_next')
|
1622 |
-
.on('touchend mousedown.xdsoft', function () {
|
1623 |
-
var $this = $(this),
|
1624 |
-
timer = 0,
|
1625 |
-
stop = false,
|
1626 |
-
period = 110;
|
1627 |
-
(function arguments_callee4(v) {
|
1628 |
-
var pheight = timeboxparent[0].clientHeight,
|
1629 |
-
height = timebox[0].offsetHeight,
|
1630 |
-
top = Math.abs(parseInt(timebox.css('marginTop'), 10));
|
1631 |
-
if ($this.hasClass(options.next) && (height - pheight) - options.timeHeightInTimePicker >= top) {
|
1632 |
-
timebox.css('marginTop', '-' + (top + options.timeHeightInTimePicker) + 'px');
|
1633 |
-
} else if ($this.hasClass(options.prev) && top - options.timeHeightInTimePicker >= 0) {
|
1634 |
-
timebox.css('marginTop', '-' + (top - options.timeHeightInTimePicker) + 'px');
|
1635 |
-
}
|
1636 |
-
/**
|
1637 |
-
* Fixed bug:
|
1638 |
-
* When using css3 transition, it will cause a bug that you cannot scroll the timepicker list.
|
1639 |
-
* The reason is that the transition-duration time, if you set it to 0, all things fine, otherwise, this
|
1640 |
-
* would cause a bug when you use jquery.css method.
|
1641 |
-
* Let's say: * { transition: all .5s ease; }
|
1642 |
-
* jquery timebox.css('marginTop') will return the original value which is before you clicking the next/prev button,
|
1643 |
-
* meanwhile the timebox[0].style.marginTop will return the right value which is after you clicking the
|
1644 |
-
* next/prev button.
|
1645 |
-
*
|
1646 |
-
* What we should do:
|
1647 |
-
* Replace timebox.css('marginTop') with timebox[0].style.marginTop.
|
1648 |
-
*/
|
1649 |
-
timeboxparent.trigger('scroll_element.xdsoft_scroller', [Math.abs(parseInt(timebox[0].style.marginTop, 10) / (height - pheight))]);
|
1650 |
-
period = (period > 10) ? 10 : period - 10;
|
1651 |
-
if (!stop) {
|
1652 |
-
timer = setTimeout(arguments_callee4, v || period);
|
1653 |
-
}
|
1654 |
-
}(500));
|
1655 |
-
$([options.ownerDocument.body, options.contentWindow]).on('touchend mouseup.xdsoft', function arguments_callee5() {
|
1656 |
-
clearTimeout(timer);
|
1657 |
-
stop = true;
|
1658 |
-
$([options.ownerDocument.body, options.contentWindow])
|
1659 |
-
.off('touchend mouseup.xdsoft', arguments_callee5);
|
1660 |
-
});
|
1661 |
-
});
|
1662 |
-
|
1663 |
-
xchangeTimer = 0;
|
1664 |
-
// base handler - generating a calendar and timepicker
|
1665 |
-
datetimepicker
|
1666 |
-
.on('xchange.xdsoft', function (event) {
|
1667 |
-
clearTimeout(xchangeTimer);
|
1668 |
-
xchangeTimer = setTimeout(function () {
|
1669 |
-
|
1670 |
-
if (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) {
|
1671 |
-
_xdsoft_datetime.currentTime = _xdsoft_datetime.now();
|
1672 |
-
}
|
1673 |
-
|
1674 |
-
var table = '',
|
1675 |
-
start = new Date(_xdsoft_datetime.currentTime.getFullYear(), _xdsoft_datetime.currentTime.getMonth(), 1, 12, 0, 0),
|
1676 |
-
i = 0,
|
1677 |
-
j,
|
1678 |
-
today = _xdsoft_datetime.now(),
|
1679 |
-
maxDate = false,
|
1680 |
-
minDate = false,
|
1681 |
-
minDateTime = false,
|
1682 |
-
maxDateTime = false,
|
1683 |
-
hDate,
|
1684 |
-
day,
|
1685 |
-
d,
|
1686 |
-
y,
|
1687 |
-
m,
|
1688 |
-
w,
|
1689 |
-
classes = [],
|
1690 |
-
customDateSettings,
|
1691 |
-
newRow = true,
|
1692 |
-
time = '',
|
1693 |
-
h,
|
1694 |
-
line_time,
|
1695 |
-
description;
|
1696 |
-
|
1697 |
-
while (start.getDay() !== options.dayOfWeekStart) {
|
1698 |
-
start.setDate(start.getDate() - 1);
|
1699 |
-
}
|
1700 |
-
|
1701 |
-
table += '<table><thead><tr>';
|
1702 |
-
|
1703 |
-
if (options.weeks) {
|
1704 |
-
table += '<th></th>';
|
1705 |
-
}
|
1706 |
-
|
1707 |
-
for (j = 0; j < 7; j += 1) {
|
1708 |
-
table += '<th>' + options.i18n[globalLocale].dayOfWeekShort[(j + options.dayOfWeekStart) % 7] + '</th>';
|
1709 |
-
}
|
1710 |
-
|
1711 |
-
table += '</tr></thead>';
|
1712 |
-
table += '<tbody>';
|
1713 |
-
|
1714 |
-
if (options.maxDate !== false) {
|
1715 |
-
maxDate = _xdsoft_datetime.strToDate(options.maxDate);
|
1716 |
-
maxDate = new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate(), 23, 59, 59, 999);
|
1717 |
-
}
|
1718 |
-
|
1719 |
-
if (options.minDate !== false) {
|
1720 |
-
minDate = _xdsoft_datetime.strToDate(options.minDate);
|
1721 |
-
minDate = new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate());
|
1722 |
-
}
|
1723 |
-
|
1724 |
-
if (options.minDateTime !== false) {
|
1725 |
-
minDateTime = _xdsoft_datetime.strToDate(options.minDateTime);
|
1726 |
-
minDateTime = new Date(minDateTime.getFullYear(), minDateTime.getMonth(), minDateTime.getDate(), minDateTime.getHours(), minDateTime.getMinutes(), minDateTime.getSeconds());
|
1727 |
-
}
|
1728 |
-
|
1729 |
-
if (options.maxDateTime !== false) {
|
1730 |
-
maxDateTime = _xdsoft_datetime.strToDate(options.maxDateTime);
|
1731 |
-
maxDateTime = new Date(maxDateTime.getFullYear(), maxDateTime.getMonth(), maxDateTime.getDate(), maxDateTime.getHours(), maxDateTime.getMinutes(), maxDateTime.getSeconds());
|
1732 |
-
}
|
1733 |
-
|
1734 |
-
var maxDateTimeDay;
|
1735 |
-
if (maxDateTime !== false) {
|
1736 |
-
maxDateTimeDay = ((maxDateTime.getFullYear() * 12) + maxDateTime.getMonth()) * 31 + maxDateTime.getDate();
|
1737 |
-
}
|
1738 |
-
|
1739 |
-
while (i < _xdsoft_datetime.currentTime.countDaysInMonth() || start.getDay() !== options.dayOfWeekStart || _xdsoft_datetime.currentTime.getMonth() === start.getMonth()) {
|
1740 |
-
classes = [];
|
1741 |
-
i += 1;
|
1742 |
-
|
1743 |
-
day = start.getDay();
|
1744 |
-
d = start.getDate();
|
1745 |
-
y = start.getFullYear();
|
1746 |
-
m = start.getMonth();
|
1747 |
-
w = _xdsoft_datetime.getWeekOfYear(start);
|
1748 |
-
description = '';
|
1749 |
-
|
1750 |
-
classes.push('xdsoft_date');
|
1751 |
-
|
1752 |
-
if (options.beforeShowDay && $.isFunction(options.beforeShowDay.call)) {
|
1753 |
-
customDateSettings = options.beforeShowDay.call(datetimepicker, start);
|
1754 |
-
} else {
|
1755 |
-
customDateSettings = null;
|
1756 |
-
}
|
1757 |
-
|
1758 |
-
if(options.allowDateRe && Object.prototype.toString.call(options.allowDateRe) === "[object RegExp]"){
|
1759 |
-
if(!options.allowDateRe.test(dateHelper.formatDate(start, options.formatDate))){
|
1760 |
-
classes.push('xdsoft_disabled');
|
1761 |
-
}
|
1762 |
-
}
|
1763 |
-
|
1764 |
-
if(options.allowDates && options.allowDates.length>0){
|
1765 |
-
if(options.allowDates.indexOf(dateHelper.formatDate(start, options.formatDate)) === -1){
|
1766 |
-
classes.push('xdsoft_disabled');
|
1767 |
-
}
|
1768 |
-
}
|
1769 |
-
|
1770 |
-
var currentDay = ((start.getFullYear() * 12) + start.getMonth()) * 31 + start.getDate();
|
1771 |
-
if ((maxDate !== false && start > maxDate) || (minDateTime !== false && start < minDateTime) || (minDate !== false && start < minDate) || (maxDateTime !== false && currentDay > maxDateTimeDay) || (customDateSettings && customDateSettings[0] === false)) {
|
1772 |
-
classes.push('xdsoft_disabled');
|
1773 |
-
}
|
1774 |
-
|
1775 |
-
if (options.disabledDates.indexOf(dateHelper.formatDate(start, options.formatDate)) !== -1) {
|
1776 |
-
classes.push('xdsoft_disabled');
|
1777 |
-
}
|
1778 |
-
|
1779 |
-
if (options.disabledWeekDays.indexOf(day) !== -1) {
|
1780 |
-
classes.push('xdsoft_disabled');
|
1781 |
-
}
|
1782 |
-
|
1783 |
-
if (input.is('[disabled]')) {
|
1784 |
-
classes.push('xdsoft_disabled');
|
1785 |
-
}
|
1786 |
-
|
1787 |
-
if (customDateSettings && customDateSettings[1] !== "") {
|
1788 |
-
classes.push(customDateSettings[1]);
|
1789 |
-
}
|
1790 |
-
|
1791 |
-
if (_xdsoft_datetime.currentTime.getMonth() !== m) {
|
1792 |
-
classes.push('xdsoft_other_month');
|
1793 |
-
}
|
1794 |
-
|
1795 |
-
if ((options.defaultSelect || datetimepicker.data('changed')) && dateHelper.formatDate(_xdsoft_datetime.currentTime, options.formatDate) === dateHelper.formatDate(start, options.formatDate)) {
|
1796 |
-
classes.push('xdsoft_current');
|
1797 |
-
}
|
1798 |
-
|
1799 |
-
if (dateHelper.formatDate(today, options.formatDate) === dateHelper.formatDate(start, options.formatDate)) {
|
1800 |
-
classes.push('xdsoft_today');
|
1801 |
-
}
|
1802 |
-
|
1803 |
-
if (start.getDay() === 0 || start.getDay() === 6 || options.weekends.indexOf(dateHelper.formatDate(start, options.formatDate)) !== -1) {
|
1804 |
-
classes.push('xdsoft_weekend');
|
1805 |
-
}
|
1806 |
-
|
1807 |
-
if (options.highlightedDates[dateHelper.formatDate(start, options.formatDate)] !== undefined) {
|
1808 |
-
hDate = options.highlightedDates[dateHelper.formatDate(start, options.formatDate)];
|
1809 |
-
classes.push(hDate.style === undefined ? 'xdsoft_highlighted_default' : hDate.style);
|
1810 |
-
description = hDate.desc === undefined ? '' : hDate.desc;
|
1811 |
-
}
|
1812 |
-
|
1813 |
-
if (options.beforeShowDay && $.isFunction(options.beforeShowDay)) {
|
1814 |
-
classes.push(options.beforeShowDay(start));
|
1815 |
-
}
|
1816 |
-
|
1817 |
-
if (newRow) {
|
1818 |
-
table += '<tr>';
|
1819 |
-
newRow = false;
|
1820 |
-
if (options.weeks) {
|
1821 |
-
table += '<th>' + w + '</th>';
|
1822 |
-
}
|
1823 |
-
}
|
1824 |
-
|
1825 |
-
table += '<td data-date="' + d + '" data-month="' + m + '" data-year="' + y + '"' + ' class="xdsoft_date xdsoft_day_of_week' + start.getDay() + ' ' + classes.join(' ') + '" title="' + description + '">' +
|
1826 |
-
'<div>' + d + '</div>' +
|
1827 |
-
'</td>';
|
1828 |
-
|
1829 |
-
if (start.getDay() === options.dayOfWeekStartPrev) {
|
1830 |
-
table += '</tr>';
|
1831 |
-
newRow = true;
|
1832 |
-
}
|
1833 |
-
|
1834 |
-
start.setDate(d + 1);
|
1835 |
-
}
|
1836 |
-
table += '</tbody></table>';
|
1837 |
-
|
1838 |
-
calendar.html(table);
|
1839 |
-
|
1840 |
-
month_picker.find('.xdsoft_label span').eq(0).text(options.i18n[globalLocale].months[_xdsoft_datetime.currentTime.getMonth()]);
|
1841 |
-
month_picker.find('.xdsoft_label span').eq(1).text(_xdsoft_datetime.currentTime.getFullYear() + options.yearOffset);
|
1842 |
-
|
1843 |
-
// generate timebox
|
1844 |
-
time = '';
|
1845 |
-
h = '';
|
1846 |
-
m = '';
|
1847 |
-
|
1848 |
-
var minTimeMinutesOfDay = 0;
|
1849 |
-
if (options.minTime !== false) {
|
1850 |
-
var t = _xdsoft_datetime.strtotime(options.minTime);
|
1851 |
-
minTimeMinutesOfDay = 60 * t.getHours() + t.getMinutes();
|
1852 |
-
}
|
1853 |
-
var maxTimeMinutesOfDay = 24 * 60;
|
1854 |
-
if (options.maxTime !== false) {
|
1855 |
-
var t = _xdsoft_datetime.strtotime(options.maxTime);
|
1856 |
-
maxTimeMinutesOfDay = 60 * t.getHours() + t.getMinutes();
|
1857 |
-
}
|
1858 |
-
|
1859 |
-
if (options.minDateTime !== false) {
|
1860 |
-
var t = _xdsoft_datetime.strToDateTime(options.minDateTime);
|
1861 |
-
var currentDayIsMinDateTimeDay = dateHelper.formatDate(_xdsoft_datetime.currentTime, options.formatDate) === dateHelper.formatDate(t, options.formatDate);
|
1862 |
-
if (currentDayIsMinDateTimeDay) {
|
1863 |
-
var m = 60 * t.getHours() + t.getMinutes();
|
1864 |
-
if (m > minTimeMinutesOfDay) minTimeMinutesOfDay = m;
|
1865 |
-
}
|
1866 |
-
}
|
1867 |
-
|
1868 |
-
if (options.maxDateTime !== false) {
|
1869 |
-
var t = _xdsoft_datetime.strToDateTime(options.maxDateTime);
|
1870 |
-
var currentDayIsMaxDateTimeDay = dateHelper.formatDate(_xdsoft_datetime.currentTime, options.formatDate) === dateHelper.formatDate(t, options.formatDate);
|
1871 |
-
if (currentDayIsMaxDateTimeDay) {
|
1872 |
-
var m = 60 * t.getHours() + t.getMinutes();
|
1873 |
-
if (m < maxTimeMinutesOfDay) maxTimeMinutesOfDay = m;
|
1874 |
-
}
|
1875 |
-
}
|
1876 |
-
|
1877 |
-
line_time = function line_time(h, m) {
|
1878 |
-
var now = _xdsoft_datetime.now(), current_time,
|
1879 |
-
isALlowTimesInit = options.allowTimes && $.isArray(options.allowTimes) && options.allowTimes.length;
|
1880 |
-
now.setHours(h);
|
1881 |
-
h = parseInt(now.getHours(), 10);
|
1882 |
-
now.setMinutes(m);
|
1883 |
-
m = parseInt(now.getMinutes(), 10);
|
1884 |
-
classes = [];
|
1885 |
-
var currentMinutesOfDay = 60 * h + m;
|
1886 |
-
if (input.is('[disabled]') || (currentMinutesOfDay >= maxTimeMinutesOfDay) || (currentMinutesOfDay < minTimeMinutesOfDay)) {
|
1887 |
-
classes.push('xdsoft_disabled');
|
1888 |
-
}
|
1889 |
-
|
1890 |
-
current_time = new Date(_xdsoft_datetime.currentTime);
|
1891 |
-
current_time.setHours(parseInt(_xdsoft_datetime.currentTime.getHours(), 10));
|
1892 |
-
|
1893 |
-
if (!isALlowTimesInit) {
|
1894 |
-
current_time.setMinutes(Math[options.roundTime](_xdsoft_datetime.currentTime.getMinutes() / options.step) * options.step);
|
1895 |
-
}
|
1896 |
-
|
1897 |
-
if ((options.initTime || options.defaultSelect || datetimepicker.data('changed')) && current_time.getHours() === parseInt(h, 10) && ((!isALlowTimesInit && options.step > 59) || current_time.getMinutes() === parseInt(m, 10))) {
|
1898 |
-
if (options.defaultSelect || datetimepicker.data('changed')) {
|
1899 |
-
classes.push('xdsoft_current');
|
1900 |
-
} else if (options.initTime) {
|
1901 |
-
classes.push('xdsoft_init_time');
|
1902 |
-
}
|
1903 |
-
}
|
1904 |
-
if (parseInt(today.getHours(), 10) === parseInt(h, 10) && parseInt(today.getMinutes(), 10) === parseInt(m, 10)) {
|
1905 |
-
classes.push('xdsoft_today');
|
1906 |
-
}
|
1907 |
-
time += '<div class="xdsoft_time ' + classes.join(' ') + '" data-hour="' + h + '" data-minute="' + m + '">' + dateHelper.formatDate(now, options.formatTime) + '</div>';
|
1908 |
-
};
|
1909 |
-
|
1910 |
-
if (!options.allowTimes || !$.isArray(options.allowTimes) || !options.allowTimes.length) {
|
1911 |
-
for (i = 0, j = 0; i < (options.hours12 ? 12 : 24); i += 1) {
|
1912 |
-
for (j = 0; j < 60; j += options.step) {
|
1913 |
-
var currentMinutesOfDay = i * 60 + j;
|
1914 |
-
if (currentMinutesOfDay < minTimeMinutesOfDay) continue;
|
1915 |
-
if (currentMinutesOfDay >= maxTimeMinutesOfDay) continue;
|
1916 |
-
h = (i < 10 ? '0' : '') + i;
|
1917 |
-
m = (j < 10 ? '0' : '') + j;
|
1918 |
-
line_time(h, m);
|
1919 |
-
}
|
1920 |
-
}
|
1921 |
-
} else {
|
1922 |
-
for (i = 0; i < options.allowTimes.length; i += 1) {
|
1923 |
-
h = _xdsoft_datetime.strtotime(options.allowTimes[i]).getHours();
|
1924 |
-
m = _xdsoft_datetime.strtotime(options.allowTimes[i]).getMinutes();
|
1925 |
-
line_time(h, m);
|
1926 |
-
}
|
1927 |
-
}
|
1928 |
-
|
1929 |
-
timebox.html(time);
|
1930 |
-
|
1931 |
-
opt = '';
|
1932 |
-
|
1933 |
-
for (i = parseInt(options.yearStart, 10); i <= parseInt(options.yearEnd, 10); i += 1) {
|
1934 |
-
opt += '<div class="xdsoft_option ' + (_xdsoft_datetime.currentTime.getFullYear() === i ? 'xdsoft_current' : '') + '" data-value="' + i + '">' + (i + options.yearOffset) + '</div>';
|
1935 |
-
}
|
1936 |
-
yearselect.children().eq(0)
|
1937 |
-
.html(opt);
|
1938 |
-
|
1939 |
-
for (i = parseInt(options.monthStart, 10), opt = ''; i <= parseInt(options.monthEnd, 10); i += 1) {
|
1940 |
-
opt += '<div class="xdsoft_option ' + (_xdsoft_datetime.currentTime.getMonth() === i ? 'xdsoft_current' : '') + '" data-value="' + i + '">' + options.i18n[globalLocale].months[i] + '</div>';
|
1941 |
-
}
|
1942 |
-
monthselect.children().eq(0).html(opt);
|
1943 |
-
$(datetimepicker)
|
1944 |
-
.trigger('generate.xdsoft');
|
1945 |
-
}, 10);
|
1946 |
-
event.stopPropagation();
|
1947 |
-
})
|
1948 |
-
.on('afterOpen.xdsoft', function () {
|
1949 |
-
if (options.timepicker) {
|
1950 |
-
var classType, pheight, height, top;
|
1951 |
-
if (timebox.find('.xdsoft_current').length) {
|
1952 |
-
classType = '.xdsoft_current';
|
1953 |
-
} else if (timebox.find('.xdsoft_init_time').length) {
|
1954 |
-
classType = '.xdsoft_init_time';
|
1955 |
-
}
|
1956 |
-
if (classType) {
|
1957 |
-
pheight = timeboxparent[0].clientHeight;
|
1958 |
-
height = timebox[0].offsetHeight;
|
1959 |
-
top = timebox.find(classType).index() * options.timeHeightInTimePicker + 1;
|
1960 |
-
if ((height - pheight) < top) {
|
1961 |
-
top = height - pheight;
|
1962 |
-
}
|
1963 |
-
timeboxparent.trigger('scroll_element.xdsoft_scroller', [parseInt(top, 10) / (height - pheight)]);
|
1964 |
-
} else {
|
1965 |
-
timeboxparent.trigger('scroll_element.xdsoft_scroller', [0]);
|
1966 |
-
}
|
1967 |
-
}
|
1968 |
-
});
|
1969 |
-
|
1970 |
-
timerclick = 0;
|
1971 |
-
calendar
|
1972 |
-
.on('touchend click.xdsoft', 'td', function (xdevent) {
|
1973 |
-
xdevent.stopPropagation(); // Prevents closing of Pop-ups, Modals and Flyouts in Bootstrap
|
1974 |
-
timerclick += 1;
|
1975 |
-
var $this = $(this),
|
1976 |
-
currentTime = _xdsoft_datetime.currentTime;
|
1977 |
-
|
1978 |
-
if (currentTime === undefined || currentTime === null) {
|
1979 |
-
_xdsoft_datetime.currentTime = _xdsoft_datetime.now();
|
1980 |
-
currentTime = _xdsoft_datetime.currentTime;
|
1981 |
-
}
|
1982 |
-
|
1983 |
-
if ($this.hasClass('xdsoft_disabled')) {
|
1984 |
-
return false;
|
1985 |
-
}
|
1986 |
-
|
1987 |
-
currentTime.setDate(1);
|
1988 |
-
currentTime.setFullYear($this.data('year'));
|
1989 |
-
currentTime.setMonth($this.data('month'));
|
1990 |
-
currentTime.setDate($this.data('date'));
|
1991 |
-
|
1992 |
-
datetimepicker.trigger('select.xdsoft', [currentTime]);
|
1993 |
-
|
1994 |
-
input.val(_xdsoft_datetime.str());
|
1995 |
-
|
1996 |
-
if (options.onSelectDate && $.isFunction(options.onSelectDate)) {
|
1997 |
-
options.onSelectDate.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), xdevent);
|
1998 |
-
}
|
1999 |
-
|
2000 |
-
datetimepicker.data('changed', true);
|
2001 |
-
datetimepicker.trigger('xchange.xdsoft');
|
2002 |
-
datetimepicker.trigger('changedatetime.xdsoft');
|
2003 |
-
if ((timerclick > 1 || (options.closeOnDateSelect === true || (options.closeOnDateSelect === false && !options.timepicker))) && !options.inline) {
|
2004 |
-
datetimepicker.trigger('close.xdsoft');
|
2005 |
-
}
|
2006 |
-
setTimeout(function () {
|
2007 |
-
timerclick = 0;
|
2008 |
-
}, 200);
|
2009 |
-
});
|
2010 |
-
|
2011 |
-
timebox
|
2012 |
-
.on('touchstart', 'div', function (xdevent) {
|
2013 |
-
this.touchMoved = false;
|
2014 |
-
})
|
2015 |
-
.on('touchmove', 'div', handleTouchMoved)
|
2016 |
-
.on('touchend click.xdsoft', 'div', function (xdevent) {
|
2017 |
-
if (!this.touchMoved) {
|
2018 |
-
xdevent.stopPropagation();
|
2019 |
-
var $this = $(this),
|
2020 |
-
currentTime = _xdsoft_datetime.currentTime;
|
2021 |
-
|
2022 |
-
if (currentTime === undefined || currentTime === null) {
|
2023 |
-
_xdsoft_datetime.currentTime = _xdsoft_datetime.now();
|
2024 |
-
currentTime = _xdsoft_datetime.currentTime;
|
2025 |
-
}
|
2026 |
-
|
2027 |
-
if ($this.hasClass('xdsoft_disabled')) {
|
2028 |
-
return false;
|
2029 |
-
}
|
2030 |
-
currentTime.setHours($this.data('hour'));
|
2031 |
-
currentTime.setMinutes($this.data('minute'));
|
2032 |
-
datetimepicker.trigger('select.xdsoft', [currentTime]);
|
2033 |
-
|
2034 |
-
datetimepicker.data('input').val(_xdsoft_datetime.str());
|
2035 |
-
|
2036 |
-
if (options.onSelectTime && $.isFunction(options.onSelectTime)) {
|
2037 |
-
options.onSelectTime.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), xdevent);
|
2038 |
-
}
|
2039 |
-
datetimepicker.data('changed', true);
|
2040 |
-
datetimepicker.trigger('xchange.xdsoft');
|
2041 |
-
datetimepicker.trigger('changedatetime.xdsoft');
|
2042 |
-
if (options.inline !== true && options.closeOnTimeSelect === true) {
|
2043 |
-
datetimepicker.trigger('close.xdsoft');
|
2044 |
-
}
|
2045 |
-
}
|
2046 |
-
});
|
2047 |
-
|
2048 |
-
datepicker
|
2049 |
-
.on('mousewheel.xdsoft', function (event) {
|
2050 |
-
if (!options.scrollMonth) {
|
2051 |
-
return true;
|
2052 |
-
}
|
2053 |
-
if (event.deltaY < 0) {
|
2054 |
-
_xdsoft_datetime.nextMonth();
|
2055 |
-
} else {
|
2056 |
-
_xdsoft_datetime.prevMonth();
|
2057 |
-
}
|
2058 |
-
return false;
|
2059 |
-
});
|
2060 |
-
|
2061 |
-
input
|
2062 |
-
.on('mousewheel.xdsoft', function (event) {
|
2063 |
-
if (!options.scrollInput) {
|
2064 |
-
return true;
|
2065 |
-
}
|
2066 |
-
if (!options.datepicker && options.timepicker) {
|
2067 |
-
current_time_index = timebox.find('.xdsoft_current').length ? timebox.find('.xdsoft_current').eq(0).index() : 0;
|
2068 |
-
if (current_time_index + event.deltaY >= 0 && current_time_index + event.deltaY < timebox.children().length) {
|
2069 |
-
current_time_index += event.deltaY;
|
2070 |
-
}
|
2071 |
-
if (timebox.children().eq(current_time_index).length) {
|
2072 |
-
timebox.children().eq(current_time_index).trigger('mousedown');
|
2073 |
-
}
|
2074 |
-
return false;
|
2075 |
-
}
|
2076 |
-
if (options.datepicker && !options.timepicker) {
|
2077 |
-
datepicker.trigger(event, [event.deltaY, event.deltaX, event.deltaY]);
|
2078 |
-
if (input.val) {
|
2079 |
-
input.val(_xdsoft_datetime.str());
|
2080 |
-
}
|
2081 |
-
datetimepicker.trigger('changedatetime.xdsoft');
|
2082 |
-
return false;
|
2083 |
-
}
|
2084 |
-
});
|
2085 |
-
|
2086 |
-
datetimepicker
|
2087 |
-
.on('changedatetime.xdsoft', function (event) {
|
2088 |
-
if (options.onChangeDateTime && $.isFunction(options.onChangeDateTime)) {
|
2089 |
-
var $input = datetimepicker.data('input');
|
2090 |
-
options.onChangeDateTime.call(datetimepicker, _xdsoft_datetime.currentTime, $input, event);
|
2091 |
-
delete options.value;
|
2092 |
-
$input.trigger('change');
|
2093 |
-
}
|
2094 |
-
})
|
2095 |
-
.on('generate.xdsoft', function () {
|
2096 |
-
if (options.onGenerate && $.isFunction(options.onGenerate)) {
|
2097 |
-
options.onGenerate.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
|
2098 |
-
}
|
2099 |
-
if (triggerAfterOpen) {
|
2100 |
-
datetimepicker.trigger('afterOpen.xdsoft');
|
2101 |
-
triggerAfterOpen = false;
|
2102 |
-
}
|
2103 |
-
})
|
2104 |
-
.on('click.xdsoft', function (xdevent) {
|
2105 |
-
xdevent.stopPropagation();
|
2106 |
-
});
|
2107 |
-
|
2108 |
-
current_time_index = 0;
|
2109 |
-
|
2110 |
-
/**
|
2111 |
-
* Runs the callback for each of the specified node's ancestors.
|
2112 |
-
*
|
2113 |
-
* Return FALSE from the callback to stop ascending.
|
2114 |
-
*
|
2115 |
-
* @param {DOMNode} node
|
2116 |
-
* @param {Function} callback
|
2117 |
-
* @returns {undefined}
|
2118 |
-
*/
|
2119 |
-
forEachAncestorOf = function (node, callback) {
|
2120 |
-
do {
|
2121 |
-
node = node.parentNode;
|
2122 |
-
|
2123 |
-
if (!node || callback(node) === false) {
|
2124 |
-
break;
|
2125 |
-
}
|
2126 |
-
} while (node.nodeName !== 'HTML');
|
2127 |
-
};
|
2128 |
-
|
2129 |
-
/**
|
2130 |
-
* Sets the position of the picker.
|
2131 |
-
*
|
2132 |
-
* @returns {undefined}
|
2133 |
-
*/
|
2134 |
-
setPos = function () {
|
2135 |
-
var dateInputOffset,
|
2136 |
-
dateInputElem,
|
2137 |
-
verticalPosition,
|
2138 |
-
left,
|
2139 |
-
position,
|
2140 |
-
datetimepickerElem,
|
2141 |
-
dateInputHasFixedAncestor,
|
2142 |
-
$dateInput,
|
2143 |
-
windowWidth,
|
2144 |
-
verticalAnchorEdge,
|
2145 |
-
datetimepickerCss,
|
2146 |
-
windowHeight,
|
2147 |
-
windowScrollTop;
|
2148 |
-
|
2149 |
-
$dateInput = datetimepicker.data('input');
|
2150 |
-
dateInputOffset = $dateInput.offset();
|
2151 |
-
dateInputElem = $dateInput[0];
|
2152 |
-
|
2153 |
-
verticalAnchorEdge = 'top';
|
2154 |
-
verticalPosition = (dateInputOffset.top + dateInputElem.offsetHeight) - 1;
|
2155 |
-
left = dateInputOffset.left;
|
2156 |
-
position = "absolute";
|
2157 |
-
|
2158 |
-
windowWidth = $(options.contentWindow).width();
|
2159 |
-
windowHeight = $(options.contentWindow).height();
|
2160 |
-
windowScrollTop = $(options.contentWindow).scrollTop();
|
2161 |
-
|
2162 |
-
if ((options.ownerDocument.documentElement.clientWidth - dateInputOffset.left) < datepicker.parent().outerWidth(true)) {
|
2163 |
-
var diff = datepicker.parent().outerWidth(true) - dateInputElem.offsetWidth;
|
2164 |
-
left = left - diff;
|
2165 |
-
}
|
2166 |
-
|
2167 |
-
if ($dateInput.parent().css('direction') === 'rtl') {
|
2168 |
-
left -= (datetimepicker.outerWidth() - $dateInput.outerWidth());
|
2169 |
-
}
|
2170 |
-
|
2171 |
-
if (options.fixed) {
|
2172 |
-
verticalPosition -= windowScrollTop;
|
2173 |
-
left -= $(options.contentWindow).scrollLeft();
|
2174 |
-
position = "fixed";
|
2175 |
-
} else {
|
2176 |
-
dateInputHasFixedAncestor = false;
|
2177 |
-
|
2178 |
-
forEachAncestorOf(dateInputElem, function (ancestorNode) {
|
2179 |
-
if (ancestorNode === null) {
|
2180 |
-
return false;
|
2181 |
-
}
|
2182 |
-
|
2183 |
-
if (options.contentWindow.getComputedStyle(ancestorNode).getPropertyValue('position') === 'fixed') {
|
2184 |
-
dateInputHasFixedAncestor = true;
|
2185 |
-
return false;
|
2186 |
-
}
|
2187 |
-
});
|
2188 |
-
|
2189 |
-
if (dateInputHasFixedAncestor && !options.insideParent) {
|
2190 |
-
position = 'fixed';
|
2191 |
-
|
2192 |
-
//If the picker won't fit entirely within the viewport then display it above the date input.
|
2193 |
-
if (verticalPosition + datetimepicker.outerHeight() > windowHeight + windowScrollTop) {
|
2194 |
-
verticalAnchorEdge = 'bottom';
|
2195 |
-
verticalPosition = (windowHeight + windowScrollTop) - dateInputOffset.top;
|
2196 |
-
} else {
|
2197 |
-
verticalPosition -= windowScrollTop;
|
2198 |
-
}
|
2199 |
-
} else {
|
2200 |
-
if (verticalPosition + datetimepicker[0].offsetHeight > windowHeight + windowScrollTop) {
|
2201 |
-
verticalPosition = dateInputOffset.top - datetimepicker[0].offsetHeight + 1;
|
2202 |
-
}
|
2203 |
-
}
|
2204 |
-
|
2205 |
-
if (verticalPosition < 0) {
|
2206 |
-
verticalPosition = 0;
|
2207 |
-
}
|
2208 |
-
|
2209 |
-
if (left + dateInputElem.offsetWidth > windowWidth) {
|
2210 |
-
left = windowWidth - dateInputElem.offsetWidth;
|
2211 |
-
}
|
2212 |
-
}
|
2213 |
-
|
2214 |
-
datetimepickerElem = datetimepicker[0];
|
2215 |
-
|
2216 |
-
forEachAncestorOf(datetimepickerElem, function (ancestorNode) {
|
2217 |
-
var ancestorNodePosition;
|
2218 |
-
|
2219 |
-
ancestorNodePosition = options.contentWindow.getComputedStyle(ancestorNode).getPropertyValue('position');
|
2220 |
-
|
2221 |
-
if (ancestorNodePosition === 'relative' && windowWidth >= ancestorNode.offsetWidth) {
|
2222 |
-
left = left - ((windowWidth - ancestorNode.offsetWidth) / 2);
|
2223 |
-
return false;
|
2224 |
-
}
|
2225 |
-
});
|
2226 |
-
|
2227 |
-
datetimepickerCss = {
|
2228 |
-
position: position,
|
2229 |
-
left: options.insideParent ? dateInputElem.offsetLeft : left,
|
2230 |
-
top: '', //Initialize to prevent previous values interfering with new ones.
|
2231 |
-
bottom: '' //Initialize to prevent previous values interfering with new ones.
|
2232 |
-
};
|
2233 |
-
|
2234 |
-
if (options.insideParent) {
|
2235 |
-
datetimepickerCss[verticalAnchorEdge] = dateInputElem.offsetTop + dateInputElem.offsetHeight;
|
2236 |
-
} else {
|
2237 |
-
datetimepickerCss[verticalAnchorEdge] = verticalPosition;
|
2238 |
-
}
|
2239 |
-
|
2240 |
-
datetimepicker.css(datetimepickerCss);
|
2241 |
-
};
|
2242 |
-
|
2243 |
-
datetimepicker
|
2244 |
-
.on('open.xdsoft', function (event) {
|
2245 |
-
var onShow = true;
|
2246 |
-
if (options.onShow && $.isFunction(options.onShow)) {
|
2247 |
-
onShow = options.onShow.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), event);
|
2248 |
-
}
|
2249 |
-
if (onShow !== false) {
|
2250 |
-
datetimepicker.show();
|
2251 |
-
setPos();
|
2252 |
-
$(options.contentWindow)
|
2253 |
-
.off('resize.xdsoft', setPos)
|
2254 |
-
.on('resize.xdsoft', setPos);
|
2255 |
-
|
2256 |
-
if (options.closeOnWithoutClick) {
|
2257 |
-
$([options.ownerDocument.body, options.contentWindow]).on('touchstart mousedown.xdsoft', function arguments_callee6() {
|
2258 |
-
datetimepicker.trigger('close.xdsoft');
|
2259 |
-
$([options.ownerDocument.body, options.contentWindow]).off('touchstart mousedown.xdsoft', arguments_callee6);
|
2260 |
-
});
|
2261 |
-
}
|
2262 |
-
}
|
2263 |
-
})
|
2264 |
-
.on('close.xdsoft', function (event) {
|
2265 |
-
var onClose = true;
|
2266 |
-
month_picker
|
2267 |
-
.find('.xdsoft_month,.xdsoft_year')
|
2268 |
-
.find('.xdsoft_select')
|
2269 |
-
.hide();
|
2270 |
-
if (options.onClose && $.isFunction(options.onClose)) {
|
2271 |
-
onClose = options.onClose.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), event);
|
2272 |
-
}
|
2273 |
-
if (onClose !== false && !options.opened && !options.inline) {
|
2274 |
-
datetimepicker.hide();
|
2275 |
-
}
|
2276 |
-
event.stopPropagation();
|
2277 |
-
})
|
2278 |
-
.on('toggle.xdsoft', function () {
|
2279 |
-
if (datetimepicker.is(':visible')) {
|
2280 |
-
datetimepicker.trigger('close.xdsoft');
|
2281 |
-
} else {
|
2282 |
-
datetimepicker.trigger('open.xdsoft');
|
2283 |
-
}
|
2284 |
-
})
|
2285 |
-
.data('input', input);
|
2286 |
-
|
2287 |
-
timer = 0;
|
2288 |
-
|
2289 |
-
datetimepicker.data('xdsoft_datetime', _xdsoft_datetime);
|
2290 |
-
datetimepicker.setOptions(options);
|
2291 |
-
|
2292 |
-
function getCurrentValue() {
|
2293 |
-
var ct = false, time;
|
2294 |
-
|
2295 |
-
if (options.startDate) {
|
2296 |
-
ct = _xdsoft_datetime.strToDate(options.startDate);
|
2297 |
-
} else {
|
2298 |
-
ct = options.value || ((input && input.val && input.val()) ? input.val() : '');
|
2299 |
-
if (ct) {
|
2300 |
-
ct = _xdsoft_datetime.strToDateTime(ct);
|
2301 |
-
if (options.yearOffset) {
|
2302 |
-
ct = new Date(ct.getFullYear() - options.yearOffset, ct.getMonth(), ct.getDate(), ct.getHours(), ct.getMinutes(), ct.getSeconds(), ct.getMilliseconds());
|
2303 |
-
}
|
2304 |
-
} else if (options.defaultDate) {
|
2305 |
-
ct = _xdsoft_datetime.strToDateTime(options.defaultDate);
|
2306 |
-
if (options.defaultTime) {
|
2307 |
-
time = _xdsoft_datetime.strtotime(options.defaultTime);
|
2308 |
-
ct.setHours(time.getHours());
|
2309 |
-
ct.setMinutes(time.getMinutes());
|
2310 |
-
}
|
2311 |
-
}
|
2312 |
-
}
|
2313 |
-
|
2314 |
-
if (ct && _xdsoft_datetime.isValidDate(ct)) {
|
2315 |
-
datetimepicker.data('changed', true);
|
2316 |
-
} else {
|
2317 |
-
ct = '';
|
2318 |
-
}
|
2319 |
-
|
2320 |
-
return ct || 0;
|
2321 |
-
}
|
2322 |
-
|
2323 |
-
function setMask(options) {
|
2324 |
-
|
2325 |
-
var isValidValue = function (mask, value) {
|
2326 |
-
var reg = mask
|
2327 |
-
.replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g, '\\$1')
|
2328 |
-
.replace(/_/g, '{digit+}')
|
2329 |
-
.replace(/([0-9]{1})/g, '{digit$1}')
|
2330 |
-
.replace(/\{digit([0-9]{1})\}/g, '[0-$1_]{1}')
|
2331 |
-
.replace(/\{digit[\+]\}/g, '[0-9_]{1}');
|
2332 |
-
return (new RegExp(reg)).test(value);
|
2333 |
-
},
|
2334 |
-
getCaretPos = function (input) {
|
2335 |
-
try {
|
2336 |
-
if (options.ownerDocument.selection && options.ownerDocument.selection.createRange) {
|
2337 |
-
var range = options.ownerDocument.selection.createRange();
|
2338 |
-
return range.getBookmark().charCodeAt(2) - 2;
|
2339 |
-
}
|
2340 |
-
if (input.setSelectionRange) {
|
2341 |
-
return input.selectionStart;
|
2342 |
-
}
|
2343 |
-
} catch (e) {
|
2344 |
-
return 0;
|
2345 |
-
}
|
2346 |
-
},
|
2347 |
-
setCaretPos = function (node, pos) {
|
2348 |
-
node = (typeof node === "string" || node instanceof String) ? options.ownerDocument.getElementById(node) : node;
|
2349 |
-
if (!node) {
|
2350 |
-
return false;
|
2351 |
-
}
|
2352 |
-
if (node.createTextRange) {
|
2353 |
-
var textRange = node.createTextRange();
|
2354 |
-
textRange.collapse(true);
|
2355 |
-
textRange.moveEnd('character', pos);
|
2356 |
-
textRange.moveStart('character', pos);
|
2357 |
-
textRange.select();
|
2358 |
-
return true;
|
2359 |
-
}
|
2360 |
-
if (node.setSelectionRange) {
|
2361 |
-
node.setSelectionRange(pos, pos);
|
2362 |
-
return true;
|
2363 |
-
}
|
2364 |
-
return false;
|
2365 |
-
};
|
2366 |
-
|
2367 |
-
if(options.mask) {
|
2368 |
-
input.off('keydown.xdsoft');
|
2369 |
-
}
|
2370 |
-
|
2371 |
-
if (options.mask === true) {
|
2372 |
-
if (dateHelper.formatMask) {
|
2373 |
-
options.mask = dateHelper.formatMask(options.format)
|
2374 |
-
} else {
|
2375 |
-
options.mask = options.format
|
2376 |
-
.replace(/Y/g, '9999')
|
2377 |
-
.replace(/F/g, '9999')
|
2378 |
-
.replace(/m/g, '19')
|
2379 |
-
.replace(/d/g, '39')
|
2380 |
-
.replace(/H/g, '29')
|
2381 |
-
.replace(/i/g, '59')
|
2382 |
-
.replace(/s/g, '59');
|
2383 |
-
}
|
2384 |
-
}
|
2385 |
-
|
2386 |
-
if ($.type(options.mask) === 'string') {
|
2387 |
-
if (!isValidValue(options.mask, input.val())) {
|
2388 |
-
input.val(options.mask.replace(/[0-9]/g, '_'));
|
2389 |
-
setCaretPos(input[0], 0);
|
2390 |
-
}
|
2391 |
-
|
2392 |
-
input.on('paste.xdsoft', function (event) {
|
2393 |
-
// couple options here
|
2394 |
-
// 1. return false - tell them they can't paste
|
2395 |
-
// 2. insert over current characters - minimal validation
|
2396 |
-
// 3. full fledged parsing and validation
|
2397 |
-
// let's go option 2 for now
|
2398 |
-
|
2399 |
-
// fires multiple times for some reason
|
2400 |
-
|
2401 |
-
// https://stackoverflow.com/a/30496488/1366033
|
2402 |
-
var clipboardData = event.clipboardData || event.originalEvent.clipboardData || window.clipboardData,
|
2403 |
-
pastedData = clipboardData.getData('text'),
|
2404 |
-
val = this.value,
|
2405 |
-
pos = this.selectionStart
|
2406 |
-
|
2407 |
-
var valueBeforeCursor = val.substr(0, pos);
|
2408 |
-
var valueAfterPaste = val.substr(pos + pastedData.length);
|
2409 |
-
|
2410 |
-
val = valueBeforeCursor + pastedData + valueAfterPaste;
|
2411 |
-
pos += pastedData.length;
|
2412 |
-
|
2413 |
-
if (isValidValue(options.mask, val)) {
|
2414 |
-
this.value = val;
|
2415 |
-
setCaretPos(this, pos);
|
2416 |
-
} else if ($.trim(val) === '') {
|
2417 |
-
this.value = options.mask.replace(/[0-9]/g, '_');
|
2418 |
-
} else {
|
2419 |
-
input.trigger('error_input.xdsoft');
|
2420 |
-
}
|
2421 |
-
|
2422 |
-
event.preventDefault();
|
2423 |
-
return false;
|
2424 |
-
});
|
2425 |
-
|
2426 |
-
input.on('keydown.xdsoft', function (event) {
|
2427 |
-
var val = this.value,
|
2428 |
-
key = event.which,
|
2429 |
-
pos = this.selectionStart,
|
2430 |
-
selEnd = this.selectionEnd,
|
2431 |
-
hasSel = pos !== selEnd,
|
2432 |
-
digit;
|
2433 |
-
|
2434 |
-
// only alow these characters
|
2435 |
-
if (((key >= KEY0 && key <= KEY9) ||
|
2436 |
-
(key >= _KEY0 && key <= _KEY9)) ||
|
2437 |
-
(key === BACKSPACE || key === DEL)) {
|
2438 |
-
|
2439 |
-
// get char to insert which is new character or placeholder ('_')
|
2440 |
-
digit = (key === BACKSPACE || key === DEL) ? '_' :
|
2441 |
-
String.fromCharCode((_KEY0 <= key && key <= _KEY9) ? key - KEY0 : key);
|
2442 |
-
|
2443 |
-
// we're deleting something, we're not at the start, and have normal cursor, move back one
|
2444 |
-
// if we have a selection length, cursor actually sits behind deletable char, not in front
|
2445 |
-
if (key === BACKSPACE && pos && !hasSel) {
|
2446 |
-
pos -= 1;
|
2447 |
-
}
|
2448 |
-
|
2449 |
-
// don't stop on a separator, continue whatever direction you were going
|
2450 |
-
// value char - keep incrementing position while on separator char and we still have room
|
2451 |
-
// del char - keep decrementing position while on separator char and we still have room
|
2452 |
-
while (true) {
|
2453 |
-
var maskValueAtCurPos = options.mask.substr(pos, 1);
|
2454 |
-
var posShorterThanMaskLength = pos < options.mask.length;
|
2455 |
-
var posGreaterThanZero = pos > 0;
|
2456 |
-
var notNumberOrPlaceholder = /[^0-9_]/;
|
2457 |
-
var curPosOnSep = notNumberOrPlaceholder.test(maskValueAtCurPos);
|
2458 |
-
var continueMovingPosition = curPosOnSep && posShorterThanMaskLength && posGreaterThanZero
|
2459 |
-
|
2460 |
-
// if we hit a real char, stay where we are
|
2461 |
-
if (!continueMovingPosition) break;
|
2462 |
-
|
2463 |
-
// hitting backspace in a selection, you can possibly go back any further - go forward
|
2464 |
-
pos += (key === BACKSPACE && !hasSel) ? -1 : 1;
|
2465 |
-
|
2466 |
-
}
|
2467 |
-
|
2468 |
-
if (event.metaKey) { // cmd has been pressed
|
2469 |
-
pos = 0;
|
2470 |
-
hasSel = true;
|
2471 |
-
}
|
2472 |
-
|
2473 |
-
if (hasSel) {
|
2474 |
-
// pos might have moved so re-calc length
|
2475 |
-
var selLength = selEnd - pos
|
2476 |
-
|
2477 |
-
// if we have a selection length we will wipe out entire selection and replace with default template for that range
|
2478 |
-
var defaultBlank = options.mask.replace(/[0-9]/g, '_');
|
2479 |
-
var defaultBlankSelectionReplacement = defaultBlank.substr(pos, selLength);
|
2480 |
-
var selReplacementRemainder = defaultBlankSelectionReplacement.substr(1) // might be empty
|
2481 |
-
|
2482 |
-
var valueBeforeSel = val.substr(0, pos);
|
2483 |
-
var insertChars = digit + selReplacementRemainder;
|
2484 |
-
var charsAfterSelection = val.substr(pos + selLength);
|
2485 |
-
|
2486 |
-
val = valueBeforeSel + insertChars + charsAfterSelection
|
2487 |
-
|
2488 |
-
} else {
|
2489 |
-
var valueBeforeCursor = val.substr(0, pos);
|
2490 |
-
var insertChar = digit;
|
2491 |
-
var valueAfterNextChar = val.substr(pos + 1);
|
2492 |
-
|
2493 |
-
val = valueBeforeCursor + insertChar + valueAfterNextChar
|
2494 |
-
}
|
2495 |
-
|
2496 |
-
if ($.trim(val) === '') {
|
2497 |
-
// if empty, set to default
|
2498 |
-
val = defaultBlank
|
2499 |
-
} else {
|
2500 |
-
// if at the last character don't need to do anything
|
2501 |
-
if (pos === options.mask.length) {
|
2502 |
-
event.preventDefault();
|
2503 |
-
return false;
|
2504 |
-
}
|
2505 |
-
}
|
2506 |
-
|
2507 |
-
// resume cursor location
|
2508 |
-
pos += (key === BACKSPACE) ? 0 : 1;
|
2509 |
-
// don't stop on a separator, continue whatever direction you were going
|
2510 |
-
while (/[^0-9_]/.test(options.mask.substr(pos, 1)) && pos < options.mask.length && pos > 0) {
|
2511 |
-
pos += (key === BACKSPACE) ? 0 : 1;
|
2512 |
-
}
|
2513 |
-
|
2514 |
-
if (isValidValue(options.mask, val)) {
|
2515 |
-
this.value = val;
|
2516 |
-
setCaretPos(this, pos);
|
2517 |
-
} else if ($.trim(val) === '') {
|
2518 |
-
this.value = options.mask.replace(/[0-9]/g, '_');
|
2519 |
-
} else {
|
2520 |
-
input.trigger('error_input.xdsoft');
|
2521 |
-
}
|
2522 |
-
} else {
|
2523 |
-
if (([AKEY, CKEY, VKEY, ZKEY, YKEY].indexOf(key) !== -1 && ctrlDown) || [ESC, ARROWUP, ARROWDOWN, ARROWLEFT, ARROWRIGHT, F5, CTRLKEY, TAB, ENTER].indexOf(key) !== -1) {
|
2524 |
-
return true;
|
2525 |
-
}
|
2526 |
-
}
|
2527 |
-
|
2528 |
-
event.preventDefault();
|
2529 |
-
return false;
|
2530 |
-
});
|
2531 |
-
}
|
2532 |
-
}
|
2533 |
-
|
2534 |
-
_xdsoft_datetime.setCurrentTime(getCurrentValue());
|
2535 |
-
|
2536 |
-
input
|
2537 |
-
.data('xdsoft_datetimepicker', datetimepicker)
|
2538 |
-
.on('open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart', function () {
|
2539 |
-
if (input.is(':disabled') || (input.data('xdsoft_datetimepicker').is(':visible') && options.closeOnInputClick)) {
|
2540 |
-
return;
|
2541 |
-
}
|
2542 |
-
if (!options.openOnFocus) {
|
2543 |
-
return;
|
2544 |
-
}
|
2545 |
-
clearTimeout(timer);
|
2546 |
-
timer = setTimeout(function () {
|
2547 |
-
if (input.is(':disabled')) {
|
2548 |
-
return;
|
2549 |
-
}
|
2550 |
-
|
2551 |
-
triggerAfterOpen = true;
|
2552 |
-
_xdsoft_datetime.setCurrentTime(getCurrentValue(), true);
|
2553 |
-
if(options.mask) {
|
2554 |
-
setMask(options);
|
2555 |
-
}
|
2556 |
-
datetimepicker.trigger('open.xdsoft');
|
2557 |
-
}, 100);
|
2558 |
-
})
|
2559 |
-
.on('keydown.xdsoft', function (event) {
|
2560 |
-
var elementSelector,
|
2561 |
-
key = event.which;
|
2562 |
-
if ([ENTER].indexOf(key) !== -1 && options.enterLikeTab) {
|
2563 |
-
elementSelector = $("input:visible,textarea:visible,button:visible,a:visible");
|
2564 |
-
datetimepicker.trigger('close.xdsoft');
|
2565 |
-
elementSelector.eq(elementSelector.index(this) + 1).focus();
|
2566 |
-
return false;
|
2567 |
-
}
|
2568 |
-
if ([TAB].indexOf(key) !== -1) {
|
2569 |
-
datetimepicker.trigger('close.xdsoft');
|
2570 |
-
return true;
|
2571 |
-
}
|
2572 |
-
})
|
2573 |
-
.on('blur.xdsoft', function () {
|
2574 |
-
datetimepicker.trigger('close.xdsoft');
|
2575 |
-
});
|
2576 |
-
};
|
2577 |
-
destroyDateTimePicker = function (input) {
|
2578 |
-
var datetimepicker = input.data('xdsoft_datetimepicker');
|
2579 |
-
if (datetimepicker) {
|
2580 |
-
datetimepicker.data('xdsoft_datetime', null);
|
2581 |
-
datetimepicker.remove();
|
2582 |
-
input
|
2583 |
-
.data('xdsoft_datetimepicker', null)
|
2584 |
-
.off('.xdsoft');
|
2585 |
-
$(options.contentWindow).off('resize.xdsoft');
|
2586 |
-
$([options.contentWindow, options.ownerDocument.body]).off('mousedown.xdsoft touchstart');
|
2587 |
-
if (input.unmousewheel) {
|
2588 |
-
input.unmousewheel();
|
2589 |
-
}
|
2590 |
-
}
|
2591 |
-
};
|
2592 |
-
$(options.ownerDocument)
|
2593 |
-
.off('keydown.xdsoftctrl keyup.xdsoftctrl')
|
2594 |
-
.off('keydown.xdsoftcmd keyup.xdsoftcmd')
|
2595 |
-
.on('keydown.xdsoftctrl', function (e) {
|
2596 |
-
if (e.keyCode === CTRLKEY) {
|
2597 |
-
ctrlDown = true;
|
2598 |
-
}
|
2599 |
-
})
|
2600 |
-
.on('keyup.xdsoftctrl', function (e) {
|
2601 |
-
if (e.keyCode === CTRLKEY) {
|
2602 |
-
ctrlDown = false;
|
2603 |
-
}
|
2604 |
-
})
|
2605 |
-
.on('keydown.xdsoftcmd', function (e) {
|
2606 |
-
if (e.keyCode === CMDKEY) {
|
2607 |
-
cmdDown = true;
|
2608 |
-
}
|
2609 |
-
})
|
2610 |
-
.on('keyup.xdsoftcmd', function (e) {
|
2611 |
-
if (e.keyCode === CMDKEY) {
|
2612 |
-
cmdDown = false;
|
2613 |
-
}
|
2614 |
-
});
|
2615 |
-
|
2616 |
-
this.each(function () {
|
2617 |
-
var datetimepicker = $(this).data('xdsoft_datetimepicker'), $input;
|
2618 |
-
if (datetimepicker) {
|
2619 |
-
if ($.type(opt) === 'string') {
|
2620 |
-
switch (opt) {
|
2621 |
-
case 'show':
|
2622 |
-
$(this).select().focus();
|
2623 |
-
datetimepicker.trigger('open.xdsoft');
|
2624 |
-
break;
|
2625 |
-
case 'hide':
|
2626 |
-
datetimepicker.trigger('close.xdsoft');
|
2627 |
-
break;
|
2628 |
-
case 'toggle':
|
2629 |
-
datetimepicker.trigger('toggle.xdsoft');
|
2630 |
-
break;
|
2631 |
-
case 'destroy':
|
2632 |
-
destroyDateTimePicker($(this));
|
2633 |
-
break;
|
2634 |
-
case 'reset':
|
2635 |
-
this.value = this.defaultValue;
|
2636 |
-
if (!this.value || !datetimepicker.data('xdsoft_datetime').isValidDate(dateHelper.parseDate(this.value, options.format))) {
|
2637 |
-
datetimepicker.data('changed', false);
|
2638 |
-
}
|
2639 |
-
datetimepicker.data('xdsoft_datetime').setCurrentTime(this.value);
|
2640 |
-
break;
|
2641 |
-
case 'validate':
|
2642 |
-
$input = datetimepicker.data('input');
|
2643 |
-
$input.trigger('blur.xdsoft');
|
2644 |
-
break;
|
2645 |
-
default:
|
2646 |
-
if (datetimepicker[opt] && $.isFunction(datetimepicker[opt])) {
|
2647 |
-
result = datetimepicker[opt](opt2);
|
2648 |
-
}
|
2649 |
-
}
|
2650 |
-
} else {
|
2651 |
-
datetimepicker
|
2652 |
-
.setOptions(opt);
|
2653 |
-
}
|
2654 |
-
return 0;
|
2655 |
-
}
|
2656 |
-
if ($.type(opt) !== 'string') {
|
2657 |
-
if (!options.lazyInit || options.open || options.inline) {
|
2658 |
-
createDateTimePicker($(this));
|
2659 |
-
} else {
|
2660 |
-
lazyInit($(this));
|
2661 |
-
}
|
2662 |
-
}
|
2663 |
-
});
|
2664 |
-
|
2665 |
-
return result;
|
2666 |
-
};
|
2667 |
-
|
2668 |
-
$.fn.datetimepicker.defaults = default_options;
|
2669 |
-
|
2670 |
-
function HighlightedDate(date, desc, style) {
|
2671 |
-
"use strict";
|
2672 |
-
this.date = date;
|
2673 |
-
this.desc = desc;
|
2674 |
-
this.style = style;
|
2675 |
-
}
|
2676 |
-
};
|
2677 |
-
;(function (factory) {
|
2678 |
-
if ( typeof define === 'function' && define.amd ) {
|
2679 |
-
// AMD. Register as an anonymous module.
|
2680 |
-
define(['jquery', 'jquery-mousewheel'], factory);
|
2681 |
-
} else if (typeof exports === 'object') {
|
2682 |
-
// Node/CommonJS style for Browserify
|
2683 |
-
module.exports = factory(require('jquery'));;
|
2684 |
-
} else {
|
2685 |
-
// Browser globals
|
2686 |
-
factory(jQuery);
|
2687 |
-
}
|
2688 |
-
}(datetimepickerFactory));
|
2689 |
-
|
2690 |
-
|
2691 |
-
/*!
|
2692 |
-
* jQuery Mousewheel 3.1.13
|
2693 |
-
*
|
2694 |
-
* Copyright jQuery Foundation and other contributors
|
2695 |
-
* Released under the MIT license
|
2696 |
-
* http://jquery.org/license
|
2697 |
-
*/
|
2698 |
-
|
2699 |
-
(function (factory) {
|
2700 |
-
if ( typeof define === 'function' && define.amd ) {
|
2701 |
-
// AMD. Register as an anonymous module.
|
2702 |
-
define(['jquery'], factory);
|
2703 |
-
} else if (typeof exports === 'object') {
|
2704 |
-
// Node/CommonJS style for Browserify
|
2705 |
-
module.exports = factory;
|
2706 |
-
} else {
|
2707 |
-
// Browser globals
|
2708 |
-
factory(jQuery);
|
2709 |
-
}
|
2710 |
-
}(function ($) {
|
2711 |
-
|
2712 |
-
var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'],
|
2713 |
-
toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ?
|
2714 |
-
['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'],
|
2715 |
-
slice = Array.prototype.slice,
|
2716 |
-
nullLowestDeltaTimeout, lowestDelta;
|
2717 |
-
|
2718 |
-
if ( $.event.fixHooks ) {
|
2719 |
-
for ( var i = toFix.length; i; ) {
|
2720 |
-
$.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;
|
2721 |
-
}
|
2722 |
-
}
|
2723 |
-
|
2724 |
-
var special = $.event.special.mousewheel = {
|
2725 |
-
version: '3.1.12',
|
2726 |
-
|
2727 |
-
setup: function() {
|
2728 |
-
if ( this.addEventListener ) {
|
2729 |
-
for ( var i = toBind.length; i; ) {
|
2730 |
-
this.addEventListener( toBind[--i], handler, false );
|
2731 |
-
}
|
2732 |
-
} else {
|
2733 |
-
this.onmousewheel = handler;
|
2734 |
-
}
|
2735 |
-
// Store the line height and page height for this particular element
|
2736 |
-
$.data(this, 'mousewheel-line-height', special.getLineHeight(this));
|
2737 |
-
$.data(this, 'mousewheel-page-height', special.getPageHeight(this));
|
2738 |
-
},
|
2739 |
-
|
2740 |
-
teardown: function() {
|
2741 |
-
if ( this.removeEventListener ) {
|
2742 |
-
for ( var i = toBind.length; i; ) {
|
2743 |
-
this.removeEventListener( toBind[--i], handler, false );
|
2744 |
-
}
|
2745 |
-
} else {
|
2746 |
-
this.onmousewheel = null;
|
2747 |
-
}
|
2748 |
-
// Clean up the data we added to the element
|
2749 |
-
$.removeData(this, 'mousewheel-line-height');
|
2750 |
-
$.removeData(this, 'mousewheel-page-height');
|
2751 |
-
},
|
2752 |
-
|
2753 |
-
getLineHeight: function(elem) {
|
2754 |
-
var $elem = $(elem),
|
2755 |
-
$parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent']();
|
2756 |
-
if (!$parent.length) {
|
2757 |
-
$parent = $('body');
|
2758 |
-
}
|
2759 |
-
return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16;
|
2760 |
-
},
|
2761 |
-
|
2762 |
-
getPageHeight: function(elem) {
|
2763 |
-
return $(elem).height();
|
2764 |
-
},
|
2765 |
-
|
2766 |
-
settings: {
|
2767 |
-
adjustOldDeltas: true, // see shouldAdjustOldDeltas() below
|
2768 |
-
normalizeOffset: true // calls getBoundingClientRect for each event
|
2769 |
-
}
|
2770 |
-
};
|
2771 |
-
|
2772 |
-
$.fn.extend({
|
2773 |
-
mousewheel: function(fn) {
|
2774 |
-
return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel');
|
2775 |
-
},
|
2776 |
-
|
2777 |
-
unmousewheel: function(fn) {
|
2778 |
-
return this.unbind('mousewheel', fn);
|
2779 |
-
}
|
2780 |
-
});
|
2781 |
-
|
2782 |
-
|
2783 |
-
function handler(event) {
|
2784 |
-
var orgEvent = event || window.event,
|
2785 |
-
args = slice.call(arguments, 1),
|
2786 |
-
delta = 0,
|
2787 |
-
deltaX = 0,
|
2788 |
-
deltaY = 0,
|
2789 |
-
absDelta = 0,
|
2790 |
-
offsetX = 0,
|
2791 |
-
offsetY = 0;
|
2792 |
-
event = $.event.fix(orgEvent);
|
2793 |
-
event.type = 'mousewheel';
|
2794 |
-
|
2795 |
-
// Old school scrollwheel delta
|
2796 |
-
if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; }
|
2797 |
-
if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; }
|
2798 |
-
if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; }
|
2799 |
-
if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; }
|
2800 |
-
|
2801 |
-
// Firefox < 17 horizontal scrolling related to DOMMouseScroll event
|
2802 |
-
if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
|
2803 |
-
deltaX = deltaY * -1;
|
2804 |
-
deltaY = 0;
|
2805 |
-
}
|
2806 |
-
|
2807 |
-
// Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy
|
2808 |
-
delta = deltaY === 0 ? deltaX : deltaY;
|
2809 |
-
|
2810 |
-
// New school wheel delta (wheel event)
|
2811 |
-
if ( 'deltaY' in orgEvent ) {
|
2812 |
-
deltaY = orgEvent.deltaY * -1;
|
2813 |
-
delta = deltaY;
|
2814 |
-
}
|
2815 |
-
if ( 'deltaX' in orgEvent ) {
|
2816 |
-
deltaX = orgEvent.deltaX;
|
2817 |
-
if ( deltaY === 0 ) { delta = deltaX * -1; }
|
2818 |
-
}
|
2819 |
-
|
2820 |
-
// No change actually happened, no reason to go any further
|
2821 |
-
if ( deltaY === 0 && deltaX === 0 ) { return; }
|
2822 |
-
|
2823 |
-
// Need to convert lines and pages to pixels if we aren't already in pixels
|
2824 |
-
// There are three delta modes:
|
2825 |
-
// * deltaMode 0 is by pixels, nothing to do
|
2826 |
-
// * deltaMode 1 is by lines
|
2827 |
-
// * deltaMode 2 is by pages
|
2828 |
-
if ( orgEvent.deltaMode === 1 ) {
|
2829 |
-
var lineHeight = $.data(this, 'mousewheel-line-height');
|
2830 |
-
delta *= lineHeight;
|
2831 |
-
deltaY *= lineHeight;
|
2832 |
-
deltaX *= lineHeight;
|
2833 |
-
} else if ( orgEvent.deltaMode === 2 ) {
|
2834 |
-
var pageHeight = $.data(this, 'mousewheel-page-height');
|
2835 |
-
delta *= pageHeight;
|
2836 |
-
deltaY *= pageHeight;
|
2837 |
-
deltaX *= pageHeight;
|
2838 |
-
}
|
2839 |
-
|
2840 |
-
// Store lowest absolute delta to normalize the delta values
|
2841 |
-
absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) );
|
2842 |
-
|
2843 |
-
if ( !lowestDelta || absDelta < lowestDelta ) {
|
2844 |
-
lowestDelta = absDelta;
|
2845 |
-
|
2846 |
-
// Adjust older deltas if necessary
|
2847 |
-
if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
|
2848 |
-
lowestDelta /= 40;
|
2849 |
-
}
|
2850 |
-
}
|
2851 |
-
|
2852 |
-
// Adjust older deltas if necessary
|
2853 |
-
if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
|
2854 |
-
// Divide all the things by 40!
|
2855 |
-
delta /= 40;
|
2856 |
-
deltaX /= 40;
|
2857 |
-
deltaY /= 40;
|
2858 |
-
}
|
2859 |
-
|
2860 |
-
// Get a whole, normalized value for the deltas
|
2861 |
-
delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta);
|
2862 |
-
deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta);
|
2863 |
-
deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta);
|
2864 |
-
|
2865 |
-
// Normalise offsetX and offsetY properties
|
2866 |
-
if ( special.settings.normalizeOffset && this.getBoundingClientRect ) {
|
2867 |
-
var boundingRect = this.getBoundingClientRect();
|
2868 |
-
offsetX = event.clientX - boundingRect.left;
|
2869 |
-
offsetY = event.clientY - boundingRect.top;
|
2870 |
-
}
|
2871 |
-
|
2872 |
-
// Add information to the event object
|
2873 |
-
event.deltaX = deltaX;
|
2874 |
-
event.deltaY = deltaY;
|
2875 |
-
event.deltaFactor = lowestDelta;
|
2876 |
-
event.offsetX = offsetX;
|
2877 |
-
event.offsetY = offsetY;
|
2878 |
-
// Go ahead and set deltaMode to 0 since we converted to pixels
|
2879 |
-
// Although this is a little odd since we overwrite the deltaX/Y
|
2880 |
-
// properties with normalized deltas.
|
2881 |
-
event.deltaMode = 0;
|
2882 |
-
|
2883 |
-
// Add event and delta to the front of the arguments
|
2884 |
-
args.unshift(event, delta, deltaX, deltaY);
|
2885 |
-
|
2886 |
-
// Clearout lowestDelta after sometime to better
|
2887 |
-
// handle multiple device types that give different
|
2888 |
-
// a different lowestDelta
|
2889 |
-
// Ex: trackpad = 3 and mouse wheel = 120
|
2890 |
-
if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); }
|
2891 |
-
nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200);
|
2892 |
-
|
2893 |
-
return ($.event.dispatch || $.event.handle).apply(this, args);
|
2894 |
-
}
|
2895 |
-
|
2896 |
-
function nullLowestDelta() {
|
2897 |
-
lowestDelta = null;
|
2898 |
-
}
|
2899 |
-
|
2900 |
-
function shouldAdjustOldDeltas(orgEvent, absDelta) {
|
2901 |
-
// If this is an older event and the delta is divisable by 120,
|
2902 |
-
// then we are assuming that the browser is treating this as an
|
2903 |
-
// older mouse wheel event and that we should divide the deltas
|
2904 |
-
// by 40 to try and get a more usable deltaFactor.
|
2905 |
-
// Side note, this actually impacts the reported scroll distance
|
2906 |
-
// in older browsers and can cause scrolling to be slower than native.
|
2907 |
-
// Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false.
|
2908 |
-
return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0;
|
2909 |
-
}
|
2910 |
-
|
2911 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/vendor/datepicker/jquery.datetimepicker.full.min.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
var DateFormatter;!function(){"use strict";var D,s,r,a,n;D=function(e,t){return"string"==typeof e&&"string"==typeof t&&e.toLowerCase()===t.toLowerCase()},s=function(e,t,a){var n=a||"0",r=e.toString();return r.length<t?s(n+r,t):r},r=function(e){var t,a;for(e=e||{},t=1;t<arguments.length;t++)if(a=arguments[t])for(var n in a)a.hasOwnProperty(n)&&("object"==typeof a[n]?r(e[n],a[n]):e[n]=a[n]);return e},a=function(e,t){for(var a=0;a<t.length;a++)if(t[a].toLowerCase()===e.toLowerCase())return a;return-1},n={dateSettings:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridiem:["AM","PM"],ordinal:function(e){var t=e%10,a={1:"st",2:"nd",3:"rd"};return 1!==Math.floor(e%100/10)&&a[t]?a[t]:"th"}},separators:/[ \-+\/\.T:@]/g,validParts:/[dDjlNSwzWFmMntLoYyaABgGhHisueTIOPZcrU]/g,intParts:/[djwNzmnyYhHgGis]/g,tzParts:/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,tzClip:/[^-+\dA-Z]/g},(DateFormatter=function(e){var t=this,a=r(n,e);t.dateSettings=a.dateSettings,t.separators=a.separators,t.validParts=a.validParts,t.intParts=a.intParts,t.tzParts=a.tzParts,t.tzClip=a.tzClip}).prototype={constructor:DateFormatter,getMonth:function(e){var t;return 0===(t=a(e,this.dateSettings.monthsShort)+1)&&(t=a(e,this.dateSettings.months)+1),t},parseDate:function(e,t){var a,n,r,o,i,s,d,u,l,f,c=this,m=!1,h=!1,g=c.dateSettings,p={date:null,year:null,month:null,day:null,hour:0,min:0,sec:0};if(!e)return null;if(e instanceof Date)return e;if("U"===t)return(r=parseInt(e))?new Date(1e3*r):e;switch(typeof e){case"number":return new Date(e);case"string":break;default:return null}if(!(a=t.match(c.validParts))||0===a.length)throw new Error("Invalid date format definition.");for(n=e.replace(c.separators,"\0").split("\0"),r=0;r<n.length;r++)switch(o=n[r],i=parseInt(o),a[r]){case"y":case"Y":if(!i)return null;l=o.length,p.year=2===l?parseInt((i<70?"20":"19")+o):i,m=!0;break;case"m":case"n":case"M":case"F":if(isNaN(i)){if(!(0<(s=c.getMonth(o))))return null;p.month=s}else{if(!(1<=i&&i<=12))return null;p.month=i}m=!0;break;case"d":case"j":if(!(1<=i&&i<=31))return null;p.day=i,m=!0;break;case"g":case"h":if(f=n[d=-1<a.indexOf("a")?a.indexOf("a"):-1<a.indexOf("A")?a.indexOf("A"):-1],-1<d)u=D(f,g.meridiem[0])?0:D(f,g.meridiem[1])?12:-1,1<=i&&i<=12&&-1<u?p.hour=i+u-1:0<=i&&i<=23&&(p.hour=i);else{if(!(0<=i&&i<=23))return null;p.hour=i}h=!0;break;case"G":case"H":if(!(0<=i&&i<=23))return null;p.hour=i,h=!0;break;case"i":if(!(0<=i&&i<=59))return null;p.min=i,h=!0;break;case"s":if(!(0<=i&&i<=59))return null;p.sec=i,h=!0}if(!0===m&&p.year&&p.month&&p.day)p.date=new Date(p.year,p.month-1,p.day,p.hour,p.min,p.sec,0);else{if(!0!==h)return null;p.date=new Date(0,0,0,p.hour,p.min,p.sec,0)}return p.date},guessDate:function(e,t){if("string"!=typeof e)return e;var a,n,r,o,i,s,d=e.replace(this.separators,"\0").split("\0"),u=t.match(this.validParts),l=new Date,f=0;if(!/^[djmn]/g.test(u[0]))return e;for(r=0;r<d.length;r++){if(f=2,i=d[r],s=parseInt(i.substr(0,2)),isNaN(s))return null;switch(r){case 0:"m"===u[0]||"n"===u[0]?l.setMonth(s-1):l.setDate(s);break;case 1:"m"===u[0]||"n"===u[0]?l.setDate(s):l.setMonth(s-1);break;case 2:if(n=l.getFullYear(),f=(a=i.length)<4?a:4,!(n=parseInt(a<4?n.toString().substr(0,4-a)+i:i.substr(0,4))))return null;l.setFullYear(n);break;case 3:l.setHours(s);break;case 4:l.setMinutes(s);break;case 5:l.setSeconds(s)}0<(o=i.substr(f)).length&&d.splice(r+1,0,o)}return l},parseFormat:function(e,n){var a,t=this,r=t.dateSettings,o=/\\?(.?)/gi,i=function(e,t){return a[e]?a[e]():t};return a={d:function(){return s(a.j(),2)},D:function(){return r.daysShort[a.w()]},j:function(){return n.getDate()},l:function(){return r.days[a.w()]},N:function(){return a.w()||7},w:function(){return n.getDay()},z:function(){var e=new Date(a.Y(),a.n()-1,a.j()),t=new Date(a.Y(),0,1);return Math.round((e-t)/864e5)},W:function(){var e=new Date(a.Y(),a.n()-1,a.j()-a.N()+3),t=new Date(e.getFullYear(),0,4);return s(1+Math.round((e-t)/864e5/7),2)},F:function(){return r.months[n.getMonth()]},m:function(){return s(a.n(),2)},M:function(){return r.monthsShort[n.getMonth()]},n:function(){return n.getMonth()+1},t:function(){return new Date(a.Y(),a.n(),0).getDate()},L:function(){var e=a.Y();return e%4==0&&e%100!=0||e%400==0?1:0},o:function(){var e=a.n(),t=a.W();return a.Y()+(12===e&&t<9?1:1===e&&9<t?-1:0)},Y:function(){return n.getFullYear()},y:function(){return a.Y().toString().slice(-2)},a:function(){return a.A().toLowerCase()},A:function(){var e=a.G()<12?0:1;return r.meridiem[e]},B:function(){var e=3600*n.getUTCHours(),t=60*n.getUTCMinutes(),a=n.getUTCSeconds();return s(Math.floor((e+t+a+3600)/86.4)%1e3,3)},g:function(){return a.G()%12||12},G:function(){return n.getHours()},h:function(){return s(a.g(),2)},H:function(){return s(a.G(),2)},i:function(){return s(n.getMinutes(),2)},s:function(){return s(n.getSeconds(),2)},u:function(){return s(1e3*n.getMilliseconds(),6)},e:function(){return/\((.*)\)/.exec(String(n))[1]||"Coordinated Universal Time"},I:function(){return new Date(a.Y(),0)-Date.UTC(a.Y(),0)!=new Date(a.Y(),6)-Date.UTC(a.Y(),6)?1:0},O:function(){var e=n.getTimezoneOffset(),t=Math.abs(e);return(0<e?"-":"+")+s(100*Math.floor(t/60)+t%60,4)},P:function(){var e=a.O();return e.substr(0,3)+":"+e.substr(3,2)},T:function(){return(String(n).match(t.tzParts)||[""]).pop().replace(t.tzClip,"")||"UTC"},Z:function(){return 60*-n.getTimezoneOffset()},c:function(){return"Y-m-d\\TH:i:sP".replace(o,i)},r:function(){return"D, d M Y H:i:s O".replace(o,i)},U:function(){return n.getTime()/1e3||0}},i(e,e)},formatDate:function(e,t){var a,n,r,o,i,s="";if("string"==typeof e&&!(e=this.parseDate(e,t)))return null;if(e instanceof Date){for(r=t.length,a=0;a<r;a++)"S"!==(i=t.charAt(a))&&"\\"!==i&&(0<a&&"\\"===t.charAt(a-1)?s+=i:(o=this.parseFormat(i,e),a!==r-1&&this.intParts.test(i)&&"S"===t.charAt(a+1)&&(n=parseInt(o)||0,o+=this.dateSettings.ordinal(n)),s+=o));return s}return""}}}();var datetimepickerFactory=function(L){"use strict";var s={i18n:{ar:{months:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],dayOfWeekShort:["ن","ث","ع","خ","ج","س","ح"],dayOfWeek:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"]},ro:{months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],dayOfWeekShort:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],dayOfWeek:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"]},id:{months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],dayOfWeekShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],dayOfWeek:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},is:{months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],dayOfWeekShort:["Sun","Mán","Þrið","Mið","Fim","Fös","Lau"],dayOfWeek:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"]},bg:{months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],dayOfWeekShort:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"]},fa:{months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],dayOfWeekShort:["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayOfWeek:["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه","یکشنبه"]},ru:{months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayOfWeekShort:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"]},uk:{months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],dayOfWeekShort:["Ндл","Пнд","Втр","Срд","Чтв","Птн","Сбт"],dayOfWeek:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"]},en:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},el:{months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],dayOfWeekShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayOfWeek:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayOfWeekShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayOfWeek:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},nl:{months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],dayOfWeekShort:["zo","ma","di","wo","do","vr","za"],dayOfWeek:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},tr:{months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],dayOfWeekShort:["Paz","Pts","Sal","Çar","Per","Cum","Cts"],dayOfWeek:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"]},fr:{months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],dayOfWeekShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayOfWeek:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],dayOfWeekShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],dayOfWeek:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"]},th:{months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],dayOfWeekShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayOfWeek:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"]},pl:{months:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],dayOfWeekShort:["nd","pn","wt","śr","cz","pt","sb"],dayOfWeek:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},pt:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},ch:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"]},se:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},km:{months:["មករា","កុម្ភៈ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],dayOfWeekShort:["អាទិ","ច័ន្ទ","អង្គារ","ពុធ","ព្រហ","សុក្រ","សៅរ៍"],dayOfWeek:["អាទិត្យ","ច័ន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"]},kr:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},it:{months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayOfWeek:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"]},da:{months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"]},no:{months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]},ja:{months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeekShort:["日","月","火","水","木","金","土"],dayOfWeek:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"]},vi:{months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayOfWeekShort:["CN","T2","T3","T4","T5","T6","T7"],dayOfWeek:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"]},sl:{months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],dayOfWeekShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayOfWeek:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]},cs:{months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],dayOfWeekShort:["Ne","Po","Út","St","Čt","Pá","So"]},hu:{months:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],dayOfWeekShort:["Va","Hé","Ke","Sze","Cs","Pé","Szo"],dayOfWeek:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"]},az:{months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],dayOfWeekShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayOfWeek:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"]},bs:{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ca:{months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],dayOfWeekShort:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],dayOfWeek:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},"en-GB":{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},et:{months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],dayOfWeekShort:["P","E","T","K","N","R","L"],dayOfWeek:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"]},eu:{months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],dayOfWeekShort:["Ig.","Al.","Ar.","Az.","Og.","Or.","La."],dayOfWeek:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"]},fi:{months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],dayOfWeekShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayOfWeek:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},gl:{months:["Xan","Feb","Maz","Abr","Mai","Xun","Xul","Ago","Set","Out","Nov","Dec"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Xov","Ven","Sab"],dayOfWeek:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"]},hr:{months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ko:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},lt:{months:["Sausio","Vasario","Kovo","Balandžio","Gegužės","Birželio","Liepos","Rugpjūčio","Rugsėjo","Spalio","Lapkričio","Gruodžio"],dayOfWeekShort:["Sek","Pir","Ant","Tre","Ket","Pen","Šeš"],dayOfWeek:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"]},lv:{months:["Janvāris","Februāris","Marts","Aprīlis ","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],dayOfWeekShort:["Sv","Pr","Ot","Tr","Ct","Pk","St"],dayOfWeek:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"]},mk:{months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],dayOfWeekShort:["нед","пон","вто","сре","чет","пет","саб"],dayOfWeek:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"]},mn:{months:["1-р сар","2-р сар","3-р сар","4-р сар","5-р сар","6-р сар","7-р сар","8-р сар","9-р сар","10-р сар","11-р сар","12-р сар"],dayOfWeekShort:["Дав","Мяг","Лха","Пүр","Бсн","Бям","Ням"],dayOfWeek:["Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба","Ням"]},"pt-BR":{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},sk:{months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],dayOfWeekShort:["Ne","Po","Ut","St","Št","Pi","So"],dayOfWeek:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},sq:{months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],dayOfWeekShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],dayOfWeek:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"]},"sr-YU":{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sre","čet","Pet","Sub"],dayOfWeek:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"]},sr:{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],dayOfWeekShort:["нед","пон","уто","сре","чет","пет","суб"],dayOfWeek:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"]},sv:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayOfWeek:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"]},"zh-TW":{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},zh:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},ug:{months:["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي"],dayOfWeek:["يەكشەنبە","دۈشەنبە","سەيشەنبە","چارشەنبە","پەيشەنبە","جۈمە","شەنبە"]},he:{months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],dayOfWeekShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayOfWeek:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"]},hy:{months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],dayOfWeekShort:["Կի","Երկ","Երք","Չոր","Հնգ","Ուրբ","Շբթ"],dayOfWeek:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"]},kg:{months:["Үчтүн айы","Бирдин айы","Жалган Куран","Чын Куран","Бугу","Кулжа","Теке","Баш Оона","Аяк Оона","Тогуздун айы","Жетинин айы","Бештин айы"],dayOfWeekShort:["Жек","Дүй","Шей","Шар","Бей","Жум","Ише"],dayOfWeek:["Жекшемб","Дүйшөмб","Шейшемб","Шаршемб","Бейшемби","Жума","Ишенб"]},rm:{months:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],dayOfWeekShort:["Du","Gli","Ma","Me","Gie","Ve","So"],dayOfWeek:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"]},ka:{months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],dayOfWeekShort:["კვ","ორშ","სამშ","ოთხ","ხუთ","პარ","შაბ"],dayOfWeek:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"]}},ownerDocument:document,contentWindow:window,value:"",rtl:!1,format:"Y/m/d H:i",formatTime:"H:i",formatDate:"Y/m/d",startDate:!1,step:60,monthChangeSpinner:!0,closeOnDateSelect:!1,closeOnTimeSelect:!0,closeOnWithoutClick:!0,closeOnInputClick:!0,openOnFocus:!0,timepicker:!0,datepicker:!0,weeks:!1,defaultTime:!1,defaultDate:!1,minDate:!1,maxDate:!1,minTime:!1,maxTime:!1,minDateTime:!1,maxDateTime:!1,allowTimes:[],opened:!1,initTime:!0,inline:!1,theme:"",touchMovedThreshold:5,onSelectDate:function(){},onSelectTime:function(){},onChangeMonth:function(){},onGetWeekOfYear:function(){},onChangeYear:function(){},onChangeDateTime:function(){},onShow:function(){},onClose:function(){},onGenerate:function(){},withoutCopyright:!0,inverseButton:!1,hours12:!1,next:"xdsoft_next",prev:"xdsoft_prev",dayOfWeekStart:0,parentID:"body",timeHeightInTimePicker:25,timepickerScrollbar:!0,todayButton:!0,prevButton:!0,nextButton:!0,defaultSelect:!0,scrollMonth:!0,scrollTime:!0,scrollInput:!0,lazyInit:!1,mask:!1,validateOnBlur:!0,allowBlank:!0,yearStart:1950,yearEnd:2050,monthStart:0,monthEnd:11,style:"",id:"",fixed:!1,roundTime:"round",className:"",weekends:[],highlightedDates:[],highlightedPeriods:[],allowDates:[],allowDateRe:null,disabledDates:[],disabledWeekDays:[],yearOffset:0,beforeShowDay:null,enterLikeTab:!0,showApplyButton:!1,insideParent:!1},E=null,n=null,R="en",a={meridiem:["AM","PM"]},r=function(){var e=s.i18n[R],t={days:e.dayOfWeek,daysShort:e.dayOfWeekShort,months:e.months,monthsShort:L.map(e.months,function(e){return e.substring(0,3)})};"function"==typeof DateFormatter&&(E=n=new DateFormatter({dateSettings:L.extend({},a,t)}))},o={moment:{default_options:{format:"YYYY/MM/DD HH:mm",formatDate:"YYYY/MM/DD",formatTime:"HH:mm"},formatter:{parseDate:function(e,t){if(i(t))return n.parseDate(e,t);var a=moment(e,t);return!!a.isValid()&&a.toDate()},formatDate:function(e,t){return i(t)?n.formatDate(e,t):moment(e).format(t)},formatMask:function(e){return e.replace(/Y{4}/g,"9999").replace(/Y{2}/g,"99").replace(/M{2}/g,"19").replace(/D{2}/g,"39").replace(/H{2}/g,"29").replace(/m{2}/g,"59").replace(/s{2}/g,"59")}}}};L.datetimepicker={setLocale:function(e){var t=s.i18n[e]?e:"en";R!==t&&(R=t,r())},setDateFormatter:function(e){if("string"==typeof e&&o.hasOwnProperty(e)){var t=o[e];L.extend(s,t.default_options),E=t.formatter}else E=e}};var t={RFC_2822:"D, d M Y H:i:s O",ATOM:"Y-m-dTH:i:sP",ISO_8601:"Y-m-dTH:i:sO",RFC_822:"D, d M y H:i:s O",RFC_850:"l, d-M-y H:i:s T",RFC_1036:"D, d M y H:i:s O",RFC_1123:"D, d M Y H:i:s O",RSS:"D, d M Y H:i:s O",W3C:"Y-m-dTH:i:sP"},i=function(e){return-1!==Object.values(t).indexOf(e)};function m(e,t,a){this.date=e,this.desc=t,this.style=a}L.extend(L.datetimepicker,t),r(),window.getComputedStyle||(window.getComputedStyle=function(a){return this.el=a,this.getPropertyValue=function(e){var t=/(-([a-z]))/g;return"float"===e&&(e="styleFloat"),t.test(e)&&(e=e.replace(t,function(e,t,a){return a.toUpperCase()})),a.currentStyle[e]||null},this}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var a,n;for(a=t||0,n=this.length;a<n;a+=1)if(this[a]===e)return a;return-1}),Date.prototype.countDaysInMonth=function(){return new Date(this.getFullYear(),this.getMonth()+1,0).getDate()},L.fn.xdsoftScroller=function(p,D){return this.each(function(){var o,i,s,d,u,l=L(this),a=function(e){var t,a={x:0,y:0};return"touchstart"===e.type||"touchmove"===e.type||"touchend"===e.type||"touchcancel"===e.type?(t=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],a.x=t.clientX,a.y=t.clientY):"mousedown"!==e.type&&"mouseup"!==e.type&&"mousemove"!==e.type&&"mouseover"!==e.type&&"mouseout"!==e.type&&"mouseenter"!==e.type&&"mouseleave"!==e.type||(a.x=e.clientX,a.y=e.clientY),a},f=100,n=!1,r=0,c=0,m=0,t=!1,h=0,g=function(){};"hide"!==D?(L(this).hasClass("xdsoft_scroller_box")||(o=l.children().eq(0),i=l[0].clientHeight,s=o[0].offsetHeight,d=L('<div class="xdsoft_scrollbar"></div>'),u=L('<div class="xdsoft_scroller"></div>'),d.append(u),l.addClass("xdsoft_scroller_box").append(d),g=function(e){var t=a(e).y-r+h;t<0&&(t=0),t+u[0].offsetHeight>m&&(t=m-u[0].offsetHeight),l.trigger("scroll_element.xdsoft_scroller",[f?t/f:0])},u.on("touchstart.xdsoft_scroller mousedown.xdsoft_scroller",function(e){i||l.trigger("resize_scroll.xdsoft_scroller",[D]),r=a(e).y,h=parseInt(u.css("margin-top"),10),m=d[0].offsetHeight,"mousedown"===e.type||"touchstart"===e.type?(p.ownerDocument&&L(p.ownerDocument.body).addClass("xdsoft_noselect"),L([p.ownerDocument.body,p.contentWindow]).on("touchend mouseup.xdsoft_scroller",function e(){L([p.ownerDocument.body,p.contentWindow]).off("touchend mouseup.xdsoft_scroller",e).off("mousemove.xdsoft_scroller",g).removeClass("xdsoft_noselect")}),L(p.ownerDocument.body).on("mousemove.xdsoft_scroller",g)):(t=!0,e.stopPropagation(),e.preventDefault())}).on("touchmove",function(e){t&&(e.preventDefault(),g(e))}).on("touchend touchcancel",function(){t=!1,h=0}),l.on("scroll_element.xdsoft_scroller",function(e,t){i||l.trigger("resize_scroll.xdsoft_scroller",[t,!0]),t=1<t?1:t<0||isNaN(t)?0:t,u.css("margin-top",f*t),setTimeout(function(){o.css("marginTop",-parseInt((o[0].offsetHeight-i)*t,10))},10)}).on("resize_scroll.xdsoft_scroller",function(e,t,a){var n,r;i=l[0].clientHeight,s=o[0].offsetHeight,r=(n=i/s)*d[0].offsetHeight,1<n?u.hide():(u.show(),u.css("height",parseInt(10<r?r:10,10)),f=d[0].offsetHeight-u[0].offsetHeight,!0!==a&&l.trigger("scroll_element.xdsoft_scroller",[t||Math.abs(parseInt(o.css("marginTop"),10))/(s-i)]))}),l.on("mousewheel",function(e){var t=Math.abs(parseInt(o.css("marginTop"),10));return(t-=20*e.deltaY)<0&&(t=0),l.trigger("scroll_element.xdsoft_scroller",[t/(s-i)]),e.stopPropagation(),!1}),l.on("touchstart",function(e){n=a(e),c=Math.abs(parseInt(o.css("marginTop"),10))}),l.on("touchmove",function(e){if(n){e.preventDefault();var t=a(e);l.trigger("scroll_element.xdsoft_scroller",[(c-(t.y-n.y))/(s-i)])}}),l.on("touchend touchcancel",function(){n=!1,c=0})),l.trigger("resize_scroll.xdsoft_scroller",[D])):l.find(".xdsoft_scrollbar").hide()})},L.fn.datetimepicker=function(H,a){var n,r,o=this,p=17,D=13,y=27,v=37,b=38,k=39,x=40,T=9,S=116,M=65,w=67,j=86,J=90,z=89,I=!1,N=L.isPlainObject(H)||!H?L.extend(!0,{},s,H):L.extend(!0,{},s),i=0;return n=function(O){var t,n,a,r,W,h,_=L('<div class="xdsoft_datetimepicker xdsoft_noselect"></div>'),e=L('<div class="xdsoft_copyright"><a target="_blank" href="http://xdsoft.net/jqplugins/datetimepicker/">xdsoft.net</a></div>'),g=L('<div class="xdsoft_datepicker active"></div>'),F=L('<div class="xdsoft_monthpicker"><button type="button" class="xdsoft_prev"></button><button type="button" class="xdsoft_today_button"></button><div class="xdsoft_label xdsoft_month"><span></span><i></i></div><div class="xdsoft_label xdsoft_year"><span></span><i></i></div><button type="button" class="xdsoft_next"></button></div>'),C=L('<div class="xdsoft_calendar"></div>'),o=L('<div class="xdsoft_timepicker active"><button type="button" class="xdsoft_prev"></button><div class="xdsoft_time_box"></div><button type="button" class="xdsoft_next"></button></div>'),u=o.find(".xdsoft_time_box").eq(0),P=L('<div class="xdsoft_time_variant"></div>'),i=L('<button type="button" class="xdsoft_save_selected blue-gradient-button">Save Selected</button>'),Y=L('<div class="xdsoft_select xdsoft_monthselect"><div></div></div>'),A=L('<div class="xdsoft_select xdsoft_yearselect"><div></div></div>'),s=!1,d=0;N.id&&_.attr("id",N.id),N.style&&_.attr("style",N.style),N.weeks&&_.addClass("xdsoft_showweeks"),N.rtl&&_.addClass("xdsoft_rtl"),_.addClass("xdsoft_"+N.theme),_.addClass(N.className),F.find(".xdsoft_month span").after(Y),F.find(".xdsoft_year span").after(A),F.find(".xdsoft_month,.xdsoft_year").on("touchstart mousedown.xdsoft",function(e){var t,a,n=L(this).find(".xdsoft_select").eq(0),r=0,o=0,i=n.is(":visible");for(F.find(".xdsoft_select").hide(),W.currentTime&&(r=W.currentTime[L(this).hasClass("xdsoft_month")?"getMonth":"getFullYear"]()),n[i?"hide":"show"](),t=n.find("div.xdsoft_option"),a=0;a<t.length&&t.eq(a).data("value")!==r;a+=1)o+=t[0].offsetHeight;return n.xdsoftScroller(N,o/(n.children()[0].offsetHeight-n[0].clientHeight)),e.stopPropagation(),!1});var l=function(e){var t=e.originalEvent,a=t.touches?t.touches[0]:t;this.touchStartPosition=this.touchStartPosition||a;var n=Math.abs(this.touchStartPosition.clientX-a.clientX),r=Math.abs(this.touchStartPosition.clientY-a.clientY);Math.sqrt(n*n+r*r)>N.touchMovedThreshold&&(this.touchMoved=!0)};function f(){var e,t=!1;return N.startDate?t=W.strToDate(N.startDate):(t=N.value||(O&&O.val&&O.val()?O.val():""))?(t=W.strToDateTime(t),N.yearOffset&&(t=new Date(t.getFullYear()-N.yearOffset,t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()))):N.defaultDate&&(t=W.strToDateTime(N.defaultDate),N.defaultTime&&(e=W.strtotime(N.defaultTime),t.setHours(e.getHours()),t.setMinutes(e.getMinutes()))),t&&W.isValidDate(t)?_.data("changed",!0):t="",t||0}function c(m){var h=function(e,t){var a=e.replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g,"\\$1").replace(/_/g,"{digit+}").replace(/([0-9]{1})/g,"{digit$1}").replace(/\{digit([0-9]{1})\}/g,"[0-$1_]{1}").replace(/\{digit[\+]\}/g,"[0-9_]{1}");return new RegExp(a).test(t)},g=function(e,t){if(!(e="string"==typeof e||e instanceof String?m.ownerDocument.getElementById(e):e))return!1;if(e.createTextRange){var a=e.createTextRange();return a.collapse(!0),a.moveEnd("character",t),a.moveStart("character",t),a.select(),!0}return!!e.setSelectionRange&&(e.setSelectionRange(t,t),!0)};m.mask&&O.off("keydown.xdsoft"),!0===m.mask&&(E.formatMask?m.mask=E.formatMask(m.format):m.mask=m.format.replace(/Y/g,"9999").replace(/F/g,"9999").replace(/m/g,"19").replace(/d/g,"39").replace(/H/g,"29").replace(/i/g,"59").replace(/s/g,"59")),"string"===L.type(m.mask)&&(h(m.mask,O.val())||(O.val(m.mask.replace(/[0-9]/g,"_")),g(O[0],0)),O.on("paste.xdsoft",function(e){var t=(e.clipboardData||e.originalEvent.clipboardData||window.clipboardData).getData("text"),a=this.value,n=this.selectionStart;return a=a.substr(0,n)+t+a.substr(n+t.length),n+=t.length,h(m.mask,a)?(this.value=a,g(this,n)):""===L.trim(a)?this.value=m.mask.replace(/[0-9]/g,"_"):O.trigger("error_input.xdsoft"),e.preventDefault(),!1}),O.on("keydown.xdsoft",function(e){var t,a=this.value,n=e.which,r=this.selectionStart,o=this.selectionEnd,i=r!==o;if(48<=n&&n<=57||96<=n&&n<=105||8===n||46===n){for(t=8===n||46===n?"_":String.fromCharCode(96<=n&&n<=105?n-48:n),8===n&&r&&!i&&(r-=1);;){var s=m.mask.substr(r,1),d=r<m.mask.length,u=0<r;if(!(/[^0-9_]/.test(s)&&d&&u))break;r+=8!==n||i?1:-1}if(e.metaKey&&(i=!(r=0)),i){var l=o-r,f=m.mask.replace(/[0-9]/g,"_"),c=f.substr(r,l).substr(1);a=a.substr(0,r)+(t+c)+a.substr(r+l)}else{a=a.substr(0,r)+t+a.substr(r+1)}if(""===L.trim(a))a=f;else if(r===m.mask.length)return e.preventDefault(),!1;for(r+=8===n?0:1;/[^0-9_]/.test(m.mask.substr(r,1))&&r<m.mask.length&&0<r;)r+=8===n?0:1;h(m.mask,a)?(this.value=a,g(this,r)):""===L.trim(a)?this.value=m.mask.replace(/[0-9]/g,"_"):O.trigger("error_input.xdsoft")}else if(-1!==[M,w,j,J,z].indexOf(n)&&I||-1!==[y,b,x,v,k,S,p,T,D].indexOf(n))return!0;return e.preventDefault(),!1}))}F.find(".xdsoft_select").xdsoftScroller(N).on("touchstart mousedown.xdsoft",function(e){var t=e.originalEvent;this.touchMoved=!1,this.touchStartPosition=t.touches?t.touches[0]:t,e.stopPropagation(),e.preventDefault()}).on("touchmove",".xdsoft_option",l).on("touchend mousedown.xdsoft",".xdsoft_option",function(){if(!this.touchMoved){void 0!==W.currentTime&&null!==W.currentTime||(W.currentTime=W.now());var e=W.currentTime.getFullYear();W&&W.currentTime&&W.currentTime[L(this).parent().parent().hasClass("xdsoft_monthselect")?"setMonth":"setFullYear"](L(this).data("value")),L(this).parent().parent().hide(),_.trigger("xchange.xdsoft"),N.onChangeMonth&&L.isFunction(N.onChangeMonth)&&N.onChangeMonth.call(_,W.currentTime,_.data("input")),e!==W.currentTime.getFullYear()&&L.isFunction(N.onChangeYear)&&N.onChangeYear.call(_,W.currentTime,_.data("input"))}}),_.getValue=function(){return W.getCurrentTime()},_.setOptions=function(e){var l={};N=L.extend(!0,{},N,e),e.allowTimes&&L.isArray(e.allowTimes)&&e.allowTimes.length&&(N.allowTimes=L.extend(!0,[],e.allowTimes)),e.weekends&&L.isArray(e.weekends)&&e.weekends.length&&(N.weekends=L.extend(!0,[],e.weekends)),e.allowDates&&L.isArray(e.allowDates)&&e.allowDates.length&&(N.allowDates=L.extend(!0,[],e.allowDates)),e.allowDateRe&&"[object String]"===Object.prototype.toString.call(e.allowDateRe)&&(N.allowDateRe=new RegExp(e.allowDateRe)),e.highlightedDates&&L.isArray(e.highlightedDates)&&e.highlightedDates.length&&(L.each(e.highlightedDates,function(e,t){var a,n=L.map(t.split(","),L.trim),r=new m(E.parseDate(n[0],N.formatDate),n[1],n[2]),o=E.formatDate(r.date,N.formatDate);void 0!==l[o]?(a=l[o].desc)&&a.length&&r.desc&&r.desc.length&&(l[o].desc=a+"\n"+r.desc):l[o]=r}),N.highlightedDates=L.extend(!0,[],l)),e.highlightedPeriods&&L.isArray(e.highlightedPeriods)&&e.highlightedPeriods.length&&(l=L.extend(!0,[],N.highlightedDates),L.each(e.highlightedPeriods,function(e,t){var a,n,r,o,i,s,d;if(L.isArray(t))a=t[0],n=t[1],r=t[2],d=t[3];else{var u=L.map(t.split(","),L.trim);a=E.parseDate(u[0],N.formatDate),n=E.parseDate(u[1],N.formatDate),r=u[2],d=u[3]}for(;a<=n;)o=new m(a,r,d),i=E.formatDate(a,N.formatDate),a.setDate(a.getDate()+1),void 0!==l[i]?(s=l[i].desc)&&s.length&&o.desc&&o.desc.length&&(l[i].desc=s+"\n"+o.desc):l[i]=o}),N.highlightedDates=L.extend(!0,[],l)),e.disabledDates&&L.isArray(e.disabledDates)&&e.disabledDates.length&&(N.disabledDates=L.extend(!0,[],e.disabledDates)),e.disabledWeekDays&&L.isArray(e.disabledWeekDays)&&e.disabledWeekDays.length&&(N.disabledWeekDays=L.extend(!0,[],e.disabledWeekDays)),!N.open&&!N.opened||N.inline||O.trigger("open.xdsoft"),N.inline&&(s=!0,_.addClass("xdsoft_inline"),O.after(_).hide()),N.inverseButton&&(N.next="xdsoft_prev",N.prev="xdsoft_next"),N.datepicker?g.addClass("active"):g.removeClass("active"),N.timepicker?o.addClass("active"):o.removeClass("active"),N.value&&(W.setCurrentTime(N.value),O&&O.val&&O.val(W.str)),isNaN(N.dayOfWeekStart)?N.dayOfWeekStart=0:N.dayOfWeekStart=parseInt(N.dayOfWeekStart,10)%7,N.timepickerScrollbar||u.xdsoftScroller(N,"hide"),N.minDate&&/^[\+\-](.*)$/.test(N.minDate)&&(N.minDate=E.formatDate(W.strToDateTime(N.minDate),N.formatDate)),N.maxDate&&/^[\+\-](.*)$/.test(N.maxDate)&&(N.maxDate=E.formatDate(W.strToDateTime(N.maxDate),N.formatDate)),N.minDateTime&&/^\+(.*)$/.test(N.minDateTime)&&(N.minDateTime=W.strToDateTime(N.minDateTime).dateFormat(N.formatDate)),N.maxDateTime&&/^\+(.*)$/.test(N.maxDateTime)&&(N.maxDateTime=W.strToDateTime(N.maxDateTime).dateFormat(N.formatDate)),i.toggle(N.showApplyButton),F.find(".xdsoft_today_button").css("visibility",N.todayButton?"visible":"hidden"),F.find("."+N.prev).css("visibility",N.prevButton?"visible":"hidden"),F.find("."+N.next).css("visibility",N.nextButton?"visible":"hidden"),c(N),N.validateOnBlur&&O.off("blur.xdsoft").on("blur.xdsoft",function(){if(N.allowBlank&&(!L.trim(L(this).val()).length||"string"==typeof N.mask&&L.trim(L(this).val())===N.mask.replace(/[0-9]/g,"_")))L(this).val(null),_.data("xdsoft_datetime").empty();else{var e=E.parseDate(L(this).val(),N.format);if(e)L(this).val(E.formatDate(e,N.format));else{var t=+[L(this).val()[0],L(this).val()[1]].join(""),a=+[L(this).val()[2],L(this).val()[3]].join("");!N.datepicker&&N.timepicker&&0<=t&&t<24&&0<=a&&a<60?L(this).val([t,a].map(function(e){return 9<e?e:"0"+e}).join(":")):L(this).val(E.formatDate(W.now(),N.format))}_.data("xdsoft_datetime").setCurrentTime(L(this).val())}_.trigger("changedatetime.xdsoft"),_.trigger("close.xdsoft")}),N.dayOfWeekStartPrev=0===N.dayOfWeekStart?6:N.dayOfWeekStart-1,_.trigger("xchange.xdsoft").trigger("afterOpen.xdsoft")},_.data("options",N).on("touchstart mousedown.xdsoft",function(e){return e.stopPropagation(),e.preventDefault(),A.hide(),Y.hide(),!1}),u.append(P),u.xdsoftScroller(N),_.on("afterOpen.xdsoft",function(){u.xdsoftScroller(N)}),_.append(g).append(o),!0!==N.withoutCopyright&&_.append(e),g.append(F).append(C).append(i),N.insideParent?L(O).parent().append(_):L(N.parentID).append(_),W=new function(){var r=this;r.now=function(e){var t,a,n=new Date;return!e&&N.defaultDate&&(t=r.strToDateTime(N.defaultDate),n.setFullYear(t.getFullYear()),n.setMonth(t.getMonth()),n.setDate(t.getDate())),n.setFullYear(n.getFullYear()),!e&&N.defaultTime&&(a=r.strtotime(N.defaultTime),n.setHours(a.getHours()),n.setMinutes(a.getMinutes()),n.setSeconds(a.getSeconds()),n.setMilliseconds(a.getMilliseconds())),n},r.isValidDate=function(e){return"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e.getTime())},r.setCurrentTime=function(e,t){"string"==typeof e?r.currentTime=r.strToDateTime(e):r.isValidDate(e)?r.currentTime=e:e||t||!N.allowBlank||N.inline?r.currentTime=r.now():r.currentTime=null,_.trigger("xchange.xdsoft")},r.empty=function(){r.currentTime=null},r.getCurrentTime=function(){return r.currentTime},r.nextMonth=function(){void 0!==r.currentTime&&null!==r.currentTime||(r.currentTime=r.now());var e,t=r.currentTime.getMonth()+1;return 12===t&&(r.currentTime.setFullYear(r.currentTime.getFullYear()+1),t=0),e=r.currentTime.getFullYear(),r.currentTime.setDate(Math.min(new Date(r.currentTime.getFullYear(),t+1,0).getDate(),r.currentTime.getDate())),r.currentTime.setMonth(t),N.onChangeMonth&&L.isFunction(N.onChangeMonth)&&N.onChangeMonth.call(_,W.currentTime,_.data("input")),e!==r.currentTime.getFullYear()&&L.isFunction(N.onChangeYear)&&N.onChangeYear.call(_,W.currentTime,_.data("input")),_.trigger("xchange.xdsoft"),t},r.prevMonth=function(){void 0!==r.currentTime&&null!==r.currentTime||(r.currentTime=r.now());var e=r.currentTime.getMonth()-1;return-1===e&&(r.currentTime.setFullYear(r.currentTime.getFullYear()-1),e=11),r.currentTime.setDate(Math.min(new Date(r.currentTime.getFullYear(),e+1,0).getDate(),r.currentTime.getDate())),r.currentTime.setMonth(e),N.onChangeMonth&&L.isFunction(N.onChangeMonth)&&N.onChangeMonth.call(_,W.currentTime,_.data("input")),_.trigger("xchange.xdsoft"),e},r.getWeekOfYear=function(e){if(N.onGetWeekOfYear&&L.isFunction(N.onGetWeekOfYear)){var t=N.onGetWeekOfYear.call(_,e);if(void 0!==t)return t}var a=new Date(e.getFullYear(),0,1);return 4!==a.getDay()&&a.setMonth(0,1+(4-a.getDay()+7)%7),Math.ceil(((e-a)/864e5+a.getDay()+1)/7)},r.strToDateTime=function(e){var t,a,n=[];return e&&e instanceof Date&&r.isValidDate(e)?e:((n=/^([+-]{1})(.*)$/.exec(e))&&(n[2]=E.parseDate(n[2],N.formatDate)),a=n&&n[2]?(t=n[2].getTime()-6e4*n[2].getTimezoneOffset(),new Date(r.now(!0).getTime()+parseInt(n[1]+"1",10)*t)):e?E.parseDate(e,N.format):r.now(),r.isValidDate(a)||(a=r.now()),a)},r.strToDate=function(e){if(e&&e instanceof Date&&r.isValidDate(e))return e;var t=e?E.parseDate(e,N.formatDate):r.now(!0);return r.isValidDate(t)||(t=r.now(!0)),t},r.strtotime=function(e){if(e&&e instanceof Date&&r.isValidDate(e))return e;var t=e?E.parseDate(e,N.formatTime):r.now(!0);return r.isValidDate(t)||(t=r.now(!0)),t},r.str=function(){var e=N.format;return N.yearOffset&&(e=(e=e.replace("Y",r.currentTime.getFullYear()+N.yearOffset)).replace("y",String(r.currentTime.getFullYear()+N.yearOffset).substring(2,4))),E.formatDate(r.currentTime,e)},r.currentTime=this.now()},i.on("touchend click",function(e){e.preventDefault(),_.data("changed",!0),W.setCurrentTime(f()),O.val(W.str()),_.trigger("close.xdsoft")}),F.find(".xdsoft_today_button").on("touchend mousedown.xdsoft",function(){_.data("changed",!0),W.setCurrentTime(0,!0),_.trigger("afterOpen.xdsoft")}).on("dblclick.xdsoft",function(){var e,t,a=W.getCurrentTime();a=new Date(a.getFullYear(),a.getMonth(),a.getDate()),e=W.strToDate(N.minDate),a<(e=new Date(e.getFullYear(),e.getMonth(),e.getDate()))||(t=W.strToDate(N.maxDate),(t=new Date(t.getFullYear(),t.getMonth(),t.getDate()))<a||(O.val(W.str()),O.trigger("change"),_.trigger("close.xdsoft")))}),F.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var a=L(this),n=0,r=!1;!function e(t){a.hasClass(N.next)?W.nextMonth():a.hasClass(N.prev)&&W.prevMonth(),N.monthChangeSpinner&&(r||(n=setTimeout(e,t||100)))}(500),L([N.ownerDocument.body,N.contentWindow]).on("touchend mouseup.xdsoft",function e(){clearTimeout(n),r=!0,L([N.ownerDocument.body,N.contentWindow]).off("touchend mouseup.xdsoft",e)})}),o.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var o=L(this),i=0,s=!1,d=110;!function e(t){var a=u[0].clientHeight,n=P[0].offsetHeight,r=Math.abs(parseInt(P.css("marginTop"),10));o.hasClass(N.next)&&n-a-N.timeHeightInTimePicker>=r?P.css("marginTop","-"+(r+N.timeHeightInTimePicker)+"px"):o.hasClass(N.prev)&&0<=r-N.timeHeightInTimePicker&&P.css("marginTop","-"+(r-N.timeHeightInTimePicker)+"px"),u.trigger("scroll_element.xdsoft_scroller",[Math.abs(parseInt(P[0].style.marginTop,10)/(n-a))]),d=10<d?10:d-10,s||(i=setTimeout(e,t||d))}(500),L([N.ownerDocument.body,N.contentWindow]).on("touchend mouseup.xdsoft",function e(){clearTimeout(i),s=!0,L([N.ownerDocument.body,N.contentWindow]).off("touchend mouseup.xdsoft",e)})}),t=0,_.on("xchange.xdsoft",function(e){clearTimeout(t),t=setTimeout(function(){void 0!==W.currentTime&&null!==W.currentTime||(W.currentTime=W.now());for(var e,t,a,n,r,o,i,s,d,u,l="",f=new Date(W.currentTime.getFullYear(),W.currentTime.getMonth(),1,12,0,0),c=0,m=W.now(),h=!1,g=!1,p=!1,D=!1,y=[],v=!0,b="";f.getDay()!==N.dayOfWeekStart;)f.setDate(f.getDate()-1);for(l+="<table><thead><tr>",N.weeks&&(l+="<th></th>"),e=0;e<7;e+=1)l+="<th>"+N.i18n[R].dayOfWeekShort[(e+N.dayOfWeekStart)%7]+"</th>";for(l+="</tr></thead>",l+="<tbody>",!1!==N.maxDate&&(h=W.strToDate(N.maxDate),h=new Date(h.getFullYear(),h.getMonth(),h.getDate(),23,59,59,999)),!1!==N.minDate&&(g=W.strToDate(N.minDate),g=new Date(g.getFullYear(),g.getMonth(),g.getDate())),!1!==N.minDateTime&&(p=W.strToDate(N.minDateTime),p=new Date(p.getFullYear(),p.getMonth(),p.getDate(),p.getHours(),p.getMinutes(),p.getSeconds())),!1!==N.maxDateTime&&(D=W.strToDate(N.maxDateTime),D=new Date(D.getFullYear(),D.getMonth(),D.getDate(),D.getHours(),D.getMinutes(),D.getSeconds())),!1!==D&&(u=31*(12*D.getFullYear()+D.getMonth())+D.getDate());c<W.currentTime.countDaysInMonth()||f.getDay()!==N.dayOfWeekStart||W.currentTime.getMonth()===f.getMonth();){y=[],c+=1,a=f.getDay(),n=f.getDate(),r=f.getFullYear(),M=f.getMonth(),o=W.getWeekOfYear(f),d="",y.push("xdsoft_date"),i=N.beforeShowDay&&L.isFunction(N.beforeShowDay.call)?N.beforeShowDay.call(_,f):null,N.allowDateRe&&"[object RegExp]"===Object.prototype.toString.call(N.allowDateRe)&&(N.allowDateRe.test(E.formatDate(f,N.formatDate))||y.push("xdsoft_disabled")),N.allowDates&&0<N.allowDates.length&&-1===N.allowDates.indexOf(E.formatDate(f,N.formatDate))&&y.push("xdsoft_disabled");var k=31*(12*f.getFullYear()+f.getMonth())+f.getDate();(!1!==h&&h<f||!1!==p&&f<p||!1!==g&&f<g||!1!==D&&u<k||i&&!1===i[0])&&y.push("xdsoft_disabled"),-1!==N.disabledDates.indexOf(E.formatDate(f,N.formatDate))&&y.push("xdsoft_disabled"),-1!==N.disabledWeekDays.indexOf(a)&&y.push("xdsoft_disabled"),O.is("[disabled]")&&y.push("xdsoft_disabled"),i&&""!==i[1]&&y.push(i[1]),W.currentTime.getMonth()!==M&&y.push("xdsoft_other_month"),(N.defaultSelect||_.data("changed"))&&E.formatDate(W.currentTime,N.formatDate)===E.formatDate(f,N.formatDate)&&y.push("xdsoft_current"),E.formatDate(m,N.formatDate)===E.formatDate(f,N.formatDate)&&y.push("xdsoft_today"),0!==f.getDay()&&6!==f.getDay()&&-1===N.weekends.indexOf(E.formatDate(f,N.formatDate))||y.push("xdsoft_weekend"),void 0!==N.highlightedDates[E.formatDate(f,N.formatDate)]&&(t=N.highlightedDates[E.formatDate(f,N.formatDate)],y.push(void 0===t.style?"xdsoft_highlighted_default":t.style),d=void 0===t.desc?"":t.desc),N.beforeShowDay&&L.isFunction(N.beforeShowDay)&&y.push(N.beforeShowDay(f)),v&&(l+="<tr>",v=!1,N.weeks&&(l+="<th>"+o+"</th>")),l+='<td data-date="'+n+'" data-month="'+M+'" data-year="'+r+'" class="xdsoft_date xdsoft_day_of_week'+f.getDay()+" "+y.join(" ")+'" title="'+d+'"><div>'+n+"</div></td>",f.getDay()===N.dayOfWeekStartPrev&&(l+="</tr>",v=!0),f.setDate(n+1)}l+="</tbody></table>",C.html(l),F.find(".xdsoft_label span").eq(0).text(N.i18n[R].months[W.currentTime.getMonth()]),F.find(".xdsoft_label span").eq(1).text(W.currentTime.getFullYear()+N.yearOffset),M=b="";var x=0;if(!1!==N.minTime){var T=W.strtotime(N.minTime);x=60*T.getHours()+T.getMinutes()}var S=1440;if(!1!==N.maxTime){T=W.strtotime(N.maxTime);S=60*T.getHours()+T.getMinutes()}if(!1!==N.minDateTime){T=W.strToDateTime(N.minDateTime);if(E.formatDate(W.currentTime,N.formatDate)===E.formatDate(T,N.formatDate)){var M=60*T.getHours()+T.getMinutes();x<M&&(x=M)}}if(!1!==N.maxDateTime){T=W.strToDateTime(N.maxDateTime);if(E.formatDate(W.currentTime,N.formatDate)===E.formatDate(T,N.formatDate))(M=60*T.getHours()+T.getMinutes())<S&&(S=M)}if(s=function(e,t){var a,n=W.now(),r=N.allowTimes&&L.isArray(N.allowTimes)&&N.allowTimes.length;n.setHours(e),e=parseInt(n.getHours(),10),n.setMinutes(t),t=parseInt(n.getMinutes(),10),y=[];var o=60*e+t;(O.is("[disabled]")||S<=o||o<x)&&y.push("xdsoft_disabled"),(a=new Date(W.currentTime)).setHours(parseInt(W.currentTime.getHours(),10)),r||a.setMinutes(Math[N.roundTime](W.currentTime.getMinutes()/N.step)*N.step),(N.initTime||N.defaultSelect||_.data("changed"))&&a.getHours()===parseInt(e,10)&&(!r&&59<N.step||a.getMinutes()===parseInt(t,10))&&(N.defaultSelect||_.data("changed")?y.push("xdsoft_current"):N.initTime&&y.push("xdsoft_init_time")),parseInt(m.getHours(),10)===parseInt(e,10)&&parseInt(m.getMinutes(),10)===parseInt(t,10)&&y.push("xdsoft_today"),b+='<div class="xdsoft_time '+y.join(" ")+'" data-hour="'+e+'" data-minute="'+t+'">'+E.formatDate(n,N.formatTime)+"</div>"},N.allowTimes&&L.isArray(N.allowTimes)&&N.allowTimes.length)for(c=0;c<N.allowTimes.length;c+=1)s(W.strtotime(N.allowTimes[c]).getHours(),M=W.strtotime(N.allowTimes[c]).getMinutes());else for(e=c=0;c<(N.hours12?12:24);c+=1)for(e=0;e<60;e+=N.step){var w=60*c+e;w<x||(S<=w||s((c<10?"0":"")+c,M=(e<10?"0":"")+e))}for(P.html(b),H="",c=parseInt(N.yearStart,10);c<=parseInt(N.yearEnd,10);c+=1)H+='<div class="xdsoft_option '+(W.currentTime.getFullYear()===c?"xdsoft_current":"")+'" data-value="'+c+'">'+(c+N.yearOffset)+"</div>";for(A.children().eq(0).html(H),c=parseInt(N.monthStart,10),H="";c<=parseInt(N.monthEnd,10);c+=1)H+='<div class="xdsoft_option '+(W.currentTime.getMonth()===c?"xdsoft_current":"")+'" data-value="'+c+'">'+N.i18n[R].months[c]+"</div>";Y.children().eq(0).html(H),L(_).trigger("generate.xdsoft")},10),e.stopPropagation()}).on("afterOpen.xdsoft",function(){var e,t,a,n;N.timepicker&&(P.find(".xdsoft_current").length?e=".xdsoft_current":P.find(".xdsoft_init_time").length&&(e=".xdsoft_init_time"),e?(t=u[0].clientHeight,(a=P[0].offsetHeight)-t<(n=P.find(e).index()*N.timeHeightInTimePicker+1)&&(n=a-t),u.trigger("scroll_element.xdsoft_scroller",[parseInt(n,10)/(a-t)])):u.trigger("scroll_element.xdsoft_scroller",[0]))}),n=0,C.on("touchend click.xdsoft","td",function(e){e.stopPropagation(),n+=1;var t=L(this),a=W.currentTime;if(null==a&&(W.currentTime=W.now(),a=W.currentTime),t.hasClass("xdsoft_disabled"))return!1;a.setDate(1),a.setFullYear(t.data("year")),a.setMonth(t.data("month")),a.setDate(t.data("date")),_.trigger("select.xdsoft",[a]),O.val(W.str()),N.onSelectDate&&L.isFunction(N.onSelectDate)&&N.onSelectDate.call(_,W.currentTime,_.data("input"),e),_.data("changed",!0),_.trigger("xchange.xdsoft"),_.trigger("changedatetime.xdsoft"),(1<n||!0===N.closeOnDateSelect||!1===N.closeOnDateSelect&&!N.timepicker)&&!N.inline&&_.trigger("close.xdsoft"),setTimeout(function(){n=0},200)}),P.on("touchstart","div",function(e){this.touchMoved=!1}).on("touchmove","div",l).on("touchend click.xdsoft","div",function(e){if(!this.touchMoved){e.stopPropagation();var t=L(this),a=W.currentTime;if(null==a&&(W.currentTime=W.now(),a=W.currentTime),t.hasClass("xdsoft_disabled"))return!1;a.setHours(t.data("hour")),a.setMinutes(t.data("minute")),_.trigger("select.xdsoft",[a]),_.data("input").val(W.str()),N.onSelectTime&&L.isFunction(N.onSelectTime)&&N.onSelectTime.call(_,W.currentTime,_.data("input"),e),_.data("changed",!0),_.trigger("xchange.xdsoft"),_.trigger("changedatetime.xdsoft"),!0!==N.inline&&!0===N.closeOnTimeSelect&&_.trigger("close.xdsoft")}}),g.on("mousewheel.xdsoft",function(e){return!N.scrollMonth||(e.deltaY<0?W.nextMonth():W.prevMonth(),!1)}),O.on("mousewheel.xdsoft",function(e){return!N.scrollInput||(!N.datepicker&&N.timepicker?(0<=(a=P.find(".xdsoft_current").length?P.find(".xdsoft_current").eq(0).index():0)+e.deltaY&&a+e.deltaY<P.children().length&&(a+=e.deltaY),P.children().eq(a).length&&P.children().eq(a).trigger("mousedown"),!1):N.datepicker&&!N.timepicker?(g.trigger(e,[e.deltaY,e.deltaX,e.deltaY]),O.val&&O.val(W.str()),_.trigger("changedatetime.xdsoft"),!1):void 0)}),_.on("changedatetime.xdsoft",function(e){if(N.onChangeDateTime&&L.isFunction(N.onChangeDateTime)){var t=_.data("input");N.onChangeDateTime.call(_,W.currentTime,t,e),delete N.value,t.trigger("change")}}).on("generate.xdsoft",function(){N.onGenerate&&L.isFunction(N.onGenerate)&&N.onGenerate.call(_,W.currentTime,_.data("input")),s&&(_.trigger("afterOpen.xdsoft"),s=!1)}).on("click.xdsoft",function(e){e.stopPropagation()}),a=0,h=function(e,t){do{if(!(e=e.parentNode)||!1===t(e))break}while("HTML"!==e.nodeName)},r=function(){var e,t,a,n,r,o,i,s,d,u,l,f,c;if(e=(s=_.data("input")).offset(),t=s[0],u="top",a=e.top+t.offsetHeight-1,n=e.left,r="absolute",d=L(N.contentWindow).width(),f=L(N.contentWindow).height(),c=L(N.contentWindow).scrollTop(),N.ownerDocument.documentElement.clientWidth-e.left<g.parent().outerWidth(!0)){var m=g.parent().outerWidth(!0)-t.offsetWidth;n-=m}"rtl"===s.parent().css("direction")&&(n-=_.outerWidth()-s.outerWidth()),N.fixed?(a-=c,n-=L(N.contentWindow).scrollLeft(),r="fixed"):(i=!1,h(t,function(e){return null!==e&&("fixed"===N.contentWindow.getComputedStyle(e).getPropertyValue("position")?!(i=!0):void 0)}),i&&!N.insideParent?(r="fixed",a+_.outerHeight()>f+c?(u="bottom",a=f+c-e.top):a-=c):a+_[0].offsetHeight>f+c&&(a=e.top-_[0].offsetHeight+1),a<0&&(a=0),n+t.offsetWidth>d&&(n=d-t.offsetWidth)),o=_[0],h(o,function(e){if("relative"===N.contentWindow.getComputedStyle(e).getPropertyValue("position")&&d>=e.offsetWidth)return n-=(d-e.offsetWidth)/2,!1}),l={position:r,left:N.insideParent?t.offsetLeft:n,top:"",bottom:""},N.insideParent?l[u]=t.offsetTop+t.offsetHeight:l[u]=a,_.css(l)},_.on("open.xdsoft",function(e){var t=!0;N.onShow&&L.isFunction(N.onShow)&&(t=N.onShow.call(_,W.currentTime,_.data("input"),e)),!1!==t&&(_.show(),r(),L(N.contentWindow).off("resize.xdsoft",r).on("resize.xdsoft",r),N.closeOnWithoutClick&&L([N.ownerDocument.body,N.contentWindow]).on("touchstart mousedown.xdsoft",function e(){_.trigger("close.xdsoft"),L([N.ownerDocument.body,N.contentWindow]).off("touchstart mousedown.xdsoft",e)}))}).on("close.xdsoft",function(e){var t=!0;F.find(".xdsoft_month,.xdsoft_year").find(".xdsoft_select").hide(),N.onClose&&L.isFunction(N.onClose)&&(t=N.onClose.call(_,W.currentTime,_.data("input"),e)),!1===t||N.opened||N.inline||_.hide(),e.stopPropagation()}).on("toggle.xdsoft",function(){_.is(":visible")?_.trigger("close.xdsoft"):_.trigger("open.xdsoft")}).data("input",O),d=0,_.data("xdsoft_datetime",W),_.setOptions(N),W.setCurrentTime(f()),O.data("xdsoft_datetimepicker",_).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function(){O.is(":disabled")||O.data("xdsoft_datetimepicker").is(":visible")&&N.closeOnInputClick||N.openOnFocus&&(clearTimeout(d),d=setTimeout(function(){O.is(":disabled")||(s=!0,W.setCurrentTime(f(),!0),N.mask&&c(N),_.trigger("open.xdsoft"))},100))}).on("keydown.xdsoft",function(e){var t,a=e.which;return-1!==[D].indexOf(a)&&N.enterLikeTab?(t=L("input:visible,textarea:visible,button:visible,a:visible"),_.trigger("close.xdsoft"),t.eq(t.index(this)+1).focus(),!1):-1!==[T].indexOf(a)?(_.trigger("close.xdsoft"),!0):void 0}).on("blur.xdsoft",function(){_.trigger("close.xdsoft")})},r=function(e){var t=e.data("xdsoft_datetimepicker");t&&(t.data("xdsoft_datetime",null),t.remove(),e.data("xdsoft_datetimepicker",null).off(".xdsoft"),L(N.contentWindow).off("resize.xdsoft"),L([N.contentWindow,N.ownerDocument.body]).off("mousedown.xdsoft touchstart"),e.unmousewheel&&e.unmousewheel())},L(N.ownerDocument).off("keydown.xdsoftctrl keyup.xdsoftctrl").off("keydown.xdsoftcmd keyup.xdsoftcmd").on("keydown.xdsoftctrl",function(e){e.keyCode===p&&(I=!0)}).on("keyup.xdsoftctrl",function(e){e.keyCode===p&&(I=!1)}).on("keydown.xdsoftcmd",function(e){91===e.keyCode&&!0}).on("keyup.xdsoftcmd",function(e){91===e.keyCode&&!1}),this.each(function(){var t,e=L(this).data("xdsoft_datetimepicker");if(e){if("string"===L.type(H))switch(H){case"show":L(this).select().focus(),e.trigger("open.xdsoft");break;case"hide":e.trigger("close.xdsoft");break;case"toggle":e.trigger("toggle.xdsoft");break;case"destroy":r(L(this));break;case"reset":this.value=this.defaultValue,this.value&&e.data("xdsoft_datetime").isValidDate(E.parseDate(this.value,N.format))||e.data("changed",!1),e.data("xdsoft_datetime").setCurrentTime(this.value);break;case"validate":e.data("input").trigger("blur.xdsoft");break;default:e[H]&&L.isFunction(e[H])&&(o=e[H](a))}else e.setOptions(H);return 0}"string"!==L.type(H)&&(!N.lazyInit||N.open||N.inline?n(L(this)):(t=L(this)).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function e(){t.is(":disabled")||t.data("xdsoft_datetimepicker")||(clearTimeout(i),i=setTimeout(function(){t.data("xdsoft_datetimepicker")||n(t),t.off("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",e).trigger("open.xdsoft")},100))}))}),o},L.fn.datetimepicker.defaults=s};!function(e){"function"==typeof define&&define.amd?define(["jquery","jquery-mousewheel"],e):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(datetimepickerFactory),function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(c){var m,h,e=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],t="onwheel"in document||9<=document.documentMode?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],g=Array.prototype.slice;if(c.event.fixHooks)for(var a=e.length;a;)c.event.fixHooks[e[--a]]=c.event.mouseHooks;var p=c.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var e=t.length;e;)this.addEventListener(t[--e],n,!1);else this.onmousewheel=n;c.data(this,"mousewheel-line-height",p.getLineHeight(this)),c.data(this,"mousewheel-page-height",p.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var e=t.length;e;)this.removeEventListener(t[--e],n,!1);else this.onmousewheel=null;c.removeData(this,"mousewheel-line-height"),c.removeData(this,"mousewheel-page-height")},getLineHeight:function(e){var t=c(e),a=t["offsetParent"in c.fn?"offsetParent":"parent"]();return a.length||(a=c("body")),parseInt(a.css("fontSize"),10)||parseInt(t.css("fontSize"),10)||16},getPageHeight:function(e){return c(e).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};function n(e){var t,a=e||window.event,n=g.call(arguments,1),r=0,o=0,i=0,s=0,d=0;if((e=c.event.fix(a)).type="mousewheel","detail"in a&&(i=-1*a.detail),"wheelDelta"in a&&(i=a.wheelDelta),"wheelDeltaY"in a&&(i=a.wheelDeltaY),"wheelDeltaX"in a&&(o=-1*a.wheelDeltaX),"axis"in a&&a.axis===a.HORIZONTAL_AXIS&&(o=-1*i,i=0),r=0===i?o:i,"deltaY"in a&&(r=i=-1*a.deltaY),"deltaX"in a&&(o=a.deltaX,0===i&&(r=-1*o)),0!==i||0!==o){if(1===a.deltaMode){var u=c.data(this,"mousewheel-line-height");r*=u,i*=u,o*=u}else if(2===a.deltaMode){var l=c.data(this,"mousewheel-page-height");r*=l,i*=l,o*=l}if(t=Math.max(Math.abs(i),Math.abs(o)),(!h||t<h)&&y(a,h=t)&&(h/=40),y(a,t)&&(r/=40,o/=40,i/=40),r=Math[1<=r?"floor":"ceil"](r/h),o=Math[1<=o?"floor":"ceil"](o/h),i=Math[1<=i?"floor":"ceil"](i/h),p.settings.normalizeOffset&&this.getBoundingClientRect){var f=this.getBoundingClientRect();s=e.clientX-f.left,d=e.clientY-f.top}return e.deltaX=o,e.deltaY=i,e.deltaFactor=h,e.offsetX=s,e.offsetY=d,e.deltaMode=0,n.unshift(e,r,o,i),m&&clearTimeout(m),m=setTimeout(D,200),(c.event.dispatch||c.event.handle).apply(this,n)}}function D(){h=null}function y(e,t){return p.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120==0}c.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})});
|
|
assets/vendor/datepicker/jquery.datetimepicker.min.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
.xdsoft_datetimepicker{box-shadow:0 5px 15px -5px rgba(0,0,0,0.506);background:#fff;border-bottom:1px solid #bbb;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:8px;padding-left:0;padding-top:2px;position:absolute;z-index:9999;-moz-box-sizing:border-box;box-sizing:border-box;display:none}.xdsoft_datetimepicker.xdsoft_rtl{padding:8px 0 8px 8px}.xdsoft_datetimepicker iframe{position:absolute;left:0;top:0;width:75px;height:210px;background:transparent;border:0}.xdsoft_datetimepicker button{border:none !important}.xdsoft_noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.xdsoft_noselect::selection{background:transparent}.xdsoft_noselect::-moz-selection{background:transparent}.xdsoft_datetimepicker.xdsoft_inline{display:inline-block;position:static;box-shadow:none}.xdsoft_datetimepicker *{-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0}.xdsoft_datetimepicker .xdsoft_datepicker,.xdsoft_datetimepicker .xdsoft_timepicker{display:none}.xdsoft_datetimepicker .xdsoft_datepicker.active,.xdsoft_datetimepicker .xdsoft_timepicker.active{display:block}.xdsoft_datetimepicker .xdsoft_datepicker{width:224px;float:left;margin-left:8px}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_datepicker{float:right;margin-right:8px;margin-left:0}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker{width:256px}.xdsoft_datetimepicker .xdsoft_timepicker{width:58px;float:left;text-align:center;margin-left:8px;margin-top:0}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker{float:right;margin-right:8px;margin-left:0}.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker{margin-top:8px;margin-bottom:3px}.xdsoft_datetimepicker .xdsoft_monthpicker{position:relative;text-align:center}.xdsoft_datetimepicker .xdsoft_label i,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC)}.xdsoft_datetimepicker .xdsoft_label i{opacity:.5;background-position:-92px -19px;display:inline-block;width:9px;height:20px;vertical-align:middle}.xdsoft_datetimepicker .xdsoft_prev{float:left;background-position:-20px 0}.xdsoft_datetimepicker .xdsoft_today_button{float:left;background-position:-70px 0;margin-left:5px}.xdsoft_datetimepicker .xdsoft_next{float:right;background-position:0 0}.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_today_button{background-color:transparent;background-repeat:no-repeat;border:0 none;cursor:pointer;display:block;height:30px;opacity:.5;-ms-filter:"alpha(opacity=50)";outline:medium none;overflow:hidden;padding:0;position:relative;text-indent:100%;white-space:nowrap;width:20px;min-width:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next{float:none;background-position:-40px -15px;height:15px;width:30px;display:block;margin-left:14px;margin-top:7px}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_prev,.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_next{float:none;margin-left:0;margin-right:14px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{background-position:-40px 0;margin-bottom:7px;margin-top:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box{height:151px;overflow:hidden;border-bottom:1px solid #ddd}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div{background:#f5f5f5;border-top:1px solid #ddd;color:#666;font-size:12px;text-align:center;border-collapse:collapse;cursor:pointer;border-bottom-width:0;height:25px;line-height:25px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:first-child{border-top-width:0}.xdsoft_datetimepicker .xdsoft_today_button:hover,.xdsoft_datetimepicker .xdsoft_next:hover,.xdsoft_datetimepicker .xdsoft_prev:hover{opacity:1;-ms-filter:"alpha(opacity=100)"}.xdsoft_datetimepicker .xdsoft_label{display:inline;position:relative;z-index:9999;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:bold;background-color:#fff;float:left;width:182px;text-align:center;cursor:pointer}.xdsoft_datetimepicker .xdsoft_label:hover>span{text-decoration:underline}.xdsoft_datetimepicker .xdsoft_label:hover i{opacity:1.0}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select{border:1px solid #ccc;position:absolute;right:0;top:30px;z-index:101;display:none;background:#fff;max-height:160px;overflow-y:hidden}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_monthselect{right:-7px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_yearselect{right:2px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#fff;background:#ff8000}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option{padding:2px 10px 2px 5px;text-decoration:none !important}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#3af;box-shadow:#178fe5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_month{width:100px;text-align:right}.xdsoft_datetimepicker .xdsoft_calendar{clear:both}.xdsoft_datetimepicker .xdsoft_year{width:48px;margin-left:5px}.xdsoft_datetimepicker .xdsoft_calendar table{border-collapse:collapse;width:100%}.xdsoft_datetimepicker .xdsoft_calendar td>div{padding-right:5px}.xdsoft_datetimepicker .xdsoft_calendar th{height:25px}.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th{width:14.2857142%;background:#f5f5f5;border:1px solid #ddd;color:#666;font-size:12px;text-align:right;vertical-align:middle;padding:0;border-collapse:collapse;cursor:pointer;height:25px}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th{width:12.5%}.xdsoft_datetimepicker .xdsoft_calendar th{background:#f1f1f1}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today{color:#3af}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_default{background:#ffe9d2;box-shadow:#ffb871 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_mint{background:#c1ffc9;box-shadow:#00dd1c 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#3af;box-shadow:#178fe5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,.xdsoft_datetimepicker .xdsoft_time_box>div>div.xdsoft_disabled{opacity:.5;-ms-filter:"alpha(opacity=50)";cursor:default}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled{opacity:.2;-ms-filter:"alpha(opacity=20)"}.xdsoft_datetimepicker .xdsoft_calendar td:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#fff !important;background:#ff8000 !important;box-shadow:none !important}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current.xdsoft_disabled:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current.xdsoft_disabled:hover{background:#3af !important;box-shadow:#178fe5 0 1px 3px 0 inset !important;color:#fff !important}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_disabled:hover{color:inherit !important;background:inherit !important;box-shadow:inherit !important}.xdsoft_datetimepicker .xdsoft_calendar th{font-weight:700;text-align:center;color:#999;cursor:default}.xdsoft_datetimepicker .xdsoft_copyright{color:#ccc !important;font-size:10px;clear:both;float:none;margin-left:8px}.xdsoft_datetimepicker .xdsoft_copyright a{color:#eee !important}.xdsoft_datetimepicker .xdsoft_copyright a:hover{color:#aaa !important}.xdsoft_time_box{position:relative;border:1px solid #ccc}.xdsoft_scrollbar>.xdsoft_scroller{background:#ccc !important;height:20px;border-radius:3px}.xdsoft_scrollbar{position:absolute;width:7px;right:0;top:0;bottom:0;cursor:pointer}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_scrollbar{left:0;right:auto}.xdsoft_scroller_box{position:relative}.xdsoft_datetimepicker.xdsoft_dark{box-shadow:0 5px 15px -5px rgba(255,255,255,0.506);background:#000;border-bottom:1px solid #444;border-left:1px solid #333;border-right:1px solid #333;border-top:1px solid #333;color:#ccc}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box{border-bottom:1px solid #222}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div{background:#0a0a0a;border-top:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label{background-color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select{border:1px solid #333;background:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#000;background:#007fff}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==)}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0a0a0a;border:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0e0e0e}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today{color:#c50}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_default{background:#ffe9d2;box-shadow:#ffb871 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_mint{background:#c1ffc9;box-shadow:#00dd1c 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#000 !important;background:#007fff !important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{color:#666}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright{color:#333 !important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a{color:#111 !important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover{color:#555 !important}.xdsoft_dark .xdsoft_time_box{border:1px solid #333}.xdsoft_dark .xdsoft_scrollbar>.xdsoft_scroller{background:#333 !important}.xdsoft_datetimepicker .xdsoft_save_selected{display:block;border:1px solid #ddd !important;margin-top:5px;width:100%;color:#454551;font-size:13px}.xdsoft_datetimepicker .blue-gradient-button{font-family:"museo-sans","Book Antiqua",sans-serif;font-size:12px;font-weight:300;color:#82878c;height:28px;position:relative;padding:4px 17px 4px 33px;border:1px solid #d7d8da;background:-moz-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(73%,#f4f8fa));background:-webkit-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-o-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-ms-linear-gradient(top,#fff 0,#f4f8fa 73%);background:linear-gradient(to bottom,#fff 0,#f4f8fa 73%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff',endColorstr='#f4f8fa',GradientType=0)}.xdsoft_datetimepicker .blue-gradient-button:hover,.xdsoft_datetimepicker .blue-gradient-button:focus,.xdsoft_datetimepicker .blue-gradient-button:hover span,.xdsoft_datetimepicker .blue-gradient-button:focus span{color:#454551;background:-moz-linear-gradient(top,#f4f8fa 0,#FFF 73%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f4f8fa),color-stop(73%,#FFF));background:-webkit-linear-gradient(top,#f4f8fa 0,#FFF 73%);background:-o-linear-gradient(top,#f4f8fa 0,#FFF 73%);background:-ms-linear-gradient(top,#f4f8fa 0,#FFF 73%);background:linear-gradient(to bottom,#f4f8fa 0,#FFF 73%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4f8fa',endColorstr='#FFF',GradientType=0)}
|
|
assets/vendor/datepicker/jquery.datetimepicker.min.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
var datetimepickerFactory=function(L){"use strict";var s={i18n:{ar:{months:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],dayOfWeekShort:["ن","ث","ع","خ","ج","س","ح"],dayOfWeek:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"]},ro:{months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],dayOfWeekShort:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],dayOfWeek:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"]},id:{months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],dayOfWeekShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],dayOfWeek:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},is:{months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],dayOfWeekShort:["Sun","Mán","Þrið","Mið","Fim","Fös","Lau"],dayOfWeek:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"]},bg:{months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],dayOfWeekShort:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"]},fa:{months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],dayOfWeekShort:["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayOfWeek:["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه","یکشنبه"]},ru:{months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayOfWeekShort:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"]},uk:{months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],dayOfWeekShort:["Ндл","Пнд","Втр","Срд","Чтв","Птн","Сбт"],dayOfWeek:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"]},en:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},el:{months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],dayOfWeekShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayOfWeek:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayOfWeekShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayOfWeek:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},nl:{months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],dayOfWeekShort:["zo","ma","di","wo","do","vr","za"],dayOfWeek:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},tr:{months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],dayOfWeekShort:["Paz","Pts","Sal","Çar","Per","Cum","Cts"],dayOfWeek:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"]},fr:{months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],dayOfWeekShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayOfWeek:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],dayOfWeekShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],dayOfWeek:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"]},th:{months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],dayOfWeekShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayOfWeek:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"]},pl:{months:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],dayOfWeekShort:["nd","pn","wt","śr","cz","pt","sb"],dayOfWeek:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},pt:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},ch:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"]},se:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},km:{months:["មករា","កុម្ភៈ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],dayOfWeekShort:["អាទិ","ច័ន្ទ","អង្គារ","ពុធ","ព្រហ","សុក្រ","សៅរ៍"],dayOfWeek:["អាទិត្យ","ច័ន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"]},kr:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},it:{months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayOfWeek:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"]},da:{months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"]},no:{months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]},ja:{months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeekShort:["日","月","火","水","木","金","土"],dayOfWeek:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"]},vi:{months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayOfWeekShort:["CN","T2","T3","T4","T5","T6","T7"],dayOfWeek:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"]},sl:{months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],dayOfWeekShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayOfWeek:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]},cs:{months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],dayOfWeekShort:["Ne","Po","Út","St","Čt","Pá","So"]},hu:{months:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],dayOfWeekShort:["Va","Hé","Ke","Sze","Cs","Pé","Szo"],dayOfWeek:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"]},az:{months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],dayOfWeekShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayOfWeek:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"]},bs:{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ca:{months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],dayOfWeekShort:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],dayOfWeek:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},"en-GB":{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},et:{months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],dayOfWeekShort:["P","E","T","K","N","R","L"],dayOfWeek:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"]},eu:{months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],dayOfWeekShort:["Ig.","Al.","Ar.","Az.","Og.","Or.","La."],dayOfWeek:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"]},fi:{months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],dayOfWeekShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayOfWeek:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},gl:{months:["Xan","Feb","Maz","Abr","Mai","Xun","Xul","Ago","Set","Out","Nov","Dec"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Xov","Ven","Sab"],dayOfWeek:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"]},hr:{months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ko:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},lt:{months:["Sausio","Vasario","Kovo","Balandžio","Gegužės","Birželio","Liepos","Rugpjūčio","Rugsėjo","Spalio","Lapkričio","Gruodžio"],dayOfWeekShort:["Sek","Pir","Ant","Tre","Ket","Pen","Šeš"],dayOfWeek:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"]},lv:{months:["Janvāris","Februāris","Marts","Aprīlis ","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],dayOfWeekShort:["Sv","Pr","Ot","Tr","Ct","Pk","St"],dayOfWeek:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"]},mk:{months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],dayOfWeekShort:["нед","пон","вто","сре","чет","пет","саб"],dayOfWeek:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"]},mn:{months:["1-р сар","2-р сар","3-р сар","4-р сар","5-р сар","6-р сар","7-р сар","8-р сар","9-р сар","10-р сар","11-р сар","12-р сар"],dayOfWeekShort:["Дав","Мяг","Лха","Пүр","Бсн","Бям","Ням"],dayOfWeek:["Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба","Ням"]},"pt-BR":{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},sk:{months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],dayOfWeekShort:["Ne","Po","Ut","St","Št","Pi","So"],dayOfWeek:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},sq:{months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],dayOfWeekShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],dayOfWeek:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"]},"sr-YU":{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sre","čet","Pet","Sub"],dayOfWeek:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"]},sr:{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],dayOfWeekShort:["нед","пон","уто","сре","чет","пет","суб"],dayOfWeek:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"]},sv:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayOfWeek:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"]},"zh-TW":{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},zh:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},ug:{months:["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي"],dayOfWeek:["يەكشەنبە","دۈشەنبە","سەيشەنبە","چارشەنبە","پەيشەنبە","جۈمە","شەنبە"]},he:{months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],dayOfWeekShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayOfWeek:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"]},hy:{months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],dayOfWeekShort:["Կի","Երկ","Երք","Չոր","Հնգ","Ուրբ","Շբթ"],dayOfWeek:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"]},kg:{months:["Үчтүн айы","Бирдин айы","Жалган Куран","Чын Куран","Бугу","Кулжа","Теке","Баш Оона","Аяк Оона","Тогуздун айы","Жетинин айы","Бештин айы"],dayOfWeekShort:["Жек","Дүй","Шей","Шар","Бей","Жум","Ише"],dayOfWeek:["Жекшемб","Дүйшөмб","Шейшемб","Шаршемб","Бейшемби","Жума","Ишенб"]},rm:{months:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],dayOfWeekShort:["Du","Gli","Ma","Me","Gie","Ve","So"],dayOfWeek:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"]},ka:{months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],dayOfWeekShort:["კვ","ორშ","სამშ","ოთხ","ხუთ","პარ","შაბ"],dayOfWeek:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"]}},ownerDocument:document,contentWindow:window,value:"",rtl:!1,format:"Y/m/d H:i",formatTime:"H:i",formatDate:"Y/m/d",startDate:!1,step:60,monthChangeSpinner:!0,closeOnDateSelect:!1,closeOnTimeSelect:!0,closeOnWithoutClick:!0,closeOnInputClick:!0,openOnFocus:!0,timepicker:!0,datepicker:!0,weeks:!1,defaultTime:!1,defaultDate:!1,minDate:!1,maxDate:!1,minTime:!1,maxTime:!1,minDateTime:!1,maxDateTime:!1,allowTimes:[],opened:!1,initTime:!0,inline:!1,theme:"",touchMovedThreshold:5,onSelectDate:function(){},onSelectTime:function(){},onChangeMonth:function(){},onGetWeekOfYear:function(){},onChangeYear:function(){},onChangeDateTime:function(){},onShow:function(){},onClose:function(){},onGenerate:function(){},withoutCopyright:!0,inverseButton:!1,hours12:!1,next:"xdsoft_next",prev:"xdsoft_prev",dayOfWeekStart:0,parentID:"body",timeHeightInTimePicker:25,timepickerScrollbar:!0,todayButton:!0,prevButton:!0,nextButton:!0,defaultSelect:!0,scrollMonth:!0,scrollTime:!0,scrollInput:!0,lazyInit:!1,mask:!1,validateOnBlur:!0,allowBlank:!0,yearStart:1950,yearEnd:2050,monthStart:0,monthEnd:11,style:"",id:"",fixed:!1,roundTime:"round",className:"",weekends:[],highlightedDates:[],highlightedPeriods:[],allowDates:[],allowDateRe:null,disabledDates:[],disabledWeekDays:[],yearOffset:0,beforeShowDay:null,enterLikeTab:!0,showApplyButton:!1,insideParent:!1},E=null,o=null,V="en",a={meridiem:["AM","PM"]},r=function(){var e=s.i18n[V],t={days:e.dayOfWeek,daysShort:e.dayOfWeekShort,months:e.months,monthsShort:L.map(e.months,function(e){return e.substring(0,3)})};"function"==typeof DateFormatter&&(E=o=new DateFormatter({dateSettings:L.extend({},a,t)}))},n={moment:{default_options:{format:"YYYY/MM/DD HH:mm",formatDate:"YYYY/MM/DD",formatTime:"HH:mm"},formatter:{parseDate:function(e,t){if(i(t))return o.parseDate(e,t);var a=moment(e,t);return!!a.isValid()&&a.toDate()},formatDate:function(e,t){return i(t)?o.formatDate(e,t):moment(e).format(t)},formatMask:function(e){return e.replace(/Y{4}/g,"9999").replace(/Y{2}/g,"99").replace(/M{2}/g,"19").replace(/D{2}/g,"39").replace(/H{2}/g,"29").replace(/m{2}/g,"59").replace(/s{2}/g,"59")}}}};L.datetimepicker={setLocale:function(e){var t=s.i18n[e]?e:"en";V!==t&&(V=t,r())},setDateFormatter:function(e){if("string"==typeof e&&n.hasOwnProperty(e)){var t=n[e];L.extend(s,t.default_options),E=t.formatter}else E=e}};var t={RFC_2822:"D, d M Y H:i:s O",ATOM:"Y-m-dTH:i:sP",ISO_8601:"Y-m-dTH:i:sO",RFC_822:"D, d M y H:i:s O",RFC_850:"l, d-M-y H:i:s T",RFC_1036:"D, d M y H:i:s O",RFC_1123:"D, d M Y H:i:s O",RSS:"D, d M Y H:i:s O",W3C:"Y-m-dTH:i:sP"},i=function(e){return-1!==Object.values(t).indexOf(e)};function m(e,t,a){this.date=e,this.desc=t,this.style=a}L.extend(L.datetimepicker,t),r(),window.getComputedStyle||(window.getComputedStyle=function(a){return this.el=a,this.getPropertyValue=function(e){var t=/(-([a-z]))/g;return"float"===e&&(e="styleFloat"),t.test(e)&&(e=e.replace(t,function(e,t,a){return a.toUpperCase()})),a.currentStyle[e]||null},this}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var a,o;for(a=t||0,o=this.length;a<o;a+=1)if(this[a]===e)return a;return-1}),Date.prototype.countDaysInMonth=function(){return new Date(this.getFullYear(),this.getMonth()+1,0).getDate()},L.fn.xdsoftScroller=function(p,D){return this.each(function(){var n,i,s,d,u,l=L(this),a=function(e){var t,a={x:0,y:0};return"touchstart"===e.type||"touchmove"===e.type||"touchend"===e.type||"touchcancel"===e.type?(t=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],a.x=t.clientX,a.y=t.clientY):"mousedown"!==e.type&&"mouseup"!==e.type&&"mousemove"!==e.type&&"mouseover"!==e.type&&"mouseout"!==e.type&&"mouseenter"!==e.type&&"mouseleave"!==e.type||(a.x=e.clientX,a.y=e.clientY),a},f=100,o=!1,r=0,c=0,m=0,t=!1,h=0,g=function(){};"hide"!==D?(L(this).hasClass("xdsoft_scroller_box")||(n=l.children().eq(0),i=l[0].clientHeight,s=n[0].offsetHeight,d=L('<div class="xdsoft_scrollbar"></div>'),u=L('<div class="xdsoft_scroller"></div>'),d.append(u),l.addClass("xdsoft_scroller_box").append(d),g=function(e){var t=a(e).y-r+h;t<0&&(t=0),t+u[0].offsetHeight>m&&(t=m-u[0].offsetHeight),l.trigger("scroll_element.xdsoft_scroller",[f?t/f:0])},u.on("touchstart.xdsoft_scroller mousedown.xdsoft_scroller",function(e){i||l.trigger("resize_scroll.xdsoft_scroller",[D]),r=a(e).y,h=parseInt(u.css("margin-top"),10),m=d[0].offsetHeight,"mousedown"===e.type||"touchstart"===e.type?(p.ownerDocument&&L(p.ownerDocument.body).addClass("xdsoft_noselect"),L([p.ownerDocument.body,p.contentWindow]).on("touchend mouseup.xdsoft_scroller",function e(){L([p.ownerDocument.body,p.contentWindow]).off("touchend mouseup.xdsoft_scroller",e).off("mousemove.xdsoft_scroller",g).removeClass("xdsoft_noselect")}),L(p.ownerDocument.body).on("mousemove.xdsoft_scroller",g)):(t=!0,e.stopPropagation(),e.preventDefault())}).on("touchmove",function(e){t&&(e.preventDefault(),g(e))}).on("touchend touchcancel",function(){t=!1,h=0}),l.on("scroll_element.xdsoft_scroller",function(e,t){i||l.trigger("resize_scroll.xdsoft_scroller",[t,!0]),t=1<t?1:t<0||isNaN(t)?0:t,u.css("margin-top",f*t),setTimeout(function(){n.css("marginTop",-parseInt((n[0].offsetHeight-i)*t,10))},10)}).on("resize_scroll.xdsoft_scroller",function(e,t,a){var o,r;i=l[0].clientHeight,s=n[0].offsetHeight,r=(o=i/s)*d[0].offsetHeight,1<o?u.hide():(u.show(),u.css("height",parseInt(10<r?r:10,10)),f=d[0].offsetHeight-u[0].offsetHeight,!0!==a&&l.trigger("scroll_element.xdsoft_scroller",[t||Math.abs(parseInt(n.css("marginTop"),10))/(s-i)]))}),l.on("mousewheel",function(e){var t=Math.abs(parseInt(n.css("marginTop"),10));return(t-=20*e.deltaY)<0&&(t=0),l.trigger("scroll_element.xdsoft_scroller",[t/(s-i)]),e.stopPropagation(),!1}),l.on("touchstart",function(e){o=a(e),c=Math.abs(parseInt(n.css("marginTop"),10))}),l.on("touchmove",function(e){if(o){e.preventDefault();var t=a(e);l.trigger("scroll_element.xdsoft_scroller",[(c-(t.y-o.y))/(s-i)])}}),l.on("touchend touchcancel",function(){o=!1,c=0})),l.trigger("resize_scroll.xdsoft_scroller",[D])):l.find(".xdsoft_scrollbar").hide()})},L.fn.datetimepicker=function(j,a){var o,r,n=this,p=17,D=13,y=27,k=37,v=38,x=39,b=40,T=9,S=116,O=65,M=67,H=86,J=90,z=89,N=!1,I=L.isPlainObject(j)||!j?L.extend(!0,{},s,j):L.extend(!0,{},s),i=0;return o=function(w){var t,o,a,r,W,h,_=L('<div class="xdsoft_datetimepicker xdsoft_noselect"></div>'),e=L('<div class="xdsoft_copyright"><a target="_blank" href="http://xdsoft.net/jqplugins/datetimepicker/">xdsoft.net</a></div>'),g=L('<div class="xdsoft_datepicker active"></div>'),F=L('<div class="xdsoft_monthpicker"><button type="button" class="xdsoft_prev"></button><button type="button" class="xdsoft_today_button"></button><div class="xdsoft_label xdsoft_month"><span></span><i></i></div><div class="xdsoft_label xdsoft_year"><span></span><i></i></div><button type="button" class="xdsoft_next"></button></div>'),C=L('<div class="xdsoft_calendar"></div>'),n=L('<div class="xdsoft_timepicker active"><button type="button" class="xdsoft_prev"></button><div class="xdsoft_time_box"></div><button type="button" class="xdsoft_next"></button></div>'),u=n.find(".xdsoft_time_box").eq(0),P=L('<div class="xdsoft_time_variant"></div>'),i=L('<button type="button" class="xdsoft_save_selected blue-gradient-button">Save Selected</button>'),A=L('<div class="xdsoft_select xdsoft_monthselect"><div></div></div>'),Y=L('<div class="xdsoft_select xdsoft_yearselect"><div></div></div>'),s=!1,d=0;I.id&&_.attr("id",I.id),I.style&&_.attr("style",I.style),I.weeks&&_.addClass("xdsoft_showweeks"),I.rtl&&_.addClass("xdsoft_rtl"),_.addClass("xdsoft_"+I.theme),_.addClass(I.className),F.find(".xdsoft_month span").after(A),F.find(".xdsoft_year span").after(Y),F.find(".xdsoft_month,.xdsoft_year").on("touchstart mousedown.xdsoft",function(e){var t,a,o=L(this).find(".xdsoft_select").eq(0),r=0,n=0,i=o.is(":visible");for(F.find(".xdsoft_select").hide(),W.currentTime&&(r=W.currentTime[L(this).hasClass("xdsoft_month")?"getMonth":"getFullYear"]()),o[i?"hide":"show"](),t=o.find("div.xdsoft_option"),a=0;a<t.length&&t.eq(a).data("value")!==r;a+=1)n+=t[0].offsetHeight;return o.xdsoftScroller(I,n/(o.children()[0].offsetHeight-o[0].clientHeight)),e.stopPropagation(),!1});var l=function(e){var t=e.originalEvent,a=t.touches?t.touches[0]:t;this.touchStartPosition=this.touchStartPosition||a;var o=Math.abs(this.touchStartPosition.clientX-a.clientX),r=Math.abs(this.touchStartPosition.clientY-a.clientY);Math.sqrt(o*o+r*r)>I.touchMovedThreshold&&(this.touchMoved=!0)};function f(){var e,t=!1;return I.startDate?t=W.strToDate(I.startDate):(t=I.value||(w&&w.val&&w.val()?w.val():""))?(t=W.strToDateTime(t),I.yearOffset&&(t=new Date(t.getFullYear()-I.yearOffset,t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()))):I.defaultDate&&(t=W.strToDateTime(I.defaultDate),I.defaultTime&&(e=W.strtotime(I.defaultTime),t.setHours(e.getHours()),t.setMinutes(e.getMinutes()))),t&&W.isValidDate(t)?_.data("changed",!0):t="",t||0}function c(m){var h=function(e,t){var a=e.replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g,"\\$1").replace(/_/g,"{digit+}").replace(/([0-9]{1})/g,"{digit$1}").replace(/\{digit([0-9]{1})\}/g,"[0-$1_]{1}").replace(/\{digit[\+]\}/g,"[0-9_]{1}");return new RegExp(a).test(t)},g=function(e,t){if(!(e="string"==typeof e||e instanceof String?m.ownerDocument.getElementById(e):e))return!1;if(e.createTextRange){var a=e.createTextRange();return a.collapse(!0),a.moveEnd("character",t),a.moveStart("character",t),a.select(),!0}return!!e.setSelectionRange&&(e.setSelectionRange(t,t),!0)};m.mask&&w.off("keydown.xdsoft"),!0===m.mask&&(E.formatMask?m.mask=E.formatMask(m.format):m.mask=m.format.replace(/Y/g,"9999").replace(/F/g,"9999").replace(/m/g,"19").replace(/d/g,"39").replace(/H/g,"29").replace(/i/g,"59").replace(/s/g,"59")),"string"===L.type(m.mask)&&(h(m.mask,w.val())||(w.val(m.mask.replace(/[0-9]/g,"_")),g(w[0],0)),w.on("paste.xdsoft",function(e){var t=(e.clipboardData||e.originalEvent.clipboardData||window.clipboardData).getData("text"),a=this.value,o=this.selectionStart;return a=a.substr(0,o)+t+a.substr(o+t.length),o+=t.length,h(m.mask,a)?(this.value=a,g(this,o)):""===L.trim(a)?this.value=m.mask.replace(/[0-9]/g,"_"):w.trigger("error_input.xdsoft"),e.preventDefault(),!1}),w.on("keydown.xdsoft",function(e){var t,a=this.value,o=e.which,r=this.selectionStart,n=this.selectionEnd,i=r!==n;if(48<=o&&o<=57||96<=o&&o<=105||8===o||46===o){for(t=8===o||46===o?"_":String.fromCharCode(96<=o&&o<=105?o-48:o),8===o&&r&&!i&&(r-=1);;){var s=m.mask.substr(r,1),d=r<m.mask.length,u=0<r;if(!(/[^0-9_]/.test(s)&&d&&u))break;r+=8!==o||i?1:-1}if(e.metaKey&&(i=!(r=0)),i){var l=n-r,f=m.mask.replace(/[0-9]/g,"_"),c=f.substr(r,l).substr(1);a=a.substr(0,r)+(t+c)+a.substr(r+l)}else{a=a.substr(0,r)+t+a.substr(r+1)}if(""===L.trim(a))a=f;else if(r===m.mask.length)return e.preventDefault(),!1;for(r+=8===o?0:1;/[^0-9_]/.test(m.mask.substr(r,1))&&r<m.mask.length&&0<r;)r+=8===o?0:1;h(m.mask,a)?(this.value=a,g(this,r)):""===L.trim(a)?this.value=m.mask.replace(/[0-9]/g,"_"):w.trigger("error_input.xdsoft")}else if(-1!==[O,M,H,J,z].indexOf(o)&&N||-1!==[y,v,b,k,x,S,p,T,D].indexOf(o))return!0;return e.preventDefault(),!1}))}F.find(".xdsoft_select").xdsoftScroller(I).on("touchstart mousedown.xdsoft",function(e){var t=e.originalEvent;this.touchMoved=!1,this.touchStartPosition=t.touches?t.touches[0]:t,e.stopPropagation(),e.preventDefault()}).on("touchmove",".xdsoft_option",l).on("touchend mousedown.xdsoft",".xdsoft_option",function(){if(!this.touchMoved){void 0!==W.currentTime&&null!==W.currentTime||(W.currentTime=W.now());var e=W.currentTime.getFullYear();W&&W.currentTime&&W.currentTime[L(this).parent().parent().hasClass("xdsoft_monthselect")?"setMonth":"setFullYear"](L(this).data("value")),L(this).parent().parent().hide(),_.trigger("xchange.xdsoft"),I.onChangeMonth&&L.isFunction(I.onChangeMonth)&&I.onChangeMonth.call(_,W.currentTime,_.data("input")),e!==W.currentTime.getFullYear()&&L.isFunction(I.onChangeYear)&&I.onChangeYear.call(_,W.currentTime,_.data("input"))}}),_.getValue=function(){return W.getCurrentTime()},_.setOptions=function(e){var l={};I=L.extend(!0,{},I,e),e.allowTimes&&L.isArray(e.allowTimes)&&e.allowTimes.length&&(I.allowTimes=L.extend(!0,[],e.allowTimes)),e.weekends&&L.isArray(e.weekends)&&e.weekends.length&&(I.weekends=L.extend(!0,[],e.weekends)),e.allowDates&&L.isArray(e.allowDates)&&e.allowDates.length&&(I.allowDates=L.extend(!0,[],e.allowDates)),e.allowDateRe&&"[object String]"===Object.prototype.toString.call(e.allowDateRe)&&(I.allowDateRe=new RegExp(e.allowDateRe)),e.highlightedDates&&L.isArray(e.highlightedDates)&&e.highlightedDates.length&&(L.each(e.highlightedDates,function(e,t){var a,o=L.map(t.split(","),L.trim),r=new m(E.parseDate(o[0],I.formatDate),o[1],o[2]),n=E.formatDate(r.date,I.formatDate);void 0!==l[n]?(a=l[n].desc)&&a.length&&r.desc&&r.desc.length&&(l[n].desc=a+"\n"+r.desc):l[n]=r}),I.highlightedDates=L.extend(!0,[],l)),e.highlightedPeriods&&L.isArray(e.highlightedPeriods)&&e.highlightedPeriods.length&&(l=L.extend(!0,[],I.highlightedDates),L.each(e.highlightedPeriods,function(e,t){var a,o,r,n,i,s,d;if(L.isArray(t))a=t[0],o=t[1],r=t[2],d=t[3];else{var u=L.map(t.split(","),L.trim);a=E.parseDate(u[0],I.formatDate),o=E.parseDate(u[1],I.formatDate),r=u[2],d=u[3]}for(;a<=o;)n=new m(a,r,d),i=E.formatDate(a,I.formatDate),a.setDate(a.getDate()+1),void 0!==l[i]?(s=l[i].desc)&&s.length&&n.desc&&n.desc.length&&(l[i].desc=s+"\n"+n.desc):l[i]=n}),I.highlightedDates=L.extend(!0,[],l)),e.disabledDates&&L.isArray(e.disabledDates)&&e.disabledDates.length&&(I.disabledDates=L.extend(!0,[],e.disabledDates)),e.disabledWeekDays&&L.isArray(e.disabledWeekDays)&&e.disabledWeekDays.length&&(I.disabledWeekDays=L.extend(!0,[],e.disabledWeekDays)),!I.open&&!I.opened||I.inline||w.trigger("open.xdsoft"),I.inline&&(s=!0,_.addClass("xdsoft_inline"),w.after(_).hide()),I.inverseButton&&(I.next="xdsoft_prev",I.prev="xdsoft_next"),I.datepicker?g.addClass("active"):g.removeClass("active"),I.timepicker?n.addClass("active"):n.removeClass("active"),I.value&&(W.setCurrentTime(I.value),w&&w.val&&w.val(W.str)),isNaN(I.dayOfWeekStart)?I.dayOfWeekStart=0:I.dayOfWeekStart=parseInt(I.dayOfWeekStart,10)%7,I.timepickerScrollbar||u.xdsoftScroller(I,"hide"),I.minDate&&/^[\+\-](.*)$/.test(I.minDate)&&(I.minDate=E.formatDate(W.strToDateTime(I.minDate),I.formatDate)),I.maxDate&&/^[\+\-](.*)$/.test(I.maxDate)&&(I.maxDate=E.formatDate(W.strToDateTime(I.maxDate),I.formatDate)),I.minDateTime&&/^\+(.*)$/.test(I.minDateTime)&&(I.minDateTime=W.strToDateTime(I.minDateTime).dateFormat(I.formatDate)),I.maxDateTime&&/^\+(.*)$/.test(I.maxDateTime)&&(I.maxDateTime=W.strToDateTime(I.maxDateTime).dateFormat(I.formatDate)),i.toggle(I.showApplyButton),F.find(".xdsoft_today_button").css("visibility",I.todayButton?"visible":"hidden"),F.find("."+I.prev).css("visibility",I.prevButton?"visible":"hidden"),F.find("."+I.next).css("visibility",I.nextButton?"visible":"hidden"),c(I),I.validateOnBlur&&w.off("blur.xdsoft").on("blur.xdsoft",function(){if(I.allowBlank&&(!L.trim(L(this).val()).length||"string"==typeof I.mask&&L.trim(L(this).val())===I.mask.replace(/[0-9]/g,"_")))L(this).val(null),_.data("xdsoft_datetime").empty();else{var e=E.parseDate(L(this).val(),I.format);if(e)L(this).val(E.formatDate(e,I.format));else{var t=+[L(this).val()[0],L(this).val()[1]].join(""),a=+[L(this).val()[2],L(this).val()[3]].join("");!I.datepicker&&I.timepicker&&0<=t&&t<24&&0<=a&&a<60?L(this).val([t,a].map(function(e){return 9<e?e:"0"+e}).join(":")):L(this).val(E.formatDate(W.now(),I.format))}_.data("xdsoft_datetime").setCurrentTime(L(this).val())}_.trigger("changedatetime.xdsoft"),_.trigger("close.xdsoft")}),I.dayOfWeekStartPrev=0===I.dayOfWeekStart?6:I.dayOfWeekStart-1,_.trigger("xchange.xdsoft").trigger("afterOpen.xdsoft")},_.data("options",I).on("touchstart mousedown.xdsoft",function(e){return e.stopPropagation(),e.preventDefault(),Y.hide(),A.hide(),!1}),u.append(P),u.xdsoftScroller(I),_.on("afterOpen.xdsoft",function(){u.xdsoftScroller(I)}),_.append(g).append(n),!0!==I.withoutCopyright&&_.append(e),g.append(F).append(C).append(i),I.insideParent?L(w).parent().append(_):L(I.parentID).append(_),W=new function(){var r=this;r.now=function(e){var t,a,o=new Date;return!e&&I.defaultDate&&(t=r.strToDateTime(I.defaultDate),o.setFullYear(t.getFullYear()),o.setMonth(t.getMonth()),o.setDate(t.getDate())),o.setFullYear(o.getFullYear()),!e&&I.defaultTime&&(a=r.strtotime(I.defaultTime),o.setHours(a.getHours()),o.setMinutes(a.getMinutes()),o.setSeconds(a.getSeconds()),o.setMilliseconds(a.getMilliseconds())),o},r.isValidDate=function(e){return"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e.getTime())},r.setCurrentTime=function(e,t){"string"==typeof e?r.currentTime=r.strToDateTime(e):r.isValidDate(e)?r.currentTime=e:e||t||!I.allowBlank||I.inline?r.currentTime=r.now():r.currentTime=null,_.trigger("xchange.xdsoft")},r.empty=function(){r.currentTime=null},r.getCurrentTime=function(){return r.currentTime},r.nextMonth=function(){void 0!==r.currentTime&&null!==r.currentTime||(r.currentTime=r.now());var e,t=r.currentTime.getMonth()+1;return 12===t&&(r.currentTime.setFullYear(r.currentTime.getFullYear()+1),t=0),e=r.currentTime.getFullYear(),r.currentTime.setDate(Math.min(new Date(r.currentTime.getFullYear(),t+1,0).getDate(),r.currentTime.getDate())),r.currentTime.setMonth(t),I.onChangeMonth&&L.isFunction(I.onChangeMonth)&&I.onChangeMonth.call(_,W.currentTime,_.data("input")),e!==r.currentTime.getFullYear()&&L.isFunction(I.onChangeYear)&&I.onChangeYear.call(_,W.currentTime,_.data("input")),_.trigger("xchange.xdsoft"),t},r.prevMonth=function(){void 0!==r.currentTime&&null!==r.currentTime||(r.currentTime=r.now());var e=r.currentTime.getMonth()-1;return-1===e&&(r.currentTime.setFullYear(r.currentTime.getFullYear()-1),e=11),r.currentTime.setDate(Math.min(new Date(r.currentTime.getFullYear(),e+1,0).getDate(),r.currentTime.getDate())),r.currentTime.setMonth(e),I.onChangeMonth&&L.isFunction(I.onChangeMonth)&&I.onChangeMonth.call(_,W.currentTime,_.data("input")),_.trigger("xchange.xdsoft"),e},r.getWeekOfYear=function(e){if(I.onGetWeekOfYear&&L.isFunction(I.onGetWeekOfYear)){var t=I.onGetWeekOfYear.call(_,e);if(void 0!==t)return t}var a=new Date(e.getFullYear(),0,1);return 4!==a.getDay()&&a.setMonth(0,1+(4-a.getDay()+7)%7),Math.ceil(((e-a)/864e5+a.getDay()+1)/7)},r.strToDateTime=function(e){var t,a,o=[];return e&&e instanceof Date&&r.isValidDate(e)?e:((o=/^([+-]{1})(.*)$/.exec(e))&&(o[2]=E.parseDate(o[2],I.formatDate)),a=o&&o[2]?(t=o[2].getTime()-6e4*o[2].getTimezoneOffset(),new Date(r.now(!0).getTime()+parseInt(o[1]+"1",10)*t)):e?E.parseDate(e,I.format):r.now(),r.isValidDate(a)||(a=r.now()),a)},r.strToDate=function(e){if(e&&e instanceof Date&&r.isValidDate(e))return e;var t=e?E.parseDate(e,I.formatDate):r.now(!0);return r.isValidDate(t)||(t=r.now(!0)),t},r.strtotime=function(e){if(e&&e instanceof Date&&r.isValidDate(e))return e;var t=e?E.parseDate(e,I.formatTime):r.now(!0);return r.isValidDate(t)||(t=r.now(!0)),t},r.str=function(){var e=I.format;return I.yearOffset&&(e=(e=e.replace("Y",r.currentTime.getFullYear()+I.yearOffset)).replace("y",String(r.currentTime.getFullYear()+I.yearOffset).substring(2,4))),E.formatDate(r.currentTime,e)},r.currentTime=this.now()},i.on("touchend click",function(e){e.preventDefault(),_.data("changed",!0),W.setCurrentTime(f()),w.val(W.str()),_.trigger("close.xdsoft")}),F.find(".xdsoft_today_button").on("touchend mousedown.xdsoft",function(){_.data("changed",!0),W.setCurrentTime(0,!0),_.trigger("afterOpen.xdsoft")}).on("dblclick.xdsoft",function(){var e,t,a=W.getCurrentTime();a=new Date(a.getFullYear(),a.getMonth(),a.getDate()),e=W.strToDate(I.minDate),a<(e=new Date(e.getFullYear(),e.getMonth(),e.getDate()))||(t=W.strToDate(I.maxDate),(t=new Date(t.getFullYear(),t.getMonth(),t.getDate()))<a||(w.val(W.str()),w.trigger("change"),_.trigger("close.xdsoft")))}),F.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var a=L(this),o=0,r=!1;!function e(t){a.hasClass(I.next)?W.nextMonth():a.hasClass(I.prev)&&W.prevMonth(),I.monthChangeSpinner&&(r||(o=setTimeout(e,t||100)))}(500),L([I.ownerDocument.body,I.contentWindow]).on("touchend mouseup.xdsoft",function e(){clearTimeout(o),r=!0,L([I.ownerDocument.body,I.contentWindow]).off("touchend mouseup.xdsoft",e)})}),n.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var n=L(this),i=0,s=!1,d=110;!function e(t){var a=u[0].clientHeight,o=P[0].offsetHeight,r=Math.abs(parseInt(P.css("marginTop"),10));n.hasClass(I.next)&&o-a-I.timeHeightInTimePicker>=r?P.css("marginTop","-"+(r+I.timeHeightInTimePicker)+"px"):n.hasClass(I.prev)&&0<=r-I.timeHeightInTimePicker&&P.css("marginTop","-"+(r-I.timeHeightInTimePicker)+"px"),u.trigger("scroll_element.xdsoft_scroller",[Math.abs(parseInt(P[0].style.marginTop,10)/(o-a))]),d=10<d?10:d-10,s||(i=setTimeout(e,t||d))}(500),L([I.ownerDocument.body,I.contentWindow]).on("touchend mouseup.xdsoft",function e(){clearTimeout(i),s=!0,L([I.ownerDocument.body,I.contentWindow]).off("touchend mouseup.xdsoft",e)})}),t=0,_.on("xchange.xdsoft",function(e){clearTimeout(t),t=setTimeout(function(){void 0!==W.currentTime&&null!==W.currentTime||(W.currentTime=W.now());for(var e,t,a,o,r,n,i,s,d,u,l="",f=new Date(W.currentTime.getFullYear(),W.currentTime.getMonth(),1,12,0,0),c=0,m=W.now(),h=!1,g=!1,p=!1,D=!1,y=[],k=!0,v="";f.getDay()!==I.dayOfWeekStart;)f.setDate(f.getDate()-1);for(l+="<table><thead><tr>",I.weeks&&(l+="<th></th>"),e=0;e<7;e+=1)l+="<th>"+I.i18n[V].dayOfWeekShort[(e+I.dayOfWeekStart)%7]+"</th>";for(l+="</tr></thead>",l+="<tbody>",!1!==I.maxDate&&(h=W.strToDate(I.maxDate),h=new Date(h.getFullYear(),h.getMonth(),h.getDate(),23,59,59,999)),!1!==I.minDate&&(g=W.strToDate(I.minDate),g=new Date(g.getFullYear(),g.getMonth(),g.getDate())),!1!==I.minDateTime&&(p=W.strToDate(I.minDateTime),p=new Date(p.getFullYear(),p.getMonth(),p.getDate(),p.getHours(),p.getMinutes(),p.getSeconds())),!1!==I.maxDateTime&&(D=W.strToDate(I.maxDateTime),D=new Date(D.getFullYear(),D.getMonth(),D.getDate(),D.getHours(),D.getMinutes(),D.getSeconds())),!1!==D&&(u=31*(12*D.getFullYear()+D.getMonth())+D.getDate());c<W.currentTime.countDaysInMonth()||f.getDay()!==I.dayOfWeekStart||W.currentTime.getMonth()===f.getMonth();){y=[],c+=1,a=f.getDay(),o=f.getDate(),r=f.getFullYear(),O=f.getMonth(),n=W.getWeekOfYear(f),d="",y.push("xdsoft_date"),i=I.beforeShowDay&&L.isFunction(I.beforeShowDay.call)?I.beforeShowDay.call(_,f):null,I.allowDateRe&&"[object RegExp]"===Object.prototype.toString.call(I.allowDateRe)&&(I.allowDateRe.test(E.formatDate(f,I.formatDate))||y.push("xdsoft_disabled")),I.allowDates&&0<I.allowDates.length&&-1===I.allowDates.indexOf(E.formatDate(f,I.formatDate))&&y.push("xdsoft_disabled");var x=31*(12*f.getFullYear()+f.getMonth())+f.getDate();(!1!==h&&h<f||!1!==p&&f<p||!1!==g&&f<g||!1!==D&&u<x||i&&!1===i[0])&&y.push("xdsoft_disabled"),-1!==I.disabledDates.indexOf(E.formatDate(f,I.formatDate))&&y.push("xdsoft_disabled"),-1!==I.disabledWeekDays.indexOf(a)&&y.push("xdsoft_disabled"),w.is("[disabled]")&&y.push("xdsoft_disabled"),i&&""!==i[1]&&y.push(i[1]),W.currentTime.getMonth()!==O&&y.push("xdsoft_other_month"),(I.defaultSelect||_.data("changed"))&&E.formatDate(W.currentTime,I.formatDate)===E.formatDate(f,I.formatDate)&&y.push("xdsoft_current"),E.formatDate(m,I.formatDate)===E.formatDate(f,I.formatDate)&&y.push("xdsoft_today"),0!==f.getDay()&&6!==f.getDay()&&-1===I.weekends.indexOf(E.formatDate(f,I.formatDate))||y.push("xdsoft_weekend"),void 0!==I.highlightedDates[E.formatDate(f,I.formatDate)]&&(t=I.highlightedDates[E.formatDate(f,I.formatDate)],y.push(void 0===t.style?"xdsoft_highlighted_default":t.style),d=void 0===t.desc?"":t.desc),I.beforeShowDay&&L.isFunction(I.beforeShowDay)&&y.push(I.beforeShowDay(f)),k&&(l+="<tr>",k=!1,I.weeks&&(l+="<th>"+n+"</th>")),l+='<td data-date="'+o+'" data-month="'+O+'" data-year="'+r+'" class="xdsoft_date xdsoft_day_of_week'+f.getDay()+" "+y.join(" ")+'" title="'+d+'"><div>'+o+"</div></td>",f.getDay()===I.dayOfWeekStartPrev&&(l+="</tr>",k=!0),f.setDate(o+1)}l+="</tbody></table>",C.html(l),F.find(".xdsoft_label span").eq(0).text(I.i18n[V].months[W.currentTime.getMonth()]),F.find(".xdsoft_label span").eq(1).text(W.currentTime.getFullYear()+I.yearOffset),O=v="";var b=0;if(!1!==I.minTime){var T=W.strtotime(I.minTime);b=60*T.getHours()+T.getMinutes()}var S=1440;if(!1!==I.maxTime){T=W.strtotime(I.maxTime);S=60*T.getHours()+T.getMinutes()}if(!1!==I.minDateTime){T=W.strToDateTime(I.minDateTime);if(E.formatDate(W.currentTime,I.formatDate)===E.formatDate(T,I.formatDate)){var O=60*T.getHours()+T.getMinutes();b<O&&(b=O)}}if(!1!==I.maxDateTime){T=W.strToDateTime(I.maxDateTime);if(E.formatDate(W.currentTime,I.formatDate)===E.formatDate(T,I.formatDate))(O=60*T.getHours()+T.getMinutes())<S&&(S=O)}if(s=function(e,t){var a,o=W.now(),r=I.allowTimes&&L.isArray(I.allowTimes)&&I.allowTimes.length;o.setHours(e),e=parseInt(o.getHours(),10),o.setMinutes(t),t=parseInt(o.getMinutes(),10),y=[];var n=60*e+t;(w.is("[disabled]")||S<=n||n<b)&&y.push("xdsoft_disabled"),(a=new Date(W.currentTime)).setHours(parseInt(W.currentTime.getHours(),10)),r||a.setMinutes(Math[I.roundTime](W.currentTime.getMinutes()/I.step)*I.step),(I.initTime||I.defaultSelect||_.data("changed"))&&a.getHours()===parseInt(e,10)&&(!r&&59<I.step||a.getMinutes()===parseInt(t,10))&&(I.defaultSelect||_.data("changed")?y.push("xdsoft_current"):I.initTime&&y.push("xdsoft_init_time")),parseInt(m.getHours(),10)===parseInt(e,10)&&parseInt(m.getMinutes(),10)===parseInt(t,10)&&y.push("xdsoft_today"),v+='<div class="xdsoft_time '+y.join(" ")+'" data-hour="'+e+'" data-minute="'+t+'">'+E.formatDate(o,I.formatTime)+"</div>"},I.allowTimes&&L.isArray(I.allowTimes)&&I.allowTimes.length)for(c=0;c<I.allowTimes.length;c+=1)s(W.strtotime(I.allowTimes[c]).getHours(),O=W.strtotime(I.allowTimes[c]).getMinutes());else for(e=c=0;c<(I.hours12?12:24);c+=1)for(e=0;e<60;e+=I.step){var M=60*c+e;M<b||(S<=M||s((c<10?"0":"")+c,O=(e<10?"0":"")+e))}for(P.html(v),j="",c=parseInt(I.yearStart,10);c<=parseInt(I.yearEnd,10);c+=1)j+='<div class="xdsoft_option '+(W.currentTime.getFullYear()===c?"xdsoft_current":"")+'" data-value="'+c+'">'+(c+I.yearOffset)+"</div>";for(Y.children().eq(0).html(j),c=parseInt(I.monthStart,10),j="";c<=parseInt(I.monthEnd,10);c+=1)j+='<div class="xdsoft_option '+(W.currentTime.getMonth()===c?"xdsoft_current":"")+'" data-value="'+c+'">'+I.i18n[V].months[c]+"</div>";A.children().eq(0).html(j),L(_).trigger("generate.xdsoft")},10),e.stopPropagation()}).on("afterOpen.xdsoft",function(){var e,t,a,o;I.timepicker&&(P.find(".xdsoft_current").length?e=".xdsoft_current":P.find(".xdsoft_init_time").length&&(e=".xdsoft_init_time"),e?(t=u[0].clientHeight,(a=P[0].offsetHeight)-t<(o=P.find(e).index()*I.timeHeightInTimePicker+1)&&(o=a-t),u.trigger("scroll_element.xdsoft_scroller",[parseInt(o,10)/(a-t)])):u.trigger("scroll_element.xdsoft_scroller",[0]))}),o=0,C.on("touchend click.xdsoft","td",function(e){e.stopPropagation(),o+=1;var t=L(this),a=W.currentTime;if(null==a&&(W.currentTime=W.now(),a=W.currentTime),t.hasClass("xdsoft_disabled"))return!1;a.setDate(1),a.setFullYear(t.data("year")),a.setMonth(t.data("month")),a.setDate(t.data("date")),_.trigger("select.xdsoft",[a]),w.val(W.str()),I.onSelectDate&&L.isFunction(I.onSelectDate)&&I.onSelectDate.call(_,W.currentTime,_.data("input"),e),_.data("changed",!0),_.trigger("xchange.xdsoft"),_.trigger("changedatetime.xdsoft"),(1<o||!0===I.closeOnDateSelect||!1===I.closeOnDateSelect&&!I.timepicker)&&!I.inline&&_.trigger("close.xdsoft"),setTimeout(function(){o=0},200)}),P.on("touchstart","div",function(e){this.touchMoved=!1}).on("touchmove","div",l).on("touchend click.xdsoft","div",function(e){if(!this.touchMoved){e.stopPropagation();var t=L(this),a=W.currentTime;if(null==a&&(W.currentTime=W.now(),a=W.currentTime),t.hasClass("xdsoft_disabled"))return!1;a.setHours(t.data("hour")),a.setMinutes(t.data("minute")),_.trigger("select.xdsoft",[a]),_.data("input").val(W.str()),I.onSelectTime&&L.isFunction(I.onSelectTime)&&I.onSelectTime.call(_,W.currentTime,_.data("input"),e),_.data("changed",!0),_.trigger("xchange.xdsoft"),_.trigger("changedatetime.xdsoft"),!0!==I.inline&&!0===I.closeOnTimeSelect&&_.trigger("close.xdsoft")}}),g.on("mousewheel.xdsoft",function(e){return!I.scrollMonth||(e.deltaY<0?W.nextMonth():W.prevMonth(),!1)}),w.on("mousewheel.xdsoft",function(e){return!I.scrollInput||(!I.datepicker&&I.timepicker?(0<=(a=P.find(".xdsoft_current").length?P.find(".xdsoft_current").eq(0).index():0)+e.deltaY&&a+e.deltaY<P.children().length&&(a+=e.deltaY),P.children().eq(a).length&&P.children().eq(a).trigger("mousedown"),!1):I.datepicker&&!I.timepicker?(g.trigger(e,[e.deltaY,e.deltaX,e.deltaY]),w.val&&w.val(W.str()),_.trigger("changedatetime.xdsoft"),!1):void 0)}),_.on("changedatetime.xdsoft",function(e){if(I.onChangeDateTime&&L.isFunction(I.onChangeDateTime)){var t=_.data("input");I.onChangeDateTime.call(_,W.currentTime,t,e),delete I.value,t.trigger("change")}}).on("generate.xdsoft",function(){I.onGenerate&&L.isFunction(I.onGenerate)&&I.onGenerate.call(_,W.currentTime,_.data("input")),s&&(_.trigger("afterOpen.xdsoft"),s=!1)}).on("click.xdsoft",function(e){e.stopPropagation()}),a=0,h=function(e,t){do{if(!(e=e.parentNode)||!1===t(e))break}while("HTML"!==e.nodeName)},r=function(){var e,t,a,o,r,n,i,s,d,u,l,f,c;if(e=(s=_.data("input")).offset(),t=s[0],u="top",a=e.top+t.offsetHeight-1,o=e.left,r="absolute",d=L(I.contentWindow).width(),f=L(I.contentWindow).height(),c=L(I.contentWindow).scrollTop(),I.ownerDocument.documentElement.clientWidth-e.left<g.parent().outerWidth(!0)){var m=g.parent().outerWidth(!0)-t.offsetWidth;o-=m}"rtl"===s.parent().css("direction")&&(o-=_.outerWidth()-s.outerWidth()),I.fixed?(a-=c,o-=L(I.contentWindow).scrollLeft(),r="fixed"):(i=!1,h(t,function(e){return null!==e&&("fixed"===I.contentWindow.getComputedStyle(e).getPropertyValue("position")?!(i=!0):void 0)}),i&&!I.insideParent?(r="fixed",a+_.outerHeight()>f+c?(u="bottom",a=f+c-e.top):a-=c):a+_[0].offsetHeight>f+c&&(a=e.top-_[0].offsetHeight+1),a<0&&(a=0),o+t.offsetWidth>d&&(o=d-t.offsetWidth)),n=_[0],h(n,function(e){if("relative"===I.contentWindow.getComputedStyle(e).getPropertyValue("position")&&d>=e.offsetWidth)return o-=(d-e.offsetWidth)/2,!1}),l={position:r,left:I.insideParent?t.offsetLeft:o,top:"",bottom:""},I.insideParent?l[u]=t.offsetTop+t.offsetHeight:l[u]=a,_.css(l)},_.on("open.xdsoft",function(e){var t=!0;I.onShow&&L.isFunction(I.onShow)&&(t=I.onShow.call(_,W.currentTime,_.data("input"),e)),!1!==t&&(_.show(),r(),L(I.contentWindow).off("resize.xdsoft",r).on("resize.xdsoft",r),I.closeOnWithoutClick&&L([I.ownerDocument.body,I.contentWindow]).on("touchstart mousedown.xdsoft",function e(){_.trigger("close.xdsoft"),L([I.ownerDocument.body,I.contentWindow]).off("touchstart mousedown.xdsoft",e)}))}).on("close.xdsoft",function(e){var t=!0;F.find(".xdsoft_month,.xdsoft_year").find(".xdsoft_select").hide(),I.onClose&&L.isFunction(I.onClose)&&(t=I.onClose.call(_,W.currentTime,_.data("input"),e)),!1===t||I.opened||I.inline||_.hide(),e.stopPropagation()}).on("toggle.xdsoft",function(){_.is(":visible")?_.trigger("close.xdsoft"):_.trigger("open.xdsoft")}).data("input",w),d=0,_.data("xdsoft_datetime",W),_.setOptions(I),W.setCurrentTime(f()),w.data("xdsoft_datetimepicker",_).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function(){w.is(":disabled")||w.data("xdsoft_datetimepicker").is(":visible")&&I.closeOnInputClick||I.openOnFocus&&(clearTimeout(d),d=setTimeout(function(){w.is(":disabled")||(s=!0,W.setCurrentTime(f(),!0),I.mask&&c(I),_.trigger("open.xdsoft"))},100))}).on("keydown.xdsoft",function(e){var t,a=e.which;return-1!==[D].indexOf(a)&&I.enterLikeTab?(t=L("input:visible,textarea:visible,button:visible,a:visible"),_.trigger("close.xdsoft"),t.eq(t.index(this)+1).focus(),!1):-1!==[T].indexOf(a)?(_.trigger("close.xdsoft"),!0):void 0}).on("blur.xdsoft",function(){_.trigger("close.xdsoft")})},r=function(e){var t=e.data("xdsoft_datetimepicker");t&&(t.data("xdsoft_datetime",null),t.remove(),e.data("xdsoft_datetimepicker",null).off(".xdsoft"),L(I.contentWindow).off("resize.xdsoft"),L([I.contentWindow,I.ownerDocument.body]).off("mousedown.xdsoft touchstart"),e.unmousewheel&&e.unmousewheel())},L(I.ownerDocument).off("keydown.xdsoftctrl keyup.xdsoftctrl").off("keydown.xdsoftcmd keyup.xdsoftcmd").on("keydown.xdsoftctrl",function(e){e.keyCode===p&&(N=!0)}).on("keyup.xdsoftctrl",function(e){e.keyCode===p&&(N=!1)}).on("keydown.xdsoftcmd",function(e){91===e.keyCode&&!0}).on("keyup.xdsoftcmd",function(e){91===e.keyCode&&!1}),this.each(function(){var t,e=L(this).data("xdsoft_datetimepicker");if(e){if("string"===L.type(j))switch(j){case"show":L(this).select().focus(),e.trigger("open.xdsoft");break;case"hide":e.trigger("close.xdsoft");break;case"toggle":e.trigger("toggle.xdsoft");break;case"destroy":r(L(this));break;case"reset":this.value=this.defaultValue,this.value&&e.data("xdsoft_datetime").isValidDate(E.parseDate(this.value,I.format))||e.data("changed",!1),e.data("xdsoft_datetime").setCurrentTime(this.value);break;case"validate":e.data("input").trigger("blur.xdsoft");break;default:e[j]&&L.isFunction(e[j])&&(n=e[j](a))}else e.setOptions(j);return 0}"string"!==L.type(j)&&(!I.lazyInit||I.open||I.inline?o(L(this)):(t=L(this)).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function e(){t.is(":disabled")||t.data("xdsoft_datetimepicker")||(clearTimeout(i),i=setTimeout(function(){t.data("xdsoft_datetimepicker")||o(t),t.off("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",e).trigger("open.xdsoft")},100))}))}),n},L.fn.datetimepicker.defaults=s};!function(e){"function"==typeof define&&define.amd?define(["jquery","jquery-mousewheel"],e):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(datetimepickerFactory);
|
|
languages/wp-seo-structured-data-schema.pot
CHANGED
@@ -1,1040 +1,1241 @@
|
|
1 |
-
|
2 |
-
# This file is distributed under the same license as the WP SEO Structured Data Schema package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
|
|
5 |
"Project-Id-Version: WP SEO Structured Data Schema\n"
|
|
|
|
|
|
|
|
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
|
|
9 |
"X-Poedit-Basepath: ..\n"
|
10 |
-
"X-Poedit-
|
|
|
|
|
|
|
|
|
11 |
"X-Poedit-SearchPath-0: .\n"
|
12 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
13 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
14 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
|
16 |
-
#:
|
17 |
msgid "Pro Version Features"
|
18 |
msgstr ""
|
19 |
|
20 |
-
#:
|
21 |
msgid "Includes Auto-fill function <---Popular"
|
22 |
msgstr ""
|
23 |
|
24 |
-
#:
|
25 |
msgid "Supports Custom Post Types beyond default page and posts"
|
26 |
msgstr ""
|
27 |
|
28 |
-
#:
|
29 |
msgid "Supports WordPress Multisite"
|
30 |
msgstr ""
|
31 |
|
32 |
-
#:
|
33 |
msgid "Supports more schema types:"
|
34 |
msgstr ""
|
35 |
|
36 |
-
#:
|
37 |
msgid "Books"
|
38 |
msgstr ""
|
39 |
|
40 |
-
#:
|
41 |
msgid "Courses"
|
42 |
msgstr ""
|
43 |
|
44 |
-
#:
|
45 |
msgid "Job Postings"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#:
|
49 |
msgid "Movies"
|
50 |
msgstr ""
|
51 |
|
52 |
-
#:
|
53 |
msgid "Music"
|
54 |
msgstr ""
|
55 |
|
56 |
-
#:
|
57 |
msgid "Recipe"
|
58 |
msgstr ""
|
59 |
|
60 |
-
#:
|
61 |
msgid "TV Episode"
|
62 |
msgstr ""
|
63 |
|
64 |
-
#:
|
65 |
msgid "QAPage"
|
66 |
msgstr ""
|
67 |
|
68 |
-
#:
|
69 |
msgid "Item List"
|
70 |
msgstr ""
|
71 |
|
72 |
-
#:
|
73 |
msgid "Get the Pro Version"
|
74 |
msgstr ""
|
75 |
|
76 |
-
#:
|
77 |
msgid "Documentation"
|
78 |
msgstr ""
|
79 |
|
80 |
-
#:
|
81 |
msgid "Get Pro"
|
82 |
msgstr ""
|
83 |
|
84 |
-
#:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
msgid "WP SEO Structured Data Schema"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#:
|
89 |
msgid "WP SEO Schema"
|
90 |
msgstr ""
|
91 |
|
92 |
-
#:
|
93 |
msgid "WP SEO Schema settings"
|
94 |
msgstr ""
|
95 |
|
96 |
-
#:
|
97 |
msgid "Settings"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#:
|
101 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
msgstr ""
|
103 |
|
104 |
-
#:
|
105 |
-
msgid "
|
106 |
msgstr ""
|
107 |
|
108 |
-
#:
|
109 |
msgid "Article"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#:
|
|
|
113 |
msgid "Headline"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#:
|
117 |
msgid "Article title"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#:
|
|
|
121 |
msgid "Page URL"
|
122 |
msgstr ""
|
123 |
|
124 |
-
#:
|
|
|
125 |
msgid "The canonical URL of the article page"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#:
|
129 |
msgid "Author Name"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#:
|
|
|
133 |
msgid "Author display name"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#:
|
137 |
msgid "Article Feature Image"
|
138 |
msgstr ""
|
139 |
|
140 |
-
#:
|
141 |
-
msgid "
|
|
|
|
|
142 |
msgstr ""
|
143 |
|
144 |
-
#:
|
|
|
145 |
msgid "Published date"
|
146 |
msgstr ""
|
147 |
|
148 |
-
#:
|
|
|
|
|
|
|
149 |
msgid "Like this: 2015-12-25"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#:
|
|
|
153 |
msgid "Modified date"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#:
|
|
|
157 |
msgid "Publisher"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#:
|
|
|
161 |
msgid "Publisher name or Organization name"
|
162 |
msgstr ""
|
163 |
|
164 |
-
#:
|
|
|
165 |
msgid "Publisher Logo"
|
166 |
msgstr ""
|
167 |
|
168 |
-
#:
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
msgid "Description"
|
174 |
msgstr ""
|
175 |
|
176 |
-
#:
|
|
|
177 |
msgid "Short description"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#:
|
|
|
181 |
msgid "Article body"
|
182 |
msgstr ""
|
183 |
|
184 |
-
#:
|
185 |
msgid "Article content"
|
186 |
msgstr ""
|
187 |
|
188 |
-
#:
|
189 |
msgid "Alternative headline"
|
190 |
msgstr ""
|
191 |
|
192 |
-
#:
|
193 |
msgid "A secondary headline for the article."
|
194 |
msgstr ""
|
195 |
|
196 |
-
#:
|
197 |
msgid "Blog Posting"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#:
|
201 |
msgid "Blog posting title"
|
202 |
msgstr ""
|
203 |
|
204 |
-
#:
|
205 |
msgid "Author name"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#:
|
209 |
msgid "Feature Image"
|
210 |
msgstr ""
|
211 |
|
212 |
-
#:
|
213 |
-
msgid "
|
|
|
|
|
|
|
214 |
msgstr ""
|
215 |
|
216 |
-
#:
|
217 |
msgid "News Article"
|
218 |
msgstr ""
|
219 |
|
220 |
-
#:
|
221 |
msgid "Author"
|
222 |
msgstr ""
|
223 |
|
224 |
-
#:
|
|
|
225 |
msgid "Image"
|
226 |
msgstr ""
|
227 |
|
228 |
-
#:
|
229 |
msgid "Article body content"
|
230 |
msgstr ""
|
231 |
|
232 |
-
#:
|
233 |
msgid "Event"
|
234 |
msgstr ""
|
235 |
|
236 |
-
#:
|
|
|
|
|
237 |
msgid "Name"
|
238 |
msgstr ""
|
239 |
|
240 |
-
#:
|
241 |
msgid "The name of the event."
|
242 |
msgstr ""
|
243 |
|
244 |
-
#:
|
245 |
msgid "Location name"
|
246 |
msgstr ""
|
247 |
|
248 |
-
#:
|
249 |
msgid "Event Location name"
|
250 |
msgstr ""
|
251 |
|
252 |
-
#:
|
253 |
msgid "Location address"
|
254 |
msgstr ""
|
255 |
|
256 |
-
#:
|
257 |
-
msgid "
|
|
|
|
|
258 |
msgstr ""
|
259 |
|
260 |
-
#:
|
261 |
msgid "Start date"
|
262 |
msgstr ""
|
263 |
|
264 |
-
#:
|
265 |
msgid "Event start date"
|
266 |
msgstr ""
|
267 |
|
268 |
-
#:
|
269 |
msgid "End date"
|
270 |
msgstr ""
|
271 |
|
272 |
-
#:
|
273 |
msgid "Event end date"
|
274 |
msgstr ""
|
275 |
|
276 |
-
#:
|
277 |
msgid "Event description"
|
278 |
msgstr ""
|
279 |
|
280 |
-
#:
|
281 |
msgid "Performer Name"
|
282 |
msgstr ""
|
283 |
|
284 |
-
#:
|
285 |
msgid "The performer's name."
|
286 |
msgstr ""
|
287 |
|
288 |
-
#:
|
289 |
msgid "Image URL"
|
290 |
msgstr ""
|
291 |
|
292 |
-
#:
|
293 |
msgid "URL of an image or logo for the event or tour"
|
294 |
msgstr ""
|
295 |
|
296 |
-
#:
|
297 |
msgid "Price"
|
298 |
msgstr ""
|
299 |
|
300 |
-
#:
|
301 |
-
msgid "
|
|
|
|
|
|
|
302 |
msgstr ""
|
303 |
|
304 |
-
#:
|
305 |
msgid "Price currency"
|
306 |
msgstr ""
|
307 |
|
308 |
-
#:
|
309 |
msgid "The 3-letter currency code. (USD)"
|
310 |
msgstr ""
|
311 |
|
312 |
-
#:
|
313 |
msgid "Valid From"
|
314 |
msgstr ""
|
315 |
|
316 |
-
#:
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
msgid "A link to the event's details page. <span class='required'>Not required but (Recommended)</span>"
|
321 |
msgstr ""
|
322 |
|
323 |
-
#:
|
324 |
msgid "Product"
|
325 |
msgstr ""
|
326 |
|
327 |
-
#:
|
328 |
msgid "The name of the product."
|
329 |
msgstr ""
|
330 |
|
331 |
-
#:
|
332 |
-
msgid "
|
|
|
|
|
333 |
msgstr ""
|
334 |
|
335 |
-
#:
|
336 |
msgid "Product description."
|
337 |
msgstr ""
|
338 |
|
339 |
-
#:
|
340 |
msgid "Brand"
|
341 |
msgstr ""
|
342 |
|
343 |
-
#:
|
344 |
msgid "The brand of the product."
|
345 |
msgstr ""
|
346 |
|
347 |
-
#:
|
348 |
-
msgid "Identifier Type"
|
349 |
-
msgstr ""
|
350 |
-
|
351 |
-
#: ../lib/functions/KcSeoOptions.php:361
|
352 |
-
msgid ""
|
353 |
-
"<strong>MPN</strong><br>\n"
|
354 |
-
" → MPN(Manufacturer Part Number) Used globally, Alphanumeric digits (various lengths)<br>\n"
|
355 |
-
" <strong>GTIN</strong><br>\n"
|
356 |
-
" → UPC(Universal Product Code) Used in primarily North America. 12 numeric digits. eg. 892685001003.<br>\n"
|
357 |
-
" → EAN(European Article Number) Used primarily outside of North America. Typically 13 numeric digits (can occasionally be either eight or 14 numeric digits). eg. 4011200296908<br>\n"
|
358 |
-
" → ISBN(International Standard Book Number) Used globally, ISBN-13 (recommended), 13 numeric digits 978-0747595823<br>\n"
|
359 |
-
" → JAN(Japanese Article Number) Used only in Japan, 8 or 13 numeric digits."
|
360 |
-
msgstr ""
|
361 |
-
|
362 |
-
#: ../lib/functions/KcSeoOptions.php:370
|
363 |
-
msgid "Identifier"
|
364 |
-
msgstr ""
|
365 |
-
|
366 |
-
#: ../lib/functions/KcSeoOptions.php:373
|
367 |
-
msgid "Enter product unique identifier"
|
368 |
-
msgstr ""
|
369 |
-
|
370 |
-
#: ../lib/functions/KcSeoOptions.php:376
|
371 |
msgid "Review rating value"
|
372 |
msgstr ""
|
373 |
|
374 |
-
#:
|
375 |
msgid "Rating value. (1 , 2.5, 3, 5 etc)"
|
376 |
msgstr ""
|
377 |
|
378 |
-
#:
|
379 |
msgid "Review Best rating"
|
380 |
msgstr ""
|
381 |
|
382 |
-
#:
|
383 |
msgid "Review Worst rating"
|
384 |
msgstr ""
|
385 |
|
386 |
-
#:
|
387 |
msgid "Review author"
|
388 |
msgstr ""
|
389 |
|
390 |
-
#:
|
391 |
msgid "Rating value"
|
392 |
msgstr ""
|
393 |
|
394 |
-
#:
|
395 |
msgid "Total review count"
|
396 |
msgstr ""
|
397 |
|
398 |
-
#:
|
399 |
-
msgid "
|
|
|
|
|
400 |
msgstr ""
|
401 |
|
402 |
-
#:
|
403 |
-
msgid "
|
|
|
|
|
404 |
msgstr ""
|
405 |
|
406 |
-
#:
|
407 |
msgid "PriceValidUntil"
|
408 |
msgstr ""
|
409 |
|
410 |
-
#:
|
411 |
-
msgid "
|
|
|
|
|
412 |
msgstr ""
|
413 |
|
414 |
-
#:
|
415 |
msgid "The 3-letter currency code."
|
416 |
msgstr ""
|
417 |
|
418 |
-
#:
|
419 |
msgid "Select a availability type"
|
420 |
msgstr ""
|
421 |
|
422 |
-
#:
|
423 |
msgid "Select a condition"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#:
|
427 |
msgid "Product URL"
|
428 |
msgstr ""
|
429 |
|
430 |
-
#:
|
431 |
-
msgid "
|
|
|
|
|
432 |
msgstr ""
|
433 |
|
434 |
-
#:
|
435 |
msgid "Video"
|
436 |
msgstr ""
|
437 |
|
438 |
-
#:
|
439 |
msgid "The title of the video"
|
440 |
msgstr ""
|
441 |
|
442 |
-
#:
|
443 |
msgid "The description of the video"
|
444 |
msgstr ""
|
445 |
|
446 |
-
#:
|
447 |
-
msgid "
|
|
|
|
|
448 |
msgstr ""
|
449 |
|
450 |
-
#:
|
451 |
msgid "Updated date"
|
452 |
msgstr ""
|
453 |
|
454 |
-
#:
|
455 |
msgid "2015-02-05T08:00:00+08:00"
|
456 |
msgstr ""
|
457 |
|
458 |
-
#:
|
459 |
msgid "Duration"
|
460 |
msgstr ""
|
461 |
|
462 |
-
#:
|
463 |
msgid "The duration of the video in ISO 8601 format.(PT1M33S)"
|
464 |
msgstr ""
|
465 |
|
466 |
-
#:
|
467 |
-
msgid "
|
|
|
|
|
|
|
468 |
msgstr ""
|
469 |
|
470 |
-
#:
|
471 |
-
msgid "
|
|
|
|
|
|
|
472 |
msgstr ""
|
473 |
|
474 |
-
#:
|
475 |
msgid "Interaction count"
|
476 |
msgstr ""
|
477 |
|
478 |
-
#:
|
479 |
msgid "The number of times the video has been viewed."
|
480 |
msgstr ""
|
481 |
|
482 |
-
#:
|
483 |
msgid "Expires"
|
484 |
msgstr ""
|
485 |
|
486 |
-
#:
|
487 |
msgid "Service"
|
488 |
msgstr ""
|
489 |
|
490 |
-
#:
|
491 |
msgid "The name of the Service."
|
492 |
msgstr ""
|
493 |
|
494 |
-
#:
|
495 |
msgid "Service type"
|
496 |
msgstr ""
|
497 |
|
498 |
-
#:
|
499 |
-
msgid "
|
|
|
|
|
500 |
msgstr ""
|
501 |
|
502 |
-
#:
|
503 |
-
msgid "
|
|
|
|
|
504 |
msgstr ""
|
505 |
|
506 |
-
#:
|
507 |
msgid "Award"
|
508 |
msgstr ""
|
509 |
|
510 |
-
#:
|
511 |
msgid "An award won by or for this service."
|
512 |
msgstr ""
|
513 |
|
514 |
-
#:
|
515 |
msgid "Category"
|
516 |
msgstr ""
|
517 |
|
518 |
-
#:
|
519 |
msgid "A category for the service."
|
520 |
msgstr ""
|
521 |
|
522 |
-
#:
|
523 |
msgid "Provider mobility"
|
524 |
msgstr ""
|
525 |
|
526 |
-
#:
|
527 |
-
msgid "
|
|
|
528 |
msgstr ""
|
529 |
|
530 |
-
#:
|
531 |
msgid "A short description of the service."
|
532 |
msgstr ""
|
533 |
|
534 |
-
#:
|
535 |
msgid "An image of the service. This should be a URL."
|
536 |
msgstr ""
|
537 |
|
538 |
-
#:
|
539 |
-
msgid "
|
|
|
|
|
540 |
msgstr ""
|
541 |
|
542 |
-
#:
|
543 |
-
msgid "
|
|
|
|
|
|
|
544 |
msgstr ""
|
545 |
|
546 |
-
#:
|
547 |
msgid "URL of the service."
|
548 |
msgstr ""
|
549 |
|
550 |
-
#:
|
551 |
msgid "Alternate name"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#:
|
555 |
msgid "An alias for the service."
|
556 |
msgstr ""
|
557 |
|
558 |
-
#:
|
559 |
msgid "Review"
|
560 |
msgstr ""
|
561 |
|
562 |
-
#:
|
563 |
msgid "Name of the reviewed item"
|
564 |
msgstr ""
|
565 |
|
566 |
-
#:
|
567 |
msgid "The item that is being reviewed."
|
568 |
msgstr ""
|
569 |
|
570 |
-
#:
|
571 |
msgid "Review body"
|
572 |
msgstr ""
|
573 |
|
574 |
-
#:
|
575 |
msgid "The actual body of the review."
|
576 |
msgstr ""
|
577 |
|
578 |
-
#:
|
579 |
msgid "Review name"
|
580 |
msgstr ""
|
581 |
|
582 |
-
#:
|
583 |
msgid "A particular name for the review."
|
584 |
msgstr ""
|
585 |
|
586 |
-
#:
|
587 |
msgid "The author of the review. The reviewer’s name needs to be a valid name."
|
588 |
msgstr ""
|
589 |
|
590 |
-
#:
|
591 |
msgid "Date of Published"
|
592 |
msgstr ""
|
593 |
|
594 |
-
#:
|
|
|
595 |
msgid "A numerical quality rating for the item."
|
596 |
msgstr ""
|
597 |
|
598 |
-
#:
|
599 |
msgid "Best rating"
|
600 |
msgstr ""
|
601 |
|
602 |
-
#:
|
603 |
msgid "The highest value allowed in this rating system."
|
604 |
msgstr ""
|
605 |
|
606 |
-
#:
|
607 |
msgid "Worst rating"
|
608 |
msgstr ""
|
609 |
|
610 |
-
#:
|
611 |
-
msgid "
|
|
|
|
|
612 |
msgstr ""
|
613 |
|
614 |
-
#:
|
615 |
msgid "Name of the organization"
|
616 |
msgstr ""
|
617 |
|
618 |
-
#:
|
619 |
msgid "The publisher of the review."
|
620 |
msgstr ""
|
621 |
|
622 |
-
#:
|
623 |
msgid "Aggregate Ratings"
|
624 |
msgstr ""
|
625 |
|
626 |
-
#:
|
627 |
msgid "Schema type"
|
628 |
msgstr ""
|
629 |
|
630 |
-
#:
|
631 |
msgid "Use the most appropriate schema type for what is being reviewed."
|
632 |
msgstr ""
|
633 |
|
634 |
-
#:
|
635 |
msgid "Name of the item"
|
636 |
msgstr ""
|
637 |
|
638 |
-
#:
|
639 |
msgid "The item that is being rated."
|
640 |
msgstr ""
|
641 |
|
642 |
-
#:
|
|
|
643 |
msgid "The price range of the business, for example $$$."
|
644 |
msgstr ""
|
645 |
|
646 |
-
#:
|
647 |
msgid "Description for thr review"
|
648 |
msgstr ""
|
649 |
|
650 |
-
#:
|
651 |
msgid "Rating Count"
|
652 |
msgstr ""
|
653 |
|
654 |
-
#:
|
655 |
-
msgid "
|
|
|
|
|
|
|
656 |
msgstr ""
|
657 |
|
658 |
-
#:
|
659 |
msgid "Review Count"
|
660 |
msgstr ""
|
661 |
|
662 |
-
#:
|
663 |
-
msgid "
|
|
|
|
|
664 |
msgstr ""
|
665 |
|
666 |
-
#:
|
667 |
msgid "Rating Value"
|
668 |
msgstr ""
|
669 |
|
670 |
-
#:
|
671 |
msgid "Best Rating"
|
672 |
msgstr ""
|
673 |
|
674 |
-
#:
|
675 |
-
msgid "
|
|
|
|
|
|
|
676 |
msgstr ""
|
677 |
|
678 |
-
#:
|
679 |
msgid "Worst Rating"
|
680 |
msgstr ""
|
681 |
|
682 |
-
#:
|
683 |
-
msgid "
|
|
|
|
|
|
|
684 |
msgstr ""
|
685 |
|
686 |
-
#:
|
687 |
msgid "Restaurant"
|
688 |
msgstr ""
|
689 |
|
690 |
-
#:
|
691 |
msgid "Name of the Restaurant"
|
692 |
msgstr ""
|
693 |
|
694 |
-
#:
|
695 |
msgid "Description of the Restaurant"
|
696 |
msgstr ""
|
697 |
|
698 |
-
#:
|
699 |
msgid "Opening Hours"
|
700 |
msgstr ""
|
701 |
|
702 |
-
#:
|
703 |
msgid "Mo,Tu,We,Th,Fr,Sa,Su 11:30-23:00"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#:
|
707 |
msgid "Telephone"
|
708 |
msgstr ""
|
709 |
|
710 |
-
#:
|
711 |
msgid "+155501003333"
|
712 |
msgstr ""
|
713 |
|
714 |
-
#:
|
715 |
msgid "Menu"
|
716 |
msgstr ""
|
717 |
|
718 |
-
#:
|
719 |
msgid "http://example.com/menu"
|
720 |
msgstr ""
|
721 |
|
722 |
-
#:
|
723 |
msgid "Address"
|
724 |
msgstr ""
|
725 |
|
726 |
-
#:
|
|
|
727 |
msgid "Price Range"
|
728 |
msgstr ""
|
729 |
|
730 |
-
#:
|
731 |
msgid "The price range of the business, for example $$$"
|
732 |
msgstr ""
|
733 |
|
734 |
-
#:
|
735 |
msgid "Serves Cuisine"
|
736 |
msgstr ""
|
737 |
|
738 |
-
#:
|
739 |
msgid "The cuisine of the restaurant."
|
740 |
msgstr ""
|
741 |
|
742 |
-
#:
|
743 |
msgid "Local Business"
|
744 |
msgstr ""
|
745 |
|
746 |
-
#:
|
747 |
msgid "Business Logo"
|
748 |
msgstr ""
|
749 |
|
750 |
-
#:
|
751 |
msgid "Address locality"
|
752 |
msgstr ""
|
753 |
|
754 |
-
#:
|
755 |
msgid "City (i.e Kansas city)"
|
756 |
msgstr ""
|
757 |
|
758 |
-
#:
|
759 |
msgid "Address region"
|
760 |
msgstr ""
|
761 |
|
762 |
-
#:
|
763 |
msgid "State (i.e. MO)"
|
764 |
msgstr ""
|
765 |
|
766 |
-
#:
|
767 |
msgid "Postal code"
|
768 |
msgstr ""
|
769 |
|
770 |
-
#:
|
771 |
msgid "Street address"
|
772 |
msgstr ""
|
773 |
|
774 |
-
#:
|
775 |
msgid "Book"
|
776 |
msgstr ""
|
777 |
|
778 |
-
#:
|
779 |
msgid "Course"
|
780 |
msgstr ""
|
781 |
|
782 |
-
#:
|
783 |
msgid "Job Posting"
|
784 |
msgstr ""
|
785 |
|
786 |
-
#:
|
787 |
msgid "Movie"
|
788 |
msgstr ""
|
789 |
|
790 |
-
#:
|
791 |
msgid "TVEpisode"
|
792 |
msgstr ""
|
793 |
|
794 |
-
#:
|
795 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
796 |
msgstr ""
|
797 |
|
798 |
-
#:
|
|
|
|
|
|
|
|
|
|
|
|
|
799 |
msgid "Site Type"
|
800 |
msgstr ""
|
801 |
|
802 |
-
#:
|
803 |
msgid "Select one type"
|
804 |
msgstr ""
|
805 |
|
806 |
-
#:
|
807 |
msgid "Organization or Business name"
|
808 |
msgstr ""
|
809 |
|
810 |
-
#:
|
811 |
msgid "Site Image"
|
812 |
msgstr ""
|
813 |
|
814 |
-
#:
|
815 |
msgid "Site Telephone"
|
816 |
msgstr ""
|
817 |
|
818 |
-
#:
|
819 |
msgid "The telephone number."
|
820 |
msgstr ""
|
821 |
|
822 |
-
#:
|
823 |
msgid "Additional Type"
|
824 |
msgstr ""
|
825 |
|
826 |
-
#:
|
827 |
msgid "Add \"Additional Type\""
|
828 |
msgstr ""
|
829 |
|
830 |
-
#:
|
831 |
msgid ""
|
832 |
-
"Product Ontology is an extension to schema using WikiPedia definitions that
|
833 |
-
"
|
|
|
|
|
|
|
834 |
msgstr ""
|
835 |
|
836 |
-
#:
|
837 |
msgid "Restaurant Information"
|
838 |
msgstr ""
|
839 |
|
840 |
-
#:
|
841 |
msgid "Others local business info"
|
842 |
msgstr ""
|
843 |
|
844 |
-
#:
|
845 |
msgid "Operation Hours"
|
846 |
msgstr ""
|
847 |
|
848 |
-
#:
|
849 |
msgid "GeoCoordinates"
|
850 |
msgstr ""
|
851 |
|
852 |
-
#:
|
853 |
msgid "Latitude"
|
854 |
msgstr ""
|
855 |
|
856 |
-
#:
|
857 |
msgid "Longitude"
|
858 |
msgstr ""
|
859 |
|
860 |
-
#:
|
861 |
msgid "Person"
|
862 |
msgstr ""
|
863 |
|
864 |
-
#:
|
865 |
msgid "Work For"
|
866 |
msgstr ""
|
867 |
|
868 |
-
#:
|
869 |
msgid "Job Title"
|
870 |
msgstr ""
|
871 |
|
872 |
-
#:
|
873 |
msgid "Add your personal photo here"
|
874 |
msgstr ""
|
875 |
|
876 |
-
#:
|
877 |
msgid "Birth date"
|
878 |
msgstr ""
|
879 |
|
880 |
-
#:
|
881 |
msgid "Address Country"
|
882 |
msgstr ""
|
883 |
|
884 |
-
#:
|
885 |
msgid "Address Locality"
|
886 |
msgstr ""
|
887 |
|
888 |
-
#:
|
889 |
msgid "Address Region"
|
890 |
msgstr ""
|
891 |
|
892 |
-
#:
|
893 |
msgid "Postal Code"
|
894 |
msgstr ""
|
895 |
|
896 |
-
#:
|
897 |
msgid "Street Address"
|
898 |
msgstr ""
|
899 |
|
900 |
-
#:
|
901 |
msgid "Add New Address"
|
902 |
msgstr ""
|
903 |
|
904 |
-
#:
|
905 |
msgid "Organization Logo"
|
906 |
msgstr ""
|
907 |
|
908 |
-
#:
|
909 |
msgid "Social Profile"
|
910 |
msgstr ""
|
911 |
|
912 |
-
#:
|
913 |
msgid "Corporate Contacts"
|
914 |
msgstr ""
|
915 |
|
916 |
-
#:
|
917 |
msgid "Select Organization Logo"
|
918 |
msgstr ""
|
919 |
|
920 |
-
#:
|
921 |
msgid "Company Name"
|
922 |
msgstr ""
|
923 |
|
924 |
-
#:
|
925 |
msgid "Social Profiles"
|
926 |
msgstr ""
|
927 |
|
928 |
-
#:
|
929 |
msgid "Add Social Profile"
|
930 |
msgstr ""
|
931 |
|
932 |
-
#:
|
933 |
msgid "Contacts"
|
934 |
msgstr ""
|
935 |
|
936 |
-
#:
|
937 |
msgid "Contact Phone"
|
938 |
msgstr ""
|
939 |
|
940 |
-
#:
|
941 |
msgid "Please follow the format below"
|
942 |
msgstr ""
|
943 |
|
944 |
-
#:
|
945 |
msgid "Contact Email"
|
946 |
msgstr ""
|
947 |
|
948 |
-
#:
|
949 |
msgid "Contact Option"
|
950 |
msgstr ""
|
951 |
|
952 |
-
#:
|
953 |
msgid "Select an option"
|
954 |
msgstr ""
|
955 |
|
956 |
-
#:
|
957 |
msgid "TollFree"
|
958 |
msgstr ""
|
959 |
|
960 |
-
#:
|
961 |
msgid "HearingImpairedSupported"
|
962 |
msgstr ""
|
963 |
|
964 |
-
#:
|
965 |
msgid "Area Served"
|
966 |
msgstr ""
|
967 |
|
968 |
-
#:
|
969 |
msgid "Available language"
|
970 |
msgstr ""
|
971 |
|
972 |
-
#:
|
973 |
msgid "Site Schema"
|
974 |
msgstr ""
|
975 |
|
976 |
-
#:
|
977 |
msgid "Disable Site Schema"
|
978 |
msgstr ""
|
979 |
|
980 |
-
#:
|
981 |
msgid "Enable Site link Search Box"
|
982 |
msgstr ""
|
983 |
|
984 |
-
#:
|
985 |
msgid "Note: Preferred Name markup may no longer be supported by Google"
|
986 |
msgstr ""
|
987 |
|
988 |
-
#:
|
989 |
msgid "Site Name:"
|
990 |
msgstr ""
|
991 |
|
992 |
-
#:
|
993 |
msgid "Site Alternative Name:"
|
994 |
msgstr ""
|
995 |
|
996 |
-
#:
|
997 |
msgid "Site Url:"
|
998 |
msgstr ""
|
999 |
|
1000 |
-
#:
|
1001 |
msgid "Save Changes"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
-
#:
|
1005 |
msgid "Schema Settings"
|
1006 |
msgstr ""
|
1007 |
|
1008 |
-
#:
|
1009 |
msgid "Business / Org Schema"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
-
#:
|
1013 |
msgid ""
|
1014 |
"Home page\n"
|
1015 |
" only"
|
1016 |
msgstr ""
|
1017 |
|
1018 |
-
#:
|
1019 |
msgid ""
|
1020 |
"Sitewide (Apply General Settings schema\n"
|
1021 |
" sitewide)"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
-
#:
|
1025 |
msgid "Turn off (Turn off global schema)"
|
1026 |
msgstr ""
|
1027 |
|
1028 |
-
#:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1029 |
msgid "Delete all data"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
-
#:
|
1033 |
msgid "Enable"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
-
#:
|
1037 |
msgid ""
|
1038 |
-
"This will delete all schema created and applied by this plugin when plugin
|
|
|
1039 |
" deleted."
|
1040 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#, fuzzy
|
|
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
5 |
"Project-Id-Version: WP SEO Structured Data Schema\n"
|
6 |
+
"POT-Creation-Date: 2019-03-08 11:43+0600\n"
|
7 |
+
"PO-Revision-Date: 2019-03-08 11:43+0600\n"
|
8 |
+
"Last-Translator: \n"
|
9 |
+
"Language-Team: \n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
+
"X-Generator: Poedit 1.8.7\n"
|
14 |
"X-Poedit-Basepath: ..\n"
|
15 |
+
"X-Poedit-WPHeader: wp-seo-structured-data-schema.php\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
|
18 |
+
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
|
19 |
+
"_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
|
20 |
"X-Poedit-SearchPath-0: .\n"
|
21 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
|
|
|
|
22 |
|
23 |
+
#: lib/classes/KcSeoHelper.php:189
|
24 |
msgid "Pro Version Features"
|
25 |
msgstr ""
|
26 |
|
27 |
+
#: lib/classes/KcSeoHelper.php:191
|
28 |
msgid "Includes Auto-fill function <---Popular"
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: lib/classes/KcSeoHelper.php:192
|
32 |
msgid "Supports Custom Post Types beyond default page and posts"
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: lib/classes/KcSeoHelper.php:193
|
36 |
msgid "Supports WordPress Multisite"
|
37 |
msgstr ""
|
38 |
|
39 |
+
#: lib/classes/KcSeoHelper.php:194
|
40 |
msgid "Supports more schema types:"
|
41 |
msgstr ""
|
42 |
|
43 |
+
#: lib/classes/KcSeoHelper.php:196
|
44 |
msgid "Books"
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: lib/classes/KcSeoHelper.php:197
|
48 |
msgid "Courses"
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: lib/classes/KcSeoHelper.php:198
|
52 |
msgid "Job Postings"
|
53 |
msgstr ""
|
54 |
|
55 |
+
#: lib/classes/KcSeoHelper.php:199
|
56 |
msgid "Movies"
|
57 |
msgstr ""
|
58 |
|
59 |
+
#: lib/classes/KcSeoHelper.php:200 lib/functions/KcSeoOptions.php:851
|
60 |
msgid "Music"
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: lib/classes/KcSeoHelper.php:201 lib/functions/KcSeoOptions.php:855
|
64 |
msgid "Recipe"
|
65 |
msgstr ""
|
66 |
|
67 |
+
#: lib/classes/KcSeoHelper.php:202
|
68 |
msgid "TV Episode"
|
69 |
msgstr ""
|
70 |
|
71 |
+
#: lib/classes/KcSeoHelper.php:203 lib/functions/KcSeoOptions.php:863
|
72 |
msgid "QAPage"
|
73 |
msgstr ""
|
74 |
|
75 |
+
#: lib/classes/KcSeoHelper.php:204 lib/functions/KcSeoOptions.php:867
|
76 |
msgid "Item List"
|
77 |
msgstr ""
|
78 |
|
79 |
+
#: lib/classes/KcSeoHelper.php:210
|
80 |
msgid "Get the Pro Version"
|
81 |
msgstr ""
|
82 |
|
83 |
+
#: lib/classes/KcSeoInit.php:33
|
84 |
msgid "Documentation"
|
85 |
msgstr ""
|
86 |
|
87 |
+
#: lib/classes/KcSeoInit.php:34
|
88 |
msgid "Get Pro"
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: lib/classes/KcSeoInit.php:151 lib/classes/KcSeoInit.php:173
|
92 |
+
msgid "Settings successfully updated"
|
93 |
+
msgstr ""
|
94 |
+
|
95 |
+
#: lib/classes/KcSeoInit.php:153 lib/classes/KcSeoInit.php:175
|
96 |
+
msgid "Security Error !!"
|
97 |
+
msgstr ""
|
98 |
+
|
99 |
+
#. Plugin Name of the plugin/theme
|
100 |
+
#: lib/classes/KcSeoInit.php:197 lib/views/schema-options.php:7
|
101 |
msgid "WP SEO Structured Data Schema"
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: lib/classes/KcSeoInit.php:197
|
105 |
msgid "WP SEO Schema"
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: lib/classes/KcSeoInit.php:199
|
109 |
msgid "WP SEO Schema settings"
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: lib/classes/KcSeoInit.php:199
|
113 |
msgid "Settings"
|
114 |
msgstr ""
|
115 |
|
116 |
+
#: lib/classes/KcSeoMetaData.php:47
|
117 |
+
msgid ""
|
118 |
+
"WP SEO Structured Data Schema by <a href=\"https://wpsemplugins.com/"
|
119 |
+
"\">WPSEMPlugins.com</a>"
|
120 |
+
msgstr ""
|
121 |
+
|
122 |
+
#: lib/classes/KcSeoMetaData.php:64 lib/views/schema-options.php:26
|
123 |
+
msgid ""
|
124 |
+
"For more detailed information on how to configure this plugin, please visit:"
|
125 |
+
msgstr ""
|
126 |
+
|
127 |
+
#: lib/classes/KcSeoMetaData.php:65
|
128 |
+
msgid ""
|
129 |
+
"Once you save these structured data schema settings, validate this page url "
|
130 |
+
"here:"
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
+
#: lib/classes/KcSeoMetaData.php:80
|
134 |
+
msgid "Auto Fill"
|
135 |
+
msgstr ""
|
136 |
+
|
137 |
+
#: lib/classes/KcSeoMetaData.php:80 lib/views/schema-options.php:318
|
138 |
+
#: lib/views/settings.php:32 lib/views/settings.php:50
|
139 |
+
#: lib/views/settings.php:75 lib/views/settings.php:84
|
140 |
+
msgid "PRO"
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: lib/classes/KcSeoMetaData.php:93
|
144 |
+
msgid "This is a Pro version feature."
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: lib/functions/KcSeoOptions.php:10
|
148 |
msgid "Article"
|
149 |
msgstr ""
|
150 |
|
151 |
+
#: lib/functions/KcSeoOptions.php:16 lib/functions/KcSeoOptions.php:90
|
152 |
+
#: lib/functions/KcSeoOptions.php:159
|
153 |
msgid "Headline"
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: lib/functions/KcSeoOptions.php:18 lib/functions/KcSeoOptions.php:161
|
157 |
msgid "Article title"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: lib/functions/KcSeoOptions.php:22 lib/functions/KcSeoOptions.php:96
|
161 |
+
#: lib/functions/KcSeoOptions.php:165
|
162 |
msgid "Page URL"
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: lib/functions/KcSeoOptions.php:24 lib/functions/KcSeoOptions.php:98
|
166 |
+
#: lib/functions/KcSeoOptions.php:167
|
167 |
msgid "The canonical URL of the article page"
|
168 |
msgstr ""
|
169 |
|
170 |
+
#: lib/functions/KcSeoOptions.php:28
|
171 |
msgid "Author Name"
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: lib/functions/KcSeoOptions.php:30 lib/functions/KcSeoOptions.php:104
|
175 |
+
#: lib/functions/KcSeoOptions.php:173
|
176 |
msgid "Author display name"
|
177 |
msgstr ""
|
178 |
|
179 |
+
#: lib/functions/KcSeoOptions.php:34
|
180 |
msgid "Article Feature Image"
|
181 |
msgstr ""
|
182 |
|
183 |
+
#: lib/functions/KcSeoOptions.php:37
|
184 |
+
msgid ""
|
185 |
+
"Images should be at least 696 pixels wide.<br>Images should be in .jpg, ."
|
186 |
+
"png, or. gif format."
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: lib/functions/KcSeoOptions.php:40 lib/functions/KcSeoOptions.php:114
|
190 |
+
#: lib/functions/KcSeoOptions.php:183
|
191 |
msgid "Published date"
|
192 |
msgstr ""
|
193 |
|
194 |
+
#: lib/functions/KcSeoOptions.php:44 lib/functions/KcSeoOptions.php:51
|
195 |
+
#: lib/functions/KcSeoOptions.php:117 lib/functions/KcSeoOptions.php:124
|
196 |
+
#: lib/functions/KcSeoOptions.php:186 lib/functions/KcSeoOptions.php:194
|
197 |
+
#: lib/functions/KcSeoOptions.php:490 lib/functions/KcSeoOptions.php:607
|
198 |
msgid "Like this: 2015-12-25"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: lib/functions/KcSeoOptions.php:47 lib/functions/KcSeoOptions.php:121
|
202 |
+
#: lib/functions/KcSeoOptions.php:190
|
203 |
msgid "Modified date"
|
204 |
msgstr ""
|
205 |
|
206 |
+
#: lib/functions/KcSeoOptions.php:54 lib/functions/KcSeoOptions.php:128
|
207 |
+
#: lib/functions/KcSeoOptions.php:197
|
208 |
msgid "Publisher"
|
209 |
msgstr ""
|
210 |
|
211 |
+
#: lib/functions/KcSeoOptions.php:56 lib/functions/KcSeoOptions.php:130
|
212 |
+
#: lib/functions/KcSeoOptions.php:199
|
213 |
msgid "Publisher name or Organization name"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: lib/functions/KcSeoOptions.php:60 lib/functions/KcSeoOptions.php:134
|
217 |
+
#: lib/functions/KcSeoOptions.php:203 lib/views/settings.php:83
|
218 |
msgid "Publisher Logo"
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: lib/functions/KcSeoOptions.php:62 lib/functions/KcSeoOptions.php:136
|
222 |
+
#: lib/functions/KcSeoOptions.php:205
|
223 |
+
msgid ""
|
224 |
+
"Logos should have a wide aspect ratio, not a square icon.<br>Logos should be "
|
225 |
+
"no wider than 600px, and no taller than 60px.<br>Always retain the original "
|
226 |
+
"aspect ratio of the logo when resizing. Ideally, logos are exactly 60px tall "
|
227 |
+
"with width <= 600px. If maintaining a height of 60px would cause the width "
|
228 |
+
"to exceed 600px, downscale the logo to exactly 600px wide and reduce the "
|
229 |
+
"height accordingly below 60px to maintain the original aspect ratio.<br>"
|
230 |
+
msgstr ""
|
231 |
+
|
232 |
+
#: lib/functions/KcSeoOptions.php:66 lib/functions/KcSeoOptions.php:140
|
233 |
+
#: lib/functions/KcSeoOptions.php:209 lib/functions/KcSeoOptions.php:260
|
234 |
+
#: lib/functions/KcSeoOptions.php:335 lib/functions/KcSeoOptions.php:446
|
235 |
+
#: lib/functions/KcSeoOptions.php:681 lib/functions/KcSeoOptions.php:794
|
236 |
+
#: lib/views/schema-options.php:170 lib/views/schema-options.php:255
|
237 |
msgid "Description"
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: lib/functions/KcSeoOptions.php:68 lib/functions/KcSeoOptions.php:142
|
241 |
+
#: lib/functions/KcSeoOptions.php:211
|
242 |
msgid "Short description"
|
243 |
msgstr ""
|
244 |
|
245 |
+
#: lib/functions/KcSeoOptions.php:71 lib/functions/KcSeoOptions.php:145
|
246 |
+
#: lib/functions/KcSeoOptions.php:214
|
247 |
msgid "Article body"
|
248 |
msgstr ""
|
249 |
|
250 |
+
#: lib/functions/KcSeoOptions.php:73 lib/functions/KcSeoOptions.php:147
|
251 |
msgid "Article content"
|
252 |
msgstr ""
|
253 |
|
254 |
+
#: lib/functions/KcSeoOptions.php:76
|
255 |
msgid "Alternative headline"
|
256 |
msgstr ""
|
257 |
|
258 |
+
#: lib/functions/KcSeoOptions.php:78
|
259 |
msgid "A secondary headline for the article."
|
260 |
msgstr ""
|
261 |
|
262 |
+
#: lib/functions/KcSeoOptions.php:84
|
263 |
msgid "Blog Posting"
|
264 |
msgstr ""
|
265 |
|
266 |
+
#: lib/functions/KcSeoOptions.php:92
|
267 |
msgid "Blog posting title"
|
268 |
msgstr ""
|
269 |
|
270 |
+
#: lib/functions/KcSeoOptions.php:102
|
271 |
msgid "Author name"
|
272 |
msgstr ""
|
273 |
|
274 |
+
#: lib/functions/KcSeoOptions.php:108
|
275 |
msgid "Feature Image"
|
276 |
msgstr ""
|
277 |
|
278 |
+
#: lib/functions/KcSeoOptions.php:110 lib/functions/KcSeoOptions.php:179
|
279 |
+
msgid ""
|
280 |
+
"The representative image of the article. Only a marked-up image that "
|
281 |
+
"directly belongs to the article should be specified.<br> Images should be at "
|
282 |
+
"least 696 pixels wide. <br>Images should be in .jpg, .png, or. gif format."
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: lib/functions/KcSeoOptions.php:153
|
286 |
msgid "News Article"
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: lib/functions/KcSeoOptions.php:171 lib/functions/KcSeoOptions.php:597
|
290 |
msgid "Author"
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: lib/functions/KcSeoOptions.php:177 lib/functions/KcSeoOptions.php:330
|
294 |
+
#: lib/functions/KcSeoOptions.php:761 lib/views/schema-options.php:247
|
295 |
msgid "Image"
|
296 |
msgstr ""
|
297 |
|
298 |
+
#: lib/functions/KcSeoOptions.php:216
|
299 |
msgid "Article body content"
|
300 |
msgstr ""
|
301 |
|
302 |
+
#: lib/functions/KcSeoOptions.php:222
|
303 |
msgid "Event"
|
304 |
msgstr ""
|
305 |
|
306 |
+
#: lib/functions/KcSeoOptions.php:228 lib/functions/KcSeoOptions.php:324
|
307 |
+
#: lib/functions/KcSeoOptions.php:440 lib/functions/KcSeoOptions.php:502
|
308 |
+
#: lib/functions/KcSeoOptions.php:789 lib/views/schema-options.php:224
|
309 |
msgid "Name"
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: lib/functions/KcSeoOptions.php:231
|
313 |
msgid "The name of the event."
|
314 |
msgstr ""
|
315 |
|
316 |
+
#: lib/functions/KcSeoOptions.php:234
|
317 |
msgid "Location name"
|
318 |
msgstr ""
|
319 |
|
320 |
+
#: lib/functions/KcSeoOptions.php:237
|
321 |
msgid "Event Location name"
|
322 |
msgstr ""
|
323 |
|
324 |
+
#: lib/functions/KcSeoOptions.php:240
|
325 |
msgid "Location address"
|
326 |
msgstr ""
|
327 |
|
328 |
+
#: lib/functions/KcSeoOptions.php:243
|
329 |
+
msgid ""
|
330 |
+
"The location of for example where the event is happening, an organization is "
|
331 |
+
"located, or where an action takes place."
|
332 |
msgstr ""
|
333 |
|
334 |
+
#: lib/functions/KcSeoOptions.php:246
|
335 |
msgid "Start date"
|
336 |
msgstr ""
|
337 |
|
338 |
+
#: lib/functions/KcSeoOptions.php:250
|
339 |
msgid "Event start date"
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: lib/functions/KcSeoOptions.php:253
|
343 |
msgid "End date"
|
344 |
msgstr ""
|
345 |
|
346 |
+
#: lib/functions/KcSeoOptions.php:257
|
347 |
msgid "Event end date"
|
348 |
msgstr ""
|
349 |
|
350 |
+
#: lib/functions/KcSeoOptions.php:263
|
351 |
msgid "Event description"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: lib/functions/KcSeoOptions.php:266
|
355 |
msgid "Performer Name"
|
356 |
msgstr ""
|
357 |
|
358 |
+
#: lib/functions/KcSeoOptions.php:269
|
359 |
msgid "The performer's name."
|
360 |
msgstr ""
|
361 |
|
362 |
+
#: lib/functions/KcSeoOptions.php:272
|
363 |
msgid "Image URL"
|
364 |
msgstr ""
|
365 |
|
366 |
+
#: lib/functions/KcSeoOptions.php:275
|
367 |
msgid "URL of an image or logo for the event or tour"
|
368 |
msgstr ""
|
369 |
|
370 |
+
#: lib/functions/KcSeoOptions.php:278 lib/functions/KcSeoOptions.php:380
|
371 |
msgid "Price"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: lib/functions/KcSeoOptions.php:282
|
375 |
+
msgid ""
|
376 |
+
"This is highly recommended. The lowest available price, including service "
|
377 |
+
"charges and fees, of this type of ticket. <span class='required'>Not "
|
378 |
+
"required but (Recommended)</span>"
|
379 |
msgstr ""
|
380 |
|
381 |
+
#: lib/functions/KcSeoOptions.php:285 lib/functions/KcSeoOptions.php:393
|
382 |
msgid "Price currency"
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: lib/functions/KcSeoOptions.php:287
|
386 |
msgid "The 3-letter currency code. (USD)"
|
387 |
msgstr ""
|
388 |
|
389 |
+
#: lib/functions/KcSeoOptions.php:301
|
390 |
msgid "Valid From"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: lib/functions/KcSeoOptions.php:312
|
394 |
+
msgid ""
|
395 |
+
"A link to the event's details page. <span class='required'>Not required but "
|
396 |
+
"(Recommended)</span>"
|
|
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: lib/functions/KcSeoOptions.php:318
|
400 |
msgid "Product"
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: lib/functions/KcSeoOptions.php:327
|
404 |
msgid "The name of the product."
|
405 |
msgstr ""
|
406 |
|
407 |
+
#: lib/functions/KcSeoOptions.php:332
|
408 |
+
msgid ""
|
409 |
+
"The URL of a product photo. Pictures clearly showing the product, e.g. "
|
410 |
+
"against a white background, are preferred."
|
411 |
msgstr ""
|
412 |
|
413 |
+
#: lib/functions/KcSeoOptions.php:337
|
414 |
msgid "Product description."
|
415 |
msgstr ""
|
416 |
|
417 |
+
#: lib/functions/KcSeoOptions.php:340
|
418 |
msgid "Brand"
|
419 |
msgstr ""
|
420 |
|
421 |
+
#: lib/functions/KcSeoOptions.php:342
|
422 |
msgid "The brand of the product."
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: lib/functions/KcSeoOptions.php:345
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
426 |
msgid "Review rating value"
|
427 |
msgstr ""
|
428 |
|
429 |
+
#: lib/functions/KcSeoOptions.php:349 lib/functions/KcSeoOptions.php:371
|
430 |
msgid "Rating value. (1 , 2.5, 3, 5 etc)"
|
431 |
msgstr ""
|
432 |
|
433 |
+
#: lib/functions/KcSeoOptions.php:352
|
434 |
msgid "Review Best rating"
|
435 |
msgstr ""
|
436 |
|
437 |
+
#: lib/functions/KcSeoOptions.php:358
|
438 |
msgid "Review Worst rating"
|
439 |
msgstr ""
|
440 |
|
441 |
+
#: lib/functions/KcSeoOptions.php:364
|
442 |
msgid "Review author"
|
443 |
msgstr ""
|
444 |
|
445 |
+
#: lib/functions/KcSeoOptions.php:368 lib/functions/KcSeoOptions.php:610
|
446 |
msgid "Rating value"
|
447 |
msgstr ""
|
448 |
|
449 |
+
#: lib/functions/KcSeoOptions.php:374
|
450 |
msgid "Total review count"
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: lib/functions/KcSeoOptions.php:377
|
454 |
+
msgid ""
|
455 |
+
"Review rating value. <span class='required'>This is required if (Rating "
|
456 |
+
"value) is given</span>"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: lib/functions/KcSeoOptions.php:383
|
460 |
+
msgid ""
|
461 |
+
"The lowest available price, including service charges and fees, of this type "
|
462 |
+
"of ticket."
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: lib/functions/KcSeoOptions.php:386
|
466 |
msgid "PriceValidUntil"
|
467 |
msgstr ""
|
468 |
|
469 |
+
#: lib/functions/KcSeoOptions.php:390
|
470 |
+
msgid ""
|
471 |
+
"The date (in ISO 8601 date format) after which the price will no longer be "
|
472 |
+
"available."
|
473 |
msgstr ""
|
474 |
|
475 |
+
#: lib/functions/KcSeoOptions.php:395
|
476 |
msgid "The 3-letter currency code."
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: lib/functions/KcSeoOptions.php:411
|
480 |
msgid "Select a availability type"
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: lib/functions/KcSeoOptions.php:423
|
484 |
msgid "Select a condition"
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: lib/functions/KcSeoOptions.php:426
|
488 |
msgid "Product URL"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: lib/functions/KcSeoOptions.php:428
|
492 |
+
msgid ""
|
493 |
+
"A URL to the product web page (that includes the Offer). (Don't use offerURL "
|
494 |
+
"for markup that appears on the product page itself.)"
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: lib/functions/KcSeoOptions.php:434
|
498 |
msgid "Video"
|
499 |
msgstr ""
|
500 |
|
501 |
+
#: lib/functions/KcSeoOptions.php:443
|
502 |
msgid "The title of the video"
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: lib/functions/KcSeoOptions.php:449
|
506 |
msgid "The description of the video"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: lib/functions/KcSeoOptions.php:456
|
510 |
+
msgid ""
|
511 |
+
"A URL pointing to the video thumbnail image file. Images must be at least "
|
512 |
+
"160x90 pixels and at most 1920x1080 pixels."
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: lib/functions/KcSeoOptions.php:459
|
516 |
msgid "Updated date"
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: lib/functions/KcSeoOptions.php:462
|
520 |
msgid "2015-02-05T08:00:00+08:00"
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: lib/functions/KcSeoOptions.php:465
|
524 |
msgid "Duration"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: lib/functions/KcSeoOptions.php:467
|
528 |
msgid "The duration of the video in ISO 8601 format.(PT1M33S)"
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: lib/functions/KcSeoOptions.php:473
|
532 |
+
msgid ""
|
533 |
+
"A URL pointing to the actual video media file. This file should be in .mpg, ."
|
534 |
+
"mpeg, .mp4, .m4v, .mov, .wmv, .asf, .avi, .ra, .ram, .rm, .flv, or other "
|
535 |
+
"video file format."
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: lib/functions/KcSeoOptions.php:479
|
539 |
+
msgid ""
|
540 |
+
"A URL pointing to a player for the specific video. Usually this is the "
|
541 |
+
"information in the src element of an < embed> tag.Example: Dailymotion: "
|
542 |
+
"http://www.dailymotion.com/swf/x1o2g."
|
543 |
msgstr ""
|
544 |
|
545 |
+
#: lib/functions/KcSeoOptions.php:482
|
546 |
msgid "Interaction count"
|
547 |
msgstr ""
|
548 |
|
549 |
+
#: lib/functions/KcSeoOptions.php:484
|
550 |
msgid "The number of times the video has been viewed."
|
551 |
msgstr ""
|
552 |
|
553 |
+
#: lib/functions/KcSeoOptions.php:487
|
554 |
msgid "Expires"
|
555 |
msgstr ""
|
556 |
|
557 |
+
#: lib/functions/KcSeoOptions.php:496
|
558 |
msgid "Service"
|
559 |
msgstr ""
|
560 |
|
561 |
+
#: lib/functions/KcSeoOptions.php:505
|
562 |
msgid "The name of the Service."
|
563 |
msgstr ""
|
564 |
|
565 |
+
#: lib/functions/KcSeoOptions.php:508
|
566 |
msgid "Service type"
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: lib/functions/KcSeoOptions.php:511
|
570 |
+
msgid ""
|
571 |
+
"The type of service being offered, e.g. veterans' benefits, emergency "
|
572 |
+
"relief, etc."
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: lib/functions/KcSeoOptions.php:517
|
576 |
+
msgid ""
|
577 |
+
"An additional type for the service, typically used for adding more specific "
|
578 |
+
"types from external vocabularies in microdata syntax."
|
579 |
msgstr ""
|
580 |
|
581 |
+
#: lib/functions/KcSeoOptions.php:520
|
582 |
msgid "Award"
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: lib/functions/KcSeoOptions.php:522
|
586 |
msgid "An award won by or for this service."
|
587 |
msgstr ""
|
588 |
|
589 |
+
#: lib/functions/KcSeoOptions.php:525
|
590 |
msgid "Category"
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: lib/functions/KcSeoOptions.php:527
|
594 |
msgid "A category for the service."
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: lib/functions/KcSeoOptions.php:530
|
598 |
msgid "Provider mobility"
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: lib/functions/KcSeoOptions.php:532
|
602 |
+
msgid ""
|
603 |
+
"Indicates the mobility of a provided service (e.g. 'static', 'dynamic')."
|
604 |
msgstr ""
|
605 |
|
606 |
+
#: lib/functions/KcSeoOptions.php:538
|
607 |
msgid "A short description of the service."
|
608 |
msgstr ""
|
609 |
|
610 |
+
#: lib/functions/KcSeoOptions.php:544
|
611 |
msgid "An image of the service. This should be a URL."
|
612 |
msgstr ""
|
613 |
|
614 |
+
#: lib/functions/KcSeoOptions.php:550
|
615 |
+
msgid ""
|
616 |
+
"Indicates a page (or other CreativeWork) for which this thing is the main "
|
617 |
+
"entity being described."
|
618 |
msgstr ""
|
619 |
|
620 |
+
#: lib/functions/KcSeoOptions.php:556
|
621 |
+
msgid ""
|
622 |
+
"URL of a reference Web page that unambiguously indicates the service's "
|
623 |
+
"identity. E.g. the URL of the service's Wikipedia page, Freebase page, or "
|
624 |
+
"official website."
|
625 |
msgstr ""
|
626 |
|
627 |
+
#: lib/functions/KcSeoOptions.php:562
|
628 |
msgid "URL of the service."
|
629 |
msgstr ""
|
630 |
|
631 |
+
#: lib/functions/KcSeoOptions.php:565
|
632 |
msgid "Alternate name"
|
633 |
msgstr ""
|
634 |
|
635 |
+
#: lib/functions/KcSeoOptions.php:567
|
636 |
msgid "An alias for the service."
|
637 |
msgstr ""
|
638 |
|
639 |
+
#: lib/functions/KcSeoOptions.php:573
|
640 |
msgid "Review"
|
641 |
msgstr ""
|
642 |
|
643 |
+
#: lib/functions/KcSeoOptions.php:579
|
644 |
msgid "Name of the reviewed item"
|
645 |
msgstr ""
|
646 |
|
647 |
+
#: lib/functions/KcSeoOptions.php:582
|
648 |
msgid "The item that is being reviewed."
|
649 |
msgstr ""
|
650 |
|
651 |
+
#: lib/functions/KcSeoOptions.php:585
|
652 |
msgid "Review body"
|
653 |
msgstr ""
|
654 |
|
655 |
+
#: lib/functions/KcSeoOptions.php:588
|
656 |
msgid "The actual body of the review."
|
657 |
msgstr ""
|
658 |
|
659 |
+
#: lib/functions/KcSeoOptions.php:591
|
660 |
msgid "Review name"
|
661 |
msgstr ""
|
662 |
|
663 |
+
#: lib/functions/KcSeoOptions.php:594
|
664 |
msgid "A particular name for the review."
|
665 |
msgstr ""
|
666 |
|
667 |
+
#: lib/functions/KcSeoOptions.php:601
|
668 |
msgid "The author of the review. The reviewer’s name needs to be a valid name."
|
669 |
msgstr ""
|
670 |
|
671 |
+
#: lib/functions/KcSeoOptions.php:604
|
672 |
msgid "Date of Published"
|
673 |
msgstr ""
|
674 |
|
675 |
+
#: lib/functions/KcSeoOptions.php:613 lib/functions/KcSeoOptions.php:704
|
676 |
+
#: lib/functions/KcSeoOptions.php:711
|
677 |
msgid "A numerical quality rating for the item."
|
678 |
msgstr ""
|
679 |
|
680 |
+
#: lib/functions/KcSeoOptions.php:616
|
681 |
msgid "Best rating"
|
682 |
msgstr ""
|
683 |
|
684 |
+
#: lib/functions/KcSeoOptions.php:619
|
685 |
msgid "The highest value allowed in this rating system."
|
686 |
msgstr ""
|
687 |
|
688 |
+
#: lib/functions/KcSeoOptions.php:622
|
689 |
msgid "Worst rating"
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: lib/functions/KcSeoOptions.php:625
|
693 |
+
msgid ""
|
694 |
+
"The lowest value allowed in this rating system. * Required if the rating "
|
695 |
+
"system is not on a 5-point scale. If worstRating is omitted, 1 is assumed."
|
696 |
msgstr ""
|
697 |
|
698 |
+
#: lib/functions/KcSeoOptions.php:628
|
699 |
msgid "Name of the organization"
|
700 |
msgstr ""
|
701 |
|
702 |
+
#: lib/functions/KcSeoOptions.php:630
|
703 |
msgid "The publisher of the review."
|
704 |
msgstr ""
|
705 |
|
706 |
+
#: lib/functions/KcSeoOptions.php:636
|
707 |
msgid "Aggregate Ratings"
|
708 |
msgstr ""
|
709 |
|
710 |
+
#: lib/functions/KcSeoOptions.php:642
|
711 |
msgid "Schema type"
|
712 |
msgstr ""
|
713 |
|
714 |
+
#: lib/functions/KcSeoOptions.php:647
|
715 |
msgid "Use the most appropriate schema type for what is being reviewed."
|
716 |
msgstr ""
|
717 |
|
718 |
+
#: lib/functions/KcSeoOptions.php:650
|
719 |
msgid "Name of the item"
|
720 |
msgstr ""
|
721 |
|
722 |
+
#: lib/functions/KcSeoOptions.php:653
|
723 |
msgid "The item that is being rated."
|
724 |
msgstr ""
|
725 |
|
726 |
+
#: lib/functions/KcSeoOptions.php:666 lib/functions/KcSeoOptions.php:806
|
727 |
+
#: lib/views/schema-options.php:118
|
728 |
msgid "The price range of the business, for example $$$."
|
729 |
msgstr ""
|
730 |
|
731 |
+
#: lib/functions/KcSeoOptions.php:683
|
732 |
msgid "Description for thr review"
|
733 |
msgstr ""
|
734 |
|
735 |
+
#: lib/functions/KcSeoOptions.php:686
|
736 |
msgid "Rating Count"
|
737 |
msgstr ""
|
738 |
|
739 |
+
#: lib/functions/KcSeoOptions.php:690
|
740 |
+
msgid ""
|
741 |
+
"The total number of ratings for the item on your site. <span "
|
742 |
+
"class='required'>* At least one of ratingCount or reviewCount is required.</"
|
743 |
+
"span>"
|
744 |
msgstr ""
|
745 |
|
746 |
+
#: lib/functions/KcSeoOptions.php:693
|
747 |
msgid "Review Count"
|
748 |
msgstr ""
|
749 |
|
750 |
+
#: lib/functions/KcSeoOptions.php:697
|
751 |
+
msgid ""
|
752 |
+
"Specifies the number of people who provided a review with or without an "
|
753 |
+
"accompanying rating. At least one of ratingCount or reviewCount is required."
|
754 |
msgstr ""
|
755 |
|
756 |
+
#: lib/functions/KcSeoOptions.php:700 lib/functions/KcSeoOptions.php:707
|
757 |
msgid "Rating Value"
|
758 |
msgstr ""
|
759 |
|
760 |
+
#: lib/functions/KcSeoOptions.php:714
|
761 |
msgid "Best Rating"
|
762 |
msgstr ""
|
763 |
|
764 |
+
#: lib/functions/KcSeoOptions.php:718
|
765 |
+
msgid ""
|
766 |
+
"The highest value allowed in this rating system. <span class='required'>* "
|
767 |
+
"Required if the rating system is not a 5-point scale.</span> If bestRating "
|
768 |
+
"is omitted, 5 is assumed."
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: lib/functions/KcSeoOptions.php:721
|
772 |
msgid "Worst Rating"
|
773 |
msgstr ""
|
774 |
|
775 |
+
#: lib/functions/KcSeoOptions.php:725
|
776 |
+
msgid ""
|
777 |
+
"The lowest value allowed in this rating system. <span class='required'>* "
|
778 |
+
"Required if the rating system is not a 5-point scale.</span> If worstRating "
|
779 |
+
"is omitted, 1 is assumed."
|
780 |
msgstr ""
|
781 |
|
782 |
+
#: lib/functions/KcSeoOptions.php:731
|
783 |
msgid "Restaurant"
|
784 |
msgstr ""
|
785 |
|
786 |
+
#: lib/functions/KcSeoOptions.php:737
|
787 |
msgid "Name of the Restaurant"
|
788 |
msgstr ""
|
789 |
|
790 |
+
#: lib/functions/KcSeoOptions.php:742
|
791 |
msgid "Description of the Restaurant"
|
792 |
msgstr ""
|
793 |
|
794 |
+
#: lib/functions/KcSeoOptions.php:746
|
795 |
msgid "Opening Hours"
|
796 |
msgstr ""
|
797 |
|
798 |
+
#: lib/functions/KcSeoOptions.php:748
|
799 |
msgid "Mo,Tu,We,Th,Fr,Sa,Su 11:30-23:00"
|
800 |
msgstr ""
|
801 |
|
802 |
+
#: lib/functions/KcSeoOptions.php:751 lib/functions/KcSeoOptions.php:827
|
803 |
msgid "Telephone"
|
804 |
msgstr ""
|
805 |
|
806 |
+
#: lib/functions/KcSeoOptions.php:753
|
807 |
msgid "+155501003333"
|
808 |
msgstr ""
|
809 |
|
810 |
+
#: lib/functions/KcSeoOptions.php:756
|
811 |
msgid "Menu"
|
812 |
msgstr ""
|
813 |
|
814 |
+
#: lib/functions/KcSeoOptions.php:758
|
815 |
msgid "http://example.com/menu"
|
816 |
msgstr ""
|
817 |
|
818 |
+
#: lib/functions/KcSeoOptions.php:766 lib/views/schema-options.php:270
|
819 |
msgid "Address"
|
820 |
msgstr ""
|
821 |
|
822 |
+
#: lib/functions/KcSeoOptions.php:770 lib/functions/KcSeoOptions.php:803
|
823 |
+
#: lib/views/schema-options.php:113
|
824 |
msgid "Price Range"
|
825 |
msgstr ""
|
826 |
|
827 |
+
#: lib/functions/KcSeoOptions.php:772
|
828 |
msgid "The price range of the business, for example $$$"
|
829 |
msgstr ""
|
830 |
|
831 |
+
#: lib/functions/KcSeoOptions.php:775
|
832 |
msgid "Serves Cuisine"
|
833 |
msgstr ""
|
834 |
|
835 |
+
#: lib/functions/KcSeoOptions.php:777 lib/views/schema-options.php:159
|
836 |
msgid "The cuisine of the restaurant."
|
837 |
msgstr ""
|
838 |
|
839 |
+
#: lib/functions/KcSeoOptions.php:783
|
840 |
msgid "Local Business"
|
841 |
msgstr ""
|
842 |
|
843 |
+
#: lib/functions/KcSeoOptions.php:798
|
844 |
msgid "Business Logo"
|
845 |
msgstr ""
|
846 |
|
847 |
+
#: lib/functions/KcSeoOptions.php:809
|
848 |
msgid "Address locality"
|
849 |
msgstr ""
|
850 |
|
851 |
+
#: lib/functions/KcSeoOptions.php:811
|
852 |
msgid "City (i.e Kansas city)"
|
853 |
msgstr ""
|
854 |
|
855 |
+
#: lib/functions/KcSeoOptions.php:814
|
856 |
msgid "Address region"
|
857 |
msgstr ""
|
858 |
|
859 |
+
#: lib/functions/KcSeoOptions.php:816
|
860 |
msgid "State (i.e. MO)"
|
861 |
msgstr ""
|
862 |
|
863 |
+
#: lib/functions/KcSeoOptions.php:819
|
864 |
msgid "Postal code"
|
865 |
msgstr ""
|
866 |
|
867 |
+
#: lib/functions/KcSeoOptions.php:823
|
868 |
msgid "Street address"
|
869 |
msgstr ""
|
870 |
|
871 |
+
#: lib/functions/KcSeoOptions.php:835
|
872 |
msgid "Book"
|
873 |
msgstr ""
|
874 |
|
875 |
+
#: lib/functions/KcSeoOptions.php:839
|
876 |
msgid "Course"
|
877 |
msgstr ""
|
878 |
|
879 |
+
#: lib/functions/KcSeoOptions.php:843
|
880 |
msgid "Job Posting"
|
881 |
msgstr ""
|
882 |
|
883 |
+
#: lib/functions/KcSeoOptions.php:847
|
884 |
msgid "Movie"
|
885 |
msgstr ""
|
886 |
|
887 |
+
#: lib/functions/KcSeoOptions.php:859
|
888 |
msgid "TVEpisode"
|
889 |
msgstr ""
|
890 |
|
891 |
+
#: lib/functions/KcSeoOptions.php:1313 lib/functions/KcSeoOptions.php:1331
|
892 |
+
msgid "Facebook"
|
893 |
+
msgstr ""
|
894 |
+
|
895 |
+
#: lib/functions/KcSeoOptions.php:1314 lib/functions/KcSeoOptions.php:1332
|
896 |
+
msgid "Twitter"
|
897 |
+
msgstr ""
|
898 |
+
|
899 |
+
#: lib/functions/KcSeoOptions.php:1315 lib/functions/KcSeoOptions.php:1333
|
900 |
+
msgid "Google+"
|
901 |
+
msgstr ""
|
902 |
+
|
903 |
+
#: lib/functions/KcSeoOptions.php:1316 lib/functions/KcSeoOptions.php:1334
|
904 |
+
msgid "Instagram"
|
905 |
+
msgstr ""
|
906 |
+
|
907 |
+
#: lib/functions/KcSeoOptions.php:1317 lib/functions/KcSeoOptions.php:1335
|
908 |
+
msgid "Youtube"
|
909 |
+
msgstr ""
|
910 |
+
|
911 |
+
#: lib/functions/KcSeoOptions.php:1318 lib/functions/KcSeoOptions.php:1336
|
912 |
+
msgid "LinkedIn"
|
913 |
+
msgstr ""
|
914 |
+
|
915 |
+
#: lib/functions/KcSeoOptions.php:1319 lib/functions/KcSeoOptions.php:1337
|
916 |
+
msgid "Myspace"
|
917 |
+
msgstr ""
|
918 |
+
|
919 |
+
#: lib/functions/KcSeoOptions.php:1320 lib/functions/KcSeoOptions.php:1338
|
920 |
+
msgid "Pinterest"
|
921 |
+
msgstr ""
|
922 |
+
|
923 |
+
#: lib/functions/KcSeoOptions.php:1321 lib/functions/KcSeoOptions.php:1339
|
924 |
+
msgid "SoundCloud"
|
925 |
+
msgstr ""
|
926 |
+
|
927 |
+
#: lib/functions/KcSeoOptions.php:1322 lib/functions/KcSeoOptions.php:1340
|
928 |
+
msgid "Tumblr"
|
929 |
+
msgstr ""
|
930 |
+
|
931 |
+
#: lib/functions/KcSeoOptions.php:1323 lib/functions/KcSeoOptions.php:1341
|
932 |
+
msgid "Wikidata"
|
933 |
+
msgstr ""
|
934 |
+
|
935 |
+
#: lib/models/KcSeoSchemaModel.php:590
|
936 |
+
msgid "Required"
|
937 |
+
msgstr ""
|
938 |
+
|
939 |
+
#: lib/models/KcSeoSchemaModel.php:591
|
940 |
+
msgid "Recommended"
|
941 |
msgstr ""
|
942 |
|
943 |
+
#: lib/views/schema-options.php:13
|
944 |
+
msgid ""
|
945 |
+
"General settings for WP SEO Structured Data Schema by <a href=\"https://"
|
946 |
+
"wpsemplugins.com/\">WPSEMPlugins.com</a>"
|
947 |
+
msgstr ""
|
948 |
+
|
949 |
+
#: lib/views/schema-options.php:35
|
950 |
msgid "Site Type"
|
951 |
msgstr ""
|
952 |
|
953 |
+
#: lib/views/schema-options.php:38
|
954 |
msgid "Select one type"
|
955 |
msgstr ""
|
956 |
|
957 |
+
#: lib/views/schema-options.php:78
|
958 |
msgid "Organization or Business name"
|
959 |
msgstr ""
|
960 |
|
961 |
+
#: lib/views/schema-options.php:85
|
962 |
msgid "Site Image"
|
963 |
msgstr ""
|
964 |
|
965 |
+
#: lib/views/schema-options.php:122
|
966 |
msgid "Site Telephone"
|
967 |
msgstr ""
|
968 |
|
969 |
+
#: lib/views/schema-options.php:127
|
970 |
msgid "The telephone number."
|
971 |
msgstr ""
|
972 |
|
973 |
+
#: lib/views/schema-options.php:131
|
974 |
msgid "Additional Type"
|
975 |
msgstr ""
|
976 |
|
977 |
+
#: lib/views/schema-options.php:138
|
978 |
msgid "Add \"Additional Type\""
|
979 |
msgstr ""
|
980 |
|
981 |
+
#: lib/views/schema-options.php:142
|
982 |
msgid ""
|
983 |
+
"Product Ontology is an extension to schema using WikiPedia definitions that "
|
984 |
+
"enables you to further define a type by adding an \"AdditionalType” "
|
985 |
+
"attribute.Example for a Tailor (which is not available\n"
|
986 |
+
" as a schema “Type”): Pick "
|
987 |
+
"LocalBusiness as a generic Type, then add additional type as follows:"
|
988 |
msgstr ""
|
989 |
|
990 |
+
#: lib/views/schema-options.php:156
|
991 |
msgid "Restaurant Information"
|
992 |
msgstr ""
|
993 |
|
994 |
+
#: lib/views/schema-options.php:167
|
995 |
msgid "Others local business info"
|
996 |
msgstr ""
|
997 |
|
998 |
+
#: lib/views/schema-options.php:177
|
999 |
msgid "Operation Hours"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
+
#: lib/views/schema-options.php:204
|
1003 |
msgid "GeoCoordinates"
|
1004 |
msgstr ""
|
1005 |
|
1006 |
+
#: lib/views/schema-options.php:207
|
1007 |
msgid "Latitude"
|
1008 |
msgstr ""
|
1009 |
|
1010 |
+
#: lib/views/schema-options.php:214
|
1011 |
msgid "Longitude"
|
1012 |
msgstr ""
|
1013 |
|
1014 |
+
#: lib/views/schema-options.php:221
|
1015 |
msgid "Person"
|
1016 |
msgstr ""
|
1017 |
|
1018 |
+
#: lib/views/schema-options.php:231
|
1019 |
msgid "Work For"
|
1020 |
msgstr ""
|
1021 |
|
1022 |
+
#: lib/views/schema-options.php:239
|
1023 |
msgid "Job Title"
|
1024 |
msgstr ""
|
1025 |
|
1026 |
+
#: lib/views/schema-options.php:251
|
1027 |
msgid "Add your personal photo here"
|
1028 |
msgstr ""
|
1029 |
|
1030 |
+
#: lib/views/schema-options.php:262
|
1031 |
msgid "Birth date"
|
1032 |
msgstr ""
|
1033 |
|
1034 |
+
#: lib/views/schema-options.php:273
|
1035 |
msgid "Address Country"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
+
#: lib/views/schema-options.php:288
|
1039 |
msgid "Address Locality"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
+
#: lib/views/schema-options.php:295
|
1043 |
msgid "Address Region"
|
1044 |
msgstr ""
|
1045 |
|
1046 |
+
#: lib/views/schema-options.php:302
|
1047 |
msgid "Postal Code"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
+
#: lib/views/schema-options.php:308
|
1051 |
msgid "Street Address"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
+
#: lib/views/schema-options.php:317
|
1055 |
msgid "Add New Address"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
+
#: lib/views/schema-options.php:324
|
1059 |
msgid "Organization Logo"
|
1060 |
msgstr ""
|
1061 |
|
1062 |
+
#: lib/views/schema-options.php:327 lib/views/schema-options.php:390
|
1063 |
msgid "Social Profile"
|
1064 |
msgstr ""
|
1065 |
|
1066 |
+
#: lib/views/schema-options.php:330
|
1067 |
msgid "Corporate Contacts"
|
1068 |
msgstr ""
|
1069 |
|
1070 |
+
#: lib/views/schema-options.php:336
|
1071 |
msgid "Select Organization Logo"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
+
#: lib/views/schema-options.php:380
|
1075 |
msgid "Company Name"
|
1076 |
msgstr ""
|
1077 |
|
1078 |
+
#: lib/views/schema-options.php:387
|
1079 |
msgid "Social Profiles"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: lib/views/schema-options.php:416
|
1083 |
msgid "Add Social Profile"
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: lib/views/schema-options.php:424
|
1087 |
msgid "Contacts"
|
1088 |
msgstr ""
|
1089 |
|
1090 |
+
#: lib/views/schema-options.php:443
|
1091 |
msgid "Contact Phone"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
+
#: lib/views/schema-options.php:447
|
1095 |
msgid "Please follow the format below"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: lib/views/schema-options.php:458
|
1099 |
msgid "Contact Email"
|
1100 |
msgstr ""
|
1101 |
|
1102 |
+
#: lib/views/schema-options.php:465
|
1103 |
msgid "Contact Option"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
+
#: lib/views/schema-options.php:469
|
1107 |
msgid "Select an option"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
+
#: lib/views/schema-options.php:472
|
1111 |
msgid "TollFree"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
+
#: lib/views/schema-options.php:476
|
1115 |
msgid "HearingImpairedSupported"
|
1116 |
msgstr ""
|
1117 |
|
1118 |
+
#: lib/views/schema-options.php:482
|
1119 |
msgid "Area Served"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: lib/views/schema-options.php:500
|
1123 |
msgid "Available language"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: lib/views/schema-options.php:518
|
1127 |
msgid "Site Schema"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
+
#: lib/views/schema-options.php:521
|
1131 |
msgid "Disable Site Schema"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
+
#: lib/views/schema-options.php:529
|
1135 |
msgid "Enable Site link Search Box"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
+
#: lib/views/schema-options.php:534
|
1139 |
msgid "Note: Preferred Name markup may no longer be supported by Google"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
+
#: lib/views/schema-options.php:538
|
1143 |
msgid "Site Name:"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: lib/views/schema-options.php:545
|
1147 |
msgid "Site Alternative Name:"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: lib/views/schema-options.php:552
|
1151 |
msgid "Site Url:"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: lib/views/schema-options.php:560 lib/views/settings.php:105
|
1155 |
msgid "Save Changes"
|
1156 |
msgstr ""
|
1157 |
|
1158 |
+
#: lib/views/settings.php:6
|
1159 |
msgid "Schema Settings"
|
1160 |
msgstr ""
|
1161 |
|
1162 |
+
#: lib/views/settings.php:13
|
1163 |
msgid "Business / Org Schema"
|
1164 |
msgstr ""
|
1165 |
|
1166 |
+
#: lib/views/settings.php:17
|
1167 |
msgid ""
|
1168 |
"Home page\n"
|
1169 |
" only"
|
1170 |
msgstr ""
|
1171 |
|
1172 |
+
#: lib/views/settings.php:21
|
1173 |
msgid ""
|
1174 |
"Sitewide (Apply General Settings schema\n"
|
1175 |
" sitewide)"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: lib/views/settings.php:26
|
1179 |
msgid "Turn off (Turn off global schema)"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
+
#: lib/views/settings.php:31
|
1183 |
+
msgid "Post Type"
|
1184 |
+
msgstr ""
|
1185 |
+
|
1186 |
+
#: lib/views/settings.php:45
|
1187 |
+
msgid "Site Navigation Element Schema"
|
1188 |
+
msgstr ""
|
1189 |
+
|
1190 |
+
#: lib/views/settings.php:49 lib/views/settings.php:74
|
1191 |
+
msgid "Publisher Name"
|
1192 |
+
msgstr ""
|
1193 |
+
|
1194 |
+
#: lib/views/settings.php:54
|
1195 |
+
msgid "Select one menu"
|
1196 |
+
msgstr ""
|
1197 |
+
|
1198 |
+
#: lib/views/settings.php:65
|
1199 |
+
msgid ""
|
1200 |
+
"Please deselect the navigation menu if you want to deactivate site "
|
1201 |
+
"navigation\n"
|
1202 |
+
" schema."
|
1203 |
+
msgstr ""
|
1204 |
+
|
1205 |
+
#: lib/views/settings.php:70
|
1206 |
+
msgid "Publisher Information"
|
1207 |
+
msgstr ""
|
1208 |
+
|
1209 |
+
#: lib/views/settings.php:90
|
1210 |
+
msgid "System Settings"
|
1211 |
+
msgstr ""
|
1212 |
+
|
1213 |
+
#: lib/views/settings.php:93
|
1214 |
msgid "Delete all data"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#: lib/views/settings.php:98
|
1218 |
msgid "Enable"
|
1219 |
msgstr ""
|
1220 |
|
1221 |
+
#: lib/views/settings.php:99
|
1222 |
msgid ""
|
1223 |
+
"This will delete all schema created and applied by this plugin when plugin "
|
1224 |
+
"is\n"
|
1225 |
" deleted."
|
1226 |
msgstr ""
|
1227 |
+
|
1228 |
+
#. Plugin URI of the plugin/theme
|
1229 |
+
#. Author URI of the plugin/theme
|
1230 |
+
msgid "https://wpsemplugins.com/"
|
1231 |
+
msgstr ""
|
1232 |
+
|
1233 |
+
#. Description of the plugin/theme
|
1234 |
+
msgid ""
|
1235 |
+
"Comprehensive JSON-LD based Structured Data solution for WordPress for "
|
1236 |
+
"adding schema for organizations, businesses, blog posts, ratings & more."
|
1237 |
+
msgstr ""
|
1238 |
+
|
1239 |
+
#. Author of the plugin/theme
|
1240 |
+
msgid "WPSEMPlugins"
|
1241 |
+
msgstr ""
|
lib/classes/KcSeoHelper.php
CHANGED
@@ -1,217 +1,245 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
if (!class_exists('KcSeoSettings')):
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
SELECT posts.ID FROM {$wpdb->prefix}posts as posts
|
133 |
WHERE posts.post_type = 'post'
|
134 |
AND EXISTS (
|
135 |
SELECT * FROM `{$wpdb->prefix}postmeta` as postmeta
|
136 |
WHERE postmeta.`meta_key` LIKE '_schema_%'
|
137 |
AND postmeta.`post_id`=posts.ID
|
138 |
-
)");
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
SELECT posts.ID FROM {$wpdb->prefix}posts as posts
|
146 |
WHERE posts.post_type = 'page'
|
147 |
AND EXISTS (
|
148 |
SELECT * FROM `{$wpdb->prefix}postmeta` as postmeta
|
149 |
WHERE postmeta.`meta_key` LIKE '_schema_%'
|
150 |
AND postmeta.`post_id`=posts.ID
|
151 |
-
)");
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
<div class='kc-get-pro'>
|
189 |
-
<h3><?php _e("Pro Version Features", "wp-seo-structured-data-schema") ?></h3>
|
190 |
<ol>
|
191 |
-
<li><?php _e("Includes Auto-fill function <---Popular", "wp-seo-structured-data-schema") ?></li>
|
192 |
-
<li><?php _e("Supports Custom Post Types beyond default page and posts", "wp-seo-structured-data-schema") ?></li>
|
193 |
-
<li><?php _e("Supports WordPress Multisite", "wp-seo-structured-data-schema") ?></li>
|
194 |
-
<li><?php _e("Supports more schema types:", "wp-seo-structured-data-schema") ?>
|
195 |
<ol>
|
196 |
-
<li><?php _e("Books", "wp-seo-structured-data-schema") ?></li>
|
197 |
-
<li><?php _e("Courses", "wp-seo-structured-data-schema") ?></li>
|
198 |
-
<li><?php _e("Job Postings", "wp-seo-structured-data-schema") ?></li>
|
199 |
-
<li><?php _e("Movies", "wp-seo-structured-data-schema") ?></li>
|
200 |
-
<li><?php _e("Music", "wp-seo-structured-data-schema") ?></li>
|
201 |
-
<li><?php _e("Recipe", "wp-seo-structured-data-schema") ?></li>
|
202 |
-
<li><?php _e("TV Episode", "wp-seo-structured-data-schema") ?></li>
|
203 |
-
<li><?php _e("QAPage", "wp-seo-structured-data-schema") ?></li>
|
204 |
-
<li><?php _e("Item List", "wp-seo-structured-data-schema") ?></li>
|
205 |
</ol>
|
206 |
</li>
|
207 |
</ol>
|
208 |
<div class="kc-pro-action"><a class='button button-primary'
|
209 |
href='https://wpsemplugins.com/downloads/wordpress-schema-plugin/'
|
210 |
-
target='_blank'><?php _e("Get the Pro Version", "wp-seo-structured-data-schema") ?></a>
|
211 |
</div>
|
212 |
</div>
|
213 |
-
|
214 |
-
|
215 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
|
217 |
endif;
|
1 |
<?php
|
2 |
|
3 |
+
if ( ! class_exists( 'KcSeoSettings' ) ):
|
4 |
+
|
5 |
+
class KcSeoHelper {
|
6 |
+
function verifyNonce() {
|
7 |
+
$nonce = ! empty( $_REQUEST['_kcseo_nonce'] ) ? $_REQUEST['_kcseo_nonce'] : null;
|
8 |
+
if ( ! wp_verify_nonce( $nonce, $this->nonceText() ) ) {
|
9 |
+
return false;
|
10 |
+
}
|
11 |
+
|
12 |
+
return true;
|
13 |
+
}
|
14 |
+
|
15 |
+
function nonceText() {
|
16 |
+
return "kcseo_nonce_secret_text";
|
17 |
+
}
|
18 |
+
|
19 |
+
|
20 |
+
function isValidBase64( $string = null ) {
|
21 |
+
$decoded = @base64_decode( $string, true );
|
22 |
+
// Check if there is no invalid character in string
|
23 |
+
if ( ! @preg_match( '/^[a-zA-Z0-9\/\r\n+]*={0,2}$/', $string ) ) {
|
24 |
+
return false;
|
25 |
+
}
|
26 |
+
|
27 |
+
// Decode the string in strict mode and send the response
|
28 |
+
if ( ! @base64_decode( $string, true ) ) {
|
29 |
+
return false;
|
30 |
+
}
|
31 |
+
|
32 |
+
// Encode and compare it to original one
|
33 |
+
if ( @base64_encode( $decoded ) != $string ) {
|
34 |
+
return false;
|
35 |
+
}
|
36 |
+
|
37 |
+
return true;
|
38 |
+
}
|
39 |
+
|
40 |
+
function get_post_type_list() {
|
41 |
+
$post_types = get_post_types(
|
42 |
+
array(
|
43 |
+
'public' => true
|
44 |
+
)
|
45 |
+
);
|
46 |
+
$exclude = array( 'attachment', 'revision', 'nav_menu_item' );
|
47 |
+
foreach ( $exclude as $ex ) {
|
48 |
+
unset( $post_types[ $ex ] );
|
49 |
+
}
|
50 |
+
|
51 |
+
return $post_types;
|
52 |
+
}
|
53 |
+
|
54 |
+
function kcSeoPostTypes() {
|
55 |
+
$post_types = get_post_types(
|
56 |
+
array(
|
57 |
+
'_builtin' => true
|
58 |
+
)
|
59 |
+
);
|
60 |
+
$exclude = array( 'attachment', 'revision', 'nav_menu_item' );
|
61 |
+
foreach ( $exclude as $ex ) {
|
62 |
+
unset( $post_types[ $ex ] );
|
63 |
+
}
|
64 |
+
|
65 |
+
return $post_types;
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Sanitize field value
|
70 |
+
*
|
71 |
+
* @param array $field
|
72 |
+
* @param null $value
|
73 |
+
*
|
74 |
+
* @return array|null
|
75 |
+
* @internal param $value
|
76 |
+
*/
|
77 |
+
function sanitize( $field = array(), $value = null ) {
|
78 |
+
$newValue = null;
|
79 |
+
if ( is_array( $field ) && $value ) {
|
80 |
+
$type = ( ! empty( $field['type'] ) ? $field['type'] : 'text' );
|
81 |
+
if ( $type == 'text' || $type == 'number' || $type == 'select' || $type == 'checkbox' || $type == 'radio' ) {
|
82 |
+
$newValue = sanitize_text_field( $value );
|
83 |
+
} else if ( $type == 'url' ) {
|
84 |
+
$newValue = esc_url( $value );
|
85 |
+
} else if ( $type == 'textarea' ) {
|
86 |
+
$newValue = wp_kses( $value, array() );
|
87 |
+
} else {
|
88 |
+
$newValue = sanitize_text_field( $value );
|
89 |
+
}
|
90 |
+
}
|
91 |
+
|
92 |
+
return $newValue;
|
93 |
+
}
|
94 |
+
|
95 |
+
|
96 |
+
function sanitizeOutPut( $value, $type = 'text' ) {
|
97 |
+
$newValue = null;
|
98 |
+
if ( $value ) {
|
99 |
+
if ( $type == 'text' ) {
|
100 |
+
$newValue = esc_html( stripslashes( $value ) );
|
101 |
+
} elseif ( $type == 'url' ) {
|
102 |
+
$newValue = esc_url( stripslashes( $value ) );
|
103 |
+
} elseif ( $type == 'textarea' ) {
|
104 |
+
$newValue = esc_textarea( stripslashes( $value ) );
|
105 |
+
} else {
|
106 |
+
$newValue = esc_html( stripslashes( $value ) );
|
107 |
+
}
|
108 |
+
}
|
109 |
+
|
110 |
+
return $newValue;
|
111 |
+
}
|
112 |
+
|
113 |
+
|
114 |
+
function imageInfo( $attachment_id ) {
|
115 |
+
$data = array();
|
116 |
+
$imgData = wp_get_attachment_metadata( $attachment_id );
|
117 |
+
$data['url'] = wp_get_attachment_url( $attachment_id, "full" );
|
118 |
+
$data['width'] = ! empty( $imgData['width'] ) ? absint( $imgData['width'] ) : 0;
|
119 |
+
$data['height'] = ! empty( $imgData['height'] ) ? absint( $imgData['height'] ) : 0;
|
120 |
+
|
121 |
+
return $data;
|
122 |
+
}
|
123 |
+
|
124 |
+
function fix1_2DataMigration() {
|
125 |
+
global $KcSeoWPSchema;
|
126 |
+
$fix_1_2 = get_option( $KcSeoWPSchema->options['1_2_fix'] );
|
127 |
+
$installed_version = get_option( $KcSeoWPSchema->options['installed_version'] );
|
128 |
+
if ( empty( $fix_1_2 ) && empty( $installed_version ) ) {
|
129 |
+
global $wpdb;
|
130 |
+
$ids = array();
|
131 |
+
$posts = $wpdb->get_results( "
|
132 |
SELECT posts.ID FROM {$wpdb->prefix}posts as posts
|
133 |
WHERE posts.post_type = 'post'
|
134 |
AND EXISTS (
|
135 |
SELECT * FROM `{$wpdb->prefix}postmeta` as postmeta
|
136 |
WHERE postmeta.`meta_key` LIKE '_schema_%'
|
137 |
AND postmeta.`post_id`=posts.ID
|
138 |
+
)" );
|
139 |
+
if ( $posts ) {
|
140 |
+
foreach ( $posts as $id ) {
|
141 |
+
$ids[] = $id->ID;
|
142 |
+
}
|
143 |
+
}
|
144 |
+
$pages = $wpdb->get_results( "
|
145 |
SELECT posts.ID FROM {$wpdb->prefix}posts as posts
|
146 |
WHERE posts.post_type = 'page'
|
147 |
AND EXISTS (
|
148 |
SELECT * FROM `{$wpdb->prefix}postmeta` as postmeta
|
149 |
WHERE postmeta.`meta_key` LIKE '_schema_%'
|
150 |
AND postmeta.`post_id`=posts.ID
|
151 |
+
)" );
|
152 |
+
if ( $pages ) {
|
153 |
+
foreach ( $pages as $id ) {
|
154 |
+
$ids[] = $id->ID;
|
155 |
+
}
|
156 |
+
}
|
157 |
+
|
158 |
+
|
159 |
+
if ( ! empty( $ids ) ) {
|
160 |
+
$schemaFields = KcSeoOptions::getSchemaTypes();
|
161 |
+
foreach ( $ids as $id ) {
|
162 |
+
foreach ( $schemaFields as $schemaID => $schema ) {
|
163 |
+
$schemaMetaId = $KcSeoWPSchema->KcSeoPrefix . $schemaID;
|
164 |
+
$getRawMeta = get_post_meta( $id, $schemaMetaId, true );
|
165 |
+
$metaData = array();
|
166 |
+
if ( ! empty( $getRawMeta ) ) {
|
167 |
+
if ( $KcSeoWPSchema->isValidBase64( $getRawMeta ) ) {
|
168 |
+
$metaData = @unserialize( base64_decode( $getRawMeta ) );
|
169 |
+
} else {
|
170 |
+
$metaData = @unserialize( $getRawMeta );
|
171 |
+
}
|
172 |
+
}
|
173 |
+
$metaData = ( ! empty( $metaData ) ? $metaData : array() );
|
174 |
+
if ( ! empty( $metaData ) && is_array( $metaData ) ) {
|
175 |
+
$metaData['active'] = true;
|
176 |
+
update_post_meta( $id, $schemaMetaId, $metaData );
|
177 |
+
}
|
178 |
+
}
|
179 |
+
}
|
180 |
+
}
|
181 |
+
|
182 |
+
update_option( $KcSeoWPSchema->options['1_2_fix'], true );
|
183 |
+
}
|
184 |
+
}
|
185 |
+
|
186 |
+
function advertisingBlock() {
|
187 |
+
?>
|
188 |
<div class='kc-get-pro'>
|
189 |
+
<h3><?php _e( "Pro Version Features", "wp-seo-structured-data-schema" ) ?></h3>
|
190 |
<ol>
|
191 |
+
<li><?php _e( "Includes Auto-fill function <---Popular", "wp-seo-structured-data-schema" ) ?></li>
|
192 |
+
<li><?php _e( "Supports Custom Post Types beyond default page and posts", "wp-seo-structured-data-schema" ) ?></li>
|
193 |
+
<li><?php _e( "Supports WordPress Multisite", "wp-seo-structured-data-schema" ) ?></li>
|
194 |
+
<li><?php _e( "Supports more schema types:", "wp-seo-structured-data-schema" ) ?>
|
195 |
<ol>
|
196 |
+
<li><?php _e( "Books", "wp-seo-structured-data-schema" ) ?></li>
|
197 |
+
<li><?php _e( "Courses", "wp-seo-structured-data-schema" ) ?></li>
|
198 |
+
<li><?php _e( "Job Postings", "wp-seo-structured-data-schema" ) ?></li>
|
199 |
+
<li><?php _e( "Movies", "wp-seo-structured-data-schema" ) ?></li>
|
200 |
+
<li><?php _e( "Music", "wp-seo-structured-data-schema" ) ?></li>
|
201 |
+
<li><?php _e( "Recipe", "wp-seo-structured-data-schema" ) ?></li>
|
202 |
+
<li><?php _e( "TV Episode", "wp-seo-structured-data-schema" ) ?></li>
|
203 |
+
<li><?php _e( "QAPage", "wp-seo-structured-data-schema" ) ?></li>
|
204 |
+
<li><?php _e( "Item List", "wp-seo-structured-data-schema" ) ?></li>
|
205 |
</ol>
|
206 |
</li>
|
207 |
</ol>
|
208 |
<div class="kc-pro-action"><a class='button button-primary'
|
209 |
href='https://wpsemplugins.com/downloads/wordpress-schema-plugin/'
|
210 |
+
target='_blank'><?php _e( "Get the Pro Version", "wp-seo-structured-data-schema" ) ?></a>
|
211 |
</div>
|
212 |
</div>
|
213 |
+
<?php
|
214 |
+
}
|
215 |
+
|
216 |
+
function fix2_5_7_to_2_5_8() {
|
217 |
+
global $KcSeoWPSchema;
|
218 |
+
$installed_version = get_option( $KcSeoWPSchema->options['installed_version'] );
|
219 |
+
if ( version_compare( $installed_version, '2.5.7', '<=' ) ) {
|
220 |
+
$settings = get_option( $KcSeoWPSchema->options['settings'] );
|
221 |
+
if ( isset( $settings['contact']['contactType'] ) ) {
|
222 |
+
$settings['contact']['contactType'] = strtolower( $settings['contact']['contactType'] );
|
223 |
+
update_option( $KcSeoWPSchema->options['settings'], $settings );
|
224 |
+
}
|
225 |
+
if ( isset( $settings['area_served'] ) && ! empty( $settings['area_served'] ) ) {
|
226 |
+
|
227 |
+
$cList = KcSeoOptions::getCountryList();
|
228 |
+
$areas = array();
|
229 |
+
foreach ( $settings['area_served'] as $area ) {
|
230 |
+
$key = array_search( $area, $cList );
|
231 |
+
if ( $key ) {
|
232 |
+
$areas[] = $key;
|
233 |
+
}
|
234 |
+
}
|
235 |
+
if ( ! empty( $areas ) ) {
|
236 |
+
$settings['area_served'] = $areas;
|
237 |
+
update_option( $KcSeoWPSchema->options['settings'], $settings );
|
238 |
+
}
|
239 |
+
}
|
240 |
+
|
241 |
+
}
|
242 |
+
}
|
243 |
+
}
|
244 |
|
245 |
endif;
|
lib/classes/KcSeoInit.php
CHANGED
@@ -59,7 +59,6 @@ if ( ! class_exists( 'KcSeoInit' ) ):
|
|
59 |
wp_enqueue_media();
|
60 |
wp_enqueue_script( array(
|
61 |
'jquery',
|
62 |
-
'kcseo-datepicker',
|
63 |
'kcseo-select2-js',
|
64 |
'kcseo-tooltip-js',
|
65 |
'kcseo-admin-js',
|
@@ -67,16 +66,11 @@ if ( ! class_exists( 'KcSeoInit' ) ):
|
|
67 |
|
68 |
// styles
|
69 |
wp_enqueue_style( array(
|
70 |
-
'kcseo-datepicker',
|
71 |
'kcseo-select2-css',
|
72 |
'kcseo-tooltip-css',
|
73 |
'kcseo-admin-css',
|
74 |
) );
|
75 |
|
76 |
-
wp_localize_script('kcseo-admin-js', '_kcseo', array(
|
77 |
-
'time_format' => get_option('time_format'),
|
78 |
-
'date_format' => get_option('date_format')
|
79 |
-
));
|
80 |
}
|
81 |
}
|
82 |
|
@@ -88,32 +82,24 @@ if ( ! class_exists( 'KcSeoInit' ) ):
|
|
88 |
if ( is_admin() ) {
|
89 |
|
90 |
|
91 |
-
$scripts[]
|
92 |
'handle' => 'kcseo-select2-js',
|
93 |
'src' => $KcSeoWPSchema->assetsUrl . 'js/select2.min.js',
|
94 |
'deps' => array( 'jquery' ),
|
95 |
'footer' => true
|
96 |
);
|
97 |
-
$scripts[]
|
98 |
'handle' => 'kcseo-tooltip-js',
|
99 |
'src' => $KcSeoWPSchema->assetsUrl . 'js/jquery.qtip.js',
|
100 |
'deps' => array( 'jquery' ),
|
101 |
'footer' => true
|
102 |
);
|
103 |
-
|
104 |
-
$scripts[] = array(
|
105 |
-
'handle' => 'kcseo-datepicker',
|
106 |
-
'src' => $KcSeoWPSchema->assetsUrl . 'vendor/datepicker/jquery.datetimepicker.full.min.js',
|
107 |
-
'deps' => array( 'jquery' ),
|
108 |
-
'footer' => false
|
109 |
-
);
|
110 |
$scripts[] = array(
|
111 |
'handle' => 'kcseo-admin-js',
|
112 |
'src' => $KcSeoWPSchema->assetsUrl . 'js/admin.js',
|
113 |
'deps' => array( 'jquery' ),
|
114 |
'footer' => true
|
115 |
);
|
116 |
-
$styles['kcseo-datepicker'] = $KcSeoWPSchema->assetsUrl . 'vendor/datepicker/jquery.datetimepicker.min.css';
|
117 |
$styles['kcseo-select2-css'] = $KcSeoWPSchema->assetsUrl . 'css/select2.min.css';
|
118 |
$styles['kcseo-tooltip-css'] = $KcSeoWPSchema->assetsUrl . 'css/jquery.qtip.css';
|
119 |
$styles['kcseo-admin-css'] = $KcSeoWPSchema->assetsUrl . 'css/admin.css';
|
@@ -220,6 +206,7 @@ if ( ! class_exists( 'KcSeoInit' ) ):
|
|
220 |
function updateVariableAndFixIssue() {
|
221 |
global $KcSeoWPSchema;
|
222 |
$KcSeoWPSchema->fix1_2DataMigration();
|
|
|
223 |
update_option( $KcSeoWPSchema->options['installed_version'], $KcSeoWPSchema->options['version'] );
|
224 |
}
|
225 |
|
59 |
wp_enqueue_media();
|
60 |
wp_enqueue_script( array(
|
61 |
'jquery',
|
|
|
62 |
'kcseo-select2-js',
|
63 |
'kcseo-tooltip-js',
|
64 |
'kcseo-admin-js',
|
66 |
|
67 |
// styles
|
68 |
wp_enqueue_style( array(
|
|
|
69 |
'kcseo-select2-css',
|
70 |
'kcseo-tooltip-css',
|
71 |
'kcseo-admin-css',
|
72 |
) );
|
73 |
|
|
|
|
|
|
|
|
|
74 |
}
|
75 |
}
|
76 |
|
82 |
if ( is_admin() ) {
|
83 |
|
84 |
|
85 |
+
$scripts[] = array(
|
86 |
'handle' => 'kcseo-select2-js',
|
87 |
'src' => $KcSeoWPSchema->assetsUrl . 'js/select2.min.js',
|
88 |
'deps' => array( 'jquery' ),
|
89 |
'footer' => true
|
90 |
);
|
91 |
+
$scripts[] = array(
|
92 |
'handle' => 'kcseo-tooltip-js',
|
93 |
'src' => $KcSeoWPSchema->assetsUrl . 'js/jquery.qtip.js',
|
94 |
'deps' => array( 'jquery' ),
|
95 |
'footer' => true
|
96 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
$scripts[] = array(
|
98 |
'handle' => 'kcseo-admin-js',
|
99 |
'src' => $KcSeoWPSchema->assetsUrl . 'js/admin.js',
|
100 |
'deps' => array( 'jquery' ),
|
101 |
'footer' => true
|
102 |
);
|
|
|
103 |
$styles['kcseo-select2-css'] = $KcSeoWPSchema->assetsUrl . 'css/select2.min.css';
|
104 |
$styles['kcseo-tooltip-css'] = $KcSeoWPSchema->assetsUrl . 'css/jquery.qtip.css';
|
105 |
$styles['kcseo-admin-css'] = $KcSeoWPSchema->assetsUrl . 'css/admin.css';
|
206 |
function updateVariableAndFixIssue() {
|
207 |
global $KcSeoWPSchema;
|
208 |
$KcSeoWPSchema->fix1_2DataMigration();
|
209 |
+
$KcSeoWPSchema->fix2_5_7_to_2_5_8();
|
210 |
update_option( $KcSeoWPSchema->options['installed_version'], $KcSeoWPSchema->options['version'] );
|
211 |
}
|
212 |
|
lib/classes/KcSeoMetaData.php
CHANGED
@@ -23,21 +23,16 @@ if ( ! class_exists( 'KcSeoMetaData' ) ):
|
|
23 |
// scripts
|
24 |
wp_enqueue_script( array(
|
25 |
'jquery',
|
26 |
-
'kcseo-datepicker',
|
27 |
'kcseo-select2-js',
|
28 |
'kcseo-admin-js',
|
29 |
) );
|
30 |
|
31 |
// styles
|
32 |
wp_enqueue_style( array(
|
33 |
-
'kcseo-datepicker',
|
34 |
'kcseo-select2-css',
|
35 |
'kcseo-admin-css',
|
36 |
) );
|
37 |
-
|
38 |
-
'time_format' => get_option('time_format'),
|
39 |
-
'date_format' => get_option('date_format')
|
40 |
-
));
|
41 |
add_action( 'admin_head', array( $this, 'admin_head' ) );
|
42 |
}
|
43 |
|
@@ -75,7 +70,7 @@ if ( ! class_exists( 'KcSeoMetaData' ) ):
|
|
75 |
$schemaFields = KcSeoOptions::getSchemaTypes();
|
76 |
$i = 0;
|
77 |
foreach ( $schemaFields as $schemaID => $schema ) {
|
78 |
-
$tabId
|
79 |
$activeClass = ( ( ! $_kcseo_ative_tab && $i === 0 ) || $tabId === $_kcseo_ative_tab ) ? ' active' : null;
|
80 |
$i ++;
|
81 |
$htmlMenu .= '<li data-id="' . $tabId . '" class="' . $activeClass . '"><a href="#' . $tabId . '">' . $schema['title'] . '</a></li>';
|
23 |
// scripts
|
24 |
wp_enqueue_script( array(
|
25 |
'jquery',
|
|
|
26 |
'kcseo-select2-js',
|
27 |
'kcseo-admin-js',
|
28 |
) );
|
29 |
|
30 |
// styles
|
31 |
wp_enqueue_style( array(
|
|
|
32 |
'kcseo-select2-css',
|
33 |
'kcseo-admin-css',
|
34 |
) );
|
35 |
+
|
|
|
|
|
|
|
36 |
add_action( 'admin_head', array( $this, 'admin_head' ) );
|
37 |
}
|
38 |
|
70 |
$schemaFields = KcSeoOptions::getSchemaTypes();
|
71 |
$i = 0;
|
72 |
foreach ( $schemaFields as $schemaID => $schema ) {
|
73 |
+
$tabId = $KcSeoWPSchema->KcSeoPrefix . $schemaID;
|
74 |
$activeClass = ( ( ! $_kcseo_ative_tab && $i === 0 ) || $tabId === $_kcseo_ative_tab ) ? ' active' : null;
|
75 |
$i ++;
|
76 |
$htmlMenu .= '<li data-id="' . $tabId . '" class="' . $activeClass . '"><a href="#' . $tabId . '">' . $schema['title'] . '</a></li>';
|
lib/classes/KcSeoOutput.php
CHANGED
@@ -1,209 +1,216 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
if (!class_exists('KcSeoOutput')):
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
);
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
$
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
209 |
endif;
|
1 |
<?php
|
2 |
|
3 |
+
if ( ! class_exists( 'KcSeoOutput' ) ):
|
4 |
+
|
5 |
+
class KcSeoOutput {
|
6 |
+
function __construct() {
|
7 |
+
add_action( 'wp_footer', array( $this, 'footer' ), 99 );
|
8 |
+
add_action( 'amp_post_template_footer', array( $this, 'footer' ), 999 ); // AMP support
|
9 |
+
add_action( 'kcseo_footer', array( $this, 'debug_mark' ), 2 );
|
10 |
+
add_action( 'kcseo_footer', array( $this, 'load_schema' ), 3 );
|
11 |
+
}
|
12 |
+
|
13 |
+
private function head_product_name() {
|
14 |
+
return 'WP SEO Structured Data Plugin';
|
15 |
+
}
|
16 |
+
|
17 |
+
public function debug_mark( $echo = true ) {
|
18 |
+
$marker = sprintf(
|
19 |
+
'<!-- This site is optimized with Phil Singleton\'s ' . $this->head_product_name() . ' v%1$s - https://kcseopro.com/wordpress-seo-structured-data-schema-plugin/ -->',
|
20 |
+
KCSEO_WP_SCHEMA_VERSION
|
21 |
+
);
|
22 |
+
|
23 |
+
if ( $echo === false ) {
|
24 |
+
return $marker;
|
25 |
+
} else {
|
26 |
+
echo "\n${marker}\n";
|
27 |
+
}
|
28 |
+
}
|
29 |
+
|
30 |
+
function footer() {
|
31 |
+
|
32 |
+
global $wp_query;
|
33 |
+
|
34 |
+
$old_wp_query = null;
|
35 |
+
|
36 |
+
if ( ! $wp_query->is_main_query() ) {
|
37 |
+
$old_wp_query = $wp_query;
|
38 |
+
wp_reset_query();
|
39 |
+
}
|
40 |
+
wp_reset_postdata(); // TODO This is for wrong theme loop
|
41 |
+
do_action( 'kcseo_footer' );
|
42 |
+
|
43 |
+
echo "\n<!-- / ", $this->head_product_name(), ". -->\n\n";
|
44 |
+
|
45 |
+
if ( ! empty( $old_wp_query ) ) {
|
46 |
+
$GLOBALS['wp_query'] = $old_wp_query;
|
47 |
+
unset( $old_wp_query );
|
48 |
+
}
|
49 |
+
|
50 |
+
return;
|
51 |
+
}
|
52 |
+
|
53 |
+
function load_schema() {
|
54 |
+
global $KcSeoWPSchema;
|
55 |
+
$schemaModel = new KcSeoSchemaModel;
|
56 |
+
$html = null;
|
57 |
+
$settings = get_option( $KcSeoWPSchema->options['settings'] );
|
58 |
+
if ( empty( $settings['disable_site_schema'] ) ) {
|
59 |
+
if ( is_home() || is_front_page() ) {
|
60 |
+
$metaData = array();
|
61 |
+
|
62 |
+
$metaData["@context"] = "http://schema.org/";
|
63 |
+
$metaData["@type"] = "WebSite";
|
64 |
+
$author_url = ( ! empty( $settings['siteurl'] ) ? $settings['siteurl'] : get_home_url() );
|
65 |
+
|
66 |
+
if ( ! empty( $settings['homeonly'] ) && $settings['homeonly'] ) {
|
67 |
+
$metaData["url"] = $author_url;
|
68 |
+
$metaData["potentialAction"] = array(
|
69 |
+
"@type" => "SearchAction",
|
70 |
+
"target" => trailingslashit( get_home_url() ) . "?s={query}",
|
71 |
+
"query-input" => "required name=query"
|
72 |
+
);
|
73 |
+
$html .= $schemaModel->get_jsonEncode( $metaData );
|
74 |
+
} else {
|
75 |
+
$metaData["url"] = $KcSeoWPSchema->sanitizeOutPut( $author_url, 'url' );
|
76 |
+
$metaData["name"] = ! empty( $settings['sitename'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['sitename'] ) : null;
|
77 |
+
$metaData["alternateName"] = ! empty( $settings['siteaname'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['siteaname'] ) : null;
|
78 |
+
$html .= $schemaModel->get_jsonEncode( $metaData );
|
79 |
+
}
|
80 |
+
}
|
81 |
+
}
|
82 |
+
$webMeta = array();
|
83 |
+
$webMeta["@context"] = "http://schema.org";
|
84 |
+
$siteType = ! empty( $settings['site_type'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['site_type'] ) : null;
|
85 |
+
$webMeta["@type"] = $siteType;
|
86 |
+
if ( $siteType != "Organization" ) {
|
87 |
+
if ( ! empty( $settings['site_image'] ) && $imgID = absint( $settings['site_image'] ) ) {
|
88 |
+
$image_url = wp_get_attachment_url( $imgID, 'full' );
|
89 |
+
$webMeta["image"] = $KcSeoWPSchema->sanitizeOutPut( $image_url, 'url' );
|
90 |
+
} else {
|
91 |
+
$webMeta["image"] = null;
|
92 |
+
}
|
93 |
+
$webMeta["priceRange"] = ! empty( $settings['site_price_range'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['site_price_range'] ) : null;
|
94 |
+
$webMeta["telephone"] = ! empty( $settings['site_telephone'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['site_telephone'] ) : null;
|
95 |
+
}
|
96 |
+
|
97 |
+
if ( ! empty( $settings['additionalType'] ) ) {
|
98 |
+
$aType = explode( "\r\n", $settings['additionalType'] );
|
99 |
+
if ( ! empty( $aType ) && is_array( $aType ) ) {
|
100 |
+
if ( count( $aType ) == 1 ) {
|
101 |
+
$webMeta["additionalType"] = $aType[0];
|
102 |
+
} else if ( count( $aType ) > 1 ) {
|
103 |
+
$webMeta["additionalType"] = $aType;
|
104 |
+
}
|
105 |
+
}
|
106 |
+
}
|
107 |
+
|
108 |
+
if ( $siteType == 'Person' ) {
|
109 |
+
$webMeta["name"] = ! empty( $settings['person']['name'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['person']['name'] ) : null;
|
110 |
+
$webMeta["worksFor"] = ! empty( $settings['person']['worksFor'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['person']['worksFor'] ) : null;
|
111 |
+
$webMeta["jobTitle"] = ! empty( $settings['person']['jobTitle'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['person']['jobTitle'] ) : null;
|
112 |
+
$webMeta["image"] = ! empty( $settings['person']['image'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['person']['image'], 'url' ) : null;
|
113 |
+
$webMeta["description"] = ! empty( $settings['person']['description'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['person']['description'], 'textarea' ) : null;
|
114 |
+
$webMeta["birthDate"] = ! empty( $settings['person']['birthDate'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['person']['birthDate'] ) : null;
|
115 |
+
} else {
|
116 |
+
$webMeta["name"] = ! empty( $settings['type_name'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['type_name'] ) : null;
|
117 |
+
if ( ! empty( $settings['organization_logo'] ) && $imgID = absint( $settings['organization_logo'] ) ) {
|
118 |
+
$image_url = wp_get_attachment_url( $imgID, 'full' );
|
119 |
+
$webMeta["logo"] = $KcSeoWPSchema->sanitizeOutPut( $image_url, 'url' );
|
120 |
+
} else {
|
121 |
+
$webMeta["logo"] = null;
|
122 |
+
}
|
123 |
+
}
|
124 |
+
if ( $siteType != "Organization" && $siteType != "Person" ) {
|
125 |
+
$webMeta["description"] = ! empty( $settings['business_info']['description'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['business_info']['description'], 'textarea' ) : null;
|
126 |
+
if ( ! empty( $settings['business_info']['openingHours'] ) ) {
|
127 |
+
$aOhour = explode( "\r\n", $settings['business_info']['openingHours'] );
|
128 |
+
if ( ! empty( $aOhour ) && is_array( $aOhour ) ) {
|
129 |
+
if ( count( $aOhour ) == 1 ) {
|
130 |
+
$webMeta["openingHours"] = $aOhour[0];
|
131 |
+
} else if ( count( $aOhour ) > 1 ) {
|
132 |
+
$webMeta["openingHours"] = $aOhour;
|
133 |
+
}
|
134 |
+
}
|
135 |
+
}
|
136 |
+
$webMeta["geo"] = array(
|
137 |
+
"@type" => "GeoCoordinates",
|
138 |
+
"latitude" => ! empty( $settings['business_info']['latitude'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['business_info']['latitude'] ) : null,
|
139 |
+
"longitude" => ! empty( $settings['business_info']['longitude'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['business_info']['longitude'] ) : null,
|
140 |
+
);
|
141 |
+
}
|
142 |
+
|
143 |
+
if ( in_array( $siteType, array(
|
144 |
+
'FoodEstablishment',
|
145 |
+
'Bakery',
|
146 |
+
'BarOrPub',
|
147 |
+
'Brewery',
|
148 |
+
'CafeOrCoffeeShop',
|
149 |
+
'FastFoodRestaurant',
|
150 |
+
'IceCreamShop',
|
151 |
+
'Restaurant',
|
152 |
+
'Winery'
|
153 |
+
) ) ) {
|
154 |
+
$webMeta["servesCuisine"] = ! empty( $settings['restaurant']['servesCuisine'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['restaurant']['servesCuisine'], 'textarea' ) : null;
|
155 |
+
}
|
156 |
+
|
157 |
+
$webMeta["url"] = ! empty( $settings['web_url'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['web_url'], 'url' ) : $KcSeoWPSchema->sanitizeOutPut( get_home_url(), 'url' );
|
158 |
+
if ( ! empty( $settings['social'] ) && is_array( $settings['social'] ) ) {
|
159 |
+
$link = array();
|
160 |
+
foreach ( $settings['social'] as $socialD ) {
|
161 |
+
if ( $socialD['link'] ) {
|
162 |
+
$link[] = $socialD['link'];
|
163 |
+
}
|
164 |
+
}
|
165 |
+
if ( ! empty( $link ) ) {
|
166 |
+
$webMeta["sameAs"] = $link;
|
167 |
+
}
|
168 |
+
}
|
169 |
+
|
170 |
+
$webMeta["contactPoint"] = array(
|
171 |
+
"@type" => "ContactPoint",
|
172 |
+
"telephone" => ! empty( $settings['contact']['telephone'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['contact']['telephone'] ) : ( ! empty( $settings['site_telephone'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['site_telephone'] ) : null ),
|
173 |
+
"contactType" => ! empty( $settings['contact']['contactType'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['contact']['contactType'] ) : '',
|
174 |
+
"email" => ! empty( $settings['contact']['email'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['contact']['email'] ) : '',
|
175 |
+
"contactOption" => ! empty( $settings['contact']['contactOption'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['contact']['contactOption'] ) : '',
|
176 |
+
"areaServed" => ! empty( $settings['area_served'] ) ? $settings['area_served'] : '',
|
177 |
+
"availableLanguage" => ! empty( $settings['availableLanguage'] ) ? $settings['availableLanguage'] : null
|
178 |
+
);
|
179 |
+
$webMeta["address"] = array(
|
180 |
+
"@type" => "PostalAddress",
|
181 |
+
"addressCountry" => ! empty( $settings['address']['country'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['address']['country'] ) : null,
|
182 |
+
"addressLocality" => ! empty( $settings['address']['locality'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['address']['locality'] ) : null,
|
183 |
+
"addressRegion" => ! empty( $settings['address']['region'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['address']['region'] ) : null,
|
184 |
+
"postalCode" => ! empty( $settings['address']['postalcode'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['address']['postalcode'] ) : null,
|
185 |
+
"streetAddress" => ! empty( $settings['address']['street'] ) ? $KcSeoWPSchema->sanitizeOutPut( $settings['address']['street'] ) : null
|
186 |
+
);
|
187 |
+
|
188 |
+
$main_settings = get_option( $KcSeoWPSchema->options['main_settings'] );
|
189 |
+
$site_schema = ! empty( $main_settings['site_schema'] ) ? $main_settings['site_schema'] : 'home_page';
|
190 |
+
if ( $site_schema !== 'off' ) {
|
191 |
+
if ( $webMeta["@type"] ) {
|
192 |
+
if ( $site_schema == 'home_page' ) {
|
193 |
+
if ( is_home() || is_front_page() ) {
|
194 |
+
$html .= $schemaModel->get_jsonEncode( $webMeta );
|
195 |
+
}
|
196 |
+
} elseif ( $site_schema == 'all' ) {
|
197 |
+
$html .= $schemaModel->get_jsonEncode( $webMeta );
|
198 |
+
}
|
199 |
+
}
|
200 |
+
}
|
201 |
+
|
202 |
+
if ( is_single() || is_page() ) {
|
203 |
+
$post = get_queried_object();
|
204 |
+
foreach ( KcSeoOptions::getSchemaTypes() as $schemaID => $schema ) {
|
205 |
+
$schemaMetaId = $KcSeoWPSchema->KcSeoPrefix . $schemaID;
|
206 |
+
$metaData = get_post_meta( $post->ID, $schemaMetaId, true );
|
207 |
+
$metaData = ( is_array( $metaData ) ? $metaData : array() );
|
208 |
+
if ( ! empty( $metaData ) && ! empty( $metaData['active'] ) ) {
|
209 |
+
$html .= $schemaModel->schemaOutput( $schemaID, $metaData );
|
210 |
+
}
|
211 |
+
}
|
212 |
+
}
|
213 |
+
echo $html;
|
214 |
+
}
|
215 |
+
}
|
216 |
endif;
|
lib/functions/KcSeoOptions.php
CHANGED
@@ -41,14 +41,14 @@ class KcSeoOptions
|
|
41 |
'type' => 'text',
|
42 |
'class' => 'kcseo-date',
|
43 |
'required' => true,
|
44 |
-
'desc' => __('Like this: 2015-12-25', "wp-seo-structured-data-schema")
|
45 |
),
|
46 |
'dateModified' => array(
|
47 |
'title' => __('Modified date', "wp-seo-structured-data-schema"),
|
48 |
'type' => 'text',
|
49 |
'class' => 'kcseo-date',
|
50 |
'required' => true,
|
51 |
-
'desc' => __('Like this: 2015-12-25', "wp-seo-structured-data-schema")
|
52 |
),
|
53 |
'publisher' => array(
|
54 |
'title' => __('Publisher', "wp-seo-structured-data-schema"),
|
@@ -114,14 +114,14 @@ class KcSeoOptions
|
|
114 |
'title' => __('Published date', "wp-seo-structured-data-schema"),
|
115 |
'type' => 'text',
|
116 |
'class' => 'kcseo-date',
|
117 |
-
'desc' => __('Like this: 2015-12-25', "wp-seo-structured-data-schema"),
|
118 |
'required' => true
|
119 |
),
|
120 |
'dateModified' => array(
|
121 |
'title' => __('Modified date', "wp-seo-structured-data-schema"),
|
122 |
'type' => 'text',
|
123 |
'class' => 'kcseo-date',
|
124 |
-
'desc' => __('Like this: 2015-12-25', "wp-seo-structured-data-schema"),
|
125 |
'required' => true
|
126 |
),
|
127 |
'publisher' => array(
|
@@ -183,7 +183,7 @@ class KcSeoOptions
|
|
183 |
'title' => __('Published date', "wp-seo-structured-data-schema"),
|
184 |
'type' => 'text',
|
185 |
'class' => 'kcseo-date',
|
186 |
-
'desc' => __('Like this: 2015-12-25', "wp-seo-structured-data-schema"),
|
187 |
'required' => true
|
188 |
),
|
189 |
'dateModified' => array(
|
@@ -191,7 +191,7 @@ class KcSeoOptions
|
|
191 |
'type' => 'text',
|
192 |
'class' => 'kcseo-date',
|
193 |
'required' => true,
|
194 |
-
'desc' => __('Like this: 2015-12-25', "wp-seo-structured-data-schema")
|
195 |
),
|
196 |
'publisher' => array(
|
197 |
'title' => __('Publisher', "wp-seo-structured-data-schema"),
|
@@ -247,14 +247,14 @@ class KcSeoOptions
|
|
247 |
'type' => 'text',
|
248 |
'class' => 'kcseo-date',
|
249 |
'required' => true,
|
250 |
-
'desc' => __("Event start date", "wp-seo-structured-data-schema")
|
251 |
),
|
252 |
'endDate' => array(
|
253 |
'title' => __('End date', "wp-seo-structured-data-schema"),
|
254 |
'type' => 'text',
|
255 |
'recommended' => true,
|
256 |
'class' => 'kcseo-date',
|
257 |
-
'desc' => __("Event end date", "wp-seo-structured-data-schema")
|
258 |
),
|
259 |
'description' => array(
|
260 |
'title' => __('Description', "wp-seo-structured-data-schema"),
|
@@ -418,7 +418,7 @@ class KcSeoOptions
|
|
418 |
'type' => 'text',
|
419 |
'recommended' => true,
|
420 |
'class' => 'kcseo-date',
|
421 |
-
'desc' => __("The date (in ISO 8601 date format) after which the price will no longer be available.", "wp-seo-structured-data-schema")
|
422 |
),
|
423 |
'priceCurrency' => array(
|
424 |
'title' => __('Price currency', "wp-seo-structured-data-schema"),
|
@@ -518,7 +518,7 @@ class KcSeoOptions
|
|
518 |
'title' => __('Expires', "wp-seo-structured-data-schema"),
|
519 |
'type' => 'text',
|
520 |
'class' => 'kcseo-date',
|
521 |
-
'desc' => __("Like this: 2015-12-25", "wp-seo-structured-data-schema")
|
522 |
),
|
523 |
)
|
524 |
),
|
@@ -635,7 +635,7 @@ class KcSeoOptions
|
|
635 |
'title' => __('Date of Published', "wp-seo-structured-data-schema"),
|
636 |
'type' => 'text',
|
637 |
'class' => 'kcseo-date',
|
638 |
-
'desc' => __("Like this: 2015-12-25", "wp-seo-structured-data-schema")
|
639 |
),
|
640 |
'ratingValue' => array(
|
641 |
'title' => __('Rating value', "wp-seo-structured-data-schema"),
|
@@ -1323,38 +1323,126 @@ class KcSeoOptions
|
|
1323 |
|
1324 |
static function getContactTypes() {
|
1325 |
$contact_types = array(
|
1326 |
-
"
|
1327 |
-
"
|
1328 |
-
"
|
1329 |
-
"
|
1330 |
-
"
|
1331 |
-
"
|
1332 |
-
"
|
1333 |
-
"
|
1334 |
-
"
|
1335 |
-
"
|
1336 |
-
"
|
|
|
1337 |
);
|
1338 |
|
1339 |
return apply_filters('kcseo_contact_types', $contact_types);
|
1340 |
}
|
1341 |
|
1342 |
static function getLanguageList() {
|
1343 |
-
|
1344 |
-
|
1345 |
-
|
1346 |
-
|
1347 |
-
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1356 |
|
1357 |
-
|
1358 |
}
|
1359 |
|
1360 |
static function getSocialList() {
|
41 |
'type' => 'text',
|
42 |
'class' => 'kcseo-date',
|
43 |
'required' => true,
|
44 |
+
'desc' => __('Like this: 2015-12-25 4:00 PM', "wp-seo-structured-data-schema")
|
45 |
),
|
46 |
'dateModified' => array(
|
47 |
'title' => __('Modified date', "wp-seo-structured-data-schema"),
|
48 |
'type' => 'text',
|
49 |
'class' => 'kcseo-date',
|
50 |
'required' => true,
|
51 |
+
'desc' => __('Like this: 2015-12-25 4:00 PM', "wp-seo-structured-data-schema")
|
52 |
),
|
53 |
'publisher' => array(
|
54 |
'title' => __('Publisher', "wp-seo-structured-data-schema"),
|
114 |
'title' => __('Published date', "wp-seo-structured-data-schema"),
|
115 |
'type' => 'text',
|
116 |
'class' => 'kcseo-date',
|
117 |
+
'desc' => __('Like this: 2015-12-25 4:00 PM', "wp-seo-structured-data-schema"),
|
118 |
'required' => true
|
119 |
),
|
120 |
'dateModified' => array(
|
121 |
'title' => __('Modified date', "wp-seo-structured-data-schema"),
|
122 |
'type' => 'text',
|
123 |
'class' => 'kcseo-date',
|
124 |
+
'desc' => __('Like this: 2015-12-25 4:00 PM', "wp-seo-structured-data-schema"),
|
125 |
'required' => true
|
126 |
),
|
127 |
'publisher' => array(
|
183 |
'title' => __('Published date', "wp-seo-structured-data-schema"),
|
184 |
'type' => 'text',
|
185 |
'class' => 'kcseo-date',
|
186 |
+
'desc' => __('Like this: 2015-12-25 4:00 PM', "wp-seo-structured-data-schema"),
|
187 |
'required' => true
|
188 |
),
|
189 |
'dateModified' => array(
|
191 |
'type' => 'text',
|
192 |
'class' => 'kcseo-date',
|
193 |
'required' => true,
|
194 |
+
'desc' => __('Like this: 2015-12-25 4:00 PM', "wp-seo-structured-data-schema")
|
195 |
),
|
196 |
'publisher' => array(
|
197 |
'title' => __('Publisher', "wp-seo-structured-data-schema"),
|
247 |
'type' => 'text',
|
248 |
'class' => 'kcseo-date',
|
249 |
'required' => true,
|
250 |
+
'desc' => __("Event start date Like : 2017-10-16 4:00 AM", "wp-seo-structured-data-schema")
|
251 |
),
|
252 |
'endDate' => array(
|
253 |
'title' => __('End date', "wp-seo-structured-data-schema"),
|
254 |
'type' => 'text',
|
255 |
'recommended' => true,
|
256 |
'class' => 'kcseo-date',
|
257 |
+
'desc' => __("Event end date Like : 2017-10-16 4:00 AM", "wp-seo-structured-data-schema")
|
258 |
),
|
259 |
'description' => array(
|
260 |
'title' => __('Description', "wp-seo-structured-data-schema"),
|
418 |
'type' => 'text',
|
419 |
'recommended' => true,
|
420 |
'class' => 'kcseo-date',
|
421 |
+
'desc' => __("The date (in ISO 8601 date and time format) after which the price will no longer be available.", "wp-seo-structured-data-schema")
|
422 |
),
|
423 |
'priceCurrency' => array(
|
424 |
'title' => __('Price currency', "wp-seo-structured-data-schema"),
|
518 |
'title' => __('Expires', "wp-seo-structured-data-schema"),
|
519 |
'type' => 'text',
|
520 |
'class' => 'kcseo-date',
|
521 |
+
'desc' => __("Like this: 2015-12-25 4:00 PM", "wp-seo-structured-data-schema")
|
522 |
),
|
523 |
)
|
524 |
),
|
635 |
'title' => __('Date of Published', "wp-seo-structured-data-schema"),
|
636 |
'type' => 'text',
|
637 |
'class' => 'kcseo-date',
|
638 |
+
'desc' => __("Like this: 2015-12-25 4:00 PM", "wp-seo-structured-data-schema")
|
639 |
),
|
640 |
'ratingValue' => array(
|
641 |
'title' => __('Rating value', "wp-seo-structured-data-schema"),
|
1323 |
|
1324 |
static function getContactTypes() {
|
1325 |
$contact_types = array(
|
1326 |
+
"customer service",
|
1327 |
+
"customer support",
|
1328 |
+
"technical support",
|
1329 |
+
"billing support",
|
1330 |
+
"bill payment",
|
1331 |
+
"sales",
|
1332 |
+
"reservations",
|
1333 |
+
"credit card support",
|
1334 |
+
"emergency",
|
1335 |
+
"baggage tracking",
|
1336 |
+
"roadside assistance",
|
1337 |
+
"package tracking"
|
1338 |
);
|
1339 |
|
1340 |
return apply_filters('kcseo_contact_types', $contact_types);
|
1341 |
}
|
1342 |
|
1343 |
static function getLanguageList() {
|
1344 |
+
$language_list = array(
|
1345 |
+
"Akan",
|
1346 |
+
"Amharic",
|
1347 |
+
"Arabic",
|
1348 |
+
"Assamese",
|
1349 |
+
"Awadhi",
|
1350 |
+
"Azerbaijani",
|
1351 |
+
"Balochi",
|
1352 |
+
"Belarusian",
|
1353 |
+
"Bengali",
|
1354 |
+
"Bhojpuri",
|
1355 |
+
"Burmese",
|
1356 |
+
"Cantonese",
|
1357 |
+
"Cebuano",
|
1358 |
+
"Chewa",
|
1359 |
+
"Chhattisgarhi",
|
1360 |
+
"Chittagonian",
|
1361 |
+
"Czech",
|
1362 |
+
"Deccan",
|
1363 |
+
"Dhundhari",
|
1364 |
+
"Dutch",
|
1365 |
+
"English",
|
1366 |
+
"French",
|
1367 |
+
"Fula",
|
1368 |
+
"Gan",
|
1369 |
+
"German",
|
1370 |
+
"Greek",
|
1371 |
+
"Gujarati",
|
1372 |
+
"Haitian Creole",
|
1373 |
+
"Hakka",
|
1374 |
+
"Haryanvi",
|
1375 |
+
"Hausa",
|
1376 |
+
"Hiligaynon",
|
1377 |
+
"Hindi / Urdu",
|
1378 |
+
"Hmong",
|
1379 |
+
"Hungarian",
|
1380 |
+
"Igbo",
|
1381 |
+
"Ilokano",
|
1382 |
+
"Italian",
|
1383 |
+
"Japanese",
|
1384 |
+
"Javanese",
|
1385 |
+
"Jin",
|
1386 |
+
"Kannada",
|
1387 |
+
"Kazakh",
|
1388 |
+
"Khmer",
|
1389 |
+
"Kinyarwanda",
|
1390 |
+
"Kirundi",
|
1391 |
+
"Konkani",
|
1392 |
+
"Korean",
|
1393 |
+
"Kurdish",
|
1394 |
+
"Madurese",
|
1395 |
+
"Magahi",
|
1396 |
+
"Maithili",
|
1397 |
+
"Malagasy",
|
1398 |
+
"Malay/Indonesian",
|
1399 |
+
"Malayalam",
|
1400 |
+
"Mandarin",
|
1401 |
+
"Marathi",
|
1402 |
+
"Marwari",
|
1403 |
+
"Min Bei",
|
1404 |
+
"Min Dong",
|
1405 |
+
"Min Nan",
|
1406 |
+
"Mossi",
|
1407 |
+
"Nepali",
|
1408 |
+
"Oriya",
|
1409 |
+
"Oromo",
|
1410 |
+
"Pashto",
|
1411 |
+
"Persian",
|
1412 |
+
"Polish",
|
1413 |
+
"Portuguese",
|
1414 |
+
"Punjabi",
|
1415 |
+
"Quechua",
|
1416 |
+
"Romanian",
|
1417 |
+
"Russian",
|
1418 |
+
"Saraiki",
|
1419 |
+
"Serbo-Croatian",
|
1420 |
+
"Shona",
|
1421 |
+
"Sindhi",
|
1422 |
+
"Sinhalese",
|
1423 |
+
"Somali",
|
1424 |
+
"Spanish",
|
1425 |
+
"Sundanese",
|
1426 |
+
"Swahili",
|
1427 |
+
"Swedish",
|
1428 |
+
"Sylheti",
|
1429 |
+
"Tagalog",
|
1430 |
+
"Tamil",
|
1431 |
+
"Telugu",
|
1432 |
+
"Thai",
|
1433 |
+
"Turkish",
|
1434 |
+
"Ukrainian",
|
1435 |
+
"Uyghur",
|
1436 |
+
"Uzbek",
|
1437 |
+
"Vietnamese",
|
1438 |
+
"Wu",
|
1439 |
+
"Xhosa",
|
1440 |
+
"Xiang",
|
1441 |
+
"Yoruba",
|
1442 |
+
"Zulu",
|
1443 |
+
);
|
1444 |
|
1445 |
+
return apply_filters('kcseo_language_list', $language_list);
|
1446 |
}
|
1447 |
|
1448 |
static function getSocialList() {
|
lib/views/schema-options.php
CHANGED
@@ -487,9 +487,9 @@ $schemaModel = new KcSeoSchemaModel;
|
|
487 |
style="width: 50%">
|
488 |
<?php
|
489 |
$areaServed = !empty($settings['area_served']) ? $settings['area_served'] : array();
|
490 |
-
foreach (KcSeoOptions::getCountryList() as $country) {
|
491 |
-
$slt = (in_array($
|
492 |
-
echo "<option value='$
|
493 |
}
|
494 |
?>
|
495 |
</select>
|
487 |
style="width: 50%">
|
488 |
<?php
|
489 |
$areaServed = !empty($settings['area_served']) ? $settings['area_served'] : array();
|
490 |
+
foreach (KcSeoOptions::getCountryList() as $countryId => $country) {
|
491 |
+
$slt = (in_array($countryId, $areaServed) ? "selected" : null);
|
492 |
+
echo "<option value='$countryId' $slt>$country</option>";
|
493 |
}
|
494 |
?>
|
495 |
</select>
|
wp-seo-structured-data-schema.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: WP SEO Structured Data Schema
|
4 |
* Plugin URI: https://wpsemplugins.com/
|
5 |
* Description: Comprehensive JSON-LD based Structured Data solution for WordPress for adding schema for organizations, businesses, blog posts, ratings & more.
|
6 |
-
* Version: 2.5.
|
7 |
* Author: WPSEMPlugins
|
8 |
* Author URI: https://wpsemplugins.com/
|
9 |
* Text Domain: wp-seo-structured-data-schema
|
@@ -11,50 +11,52 @@
|
|
11 |
* License: GPLv3
|
12 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
13 |
*/
|
14 |
-
if (!defined('ABSPATH')) {
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
}
|
17 |
-
if (!defined('JSON_UNESCAPED_SLASHES'))
|
18 |
-
define('JSON_UNESCAPED_SLASHES', 64);
|
19 |
-
if (!defined('JSON_PRETTY_PRINT'))
|
20 |
-
define('JSON_PRETTY_PRINT', 128);
|
21 |
-
if (!defined('JSON_UNESCAPED_UNICODE'))
|
22 |
-
define('JSON_UNESCAPED_UNICODE', 256);
|
23 |
|
24 |
|
25 |
-
$plugin_data = get_file_data(__FILE__, array('Version' => 'Version'), false);
|
26 |
-
define('KCSEO_WP_SCHEMA_VERSION', $plugin_data['Version']);
|
27 |
-
define('KCSEO_WP_SCHEMA_SLUG', 'wp-seo-structured-data-schema');
|
28 |
-
define('KCSEO_WP_SCHEMA_PATH', dirname(__FILE__));
|
29 |
-
define('KCSEO_WP_SCHEMA_PLUGIN_ACTIVE_FILE_NAME', plugin_basename(__FILE__));
|
30 |
-
define('KCSEO_WP_SCHEMA_URL', plugins_url('', __FILE__));
|
31 |
-
define('KCSEO_WP_SCHEMA_LANGUAGE_PATH', dirname(plugin_basename(__FILE__)) . '/languages');
|
32 |
|
33 |
-
require('lib/init.php');
|
34 |
-
register_uninstall_hook(__FILE__, 'KCSEO_uninstall');
|
35 |
|
36 |
-
function KCSEO_uninstall()
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
$schemaFields = KcSeoOptions::getSchemaTypes();
|
42 |
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
|
60 |
}
|
3 |
* Plugin Name: WP SEO Structured Data Schema
|
4 |
* Plugin URI: https://wpsemplugins.com/
|
5 |
* Description: Comprehensive JSON-LD based Structured Data solution for WordPress for adding schema for organizations, businesses, blog posts, ratings & more.
|
6 |
+
* Version: 2.5.8
|
7 |
* Author: WPSEMPlugins
|
8 |
* Author URI: https://wpsemplugins.com/
|
9 |
* Text Domain: wp-seo-structured-data-schema
|
11 |
* License: GPLv3
|
12 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
13 |
*/
|
14 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
if ( ! defined( 'JSON_UNESCAPED_SLASHES' ) ) {
|
18 |
+
define( 'JSON_UNESCAPED_SLASHES', 64 );
|
19 |
+
}
|
20 |
+
if ( ! defined( 'JSON_PRETTY_PRINT' ) ) {
|
21 |
+
define( 'JSON_PRETTY_PRINT', 128 );
|
22 |
+
}
|
23 |
+
if ( ! defined( 'JSON_UNESCAPED_UNICODE' ) ) {
|
24 |
+
define( 'JSON_UNESCAPED_UNICODE', 256 );
|
25 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
|
28 |
+
$plugin_data = get_file_data( __FILE__, array( 'Version' => 'Version' ), false );
|
29 |
+
define( 'KCSEO_WP_SCHEMA_VERSION', $plugin_data['Version'] );
|
30 |
+
define( 'KCSEO_WP_SCHEMA_SLUG', 'wp-seo-structured-data-schema' );
|
31 |
+
define( 'KCSEO_WP_SCHEMA_PATH', dirname( __FILE__ ) );
|
32 |
+
define( 'KCSEO_WP_SCHEMA_PLUGIN_ACTIVE_FILE_NAME', plugin_basename( __FILE__ ) );
|
33 |
+
define( 'KCSEO_WP_SCHEMA_URL', plugins_url( '', __FILE__ ) );
|
34 |
+
define( 'KCSEO_WP_SCHEMA_LANGUAGE_PATH', dirname( plugin_basename( __FILE__ ) ) . '/languages' );
|
35 |
|
36 |
+
require( 'lib/init.php' );
|
37 |
+
register_uninstall_hook( __FILE__, 'KCSEO_uninstall' );
|
38 |
|
39 |
+
function KCSEO_uninstall() {
|
40 |
+
global $KcSeoWPSchema;
|
41 |
+
$settings = get_option( $KcSeoWPSchema->options['main_settings'] );
|
42 |
+
if ( ! empty( $settings['delete-data'] ) ) {
|
43 |
+
$schemaFields = KcSeoOptions::getSchemaTypes();
|
|
|
44 |
|
45 |
+
$args = array(
|
46 |
+
'post_type' => array( 'page', 'post' ),
|
47 |
+
'posts_per_page' => '-1'
|
48 |
+
);
|
49 |
+
$pages = new WP_Query ( $args );
|
50 |
+
if ( $pages->have_posts() ) {
|
51 |
|
52 |
+
while ( $pages->have_posts() ) {
|
53 |
+
$pages->the_post();
|
54 |
+
foreach ( $schemaFields as $schemaID => $schema ) {
|
55 |
+
delete_post_meta( get_the_ID(), '_schema_' . $schemaID );
|
56 |
+
}
|
57 |
+
}
|
58 |
+
wp_reset_postdata();
|
59 |
+
}
|
60 |
+
}
|
61 |
|
62 |
}
|