languages.php
上传用户:gzy2002
上传日期:2010-02-11
资源大小:1785k
文件大小:8k
源码类别:

电子政务应用

开发平台:

Java

  1. <?php
  2. // +-------------------------------------------------------------+
  3. // | DeskPRO v [2.0.1 Production]
  4. // | Copyright (C) 2001 - 2004 Headstart Solutions Limited
  5. // | Supplied by WTN-WDYL
  6. // | Nullified by WTN-WDYL
  7. // | Distribution via WebForum, ForumRU and associated file dumps
  8. // +-------------------------------------------------------------+
  9. // | DESKPRO IS NOT FREE SOFTWARE
  10. // +-------------------------------------------------------------+
  11. // | License ID : Full Enterprise License =) ...
  12. // | License Owner : WTN-WDYL Team
  13. // +-------------------------------------------------------------+
  14. // | $RCSfile: languages.php,v $
  15. // | $Date: 2004/02/12 21:16:57 $
  16. // | $Revision: 1.28 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - Language maintenance (administration interface)
  20. // +-------------------------------------------------------------+
  21. error_reporting(E_ALL & ~E_NOTICE);
  22. // start file
  23. require("./global.php");
  24. // globalise variables
  25. $global = array (
  26. array('id')
  27. );
  28. rg($global);
  29. // default do
  30. $_REQUEST['do'] = trim($_REQUEST['do']);
  31. if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
  32. $_REQUEST['do'] = "view";
  33. }
  34. // do a check to see if languages are enabled
  35. if (!$settings['language_on']) {
  36.  $header_note = table_border("Note that until you enable the multi-language interface your users will not be shown these language options. You can enable the multi-language interface in the <a href="settings.php">settings system</a>.") . "<br />";
  37. }
  38. ############################### UPDATE LANGUAGES ###############################
  39. if ($_REQUEST['do'] == "update") {
  40. if (!$_REQUEST['default']) {
  41. $message = 'You <B>must</B> specify a default language.';
  42. } else {
  43. $db->query("SELECT id FROM languages WHERE id = '" . addslashes($_REQUEST['default']) . "'");
  44. if (!$db->num_rows()) {
  45. $message = 'The language you specified as a default is not defined.';
  46. }
  47. }
  48. if ($message) {
  49. $_REQUEST['do'] = 'view';
  50. } else {
  51. while (list ($key, $value) = each ($_REQUEST[is_selectable])) {
  52. $db->query("UPDATE languages SET is_selectable = '" . addslashes(htmlspecialchars($value)) . "' WHERE id = '$key'");
  53. }
  54. while (list ($key, $value) = each ($_REQUEST[name])) {
  55. $db->query("UPDATE languages SET name = '" . addslashes(htmlspecialchars($value)) . "' WHERE id = '$key'");
  56. }
  57. $db->query("UPDATE settings SET value = " . $_REQUEST['default'] . " WHERE settings = 'default_language'");
  58. // default language must be 'selectable'
  59. $db->query("UPDATE languages SET is_selectable = 1 WHERE id = '$_REQUEST[default]'");
  60. get_settings();
  61. $_REQUEST['do'] = "view";
  62. }
  63. }
  64. ############################### CREATE LANGUAGE ###############################
  65. if ($_REQUEST['do'] == "add" OR $_REQUEST['do'] == 'edit') {
  66. $language = $db->query_return("SELECT * FROM languages WHERE id = '$id'");
  67. admin_header('Languages', 'Add New Language');
  68. echo $header_note;
  69. $table[] = array('<b>Name</b>', form_input('name', $language['name']));
  70. $table[] = array('<b>User Selectable</b>', form_radio_yn('is_selectable', '', 1));
  71. $table[] = array('<b>Country Code</b><br />See <a href="hxxp://lcweb.loc.gov/standards/iso639-2/englangn.html">here</a> for details', form_input('isocode', $language[isocode], 5));
  72. $table[] = array('<b>Character Set</b><br />See <a href="hxxp://en.wikipedia.org/wiki/ISO_8859">here</a> for details', form_input('contentype', iff($language[contenttype], $language[contentype], 'ISO-8859-1')));
  73. $table[] = array('<b>Text Direction</b>', form_select('direction', array('ltr' => 'Left => Right', 'rtl' => 'Right => Left'), '', $language[direction]));
  74. if ($_REQUEST['do'] == 'add') {
  75. table_header("Create New Language", 'languages.php', array('do' => 'new2'));
  76. table_content($columns, $table);
  77. table_footer('Create Language');
  78. } else {
  79. table_header("Update Language", 'languages.php', array('do' => 'edit2', 'id' => $id));
  80. table_content($columns, $table);
  81. table_footer('Update Language');
  82. }
  83. }
  84. ############################### UPDATE LANGUAGE (2) ###############################
  85. if ($_REQUEST['do'] == "edit2") {
  86. $db->query("UPDATE languages SET
  87. name = '" . addslashes(htmlspecialchars($_REQUEST['name'])) . "',
  88. is_selectable = $_REQUEST[is_selectable],
  89. isocode = '" . addslashes($_REQUEST[isocode]) . "',
  90. contenttype = '" . addslashes($_REQUEST[contentype]) . "',
  91. direction = '" . addslashes($_REQUEST[direction]) . "',
  92. custom = 1
  93. WHERE id = '$id'
  94. ");
  95. jump('languages.php?do=view', 'Language Updated');
  96. }
  97. ############################### CREATE LANGUAGE (2) ###############################
  98. if ($_REQUEST['do'] == "new2") {
  99. $db->query("INSERT INTO languages SET
  100. name = '" . addslashes(htmlspecialchars($_REQUEST['name'])) . "',
  101. is_selectable = $_REQUEST[is_selectable],
  102. custom = 1
  103. ");
  104. jump('languages.php?do=view', 'Language Created');
  105. }
  106. ############################### DELETE LANGUAGE ###############################
  107. if ($_REQUEST['do'] == "delete") {
  108. $language = $db->query_return("SELECT * FROM languages WHERE id = $id");
  109. if ($language['default'] == "1") {
  110. alert('You can not delete a default language.');
  111. $_REQUEST['do'] = 'view';
  112. } else {
  113. $db->query("DELETE FROM languages WHERE id = $id");
  114. $db->query("DELETE FROM template_words WHERE language = $id");
  115. $db->query("DELETE FROM template_email WHERE language = $id");
  116. $db->query("UPDATE user SET language = $settings[default_language] WHERE language = $id");
  117. $category_languages = unserialize(get_data('category_languages'));
  118. $priority_languages = unserialize(get_data('priority_languages'));
  119. unset($category_languages[$id]);
  120. unset($priority_languages[$id]);
  121. update_data('category_languages', $category_languages);
  122. update_data('priority_languages', $priority_languages);
  123. jump('languages.php', 'Language and associated templates/words deleted');
  124. }
  125. }
  126. ############################### VIEW LANGUAGES ###############################
  127. if ($_REQUEST['do'] == "view") {
  128. admin_header('Languages', 'View Languages');
  129. echo $header_note;
  130. echo table_border("Non English languages have been supplied by other DeskPRO users. We can make no assurances as to the accuracy of these translations and suggest that if you rely on a language provided that you check the quality of the translation.");
  131. $setting = $db->query_return("SELECT * FROM settings WHERE settings = 'default_language'");
  132. $default = $settings[default_language];
  133. $db->query("SELECT * FROM languages");
  134. while ($lang = $db->row_array()) {
  135. if ($lang[id] == $default) {
  136. $extra = " checked=checked";
  137. } else {
  138. unset($extra);
  139. }
  140. $table[] = array(
  141. form_input($lang[id], $lang[name], 30, 'name'),
  142. "<input type="radio" name="default" value="$lang[id]"$extra>",
  143. form_radio_yn($lang[id], 'is_selectable', $lang[is_selectable]),
  144. ifynb($lang[custom]),
  145. iff($lang[custom], "<a href="languages.php?do=delete&id=$lang[id]">delete</a>", "<I>n/a</I>"),
  146. "<a href="languages.php?do=edit&id=$lang[id]">edit</a>"
  147. );
  148. }
  149. $columns = array('Language', 'Default Language', 'User Selectable', 'Is Custom', 'Delete', 'Edit');
  150. table_header("The Avaliable Languages", 'languages.php', array('do' => 'update'));
  151. table_content($columns, $table);
  152. table_footer('Update Language Details');
  153. echo table_border("<b>Please note that selecting a language as default will automatically make it user selectable.</b>");
  154. }
  155. ##############################################################
  156. admin_footer();
  157. ?>