WP Translitera - Version 160128

Version Description

  • Added media files name transliterations
  • Remove info.txt
Download this release

Release Info

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

Code changes from version 160119 to 160128

info.txt DELETED
@@ -1,27 +0,0 @@
1
- //****************************************************
2
- PluginFunction WP ver PHP ver
3
- transliterate 0.0.0 5.2.4
4
- add_menu 1.5.0 5.2.4
5
- GetForm 0.0.0 5.2.4
6
- do_transliterte 0.71 5.2.4
7
- main_settings 0.71 5.2.4
8
-
9
- hook 1.5.2 5.2.4
10
-
11
- //****************************************************
12
- FunctionWP WP ver
13
- add_action 1.2.0
14
- admin_menu 1.5.2
15
- sanitize_title(*,*) 1.0.0
16
- sanitize_title(*,*,*) 3.1.0 -
17
- add_options_page 1.5.0
18
- $wpdb 0.71
19
-
20
- //****************************************************
21
- Function PHP PHP ver
22
- array 5.2.4
23
- filter_input 5.2.4
24
- foreach 5.2.4
25
- empty 5.2.4
26
- strtr 5.2.4
27
- urldecode 5.2.4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/wp_translitera-ru_RU.mo ADDED
Binary file
languages/wp_translitera-ru_RU.po ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: wp_translitera\n"
4
+ "POT-Creation-Date: 2016-01-28 17:31+0200\n"
5
+ "PO-Revision-Date: 2016-01-28 17:32+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.6\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"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __\n"
18
+ "X-Poedit-SearchPath-0: wp-translitera.php\n"
19
+
20
+ #: wp-translitera.php:61
21
+ msgid "Convert existing"
22
+ msgstr "Преобразовать существующие"
23
+
24
+ #: wp-translitera.php:63
25
+ msgid "Pages and posts"
26
+ msgstr "Страницы и посты"
27
+
28
+ #: wp-translitera.php:64
29
+ msgid "Headings, tags etc..."
30
+ msgstr "Рубрики, теги и тд"
31
+
32
+ #: wp-translitera.php:65
33
+ msgid "Transliterate"
34
+ msgstr "Транслитерировать"
35
+
36
+ #: wp-translitera.php:66
37
+ msgid "Settings"
38
+ msgstr "Настройки"
39
+
40
+ #: wp-translitera.php:68
41
+ msgid "Transliterate names of uploads files"
42
+ msgstr "Транслитерировать имена загружаемых файлов"
43
+
44
+ #: wp-translitera.php:69
45
+ msgid "Apply"
46
+ msgstr "Применить"
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: YurchenkoEV
3
  Donate link: http://yur4enko.com/
4
  Tags: translate, rus-to-lat, Seo, tag, record, page
5
- Requires at least: 1.5.2
6
- Tested up to: 4.5-alpha
7
- Stable tag: 4.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -22,7 +22,15 @@ Automatical from repository or unzip in plugins and activate in ACP.
22
 
23
  == Screenshots ==
24
 
25
- == Changelog ==
 
 
 
 
 
 
 
 
26
  = 160119 =
27
  * Update readme.txt
28
  * Added info.txt
2
  Contributors: YurchenkoEV
3
  Donate link: http://yur4enko.com/
4
  Tags: translate, rus-to-lat, Seo, tag, record, page
5
+ Requires at least: 2.9.0
6
+ Tested up to: 4.5
7
+ Stable tag: 160128
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
22
 
23
  == Screenshots ==
24
 
25
+ == Changel
26
+
27
+ = 160128 =
28
+ * Added media files name transliterations
29
+ * Remove info.txt
30
+
31
+ = 160123 =
32
+ * Added multilanguage suport (pot file include)
33
+
34
  = 160119 =
35
  * Update readme.txt
36
  * Added info.txt
wp-translitera.php CHANGED
@@ -3,8 +3,10 @@
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: 160119
7
  Author: Evgen Yurchenko
 
 
8
  Author URI: http://yur4enko.com/
9
  */
10
 
@@ -25,7 +27,8 @@ Author URI: http://yur4enko.com/
25
  Foundation, Inc.
26
  */
27
 
