Vergleich admin/modules/config/languages.php - 1.8.1 - 1.8.21

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 44Zeile 44
		{
$info = str_replace("\\", "\\\\", $info);
$info = str_replace('$', '\$', $info);

		{
$info = str_replace("\\", "\\\\", $info);
$info = str_replace('$', '\$', $info);

			



			if($key == 'admin' || $key == 'rtl')
{
$info = (int)$info;
}

			if($key == 'admin' || $key == 'rtl')
{
$info = (int)$info;
}

			



			$newlanginfo[$key] = str_replace("\"", '\"', $info);
}


			$newlanginfo[$key] = str_replace("\"", '\"', $info);
}


Zeile 60Zeile 60
		$newfile = "<?php
// The friendly name of the language
\$langinfo['name'] = \"{$newlanginfo['name']}\";

		$newfile = "<?php
// The friendly name of the language
\$langinfo['name'] = \"{$newlanginfo['name']}\";





// The author of the language
\$langinfo['author'] = \"{$langinfo['author']}\";

// The language authors website
\$langinfo['website'] = \"{$langinfo['website']}\";

// The author of the language
\$langinfo['author'] = \"{$langinfo['author']}\";

// The language authors website
\$langinfo['website'] = \"{$langinfo['website']}\";





// Compatible version of MyBB
\$langinfo['version'] = \"{$langinfo['version']}\";


// Compatible version of MyBB
\$langinfo['version'] = \"{$langinfo['version']}\";


Zeile 75Zeile 75

// Sets if the language is RTL (Right to Left) (1 = yes, 0 = no)
\$langinfo['rtl'] = {$newlanginfo['rtl']};


// Sets if the language is RTL (Right to Left) (1 = yes, 0 = no)
\$langinfo['rtl'] = {$newlanginfo['rtl']};





// Sets the lang in the <html> on all pages
\$langinfo['htmllang'] = \"{$newlanginfo['htmllang']}\";

// Sets the character set, blank uses the default.
\$langinfo['charset'] = \"{$newlanginfo['charset']}\";\n";

// Sets the lang in the <html> on all pages
\$langinfo['htmllang'] = \"{$newlanginfo['htmllang']}\";

// Sets the character set, blank uses the default.
\$langinfo['charset'] = \"{$newlanginfo['charset']}\";\n";





		// Put it in!
if($file = fopen($file, "w"))
{

		// Put it in!
if($file = fopen($file, "w"))
{

Zeile 89Zeile 89
			fclose($file);

$plugins->run_hooks("admin_config_languages_edit_properties_commit");

			fclose($file);

$plugins->run_hooks("admin_config_languages_edit_properties_commit");





			// Log admin action
log_admin_action($editlang);

flash_message($lang->success_langprops_updated, 'success');

			// Log admin action
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($editwith));

		}
else
{

		}
else
{

Zeile 102Zeile 102
		}
}


		}
}


	$page->add_breadcrumb_item(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editlang]), "index.php?module=config-languages&amp;action=edit&amp;lang={$editlang}");

	$page->add_breadcrumb_item(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editlang])), "index.php?module=config-languages&amp;action=edit&amp;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);





	$sub_tabs['edit_properties'] = array(
"title" => $lang->edit_properties,
"link" => "index.php?module=config-languages",

	$sub_tabs['edit_properties'] = array(
"title" => $lang->edit_properties,
"link" => "index.php?module=config-languages",

Zeile 164Zeile 164
	if(!is_writable($file))
{
$no_write = 1;

	if(!is_writable($file))
{
$no_write = 1;

		$page->output_alert($lang->alert_note_cannot_write);

		$page->output_alert($lang->alert_note_cannot_write);

	}

$form_container->end();

	}

$form_container->end();

Zeile 183Zeile 183
	$editlang = basename($mybb->input['lang']);
$folder = MYBB_ROOT."inc/languages/".$editlang."/";


	$editlang = basename($mybb->input['lang']);
$folder = MYBB_ROOT."inc/languages/".$editlang."/";


	$page->add_breadcrumb_item(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editlang]), "index.php?module=config-languages&amp;action=quick_edit&amp;lang={$editlang}");

	$page->add_breadcrumb_item(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editlang])), "index.php?module=config-languages&amp;action=quick_edit&amp;lang=".htmlspecialchars_uni($editlang));


