PageRenderTime 46ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/adm/admin_autolinks.php

http://github.com/MightyGorgon/icy_phoenix
PHP | 252 lines | 198 code | 39 blank | 15 comment | 29 complexity | 8d39c8939bdabeed9343a58214ba7462 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. /**
  11. *
  12. * @Extra credits for this file
  13. * Afkamm
  14. *
  15. */
  16. define('IN_ICYPHOENIX', true);
  17. if(!empty($setmodules))
  18. {
  19. $file = basename(__FILE__);
  20. $module['1100_General']['195_Autolinks'] = $file;
  21. return;
  22. }
  23. // Load default header
  24. if (!defined('IP_ROOT_PATH')) define('IP_ROOT_PATH', './../');
  25. if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
  26. require('pagestart.' . PHP_EXT);
  27. $mode = request_var('mode', '');
  28. if($mode == 'save')
  29. {
  30. $link_id = request_post_var('id', 0);
  31. $keyword = request_post_var('keyword', '', true);
  32. $title = request_post_var('title', '', true);
  33. $url = request_post_var('url', '');
  34. $comment = request_post_var('comment', '', true);
  35. $style = request_post_var('style', '');
  36. $internal = request_post_var('internal', 0);
  37. $forum = request_post_var('link_forum', 0);
  38. $delete = request_post_var('delete', 0);
  39. if($delete)
  40. {
  41. $sql = "DELETE FROM " . AUTOLINKS . "
  42. WHERE link_id = " . $link_id;
  43. $result = $db->sql_query($sql);
  44. $db->clear_cache('autolinks_', TOPICS_CACHE_FOLDER);
  45. $message = $lang['Autolink_removed'] . '<br /><br />' . sprintf($lang['Click_return_autolinkadmin'], '<a href="' . append_sid('admin_autolinks.' . PHP_EXT) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid('index.' . PHP_EXT . '?pane=right') . '">', '</a>');
  46. message_die(GENERAL_MESSAGE, $message);
  47. }
  48. else
  49. {
  50. if(($keyword == '') || ($title == '') || ($url == ''))
  51. {
  52. message_die(GENERAL_MESSAGE, $lang['Must_enter_autolink']);
  53. }
  54. if($link_id)
  55. {
  56. $sql = "UPDATE " . AUTOLINKS . "
  57. SET link_keyword = '" . $db->sql_escape($keyword) . "', link_title = '" . $db->sql_escape($title) . "', link_url = '" . $db->sql_escape($url) . "', link_comment = '" . $db->sql_escape($comment) . "', link_style = '" . $db->sql_escape($style) . "', link_forum = '" . $forum . "', link_int = '" . $internal . "'
  58. WHERE link_id = " . $link_id;
  59. $message = $lang['Autolink_updated'];
  60. }
  61. else
  62. {
  63. $sql = "INSERT INTO " . AUTOLINKS . " (link_keyword, link_title, link_url, link_comment, link_style, link_forum, link_int)
  64. VALUES ('" . $db->sql_escape($keyword) . "', '" . $db->sql_escape($title) . "', '" . $db->sql_escape($url) . "', '" . $db->sql_escape($comment) . "', '" . $db->sql_escape($style) . "', $forum, $internal)";
  65. $message = $lang['Autolink_added'];
  66. }
  67. $result = $db->sql_query($sql);
  68. $db->clear_cache('autolinks_', TOPICS_CACHE_FOLDER);
  69. $message .= '<br /><br />' . sprintf($lang['Click_return_autolinkadmin'], '<a href="' . append_sid('admin_autolinks.' . PHP_EXT) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid('index.' . PHP_EXT . '?pane=right') . '">', '</a>');
  70. message_die(GENERAL_MESSAGE, $message);
  71. }
  72. }
  73. else
  74. {
  75. $link_id_edit = request_get_var('id', 0);
  76. $forum_id = request_get_var('forum_id', 0);
  77. $template->set_filenames(array('body' => ADM_TPL . 'autolinks_body.tpl'));
  78. $sql = "SELECT forum_id, forum_name
  79. FROM " . FORUMS_TABLE . "
  80. WHERE forum_type = " . FORUM_POST . "
  81. ORDER BY parent_id, forum_order ASC";
  82. $result = $db->sql_query($sql);
  83. $forum_ids = array();
  84. $forum_names = array();
  85. $forum_ids[0] = '0';
  86. $forum_names[0] = $lang['Select_all_forums'];
  87. while($row = $db->sql_fetchrow($result))
  88. {
  89. $forum_ids[] = $row['forum_id'];
  90. $forum_names[] = $row['forum_name'];
  91. }
  92. $forum_list = '<select name="link_forum"><option value="0">' . $lang['Select_a_Forum'] . '</option>';
  93. $forum_list .= '<option value="0">&nbsp;</option>';
  94. if($link_id_edit)
  95. {
  96. $sql = "SELECT *
  97. FROM " . AUTOLINKS . "
  98. WHERE link_id = " . $link_id_edit;
  99. $result = $db->sql_query($sql);
  100. $row = $db->sql_fetchrow($result);
  101. if($total_forums = sizeof($forum_ids))
  102. {
  103. for($j = 0; $j < $total_forums; $j++)
  104. {
  105. $selected = ($forum_ids[$j] == $row['link_forum']) ? ' selected="selected"' : '';
  106. $forum_list .= '<option value="' . $forum_ids[$j] . '"' . $selected . '>' . $forum_names[$j] . '</option>';
  107. if($j == 0)
  108. {
  109. $forum_list .= '<option value="0">&nbsp;</option>';
  110. }
  111. }
  112. }
  113. $forum_list .= '</select>';
  114. $template->assign_vars(array(
  115. 'KEYWORD' => $row['link_keyword'],
  116. 'TITLE' => $row['link_title'],
  117. 'URL' => $row['link_url'],
  118. 'COMMENT' => $row['link_comment'],
  119. 'STYLE' => $row['link_style'],
  120. 'S_JUMPBOX_SELECT' => $forum_list,
  121. 'INTERNAL_NO' => ($row['link_int'] == '0') ? ' checked="checked"' : '',
  122. 'INTERNAL_YES' => ($row['link_int'] == '1') ? ' checked="checked"' : ''
  123. )
  124. );
  125. $template->assign_block_vars('delete_link', array(
  126. 'L_DELETE_LINK' => $lang['Delete_link']
  127. )
  128. );
  129. }
  130. else
  131. {
  132. $forum_list .= '<option value="0">' . $lang['Select_all_forums'] . '</option>';
  133. $forum_list .= '<option value="0">&nbsp;</option>';
  134. if($total_forums = sizeof($forum_ids))
  135. {
  136. for($j = 1; $j < $total_forums; $j++)
  137. {
  138. $forum_list .= '<option value="' . $forum_ids[$j] . '">' . $forum_names[$j] . '</option>';
  139. }
  140. }
  141. $forum_list .= '</select>';
  142. $template->assign_vars(array(
  143. 'S_JUMPBOX_SELECT' => $forum_list
  144. )
  145. );
  146. }
  147. $template->assign_vars(array(
  148. 'L_AUTOLINKS_TITLE' => $lang['Autolinks_title'],
  149. 'L_AUTOLINKS_TEXT' => $lang['Autolinks_explain'],
  150. 'L_FORM_TITLE' => ($mode == 'edit') ? $lang['Autolinks_edit'] : $lang['Autolinks_add'],
  151. 'L_KEYWORD' => $lang['links_keyword'],
  152. 'L_TITLE' => $lang['links_title'],
  153. 'L_URL' => $lang['links_url'],
  154. 'L_COMMENT' => $lang['links_comment'],
  155. 'L_STYLE' => $lang['links_style'],
  156. 'L_FORUM' => $lang['links_forum2'],
  157. 'L_FORUMS' => $lang['links_forum'],
  158. 'L_INTERNAL' => $lang['links_internal'],
  159. 'L_SELECT_FORUM' => $lang['Select_forum'],
  160. 'L_NO' => $lang['No'],
  161. 'L_YES' => $lang['Yes'],
  162. 'L_EDIT' => $lang['Edit'],
  163. 'L_SUBMIT' => ($mode == 'edit') ? $lang['Edit_keyword'] : $lang['Add_keyword'],
  164. 'L_ACTION' => $lang['Action'],
  165. 'S_AUTOLINKS_ACTION' => append_sid('admin_autolinks.' . PHP_EXT),
  166. 'S_HIDDEN_FIELDS' => ($mode == 'edit') ? '<input type="hidden" name="mode" value="save" /><input type="hidden" name="id" value="' . $link_id_edit . '" /><input type="hidden" name="forum_id" value="' . $forum_id . '" />' : '<input type="hidden" name="mode" value="save" />'
  167. )
  168. );
  169. $sql = "SELECT *
  170. FROM " . AUTOLINKS . "
  171. ORDER BY link_keyword";
  172. $result = $db->sql_query($sql);
  173. $autolink_rows = $db->sql_fetchrowset($result);
  174. if($autolink_count = sizeof($autolink_rows))
  175. {
  176. for($i = 0; $i < $autolink_count; $i++)
  177. {
  178. $link_id = $autolink_rows[$i]['link_id'];
  179. $link_keyword = $autolink_rows[$i]['link_keyword'];
  180. $link_title = $autolink_rows[$i]['link_title'];
  181. $link_url = $autolink_rows[$i]['link_url'];
  182. $link_comment = $autolink_rows[$i]['link_comment'];
  183. $link_style = $autolink_rows[$i]['link_style'];
  184. $link_forum = $autolink_rows[$i]['link_forum'];
  185. $link_int = $autolink_rows[$i]['link_int'];
  186. $row_class = (!($i % 2)) ? $theme['td_class1'] : $theme['td_class2'];
  187. $forum_id2 = array_search($link_forum, $forum_ids);
  188. $template->assign_block_vars('autolinks', array(
  189. 'ROW_CLASS' => $row_class,
  190. 'NUMBER' => $i + 1,
  191. 'KEYWORD' => $link_keyword,
  192. 'TITLE' => $link_title,
  193. 'URL' => $link_url,
  194. 'COMMENT' => $link_comment,
  195. 'STYLE' => $link_style,
  196. 'FORUM' => $forum_names[$forum_id2],
  197. 'INTERNAL' => ($link_int == '1') ? $lang['Yes'] : $lang['No'],
  198. 'U_KEYWORD_EDIT' => append_sid('admin_autolinks.' . PHP_EXT . '?mode=edit&amp;id=' . $link_id . '&amp;forum_id=' . $forum_id) . '#edit'
  199. )
  200. );
  201. }
  202. }
  203. else
  204. {
  205. $template->assign_block_vars('no_autolinks', array(
  206. 'NO_AUTOLINKS' => $lang['No_autolinks']
  207. )
  208. );
  209. }
  210. }
  211. $template->pparse('body');
  212. include(IP_ROOT_PATH . ADM . '/page_footer_admin.' . PHP_EXT);
  213. ?>