WP Translitera - Version 170510

Version Description

  • () https://wordpress.org/support/topic/wrong-locale-string/
  • ()
  • ()
  • ()
  • ()
  • ()
  • ---
  • fixed initialisation bulgarian locale (transliteration)
  • added custom rules of transliteration (functional)
  • updated upgrade function (core)
  • fixed russian translation (tranclations)
  • add ukranian translation (tranclations)
  • fixed error on remove this plugin (core)
Download this release

Release Info

Developer YurchenkoEV
Plugin Icon wp plugin WP Translitera
Version 170510
Comparing to
See all releases

Code changes from version 170213 to 170510

languages/wp_translitera-ru_RU.mo CHANGED
Binary file
languages/wp_translitera-ru_RU.po CHANGED
@@ -1,15 +1,15 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: wp_translitera\n"
4
- "POT-Creation-Date: 2017-02-12 15:15+0200\n"
5
- "PO-Revision-Date: 2017-02-12 15:16+0200\n"
6
  "Last-Translator: Evgenij Yurchenko <evgen@yur4enko.com>\n"
7
  "Language-Team: \n"
8
  "Language: ru_RU\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.8.11\n"
13
  "X-Poedit-Basepath: ..\n"
14
  "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
  "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
@@ -17,39 +17,39 @@ msgstr ""
17
  "X-Poedit-KeywordsList: __\n"
18
  "X-Poedit-SearchPath-0: wp-translitera.php\n"
19
 
20
- #: wp-translitera.php:109
21
  msgid "Convert existing"
22
  msgstr "Преобразовать существующие"
23
 
24
- #: wp-translitera.php:111
25
  msgid "Pages and posts"
26
  msgstr "Страницы и посты"
27
 
28
- #: wp-translitera.php:112
29
  msgid "Headings, tags etc..."
30
  msgstr "Рубрики, теги и тд"
31
 
32
- #: wp-translitera.php:113
33
  msgid "Transliterate"
34
  msgstr "Транслитерировать"
35
 
36
- #: wp-translitera.php:115 wp-translitera.php:324
37
  msgid "Settings"
38
  msgstr "Настройки"
39
 
40
- #: wp-translitera.php:117
41
  msgid "Use forces transliteration for title"
42
  msgstr "Форсированный режим транслитерации"
43
 
44
- #: wp-translitera.php:118
45
  msgid "Transliterate names of uploads files"
46
  msgstr "Транслитерировать имена загружаемых файлов"
47
 
48
- #: wp-translitera.php:119
49
  msgid "Transliterate 404 url"
50
  msgstr "Транслитерация 404 ссылок"
51
 
52
- #: wp-translitera.php:120
53
  msgid ""
54
  "Use transliteration in frontend for transliteration title out ACP (enable if "
55
  "use bbPress, buddypress, woocommerce etc)"
@@ -58,23 +58,31 @@ msgstr ""
58
  "панели управления ( включить если используете bbPress, buddypress, "
59
  "woocommerce etc)"
60
 
61
- #: wp-translitera.php:121
62
  msgid ""
63
  "File extensions, separated by commas , titles that do not need to "
64
  "transliterate"
65
  msgstr ""
66
- "Расширения файлов, разделенные запятой, заголвки которых не нужно "
67
  "транслитерировать"
68
 
69
- #: wp-translitera.php:122
 
 
 
 
 
 
 
 
70
  msgid "Apply"
71
  msgstr "Применить"
72
 
73
- #: wp-translitera.php:220
74
  msgid "Plugin WP Translitera has been updated,"
75
  msgstr "Плагин WP Trandslitera был обновлен,"
76
 
77
- #: wp-translitera.php:220
78
  msgid "update settings"
79
  msgstr "обновите настройки."
80
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: wp_translitera\n"
4
+ "POT-Creation-Date: 2017-05-10 22:36+0300\n"
5
+ "PO-Revision-Date: 2017-05-10 22:38+0300\n"
6
  "Last-Translator: Evgenij Yurchenko <evgen@yur4enko.com>\n"
7
  "Language-Team: \n"
8
  "Language: ru_RU\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.0.1\n"
