display_select_lang.lib.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. /* vim: set expandtab sw=4 ts=4 sts=4: */
  3. /**
  4. * Code for displaying language selection
  5. *
  6. * @package PhpMyAdmin
  7. */
  8. if (! defined('PHPMYADMIN')) {
  9. exit;
  10. }
  11. /**
  12. * Compares the names of two languages.
  13. * Used by uasort in PMA_getLanguageSelectorHtml()
  14. *
  15. * @param array $a The first language being compared
  16. * @param array $b The second language being compared
  17. *
  18. * @return int the sorted array
  19. */
  20. function PMA_languageCmp($a, $b)
  21. {
  22. return strcmp($a[1], $b[1]);
  23. }
  24. /**
  25. * Returns HTML code for the language selector
  26. *
  27. * @param boolean $use_fieldset whether to use fieldset for selection
  28. * @param boolean $show_doc whether to show documentation links
  29. *
  30. * @return string
  31. *
  32. * @access public
  33. */
  34. function PMA_getLanguageSelectorHtml($use_fieldset = false, $show_doc = true)
  35. {
  36. global $lang;
  37. $retval = '';
  38. // Display language selection only if there
  39. // is more than one language to choose from
  40. if (count($GLOBALS['available_languages']) > 1) {
  41. $retval .= '<form method="get" action="index.php" class="disableAjax">';
  42. $_form_params = array(
  43. 'db' => $GLOBALS['db'],
  44. 'table' => $GLOBALS['table'],
  45. );
  46. $retval .= PMA_URL_getHiddenInputs($_form_params);
  47. // For non-English, display "Language" with emphasis because it's
  48. // not a proper word in the current language; we show it to help
  49. // people recognize the dialog
  50. $language_title = __('Language')
  51. . (__('Language') != 'Language' ? ' - <em>Language</em>' : '');
  52. if ($show_doc) {
  53. $language_title .= PMA_Util::showDocu('faq', 'faq7-2');
  54. }
  55. if ($use_fieldset) {
  56. $retval .= '<fieldset><legend lang="en" dir="ltr">'
  57. . $language_title . '</legend>';
  58. } else {
  59. $retval .= '<bdo lang="en" dir="ltr"><label for="sel-lang">'
  60. . $language_title . ': </label></bdo>';
  61. }
  62. $retval .= '<select name="lang" class="autosubmit" lang="en"'
  63. . ' dir="ltr" id="sel-lang">';
  64. uasort($GLOBALS['available_languages'], 'PMA_languageCmp');
  65. foreach ($GLOBALS['available_languages'] as $id => $tmplang) {
  66. $lang_name = PMA_languageName($tmplang);
  67. //Is current one active?
  68. if ($lang == $id) {
  69. $selected = ' selected="selected"';
  70. } else {
  71. $selected = '';
  72. }
  73. $retval .= '<option value="' . $id . '"' . $selected . '>';
  74. $retval .= $lang_name;
  75. $retval .= '</option>';
  76. }
  77. $retval .= '</select>';
  78. if ($use_fieldset) {
  79. $retval .= '</fieldset>';
  80. }
  81. $retval .= '</form>';
  82. }
  83. return $retval;
  84. }
  85. ?>