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

adjust_bbcodes.php

Zuletzt modifiziert: 09.10.2024, 12:50 - Dateigröße: 3.91 KiB


001  <?php
002  /**
003  * Only adjust bitfields, do not rewrite text...
004  * All new parsings have the img, flash and quote modes set to true
005  *
006  * You should make a backup from your users, posts and privmsgs table in case something goes wrong
007  * Forum descriptions and rules need to be re-submitted manually.
008  */
009  die("Please read the first lines of this script for instructions on how to enable it");
010   
011  set_time_limit(0);
012   
013  define('IN_PHPBB', true);
014  $phpbb_root_path = './../';
015  $phpEx = substr(strrchr(__FILE__, '.'), 1);
016  include($phpbb_root_path . 'common.'.$phpEx);
017  include($phpbb_root_path . 'includes/message_parser.' . $phpEx);
018   
019  // Start session management
020  $user->session_begin();
021  $auth->acl($user->data);
022  $user->setup();
023   
024  $echos = 0;
025   
026  // Adjust user signatures
027  $message_parser = new parse_message();
028  $message_parser->mode = 'sig';
029  $message_parser->bbcode_init();
030   
031  $sql = 'SELECT user_id, user_sig, user_sig_bbcode_uid, user_sig_bbcode_bitfield
032      FROM ' . USERS_TABLE;
033  $result = $db->sql_query($sql);
034   
035  while ($row = $db->sql_fetchrow($result))
036  {
037      // Convert bbcodes back to their normal form
038      if ($row['user_sig_bbcode_uid'] && $row['user_sig'])
039      {
040          decode_message($row['user_sig'], $row['user_sig_bbcode_uid']);
041   
042          $message_parser->message = $row['user_sig'];
043   
044          $message_parser->prepare_bbcodes();
045          $message_parser->parse_bbcode();
046   
047          $bitfield = $message_parser->bbcode_bitfield;
048   
049          $sql = 'UPDATE ' . USERS_TABLE . " SET user_sig_bbcode_bitfield = '" . $db->sql_escape($bitfield) . "'
050              WHERE user_id = " . $row['user_id'];
051          $db->sql_query($sql);
052   
053          if ($echos > 200)
054          {
055              echo '<br />' . "\n";
056              $echos = 0;
057          }
058   
059          echo '.';
060          $echos++;
061   
062          flush();
063      }
064      else
065      {
066          $sql = 'UPDATE ' . USERS_TABLE . " SET user_sig_bbcode_bitfield = ''
067              WHERE user_id = " . $row['user_id'];
068          $db->sql_query($sql);
069      }
070  }
071  $db->sql_freeresult($result);
072   
073   
074  // Now adjust posts
075   
076  $message_parser = new parse_message();
077  $message_parser->mode = 'post';
078  $message_parser->bbcode_init();
079   
080  // Update posts
081  $sql = 'SELECT post_id, post_text, bbcode_uid, enable_bbcode, enable_smilies, enable_sig
082      FROM ' . POSTS_TABLE;
083  $result = $db->sql_query($sql);
084   
085  while ($row = $db->sql_fetchrow($result))
086  {
087      // Convert bbcodes back to their normal form
088      if ($row['enable_bbcode'])
089      {
090          decode_message($row['post_text'], $row['bbcode_uid']);
091   
092          $message_parser->message = $row['post_text'];
093   
094          $message_parser->prepare_bbcodes();
095          $message_parser->parse_bbcode();
096   
097          $bitfield = $message_parser->bbcode_bitfield;
098   
099          $sql = 'UPDATE ' . POSTS_TABLE . " SET bbcode_bitfield = '" . $db->sql_escape($bitfield) . "'
100              WHERE post_id = " . $row['post_id'];
101          $db->sql_query($sql);
102   
103          if ($echos > 200)
104          {
105              echo '<br />' . "\n";
106              $echos = 0;
107          }
108   
109          echo '.';
110          $echos++;
111   
112          flush();
113      }
114      else
115      {
116          $sql = 'UPDATE ' . POSTS_TABLE . " SET bbcode_bitfield = ''
117              WHERE post_id = " . $row['post_id'];
118          $db->sql_query($sql);
119      }
120  }
121  $db->sql_freeresult($result);
122   
123  // Now to the private messages
124  $message_parser = new parse_message();
125  $message_parser->mode = 'post';
126  $message_parser->bbcode_init();
127   
128  // Update pms
129  $sql = 'SELECT msg_id, message_text, bbcode_uid, enable_bbcode
130      FROM ' . PRIVMSGS_TABLE;
131  $result = $db->sql_query($sql);
132   
133  while ($row = $db->sql_fetchrow($result))
134  {
135      // Convert bbcodes back to their normal form
136      if ($row['enable_bbcode'])
137      {
138          decode_message($row['message_text'], $row['bbcode_uid']);
139   
140          $message_parser->message = $row['message_text'];
141   
142          $message_parser->prepare_bbcodes();
143          $message_parser->parse_bbcode();
144   
145          $bitfield = $message_parser->bbcode_bitfield;
146   
147          $sql = 'UPDATE ' . PRIVMSGS_TABLE . " SET bbcode_bitfield = '" . $db->sql_escape($bitfield) . "'
148              WHERE msg_id = " . $row['msg_id'];
149          $db->sql_query($sql);
150   
151          if ($echos > 200)
152          {
153              echo '<br />' . "\n";
154              $echos = 0;
155          }
156   
157          echo '.';
158          $echos++;
159   
160          flush();
161      }
162      else
163      {
164          $sql = 'UPDATE ' . PRIVMSGS_TABLE . " SET bbcode_bitfield = ''
165              WHERE msg_id = " . $row['msg_id'];
166          $db->sql_query($sql);
167      }
168  }
169  $db->sql_freeresult($result);
170   
171  // Done
172  $db->sql_close();
173   
174  ?>