13
  "X-Poedit-Basepath: ..\n"
14
  "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
  "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
17
  "X-Poedit-KeywordsList: __\n"
18
  "X-Poedit-SearchPath-0: wp-translitera.php\n"
19
 
20
+ #: wp-translitera.php:131
21
  msgid "Convert existing"
22
  msgstr "Преобразовать существующие"
23
 
24
+ #: wp-translitera.php:133
25
  msgid "Pages and posts"
26
  msgstr "Страницы и посты"
27
 
28
+ #: wp-translitera.php:134
29
  msgid "Headings, tags etc..."
30
  msgstr "Рубрики, теги и тд"
31
 
32
+ #: wp-translitera.php:135
33
  msgid "Transliterate"
34
  msgstr "Транслитерировать"
35
 
36
+ #: wp-translitera.php:137 wp-translitera.php:362
37
  msgid "Settings"
38
  msgstr "Настройки"
39
 
40
+ #: wp-translitera.php:139
41
  msgid "Use forces transliteration for title"
42
  msgstr "Форсированный режим транслитерации"
43
 
44
+ #: wp-translitera.php:140
45
  msgid "Transliterate names of uploads files"
46
  msgstr "Транслитерировать имена загружаемых файлов"
47
 
48
+ #: wp-translitera.php:141
49
  msgid "Transliterate 404 url"
50
  msgstr "Транслитерация 404 ссылок"
51
 
52
+ #: wp-translitera.php:142
53
  msgid ""
54
  "Use transliteration in frontend for transliteration title out ACP (enable if "
55
  "use bbPress, buddypress, woocommerce etc)"
58
  "панели управления ( включить если используете bbPress, buddypress, "
59
  "woocommerce etc)"
60
 
61
+ #: wp-translitera.php:143
62
  msgid ""
63
  "File extensions, separated by commas , titles that do not need to "
64
  "transliterate"
65
  msgstr ""
66
+ "Расширения файлов, разделенные запятой, заголовки которых не нужно "
67
  "транслитерировать"
68
 
69
+ #: wp-translitera.php:144
70
+ msgid ""
71
+ "Custom transliteration rules, in format я=ja (Everyone ruled from a new "
72
+ "line!)"
73
+ msgstr ""
74
+ "Пользовательские правила транслитерации, в формате я=ja (каждое правило с "
75
+ "новой строки!)"
76
+
77
+ #: wp-translitera.php:145
78
  msgid "Apply"
79
  msgstr "Применить"
80
 
81
+ #: wp-translitera.php:247
82
  msgid "Plugin WP Translitera has been updated,"
83
  msgstr "Плагин WP Trandslitera был обновлен,"
84
 
85
+ #: wp-translitera.php:247
86
  msgid "update settings"
87
  msgstr "обновите настройки."
88
 
