Version Description
Download this release
Release Info
Developer | mani_monaj |
Plugin | wp-jalali |
Version | 5.0.0-RC3 |
Comparing to | |
See all releases |
Code changes from version 5.0.0-RC2 to 5.0.0-RC3
- inc/wp-jalali-admin.php +6 -2
- inc/wp-jalali-filters.php +7 -21
- inc/wp-jalali-help-page.php +5 -0
- readme.txt +1 -1
- widget/widget_archive.php +3 -1
- widget/widget_calendar.php +3 -1
- wp-jalali-functions.php +22 -3
- wp-jalali-init.php +23 -1
- wp-jalali.php +1 -1
inc/wp-jalali-admin.php
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
|
3 |
/**
|
4 |
* register admin menu
|
|
|
5 |
*/
|
6 |
add_action('admin_menu', 'ztjalali_reg_admin_meun_fn');
|
7 |
|
@@ -74,9 +75,12 @@ function ztjalali_admin_save_option_page_fn() {
|
|
74 |
add_action('admin_init', 'ztjalali_install_redirect');
|
75 |
|
76 |
function ztjalali_install_redirect() {
|
77 |
-
if (get_option('ztjalali_do_activation_redirect'
|
78 |
delete_option('ztjalali_do_activation_redirect');
|
79 |
-
|
|
|
|
|
|
|
80 |
}
|
81 |
}
|
82 |
|
2 |
|
3 |
/**
|
4 |
* register admin menu
|
5 |
+
* @see http://codex.wordpress.org/Administration_Menus
|
6 |
*/
|
7 |
add_action('admin_menu', 'ztjalali_reg_admin_meun_fn');
|
8 |
|
75 |
add_action('admin_init', 'ztjalali_install_redirect');
|
76 |
|
77 |
function ztjalali_install_redirect() {
|
78 |
+
if (get_option('ztjalali_do_activation_redirect')) {
|
79 |
delete_option('ztjalali_do_activation_redirect');
|
80 |
+
$help_page = menu_page_url('ztjalali_help_page', FALSE);
|
81 |
+
header('Location: '.$help_page);
|
82 |
+
wp_redirect();
|
83 |
+
die('');
|
84 |
}
|
85 |
}
|
86 |
|
inc/wp-jalali-filters.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* define filters
|
|
|
5 |
*/
|
6 |
//load options
|
7 |
global $ztjalali_option;
|
@@ -17,15 +17,11 @@ if ($ztjalali_option['force_timezone'])
|
|
17 |
if ($ztjalali_option['change_date_to_jalali'])
|
18 |
add_filter('date_i18n', 'ztjalali_ch_date_i18n', 111, 4);
|
19 |
|
20 |
-
//if(!defined( 'WP_ADMIN' )){
|
21 |
//jalali link
|
22 |
if ($ztjalali_option['change_url_date_to_jalali']) {
|
23 |
add_filter("post_link", "ztjalali_permalink_filter_fn", 10, 3);
|
24 |
add_action('pre_get_posts', 'ztjalali_pre_get_posts_filter_fn');
|
25 |
add_filter('posts_where', 'ztjalali_posts_where_filter_fn');
|
26 |
-
// add_filter('year_link', 'ztjalali_year_link_filter_fn', 10, 2);
|
27 |
-
// add_filter('month_link', 'ztjalali_month_link_filter_fn', 10, 3);
|
28 |
-
// add_filter('day_link', 'ztjalali_day_link_filter_fn', 10, 4);
|
29 |
}
|
30 |
if ($ztjalali_option['save_changes_in_db']) {
|
31 |
// change en number to persian number in db
|
@@ -94,6 +90,7 @@ if ($ztjalali_option['change_archive_title'])
|
|
94 |
|
95 |
/**
|
96 |
* force_locale filter fn
|
|
|
97 |
*/
|
98 |
function ztjalali_force_locale() {
|
99 |
return 'fa_IR';
|
@@ -146,6 +143,7 @@ function ztjalali_ch_archive_title($title, $sep, $seplocation) {
|
|
146 |
|
147 |
/**
|
148 |
* posts where filter handler
|
|
|
149 |
*/
|
150 |
function ztjalali_posts_where_filter_fn($where) {
|
151 |
global $wp_query, $wpdb, $pagenow;
|
@@ -277,6 +275,7 @@ function ztjalali_posts_where_filter_fn($where) {
|
|
277 |
/**
|
278 |
* pre get posts filter handler
|
279 |
* @param object $post
|
|
|
280 |
*/
|
281 |
function ztjalali_pre_get_posts_filter_fn($query) {
|
282 |
global $wpdb;
|
@@ -425,6 +424,7 @@ function ztjalali_pre_get_posts_filter_fn($query) {
|
|
425 |
* @param string $perma
|
426 |
* @param string $post
|
427 |
* @param string $leavename
|
|
|
428 |
*/
|
429 |
function ztjalali_permalink_filter_fn($perma, $post, $leavename = false) {
|
430 |
$rewritecode = array(
|
@@ -484,8 +484,8 @@ function ztjalali_permalink_filter_fn($perma, $post, $leavename = false) {
|
|
484 |
$jdate = gregorian_to_jalali($date[0], $date[1], $date[2]);
|
485 |
$rewritereplace = array(
|
486 |
$jdate[0],
|
487 |
-
$jdate[1],
|
488 |
-
$jdate[2],
|
489 |
$date[3],
|
490 |
$date[4],
|
491 |
$date[5],
|
@@ -499,18 +499,4 @@ function ztjalali_permalink_filter_fn($perma, $post, $leavename = false) {
|
|
499 |
return user_trailingslashit($permalink, 'single');
|
500 |
}
|
501 |
|
502 |
-
//function ztjalali_year_link_filter_fn($link, $y) {
|
503 |
-
// if ($y < 1700)
|
504 |
-
// return;
|
505 |
-
//
|
506 |
-
//}
|
507 |
-
//
|
508 |
-
//function ztjalali_month_link_filter_fn($link, $y, $m) {
|
509 |
-
//
|
510 |
-
//}
|
511 |
-
//
|
512 |
-
//function ztjalali_day_link_filter_fn($link, $y, $m, $d) {
|
513 |
-
//
|
514 |
-
//}
|
515 |
-
|
516 |
/* =================================================================== */
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* define filters
|
4 |
+
* @see http://codex.wordpress.org/Plugin_API/Filter_Reference
|
5 |
*/
|
6 |
//load options
|
7 |
global $ztjalali_option;
|
17 |
if ($ztjalali_option['change_date_to_jalali'])
|
18 |
add_filter('date_i18n', 'ztjalali_ch_date_i18n', 111, 4);
|
19 |
|
|
|
20 |
//jalali link
|
21 |
if ($ztjalali_option['change_url_date_to_jalali']) {
|
22 |
add_filter("post_link", "ztjalali_permalink_filter_fn", 10, 3);
|
23 |
add_action('pre_get_posts', 'ztjalali_pre_get_posts_filter_fn');
|
24 |
add_filter('posts_where', 'ztjalali_posts_where_filter_fn');
|
|
|
|
|
|
|
25 |
}
|
26 |
if ($ztjalali_option['save_changes_in_db']) {
|
27 |
// change en number to persian number in db
|
90 |
|
91 |
/**
|
92 |
* force_locale filter fn
|
93 |
+
* @see http://codex.wordpress.org/Plugin_API/Filter_Reference/locale
|
94 |
*/
|
95 |
function ztjalali_force_locale() {
|
96 |
return 'fa_IR';
|
143 |
|
144 |
/**
|
145 |
* posts where filter handler
|
146 |
+
* @see wp-includes\query.php 2353
|
147 |
*/
|
148 |
function ztjalali_posts_where_filter_fn($where) {
|
149 |
global $wp_query, $wpdb, $pagenow;
|
275 |
/**
|
276 |
* pre get posts filter handler
|
277 |
* @param object $post
|
278 |
+
* @see wp-includes\query.php 2353
|
279 |
*/
|
280 |
function ztjalali_pre_get_posts_filter_fn($query) {
|
281 |
global $wpdb;
|
424 |
* @param string $perma
|
425 |
* @param string $post
|
426 |
* @param string $leavename
|
427 |
+
* @see wp-includes\link-template.php line 112
|
428 |
*/
|
429 |
function ztjalali_permalink_filter_fn($perma, $post, $leavename = false) {
|
430 |
$rewritecode = array(
|
484 |
$jdate = gregorian_to_jalali($date[0], $date[1], $date[2]);
|
485 |
$rewritereplace = array(
|
486 |
$jdate[0],
|
487 |
+
sprintf('%02d', $jdate[1]), // add leading zero if necessary
|
488 |
+
sprintf('%02d', $jdate[2]),
|
489 |
$date[3],
|
490 |
$date[4],
|
491 |
$date[5],
|
499 |
return user_trailingslashit($permalink, 'single');
|
500 |
}
|
501 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
502 |
/* =================================================================== */
|
inc/wp-jalali-help-page.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap about-wrap">
|
2 |
|
3 |
<h1 id="ztjalali_wellcome">به وردپرس فارسی خوش آمدید</h1>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* similar wordpress admin option page
|
4 |
+
*/
|
5 |
+
?>
|
6 |
<div class="wrap about-wrap">
|
7 |
|
8 |
<h1 id="ztjalali_wellcome">به وردپرس فارسی خوش آمدید</h1>
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.wp-persian.com/donate
|
|
4 |
Tags: Calendar Conversion, Persian, Farsi, Afghan, Tajik, Jalali, Date, Calendar, i18n, l10n
|
5 |
Tested up to: 4.0.0
|
6 |
Requires at least: 3.9
|
7 |
-
Stable tag: 5.0.0-
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
4 |
Tags: Calendar Conversion, Persian, Farsi, Afghan, Tajik, Jalali, Date, Calendar, i18n, l10n
|
5 |
Tested up to: 4.0.0
|
6 |
Requires at least: 3.9
|
7 |
+
Stable tag: 5.0.0-RC3
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
widget/widget_archive.php
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
3 |
class ztjalali_archive extends WP_Widget {
|
4 |
|
5 |
function __construct() {
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* @see : http://codex.wordpress.org/Widgets_API#Default_Usage
|
4 |
+
*/
|
5 |
class ztjalali_archive extends WP_Widget {
|
6 |
|
7 |
function __construct() {
|
widget/widget_calendar.php
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
3 |
class ztjalali_calendar extends WP_Widget {
|
4 |
|
5 |
function __construct() {
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* @see : http://codex.wordpress.org/Widgets_API#Default_Usage
|
4 |
+
*/
|
5 |
class ztjalali_calendar extends WP_Widget {
|
6 |
|
7 |
function __construct() {
|
wp-jalali-functions.php
CHANGED
@@ -1,4 +1,14 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
/**
|
4 |
* preg_replace callback for convert number to farsi
|
@@ -6,6 +16,7 @@
|
|
6 |
* @param string $matches
|
7 |
* @return string
|
8 |
* @since 5.0.0
|
|
|
9 |
*/
|
10 |
function ztjalali_convertToFarsi($matches) {
|
11 |
global $ztjalali_option;
|
@@ -29,9 +40,11 @@ function ztjalali_convertToFarsi($matches) {
|
|
29 |
* @param string $content
|
30 |
* @return string
|
31 |
* @since 5.0.0
|
|
|
32 |
*/
|
33 |
function ztjalali_ch_number_to_persian($content) {
|
34 |
-
return preg_replace_callback('/(?:&#\d{2,4};)|(
|
|
|
35 |
}
|
36 |
/* =================================================================== */
|
37 |
|
@@ -41,6 +54,7 @@ function ztjalali_ch_number_to_persian($content) {
|
|
41 |
* @param string $str
|
42 |
* @return string
|
43 |
* @since 5.0.0
|
|
|
44 |
*/
|
45 |
function ztjalali_english_num($str) {
|
46 |
global $ztjalali_option;
|
@@ -61,6 +75,7 @@ function ztjalali_english_num($str) {
|
|
61 |
* @param string $str
|
62 |
* @return string
|
63 |
* @since 5.0.0
|
|
|
64 |
*/
|
65 |
function ztjalali_persian_num($str) {
|
66 |
global $ztjalali_option;
|
@@ -80,6 +95,7 @@ function ztjalali_persian_num($str) {
|
|
80 |
* @param string $content
|
81 |
* @return string
|
82 |
* @since 5.0.0
|
|
|
83 |
*/
|
84 |
function ztjalali_ch_arabic_to_persian($content) {
|
85 |
return str_replace(array('ي', 'ك', '٤', '٥', '٦', 'ة'), array('ی', 'ک', '۴', '۵', '۶', 'ه'), $content);
|
@@ -121,6 +137,7 @@ function ztjalali_get_short_week_name($gWeek = 0) {
|
|
121 |
* @param int $year year
|
122 |
* @return string
|
123 |
* @since 5.0.0
|
|
|
124 |
*/
|
125 |
function ztjalali_year_link($year) {
|
126 |
global $ztjalali_option;
|
@@ -138,6 +155,7 @@ function ztjalali_year_link($year) {
|
|
138 |
* @param int $month month
|
139 |
* @return string
|
140 |
* @since 5.0.0
|
|
|
141 |
*/
|
142 |
function ztjalali_month_link($year, $month) {
|
143 |
global $ztjalali_option;
|
@@ -156,13 +174,14 @@ function ztjalali_month_link($year, $month) {
|
|
156 |
* @param int $day day
|
157 |
* @return string
|
158 |
* @since 5.0.0
|
|
|
159 |
*/
|
160 |
function ztjalali_day_link($year, $month, $day) {
|
161 |
global $ztjalali_option;
|
162 |
if ($ztjalali_option['change_url_date_to_jalali']) {
|
163 |
$jdate = gregorian_to_jalali($year, $month, $day);
|
164 |
-
return
|
165 |
}
|
166 |
-
return
|
167 |
}
|
168 |
/* =================================================================== */
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* get plugin version
|
4 |
+
*/
|
5 |
+
function ztjalali_get_plugin_version() {
|
6 |
+
if(!function_exists('get_plugin_data')) {
|
7 |
+
include(ABSPATH . "wp-admin/includes/plugin.php");
|
8 |
+
}
|
9 |
+
$plugin_data = get_plugin_data(dirname(__FILE__).DIRECTORY_SEPARATOR.'wp-jalali.php', FALSE, FALSE );
|
10 |
+
return $plugin_data['Version'];
|
11 |
+
}
|
12 |
|
13 |
/**
|
14 |
* preg_replace callback for convert number to farsi
|
16 |
* @param string $matches
|
17 |
* @return string
|
18 |
* @since 5.0.0
|
19 |
+
* @see wp-jalali 4.5.3 : inc/farsinum-core.php line 5
|
20 |
*/
|
21 |
function ztjalali_convertToFarsi($matches) {
|
22 |
global $ztjalali_option;
|
40 |
* @param string $content
|
41 |
* @return string
|
42 |
* @since 5.0.0
|
43 |
+
* @see wp-jalali 4.5.3 : inc/farsinum-core.php line 23
|
44 |
*/
|
45 |
function ztjalali_ch_number_to_persian($content) {
|
46 |
+
// return preg_replace_callback('/(?:&#\d{2,4};)|((?:\ \;)*\d+(?:\ \;)*\d*\.*(?:\ \;)*\d*(?:\ \;)*\d*)|(?:[a-z](?:[\x00-\x3B\x3D-\x7F]|<\s*[^>]+>)*)|<\s*[^>]+>/i', 'ztjalali_convertToFarsi', $content);
|
47 |
+
return preg_replace_callback('/(?:&#\d{2,4};)|(\d+[\.\d]*)|(?:[a-z](?:[\x20-\x3B\x3D-\x7F]|<\s*[^>]+>)*)|<\s*[^>]+>/i', 'ztjalali_convertToFarsi', $content);
|
48 |
}
|
49 |
/* =================================================================== */
|
50 |
|
54 |
* @param string $str
|
55 |
* @return string
|
56 |
* @since 5.0.0
|
57 |
+
* @see wp-jalali 4.5.3 : inc/farsinum-core.php line 27
|
58 |
*/
|
59 |
function ztjalali_english_num($str) {
|
60 |
global $ztjalali_option;
|
75 |
* @param string $str
|
76 |
* @return string
|
77 |
* @since 5.0.0
|
78 |
+
* @see wp-jalali 4.5.3 : inc/farsinum-core.php line 27
|
79 |
*/
|
80 |
function ztjalali_persian_num($str) {
|
81 |
global $ztjalali_option;
|
95 |
* @param string $content
|
96 |
* @return string
|
97 |
* @since 5.0.0
|
98 |
+
* @see wp-jalali 4.5.3 inc\yk-core.php 44
|
99 |
*/
|
100 |
function ztjalali_ch_arabic_to_persian($content) {
|
101 |
return str_replace(array('ي', 'ك', '٤', '٥', '٦', 'ة'), array('ی', 'ک', '۴', '۵', '۶', 'ه'), $content);
|
137 |
* @param int $year year
|
138 |
* @return string
|
139 |
* @since 5.0.0
|
140 |
+
* @see wp-includes\link-template.php line 439
|
141 |
*/
|
142 |
function ztjalali_year_link($year) {
|
143 |
global $ztjalali_option;
|
155 |
* @param int $month month
|
156 |
* @return string
|
157 |
* @since 5.0.0
|
158 |
+
* @see wp-includes\link-template.php line 471
|
159 |
*/
|
160 |
function ztjalali_month_link($year, $month) {
|
161 |
global $ztjalali_option;
|
174 |
* @param int $day day
|
175 |
* @return string
|
176 |
* @since 5.0.0
|
177 |
+
* @see wp-includes\link-template.php line 508
|
178 |
*/
|
179 |
function ztjalali_day_link($year, $month, $day) {
|
180 |
global $ztjalali_option;
|
181 |
if ($ztjalali_option['change_url_date_to_jalali']) {
|
182 |
$jdate = gregorian_to_jalali($year, $month, $day);
|
183 |
+
return get_day_link($jdate[0], $jdate[1], $jdate[2]);
|
184 |
}
|
185 |
+
return get_day_link($year, $month, $day);
|
186 |
}
|
187 |
/* =================================================================== */
|
wp-jalali-init.php
CHANGED
@@ -10,8 +10,13 @@ function ztjalali_installer() {
|
|
10 |
$options = include JALALI_DIR . 'wp-jalali-config.php';
|
11 |
add_option('ztjalali_options', json_encode($options));
|
12 |
}
|
13 |
-
add_option('ztjalali_do_activation_redirect', true);
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
}
|
16 |
|
17 |
/* =================================================================== */
|
@@ -48,6 +53,21 @@ function ztjalali_get_old_options() {
|
|
48 |
);
|
49 |
}
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
/**
|
52 |
* init function
|
53 |
* @global type $ztjalali_option
|
@@ -101,6 +121,7 @@ function ztjalali_add_settings_link( $links ) {
|
|
101 |
|
102 |
/**
|
103 |
* Enqueue styles & scripts
|
|
|
104 |
*/
|
105 |
// site -------------------------
|
106 |
//add_action('wp_enqueue_scripts', 'ztjalali_reg_css_and_js');
|
@@ -143,6 +164,7 @@ function ztjalali_reg_theme_editor_css_and_js() {
|
|
143 |
|
144 |
/**
|
145 |
* Login Form modifiers
|
|
|
146 |
*/
|
147 |
//add_filter('login_headerurl', 'ztjalali_login_url', 111);
|
148 |
add_filter('login_headertitle', 'ztjalali_login_text', 111);
|
10 |
$options = include JALALI_DIR . 'wp-jalali-config.php';
|
11 |
add_option('ztjalali_options', json_encode($options));
|
12 |
}
|
|
|
13 |
|
14 |
+
$current_version = ztjalali_get_plugin_version();
|
15 |
+
add_option('ztjalali_version',$current_version )
|
16 |
+
OR update_option('ztjalali_version', $current_version );
|
17 |
+
|
18 |
+
add_option('ztjalali_do_activation_redirect', true)
|
19 |
+
OR update_option('ztjalali_do_activation_redirect', true );
|
20 |
}
|
21 |
|
22 |
/* =================================================================== */
|
53 |
);
|
54 |
}
|
55 |
|
56 |
+
add_action('upgrader_process_complete','ztjalali_updater');
|
57 |
+
|
58 |
+
/**
|
59 |
+
* plugin update
|
60 |
+
*/
|
61 |
+
function ztjalali_updater() {
|
62 |
+
$current_ver = ztjalali_get_plugin_version();
|
63 |
+
if($current_ver != get_option('ztjalali_version')){
|
64 |
+
ztjalali_installer();
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
|
69 |
+
/* =================================================================== */
|
70 |
+
|
71 |
/**
|
72 |
* init function
|
73 |
* @global type $ztjalali_option
|
121 |
|
122 |
/**
|
123 |
* Enqueue styles & scripts
|
124 |
+
* @see http://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts
|
125 |
*/
|
126 |
// site -------------------------
|
127 |
//add_action('wp_enqueue_scripts', 'ztjalali_reg_css_and_js');
|
164 |
|
165 |
/**
|
166 |
* Login Form modifiers
|
167 |
+
* @see http://codex.wordpress.org/Plugin_API/Filter_Reference/login_headerurl
|
168 |
*/
|
169 |
//add_filter('login_headerurl', 'ztjalali_login_url', 111);
|
170 |
add_filter('login_headertitle', 'ztjalali_login_text', 111);
|
wp-jalali.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: wp-jalali
|
4 |
Plugin URI: http://wp-persian.com/wp-jalali
|
5 |
Description: Full Jalali calendar support for Wordpress and localization improvements for Persian/Afghan/Tajik users.
|
6 |
-
Version: 5.0.0-
|
7 |
Author: Zakrot Web Solutions (in collaboration with WP-Persian team)
|
8 |
Author URI: http://zakrot.com/
|
9 |
Text Domain: ztjalali
|
3 |
Plugin Name: wp-jalali
|
4 |
Plugin URI: http://wp-persian.com/wp-jalali
|
5 |
Description: Full Jalali calendar support for Wordpress and localization improvements for Persian/Afghan/Tajik users.
|
6 |
+
Version: 5.0.0-RC3
|
7 |
Author: Zakrot Web Solutions (in collaboration with WP-Persian team)
|
8 |
Author URI: http://zakrot.com/
|
9 |
Text Domain: ztjalali
|