28
- class wp_translitera {
 
29
  public static function transliterate($title) {//wp=>0.0.0 php=>5.2.4
30
  $to = array(
31
  'А'=>'A','а'=>'a','Б'=>'B','б'=>'b','В'=>'V','в'=>'v','Г'=>'G',
@@ -42,19 +45,32 @@ class wp_translitera {
42
  return strtr($title, $to);
43
  }
44
 
 
45
  public static function add_menu(){//wp=>1.5.0 php=>5.2.4
46
  add_options_page('WP Translitera', 'Translitera', 'activate_plugins', __FILE__, array('wp_translitera','main_settings'));
47
  }
48
 
 
 
 
 
 
 
 
49
  public static function GetForm() {//wp=>0.0.0 php=>5.2.4
50
- $ret = '<h2>Настройки:</h2></br>'
 
 
 
 
 
51
  . '<form method=POST> '
52
- . '<input type="checkbox" name="r1" value="1">Страницы и посты<br></br>'
53
- . '<input type="checkbox" name="r2" value="1">Рубрики теги и тд<br></br>'
54
- . '<input type="submit" value="Транслитерировать" name="apply"></form>';
55
  return $ret;
56
  }
57
 
 
58
  public static function do_transliterte($table,$id,$name) {//wp=>0.71 php=>5.2.4
59
  global $wpdb;
60
  $rez = $wpdb->get_results("SELECT {$id}, {$name} FROM {$table} WHERE 1",ARRAY_A);
@@ -65,33 +81,77 @@ class wp_translitera {
65
  }
66
  }
67
  }
68
-
 
69
  public static function main_settings() {//wp=>0.71 php=>5.2.4
70
  global $wpdb;
71
- $act = filter_input(INPUT_POST,'apply');
72
  if (!empty($act)) {
73
  $r1 = filter_input(INPUT_POST, 'r1');
74
  $r2 = filter_input(INPUT_POST, 'r2');
75
  if (!empty($r1)) {
76
  wp_translitera::do_transliterte($wpdb->posts, 'ID', 'post_name');
77
- //$rez = $wpdb->get_results("SELECT ID, post_name FROM {$wpdb->posts} WHERE 1",ARRAY_A);
78
- //foreach ($rez as $value) {
79
- // $wpdb->update($wpdb->posts,array('post_name'=>wp_translitera::prepare_cont($value['post_name'])),array('ID'=>$value['ID']));
80
- //}
81
  }
82
  if (!empty($r2)){
83
  wp_translitera::do_transliterte($wpdb->terms, 'term_id', 'slug');
84
- //$rez = $wpdb->get_results("SELECT term_id, slug FROM {$wpdb->terms} WHERE 1",ARRAY_A);
85
- //foreach ($rez as $value) {
86
- // $wpdb->update($wpdb->terms,array('slug'=>wp_translitera::prepare_cont($value['slug'])),array('term_id'=>$value['term_id']));
87
- //}
88
  }
89
 
90
- }
 
 
 
 
91
  echo wp_translitera::GetForm();
92
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  }
94
 
95
- //wp=>1.5.2 php=>5.2.4
 
96
  add_action('sanitize_title', array('wp_translitera','transliterate'), 0);
97
- add_action('admin_menu', array('wp_translitera', 'add_menu'));
 
 
 
 
 
 
 
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: 160128
7
  Author: Evgen Yurchenko
8
+ Text Domain: wp_translitera
9
+ Domain Path: /languages/
10
  Author URI: http://yur4enko.com/
11
  */
12
 
27
  Foundation, Inc.
28
  */
29
 
30
+ class wp_translitera {//php 5.2.4
31
+ //Процедура преобразования символов
32
  public static function transliterate($title) {//wp=>0.0.0 php=>5.2.4
33
  $to = array(
34
  'А'=>'A','а'=>'a','Б'=>'B','б'=>'b','В'=>'V','в'=>'v','Г'=>'G',
45
  return strtr($title, $to);
46
  }
47
 
48
+ //Добавляем раздел в админку
49
  public static function add_menu(){//wp=>1.5.0 php=>5.2.4
50
  add_options_page('WP Translitera', 'Translitera', 'activate_plugins', __FILE__, array('wp_translitera','main_settings'));
51
  }
52
 
53
+ //Проставляем галочки в чебоксах
54
+ public static function getchebox($name){//wp=>0.0.0 php=>5.2.4
55
+ $value = wp_translitera::getset($name);
56
+ return (empty($value))?'':' checked';
57
+ }
58
+
59
+ //Форма админки
60
  public static function GetForm() {//wp=>0.0.0 php=>5.2.4
61
+ $ret = '<h2>'.__('Convert existing','wp_translitera').':</h2></br>'
62
+ . '<form method=POST> '
63
+ . '<input type="checkbox" name="r1" value="1">'.__('Pages and posts','wp_translitera').'</br>'
64
+ . '<input type="checkbox" name="r2" value="1">'.__('Headings, tags etc...','wp_translitera').'</br>'
65
+ . '<input type="submit" value="'.__('Transliterate','wp_translitera').'" name="transliterate"></form>'
66
+ . '<p><h2>'.__('Settings','wp_translitera').':</h2></br>'
67
  . '<form method=POST> '
68
+ . '<input type="checkbox" name="tranliterate_uploads_file" value="1"'.wp_translitera::getchebox("tranliterate_uploads_file").'>'.__('Transliterate names of uploads files','wp_translitera').'</br>'
69
+ . '<input type="submit" value="'.__('Apply','wp_translitera').'" name="apply"></form>';
 
70
  return $ret;
71
  }
72
 
73
+ //Транслитерация в БД
74
  public static function do_transliterte($table,$id,$name) {//wp=>0.71 php=>5.2.4
75
  global $wpdb;
76
  $rez = $wpdb->get_results("SELECT {$id}, {$name} FROM {$table} WHERE 1",ARRAY_A);
81
  }
82
  }
83
  }
84
+
85
+ //Модуль формы админки
86
  public static function main_settings() {//wp=>0.71 php=>5.2.4
87
  global $wpdb;
88
+ $act = filter_input(INPUT_POST,'transliterate');
89
  if (!empty($act)) {
90
  $r1 = filter_input(INPUT_POST, 'r1');
91
  $r2 = filter_input(INPUT_POST, 'r2');
92
  if (!empty($r1)) {
93
  wp_translitera::do_transliterte($wpdb->posts, 'ID', 'post_name');
 
 
 
 
94
  }
95
  if (!empty($r2)){
96
  wp_translitera::do_transliterte($wpdb->terms, 'term_id', 'slug');
 
 
 
 
97
  }
98
 
99
+ }
100
+ $setupd = filter_input(INPUT_POST, 'apply');
101
+ if (!empty($setupd)){
102
+ wp_translitera::updset('tranliterate_uploads_file', filter_input(INPUT_POST,'tranliterate_uploads_file'));
103
+ }
104
  echo wp_translitera::GetForm();
105
  }
106
+
107
+ //Инициализация языка
108
+ public static function initlang() {//wp=>2.7.0 php=>5.2.4
109
+ load_plugin_textdomain('wp_translitera', false, dirname(plugin_basename(__FILE__)).'/languages');
110
+ }
111
+
112
+ public static function getoptions() {//wp=>1.5.0 php=>5.2.4
113
+ $set = get_option('wp_translitera');
114
+ if (gettype($set) != 'array') {
115
+ $set = array();
116
+ }
117
+ return $set;
118
+ }
119
+
120
+ //Получаем значение настройки
121
+ public static function getset($name) {//wp=>0.0.0 php=>5.2.4
122
+ $set = wp_translitera::getoptions();
123
+ return (array_key_exists($name,$set))?$set[$name]:NULL;
124
+ }
125
+
126
+ //Записываем настройки
127
+ public static function updset($name,$value) {//wp=>1.0.0 php=>5.2.4
128
+ $set = wp_translitera::getoptions();
129
+ $set[$name] = $value;
130
+ update_option('wp_translitera',$set);
131
+ }
132
+
133
+ //Чистка при удалении
134
+ static function tr_delete(){//wp=>1.2.0 php=>5.2.4
135
+ delete_option('wp_translitera');
136
+ }
137
+
138
+ //Транслитерация имени загружаемого файла
139
+ public static function rename_uploads($value) {//wp=>0.0.0 php=>5.2.4
140
+ if (wp_translitera::getset('tranliterate_uploads_file')){
141
+ $value['name'] = wp_translitera::transliterate($value['name']);
142
+ }
143
+ return $value;
144
+ }
145
  }
146
 
147
+ //wp=>2.9.0 php=>5.2.4
148
+ //Преименовывание коротких ссылок
149
  add_action('sanitize_title', array('wp_translitera','transliterate'), 0);
150
+ //Добавляем админ меню
151
+ add_action('admin_menu', array('wp_translitera', 'add_menu'));
152
+ //Загружка языковой поддержки
153
+ add_action('init', array('wp_translitera', 'initlang'));
154
+ //Переименовываение загружаемых файлов
155
+ add_filter('wp_handle_upload_prefilter',array('wp_translitera', 'rename_uploads'));
156
+ //Обработка удаления
157
+ register_uninstall_hook(__FILE__,array('wp_translitera','tr_delete'));