languages/wp_translitera-uk.mo ADDED
Binary file
languages/wp_translitera-uk.po ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: wp_translitera\n"
4
+ "POT-Creation-Date: 2017-05-10 22:56+0300\n"
5
+ "PO-Revision-Date: 2017-05-10 23:14+0300\n"
6
+ "Language-Team: \n"
7
+ "MIME-Version: 1.0\n"
8
+ "Content-Type: text/plain; charset=UTF-8\n"
9
+ "Content-Transfer-Encoding: 8bit\n"
10
+ "X-Generator: Poedit 2.0.1\n"
11
+ "X-Poedit-Basepath: ..\n"
12
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
13
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
14
+ "X-Poedit-SourceCharset: UTF-8\n"
15
+ "X-Poedit-KeywordsList: __\n"
16
+ "Last-Translator: \n"
17
+ "Language: uk\n"
18
+ "X-Poedit-SearchPath-0: wp-translitera.php\n"
19
+
20
+ #: wp-translitera.php:131
21
+ msgid "Convert existing"
22
+ msgstr "Перетворити існуючі"
23
+
24
+ #: wp-translitera.php:133
25
+ msgid "Pages and posts"
26
+ msgstr "Сторінки та записи"
27
+
28
+ #: wp-translitera.php:134
29
+ msgid "Headings, tags etc..."
30
+ msgstr "Категорії, позначки та інше"
31
+
32
+ #: wp-translitera.php:135
33
+ msgid "Transliterate"
34
+ msgstr "Траслітерувати"
35
+
36
+ #: wp-translitera.php:137 wp-translitera.php:362
37
+ msgid "Settings"
38
+ msgstr "Налаштування"
39
+
40
+ #: wp-translitera.php:139
41
+ msgid "Use forces transliteration for title"
42
+ msgstr "Використовувати примусове транслітерування у назвах"
43
+
44
+ #: wp-translitera.php:140
45
+ msgid "Transliterate names of uploads files"
46
+ msgstr "Транслітерувати назви завантаженних файлів"
47
+
48
+ #: wp-translitera.php:141
49
+ msgid "Transliterate 404 url"
50
+ msgstr "Транслитерувати 404 посилання"
51
+
52
+ #: wp-translitera.php:142
53
+ msgid ""
54
+ "Use transliteration in frontend for transliteration title out ACP (enable if "
55
+ "use bbPress, buddypress, woocommerce etc)"
56
+ msgstr ""
57
+ "Використовувати траслітерацию у фронт-енді для траснлитерації назв поза "
58
+ "панелі керування (вімкнути якщо використовуєте bbPress, buddypress, "
59
+ "woocommerce etc)"
60
+
61
+ #: wp-translitera.php:143
62
+ msgid ""
63
+ "File extensions, separated by commas , titles that do not need to "
64
+ "transliterate"
65
+ msgstr ""
66
+ "Розширення файлів, назви яких не треба транслітерувати, розділені комами"
67
+
68
+ #: wp-translitera.php:144
69
+ msgid ""
70
+ "Custom transliteration rules, in format я=ja (Everyone ruled from a new "
71
+ "line!)"
72
+ msgstr ""
73
+ "Налаштовані користувачем правила транслітерації у форматі я=ja (кожне "
74
+ "правило з нового рядка)"
75
+
76
+ #: wp-translitera.php:145
77
+ msgid "Apply"
78
+ msgstr "Прийняти"
79
+
80
+ #: wp-translitera.php:247
81
+ msgid "Plugin WP Translitera has been updated,"
82
+ msgstr "Плагін WP Translitera оновлено"
83
+
84
+ #: wp-translitera.php:247
85
+ msgid "update settings"
86
+ msgstr "Оновити налаштування"
87
+
88
+ msgid ""
89
+ "Use transliteration in frontend for transliteration title out ACP (enable if "
90
+ "use bbPress, buddypress etc)"
91
+ msgstr ""
languages/wp_translitera.pot ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #, fuzzy
2
+ msgid ""
3
+ msgstr ""
4
+ "Project-Id-Version: wp_translitera\n"
5
+ "POT-Creation-Date: 2017-05-10 22:40+0300\n"
6
+ "PO-Revision-Date: 2017-05-10 22:38+0300\n"
7
+ "Last-Translator: Evgenij Yurchenko <evgen@yur4enko.com>\n"
8
+ "Language-Team: \n"
9
+ "Language: ru_RU\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 2.0.1\n"
14
+ "X-Poedit-Basepath: ..\n"
15
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
16
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-KeywordsList: __\n"
19
+ "X-Poedit-SearchPath-0: wp-translitera.php\n"
20
+
21
+ #: wp-translitera.php:131
22
+ msgid "Convert existing"
23
+ msgstr ""
24
+
25
+ #: wp-translitera.php:133
26
+ msgid "Pages and posts"
27
+ msgstr ""
28
+
29
+ #: wp-translitera.php:134
30
+ msgid "Headings, tags etc..."
31
+ msgstr ""
32
+
33
+ #: wp-translitera.php:135
34
+ msgid "Transliterate"
35
+ msgstr ""
36
+
37
+ #: wp-translitera.php:137 wp-translitera.php:362
38
+ msgid "Settings"
39
+ msgstr ""
40
+
41
+ #: wp-translitera.php:139
42
+ msgid "Use forces transliteration for title"
43
+ msgstr ""
44
+
45
+ #: wp-translitera.php:140
46
+ msgid "Transliterate names of uploads files"
47
+ msgstr ""
48
+
49
+ #: wp-translitera.php:141
50
+ msgid "Transliterate 404 url"
51
+ msgstr ""
52
+
53
+ #: wp-translitera.php:142
54
+ msgid ""
55
+ "Use transliteration in frontend for transliteration title out ACP (enable if "
56
+ "use bbPress, buddypress, woocommerce etc)"
57
+ msgstr ""
58
+
59
+ #: wp-translitera.php:143
60
+ msgid ""
61
+ "File extensions, separated by commas , titles that do not need to "
62
+ "transliterate"
63
+ msgstr ""
64
+
65
+ #: wp-translitera.php:144
66
+ msgid ""
67
+ "Custom transliteration rules, in format я=ja (Everyone ruled from a new "
68
+ "line!)"
69
+ msgstr ""
70
+
71
+ #: wp-translitera.php:145
72
+ msgid "Apply"
73
+ msgstr ""
74
+
75
+ #: wp-translitera.php:247
76
+ msgid "Plugin WP Translitera has been updated,"
77
+ msgstr ""
78
+
79
+ #: wp-translitera.php:247
80
+ msgid "update settings"
81
+ msgstr ""
82
+
83
+ #~ msgid ""
84
+ #~ "Use transliteration in frontend for transliteration title out ACP (enable "
85
+ #~ "if use bbPress, buddypress etc)"
86
+ #~ msgstr ""
87
+ #~ "Использовать транслитерацию во фронтэнде для транслитерации вне панели "
88
+ #~ "управления (включить если используете bbPress, buddypress и др)"
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://yur4enko.com/
4
  Tags: translate, rus-to-lat, cyr-to-lat, Seo, tag, record, page, transliterate, transliteration, bg, bulgarian
