Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
ProPortal 2.6.2
was bewirkt dieser Teil in der Abfrage überhaupt:

REGEXP '[[:<:]]".$mybb->user['usergroup']."[[:>:]]'

habe ihn gerade mal testweise an allen Stellen raus genommen und das Portal ist da (logisch)

@Exitus
Im Datenbankfeld visible der Tabelle xxxx_portal_blocks stehen die Nummern der Usergruppen, die diesen Block sehen dürfen, durch Komma getrennt, also z.B. 2,3,4,5,6,7,9,13,15,25

@Schnapsnase
Zitat:das z.B. dies -> [[:<:]] durch \b ersetzt werden muss
warum? hast du da mal eine Quelle für mich?
Zitieren
Es kann ja nicht so aufwändig sein, dass mal zu testen.
Ich habe mir das ja auch nicht aus den Fingern gesogen. Wink 
Siehe hier
Zitieren
danke für den Link, Schnapsnase Wink
Portal ist nach Änderung da und herrlich leer, d.h. es werden gar keine Blocks mehr angezeigt; sehr beruhigende Wirkung
Zitieren
(16.09.2021, 15:46)bv64 schrieb: sehr beruhigende Wirkung

Big Grin Big Grin 
Das du immer so schnell aufgeben musst... Rolleyes Wink 
Na dann warten wir doch mal, ob noch wer etwas dazu beitragen kann. Wink
Zitieren
Für das Prinzip, was hier mittels RegExp ermöglichen werden soll, gibt es eine eigens dafür vorgesehene SQL-Funktion: FIND_IN_SET()
Probiere:
Code:
[...] AND FIND_IN_SET (".$mybb->user['usergroup'].",b.visible) AND [...]

[ETS]
MyBB + innovative Themes:
NokiaPort.de Forum Nokia-Traditionsforum seit 2006.
Live Escape Game Forum Diskussionsplattform für Escape-Rooms.
Unlösbares Problem, Dilemma? -> das Nötel Smile
Zitieren
mein lieber Herr Schnapsnase, ich pflege überhaupt nicht schnell aufzugeben, ich will es nur verstehen, was ich mache. Wäre ich ein Aufgeber, wäre ich schon tot Wink

so, nun funktioniert es, aus
REGEXP '[[:<:]]".$mybb->user['usergroup']."[[:>:]]'
wurde
REGEXP '\\\b".$mybb->user['usergroup']."\\\b'

und das 8 mal in der portal.php und einmal im zugehörigen Plugin inc/plugins/proportalupdate

mal schauen, ob es für die unterschiedlichen Usergruppen auch passt

edit: die Lösung von Exitus funktioniert ebenfalls!

Vielen Dank euch beiden für die Hilfestellung
Zitieren
(16.09.2021, 16:08)bv64 schrieb: so, nun funktioniert es,

Sag ich doch... Mal etwas mit den Backslashes spielen. Wink
Ich kann es ja leider nicht selbst testen.
...und meine kleinen Spitzen auch nicht immer so ernst nehmen... Wink
Zitieren
tu ich nicht Wink dafür kenn ich dich jetzt lang genug; aber meine auch nicht, bin für meinen bösen Zynismus bekannt
Zitieren
Ich habe (vermutlich) das selbe Problem.

Um den Fehler angezeigt zu bekommen musste ich laut Provider in der portal.php folgendes hinzufügen:

PHP-Code:
ini_set('display_errors'1);
error_reporting(E_ALL); 
Hier der genaue Text der dann angezeigt wird.


Code:
Proportal Fehler:

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
    3685 - Illegal argument to a regular expression.
Query:
    SELECT b.*, u.* FROM mybb_portal_blocks b LEFT JOIN mybb_users u ON(u.proportalupdate = b.id) WHERE b.zone='4' AND b.enabled='1' AND b.visible REGEXP '[[:<:]]4[[:>:]]' AND b.id NOT IN (0) ORDER BY b.position

Da ich selbst nichts geändert hatte, scheint es durch eine serverseitige Änderung verursacht.
Zitieren
Wie es scheint ist dieser Fehler tatsächlich das Resultat vom Wechsel zu MySQL 8.
Der Fehler ist hier seit gestern diskutiert und behoben worden. Das wird auch bei dir die Lösung sein.

Es kann doch so schön sein, wenn die Webhoster derartige Änderungen rechtzeitig ankündigen, um vorbereitet zu sein. Dasselbe Theater gab es auch schon unzählige Male bei der spontann Umstellung zu PHP7/8.

Kleiner Hinweis. Deine manuelle Änderung des PHP Log Level (E_ALL) setzt die serverseitge Default-Einstellung außer Kraft. Für einen momentanen Test super, da E_ALL wirklich jeden kleinsten Schluckauf protokolliert. Es wäre vielleicht ratsam, diese Zeilen später wieder zu entfernen.

[ETS]
MyBB + innovative Themes:
NokiaPort.de Forum Nokia-Traditionsforum seit 2006.
Live Escape Game Forum Diskussionsplattform für Escape-Rooms.
Unlösbares Problem, Dilemma? -> das Nötel Smile
Zitieren