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