5
  Requires at least: 3.2
6
  Tested up to: 4.8
7
- Stable tag: 170213
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -28,6 +28,21 @@ Automatical from repository or unzip in plugins and activate in ACP.
28
 
29
  == Changelog ==
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  = 170213 =
32
  * исправлена ошибка в управлении настройками
33
  * ---
4
  Tags: translate, rus-to-lat, cyr-to-lat, Seo, tag, record, page, transliterate, transliteration, bg, bulgarian
5
  Requires at least: 3.2
6
  Tested up to: 4.8
7
+ Stable tag: 170510
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
28
 
29
  == Changelog ==
30
 
31
+ = 170510 =
32
+ * исправлена инициализация локализации для болгарского (транслитерации) https://wordpress.org/support/topic/wrong-locale-string/
33
+ * добавлены пользовательские правила транслитерации (функционал)
34
+ * обновлена функция обновления (ядро)
35
+ * исправлен русский перевод (переводы)
36
+ * добавлен украинский перевод (переводы)
37
+ * исправлена ошибка удаления плагина (ядро)
38
+ * ---
39
+ * fixed initialisation bulgarian locale (transliteration)
40
+ * added custom rules of transliteration (functional)
41
+ * updated upgrade function (core)
42
+ * fixed russian translation (tranclations)
43
+ * add ukranian translation (tranclations)
44
+ * fixed error on remove this plugin (core)
45
+
46
  = 170213 =
47
  * исправлена ошибка в управлении настройками
48
  * ---
unistall.php → uninstall.php RENAMED
File without changes
wp-translitera.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: WP Translitera
4
  Plugin URI: http://yur4enko.com/category/moi-proekty/wp-translitera
5
  Description: Plug-in for transliteration permanent permalink records , pages, and tag
6
- Version: 170213
7
  Author: Evgen Yurchenko
8
  Text Domain: wp_translitera
9
  Domain Path: /languages/
@@ -59,7 +59,7 @@ class wp_translitera {//wp=>3.2 php=>5.2.4
59
  'Ш'=>'Sh','ш'=>'sh','Щ'=>'Shch','щ'=>'shch','Ь'=>'','ь'=>'','Ю'=>'Iu',
60
  'ю'=>'iu','Я'=>'Ia','я'=>'ia',"'"=>''
61
  );
