Version Description
- Added media files name transliterations
- Remove info.txt
Download this release
Release Info
Developer | YurchenkoEV |
Plugin | WP Translitera |
Version | 160128 |
Comparing to | |
See all releases |
Code changes from version 160119 to 160128
- info.txt +0 -27
- languages/wp_translitera-ru_RU.mo +0 -0
- languages/wp_translitera-ru_RU.po +46 -0
- readme.txt +12 -4
- wp-translitera.php +79 -19
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:
|
6 |
-
Tested up to: 4.5
|
7 |
-
Stable tag:
|
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 |
-
==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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:
|
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
|
|
|
|
|
|
|
|
|
|
|
51 |
. '<form method=POST> '
|
52 |
-
. '<input type="checkbox" name="
|
53 |
-
. '<input type="
|
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,'
|
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=>
|
|
|
96 |
add_action('sanitize_title', array('wp_translitera','transliterate'), 0);
|
97 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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'));
|