Statistik |
Beiträge: 145.439 (Täglich: 18,43 )
Themen: 16.835
Mitglieder: 13.221
Neuestes Mitglied: Hugo100.
Ausl. d. letzten Minute: 274%
Ausl. d. letzten 5 Minuten: 277%
Ausl. d. letzten 15 Minuten: 270%
Aktulle Uhrzeit: 04:47
Freier Webspace: 4.14 TB
PHP-Version: 7.4.33
|
|
|
Support-> WoltLab Burning Board 2.3.pl2 - Update PHP-Version 8.x |
|
Hallo,
Beim Beispiel ist es egal, ob ein Leerzeichen vorhanden ist oder nicht.
Das sollte in diesem Falle keine Rolle spielen, sofern es darum geht eine Variable (Typischerweise beginnend mit $), einzufügen.
Sollten aber Leerzeichen direkt im Regex-Teil selbst vorhanden sein, wenn es um die Quantifier geht, dann kann dies durchaus ein Problem darstellen.
Dennoch ist es fragwürdig, woher diese Leerzeichen überhaupt kommen.
__________________
|
|
05.07.2023 14:19 |
|
|
|
Ja, du weisst ja, das Problem ist ja meist PEBKAC.
Ich hatte 2018 wahrscheinlich einen anderen Editor benutzt oder eine search/replace
Routine die aus dem Ruder gelaufen ist. Jedenfalls bin ich jetzt wieder aktuell und werde
schauen ob das Problem zwischen Tastatur und Stuhl behoben ist.
Hier nur eine Zeile:
php: |
1:
|
$result = $db->unbuffered_query("SELECT bbcodetag, bbcodereplacement, params, multiuse, pattern1, pattern2, pattern3, eval_replacement FROM bb" . $n . "_bbcodes ORDER BY params ASC"); |
|
Ich melde mich.
|
|
05.07.2023 15:51 |
|
|
|
So, nach etwa einer Woche ist die error.log immer noch unberührt,
der Start ab einer vor-vorherigen Version hat sich also gelohnt.
Ich hatte mal für eine grosse Software Firma ein Versionsverwaltungs
Paket geschrieben, die hatten vorher eine US Version die war so ähnlich aufgebaut
wie Kettenbriefe, um Platz zu sparen, und jeder Entwickler hatte einzig den
Schreibzugriff zu seinen eigenen Codezeilen, wenn er also seine Zeilen änderte
wurde das auch angehängt, und plötzlich herrschte nur noch Zähneknirschen
und Chaos. Es gab nie eine letzte Version. Ich glaube die Software war ClearCase ?
Egal, hier war ich wohl selbst der Urheber vom Problem, und ohne Schrimm wäre
ich nie darauf gekommen, die Versionen historisch gegeneinander zu checken.
|
|
11.07.2023 00:20 |
|
|
|
Hallo in die Runde,
ich schaue gerade nochmal die Dateien durch um zu schauen ob ich alle Anpassungen gemacht habe. bei der class_parse.php habe ich wohl etwas vergessen.
Ich habe nun irgendwie diesen Part gefunden und verbessert:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
|
---------------------------------------
suche:
---------------------------------------
$this->search[] = "/\[list=("|['\"]?)([^\"']+)\\1](.+)\[\/list((=\\1[^\"']+\\1])|(\]))/esiU";
$this->replace[] = "\$this->formatlist('\\3', '\\2')";
$this->search[] = "/\[list](.+)\[\/list\]/esiU";
$this->replace[] = "\$this->formatlist('\\1')";
$this->search[] = "/\[url=("|['\"]?)([^\"']+)\\1](.+)\[\/url\]/esiU";
$this->replace[] = "\$this->formaturl('\\2','\\3')";
$this->search[] = "/\[url]([^\"\[]+)\[\/url\]/eiU";
$this->replace[] = "\$this->formaturl('\\1')";
---------------------------------------
ersetze gegen:
---------------------------------------
$this->search_replace['/\[list=("|[\'"]?)([^"\']+)\1](.+)\[\/list((=\1[^"\']+\1])|(\]))/siU'] = function($matches) {return $this->formatlist($matches[3],$matches[2]);};
$this->search_replace['/\[list](.+)\[\/list\]/siU'] = function($matches) {return $this->formatlist($matches[1]);};
$this->search_replace['/\[url=("|[\'"]?)([^"\']+)\1](.+)\[\/url\]/siU'] = function($matches) {return $this->formaturl($matches[2],$matches[3]);};
$this->search_replace['/\[url]([^"\[]+)\[\/url\]/iU'] = function($matches) {return $this->formaturl($matches[1]);}; |
|
Wenn ich die richtige Codestelle gefunden habe müsste sie im Bereich der Zeile 160 liegen - ungefähr...
Nun kommt der nächste Abschnitt den ich auf Teufel komm raus nicht finden kann. Weder komplett, noch anteillig.
auch die Änderung (für den Fall dass ich das nicht vergessen hätte) kann ich weder komplett noch anteillig finden:
php: |
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:
|
---------------------------------------
suche:
---------------------------------------
$this->replace2[] = "'$this->breakChar[list=\\1$this->breakChar\\2$this->breakChar\\1]$this->breakChar'.\$this->stripSlashes('\\3').'$this->breakChar[/list=\\1$this->breakChar\\2$this->breakChar\\1]$this->breakChar'";
$this->replace2[] = "'$this->breakChar[list]$this->breakChar'.\$this->stripSlashes('\\1').'$this->breakChar[/list]$this->breakChar'";
$this->replace2[] = "'$this->breakChar[url=\\1$this->breakChar'.\$this->insertBreakChar('\\2').'$this->breakChar\\1]$this->breakChar'.\$this->stripSlashes('\\3').'$this->breakChar[/url]$this->breakChar'";
$this->replace2[] = "'$this->breakChar[url]$this->breakChar' . \$this->insertBreakChar('\\1') . '$this->breakChar[/url]$this->breakChar'";
$this->replace2[] = "\\0";
$this->replace2[] = "\\0";
$this->replace2[] = "\\0";
---------------------------------------
ersetze gegen:
---------------------------------------
$this->search2 = $this->search;
$this->search2[] = "/\[list=("|['\"]?)([^\"']+)\\1](.+)\[\/list((=\\1[^\"']+\\1])|(\]))/siU";
$this->search2[] = "/\[list](.+)\[\/list\]/siU";
$this->replace2[] = "\\0";
$this->replace2[] = "\\0";
$this->replace2[] = "\\0";
$this->replace2[] = "$this->breakChar[list=\\1$this->breakChar\\2$this->breakChar\\1]$this->breakChar\\3$this->breakChar[/list=\\1$this->breakChar\\2$this->breakChar\\1]$this->breakChar";
$this->replace2[] = "$this->breakChar[list]$this->breakChar\\1$this->breakChar[/list]$this->breakChar";
$this->search_replace2['/\[url=("|[\'"]?)([^"\']+)\1](.+)\[\/url\]/siU'] = function($matches) {return $this->breakChar.'[url='.$matches[1].$this->breakChar.$this->insertBreakChar($matches[2]).$this->breakChar.$matches[1].']'.$this->breakChar.$matches[3].$this->breakChar.'[/url]'.$this->breakChar;};
$this->search_replace2['/\[url]([^"\[]+)\[\/url\]/iU'] = function($matches) {return $this->breakChar.'[url]'.$this->breakChar.$this->insertBreakChar($matches[1]).$this->breakChar.'[/url]'.$this->breakChar;}; |
|
Ich habe die Datei mal angehängt als txt - könnte da mal wer drüber schauen an welcher Stelle ich die entsprechende Änderung machen muss?
Danke schonmal.
__________________ Viele Grüße Maggan
|
|
18.07.2023 12:09 |
|
|
|
Dankeschön, nun wird mit beim aufruf eines Postings nur eine weisse Seite angezeigt.
Edit: Hab nun andere Browser getestet (firefox ist ätzend mit dem Chache) Jetzt erscheint der Rahmen der Seite, nur der Inhalt des Postings nicht.
__________________ Viele Grüße Maggan
|
|
19.07.2023 12:24 |
|
|
|
Nochmal edit - ich habe jetzt alles nach und nach geändert, eine Passage in deiner Datei macht mir schwierigkeiten. Das ist diese:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
|
function getsmilies() {
global $db, $n, $lang;
$i = 0;
$result = $db->unbuffered_query("SELECT smilieid, smiliecode, smiliepath, smilietitle FROM bb".$n."_smilies ORDER BY smilieorder ASC");
while ($row = $db->fetch_array($result)) {
$row['smilietitle'] = getlangvar($row['smilietitle'], $lang);
$this->smilie_search[] = "/".$this->preg_quote($row['smiliecode'])."/";
$this->smilie_replace[] = $this->breakChar . "{".$this->hash."_".$row['smilieid']."}" . $this->breakChar;
$this->smilie_search2[] = "/{".$this->hash."_".$row['smilieid']."}/";
if ($this->useCaching) $row['smiliepath'] = str_replace("{imagefolder}", "images/tf_v-gn", $row['smiliepath']);
$this->smilie_replace2[] = makeimgtag($row['smiliepath'], $row['smilietitle'], 0) . "\n";
}
$this->done['smilies'] = 1;
} |
|
vielleicht hilft das weiter
__________________ Viele Grüße Maggan
|
|
19.07.2023 18:21 |
|
|
|
Hallo Maggan22,
bitte mit diesen Code Testen:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
|
function getsmilies() {
global $db, $n, $lang;
$i = 0;
$result = $db->unbuffered_query("SELECT smilieid, smiliecode, smiliepath, smilietitle FROM bb".$n."_smilies ORDER BY smilieorder ASC");
while ($row = $db->fetch_array($result)) {
$row['smilietitle'] = getlangvar($row['smilietitle'], $lang);
$this->smilie_search[] = "/".$this->preg_quote($row['smiliecode'])."/";
$this->smilie_replace[] = $this->breakChar . "{".$this->hash."_".$row['smilieid']."}" . $this->breakChar;
//$this->smilie_search2[] = "/{".$this->hash."_".$row['smilieid']."}/";
$this->smilie_search2[] = "/\{".$this->hash."_".$row['smilieid']."\}/";
if ($this->useCaching) $row['smiliepath'] = str_replace("{imagefolder}", "@@@imagefolder@@@", $row['smiliepath']);
$this->smilie_replace2[] = makeimgtag($row['smiliepath'], $row['smilietitle'], 0) . "\n";
}
$this->done['smilies'] = 1;
}
|
|
__________________ lg Stine
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Viktor: 19.07.2023 23:00.
|
|
19.07.2023 19:26 |
|
|
|
Vielen Dank, damit gehts. Darf ich fragen wo es gehackelt hat?
__________________ Viele Grüße Maggan
|
|
19.07.2023 20:31 |
|
|
|
|
Zitat: Original von Maggan22
Vielen Dank, damit gehts. Darf ich fragen wo es gehackelt hat? |
|
|
Es lag an diesem Code:
php: |
1:
|
$this->smilie_search2[] = "/{".$this->hash."_".$row['smilieid']."}/"; |
|
ersetzt gegen:
php: |
1:
|
$this->smilie_search2[] = "/\{".$this->hash."_".$row['smilieid']."\}/"; |
|
__________________ lg Stine
|
|
19.07.2023 23:44 |
|
|
|
Dankeschön für die Rückmeldung
__________________ Viele Grüße Maggan
|
|
20.07.2023 09:03 |
|
|
|
Hallo,
eine Kleinigkeit ist mir aufgefallen: seit der Änderung werden die Smilies in neueren Beiträgen nicht mehr angezeigt.
In den alten Beiträgen ja, in neu erstellten ist nur noch die Bezeichnung des Smilies zu sehen - z.B. smillie
__________________ Viele Grüße Maggan
|
|
22.07.2023 22:20 |
|
|
|
Vielen Lieben Dank, das ist die Lösung
__________________ Viele Grüße Maggan
|
|
22.07.2023 23:51 |
|
|
|
Edit: Ursprungsproblem was ich neu posten wollte war mein Fehler - hatte in der ACP Einstellung eine falsche Einstellung weil ich in der Zeile verrutscht bin.
__________________ Viele Grüße Maggan
|
|
23.07.2023 13:37 |
|
|
|
Hi ... ich brauch eure Hilfe...
Bei Umstellung von 8.0 auf PHP 8.2 zeigt er mir diesen Fehler an...
Deprecated: Function strftime() is deprecated in /acp/lib/session.php on line 73
Dort steht dieser Text...
73 $curdate = strftime("%m %d %Y",time());
74 $date = explode(" ", $curdate);
75 $timestamp = mktime(0,0,0,$date[0],$date[1],$date[2]);
Wie kann man das umbauen?
Vielen Danke im Voraus
|
|
25.04.2024 17:18 |
|
|
Viktor
Administrator
    

Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.878
363 Filebase-Einträge
Alter: 67 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.11.6-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 251.531.352
Nächster Level: 266.777.854
 |
|
|
Zitat: Original von Sachsen Queens
Hi ... ich brauch eure Hilfe...
Bei Umstellung von 8.0 auf PHP 8.2 zeigt er mir diesen Fehler an...
Deprecated: Function strftime() is deprecated in /acp/lib/session.php on line 73
Dort steht dieser Text...
73 $curdate = strftime("%m %d %Y",time());
74 $date = explode(" ", $curdate);
75 $timestamp = mktime(0,0,0,$date[0],$date[1],$date[2]);
Wie kann man das umbauen?
Vielen Danke im Voraus |
|
|
Hallo,
die Zeile 73 müsste jetzt so aussehen.
code: |
1:
2:
3:
|
$curdate = date("m d Y");
|
|
Gruß
Viktor
__________________
Ein kluger Mann widerspricht keiner Frau. Er wartet, bis sie es selbst tut.
... beim Käfer (WBB2) konnte man noch selber schrauben,
beim neuen Golf (WBB3) muß man fast schon in die Werkstatt wenn man das "Wischwasser" nachfüllen muss!
Da fast keiner mehr hier Postet gibt es ab sofort keinen Support mehr per PN.
|
|
25.04.2024 21:22 |
|
|
|
|
 |
|