PluginProbe ʕ •ᴥ•ʔ
پارسی دیت – Parsi Date / trunk
پارسی دیت – Parsi Date vtrunk
6.2 6.1 5.1.6 5.1.7 5.1.8 5.1.8.2 6.0 trunk 1.0 1.1 1.2 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 2.0.0-alpha 2.1 2.1.1 2.1.2 2.1.3 2.1.5 2.1.6 2.1.7 2.2.0 2.2.1 2.2.2 2.2.3 2.3.0.1 2.3.0.2 2.3.1 2.3.2 2.3.3 2.3.4 3.0.1 3.0.2 3.0.3 4.0.0 4.0.1 4.0.2 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5
wp-parsidate / assets / js-admin / admin.js
wp-parsidate / assets / js-admin Last commit date
wc-pg-blocks 2 months ago admin.js 3 weeks ago admin.min.js 3 weeks ago dashboard.js 1 day ago dashboard.min.js 1 day ago gutenberg-jalali-calendar.build.js 3 weeks ago index.php 3 weeks ago jalalidatepicker.min.js 3 weeks ago keen-slider.min.js 2 months ago script.js 1 day ago script.min.js 1 day ago
admin.js
165 lines
1 jQuery(document).ready(function ($) {
2 //var wpp_months_name = WPP_I18N.months;
3 var wpp_months_name = ['', 'فروردین', 'اردیبهشت', 'خرداد', 'تیر', '�
4 رداد', 'شهریور', '�
5 هر', 'آبان', 'آذر', 'دی', 'به�
6 ن', 'اسفند'];
7
8
9 $('.wp-editor-wrap.html-active #content').css("direction", "ltr");
10
11 function IsLeapYear(year) {
12 if (((year % 4) === 0 && (year % 100) !== 0) || (year % 400) === 0 && (year % 100) === 0)
13 return true;
14 else
15 return false;
16 }
17
18 function persian_to_gregorian(jy, jm, jd) {
19 var j_days_sum_month = [0, 0, 31, 62, 93, 124, 155, 186, 216, 246, 276, 306, 336, 365];
20 var g_days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
21 var g_days_leap_month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
22 var gd = j_days_sum_month[parseInt(jm)] + parseInt(jd), gm, gy = parseInt(jy) + 621;
23 if (gd > 286) gy++;
24 if (IsLeapYear(gy - 1) && 286 < gd) gd--;
25 if (gd > 286) gd -= 286; else gd += 79;
26 if (IsLeapYear(gy)) {
27 for (gm = 0; gd > g_days_leap_month[gm]; gm++) {
28 gd -= g_days_leap_month[gm];
29 }
30 } else {
31 for (gm = 0; gd > g_days_in_month[gm]; gm++) gd -= g_days_in_month[gm];
32 }
33 gm++;
34 if (gm < 10) gm = '0' + gm;
35 return [gy, gm, gd];
36 }
37
38 function gregorian_to_persian(gy, gm, gd) {
39 var j_days_in_month = [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29];
40 var g_days_sum_month = [0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365];
41 var day_of_year = g_days_sum_month[parseInt(gm)] + parseInt(gd);
42 var leab = IsLeapYear(gy);
43 var leap = IsLeapYear(gy - 1);
44 var jd, jm, jy, i;
45 if (day_of_year > 79) {
46 jd = (leab ? day_of_year - 78 : day_of_year - 79);
47 jy = gy - 621;
48 for (i = 0; jd > j_days_in_month[i]; i++) jd -= j_days_in_month[i];
49 } else {
50 jd = ((leap || (leab && gm > 2)) ? 287 + day_of_year : 286 + day_of_year);
51 jy = gy - 622;
52 if (leap === false && jd === 366) return [jy, 12, 30];
53 for (i = 0; jd > j_days_in_month[i]; i++) jd -= j_days_in_month[i];
54 }
55 jm = ++i;
56 jm = (jm < 10 ? jm = '0' + jm : jm);
57 return [jy, jm, jd];
58 }
59
60 /*
61 * Edit inline
62 */
63 function create_stampdiv(year, mon, day, hour, minu) {
64 var div = '<div class="timestamp-wrap persian">' +
65 '<select id="mma" name="mma">';
66 for (var i = 1; i < 13; i++) {
67 if (i === parseInt(mon))
68 div += '<option value="' + i + '" selected="selected">' + wpp_months_name[i] + '</option>';
69 else
70 div += '<option value="' + i + '">' + wpp_months_name[i] + '</option>';
71 }
72 div += '</select>' +
73 '<input type="text" id="jja" name="jja" value="' + day + '" size="2" maxlength="2" autocomplete="off" />,' +
74 '<input type="text" id="aaa" name="aaa" value="' + year + '" size="4" maxlength="4" autocomplete="off" /> در ' +
75 '<input type="text" id="hha" name="hha" value="' + hour + '" size="2" maxlength="2" autocomplete="off" /> : ' +
76 '<input type="text" id="mna" name="mna" value="' + minu + '" size="2" maxlength="2" autocomplete="off" />' +
77 '</div>';
78 return div;
79 }
80
81 $('a.edit-timestamp').on('click', function () {
82 $('.persian').remove();
83 var date = gregorian_to_persian($('#aa').val(), $('#mm').val(), $('#jj').val());
84 var div = create_stampdiv(date[0], date[1], date[2], $('#hh').val(), $('#mn').val());
85 $('#timestampdiv').prepend(div);
86 $('#timestampdiv .timestamp-wrap:eq(1)').hide();
87 });
88
89 $('#the-list').on('click', '.editinline', function () {
90 var tr = $(this).closest('td');
91 var year = tr.find('.aa').html();
92 if (year > 1400) {
93 var month = tr.find('.mm').html();
94 var day = tr.find('.jj').html();
95 var hour = tr.find('.hh').html();
96 var minu = tr.find('.mn').html();
97 var date = gregorian_to_persian(year, month, day);
98 $('.persian').remove();
99 $('.inline-edit-date').prepend(create_stampdiv(date[0], date[1], date[2], hour, minu));
100 $('.inline-edit-date div:eq(1)').hide();
101 }
102 });
103
104 $('#timestampdiv,.inline-edit-date').on('keyup', '#hha', function () {
105 $('input[name=hh]').val($(this).val());
106
107 }).on('keyup', '#mna', function () {
108 $('input[name=mn]').val($(this).val());
109
110 }).on('keyup', '#aaa , #jja', function () {
111 var year = $('#aaa').val();
112 var mon = $('#mma').val();
113 var day = $('#jja').val();
114 date = persian_to_gregorian(year, mon, day);
115 $('input[name=aa]').val(date[0]);
116 $('select[name=mm]').val(date[1]);
117 $('input[name=jj]').val(date[2]);
118
119 }).on('change', '#mma', function () {
120 var year = $('#aaa').val();
121 var mon = $('#mma').val();
122 var day = $('#jja').val();
123 date = persian_to_gregorian(year, mon, day);
124 $('input[name=aa]').val(date[0]);
125 $('select[name=mm]').val(date[1]);
126 $('input[name=jj]').val(date[2]);
127 });
128
129 /*
130 * Filter on post screen dates
131 */
132 /*$('select[name=m]').hide()*/
133 var timer;
134
135 function change_date() {
136 var old = $('#timestamp b').text();
137 var info = $('#mma option:selected').text() + ' ' + $('#jja').val() + ', ' + $('#aaa').val() + ' در ' + $('#hha').val() + ':' + $('#mna').val();
138 info = info.replace(/\d+/g, function (digit) {
139 var ret = '';
140 for (var i = 0, len = digit.length; i < len; i++) {
141 ret += String.fromCharCode(digit.charCodeAt(i) + 1728);
142 }
143 return ret;
144 });
145 if (old != info) {
146 $('#timestamp b').html(info);
147 clearInterval(timer);
148 }
149 }
150
151 $('#timestampdiv').on('keypress', function (e) {
152 if (e.which == 13)
153 timer = setInterval(function () {
154 change_date();
155 }, 50);
156 });
157
158 $('.save-timestamp , .cancel-timestamp , #publish').on('click', function () {
159 if ($('#aaa').length)
160 timer = setInterval(function () {
161 change_date();
162 }, 50);
163 });
164 });
165