diff options
Diffstat (limited to 'phpBB/adm/admin_words.php')
| -rw-r--r-- | phpBB/adm/admin_words.php | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/phpBB/adm/admin_words.php b/phpBB/adm/admin_words.php new file mode 100644 index 0000000000..e8880e86d6 --- /dev/null +++ b/phpBB/adm/admin_words.php @@ -0,0 +1,229 @@ +<?php +/*************************************************************************** + * admin_words.php + * ------------------- + * begin : Thursday, Jul 12, 2001 + * copyright : (C) 2001 The phpBB Group + * email : support@phpbb.com + * + * $Id$ + * + ***************************************************************************/ + +/*************************************************************************** + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + ***************************************************************************/ + +if (!empty($setmodules)) +{ + if (!$auth->acl_get('a_words')) + { + return; + } + + $module['POST']['WORD_CENSOR'] = basename(__FILE__) . $SID; + return; +} + +define('IN_PHPBB', 1); +// Include files +$phpbb_root_path = '../'; +require($phpbb_root_path . 'extension.inc'); +require('pagestart.' . $phpEx); + +// Do we have forum admin permissions? +if (!$auth->acl_get('a_words')) +{ + trigger_error($user->lang['NO_ADMIN']); +} + +// What do we want to do? +if (isset($_REQUEST['mode'])) +{ + $mode = $_REQUEST['mode']; +} +else +{ + // These could be entered via a form button + if (isset($_POST['add'])) + { + $mode = 'add'; + } + else if (isset($_POST['save'])) + { + $mode = 'save'; + } + else + { + $mode = ''; + } +} + +if ($mode != '') +{ + switch ($mode) + { + case 'edit': + case 'add': + $word_id = (isset($_GET['id'])) ? intval($_GET['id']) : 0; + + $s_hidden_fields = ''; + if ($mode == 'edit') + { + if (!$word_id) + { + trigger_error($user->lang['NO_WORD']); + } + + $sql = "SELECT * + FROM " . WORDS_TABLE . " + WHERE word_id = $word_id"; + $result = $db->sql_query($sql); + + $word_info = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + + $s_hidden_fields .= '<input type="hidden" name="id" value="' . $word_id . '" />'; + } + + page_header($user->lang['WORDS_TITLE']); + +?> + +<h1><?php echo $user->lang['WORDS_TITLE']; ?></h1> + +<p><?php echo $user->lang['WORDS_EXPLAIN']; ?></p> + +<form method="post" action="<?php echo "admin_words.$phpEx$SID"; ?>"><table class="bg" cellspacing="1" cellpadding="4" border="0" align="center"> + <tr> + <th colspan="2"><?php echo $user->lang['EDIT_WORD']; ?></th> + </tr> + <tr> + <td class="row1"><?php echo $user->lang['WORD']; ?></td> + <td class="row2"><input type="text" name="word" value="<?php echo $word_info['word']; ?>" /></td> + </tr> + <tr> + <td class="row1"><?php echo $user->lang['REPLACEMENT']; ?></td> + <td class="row2"><input type="text" name="replacement" value="<?php echo $word_info['replacement']; ?>" /></td> + </tr> + <tr> + <td class="cat" colspan="2" align="center"><?php echo $s_hidden_fields; ?><input class="mainoption" type="submit" name="save" value="<?php echo $user->lang['SUBMIT']; ?>" /></td> + </tr> +</table></form> + +<?php + + page_footer(); + break; + + case 'save': + $word_id = (isset($_POST['id'])) ? intval($_POST['id']) : 0; + $word = (isset($_POST['word'])) ? trim($_POST['word']) : ''; + $replacement = (isset($_POST['replacement'])) ? trim($_POST['replacement']) : ''; + + if ($word == '' || $replacement == '') + { + trigger_error($user->lang['ENTER_WORD']); + } + + $sql = ($word_id) ? "UPDATE " . WORDS_TABLE . " SET word = '" . $db->sql_escape($word) . "', replacement = '" . $db->sql_escape($replacement) . "' WHERE word_id = $word_id" : "INSERT INTO " . WORDS_TABLE . " (word, replacement) VALUES ('" . $db->sql_escape($word) . "', '" . $db->sql_escape($replacement) . "')"; + $db->sql_query($sql); + + $cache->destroy('word_censors'); + + $log_action = ($word_id) ? 'log_edit_word' : 'log_add_word'; + add_log('admin', $log_action, stripslashes($word)); + + $message = ($word_id) ? $user->lang['WORD_UPDATED'] : $user->lang['WORD_ADDED']; + break; + + case 'delete': + + if (isset($_POST['id']) || isset($_GET['id'])) + { + $word_id = (isset($_POST['id'])) ? intval($_POST['id']) : intval($_GET['id']); + } + else + { + trigger_error($user->lang['NO_WORD']); + } + + $sql = "DELETE FROM " . WORDS_TABLE . " + WHERE word_id = $word_id"; + $db->sql_query($sql); + + $cache->destroy('word_censors'); + + add_log('admin', 'log_delete_word'); + + $message = $user->lang['WORD_REMOVE']; + break; + + } + + trigger_error($message); + +} +else +{ + + page_header($user->lang['WORDS_TITLE']); + +?> + +<h1><?php echo $user->lang['WORDS_TITLE']; ?></h1> + +<p><?php echo $user->lang['WORDS_EXPLAIN']; ?></p> + +<form method="post" action="admin_words.<?php echo $phpEx . $SID; ?>"><table class="bg" cellspacing="1" cellpadding="4" border="0" align="center"> + <tr> + <th><?php echo $user->lang['WORD']; ?></th> + <th><?php echo $user->lang['REPLACEMENT']; ?></th> + <th colspan="2"><?php echo $user->lang['ACTION']; ?></th> + </tr> + +<?php + + $sql = "SELECT * + FROM " . WORDS_TABLE . " + ORDER BY word"; + $result = $db->sql_query($sql); + + if ($row = $db->sql_fetchrow($result)) + { + do + { + $row_class = ($row_class == 'row1') ? 'row2' : 'row1'; + +?> + <tr> + <td class="<?php echo $row_class; ?>" align="center"><?php echo $row['word']; ?></td> + <td class="<?php echo $row_class; ?>" align="center"><?php echo $row['replacement']; ?></td> + <td class="<?php echo $row_class; ?>"> <a href="<?php echo "admin_words.$phpEx$SID&mode=edit&id=" . $row['word_id']; ?>"><?php echo $user->lang['EDIT']; ?></a> </td> + <td class="<?php echo $row_class; ?>"> <a href="<?php echo "admin_words.$phpEx$SID&mode=delete&id=" . $row['word_id']; ?>"><?php echo $user->lang['DELETE']; ?></a> </td> + </tr> +<?php + + } + while ($row = $db->sql_fetchrow($result)); + } + $db->sql_freeresult($result); + +?> + <tr> + <td class="cat" colspan="5" height="28" align="center"><?php echo $s_hidden_fields; ?><input class="mainoption" type="submit" name="add" value="<?php echo $user->lang['ADD_WORD']; ?>" /></td> + </tr> +</table></form> + +<?php + + page_footer(); + +} + +?>
\ No newline at end of file |
