PageRenderTime 25ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 1ms

/adm/admin_acronyms.php

http://github.com/MightyGorgon/icy_phoenix
PHP | 182 lines | 143 code | 30 blank | 9 comment | 16 complexity | 6f96c046bb61ab3b3a97b68db1a18ceb MD5 | raw file
Possible License(s): AGPL-1.0
  1. <?php
  2. /**
  3. *
  4. * @package Icy Phoenix
  5. * @version $Id$
  6. * @copyright (c) 2008 Icy Phoenix
  7. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  8. *
  9. */
  10. define('IN_ICYPHOENIX', true);
  11. if(!empty($setmodules))
  12. {
  13. $file = basename(__FILE__);
  14. $module['1100_General']['190_Acronyms'] = $file;
  15. return;
  16. }
  17. // Load default header
  18. if (!defined('IP_ROOT_PATH')) define('IP_ROOT_PATH', './../');
  19. if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
  20. require('pagestart.' . PHP_EXT);
  21. $modes_array = array('add', 'delete', 'edit', 'save');
  22. $mode = request_var('mode', '');
  23. $mode = in_array($mode, $modes_array) ? $mode : '';
  24. $mode = !empty($mode) ? $mode : (isset($_POST['add']) ? 'add' : (isset($_POST['save']) ? 'save' : ''));
  25. $acronym_id = request_var('id', 0);
  26. $s_hidden_fields = '';
  27. if(!empty($mode))
  28. {
  29. if(in_array($mode, array('edit', 'add')))
  30. {
  31. $template->set_filenames(array('body' => ADM_TPL . 'acronyms_edit_body.tpl'));
  32. if($mode == 'edit')
  33. {
  34. if(!empty($acronym_id))
  35. {
  36. $sql = "SELECT * FROM " . ACRONYMS_TABLE . " WHERE acronym_id = " . (int) $acronym_id;
  37. $result = $db->sql_query($sql);
  38. $acronym_info = $db->sql_fetchrow($result);
  39. $s_hidden_fields .= '<input type="hidden" name="id" value="' . $acronym_id . '" />';
  40. }
  41. else
  42. {
  43. message_die(GENERAL_MESSAGE, $lang['No_acronym_selected']);
  44. }
  45. }
  46. $template->assign_vars(array(
  47. 'ACRONYM' => $acronym_info['acronym'],
  48. 'DESCRIPTION' => $acronym_info['description'],
  49. 'L_ACRONYMS_TITLE' => $lang['Acronyms_title'],
  50. 'L_ACRONYMS_TEXT' => $lang['Acronyms_explain'],
  51. 'L_ACRONYM_EDIT' => $lang['Edit_acronym'],
  52. 'L_ACRONYM' => $lang['Acronym'],
  53. 'L_DESCRIPTION' => $lang['Description'],
  54. 'L_SUBMIT' => $lang['Submit'],
  55. 'S_ACRONYMS_ACTION' => append_sid('admin_acronyms.' . PHP_EXT),
  56. 'S_HIDDEN_FIELDS' => $s_hidden_fields
  57. )
  58. );
  59. $template->pparse('body');
  60. include(IP_ROOT_PATH . ADM . '/page_footer_admin.' . PHP_EXT);
  61. }
  62. elseif($mode == 'save')
  63. {
  64. $acronym = request_post_var('acronym', '', true);
  65. $description = request_post_var('description', '', true);
  66. if(empty($acronym) || empty($description))
  67. {
  68. message_die(GENERAL_MESSAGE, $lang['Must_enter_acronym']);
  69. }
  70. if(!empty($acronym_id))
  71. {
  72. $sql = "UPDATE " . ACRONYMS_TABLE . "
  73. SET acronym = '" . $db->sql_escape($acronym) . "', description = '" . $db->sql_escape($description) . "'
  74. WHERE acronym_id = " . (int) $acronym_id;
  75. $message = $lang['Acronym_updated'];
  76. }
  77. else
  78. {
  79. $sql = 'SELECT acronym FROM ' . ACRONYMS_TABLE . " WHERE acronym = '" . $db->sql_escape($acronym) . "'";
  80. $result = $db->sql_query($sql);
  81. if($db->sql_fetchrow($result))
  82. {
  83. $message = 'Acronym already in Database.';
  84. $message .= '<br /><br />' . sprintf($lang['Click_return_acronymadmin'], '<a href="' . append_sid('admin_acronyms.' . PHP_EXT) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid('index.' . PHP_EXT . '?pane=right') . '">', '</a>');
  85. $db->sql_freeresult($result);
  86. message_die(GENERAL_MESSAGE, $message);
  87. }
  88. $db->sql_freeresult($result);
  89. $sql = "INSERT INTO " . ACRONYMS_TABLE . " (acronym, description)
  90. VALUES ('" . $db->sql_escape($acronym) . "', '" . $db->sql_escape($description) . "')";
  91. $message = $lang['Acronym_added'];
  92. }
  93. $result = $db->sql_query($sql);
  94. $db->clear_cache('acronyms_', TOPICS_CACHE_FOLDER);
  95. $message .= '<br /><br />' . sprintf($lang['Click_return_acronymadmin'], '<a href="' . append_sid('admin_acronyms.' . PHP_EXT) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid('index.' . PHP_EXT . '?pane=right') . '">', '</a>');
  96. message_die(GENERAL_MESSAGE, $message);
  97. }
  98. elseif($mode == 'delete')
  99. {
  100. if(!empty($acronym_id))
  101. {
  102. $sql = "DELETE FROM " . ACRONYMS_TABLE . " WHERE acronym_id = " . (int) $acronym_id;
  103. $result = $db->sql_query($sql);
  104. $db->clear_cache('acronyms_', TOPICS_CACHE_FOLDER);
  105. $message = $lang['Acronym_removed'] . '<br /><br />' . sprintf($lang['Click_return_acronymadmin'], '<a href="' . append_sid('admin_acronyms.' . PHP_EXT) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid('index.' . PHP_EXT . '?pane=right') . '">', '</a>');
  106. message_die(GENERAL_MESSAGE, $message);
  107. }
  108. else
  109. {
  110. message_die(GENERAL_MESSAGE, $lang['No_acronym_selected']);
  111. }
  112. }
  113. }
  114. else
  115. {
  116. $template->set_filenames(array('body' => ADM_TPL . 'acronyms_list_body.tpl'));
  117. $sql = "SELECT * FROM " . ACRONYMS_TABLE . " ORDER BY acronym";
  118. $result = $db->sql_query($sql);
  119. $word_rows = $db->sql_fetchrowset($result);
  120. $word_count = sizeof($word_rows);
  121. $template->assign_vars(array(
  122. 'L_ACRONYMS_TITLE' => $lang['Acronyms_title'],
  123. 'L_ACRONYMS_TEXT' => $lang['Acronyms_explain'],
  124. 'L_ACRONYM' => $lang['Acronym'],
  125. 'L_DESCRIPTION' => $lang['Description'],
  126. 'L_EDIT' => $lang['Edit'],
  127. 'L_DELETE' => $lang['Delete'],
  128. 'L_ADD_ACRONYM' => $lang['Add_new_acronym'],
  129. 'L_ACTION' => $lang['Action'],
  130. 'S_ACRONYM_ACTION' => append_sid('admin_acronyms.' . PHP_EXT),
  131. 'S_HIDDEN_FIELDS' => $s_hidden_fields
  132. )
  133. );
  134. for($i = 0; $i < $word_count; $i++)
  135. {
  136. $acronym = $word_rows[$i]['acronym'];
  137. $description = $word_rows[$i]['description'];
  138. $acronym_id = $word_rows[$i]['acronym_id'];
  139. $row_class = ($i % 2) ? $theme['td_class2'] : $theme['td_class1'];
  140. $template->assign_block_vars('acronyms', array(
  141. 'ROW_CLASS' => $row_class,
  142. 'ACRONYM' => $acronym,
  143. 'DESCRIPTION' => $description,
  144. 'U_ACRONYM_EDIT' => append_sid('admin_acronyms.' . PHP_EXT . '?mode=edit&amp;id=' . $acronym_id),
  145. 'U_ACRONYM_DELETE' => append_sid('admin_acronyms.' . PHP_EXT . '?mode=delete&amp;id=' . $acronym_id)
  146. )
  147. );
  148. }
  149. }
  150. $template->pparse('body');
  151. include(IP_ROOT_PATH . ADM . '/page_footer_admin.' . PHP_EXT);
  152. ?>