Verzeichnisstruktur phpBB-3.0.0
- Veröffentlicht
- 12.12.2007
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
acp_words.php
001 <?php
002 /**
003 *
004 * @package acp
005 * @version $Id$
006 * @copyright (c) 2005 phpBB Group
007 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
008 *
009 */
010
011 /**
012 * @ignore
013 */
014 if (!defined('IN_PHPBB'))
015 {
016 exit;
017 }
018
019 /**
020 * @todo [words] check regular expressions for special char replacements (stored specialchared in db)
021 * @package acp
022 */
023 class acp_words
024 {
025 var $u_action;
026
027 function main($id, $mode)
028 {
029 global $db, $user, $auth, $template, $cache;
030 global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
031
032 $user->add_lang('acp/posting');
033
034 // Set up general vars
035 $action = request_var('action', '');
036 $action = (isset($_POST['add'])) ? 'add' : ((isset($_POST['save'])) ? 'save' : $action);
037
038 $s_hidden_fields = '';
039 $word_info = array();
040
041 $this->tpl_name = 'acp_words';
042 $this->page_title = 'ACP_WORDS';
043
044 $form_name = 'acp_words';
045 add_form_key($form_name);
046
047 switch ($action)
048 {
049 case 'edit':
050 $word_id = request_var('id', 0);
051
052 if (!$word_id)
053 {
054 trigger_error($user->lang['NO_WORD'] . adm_back_link($this->u_action), E_USER_WARNING);
055 }
056
057 $sql = 'SELECT *
058 FROM ' . WORDS_TABLE . "
059 WHERE word_id = $word_id";
060 $result = $db->sql_query($sql);
061 $word_info = $db->sql_fetchrow($result);
062 $db->sql_freeresult($result);
063
064 $s_hidden_fields .= '<input type="hidden" name="id" value="' . $word_id . '" />';
065
066 case 'add':
067
068 $template->assign_vars(array(
069 'S_EDIT_WORD' => true,
070 'U_ACTION' => $this->u_action,
071 'U_BACK' => $this->u_action,
072 'WORD' => (isset($word_info['word'])) ? $word_info['word'] : '',
073 'REPLACEMENT' => (isset($word_info['replacement'])) ? $word_info['replacement'] : '',
074 'S_HIDDEN_FIELDS' => $s_hidden_fields)
075 );
076
077 return;
078
079 break;
080
081 case 'save':
082
083 if (!check_form_key($form_name))
084 {
085 trigger_error($user->lang['FORM_INVALID']. adm_back_link($this->u_action), E_USER_WARNING);
086 }
087 $word_id = request_var('id', 0);
088 $word = utf8_normalize_nfc(request_var('word', '', true));
089 $replacement = utf8_normalize_nfc(request_var('replacement', '', true));
090
091 if (!$word || !$replacement)
092 {
093 trigger_error($user->lang['ENTER_WORD'] . adm_back_link($this->u_action), E_USER_WARNING);
094 }
095
096 $sql_ary = array(
097 'word' => $word,
098 'replacement' => $replacement
099 );
100
101 if ($word_id)
102 {
103 $db->sql_query('UPDATE ' . WORDS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . ' WHERE word_id = ' . $word_id);
104 }
105 else
106 {
107 $db->sql_query('INSERT INTO ' . WORDS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
108 }
109
110 $cache->destroy('_word_censors');
111
112 $log_action = ($word_id) ? 'LOG_WORD_EDIT' : 'LOG_WORD_ADD';
113 add_log('admin', $log_action, $word);
114
115 $message = ($word_id) ? $user->lang['WORD_UPDATED'] : $user->lang['WORD_ADDED'];
116 trigger_error($message . adm_back_link($this->u_action));
117
118 break;
119
120 case 'delete':
121
122 $word_id = request_var('id', 0);
123
124 if (!$word_id)
125 {
126 trigger_error($user->lang['NO_WORD'] . adm_back_link($this->u_action), E_USER_WARNING);
127 }
128
129 if (confirm_box(true))
130 {
131 $sql = 'SELECT word
132 FROM ' . WORDS_TABLE . "
133 WHERE word_id = $word_id";
134 $result = $db->sql_query($sql);
135 $deleted_word = $db->sql_fetchfield('word');
136 $db->sql_freeresult($result);
137
138 $sql = 'DELETE FROM ' . WORDS_TABLE . "
139 WHERE word_id = $word_id";
140 $db->sql_query($sql);
141
142 $cache->destroy('_word_censors');
143
144 add_log('admin', 'LOG_WORD_DELETE', $deleted_word);
145
146 trigger_error($user->lang['WORD_REMOVED'] . adm_back_link($this->u_action));
147 }
148 else
149 {
150 confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
151 'i' => $id,
152 'mode' => $mode,
153 'id' => $word_id,
154 'action' => 'delete',
155 )));
156 }
157
158 break;
159 }
160
161
162 $template->assign_vars(array(
163 'U_ACTION' => $this->u_action,
164 'S_HIDDEN_FIELDS' => $s_hidden_fields)
165 );
166
167 $sql = 'SELECT *
168 FROM ' . WORDS_TABLE . '
169 ORDER BY word';
170 $result = $db->sql_query($sql);
171
172 while ($row = $db->sql_fetchrow($result))
173 {
174 $template->assign_block_vars('words', array(
175 'WORD' => $row['word'],
176 'REPLACEMENT' => $row['replacement'],
177 'U_EDIT' => $this->u_action . '&action=edit&id=' . $row['word_id'],
178 'U_DELETE' => $this->u_action . '&action=delete&id=' . $row['word_id'])
179 );
180 }
181 $db->sql_freeresult($result);
182 }
183 }
184
185 ?>