Zeile 20 | Zeile 20 |
---|
$plugins->run_hooks("admin_config_languages_begin");
|
$plugins->run_hooks("admin_config_languages_begin");
|
| $no_write = null;
|
if($mybb->input['action'] == "edit_properties") { $editlang = basename($mybb->input['lang']);
| if($mybb->input['action'] == "edit_properties") { $editlang = basename($mybb->input['lang']);
|
Zeile 94 | Zeile 95 |
---|
log_admin_action($editlang);
flash_message($lang->success_langprops_updated, 'success');
|
log_admin_action($editlang);
flash_message($lang->success_langprops_updated, 'success');
|
admin_redirect("index.php?module=config-languages&action=edit&lang={$editlang}&editwith={$editwith}");
| admin_redirect("index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($editlang)."&editwith=".htmlspecialchars_uni($editlang));
|
} else {
| } else {
|
Zeile 102 | Zeile 103 |
---|
} }
|
} }
|
$page->add_breadcrumb_item(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editlang]), "index.php?module=config-languages&action=edit&lang={$editlang}");
| $page->add_breadcrumb_item(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editlang])), "index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($editlang));
|
$page->add_breadcrumb_item($lang->nav_editing_set);
$page->output_header($lang->languages);
| $page->add_breadcrumb_item($lang->nav_editing_set);
$page->output_header($lang->languages);
|
Zeile 181 | Zeile 182 |
---|
{ // Validate input $editlang = basename($mybb->input['lang']);
|
{ // Validate input $editlang = basename($mybb->input['lang']);
|
| if(in_array($editlang, array('.', '..'))) { flash_message($lang->error_folders_fail, 'error'); admin_redirect("index.php?module=config-languages"); }
|
$folder = MYBB_ROOT."inc/languages/".$editlang."/";
|
$folder = MYBB_ROOT."inc/languages/".$editlang."/";
|
$page->add_breadcrumb_item(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editlang]), "index.php?module=config-languages&action=quick_edit&lang={$editlang}");
| $page->add_breadcrumb_item(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editlang])), "index.php?module=config-languages&action=quick_edit&lang=".htmlspecialchars_uni($editlang));
|
// Validate that this language pack really exists if(file_exists(MYBB_ROOT."inc/languages/".$editlang.".php")) { // Then validate language pack folders (and try to fix them if missing)
|
// Validate that this language pack really exists if(file_exists(MYBB_ROOT."inc/languages/".$editlang.".php")) { // Then validate language pack folders (and try to fix them if missing)
|
@mkdir($folder); @mkdir($folder."admin");
| if(!is_dir($folder)) { @mkdir($folder); } if(!is_dir($folder."admin")) { @mkdir($folder."admin"); }
|
}
if(!file_exists($folder) || !file_exists($folder."admin"))
| }
if(!file_exists($folder) || !file_exists($folder."admin"))
|
Zeile 250 | Zeile 264 |
---|
$lang_file_credits .= "// MyBB Language Pack File.\n"; $lang_file_credits .= "// This file has been generated by MyBB - buildin language pack editor.\n"; $lang_file_credits .= "// ".str_repeat('=',80)."\n";
|
$lang_file_credits .= "// MyBB Language Pack File.\n"; $lang_file_credits .= "// This file has been generated by MyBB - buildin language pack editor.\n"; $lang_file_credits .= "// ".str_repeat('=',80)."\n";
|
$lang_file_credits .= "// Friendly name of the language : ".preg_replace("#<\?|\?>#i", " ", $langinfo['name'])."\n"; $lang_file_credits .= "// Author of the language pack : ".preg_replace("#<\?|\?>#i", " ", $langinfo['author'])."\n"; $lang_file_credits .= "// Language pack translators website : ".preg_replace("#<\?|\?>#i", " ", $langinfo['website'])."\n"; $lang_file_credits .= "// Compatible version of MyBB : ".preg_replace("#<\?|\?>#i", " ", $langinfo['version'])."\n"; $lang_file_credits .= "// Last edited in MyBB Editor by : ".preg_replace("#<\?|\?>#i", " ", $mybb->user['username'])."\n";
| $lang_file_credits .= "// Friendly name of the language : ".preg_replace("#<\?|\?>|\r|\n#i", " ", $langinfo['name'])."\n"; $lang_file_credits .= "// Author of the language pack : ".preg_replace("#<\?|\?>|\r|\n#i", " ", $langinfo['author'])."\n"; $lang_file_credits .= "// Language pack translators website : ".preg_replace("#<\?|\?>|\r|\n#i", " ", $langinfo['website'])."\n"; $lang_file_credits .= "// Compatible version of MyBB : ".preg_replace("#<\?|\?>|\r|\n#i", " ", $langinfo['version'])."\n"; $lang_file_credits .= "// Last edited in MyBB Editor by : ".preg_replace("#<\?|\?>|\r|\n#i", " ", $mybb->user['username'])."\n";
|
$lang_file_credits .= "// Last edited date : ".gmdate("r")."\n"; $lang_file_credits .= "// ".str_repeat('-',80)."\n\n";
| $lang_file_credits .= "// Last edited date : ".gmdate("r")."\n"; $lang_file_credits .= "// ".str_repeat('-',80)."\n\n";
|
Zeile 263 | Zeile 277 |
---|
{ $contents_wfile .= "\$l['".$key."'] = ".var_export($value, true).";\n"; }
|
{ $contents_wfile .= "\$l['".$key."'] = ".var_export($value, true).";\n"; }
|
|
|
flock($fp, LOCK_EX); fwrite($fp, $contents_wfile); flock($fp, LOCK_UN); fclose($fp);
|
flock($fp, LOCK_EX); fwrite($fp, $contents_wfile); flock($fp, LOCK_UN); fclose($fp);
|
}
| }
|
else { // One of files failed $editsuccess = false; } }
|
else { // One of files failed $editsuccess = false; } }
|
|
|
if($editsuccess == true) { // Log admin action log_admin_action($editlang);
|
if($editsuccess == true) { // Log admin action log_admin_action($editlang);
|
|
|
flash_message($lang->success_quickphrases_updated, 'success'); admin_redirect('index.php?module=config-languages&action=edit&lang='.$editlang);
|
flash_message($lang->success_quickphrases_updated, 'success'); admin_redirect('index.php?module=config-languages&action=edit&lang='.$editlang);
|
} } }
$page->output_header($lang->languages);
| } } }
$page->output_header($lang->languages);
|
$sub_tabs['language_files'] = array( 'title' => $lang->language_files,
| $sub_tabs['language_files'] = array( 'title' => $lang->language_files,
|
Zeile 300 | Zeile 314 |
---|
'link' => "index.php?module=config-languages&action=quick_phrases&lang=".$editlang, 'description' => $lang->quick_phrases_desc );
|
'link' => "index.php?module=config-languages&action=quick_phrases&lang=".$editlang, 'description' => $lang->quick_phrases_desc );
|
|
|
$page->output_nav_tabs($sub_tabs, 'quick_phrases');
$form = new Form('index.php?module=config-languages&action=quick_phrases&lang='.$editlang, 'post', 'quick_phrases');
| $page->output_nav_tabs($sub_tabs, 'quick_phrases');
$form = new Form('index.php?module=config-languages&action=quick_phrases&lang='.$editlang, 'post', 'quick_phrases');
|
Zeile 323 | Zeile 337 |
---|
}
if($no_write)
|
}
if($no_write)
|
{ $page->output_alert($lang->alert_note_cannot_write);
| { $page->output_alert($lang->alert_note_cannot_write);
|
}
$form_container = new FormContainer($lang->quick_phrases);
| }
$form_container = new FormContainer($lang->quick_phrases);
|
Zeile 345 | Zeile 359 |
---|
$value = $l[$phrase]; if(my_strtolower($langinfo['charset']) == "utf-8") {
|
$value = $l[$phrase]; if(my_strtolower($langinfo['charset']) == "utf-8") {
|
$value = preg_replace_callback("#%u([0-9A-F]{1,4})#i", create_function('$matches', 'return dec_to_utf8(hexdec($matches[1]));'), $value);
| $value = preg_replace_callback("#%u([0-9A-F]{1,4})#i", 'encode_language_string_utf8', $value);
|
} else {
|
} else {
|
$value = preg_replace_callback("#%u([0-9A-F]{1,4})#i", create_function('$matches', 'return "&#".hexdec($matches[1]).";";'), $value);
| $value = preg_replace_callback("#%u([0-9A-F]{1,4})#i", 'encode_language_string', $value);
|
}
|
}
|
|
|
$form_container->output_row($description, $phrase, $form->generate_text_area("edit[$phrase]", $value, array('id' => 'lang_'.$phrase, 'rows' => 2, 'class' => "langeditor_textarea_edit {$quickphrases_dir_class}")), 'lang_'.$phrase, array('width' => '50%')); } }
| $form_container->output_row($description, $phrase, $form->generate_text_area("edit[$phrase]", $value, array('id' => 'lang_'.$phrase, 'rows' => 2, 'class' => "langeditor_textarea_edit {$quickphrases_dir_class}")), 'lang_'.$phrase, array('width' => '50%')); } }
|
Zeile 370 | Zeile 384 |
---|
{ // Validate input $editlang = basename($mybb->input['lang']);
|
{ // Validate input $editlang = basename($mybb->input['lang']);
|
| if(in_array($editlang, array('.', '..'))) { flash_message($lang->error_folders_fail, 'error'); admin_redirect("index.php?module=config-languages"); }
|
$folder = MYBB_ROOT."inc/languages/".$editlang."/";
|
$folder = MYBB_ROOT."inc/languages/".$editlang."/";
|
$page->add_breadcrumb_item(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editlang]), "index.php?module=config-languages&action=edit&lang={$editlang}");
| $page->add_breadcrumb_item(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editlang])), "index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($editlang));
$editwith = basename($mybb->get_input('editwith'));
if(in_array($editwith, array('.', '..'))) { flash_message($lang->error_folders_fail, 'error'); admin_redirect("index.php?module=config-languages"); }
|
|
|
$editwith = basename($mybb->input['editwith']);
| |
$editwithfolder = '';
if($editwith)
| $editwithfolder = '';
if($editwith)
|
Zeile 386 | Zeile 415 |
---|
if(file_exists(MYBB_ROOT."inc/languages/".$editlang.".php")) { // Then validate edited language pack folders (and try to fix them if missing)
|
if(file_exists(MYBB_ROOT."inc/languages/".$editlang.".php")) { // Then validate edited language pack folders (and try to fix them if missing)
|
@mkdir($folder); @mkdir($folder."admin");
| if(!is_dir($folder)) { @mkdir($folder); } if(!is_dir($folder."admin")) { @mkdir($folder."admin"); }
|
}
if(!file_exists($folder) || !file_exists($folder."admin"))
|
}
if(!file_exists($folder) || !file_exists($folder."admin"))
|
{
| {
|
flash_message($lang->error_folders_fail, 'error');
|
flash_message($lang->error_folders_fail, 'error');
|
admin_redirect("index.php?module=config-languages"); }
| admin_redirect("index.php?module=config-languages"); }
|
// If we edit in compare mode, verify that at least folders of compared language exists if($editwithfolder && (!file_exists($editwithfolder) || !file_exists($editwithfolder))) {
| // If we edit in compare mode, verify that at least folders of compared language exists if($editwithfolder && (!file_exists($editwithfolder) || !file_exists($editwithfolder))) {
|
Zeile 404 | Zeile 439 |
---|
}
$plugins->run_hooks("admin_config_languages_edit");
|
}
$plugins->run_hooks("admin_config_languages_edit");
|
|
|
if(isset($mybb->input['file'])) { // Validate input $file = basename($mybb->input['file']);
|
if(isset($mybb->input['file'])) { // Validate input $file = basename($mybb->input['file']);
|
if($mybb->input['inadmin'] == 1)
| if(in_array($file, array('.', '..'))) { flash_message($lang->error_folders_fail, 'error'); admin_redirect("index.php?module=config-languages"); }
if($mybb->get_input('inadmin') == 1)
|
{ $file = 'admin/'.$file; }
|
{ $file = 'admin/'.$file; }
|
$page->add_breadcrumb_item($file);
| $page->add_breadcrumb_item(htmlspecialchars_uni($file));
|
$editfile = $folder.$file; $withfile = '';
| $editfile = $folder.$file; $withfile = '';
|
Zeile 432 | Zeile 474 |
---|
@include $editfile; $valid_keys = (array)$l; unset($l);
|
@include $editfile; $valid_keys = (array)$l; unset($l);
|
@include $editwithfile; $valid_keys = array_merge($valid_keys, (array)$l); unset($l);
| if(!empty($editwithfile)) { @include $editwithfile; } if(!empty($l)) { $valid_keys = array_merge($valid_keys, (array)$l); } unset($l);
$contents_wfile = null;
|
// Then fetch from input only valid keys foreach($valid_keys as $key => $value) {
| // Then fetch from input only valid keys foreach($valid_keys as $key => $value) {
|
Zeile 444 | Zeile 495 |
---|
// Save edited language file if($fp = @fopen($editfile, "w"))
|
// Save edited language file if($fp = @fopen($editfile, "w"))
|
{
| {
|
// We need info about edited language files to generate credits for our file require MYBB_ROOT."inc/languages/".$editlang.".php";
| // We need info about edited language files to generate credits for our file require MYBB_ROOT."inc/languages/".$editlang.".php";
|
Zeile 457 | Zeile 508 |
---|
$lang_file_credits .= "// MyBB Language Pack File.\n"; $lang_file_credits .= "// This file has been generated by MyBB - buildin language pack editor.\n"; $lang_file_credits .= "// ".str_repeat('=',80)."\n";
|
$lang_file_credits .= "// MyBB Language Pack File.\n"; $lang_file_credits .= "// This file has been generated by MyBB - buildin language pack editor.\n"; $lang_file_credits .= "// ".str_repeat('=',80)."\n";
|
$lang_file_credits .= "// Friendly name of the language : ".preg_replace("#<\?|\?>#i", " ", $langinfo['name'])."\n"; $lang_file_credits .= "// Author of the language pack : ".preg_replace("#<\?|\?>#i", " ", $langinfo['author'])."\n"; $lang_file_credits .= "// Language pack translators website : ".preg_replace("#<\?|\?>#i", " ", $langinfo['website'])."\n"; $lang_file_credits .= "// Compatible version of MyBB : ".preg_replace("#<\?|\?>#i", " ", $langinfo['version'])."\n"; $lang_file_credits .= "// Last edited in MyBB Editor by : ".preg_replace("#<\?|\?>#i", " ", $mybb->user['username'])."\n";
| $lang_file_credits .= "// Friendly name of the language : ".preg_replace("#<\?|\?>|\r|\n#i", " ", $langinfo['name'])."\n"; $lang_file_credits .= "// Author of the language pack : ".preg_replace("#<\?|\?>|\r|\n#i", " ", $langinfo['author'])."\n"; $lang_file_credits .= "// Language pack translators website : ".preg_replace("#<\?|\?>|\r|\n#i", " ", $langinfo['website'])."\n"; $lang_file_credits .= "// Compatible version of MyBB : ".preg_replace("#<\?|\?>|\r|\n#i", " ", $langinfo['version'])."\n"; $lang_file_credits .= "// Last edited in MyBB Editor by : ".preg_replace("#<\?|\?>|\r|\n#i", " ", $mybb->user['username'])."\n";
|
$lang_file_credits .= "// Last edited date : ".gmdate("r")."\n"; $lang_file_credits .= "// ".str_repeat('-',80)."\n\n";
| $lang_file_credits .= "// Last edited date : ".gmdate("r")."\n"; $lang_file_credits .= "// ".str_repeat('-',80)."\n\n";
|
Zeile 478 | Zeile 529 |
---|
log_admin_action($editlang, $editfile, $mybb->get_input('inadmin', MyBB::INPUT_INT));
flash_message($lang->success_langfile_updated, 'success');
|
log_admin_action($editlang, $editfile, $mybb->get_input('inadmin', MyBB::INPUT_INT));
flash_message($lang->success_langfile_updated, 'success');
|
admin_redirect("index.php?module=config-languages&action=edit&lang={$editlang}&editwith={$editwith}");
| admin_redirect("index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($editlang)."&editwith=".htmlspecialchars_uni($editwith));
|
} else {
| } else {
|
Zeile 486 | Zeile 537 |
---|
} }
|
} }
|
unset($langinfo); @include MYBB_ROOT."inc/languages/".$editwith.".php"; $editwith_dir_class = " langeditor_ltr"; if((int)$langinfo['rtl'] > 0) { $editwith_dir_class = " langeditor_rtl"; }
| if(!empty($editwith)) { unset($langinfo); @include MYBB_ROOT."inc/languages/".$editwith.".php"; $editwith_dir_class = " langeditor_ltr"; if((int)$langinfo['rtl'] > 0) { $editwith_dir_class = " langeditor_rtl"; } }
|
unset($langinfo); @include MYBB_ROOT."inc/languages/".$editlang.".php"; $editlang_dir_class = " langeditor_ltr"; if((int)$langinfo['rtl'] > 0) { $editlang_dir_class = " langeditor_rtl";
|
unset($langinfo); @include MYBB_ROOT."inc/languages/".$editlang.".php"; $editlang_dir_class = " langeditor_ltr"; if((int)$langinfo['rtl'] > 0) { $editlang_dir_class = " langeditor_rtl";
|
}
// Build and output form with edited phrases
| }
// Build and output form with edited phrases
|
// Get file being edited in an array
|
// Get file being edited in an array
|
@include $editfile; $editvars = (array)$l;
| $editvars = array();
|
unset($l);
|
unset($l);
|
| @include $editfile; if(isset($l)) { $editvars = (array)$l; unset($l); }
|
$withvars = array(); // Get edit with file in an array if exists
| $withvars = array(); // Get edit with file in an array if exists
|
Zeile 529 | Zeile 588 |
---|
$page->output_nav_tabs($sub_tabs, "edit_language_variables");
$form = new Form("index.php?module=config-languages&action=edit", "post", "edit");
|
$page->output_nav_tabs($sub_tabs, "edit_language_variables");
$form = new Form("index.php?module=config-languages&action=edit", "post", "edit");
|
echo $form->generate_hidden_field("file", htmlspecialchars_uni($file));
| echo $form->generate_hidden_field("file", $file);
|
echo $form->generate_hidden_field("lang", $editlang); echo $form->generate_hidden_field("editwith", $editwith); echo $form->generate_hidden_field("inadmin", $mybb->get_input('inadmin', MyBB::INPUT_INT));
| echo $form->generate_hidden_field("lang", $editlang); echo $form->generate_hidden_field("editwith", $editwith); echo $form->generate_hidden_field("inadmin", $mybb->get_input('inadmin', MyBB::INPUT_INT));
|
Zeile 551 | Zeile 610 |
---|
{ // Editing with another file
|
{ // Editing with another file
|
$form_container->output_row_header(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editwith])); $form_container->output_row_header(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editlang]));
| $form_container->output_row_header(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editwith]))); $form_container->output_row_header(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editlang])));
|
foreach($withvars as $key => $value) { if(my_strtolower($langinfo['charset']) == "utf-8") {
|
foreach($withvars as $key => $value) { if(my_strtolower($langinfo['charset']) == "utf-8") {
|
$withvars[$key] = preg_replace_callback("#%u([0-9A-F]{1,4})#i", create_function('$matches', 'return dec_to_utf8(hexdec($matches[1]));'), $withvars[$key]); $editvars[$key] = preg_replace_callback("#%u([0-9A-F]{1,4})#i", create_function('$matches', 'return dec_to_utf8(hexdec($matches[1]));'), $editvars[$key]);
| $withvars[$key] = preg_replace_callback("#%u([0-9A-F]{1,4})#i", 'encode_language_string_utf8', $withvars[$key]); $editvars[$key] = preg_replace_callback("#%u([0-9A-F]{1,4})#i", 'encode_language_string_utf8', $editvars[$key]);
|
} else {
|
} else {
|
$withvars[$key] = preg_replace_callback("#%u([0-9A-F]{1,4})#i", create_function('$matches', 'return dec_to_utf8(hexdec($matches[1]));'), $withvars[$key]); $editvars[$key] = preg_replace_callback("#%u([0-9A-F]{1,4})#i", create_function('$matches', 'return "&#".hexdec($matches[1]).";";'), $editvars[$key]);
| $withvars[$key] = preg_replace_callback("#%u([0-9A-F]{1,4})#i", 'encode_language_string_utf8', $withvars[$key]); $editvars[$key] = preg_replace_callback("#%u([0-9A-F]{1,4})#i", 'encode_language_string', $editvars[$key]);
|
}
// Find problems and differences in editfile in comparision to editwithfile
| }
// Find problems and differences in editfile in comparision to editwithfile
|
Zeile 595 | Zeile 654 |
---|
{ if(my_strtolower($langinfo['charset']) == "utf-8") {
|
{ if(my_strtolower($langinfo['charset']) == "utf-8") {
|
$editvars[$key] = preg_replace_callback("#%u([0-9A-F]{1,4})#i", create_function('$matches', 'return dec_to_utf8(hexdec($matches[1]));'), $editvars[$key]);
| $editvars[$key] = preg_replace_callback("#%u([0-9A-F]{1,4})#i", 'encode_language_string_utf8', $editvars[$key]);
|
} else {
|
} else {
|
$editvars[$key] = preg_replace_callback("#%u([0-9A-F]{1,4})#i", create_function('$matches', 'return "&#".hexdec($matches[1]).";";'), $editvars[$key]);
| $editvars[$key] = preg_replace_callback("#%u([0-9A-F]{1,4})#i", 'encode_language_string', $editvars[$key]);
|
}
$form_container->output_row("", "", "", "", array('width' => '50%', 'skip_construct' => true));
| }
$form_container->output_row("", "", "", "", array('width' => '50%', 'skip_construct' => true));
|
Zeile 611 | Zeile 670 |
---|
else { // Editing individually
|
else { // Editing individually
|
$form_container->output_row_header(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editlang]));
| $form_container->output_row_header(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editlang])));
|
// Make each editing row from current file that we edit foreach($editvars as $key => $value) { if(my_strtolower($langinfo['charset']) == "utf-8") {
|
// Make each editing row from current file that we edit foreach($editvars as $key => $value) { if(my_strtolower($langinfo['charset']) == "utf-8") {
|
$value = preg_replace_callback("#%u([0-9A-F]{1,4})#i", create_function('$matches', 'return dec_to_utf8(hexdec($matches[1]));'), $value);
| $value = preg_replace_callback("#%u([0-9A-F]{1,4})#i", 'encode_language_string_utf8', $value);
|
} else {
|
} else {
|
$value = preg_replace_callback("#%u([0-9A-F]{1,4})#i", create_function('$matches', 'return "&#".hexdec($matches[1]).";";'), $value);
| $value = preg_replace_callback("#%u([0-9A-F]{1,4})#i", 'encode_language_string', $value);
|
} $form_container->output_row($key, "", $form->generate_text_area("edit[$key]", $value, array('id' => 'lang_'.$key, 'rows' => 2, 'class' => "langeditor_textarea_edit {$editlang_dir_class}")), 'lang_'.$key, array('width' => '50%')); }
| } $form_container->output_row($key, "", $form->generate_text_area("edit[$key]", $value, array('id' => 'lang_'.$key, 'rows' => 2, 'class' => "langeditor_textarea_edit {$editlang_dir_class}")), 'lang_'.$key, array('width' => '50%')); }
|
Zeile 669 | Zeile 728 |
---|
$table = new Table; if($editwithfolder) {
|
$table = new Table; if($editwithfolder) {
|
$table->construct_header(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editwith]));
| $table->construct_header(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editwith])));
|
$table->construct_header($lang->phrases, array("class" => "align_center", "width" => 100));
|
$table->construct_header($lang->phrases, array("class" => "align_center", "width" => 100));
|
$table->construct_header(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editlang]));
| $table->construct_header(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editlang])));
|
$table->construct_header($lang->issues, array("class" => "align_center", "width" => 100)); $table->construct_header($lang->controls, array("class" => "align_center", "width" => 100)); } else {
|
$table->construct_header($lang->issues, array("class" => "align_center", "width" => 100)); $table->construct_header($lang->controls, array("class" => "align_center", "width" => 100)); } else {
|
$table->construct_header(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editlang]));
| $table->construct_header(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editlang])));
|
$table->construct_header($lang->phrases, array("class" => "align_center", "width" => 100)); $table->construct_header($lang->controls, array("class" => "align_center", "width" => 100)); }
| $table->construct_header($lang->phrases, array("class" => "align_center", "width" => 100)); $table->construct_header($lang->controls, array("class" => "align_center", "width" => 100)); }
|
Zeile 714 | Zeile 773 |
---|
} closedir($handle); sort($filenameswith);
|
} closedir($handle); sort($filenameswith);
|
}
| }
|
}
|
}
|
|
|
if($editwithfolder) { $files_left = array_diff($filenameswith, $filenames); $files_right = array_diff($filenames, $filenameswith); $files_both = array_intersect($filenameswith, $filenames);
|
if($editwithfolder) { $files_left = array_diff($filenameswith, $filenames); $files_right = array_diff($filenames, $filenameswith); $files_both = array_intersect($filenameswith, $filenames);
|
|
|
foreach($files_left as $key => $file)
|
foreach($files_left as $key => $file)
|
{ @include $editwithfolder.$file; $editvars_left = (array)$l; unset($l);
| { $editvars_left = array();
unset($l); @include $editwithfolder.$file; if(isset($l)) { $editvars_left = (array)$l; unset($l); }
|
$icon_issues = "<span class='langeditor_ok' title='".$lang->issues_ok."'></span>";
|
$icon_issues = "<span class='langeditor_ok' title='".$lang->issues_ok."'></span>";
|
if(count($editvars_left) >0)
| if(count($editvars_left) > 0)
|
{ $icon_issues = "<span class='langeditor_warning' title='".$lang->issues_warning."'></span>"; }
|
{ $icon_issues = "<span class='langeditor_warning' title='".$lang->issues_warning."'></span>"; }
|
$table->construct_cell($file, array("class" => "langeditor_editwithfile"));
| $table->construct_cell(htmlspecialchars_uni($file), array("class" => "langeditor_editwithfile"));
|
$table->construct_cell(count($editvars_left), array("class" => "langeditor_phrases")); $table->construct_cell("", array("class" => "langeditor_editfile")); $table->construct_cell($icon_issues, array("class" => "langeditor_issues"));
|
$table->construct_cell(count($editvars_left), array("class" => "langeditor_phrases")); $table->construct_cell("", array("class" => "langeditor_editfile")); $table->construct_cell($icon_issues, array("class" => "langeditor_issues"));
|
$table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang={$editlang}&editwith={$editwith}&file={$file}\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
| $table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($editlang)."&editwith=".htmlspecialchars_uni($editwith)."&file=".htmlspecialchars_uni($file)."\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
|
$table->construct_row(); } foreach($files_right as $key => $file)
|
$table->construct_row(); } foreach($files_right as $key => $file)
|
{ @include $folder.$file; $editvars_right = (array)$l;
| { $editvars_right = array();
|
unset($l);
|
unset($l);
|
| @include $folder.$file; if(isset($l)) { $editvars_right = (array)$l; unset($l); }
|
$icon_issues = "<span class='langeditor_ok' title='".$lang->issues_ok."'></span>";
|
$icon_issues = "<span class='langeditor_ok' title='".$lang->issues_ok."'></span>";
|
if(count($editvars_right >0))
| if(count($editvars_right) > 0)
|
{ $icon_issues = "<span class='langeditor_nothingtocompare' title='".$lang->issues_nothingtocompare."'></span>"; }
$table->construct_cell("", array("class" => "langeditor_editwithfile")); $table->construct_cell("", array("class" => "langeditor_phrases"));
|
{ $icon_issues = "<span class='langeditor_nothingtocompare' title='".$lang->issues_nothingtocompare."'></span>"; }
$table->construct_cell("", array("class" => "langeditor_editwithfile")); $table->construct_cell("", array("class" => "langeditor_phrases"));
|
$table->construct_cell($file, array("class" => "langeditor_editfile")); $table->construct_cell($icon_issues, array("class" => "langeditor_issues")); $table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang={$editlang}&editwith={$editwith}&file={$file}\">{$lang->edit}</a>", array("class" => "langeditor_edit")); $table->construct_row(); }
| $table->construct_cell(htmlspecialchars_uni($file), array("class" => "langeditor_editfile")); $table->construct_cell($icon_issues, array("class" => "langeditor_issues")); $table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($editlang)."&editwith=".htmlspecialchars_uni($editwith)."&file=".htmlspecialchars_uni($file)."\">{$lang->edit}</a>", array("class" => "langeditor_edit")); $table->construct_row(); }
|
foreach($files_both as $key => $file) {
|
foreach($files_both as $key => $file) {
|
@include $editwithfolder.$file; $editvars_left = (array)$l;
| $editvars_right = $editvars_left = array();
|
unset($l);
|
unset($l);
|
| @include $editwithfolder.$file; if(isset($l)) { $editvars_left = (array)$l; unset($l); }
|
@include $folder.$file;
|
@include $folder.$file;
|
$editvars_right = (array)$l; unset($l);
| if(isset($l)) { $editvars_right = (array)$l; unset($l); }
|
|
|
$table->construct_cell($file, array("class" => "langeditor_editwithfile"));
| $table->construct_cell(htmlspecialchars_uni($file), array("class" => "langeditor_editwithfile"));
|
$table->construct_cell(count($editvars_left), array("class" => "langeditor_phrases"));
|
$table->construct_cell(count($editvars_left), array("class" => "langeditor_phrases"));
|
$table->construct_cell($file, array("class" => "langeditor_editfile"));
| $table->construct_cell(htmlspecialchars_uni($file), array("class" => "langeditor_editfile"));
|
$icon_issues = "<span class='langeditor_ok' title='".$lang->issues_ok."'></span>";
| $icon_issues = "<span class='langeditor_ok' title='".$lang->issues_ok."'></span>";
|
Zeile 792 | Zeile 872 |
---|
}
$table->construct_cell($icon_issues, array("class" => "langeditor_issues"));
|
}
$table->construct_cell($icon_issues, array("class" => "langeditor_issues"));
|
$table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang={$editlang}&editwith={$editwith}&file={$file}\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
| $table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($editlang)."&editwith=".htmlspecialchars_uni($editwith)."&file=".htmlspecialchars_uni($file)."\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
|
$table->construct_row(); } }
| $table->construct_row(); } }
|
Zeile 800 | Zeile 880 |
---|
{ foreach($filenames as $key => $file) {
|
{ foreach($filenames as $key => $file) {
|
| unset($l);
|
@include $folder.$file;
|
@include $folder.$file;
|
$editvars_count = (array)$l;
| $editvars_count = array(); if(isset($l)) { $editvars_count = (array)$l; }
|
unset($l);
|
unset($l);
|
$table->construct_cell($file, array("class" => "langeditor_editfile"));
| $table->construct_cell(htmlspecialchars_uni($file), array("class" => "langeditor_editfile"));
|
$table->construct_cell(count($editvars_count), array("class" => "langeditor_phrases"));
|
$table->construct_cell(count($editvars_count), array("class" => "langeditor_phrases"));
|
$table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang={$editlang}&editwith={$editwith}&file={$file}\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
| $table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($editlang)."&editwith=".htmlspecialchars_uni($editwith)."&file=".htmlspecialchars_uni($file)."\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
|
$table->construct_row(); } }
| $table->construct_row(); } }
|
Zeile 824 | Zeile 909 |
---|
$table = new Table; if($editwithfolder) {
|
$table = new Table; if($editwithfolder) {
|
$table->construct_header(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editwith]));
| $table->construct_header(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editwith])));
|
$table->construct_header($lang->phrases, array("class" => "align_center", "width" => 100));
|
$table->construct_header($lang->phrases, array("class" => "align_center", "width" => 100));
|
$table->construct_header(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editlang]));
| $table->construct_header(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editlang])));
|
$table->construct_header($lang->issues, array("class" => "align_center", "width" => 100));
|
$table->construct_header($lang->issues, array("class" => "align_center", "width" => 100));
|
$table->construct_header($lang->controls, array("class" => "align_center", "width" => 100)); } else { $table->construct_header(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editlang]));
| $table->construct_header($lang->controls, array("class" => "align_center", "width" => 100)); } else { $table->construct_header(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editlang])));
|
$table->construct_header($lang->phrases, array("class" => "align_center", "width" => 100)); $table->construct_header($lang->controls, array("class" => "align_center", "width" => 100)); }
| $table->construct_header($lang->phrases, array("class" => "align_center", "width" => 100)); $table->construct_header($lang->controls, array("class" => "align_center", "width" => 100)); }
|
Zeile 890 | Zeile 975 |
---|
$icon_issues = "<span class='langeditor_warning' title='".$lang->issues_warning."'></span>"; }
|
$icon_issues = "<span class='langeditor_warning' title='".$lang->issues_warning."'></span>"; }
|
$table->construct_cell($file, array("class" => "langeditor_editwithfile"));
| $table->construct_cell(htmlspecialchars_uni($file), array("class" => "langeditor_editwithfile"));
|
$table->construct_cell(count($editvars_left), array("class" => "langeditor_phrases")); $table->construct_cell("", array("class" => "langeditor_editfile")); $table->construct_cell($icon_issues, array("class" => "langeditor_issues"));
|
$table->construct_cell(count($editvars_left), array("class" => "langeditor_phrases")); $table->construct_cell("", array("class" => "langeditor_editfile")); $table->construct_cell($icon_issues, array("class" => "langeditor_issues"));
|
$table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang={$editlang}&editwith={$editwith}&file={$config['admindir']}/{$file}&inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
| $table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($editlang)."&editwith=".htmlspecialchars_uni($editwith)."&file=".htmlspecialchars_uni($file)."&inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
|
$table->construct_row(); } foreach($files_right as $key => $file)
| $table->construct_row(); } foreach($files_right as $key => $file)
|
Zeile 904 | Zeile 989 |
---|
unset($l);
$icon_issues = "<span class='langeditor_ok' title='".$lang->issues_ok."'></span>";
|
unset($l);
$icon_issues = "<span class='langeditor_ok' title='".$lang->issues_ok."'></span>";
|
if(count($editvars_right >0))
| if(count($editvars_right) >0)
|
{ $icon_issues = "<span class='langeditor_nothingtocompare' title='".$lang->issues_nothingtocompare."'></span>"; }
$table->construct_cell("", array("class" => "langeditor_editwithfile")); $table->construct_cell("", array("class" => "langeditor_phrases"));
|
{ $icon_issues = "<span class='langeditor_nothingtocompare' title='".$lang->issues_nothingtocompare."'></span>"; }
$table->construct_cell("", array("class" => "langeditor_editwithfile")); $table->construct_cell("", array("class" => "langeditor_phrases"));
|
$table->construct_cell($file, array("class" => "langeditor_editfile"));
| $table->construct_cell(htmlspecialchars_uni($file), array("class" => "langeditor_editfile"));
|
$table->construct_cell($icon_issues, array("class" => "langeditor_issues"));
|
$table->construct_cell($icon_issues, array("class" => "langeditor_issues"));
|
$table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang={$editlang}&editwith={$editwith}&file={$config['admindir']}/{$file}&inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
| $table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($editlang)."&editwith=".htmlspecialchars_uni($editwith)."&file=".htmlspecialchars_uni($file)."&inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
|
$table->construct_row(); } foreach($files_both as $key => $file)
| $table->construct_row(); } foreach($files_both as $key => $file)
|
Zeile 925 | Zeile 1010 |
---|
$editvars_right = (array)$l; unset($l);
|
$editvars_right = (array)$l; unset($l);
|
$table->construct_cell($file, array("class" => "langeditor_editwithfile"));
| $table->construct_cell(htmlspecialchars_uni($file), array("class" => "langeditor_editwithfile"));
|
$table->construct_cell(count($editvars_left), array("class" => "langeditor_phrases"));
|
$table->construct_cell(count($editvars_left), array("class" => "langeditor_phrases"));
|
$table->construct_cell($file, array("class" => "langeditor_editfile"));
| $table->construct_cell(htmlspecialchars_uni($file), array("class" => "langeditor_editfile"));
|
$icon_issues = "<span class='langeditor_ok' title='".$lang->issues_ok."'></span>";
| $icon_issues = "<span class='langeditor_ok' title='".$lang->issues_ok."'></span>";
|
Zeile 947 | Zeile 1032 |
---|
}
$table->construct_cell($icon_issues, array("class" => "langeditor_issues"));
|
}
$table->construct_cell($icon_issues, array("class" => "langeditor_issues"));
|
$table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang={$editlang}&editwith={$editwith}&file={$config['admindir']}/{$file}&inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
| $table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($editlang)."&editwith=".htmlspecialchars_uni($editwith)."&file=".htmlspecialchars_uni($file)."&inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
|
$table->construct_row(); } }
| $table->construct_row(); } }
|
Zeile 959 | Zeile 1044 |
---|
$editvars_count = (array)$l; unset($l);
|
$editvars_count = (array)$l; unset($l);
|
$table->construct_cell($file, array("class" => "langeditor_editfile"));
| $table->construct_cell(htmlspecialchars_uni($file), array("class" => "langeditor_editfile"));
|
$table->construct_cell(count($editvars_count), array("class" => "langeditor_phrases"));
|
$table->construct_cell(count($editvars_count), array("class" => "langeditor_phrases"));
|
$table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang={$editlang}&editwith={$editwith}&file={$config['admindir']}/{$file}&inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
| $table->construct_cell("<a href=\"index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($editlang)."&editwith=".htmlspecialchars_uni($editwith)."&file=/".htmlspecialchars_uni($file)."&inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));
|
$table->construct_row(); } }
| $table->construct_row(); } }
|
Zeile 991 | Zeile 1076 |
---|
$sub_tabs['find_language'] = array( 'title' => $lang->find_language_packs, 'link' => "https://community.mybb.com/mods.php?action=browse&category=19",
|
$sub_tabs['find_language'] = array( 'title' => $lang->find_language_packs, 'link' => "https://community.mybb.com/mods.php?action=browse&category=19",
|
'target' => "_blank"
| 'link_target' => "_blank", 'link_rel' => "noopener"
|
);
$plugins->run_hooks("admin_config_languages_start");
| );
$plugins->run_hooks("admin_config_languages_start");
|
Zeile 1007 | Zeile 1093 |
---|
foreach($languages as $key1 => $langname1) {
|
foreach($languages as $key1 => $langname1) {
|
$langselectlangs[$key1] = $lang->sprintf($lang->edit_with, preg_replace("<\?|\?>", "<span>?</span>", $langname1));
| $langselectlangs[$key1] = $lang->sprintf($lang->edit_with, preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($langname1)));
|
}
foreach($languages as $key => $langname)
| }
foreach($languages as $key => $langname)
|
Zeile 1016 | Zeile 1102 |
---|
if(!empty($langinfo['website'])) {
|
if(!empty($langinfo['website'])) {
|
$author = "<a href=\"{$langinfo['website']}\" target=\"_blank\">{$langinfo['author']}</a>";
| $author = "<a href=\"".htmlspecialchars_uni($langinfo['website'])."\" target=\"_blank\" rel=\"noopener\">".htmlspecialchars_uni($langinfo['author'])."</a>";
|
} else {
|
} else {
|
$author = $langinfo['author'];
| $author = htmlspecialchars_uni($langinfo['author']);
|
}
|
}
|
$table->construct_cell("<span class='langeditor_info_name'>".preg_replace("<\?|\?>", "<span>?</span>", $langinfo['name'])."</span><br /><span class='langeditor_info_author'>{$author}</span>"); $table->construct_cell($langinfo['version'], array("class" => "align_center"));
| $table->construct_cell("<span class='langeditor_info_name'>".preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($langinfo['name']))."</span><br /><span class='langeditor_info_author'>".$author."</span>"); $table->construct_cell(htmlspecialchars_uni($langinfo['version']), array("class" => "align_center"));
|
|
|
$popup = new PopupMenu("language_{$key}", $lang->options); $popup->add_item($lang->edit_language_variables, "index.php?module=config-languages&action=edit&lang={$key}");
| $popup = new PopupMenu("language_".htmlspecialchars_uni($key), $lang->options); $popup->add_item($lang->edit_language_variables, "index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($key));
|
foreach($langselectlangs as $key1 => $langname1) { if($key != $key1) {
|
foreach($langselectlangs as $key1 => $langname1) { if($key != $key1) {
|
$popup->add_item($langname1, "index.php?module=config-languages&action=edit&lang={$key}&editwith={$key1}");
| $popup->add_item($langname1, "index.php?module=config-languages&action=edit&lang=".htmlspecialchars_uni($key)."&editwith=".htmlspecialchars_uni($key1));
|
} }
|
} }
|
$popup->add_item($lang->edit_properties, "index.php?module=config-languages&action=edit_properties&lang={$key}");
| $popup->add_item($lang->edit_properties, "index.php?module=config-languages&action=edit_properties&lang=".htmlspecialchars_uni($key));
|
$table->construct_cell($popup->fetch(), array("class" => "align_center")); $table->construct_row(); }
| $table->construct_cell($popup->fetch(), array("class" => "align_center")); $table->construct_row(); }
|
Zeile 1049 | Zeile 1135 |
---|
$table->output($lang->installed_language_packs);
$page->output_footer();
|
$table->output($lang->installed_language_packs);
$page->output_footer();
|
| }
/** * Fixes url encoded unicode characters * * @param string $string The string to encode. * @return string The encoded string. */ function encode_language_string_utf8($matches) { return dec_to_utf8(hexdec($matches[1])); }
/** * Fixes url encoded unicode characters * * @param string $string The string to encode. * @return string The encoded string. */ function encode_language_string($matches) { return "&#".hexdec($matches[1]).";";
|
}
| }
|