Statistik |
Beiträge: 144.534 (Täglich: 19,19 )
Themen: 16.701
Mitglieder: 13.209
Neuestes Mitglied: zitronentee.
Ausl. d. letzten Minute: 291%
Ausl. d. letzten 5 Minuten: 425%
Ausl. d. letzten 15 Minuten: 325%
Aktulle Uhrzeit: 07:08
Freier Webspace: 4.04 TB
PHP-Version: 7.4.33
|
|
|
Support-> WoltLab Burning Board 2.3.pl2 - Update PHP-Version 7.x |
|
|
Zitat: Original von Viktor
|
Zitat: Original von Schrimm
Hallo,
suche(Alle):
ersetze gegen:
|
|
|
Hallo,
jo da warst du schneller.
Das habe ich auch gerade gesehen und getestet.
Gruß
Viktor
|
|
|
Super das geht schonmal..
__________________ Wetter-Forum
Kleinanzeigen Support
|
|
18.07.2017 22:16 |
|
|
|
Hi Leute!
Ich hab mich heute mal an dieser Anleitung versucht.
Krieg leider Fehlermeldung Parse error: syntax error, unexpected 'new' (T_NEW) in ../global.php on line 50
erreichbar unter carparea.ch sofern ich dieses Board hinkriege fang ich mit meinem an....
anbei die Global.php danke schonmal für die Hilfe
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
|
<?php
// ************************************************************************************//
// * WoltLab Burning Board 2
// ************************************************************************************//
// * Copyright (c) 2001-2004 WoltLab GmbH
// * Web http://www.woltlab.de/
// * License http://www.woltlab.de/products/burning_board/license_en.php
// * http://www.woltlab.de/products/burning_board/license.php
// ************************************************************************************//
// * WoltLab Burning Board 2 is NOT free software.
// * You may not redistribute this package or any of it's files.
// ************************************************************************************//
// * $Date: 2007-03-15 14:58:46 +0100 (Do, 15 Mrz 2007) $
// * $Author: Burntime $
// * $Rev: 1728 $
// ************************************************************************************//
@error_reporting(7);
$phpversion = phpversion();
/** get function libary **/
require('./acp/lib/functions.php');
/*
if (version_compare($phpversion, '4.1.0') == -1) {
$_REQUEST = array_merge($HTTP_COOKIE_VARS, $HTTP_POST_VARS, $HTTP_GET_VARS);
$_COOKIE =& $HTTP_COOKIE_VARS;
$_SERVER =& $HTTP_SERVER_VARS;
$_FILES =& $HTTP_POST_FILES;
$_GET =& $HTTP_GET_VARS;
$_POST =& $HTTP_POST_VARS;
}
*/
// remove slashes in get post cookie data...
if (get_magic_quotes_gpc()) {
if (count($_REQUEST)) $_REQUEST = stripslashes_array($_REQUEST);
if (count($_POST)) $_POST = stripslashes_array($_POST);
if (count($_GET)) $_GET = stripslashes_array($_GET);
if (count($_COOKIE)) $_COOKIE = stripslashes_array($_COOKIE);
if (count($_SERVER)) $_SERVER = stripslashes_array($_SERVER);
}
// @set_magic_quotes_runtime(0);
@ini_set('magic_quotes_sybase', '0');
/** connect db **/
require('./acp/lib/config.inc.php');
require('./acp/lib/class_db_mysql.php');
$db = &new db($sqlhost, $sqluser, $sqlpassword, $sqldb, $phpversion);
/** get configuration **/
require('./acp/lib/options.inc.php');
/** load smtp_socket function **/
require('./acp/lib/class_smtp.php');
/** request ids **/
if (isset($_REQUEST['postid'])) $postid = $_REQUEST['postid'];
if (isset($_REQUEST['threadid'])) $threadid = $_REQUEST['threadid'];
if (isset($_REQUEST['pollid'])) $pollid = $_REQUEST['pollid'];
if (isset($_REQUEST['attachmentid'])) $attachmentid = $_REQUEST['attachmentid'];
if (isset($_REQUEST['boardid'])) $boardid = $_REQUEST['boardid'];
/** verify ids **/
if (isset($postid)) {
$postid = intval($postid);
$post = $db->query_first("SELECT * FROM bb".$n."_posts WHERE postid = '$postid'");
if (!$post['postid']) unset($postid);
else $threadid = $post['threadid'];
}
/** start session **/
require('./acp/lib/session.php');
/** verify ids **/
if (isset($threadid)) {
$threadid = intval($threadid);
$select = '';
$join = '';
if ($filename == "thread.php") {
$select .= ", v.id AS isvoted";
$join .= " LEFT JOIN bb".$n."_votes v ON (v.id=t.threadid AND v.votemode=2 AND ".(($wbbuserdata['userid']) ? ("v.userid='".$wbbuserdata['userid']."'") : ("v.ipaddress='".addslashes($REMOTE_ADDR)."'")).")";
if ($wbbuserdata['userid']) {
$select .= ", tv.lastvisit, s.emailnotify, s.countemails";
$join .= " LEFT JOIN bb".$n."_threadvisit tv ON (tv.threadid=t.threadid AND tv.userid='".$wbbuserdata['userid']."')
LEFT JOIN bb".$n."_subscribethreads s ON (s.userid='".$wbbuserdata['userid']."' AND s.threadid=t.threadid)";
}
}
$thread = $db->query_first("SELECT t.*".$select." FROM bb".$n."_threads t".$join." WHERE t.threadid = '$threadid'");
$select = '';
$join = '';
if (!$thread['threadid']) unset($threadid);
else $boardid = $thread['boardid'];
}
if (isset($pollid)) {
$pollid = intval($pollid);
$poll = $db->query_first("SELECT bb".$n."_threads.*, bb".$n."_polls.* FROM bb".$n."_polls LEFT JOIN bb".$n."_threads USING (threadid) WHERE bb".$n."_polls.pollid = '$pollid'");
if (!$poll['pollid']) unset($pollid);
else {
if ($poll['boardid']) {
$boardid = $poll['boardid'];
unset($threadid);
unset($thread);
}
}
}
if (isset($attachmentid)) {
$attachmentid = intval($attachmentid);
$attachment = $db->query_first("SELECT at.*, ".
"t.boardid, p.threadid, p.visible, p.userid, ".
"pm.privatemessageid, pm.inoutbox, pm.senderid, pmr.recipientid, pmr.deletepm ".
"FROM bb".$n."_attachments at ".
"LEFT JOIN bb".$n."_posts p ON (p.postid=at.postid) ".
"LEFT JOIN bb".$n."_threads t ON (t.threadid=p.threadid) ".
"LEFT JOIN bb".$n."_privatemessage pm ON (pm.privatemessageid=at.privatemessageid) ".
"LEFT JOIN bb".$n."_privatemessagereceipts pmr ON (pmr.privatemessageid=pm.privatemessageid AND pmr.recipientid='$wbbuserdata[userid]') ".
"WHERE at.attachmentid = '$attachmentid'");
if (!$attachment['attachmentid']) {
unset($attachmentid);
unset($attachment);
}
if ($attachment['postid'] && !$attachment['privatemessageid']) { // post attachment
if ($attachment['boardid']) {
$boardid = $attachment['boardid'];
$threadid = $attachment['threadid'];
unset($thread);
}
}
elseif (!$attachment['postid'] && $attachment['privatemessageid']) { // private message attachment
unset($boardid);
unset($threadid);
unset($thread);
}
}
if (isset($boardid)) {
$boardid = intval($boardid);
$board = getBoardAccessData($boardid);
if (!$board['boardid']) unset($boardid);
}
/** update session **/
$db->unbuffered_query("UPDATE bb".$n."_sessions SET lastactivity = '".$session['lastactivity']."', request_uri = '".addslashes($REQUEST_URI)."', boardid='" . ((isset($boardid)) ? ($boardid) : (0)) . "', threadid='".((isset($threadid)) ? ($threadid) : (0))."'" . ((isset($styleid)) ? (", styleid = '$styleid'") : ("")).((isset($langid)) ? (", langid='$langid'") : ("")).((isset($authentificationcode)) ? (", authentificationcode='".addslashes($authentificationcode)."'") : (""))." WHERE sessionhash = '$sid'", 1);
/** get style **/
$style = array();
if (isset($board) && ($board['enforcestyle'] == 1 || ($board['styleid'] != 0 && $wbbuserdata['styleid'] == 0))) {
$style = $db->query_first("SELECT s.styleid, s.templatepackid, s.designpackid, tp.templatestructure FROM bb".$n."_styles s LEFT JOIN bb".$n."_templatepacks tp ON(tp.templatepackid=s.templatepackid) WHERE s.styleid = '".$board['styleid']."'");
$wbbuserdata['designpackid'] = $style['designpackid'];
$wbbuserdata['templatepackid'] = $style['templatepackid'];
$wbbuserdata['styleid'] = $style['styleid'];
$wbbuserdata['templatestructure'] = $style['templatestructure'];
}
$result = $db->unbuffered_query("SELECT * FROM bb".$n."_designelements WHERE designpackid = '$wbbuserdata[designpackid]'");
while ($row = $db->fetch_array($result)) $style[$row['element']] = $row['value'];
/** template class **/
require('./acp/lib/class_headers.php');
require('./acp/lib/class_tpl_file.php');
$tpl = &new tpl(intval($wbbuserdata['templatepackid']));
/** language packs **/
require('./acp/lib/class_language.php');
$lang = &new language($wbbuserdata['languagepackid']);
$lang->load('GLOBAL,OWN'); // global, own langcat
define('ENCODING', $lang->get('LANG_GLOBAL_ENCODING'));
$supportedCharsets = array('UCS-4', 'UCS-4BE', 'UCS-4LE', 'UCS-2', 'UCS-2BE', 'UCS-2LE', 'UTF-32', 'UTF-32BE', 'UTF-32LE', 'UCS-2LE',
'UTF-16', 'UTF-16BE', 'UTF-16LE', 'UTF-8', 'UTF-7', 'ASCII', 'EUC-JP', 'SJIS', 'EUCJP-WIN', 'SJIS-WIN', 'ISO-2022-JP', 'JIS', 'ISO-8859-1',
'ISO-8859-2', 'ISO-8859-3', 'ISO-8859-4', 'ISO-8859-5', 'ISO-8859-6', 'ISO-8859-7', 'ISO-8859-8', 'ISO-8859-9', 'ISO-8859-10',
'ISO-8859-13', 'ISO-8859-14', 'ISO-8859-15', 'BYTE2BE', 'BYTE2LE', 'BYTE4BE', 'BYTE4LE', 'BASE64', '7bit', '8bit', 'UTF7-IMAP');
if (in_array(wbb_strtoupper(ENCODING), $supportedCharsets) && extension_loaded('mbstring') && version_compare($phpversion, '4.3.0') >= 0) {
define('USE_MBSTRING', true);
}
else {
define('USE_MBSTRING', false);
}
/** imagefolder prefix **/
$style['imagefolder'] = $lang->get("LANG_GLOBAL_IMAGEFOLDER_PREFIX").$style['imagefolder'];
/** OWN langvars **/
$o_master_board_name = $master_board_name;
$master_board_name = getlangvar($master_board_name, $lang);
/** templates & style **/
$phpinclude = wbb_trim($tpl->get("phpinclude"));
if ($phpinclude != '') {
$phpinclude = str_replace('\\"', '"', $phpinclude);
$phpinclude = str_replace('\\\\', '\\', $phpinclude);
eval($phpinclude);
}
/** default templates **/
$header_pms = '';
$header_acp = '';
eval("\$css = \"".$tpl->get("css")."\";");
eval("\$headinclude = \"".$tpl->get("headinclude")."\";");
$lang->items['LANG_GLOBAL_COPYRIGHT'] = $lang->get("LANG_GLOBAL_COPYRIGHT", array('$boardversion' => $boardversion));
eval("\$footer = \"".$tpl->get("footer")."\";");
if ($wbbuserdata['userid']) $usercbar_username = htmlconverter($wbbuserdata['username']);
else $usercbar_username = '';
eval("\$usercbar = \"".$tpl->get("usercbar")."\";");
eval("\$header = \"".$tpl->get("header")."\";");
if ($wbbuserdata['can_view_board'] == 0 && $filename != "login.php" && $filename != "logout.php" && $filename != "register.php" && $filename != "forgotpw.php") access_error();
verify_ip($REMOTE_ADDR);
if ($offline == 1 && $wbbuserdata['can_view_off_board'] == 0 && $filename != "login.php" && $filename != "logout.php" && $filename != "forgotpw.php" && $filename != "register.php") {
$offlinemessage = nl2br(htmlconverter($offlinemessage));
eval("\$tpl->output(\"".$tpl->get("offline")."\");");
exit();
}
if ($wbbuserdata['pmpopup'] == 2) {
if ($filename != "pms.php" && (!isset($_POST) || count($_POST) == 0) && $filename != "attachment.php" && $filename != "attachmentedit.php" && $filename != "logout.php" && $filename != "markread.php" && $filename != "misc.php" && $filename != "modcp.php" && $filename != "polledit.php" && $filename != "register.php" && $filename != "search.php" && ($filename != "thread.php" || !isset($_REQUEST['goto'])) && $filename != "threadrating.php" && $filename != "usercp.php") {
eval("\$headinclude .= \"".$tpl->get("pmpopup_open")."\";");
}
}
if (isset($boardid)) {
/** OWN langvars **/
$board['o_title'] = $board['title'];
$board['title'] = getlangvar($board['title'], $lang);
if (!checkpermissions("can_enter_board")) access_error();
if ($board['password'] && ($filename != "usercp.php" || $_REQUEST['action'] != 'removesubscription')) {
$lang->load('BOARD');
if (isset($_COOKIE[$cookieprefix.'boardpasswords'])) $boardpasswords = decode_cookie($_COOKIE[$cookieprefix.'boardpasswords']);
else $boardpasswords = array();
if (isset($_POST['boardpassword'])) {
if ($_POST['boardpassword'] == $board['password']) {
$boardpasswords[$boardid] = md5($board['password']);
if ($wbbuserdata['usecookies'] == 1) encode_cookie('boardpasswords', time() + 3600 * 24 * 365, false);
else encode_cookie('boardpasswords', 0, false);
redirect($lang->items['LANG_BOARD_PASSWORD_REDIRECT'], "board.php?boardid=$boardid".$SID_ARG_2ND);
}
else {
eval("error(\"".$lang->get("LANG_BOARD_ERROR_FALSEPASSWORD")."\");");
}
}
elseif (!isset($boardpasswords[$boardid]) || $boardpasswords[$boardid] != md5($board['password'])) {
eval("\$tpl->output(\"".$tpl->get("board_password")."\");");
exit();
}
}
}
if (isset($threadid) && isset($thread['visible']) && $thread['visible'] == 0 && !checkmodpermissions()) {
error($lang->get("LANG_GLOBAL_ERROR_FALSELINK", array('$adminmail' => $adminmail)));
}
if (isset($postid) && isset($post['visible']) && $post['visible'] == 0 && !checkmodpermissions()) {
error($lang->get("LANG_GLOBAL_ERROR_FALSELINK", array('$adminmail' => $adminmail)));
}
if (isset($_POST['change_editor']) && $_POST['change_editor']) {
$wbbuserdata['usewysiwyg'] = intval($_POST['change_editor']);
}
else if (isset($_POST['usewysiwyg']) && $_POST['usewysiwyg']) {
$wbbuserdata['usewysiwyg'] = intval($_POST['usewysiwyg']);
}
?> |
|
__________________ ----------
LG
Andi
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ingie: 07.08.2017 15:51.
|
|
07.08.2017 15:49 |
|
|
|
bin schon etwas weiter die &new darf das &nicht mehr stehen jedoch jetzt will er die DB nicht mehr....
SQL-DATABASE ERROR
Database error in WoltLab Burning Board (): cannot use database d0274c27
mysql error:
mysql error number: 0
mysql version: 5.5.52-nmm1-log
php version: 7.0.20-nmm1
Date: 07.08.2017 @ 16:23
Script: /
Referer:
__________________ ----------
LG
Andi
|
|
07.08.2017 16:25 |
|
|
|
Hallo,
Sieht danach aus, dass nicht alle Änderungen korrekt durchgeführt wurden.
__________________
|
|
07.08.2017 18:42 |
|
|
|
Hi Zusammen!
Hab jetzt alles noch einmal überprüft und hochgeladen das einzigste was es bei mir nicht gibt ist die structure.sql und die acp/setup.php also kann ich hier auch nichts einbauen
__________________ ----------
LG
Andi
|
|
07.08.2017 21:01 |
|
|
|
Hallo,
Richtig, habe ich aber zwei oder mehr "Whitespaces", was bei "doofer Programmierung" durchaus sein kann, falle ich mit "?" um.
Somit statt "?" gleich "*" verwenden.
Zusätzlich erfasst du folgende "while"-Schleifen damit nicht korrekt und handelst dir folglich einen Fehler ein:
php: |
1:
|
while(list($key,)=each($var)) { |
|
sowie:
php: |
1:
|
while(list(,$value)=each($var)) { |
|
Jene "while"-Schleifen ohne "{" werden damit auch gar nicht erfasst.
Weiters stellt sich die Frage, was "." alles erfasst:
Inklusive "Zeilembruch"...
Ist der Quellcode sauber und wurde "richtig" ein "Zeilenumbruch" durchgeführt?
Oder was passiert mit folgender "while"-Schleife, die auch legitim wäre:
php: |
1:
|
while(list($key,$value)=each($var)) while(list($key2,$value2)=each($var2)) {...} |
|
Je nachdem, welcher Fall eintritt, hat man dann das Problem von "greedy/ungreedy".
edit:
Bei sowas sollte man immer vom "schlechtesten Quellcode" ausgehen, der möglich ist...
__________________
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Schrimm: 09.08.2017 22:59.
|
|
09.08.2017 22:38 |
|
|
|
Hallo,
Nicht unbedingt.
Die "Quantifier" müssen zwingend "ungreedy" sein, dann hast du die meisten Probleme schon weg.
Weiters würde ich den "Match" ohne "{" erstellen, dann ist das Codebeispiel der doppelten "while"-Schleife, beziehungsweise "while"-Schleifen ohne "{" und mehrere Zeilen bis zur nächsten "while"-Schleife, was gegebenenfalls ein "ähnlicher Match" ist, ebenfalls obsolet(in der Kombination mit "ungreedy").
Aus "*" kannst du dann noch "+" machen, damit keine fehlerhaften "foreach"-Schleifen entstehen, wenn einer der beiden "list"-Objekte nicht existent ist, wobei man beachten sollte, dass diesmal kein "," und ")" erfasst wird, wobei man damit wieder etwas aufpassen muss, falls die vorhandenen Elemente mehr als nur ein "$key,$value" enthalten, auch wenn das sehr selten sein sollte...
Somit bleiben nur mehr die "speziellen/unvollständigen List-Objekte" übrig, die du nun ohne Probleme gesondert behandeln kannst.
Als Alternative kann man natürlich "*" stehen lassen und eine Fallunterscheidung für leere und nicht leere "Gruppen" machen.
__________________
Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von Schrimm: 10.08.2017 00:02.
|
|
09.08.2017 23:32 |
|
|
|
Hallo,
habe jetzt den Umbau hier jetzt 2 mal gemacht, weil ich dachte das ich auch einen fehler gemacht habe.
Folgende Fehlermeldung kommt bei mir.
SQL-DATABASE ERROR
Database error in WoltLab Burning Board (): cannot use database mein Datenbankname
mysql error:
mysql error number: 0
mysql version: 5.7.15-nmm5-log
php version: 7.0.20-nmm1
Date: 10.08.2017 @ 22:10
Script: /acp/setup.php?step=4&mode=1&frameset=1
Referer: http://MEIN LINK/acp/setup.php?step=3&mode=1&frameset=1
Mir ist beim Einbau aufgefallen, das glaube ich falsch ist.
Beim Einbau in der class_parse steht hier in der Anleitung...
suche:
code: |
1:
|
while (list($key, $word) = each($hilightwords)) { |
|
füge darunter ein:
code: |
1:
|
foreach($hilightwords as $key => $word) { |
|
Muss man das nicht ersetzten?
Ist mir aufgefallen, weil alle while code mit foreach ersetzt wurden.
Dreamweaver meckert auch, da es ein Fehler in der Zeile 495 gibt.
Zeile 495 ist bei mir:
Wenn ich aber den foreach mit den while Code ersetzte, ist die Fehlermeldung weg.
Weiß nur nicht, ob das so sein soll?
und laut Anleitung in der funktions.php:
suche(2x):
code: |
1:
|
while (list($key1, $val1) = each($boardcache[$boardid])) { while (list($key2, $boards) = each($val1)) { |
|
Ich habe den Code aber 3x.
Muß ich das jetzt 2 oder 3 mal ändern?
Mit freundlichen Grüßen
|
|
10.08.2017 22:34 |
|
|
|
Hallo,
Danke für den Hinweis des Fehlers in der Anleitung.
Das muss natürlich ersetzt werden.
Die Anleitung ist von "oben" nach "unten" durchzuführen.
Also immer Schritt für Schritt und niemals die gesamte Datei durchsuchen.
Wird dies gemacht, wird auch automatisch die "dritte identische" Suchstelle ersetzt, da sie in der Anleitung durchaus vorkommt.
Bezüglich der "Datenbank" überprüfe mal den Einbau in der "/acp/setup.php" und "/acp/lib/class_db_mysql.php".
__________________
|
|
10.08.2017 22:49 |
|
|
|
Hallo,
Hänge mal deine "thread.php" an.
Bezüglich der "database.php":
Danke für den Hinweis, das habe ich übersehen.
__________________
|
|
11.08.2017 15:34 |
|
|
|
bitte, die Zeilenzahl hat sich ein wenig verändert, da ich schon mit dem Einbau angefangen habe.
Dateianhang: |
thread.txt (35 KB, 3 mal heruntergeladen)
|
|
|
11.08.2017 17:25 |
|
|
|
Hallo,
php: |
1:
|
foreach($grouptitles as $groupid => $grouptitle) { |
|
ändern in:
php: |
1:
|
foreach($this->userfieldcache as $key => $val) { |
|
Bezüglich der Gruppen in "Admin Control Panel", wäre sicherlich die "group.php" interessant.
__________________
|
|
11.08.2017 19:16 |
|
|
|
|
|
|