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  ?>