// Validate that this language pack really exists
if(file_exists(MYBB_ROOT."inc/languages/".$editlang.".php"))


// Validate that this language pack really exists
if(file_exists(MYBB_ROOT."inc/languages/".$editlang.".php"))

Zeile 191Zeile 191
		// Then validate language pack folders (and try to fix them if missing)
@mkdir($folder);
@mkdir($folder."admin");

		// Then validate language pack folders (and try to fix them if missing)
@mkdir($folder);
@mkdir($folder."admin");

	}


	}


	if(!file_exists($folder) || !file_exists($folder."admin"))
{
flash_message($lang->error_folders_fail, 'error');

	if(!file_exists($folder) || !file_exists($folder."admin"))
{
flash_message($lang->error_folders_fail, 'error');

Zeile 234Zeile 234
				{
// validation - we fetch from input only variables that are defined in $quick_phrases array
$contents_file[$key] = $mybb->input['edit'][$key];

				{
// validation - we fetch from input only variables that are defined in $quick_phrases array
$contents_file[$key] = $mybb->input['edit'][$key];

				}

				}

				// Save edited language file
if($fp = @fopen($folder.$file, "w"))
{

				// Save edited language file
if($fp = @fopen($folder.$file, "w"))
{

Zeile 244Zeile 244
					// Lets make nice credits header in language file
$lang_file_credits = "<?php\n/**\n";
$lang_file_credits .= " * MyBB Copyright 2014 MyBB Group, All Rights Reserved\n *\n";

					// Lets make nice credits header in language file
$lang_file_credits = "<?php\n/**\n";
$lang_file_credits .= " * MyBB Copyright 2014 MyBB Group, All Rights Reserved\n *\n";

					$lang_file_credits .= " * Website: http://www.mybb.com\n";
$lang_file_credits .= " * License: http://www.mybb.com/about/license\n *\n */\n\n";

					$lang_file_credits .= " * Website: https://mybb.com\n";
$lang_file_credits .= " * License: https://mybb.com/about/license\n *\n */\n\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 .= "// ".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 283Zeile 283

flash_message($lang->success_quickphrases_updated, 'success');
admin_redirect('index.php?module=config-languages&amp;action=edit&amp;lang='.$editlang);


flash_message($lang->success_quickphrases_updated, 'success');
admin_redirect('index.php?module=config-languages&amp;action=edit&amp;lang='.$editlang);

			}
}
}

$page->output_header($lang->languages);


			}
}
}

