[ Index ] |
PHP Cross Reference of phpBB 3.0 Beta 3 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * 4 * @package acp 5 * @version $Id: acp_words.php,v 1.10 2006/11/12 14:29:31 naderman Exp $ 6 * @copyright (c) 2005 phpBB Group 7 * @license http://opensource.org/licenses/gpl-license.php GNU Public License 8 * 9 */ 10 11 /** 12 * @todo [words] check regular expressions for special char replacements (stored specialchared in db) 13 * @package acp 14 */ 15 class acp_words 16 { 17 var $u_action; 18 19 function main($id, $mode) 20 { 21 global $db, $user, $auth, $template, $cache; 22 global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; 23 24 $user->add_lang('acp/posting'); 25 26 // Set up general vars 27 $action = request_var('action', ''); 28 $action = (isset($_POST['add'])) ? 'add' : ((isset($_POST['save'])) ? 'save' : $action); 29 30 $s_hidden_fields = ''; 31 $word_info = array(); 32 33 $this->tpl_name = 'acp_words'; 34 $this->page_title = 'ACP_WORDS'; 35 36 switch ($action) 37 { 38 case 'edit': 39 $word_id = request_var('id', 0); 40 41 if (!$word_id) 42 { 43 trigger_error($user->lang['NO_WORD'] . adm_back_link($this->u_action), E_USER_WARNING); 44 } 45 46 $sql = 'SELECT * 47 FROM ' . WORDS_TABLE . " 48 WHERE word_id = $word_id"; 49 $result = $db->sql_query($sql); 50 $word_info = $db->sql_fetchrow($result); 51 $db->sql_freeresult($result); 52 53 $s_hidden_fields .= '<input type="hidden" name="id" value="' . $word_id . '" />'; 54 55 case 'add': 56 57 $template->assign_vars(array( 58 'S_EDIT_WORD' => true, 59 'U_ACTION' => $this->u_action, 60 'U_BACK' => $this->u_action, 61 'WORD' => (isset($word_info['word'])) ? $word_info['word'] : '', 62 'REPLACEMENT' => (isset($word_info['replacement'])) ? $word_info['replacement'] : '', 63 'S_HIDDEN_FIELDS' => $s_hidden_fields) 64 ); 65 66 return; 67 68 break; 69 70 case 'save': 71 $word_id = request_var('id', 0); 72 $word = request_var('word', '', true); 73 $replacement = request_var('replacement', '', true); 74 75 utf8_normalize_nfc(array(&$word, &$replacement)); 76 77 if (!$word || !$replacement) 78 { 79 trigger_error($user->lang['ENTER_WORD'] . adm_back_link($this->u_action), E_USER_WARNING); 80 } 81 82 $sql_ary = array( 83 'word' => $word, 84 'replacement' => $replacement 85 ); 86 87 if ($word_id) 88 { 89 $db->sql_query('UPDATE ' . WORDS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . ' WHERE word_id = ' . $word_id); 90 } 91 else 92 { 93 $db->sql_query('INSERT INTO ' . WORDS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary)); 94 } 95 96 $cache->destroy('word_censors'); 97 98 $log_action = ($word_id) ? 'LOG_WORD_EDIT' : 'LOG_WORD_ADD'; 99 add_log('admin', $log_action, $word); 100 101 $message = ($word_id) ? $user->lang['WORD_UPDATED'] : $user->lang['WORD_ADDED']; 102 trigger_error($message . adm_back_link($this->u_action)); 103 104 break; 105 106 case 'delete': 107 108 $word_id = request_var('id', 0); 109 110 if (!$word_id) 111 { 112 trigger_error($user->lang['NO_WORD'] . adm_back_link($this->u_action), E_USER_WARNING); 113 } 114 115 $sql = 'SELECT word 116 FROM ' . WORDS_TABLE . " 117 WHERE word_id = $word_id"; 118 $result = $db->sql_query($sql); 119 $deleted_word = $db->sql_fetchfield('word'); 120 $db->sql_freeresult($result); 121 122 $sql = 'DELETE FROM ' . WORDS_TABLE . " 123 WHERE word_id = $word_id"; 124 $db->sql_query($sql); 125 126 $cache->destroy('word_censors'); 127 128 add_log('admin', 'LOG_WORD_DELETE', $deleted_word); 129 130 trigger_error($user->lang['WORD_REMOVED'] . adm_back_link($this->u_action)); 131 132 break; 133 } 134 135 136 $template->assign_vars(array( 137 'U_ACTION' => $this->u_action, 138 'S_HIDDEN_FIELDS' => $s_hidden_fields) 139 ); 140 141 $sql = 'SELECT * 142 FROM ' . WORDS_TABLE . ' 143 ORDER BY word'; 144 $result = $db->sql_query($sql); 145 146 while ($row = $db->sql_fetchrow($result)) 147 { 148 $template->assign_block_vars('words', array( 149 'WORD' => $row['word'], 150 'REPLACEMENT' => $row['replacement'], 151 'U_EDIT' => $this->u_action . '&action=edit&id=' . $row['word_id'], 152 'U_DELETE' => $this->u_action . '&action=delete&id=' . $row['word_id']) 153 ); 154 } 155 $db->sql_freeresult($result); 156 } 157 } 158 159 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Nov 22 00:35:05 2006 | Cross-referenced by PHPXref 0.6 |