blob: 973d050d4c042316f7456bea6c6033d41c30843d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
<?php
global $CONFIG;
//action_gatekeeper();
gatekeeper();
// Fixes for KSES filtering
// fix to allow javascript in href
$CONFIG->allowedprotocols[] = "javascript";
// fix allowed tags
$CONFIG->allowedtags["a"]["onclick"] = array();
$CONFIG->allowedtags["span"]["id"] = array();
// get inputs
$current_language = get_input("current_language");
$translate_input = get_input("translation");
$plugin = get_input("plugin");
$jquery = get_input("jquery", false);
// Preparing jQuery result
$json_result = array();
$json_result["result"] = false;
if(translation_editor_is_translation_editor()){
if(!empty($current_language) && !empty($translate_input) && !empty($plugin)){
$translated = translation_editor_compare_translations($current_language, $translate_input);
if(!empty($translated)){
if(translation_editor_write_translation($current_language, $plugin, $translated)){
if(!$jquery){
system_message(elgg_echo("translation_editor:action:translate:success"));
} else {
$json_result["result"] = true;
}
} else {
if(!$jquery){
register_error(elgg_echo("translation_editor:action:translate:error:write"));
}
}
} else {
translation_editor_delete_translation($current_language, $plugin);
if(!$jquery){
system_message(elgg_echo("translation_editor:action:translate:no_changed_values"));
} else {
$json_result["result"] = true;
}
}
// merge translations
translation_editor_merge_translations($current_language, true);
} else {
if(!$jquery){
register_error(elgg_echo("translation_editor:action:translate:error:input"));
}
}
} else {
if(!$jquery){
register_error(elgg_echo("translation_editor:action:translate:error:not_authorized"));
}
}
if(!$jquery){
forward(REFERER);
} else {
// Send JSON data
$json_string = json_encode($json_result);
header("Content-Type: application/json; charset=UTF-8");
header("Content-Length: " . strlen($json_string));
header("Cache-Control: no-cache");
header("Pragma: no-cache");
echo $json_string;
exit();
}
|