$page->output_header($lang->languages);


	$sub_tabs['language_files'] = array(
'title' => $lang->language_files,
'link' => "index.php?module=config-languages&amp;action=edit&amp;lang=".$editlang,

	$sub_tabs['language_files'] = array(
'title' => $lang->language_files,
'link' => "index.php?module=config-languages&amp;action=edit&amp;lang=".$editlang,

Zeile 345Zeile 345
			$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 372Zeile 372
	$editlang = basename($mybb->input['lang']);
$folder = MYBB_ROOT."inc/languages/".$editlang."/";


	$editlang = basename($mybb->input['lang']);
$folder = MYBB_ROOT."inc/languages/".$editlang."/";


	$page->add_breadcrumb_item(preg_replace("<\?|\?>", "<span>?</span>", $languages[$editlang]), "index.php?module=config-languages&amp;action=edit&amp;lang={$editlang}");

	$page->add_breadcrumb_item(preg_replace("<\?|\?>", "<span>?</span>", htmlspecialchars_uni($languages[$editlang])), "index.php?module=config-languages&amp;action=edit&amp;lang=".htmlspecialchars_uni($editlang));


$editwith = basename($mybb->input['editwith']);
$editwithfolder = '';


$editwith = basename($mybb->input['editwith']);
$editwithfolder = '';

Zeile 413Zeile 413
		{
$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 451Zeile 451
				// Lets make nice credits header in language file
$lang_file_credits = "<?php\n/**\n";
$lang_file_credits .= " * MyBB Copyright 2014 MyBB Group, All Rights Reserved\n *\n";

				// Lets make nice credits header in language file
$lang_file_credits = "<?php\n/**\n";
$lang_file_credits .= " * MyBB Copyright 2014 MyBB Group, All Rights Reserved\n *\n";

				$lang_file_credits .= " * Website: http://www.mybb.com\n";
$lang_file_credits .= " * License: http://www.mybb.com/about/license\n *\n */\n\n";

				$lang_file_credits .= " * Website: https://mybb.com\n";
$lang_file_credits .= " * License: https://mybb.com/about/license\n *\n */\n\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 .= "// ".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 475Zeile 475
				$plugins->run_hooks("admin_config_languages_edit_commit");

// Log admin action

				$plugins->run_hooks("admin_config_languages_edit_commit");

// Log admin action

				log_admin_action($editlang, $editfile, (int)$mybb->input['inadmin']);

				log_admin_action($editlang, $editfile, $mybb->get_input('inadmin', MyBB::INPUT_INT));


flash_message($lang->success_langfile_updated, 'success');


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 532Zeile 532
		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("file", $file);
echo $form->generate_hidden_field("lang", $editlang);
echo $form->generate_hidden_field("editwith", $editwith);

		echo $form->generate_hidden_field("inadmin", (int)$mybb->input['inadmin']);

		echo $form->generate_hidden_field("inadmin", $mybb->get_input('inadmin', MyBB::INPUT_INT));

		if($errors)

		if($errors)

		{

		{

			$page->output_inline_error($errors);

			$page->output_inline_error($errors);

		}

		}


// Check if file is writable, before allowing submission
$no_write = null;


// Check if file is writable, before allowing submission
$no_write = null;

Zeile 546Zeile 546
			$page->output_alert($lang->alert_note_cannot_write);
}


			$page->output_alert($lang->alert_note_cannot_write);
}


		$form_container = new FormContainer($file);

		$form_container = new FormContainer(htmlspecialchars_uni($file));

		if($editwithfile && $withvars)
{
// Editing with another file


		if($editwithfile && $withvars)
{
// 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 585Zeile 585

$form_container->output_row($key, "", $form->generate_text_area("", $withvars[$key], array('readonly' => true, 'rows' => 2, 'class' => "langeditor_textarea_editwith {$editwith_dir_class}")), "", array('width' => '50%', 'skip_construct' => true));
$form_container->output_row($key, "", $form->generate_text_area("edit[$key]", $editvars[$key], array('id' => 'lang_'.$key, 'rows' => 2, 'class' => "langeditor_textarea_edit {$textarea_issue_class} {$editlang_dir_class}")), 'lang_'.$key, array('width' => '50%'));


$form_container->output_row($key, "", $form->generate_text_area("", $withvars[$key], array('readonly' => true, 'rows' => 2, 'class' => "langeditor_textarea_editwith {$editwith_dir_class}")), "", array('width' => '50%', 'skip_construct' => true));
$form_container->output_row($key, "", $form->generate_text_area("edit[$key]", $editvars[$key], array('id' => 'lang_'.$key, 'rows' => 2, 'class' => "langeditor_textarea_edit {$textarea_issue_class} {$editlang_dir_class}")), 'lang_'.$key, array('width' => '50%'));

			}

			}


// Create form fields for extra variables that are present only in edited file
$present_in_edit_vars_only = (array)array_diff_key($editvars, $withvars);


// Create form fields for extra variables that are present only in edited file
$present_in_edit_vars_only = (array)array_diff_key($editvars, $withvars);

Zeile 594Zeile 594
				foreach($present_in_edit_vars_only as $key => $value)
{
if(my_strtolower($langinfo['charset']) == "utf-8")

				foreach($present_in_edit_vars_only as $key => $value)
{
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($key, "", $form->generate_text_area("edit[$key]", $editvars[$key], array('id' => 'lang_'.$key, 'rows' => 2, 'class' => "langeditor_textarea_edit {$editlang_dir_class}")), 'lang_'.$key, array('width' => '50%'));
}

					$form_container->output_row("", "", "", "", array('width' => '50%', 'skip_construct' => true));
$form_container->output_row($key, "", $form->generate_text_area("edit[$key]", $editvars[$key], array('id' => 'lang_'.$key, 'rows' => 2, 'class' => "langeditor_textarea_edit {$editlang_dir_class}")), 'lang_'.$key, array('width' => '50%'));
}

Zeile 611Zeile 611
		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 649Zeile 649
			'title' => $lang->language_files,
'link' => "index.php?module=config-languages&amp;action=edit&amp;lang=".$editlang,
'description' => $lang->language_files_desc

			'title' => $lang->language_files,
'link' => "index.php?module=config-languages&amp;action=edit&amp;lang=".$editlang,
'description' => $lang->language_files_desc

		);

		);