62
- } elseif($loc == 'bg') {//bulgarian locale
63
  $ret = array(
64
  'А'=>'A','а'=>'a','Б'=>'B','б'=>'b','В'=>'V','в'=>'v','Г'=>'G',
65
  'г'=>'g','Д'=>'D','д'=>'d','Е'=>'E','е'=>'e','Ё'=>'Jo','ё'=>'jo',
@@ -87,9 +87,27 @@ class wp_translitera {//wp=>3.2 php=>5.2.4
87
  'Ю'=>'Ju','ю'=>'ju','Я'=>'Ja','я'=>'ja','Ґ'=>'G','ґ'=>'g','Є'=>'Ie',
88
  'є'=>'ie','І'=>'I','і'=>'i','Ї'=>'I','ї'=>'i',"'"=>''
89
  );
 
 
90
  return $ret;
91
  }
92
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  //Проставляем галочки в чебоксах
94
  protected static function getchebox($name){//wp=>3.2 php=>5.2.4
95
  $value = wp_translitera::getset($name);
@@ -106,6 +124,15 @@ class wp_translitera {//wp=>3.2 php=>5.2.4
106
  if (!empty($extforform)){
107
  $extforform = substr($extforform, 0, -1);
108
  }
 
 
 
 
 
 
 
 
 
109
  $ret = '<h2>'.__('Convert existing','wp_translitera').':</h2></br>'
110
  . '<form method=POST> '
111
  . '<input type="checkbox" name="r1" value="1">'.__('Pages and posts','wp_translitera').'</br>'
@@ -117,8 +144,9 @@ class wp_translitera {//wp=>3.2 php=>5.2.4
117
  . '<input type="checkbox" name="use_force_transliterations" value="1"'.wp_translitera::getchebox("use_force_transliterations").'>'.__('Use forces transliteration for title','wp_translitera').'</br>'
118
  . '<input type="checkbox" name="tranliterate_uploads_file" value="1"'.wp_translitera::getchebox("tranliterate_uploads_file").'>'.__('Transliterate names of uploads files','wp_translitera').'</br>'
119
  . '<input type="checkbox" name="tranliterate_404" value="1"'.wp_translitera::getchebox("tranliterate_404").'>'.__('Transliterate 404 url','wp_translitera').'</br>'
120
- . '<input type="checkbox" name="init_in_front" value="1"'.wp_translitera::getchebox("init_in_front").'><span style="font-weight:bold;color:red">'.__('Use transliteration in frontend for transliteration title out ACP (enable if use bbPress, buddypress, woocommerce etc)','wp_translitera').'</span></br>'
121
  . __('File extensions, separated by commas , titles that do not need to transliterate','wp_translitera').'<input type="text" size="80" name="typefiles" value="'.$extforform.'"></br>'
 
122
  . '<input type="submit" value="'.__('Apply','wp_translitera').'" name="apply">'
123
  . '</form>';
124
  return $ret;
@@ -180,8 +208,21 @@ class wp_translitera {//wp=>3.2 php=>5.2.4
180
  wp_translitera::updateoption($set);
181
  }
182
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  //Обнволение БД
184
  protected static function update_bd($from) {//wp=>3.2 php=>5.2.4
 
185
  if (empty($from)) {
186
  $from = 160819;
187
  }
@@ -189,9 +230,10 @@ class wp_translitera {//wp=>3.2 php=>5.2.4
189
  if (wp_translitera::getset('fileext') == NULL) {
190
  wp_translitera::updset('fileext', array());
191
  }
 
192
  $from = 161011;
193
  }
194
- if ($from = 161011) {
195
  if (is_multisite()) {
196
  $set = wp_translitera::getoptions();
197
  global $wpdb;
@@ -207,9 +249,16 @@ class wp_translitera {//wp=>3.2 php=>5.2.4
207
  switch_to_blog( $original_blog_id );
208
  }
209
 
210
- add_action('admin_notices',array('wp_translitera','notice_admin_plugin_updated'));
211
  $from = 170212;
212
  }
 
 
 
 
 
 
 
213
 
214
  wp_translitera::updset('version', $from);
215
  }
@@ -247,6 +296,17 @@ class wp_translitera {//wp=>3.2 php=>5.2.4
247
  $sets['fileext'] = explode(',', filter_input(INPUT_POST, 'typefiles'));
248
  $sets['use_force_transliterations'] = filter_input(INPUT_POST, 'use_force_transliterations');
249
  $sets['init_in_front'] = filter_input(INPUT_POST, 'init_in_front');
 
 
 
 
 
 
 
 
 
 
 
250
  wp_translitera::updsets($sets);
251
  }
252
  echo wp_translitera::GetForm();
3
  Plugin Name: WP Translitera
4
  Plugin URI: http://yur4enko.com/category/moi-proekty/wp-translitera
5
  Description: Plug-in for transliteration permanent permalink records , pages, and tag
6
+ Version: 170510
7
  Author: Evgen Yurchenko
8
  Text Domain: wp_translitera
9
  Domain Path: /languages/
59
  'Ш'=>'Sh','ш'=>'sh','Щ'=>'Shch','щ'=>'shch','Ь'=>'','ь'=>'','Ю'=>'Iu',
60
  'ю'=>'iu','Я'=>'Ia','я'=>'ia',"'"=>''
61
  );
62
+ } elseif($loc == 'bg' || $loc == 'bg_BG') {//bulgarian locale
63
  $ret = array(
64
  'А'=>'A','а'=>'a','Б'=>'B','б'=>'b','В'=>'V','в'=>'v','Г'=>'G',
65
  'г'=>'g','Д'=>'D','д'=>'d','Е'=>'E','е'=>'e','Ё'=>'Jo','ё'=>'jo',
87
  'Ю'=>'Ju','ю'=>'ju','Я'=>'Ja','я'=>'ja','Ґ'=>'G','ґ'=>'g','Є'=>'Ie',
88
  'є'=>'ie','І'=>'I','і'=>'i','Ї'=>'I','ї'=>'i',"'"=>''
89
  );
90
+ //Кстомные правила транслитерации
91
+ $ret = wp_translitera::get_custom_rules_for_transliterate() + $ret;
92
  return $ret;
93
  }
94
+
95
+ //Преобразуем кастомные правила в оба регистра
96
+ // добавлено в 170510
97
+ // Возвращает - МАССИВ пользовтаельских правил с заглавными буквами
98
+ protected static function get_custom_rules_for_transliterate() {//wp=>3.2 php=>5.2.4
99
+ $rules = json_decode(wp_translitera::getset('custom_rules'),TRUE);
100
+ $tr_rules = array();
101
+ if (gettype($rules) != 'array') {
102
+ $rules = array();
103
+ }
104
+ foreach ($rules as $key => $value) {
105
+ $tr_rules[$key] = $value;
106
+ $tr_rules[mb_strtoupper($key,'UTF-8')] = mb_strtoupper($value{0},'UTF-8').substr($value, 1);
107
+ }
108
+ return $tr_rules;
109
+ }
110
+
111
  //Проставляем галочки в чебоксах
112
  protected static function getchebox($name){//wp=>3.2 php=>5.2.4
113
  $value = wp_translitera::getset($name);
124
  if (!empty($extforform)){
125
  $extforform = substr($extforform, 0, -1);
126
  }
127
+ $customrulesinjson = wp_translitera::getset('custom_rules');
128
+ $customrulesarray = json_decode($customrulesinjson, TRUE);
129
+ if (gettype($customrulesarray) != 'array') {
130
+ $customrulesarray = array();
131
+ }
132
+ $customrulesstring = '';
133
+ foreach ($customrulesarray as $key => $value) {
134
+ $customrulesstring .=$key.'='.$value.PHP_EOL;
135
+ }
136
  $ret = '<h2>'.__('Convert existing','wp_translitera').':</h2></br>'
137
  . '<form method=POST> '
138
  . '<input type="checkbox" name="r1" value="1">'.__('Pages and posts','wp_translitera').'</br>'
144
  . '<input type="checkbox" name="use_force_transliterations" value="1"'.wp_translitera::getchebox("use_force_transliterations").'>'.__('Use forces transliteration for title','wp_translitera').'</br>'
145
  . '<input type="checkbox" name="tranliterate_uploads_file" value="1"'.wp_translitera::getchebox("tranliterate_uploads_file").'>'.__('Transliterate names of uploads files','wp_translitera').'</br>'
146
  . '<input type="checkbox" name="tranliterate_404" value="1"'.wp_translitera::getchebox("tranliterate_404").'>'.__('Transliterate 404 url','wp_translitera').'</br>'
147
+ . '<input type="checkbox" name="init_in_front" value="1"'.wp_translitera::getchebox("init_in_front").'>'.__('Use transliteration in frontend for transliteration title out ACP (enable if use bbPress, buddypress, woocommerce etc)','wp_translitera').'</br>'
148
  . __('File extensions, separated by commas , titles that do not need to transliterate','wp_translitera').'<input type="text" size="80" name="typefiles" value="'.$extforform.'"></br>'
149
+ . '<label style="color:red;font-weight:800">'.__('Custom transliteration rules, in format я=ja (Everyone ruled from a new line!)','wp_translitera').'</label></br><textarea name="customrules" cols="30" rows="10">'.$customrulesstring.'</textarea></br>'
150
  . '<input type="submit" value="'.__('Apply','wp_translitera').'" name="apply">'
151
  . '</form>';
152
  return $ret;
208
  wp_translitera::updateoption($set);
209
  }
210
 
211
+ //Выводим сообщение об обновлении
212
+ // добавлено в 170510
213
+ // принимает БУЛЕВО необходимость выводить сообщение
214
+ // возвращает БУЛЕВО необходимость выводить сообщение
215
+ protected static function updnotice($need_notice) {//wp=>3.2 php=>5.2.4
216
+ if ($need_notice) {
217
+ add_action('admin_notices',array('wp_translitera','notice_admin_plugin_updated'));
218
+ }
219
+
220
+ return FALSE;
221
+ }
222
+
223
  //Обнволение БД
224
  protected static function update_bd($from) {//wp=>3.2 php=>5.2.4
225
+ $need_notice = TRUE;
226
  if (empty($from)) {
227
  $from = 160819;
228
  }
230
  if (wp_translitera::getset('fileext') == NULL) {
231
  wp_translitera::updset('fileext', array());
232
  }
233
+ wp_translitera::updnotice($need_notice);
234
  $from = 161011;
235
  }
236
+ if ($from == 161011) {
237
  if (is_multisite()) {
238
  $set = wp_translitera::getoptions();
239
  global $wpdb;
249
  switch_to_blog( $original_blog_id );
250
  }
251
 
252
+ wp_translitera::updnotice($need_notice);
253
  $from = 170212;
254
  }
255
+ if ($from == 170212) {
256
+ if (file_exists(__DIR__.'/unistall.php')) {
257
+ unlink(__DIR__.'/unistall.php');
258
+ }
259
+ wp_translitera::updnotice($need_notice);
260
+ $from = 170510;
261
+ }
262
 
263
  wp_translitera::updset('version', $from);
264
  }
296
  $sets['fileext'] = explode(',', filter_input(INPUT_POST, 'typefiles'));
297
  $sets['use_force_transliterations'] = filter_input(INPUT_POST, 'use_force_transliterations');
298
  $sets['init_in_front'] = filter_input(INPUT_POST, 'init_in_front');
299
+ $rulesstring = filter_input(INPUT_POST, 'customrules');
300
+ $rulesrawarray = explode(PHP_EOL, $rulesstring);
301
+ $rulesarray = array();
302
+ foreach ($rulesrawarray as $value) {
303
+ if (empty($value) || $value == '=') {
304
+ continue;
305
+ }
306
+ $tmp = explode('=', $value);
307
+ $rulesarray[$tmp[0]] = $tmp[1];
308
+ }
309
+ $sets['custom_rules'] = json_encode($rulesarray);
310
  wp_translitera::updsets($sets);
311
  }
312
  echo wp_translitera::GetForm();