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_uids.php

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


001  <?php
002  /**
003  * Repair bbcodes converted with RC6
004  *
005  * You should make a backup from your users, posts and privmsgs table in case something goes wrong
006  * Forum descriptions and rules need to be re-submitted manually
007  *
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  @ini_set('memory_limit', '512M');
013   
014  define('IN_PHPBB', true);
015  $phpbb_root_path = './../';
016  $phpEx = substr(strrchr(__FILE__, '.'), 1);
017  include($phpbb_root_path . 'common.'.$phpEx);
018   
019  // Start session management
020  $user->session_begin();
021  $auth->acl($user->data);
022  $user->setup();
023   
024  $echos = 0;
025   
026   
027  // Adjust user signatures
028  $sql = 'SELECT user_id, user_sig, user_sig_bbcode_uid
029      FROM ' . USERS_TABLE . '
030      ORDER BY user_id ASC';
031  $result = $db->sql_query($sql);
032   
033  while ($row = $db->sql_fetchrow($result))
034  {
035      $bbcode_uid = $row['user_sig_bbcode_uid'];
036   
037      // Only if a bbcode uid is present, the signature present and a size tag used...
038      if (!empty($bbcode_uid) && strpos($row['user_sig'], $bbcode_uid) === false)
039      {
040          $row['user_sig'] = preg_replace('/\:[0-9a-z]{8}\]/', ":$bbcode_uid]", $row['user_sig']);
041   
042          $sql = 'UPDATE ' . USERS_TABLE . " SET user_sig = '" . $db->sql_escape($row['user_sig']) . "'
043              WHERE user_id = " . $row['user_id'];
044          $db->sql_query($sql);
045   
046          if ($echos > 200)
047          {
048              echo '<br />User: ' . "{$row['user_id']}\n";
049              $echos = 0;
050          }
051   
052          echo '.';
053          $echos++;
054   
055          flush();
056      }
057  }
058  $db->sql_freeresult($result);
059   
060   
061  // Now adjust posts
062  $sql = 'SELECT post_id, post_text, bbcode_uid, enable_bbcode
063      FROM ' . POSTS_TABLE . '
064      ORDER BY post_id ASC';
065  $result = $db->sql_query($sql);
066   
067  while ($row = $db->sql_fetchrow($result))
068  {
069      $bbcode_uid = $row['bbcode_uid'];
070   
071      // Only if a bbcode uid is present, bbcode enabled and a size tag used...
072      if ($row['enable_bbcode'] && !empty($bbcode_uid) && strpos($row['post_text'], $bbcode_uid) === false)
073      {
074          $row['post_text'] = preg_replace('/\:[0-9a-z]{8}\]/', ":$bbcode_uid]", $row['post_text']);
075          
076          $sql = 'UPDATE ' . POSTS_TABLE . " SET post_text = '" . $db->sql_escape($row['post_text']) . "'
077              WHERE post_id = " . $row['post_id'];
078          $db->sql_query($sql);
079   
080          if ($echos > 200)
081          {
082              echo '<br />Post: ' . "{$row['post_id']} \n";
083              $echos = 0;
084          }
085   
086          echo '.';
087          $echos++;
088   
089          flush();
090      }
091  }
092  $db->sql_freeresult($result);
093   
094  // Now to the private messages
095  $sql = 'SELECT msg_id, message_text, bbcode_uid, enable_bbcode
096      FROM ' . PRIVMSGS_TABLE;
097  $result = $db->sql_query($sql);
098   
099  while ($row = $db->sql_fetchrow($result))
100  {
101      $bbcode_uid = $row['bbcode_uid'];
102   
103      // Only if a bbcode uid is present, bbcode enabled and a size tag used...
104      if ($row['enable_bbcode'] && !empty($bbcode_uid) && strpos($row['message_text'], $bbcode_uid) === false)
105      {
106          $row['message_text'] = preg_replace('/\:[0-9a-z]{8}\]/', ":$bbcode_uid]", $row['message_text']);
107          
108          $sql = 'UPDATE ' . PRIVMSGS_TABLE . " SET message_text = '" . $db->sql_escape($row['message_text']) . "'
109              WHERE msg_id = " . $row['msg_id'];
110          $db->sql_query($sql);
111   
112          if ($echos > 200)
113          {
114              echo '<br />' . "\n";
115              $echos = 0;
116          }
117   
118          echo '.';
119          $echos++;
120   
121          flush();
122      }
123  }
124  $db->sql_freeresult($result);
125   
126  // Done
127  $db->sql_close();
128  echo 'done';
129  ?>