$sub_tabs['quick_phrases'] = array(
'title' => $lang->quick_phrases,
'link' => "index.php?module=config-languages&amp;action=quick_phrases&amp;lang=".$editlang,
'description' => $lang->quick_phrases_desc
);


$sub_tabs['quick_phrases'] = array(
'title' => $lang->quick_phrases,
'link' => "index.php?module=config-languages&amp;action=quick_phrases&amp;lang=".$editlang,
'description' => $lang->quick_phrases_desc
);





		$page->output_nav_tabs($sub_tabs, 'language_files');

if(!file_exists(MYBB_ROOT."inc/languages/".$editlang.".php"))
{
flash_message($lang->error_invalid_set, 'error');
admin_redirect("index.php?module=config-languages");

		$page->output_nav_tabs($sub_tabs, 'language_files');

if(!file_exists(MYBB_ROOT."inc/languages/".$editlang.".php"))
{
flash_message($lang->error_invalid_set, 'error');
admin_redirect("index.php?module=config-languages");

		}

		}

		require MYBB_ROOT."inc/languages/".$editlang.".php";

$table = new Table;
if($editwithfolder)

		require MYBB_ROOT."inc/languages/".$editlang.".php";

$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));
}

			$table->construct_header($lang->controls, array("class" => "align_center", "width" => 100));
}

		else
{

		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));

		}

		}


// Get files in main folder
$filenames = array();


// Get files in main folder
$filenames = array();

Zeile 735Zeile 735
					$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(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&amp;action=edit&amp;lang={$editlang}&amp;editwith={$editwith}&amp;file={$file}\">{$lang->edit}</a>", array("class" => "langeditor_edit"));

				$table->construct_cell($icon_issues, array("class" => "langeditor_issues"));
$table->construct_cell("<a href=\"index.php?module=config-languages&amp;action=edit&amp;lang=".htmlspecialchars_uni($editlang)."&amp;editwith=".htmlspecialchars_uni($editwith)."&amp;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)

Zeile 749Zeile 749
				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&amp;action=edit&amp;lang={$editlang}&amp;editwith={$editwith}&amp;file={$file}\">{$lang->edit}</a>", array("class" => "langeditor_edit"));

				$table->construct_cell("<a href=\"index.php?module=config-languages&amp;action=edit&amp;lang=".htmlspecialchars_uni($editlang)."&amp;editwith=".htmlspecialchars_uni($editwith)."&amp;file=".htmlspecialchars_uni($file)."\">{$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 770Zeile 770
				$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>";

// Find problems and differences in editfile in comparision to editwithfile

				$icon_issues = "<span class='langeditor_ok' title='".$lang->issues_ok."'></span>";

// Find problems and differences in editfile in comparision to editwithfile

Zeile 788Zeile 788
						$icon_issues = "<span class='langeditor_warning' title='".$lang->issues_warning."'></span>";
// One difference is enought, so lets abort checking for more.
break;

						$icon_issues = "<span class='langeditor_warning' title='".$lang->issues_warning."'></span>";
// One difference is enought, so lets abort checking for more.
break;

					}
}

					}
}


$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&amp;action=edit&amp;lang={$editlang}&amp;editwith={$editwith}&amp;file={$file}\">{$lang->edit}</a>", array("class" => "langeditor_edit"));

				$table->construct_cell("<a href=\"index.php?module=config-languages&amp;action=edit&amp;lang=".htmlspecialchars_uni($editlang)."&amp;editwith=".htmlspecialchars_uni($editwith)."&amp;file=".htmlspecialchars_uni($file)."\">{$lang->edit}</a>", array("class" => "langeditor_edit"));

				$table->construct_row();
}
}

				$table->construct_row();
}
}

