PageRenderTime 24ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/admin/includes/language_admin.php

https://bitbucket.org/mpercy/deeemm-cms
PHP | 230 lines | 115 code | 71 blank | 44 comment | 5 complexity | cd1c227dfaeab008da41eebf3f56e2c8 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause
  1. <?php
  2. defined( '_INDM' ) or die( 'POSSIBLE HACK ATTEMPT!' );
  3. /*===========================================================================
  4. Check user priviledges
  5. ===========================================================================*/
  6. require VALIDATE;
  7. if ($user != 'ADMIN') header("Location: " . $default_url . "index.php");
  8. /*===========================================================================
  9. admin page
  10. ===========================================================================*/
  11. function language_admin() {
  12. //[FIXME]
  13. global $lang_conf;
  14. global $conf;
  15. global $lan;
  16. global $var;
  17. global $language_textbox_temp;
  18. global $language_textboxes;
  19. global $language_admin;
  20. global $language_description;
  21. global $language_id;
  22. global $language_flag;
  23. global $language_tag;
  24. global $language_flag_tag;
  25. get_languages();
  26. //Get page details
  27. $var[page_title] .= ' :: ' . $lan[edit_language_settings];
  28. $var[cookie_trial] .= ' :: ' . $lan[edit_language_settings];
  29. $var[admin_title] = $lan[edit_language_settings];
  30. $language_admin = read_file('templates/edit_language.tpl');
  31. if ($conf[multi_language]) $main = str_replace('[conf]multi_language[/conf]', 'checked="true"', $main);
  32. //count number of languages in lang_conf table
  33. $num_langs = count($lang_conf);
  34. //auto create language text boxes
  35. $language_textbox_temp = read_file('templates/edit_language_textbox.tpl');
  36. //generate and propogate textboxes
  37. foreach ($lang_conf as $value){
  38. if ($value[id] > 0){
  39. $language_description = $value[description];
  40. $language_flag = $value[iso_code];
  41. $language_tag = 'language_' . $value[id];
  42. $language_flag_tag = 'language_' . $value[id] . '_flag';
  43. $language_id = $value[id];
  44. $language_textboxes .= replace_variables($language_textbox_temp);
  45. }
  46. }
  47. }
  48. /*===========================================================================
  49. get_languages
  50. ===========================================================================*/
  51. function get_languages(){
  52. global $conf;
  53. global $lang_conf;
  54. global $db_table_prefix;
  55. $lang_conf = array();
  56. //get language info from database
  57. $sql_query = mysql_query("SELECT * FROM `" . $db_table_prefix . "lang_conf`");
  58. while($row = mysql_fetch_assoc( $sql_query )){
  59. $lang_conf[] = $row;
  60. }
  61. mysql_free_result($sql_query);
  62. //count number of languages in lang_conf table
  63. $num_langs = count($lang_conf);
  64. //populate language vars
  65. foreach ($lang_conf as $value){
  66. global ${'language_'.$value[id]};
  67. global ${'language_'.$value[id].'_flag'};
  68. //create language variables
  69. ${'language_'.$value[id]} = $value[description];
  70. ${'language_'.$value[id].'_flag'} = $value[iso_code];
  71. }
  72. }
  73. /*===========================================================================
  74. add_language
  75. ===========================================================================*/
  76. function add_language(){
  77. global $lang_conf;
  78. global $all_tables;
  79. global $db_table_prefix;
  80. //get post vars from form submission
  81. $language_description = htmlspecialchars($_POST["language_description"], ENT_QUOTES);
  82. $language_iso = htmlspecialchars($_POST["language_iso"], ENT_QUOTES);
  83. $num_langs = count($lang_conf);
  84. //add to lang_conf TABLE
  85. mysql_query("INSERT INTO `dmcms_077`.`" . $db_table_prefix . "lang_conf` SET
  86. `id` = '$num_langs',
  87. `description` = '$language_description',
  88. `iso_code` = '$language_iso',
  89. `enabled` = '',
  90. `default` = '' ") or die (header("Location: " . $default_url . $admin_dir . "index.php?action=edit_language_settings&popmess=add_language_failed"));
  91. //add additional columns to content tables
  92. foreach ($all_tables as $ud_table) {
  93. mysql_query("ALTER TABLE `" . $db_table_prefix . "cat_" . $ud_table . "` ADD `title_lan_$num_langs` varchar(60) NOT NULL");
  94. mysql_query("ALTER TABLE `" . $db_table_prefix . "cat_" . $ud_table . "` ADD `tool_tip_lan_$num_langs` varchar(60) NOT NULL");
  95. mysql_query("ALTER TABLE `" . $db_table_prefix . "cat_" . $ud_table . "` ADD `description_lan_$num_langs` varchar(60) NOT NULL");
  96. }
  97. //add tables to orphan pages
  98. mysql_query("ALTER TABLE `" . $db_table_prefix . "cat_orphan` ADD `title_lan_$num_langs` varchar(60) NOT NULL");
  99. mysql_query("ALTER TABLE `" . $db_table_prefix . "cat_orphan` ADD `tool_tip_lan_$num_langs` varchar(60) NOT NULL");
  100. mysql_query("ALTER TABLE `" . $db_table_prefix . "cat_orphan` ADD `description_lan_$num_langs` varchar(60) NOT NULL");
  101. //add tables to static content
  102. mysql_query("ALTER TABLE `" . $db_table_prefix . "static_content` ADD `title_lan_$num_langs` varchar(60) NOT NULL");
  103. mysql_query("ALTER TABLE `" . $db_table_prefix . "static_content` ADD `tool_tip_lan_$num_langs` varchar(60) NOT NULL");
  104. mysql_query("ALTER TABLE `" . $db_table_prefix . "static_content` ADD `description_lan_$num_langs` varchar(60) NOT NULL");
  105. get_languages();
  106. }
  107. /*===========================================================================
  108. delete_language
  109. ===========================================================================*/
  110. function delete_language($language_id){
  111. global $lang_conf;
  112. global $all_tables;
  113. global $db_table_prefix;
  114. //remove language from lang_conf
  115. mysql_query("DELETE FROM `" . $db_table_prefix . "lang_conf` WHERE id='$language_id'");
  116. //remove tables from content
  117. foreach ($all_tables as $ud_table) {
  118. mysql_query("ALTER TABLE `" . $db_table_prefix . "cat_" . $ud_table . "` DROP COLUMN `title_lan_$language_id` ");
  119. mysql_query("ALTER TABLE `" . $db_table_prefix . "cat_" . $ud_table . "` DROP COLUMN `tool_tip_lan_$language_id`");
  120. mysql_query("ALTER TABLE `" . $db_table_prefix . "cat_" . $ud_table . "` DROP COLUMN `description_lan_$language_id`");
  121. }
  122. //remove tables from orphan pages
  123. mysql_query("ALTER TABLE `" . $db_table_prefix . "cat_orphan` DROP COLUMN `title_lan_$language_id`");
  124. mysql_query("ALTER TABLE `" . $db_table_prefix . "cat_orphan` DROP COLUMN `tool_tip_lan_$language_id`");
  125. mysql_query("ALTER TABLE `" . $db_table_prefix . "cat_orphan` DROP COLUMN `description_lan_$language_id`");
  126. //remove tables from static content
  127. mysql_query("ALTER TABLE `" . $db_table_prefix . "static_content` DROP COLUMN `title_lan_$language_id`");
  128. mysql_query("ALTER TABLE `" . $db_table_prefix . "static_content` DROP COLUMN `tool_tip_lan_$language_id`");
  129. mysql_query("ALTER TABLE `" . $db_table_prefix . "static_content` DROP COLUMN `description_lan_$language_id`");
  130. get_languages();
  131. }
  132. /*===========================================================================
  133. Save_language_settings
  134. ===========================================================================*/
  135. function save_language_settings(){
  136. global $db_table_prefix;
  137. global $conf;
  138. global $db_table_prefix;
  139. //Get user input
  140. $conf[multi_language] = $_REQUEST['multi_language'];
  141. //Update values
  142. foreach ($conf as $key => $value){
  143. mysql_query("UPDATE `" . $db_table_prefix . "core_conf` SET `value` = '$value' WHERE `name` = '$key'");
  144. }
  145. //count number of languages in lang_conf table
  146. $num_langs = count($lang_conf);
  147. //read new values in from form
  148. foreach ($lang_conf as $value){
  149. if ($value[id] > 0){
  150. //$conf[language_1] = $_REQUEST['language_1'];
  151. //$conf[language_1_flag] = $_REQUEST['language_1_flag'];
  152. }
  153. }
  154. //form vars as array
  155. foreach($_POST['education'] as $key=>$value)
  156. echo $key.' '.$value;
  157. //Save to database
  158. }
  159. ?>