wp-jalali - Version 3.5

Version Description

Download this release

Release Info

Developer mani_monaj
Plugin Icon 128x128 wp-jalali
Version 3.5
Comparing to
See all releases

Version 3.5

Files changed (5) hide show
  1. farsitype.js +378 -0
  2. mps-jalalidate35.php +1812 -0
  3. readme.txt +46 -0
  4. screenshot-1.png +0 -0
  5. wp-fa-logo.png +0 -0
farsitype.js ADDED
@@ -0,0 +1,378 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ FARSI TYPE
3
+ This script developed to ease typing Farsi(Persian) in web forms where there is no Farsi Keyboard installed on a PC.Works with Internet Explorer, Gecko family (Mozilla/FireFox) and Opera.
4
+
5
+ Author : Kaveh Ahmadi
6
+ Author Contact : kaveh@ashoob.net
7
+ Version : 1.3.0
8
+
9
+ Copyright 2002-2007 Kaveh Ahmadi (email : kaveh@ashoob.net)
10
+ Special Thanks to Gonahkar (gonahkar.com), Mani Monajjemi (manionline.org) and Mazdak Aghakhani (mazdakam.com) for their support and their great ideas!
11
+
12
+ This program is free software; you can redistribute it and/or modify
13
+ it under the terms of the GNU General Public License as published by
14
+ the Free Software Foundation; either version 2 of the License, or
15
+ (at your option) any later version.
16
+
17
+ This program is distributed in the hope that it will be useful,
18
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ GNU General Public License for more details.
21
+
22
+ You should have received a copy of the GNU General Public License
23
+ along with this program; if not, write to the Free Software
24
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25
+
26
+ > > > USAGE < < <
27
+
28
+ Step 0. Customize settings
29
+ Set ShowChangeLangButton, KeyBoardError, ChangeDir variables values with your own opinon!
30
+ ShowChangeLangButton // Show Change Language Button --> 0: Show / 1: Visible
31
+ KeyBoardError // the action when useres keyboard is farsi --> 0: Disable FarsiType / 1: Show Error
32
+ ChangeDir // change the input or textarea direction when language is change --> 0: No Action / 1: Change direction / 2: set Rtl/Ltr button
33
+
34
+ Step 1.
35
+ Include the "farsitype.js" file to your HTML <head> part (before </head>):
36
+ <script language="javascript" src="farsitype.js" type="text/javascript"></script>
37
+
38
+ Step 2.
39
+ Add "lang" attribute with value "fa" to any <input> or <textarea> tag which you want to have FarsiType enabled!
40
+ <input type="text" name="whatever" lang="fa" />
41
+ or
42
+ <textarea cols="30" rows="7" name="whatever" lang="fa"></textarea>
43
+ [Magic : only the lang="fa" is important for FarsiType!]
44
+ [As ver 1.2.1 , you can also use lang="fa-IR"]
45
+
46
+ Step 3. (OPTIONAL)
47
+ You can also add an enable/disable checkbox beside your form.
48
+ <input type="checkbox" id="disableFarsiType" />
49
+
50
+ Note : You can use F8 keybord button to switch languages instead of using the change language button.
51
+
52
+ > > > CHANFGELOG < < <
53
+
54
+ V 1.3.0
55
+ - Optional controls is added for users
56
+
57
+ V 1.2.1
58
+ - Comments clean up
59
+ - GPL Licence added
60
+ - lang = 'fa-IR' support added
61
+
62
+ V 1.2
63
+ - Opera full support added
64
+
65
+ V 1.1
66
+ - Some little Gecko fixes
67
+
68
+ > > > EXTRA < < <
69
+ Mozilla solving problem idea is from: http://forum.persiantools.com/showthread.php?p=667351
70
+ Auto Creation idea is from: http://ip.webkar.com/forums/index.php?act=ST&f=19&t=99
71
+ with a look at behdad.org/editor and blogfa.com farsi solutions!
72
+ */
73
+
74
+ // insertAdjacentHTML(), insertAdjacentText() and insertAdjacentElement() for Netscape 6/Mozilla by Thor Larholm me@jscript.dk
75
+ if(typeof HTMLElement!="undefined" && ! HTMLElement.prototype.insertAdjacentElement) {
76
+ HTMLElement.prototype.insertAdjacentElement = function (where,parsedNode) {
77
+ switch (where) {
78
+ case 'beforeBegin':
79
+ this.parentNode.insertBefore(parsedNode,this)
80
+ break;
81
+ case 'afterBegin':
82
+ this.insertBefore(parsedNode,this.firstChild);
83
+ break;
84
+ case 'beforeEnd':
85
+ this.appendChild(parsedNode);
86
+ break;
87
+ case 'afterEnd':
88
+ if (this.nextSibling)
89
+ this.parentNode.insertBefore(parsedNode,this.nextSibling);
90
+ else
91
+ this.parentNode.appendChild(parsedNode);
92
+ break;
93
+ }
94
+ }
95
+
96
+ HTMLElement.prototype.insertAdjacentHTML = function (where,htmlStr) {
97
+ var r = this.ownerDocument.createRange();
98
+ r.setStartBefore(this);
99
+ var parsedHTML = r.createContextualFragment(htmlStr);
100
+ this.insertAdjacentElement(where,parsedHTML)
101
+ }
102
+
103
+ HTMLElement.prototype.insertAdjacentText = function (where,txtStr) {
104
+ var parsedText = document.createTextNode(txtStr)
105
+ this.insertAdjacentElement(where,parsedText)
106
+ }
107
+ }
108
+
109
+ var FarsiType =
110
+ {
111
+ // Farsi keyboard map based on Iran Popular Keyboard Layout
112
+ farsiKey : [
113
+ 32 , 33 , 34 , 35 , 36 , 37 , 1548 , 1711 ,
114
+ 41 , 40 , 215 , 43 , 1608 , 45 , 46 , 47 ,
115
+ 48 , 49 , 50 , 51 , 52 , 53 , 54 , 55 ,
116
+ 56 , 57 , 58 , 1705 , 44 , 61 , 46 , 1567 ,
117
+ 64 , 1616 , 1584 , 125 , 1609 , 1615 , 1609 , 1604 ,
118
+ 1570 , 247 , 1600 , 1548 , 47 , 8217 , 1583 , 215 ,
119
+ 1563 , 1614 , 1569 , 1613 , 1601 , 8216 , 123 , 1611 ,
120
+ 1618 , 1573 , 126 , 1580 , 1688 , 1670 , 94 , 95 ,
121
+ 1662 , 1588 , 1584 , 1586 , 1740 , 1579 , 1576 , 1604 ,
122
+ 1575 , 1607 , 1578 , 1606 , 1605 , 1574 , 1583 , 1582 ,
123
+ 1581 , 1590 , 1602 , 1587 , 1601 , 1593 , 1585 , 1589 ,
124
+ 1591 , 1594 , 1592 , 60 , 124 , 62 , 1617
125
+ ],
126
+ Type : true,
127
+ counter : 0,
128
+ ShowChangeLangButton : 1, // 0: Show / 1: Visible
129
+ KeyBoardError : 0, // 0: Disable FarsiType / 1: Show Error
130
+ ChangeDir : 2 // 0: No Action / 1: Do Rtl-Ltr / 2: Rtl-Ltr button
131
+ }
132
+
133
+ FarsiType.enable_disable = function(Dis) {
134
+ var invis, obj;
135
+
136
+ if (!Dis.checked) {
137
+ FarsiType.Type = true;
138
+ disable = false;
139
+ color = 'darkblue';
140
+ }
141
+ else {
142
+ FarsiType.Type = false;
143
+ disable = true;
144
+ color = '#ECE9D8';
145
+ }
146
+
147
+ if (FarsiType.ShowChangeLangButton == 1) {
148
+ for (var i=1; i<= FarsiType.counter; i++) {
149
+ obj = document.getElementById('FarsiType_button_' + i);
150
+ obj.disabled = disable;
151
+ obj.style.backgroundColor = color;
152
+ }
153
+ }
154
+ }
155
+
156
+ FarsiType.Disable = function(){
157
+ FarsiType.Type = false;
158
+ var Dis = document.getElementById('disableFarsiType')
159
+ if (Dis != null) {
160
+ Dis.checked = true;
161
+ }
162
+ if (FarsiType.ShowChangeLangButton == 1) {
163
+ for (var i=1; i<= FarsiType.counter; i++) {
164
+ obj = document.getElementById('FarsiType_button_' + i);
165
+ obj.disabled = true;
166
+ obj.style.backgroundColor = '#ECE9D8';
167
+ }
168
+ }
169
+ }
170
+
171
+ FarsiType.init = function() {
172
+
173
+ var Inputs = document.getElementsByTagName('INPUT');
174
+ for (var i=0; i<Inputs.length; i++) {
175
+ if (Inputs[i].type.toLowerCase() == 'text' && (Inputs[i].lang.toLowerCase() == 'fa' || Inputs[i].lang.toLowerCase() == 'fa-ir')) {
176
+ FarsiType.counter++;
177
+ new FarsiType.KeyObject(Inputs[i], FarsiType.counter);
178
+ }
179
+ }
180
+
181
+ var Areas = document.getElementsByTagName('TEXTAREA');
182
+ for (var i=0; i<Areas.length; i++) {
183
+ if (Areas[i].lang.toLowerCase() == 'fa' || Areas[i].lang.toLowerCase() == 'fa-ir') {
184
+ FarsiType.counter++;
185
+ new FarsiType.KeyObject(Areas[i], FarsiType.counter);
186
+ }
187
+ }
188
+
189
+ var Dis = document.getElementById('disableFarsiType')
190
+ if (Dis != null) {
191
+ FarsiType.enable_disable (Dis);
192
+ Dis.onclick = new Function( "FarsiType.enable_disable (this);" )
193
+ }
194
+ }
195
+
196
+ FarsiType.KeyObject = function(z,x) {
197
+
198
+ GenerateStr = "";
199
+ if (FarsiType.ShowChangeLangButton == 1) {
200
+ GenerateStr = GenerateStr + "<input type='button' id=FarsiType_button_"+x+" style='border: none; background-color:darkblue; font-size:11; color:white; font-family:tahoma; padding: 1px; margin: 1px; width: auto; height: auto;' value='FA' />&nbsp;";
201
+ }
202
+ if (FarsiType.ChangeDir == 2) {
203
+ GenerateStr = GenerateStr + "<input type='button' id=FarsiType_ChangeDir_"+x+" style='border: none; background-color:darkblue; font-size:11; color:white; font-family:tahoma; padding: 1px; margin: 1px; width: auto; height: auto;' value='RTL' />"
204
+ }
205
+ z.insertAdjacentHTML("afterEnd", GenerateStr);
206
+
207
+ if (FarsiType.ShowChangeLangButton == 1) {
208
+ z.bottelm = document.getElementById ('FarsiType_button_' + x);
209
+ z.bottelm.title = 'Change lang to english';
210
+ }
211
+ if (FarsiType.ChangeDir == 2) {
212
+ z.Direlm = document.getElementById ('FarsiType_ChangeDir_' + x);
213
+ }
214
+
215
+ z.farsi = true;
216
+ z.dir = "rtl";
217
+ z.align = "right";
218
+
219
+ z.style.textAlign = z.align;
220
+ z.style.direction = z.dir;
221
+
222
+ setSelectionRange = function(input, selectionStart, selectionEnd) {
223
+ input.focus()
224
+ input.setSelectionRange(selectionStart, selectionEnd)
225
+ }
226
+
227
+ ChangeDirection = function(e) {
228
+ if (z.dir == "rtl") {
229
+ z.dir = "ltr";
230
+ z.align = "left";
231
+ z.Direlm.value = "LTR";
232
+ z.Direlm.title = "Change direction: Right to Left"
233
+ }
234
+ else {
235
+ z.dir = "rtl";
236
+ z.align = "right";
237
+ z.Direlm.value = "RTL";
238
+ z.Direlm.title = "Change direction: Left to Right"
239
+ }
240
+ z.style.textAlign = z.align;
241
+ z.style.direction = z.dir;
242
+ z.focus();
243
+ }
244
+
245
+ ChangeLang = function(e) {
246
+ if (e == null) e = window.event;
247
+ var key = e.keyCode ? e.keyCode : e.charCode;
248
+
249
+ if (FarsiType.Type) {
250
+ if (key==119 || !key) {
251
+ if (z.farsi) {
252
+ z.farsi = false;
253
+ if (FarsiType.ShowChangeLangButton == 1) {
254
+ z.bottelm.value = "EN";
255
+ z.bottelm.title = 'Change lang to persian';
256
+ }
257
+ if (FarsiType.ChangeDir == 1) {
258
+ z.style.textAlign = "left";
259
+ z.style.direction = "ltr";
260
+ }
261
+ }
262
+ else {
263
+ z.farsi = true;
264
+ if (FarsiType.ShowChangeLangButton == 1) {
265
+ z.bottelm.value = "FA";
266
+ z.bottelm.title = 'Change lang to english';
267
+ }
268
+ if (FarsiType.ChangeDir == 1) {
269
+ z.style.textAlign = "right";
270
+ z.style.direction = "rtl";
271
+ }
272
+ }
273
+ z.focus();
274
+ }
275
+ }
276
+ }
277
+
278
+ Convert = function(e) {
279
+
280
+ if (FarsiType.Type) {
281
+
282
+ if (e == null) e = window.event;
283
+ eElement = (e.srcElement) ? e.srcElement : e.originalTarget;
284
+
285
+ var key = e.keyCode ? e.keyCode : e.charCode;
286
+ if (navigator.userAgent.toLowerCase().indexOf('opera')>-1) key = e.which;
287
+
288
+ if ( (e.charCode != null) && (e.charCode != key) ) return;
289
+ if (e.ctrlKey || e.altKey || e.metaKey || key == 13 || key == 27 || key == 8) return;
290
+
291
+ //check windows lang
292
+ if (key>128){
293
+ if (FarsiType.KeyBoardError == 0) {
294
+ FarsiType.Disable();
295
+ }
296
+ else {
297
+ alert("Please change your windows language to English");
298
+ return false;
299
+ }
300
+ }
301
+
302
+ // if Farsi
303
+ if (z.farsi && key > 31 && key < 128) {
304
+
305
+ //check CpasLock
306
+ if ( (key >= 65 && key <= 90) && !e.shiftKey ) {
307
+ alert("Caps Lock is On. To prevent entering farsi incorrectly, you should press Caps Lock to turn it off.");
308
+ return false;
309
+ }
310
+ else if ( (key >= 97 && key <= 122 ) && e.shiftKey ) {
311
+ alert("Caps Lock is On. To prevent entering farsi incorrectly, you should press Caps Lock to turn it off.");
312
+ return false;
313
+ }
314
+
315
+ // Shift-space -> ZWNJ
316
+ if (key == 32 && e.shiftKey)
317
+ key = 8204;
318
+ else
319
+ key = FarsiType.farsiKey[key-32];
320
+
321
+ // to farsi
322
+ try {
323
+ // IE
324
+ e.keyCode = key
325
+ }
326
+ catch(error) {
327
+ try {
328
+ // Gecko before
329
+ e.initKeyEvent("keypress", true, true, document.defaultView, false, false, true, false, 0, key, eElement);
330
+ }
331
+ catch(error) {
332
+ try {
333
+ // Gecko & Opera now
334
+ var nScrollTop = eElement.scrollTop;
335
+ var nScrollLeft = eElement.scrollLeft;
336
+ var nScrollWidth = eElement.scrollWidth;
337
+
338
+ replaceString = String.fromCharCode(key);
339
+
340
+ var selectionStart = eElement.selectionStart;
341
+ var selectionEnd = eElement.selectionEnd;
342
+ eElement.value = eElement.value.substring(0, selectionStart) + replaceString + eElement.value.substring(selectionEnd);
343
+ setSelectionRange(eElement, selectionStart + replaceString.length, selectionStart + replaceString.length);
344
+
345
+ var nW = eElement.scrollWidth - nScrollWidth;
346
+ if (eElement.scrollTop == 0) { eElement.scrollTop = nScrollTop }
347
+
348
+ e.preventDefault()
349
+ }
350
+ catch(error) {
351
+ // else no farsi type!
352
+ alert('Sorry! no FarsiType support')
353
+ FarsiType.Disable();
354
+ var Dis = document.getElementById('disableFarsiType')
355
+ if (Dis != null) {
356
+ Dis.disabled = true;
357
+ }
358
+ return false;
359
+ }
360
+ }
361
+ }
362
+ }
363
+ }
364
+ return true;
365
+ }
366
+
367
+ if (FarsiType.ShowChangeLangButton == 1) { z.bottelm.onmouseup = ChangeLang; }
368
+ if (FarsiType.ChangeDir == 2) { z.Direlm.onmouseup = ChangeDirection; }
369
+ z.onkeydown = ChangeLang;
370
+ z.onkeypress = Convert;
371
+ }
372
+
373
+ if (window.attachEvent) {
374
+ window.attachEvent('onload', FarsiType.init)
375
+ }
376
+ else if (window.addEventListener) {
377
+ window.addEventListener('load', FarsiType.init, false)
378
+ }
mps-jalalidate35.php ADDED
@@ -0,0 +1,1812 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: Full Jalali Date & Persian Support Package for Wordpress
4
+ Plugin URI: http://www.wp-persian.com/wp-jalali/
5
+ Description: Full Jalali Date and Persian(Farsi) Support Package for wordpress, Full posts' and comments' dates convertion , Jalali Archive , Magic(Jalali/Gregorian) Calendar and Jalali/Gregorian Compaitables Permalinks, TinyMCE RTL/LTR activation, TinyMCE Persian Improvement, Cross browser Perisan keyboard support, Jalali Archive/Calendar widgets and Persian numbers, Great tool for Persian(Iranian) Users of WordPress, part of <a href="http://wp-persian.com" title="پروژه وردپرس فارسی">Persian Wordpress Project</a>.
6
+ Version: 3.5
7
+ Author: Vali Allah(Mani) Monajjemi
8
+ Author URI: http://www.manionline.org/
9
+ */
10
+
11
+ /* Copyright 2005-2007 Vali Allah[Mani] Monajjemi (email : mani.monajjemi@gmail.com)
12
+
13
+ This program is free software; you can redistribute it and/or modify
14
+ it under the terms of the GNU General Public License as published by
15
+ the Free Software Foundation; either version 2 of the License, or
16
+ (at your option) any later version.
17
+
18
+ This program is distributed in the hope that it will be useful,
19
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
20