Zeile 804Zeile 804
				$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&amp;action=edit&amp;lang={$editlang}&amp;editwith={$editwith}&amp;file={$file}\">{$lang->edit}</a>", array("class" => "langeditor_edit"));

				$table->construct_cell("<a href=\"index.php?module=config-languages&amp;action=edit&amp;lang=".htmlspecialchars_uni($editlang)."&amp;editwith=".htmlspecialchars_uni($editwith)."&amp;file=".htmlspecialchars_uni($file)."\">{$lang->edit}</a>", array("class" => "langeditor_edit"));

				$table->construct_row();
}
}

				$table->construct_row();
}
}

Zeile 824Zeile 824
			$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 890Zeile 890
						$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&amp;action=edit&amp;lang={$editlang}&amp;editwith={$editwith}&amp;file={$config['admindir']}/{$file}&amp;inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));

					$table->construct_cell("<a href=\"index.php?module=config-languages&amp;action=edit&amp;lang=".htmlspecialchars_uni($editlang)."&amp;editwith=".htmlspecialchars_uni($editwith)."&amp;file={$config['admindir']}/".htmlspecialchars_uni($file)."&amp;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 904Zeile 904
					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&amp;action=edit&amp;lang={$editlang}&amp;editwith={$editwith}&amp;file={$config['admindir']}/{$file}&amp;inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));

					$table->construct_cell("<a href=\"index.php?module=config-languages&amp;action=edit&amp;lang=".htmlspecialchars_uni($editlang)."&amp;editwith=".htmlspecialchars_uni($editwith)."&amp;file={$config['admindir']}/".htmlspecialchars_uni($file)."&amp;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 925Zeile 925
					$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 947Zeile 947
					}

$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&amp;action=edit&amp;lang={$editlang}&amp;editwith={$editwith}&amp;file={$config['admindir']}/{$file}&amp;inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));

					$table->construct_cell("<a href=\"index.php?module=config-languages&amp;action=edit&amp;lang=".htmlspecialchars_uni($editlang)."&amp;editwith=".htmlspecialchars_uni($editwith)."&amp;file={$config['admindir']}/".htmlspecialchars_uni($file)."&amp;inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));

					$table->construct_row();
}
}

					$table->construct_row();
}
}

Zeile 959Zeile 959
					$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&amp;action=edit&amp;lang={$editlang}&amp;editwith={$editwith}&amp;file={$config['admindir']}/{$file}&amp;inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));

					$table->construct_cell("<a href=\"index.php?module=config-languages&amp;action=edit&amp;lang=".htmlspecialchars_uni($editlang)."&amp;editwith=".htmlspecialchars_uni($editwith)."&amp;file={$config['admindir']}/".htmlspecialchars_uni($file)."&amp;inadmin=1\">{$lang->edit}</a>", array("class" => "langeditor_edit"));

					$table->construct_row();
}
}

					$table->construct_row();
}
}

Zeile 990Zeile 990
	);
$sub_tabs['find_language'] = array(
'title' => $lang->find_language_packs,

	);
$sub_tabs['find_language'] = array(
'title' => $lang->find_language_packs,

		'link' => "http://community.mybb.com/mods.php?action=browse&category=19",
'target' => "_blank"


		'link' => "https://community.mybb.com/mods.php?action=browse&category=19",
'link_target' => "_blank",
'link_rel' => "noopener"

	);

$plugins->run_hooks("admin_config_languages_start");

	);

$plugins->run_hooks("admin_config_languages_start");

Zeile 1007Zeile 1008

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 1016Zeile 1017

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&amp;action=edit&amp;lang={$key}");

		$popup = new PopupMenu("language_".htmlspecialchars_uni($key), $lang->options);
$popup->add_item($lang->edit_language_variables, "index.php?module=config-languages&amp;action=edit&amp;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&amp;action=edit&amp;lang={$key}&amp;editwith={$key1}");

				$popup->add_item($langname1, "index.php?module=config-languages&amp;action=edit&amp;lang=".htmlspecialchars_uni($key)."&amp;editwith=".htmlspecialchars_uni($key1));

			}
}

			}
}

		$popup->add_item($lang->edit_properties, "index.php?module=config-languages&amp;action=edit_properties&amp;lang={$key}");

		$popup->add_item($lang->edit_properties, "index.php?module=config-languages&amp;action=edit_properties&amp;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 1049Zeile 1050
	$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]).";";

}

}