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.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

acp_words.php

Zuletzt modifiziert: 09.10.2024, 12:51 - Dateigröße: 4.39 KiB


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 . '&amp;action=edit&amp;id=' . $row['word_id'],
178                  'U_DELETE'        => $this->u_action . '&amp;action=delete&amp;id=' . $row['word_id'])
179              );
180          }
181          $db->sql_freeresult($result);
182      }
183  }
184   
185  ?>