WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 17.06.2021 11:33:38

choppopo
Guest

[erledigt] Class Upload / FG / rFG

Hallo!
Mich hat der Rappel gepackt und ich hab mir die Bugs der rFG vorgeknöpft.

Da gibt es die Sache mit der Class Upload; ab irgendwann konnte keine neue Version mehr verwendet werden ohne Fatal Error, und auch die alte spuckte eine Warning ins Error-Log


Also habe in der FG nachgeschaut, wie das da ist, und mit folgender Code-Zeile funktioniert es:

$handle = new |Verot|Upload|Upload(rfg_DirectoryHandler::DecodePath($imagePath)); (| = Backslash)
(vorher: $handle = new upload(rfg_DirectoryHandler::DecodePath($imagePath));

Aber: Ich habe keine Ahnung, was das bedeutet: |Verot|Upload|Upload(....)
Muss das so sein? Was ist das überhaupt?

Seit dieser Änderung kann ich auch die FG und die rFG nicht mehr auf einer Seite haben, vorher ging das. Was müsste ich tun, damit wieder beide auf einer Seite sein können?

Last edited by florian (22.06.2021 12:11:05)

#2 18.06.2021 16:05:09

webbird
Administrator

Re: [erledigt] Class Upload / FG / rFG

\Verot\Upload ist der Namespace der Class Upload, der Code erzeugt also direkt eine Instanz der Klasse.

upload() hingegen ist eine Funktion in der Foldergallery.


Ich habe eine Amazon-Wishlist. wink
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#3 18.06.2021 16:06:16

webbird
Administrator

Re: [erledigt] Class Upload / FG / rFG


Ich habe eine Amazon-Wishlist. wink
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#4 18.06.2021 16:09:55

choppopo
Guest

Re: [erledigt] Class Upload / FG / rFG

Hallo!
Was muss ich tun, damit es nicht zu Kollisionen kommt, wenn FG und rFG auf der selben Seiten sind?
Beide verwenden dieselbe Class Upload, aber aus verschiedenen Files - eben jedes Modul seine eigene. ein "require_once" hilft mir da nicht.

Last edited by choppopo (18.06.2021 16:10:55)

#5 18.06.2021 16:45:04

webbird
Administrator

Re: [erledigt] Class Upload / FG / rFG

Wie lautet denn die Fehlermeldung?


Ich habe eine Amazon-Wishlist. wink
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#6 18.06.2021 16:55:59

webbird
Administrator

Re: [erledigt] Class Upload / FG / rFG

Nur ins Blaue geschossen, ein "class_exists()" vor dem require_once könnte helfen, vorausgesetzt, die Versionen der class.upload.php sind gleich. Aktuelle Version und auch die in der Foldergallery ist '03/08/2019', die rFG finde ich im Addons Repo nicht, daher kann ich da nicht nachschauen. Kommt halt drauf an, was denn eigentlich der Fehler ist. Mag sein, dass das irgendwo im Forum zu finden ist, aber als gelegentlicher Mitleser kenne ich nicht alle Forenbeiträge.


Ich habe eine Amazon-Wishlist. wink
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#7 18.06.2021 17:35:10

choppopo
Guest

Re: [erledigt] Class Upload / FG / rFG

Hmm.. wie heißt den die Class in der FG?
"upload" scheint es nicht zu sein..

Brauchbar wäre eine etwas hanebüchene Methode: Ich leihe mir ggf. die Class Upload aus der FG aus, dann greift das require_once

[== PHP ==]
//funktioniert nicht:
if (class_exists('upload')) {
	echo 'Schoen waers..'; return;
}

//funktioniert, ist aber unelegant:
$fg_upload = WB_PATH.'/modules/foldergallery/class/class.upload.php';
if (file_exists($fg_upload)) {
	require_once ($fg_upload);
} else {
	require_once (WB_PATH . '/modules/'.$mod_dir.'/class/class.upload.php');
}

Das "Ausleihen" funktioniert auch unabhängig von der Reihenfolge der Abschnitte.
Das class_exists würde nur funktionieren, wenn die FG zuerst wäre, dann erst die rFG.

Kann ich einen anderen Namespace verwenden? bzw diesen erweitern? Ohne im Script herum zu fummeln..

Kann ich hier was ändern?:

$handle = new VerotUploadUpload(rfg_DirectoryHandler::DecodePath($imagePath));

Leider verschwinden hier immer die Backslashes..

Last edited by choppopo (18.06.2021 17:39:15)

#8 18.06.2021 17:45:02

webbird
Administrator

Re: [erledigt] Class Upload / FG / rFG

Die Class heißt \ Verot \ Upload

Ich vermute mal, dass das eigentliche Problem ist, dass in der rFG und der FG zwar dieselbe Klasse ist, aber in unterschiedlichen Versionen. Das kannst Du nur lösen, indem Du entweder die Versionen vereinheitlichst, oder der  Verot  Upload in der rFG einen anderen Namenspace gibst, was bedeutet, dass Du die in der rFG enthaltene class.upload.php ändern mußt. Ich würde ersteres empfehlen. Das könnte allerdings je nach Abstand zwischen den Versionen durchaus aufwendig(er) werden.

Der Namespace ist leicht zu finden, ist die erste aktive Codezeile in der class.upload.php und heißt auch noch so. big_smile

https://github.com/verot/class.upload.p … ad.php#L28

Last edited by webbird (18.06.2021 17:47:01)


Ich habe eine Amazon-Wishlist. wink
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#9 18.06.2021 18:10:48

choppopo
Guest

Re: [erledigt] Class Upload / FG / rFG

Die Versionen sind die gleichen - ich hab schlichtweg in der FG gewildert.
Mit diesem Class-Zeugs tue ich mir sehr schwer, ohne Copy/Paste-Vorlage geht da nichts bei mir. Also: Alles abgekupfert. ;-) Genau da könnte das Problem ja liegen.

Den Namespace ändern mag ich nicht so recht...

#10 18.06.2021 18:21:49

webbird
Administrator

Re: [erledigt] Class Upload / FG / rFG

Den Namespace ändern solltest Du auch nicht. Das wäre allenfalls die allerletzte Notlösung, wenn nichts anderes mehr geht.

Ich hab nur immer noch nicht verstanden, was das eigentliche Problem ist. Gibt es eine Fehlermeldung? Welche? Du weißt doch, was man als Dev an Infos braucht.

Man wird sicherlich beide Module ändern müssen, versuch doch mal in beide einzubauen:

[== PHP ==]
if (!class_exists('\Verot\Upload')) {
	require_once ...
}

Besser wäre noch ein Autoloader.

Das ist aber alles nur geraten, ohne konkrete Infos zum Fehler kann ich auch nicht mehr dazu sagen.

Ich mach jetzt erst mal Wochenende. big_smile

Edit: Das mit den Backslashes ist echt nervig. sad Die sind ein Shortcut für kursiven Text, daher filtert das Forum die immer weg.

Last edited by webbird (18.06.2021 18:23:24)


Ich habe eine Amazon-Wishlist. wink
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#11 18.06.2021 19:38:10

choppopo
Guest

Re: [erledigt] Class Upload / FG / rFG

webbird wrote:
[== PHP ==]
if (!class_exists('VerotUpload')) {
	require_once ...
}

So gehts nicht, aber so:
'if (class_exists('VerotUploadUpload')) {'...
also 2x '(Backslash)Upload'

Danke für die Hilfe!

Es ist wohl so, dass niemand sowohl die FG als auch die rFG auf einer Seite hat, aber es stört mich eben, wenn eine "weiße Seite" kommt.
Fehlermeldung gibt es keine, ansonsten alles neuestes Zeugs (PHP 8, WBCE 1.5,...)

Ich denke, ich mach die Variante mit dem "ausleihen" von der FG, es betrifft ja nur die view.php und dafür wirds schon reichen. So verschiedenen sich die class.upload ja auch wieder nicht, dass da gleich sonstwas passieren würde.

Genug gefrickelt, ich such mir jetzt einen Gastgarten.
Schönes Wochenende

Last edited by choppopo (18.06.2021 19:39:00)

#12 18.06.2021 20:30:15

florian
Administrator

Re: [erledigt] Class Upload / FG / rFG

@webbird

die rFG finde ich im Addons Repo nicht,

Das Modul wurde auf ausdrücklichen Wunsch des Modulautors aus dem AOR entfernt.

Das mit den Backslashes ist echt nervig.

stimmt - \ sollten jetzt erhalten bleiben

Last edited by florian (19.06.2021 05:51:17)


"Beginne den Tag mit einem Lächeln – dann hast Du's hinter Dir."

Offline

#13 20.06.2021 14:50:47

choppopo
Guest

Re: [erledigt] Class Upload / FG / rFG

Um die Sache abzuschließen:

Das mit dem "Script ausleihen" war natürlich eine dumme Idee. Ein Fiasko, wenn da eine alte vergessene Foldergallery herumliegt.
Also webbirds Vorschlag mit: if (!class_exists('\Verot\Upload\Upload')) { ...}

Dann muss man sich natürlich fragen; Warum wird das Monsterchen "Class Upload" gleich zu Anfang in die view.php eingehängt, wenn es zu 99,99% gar nicht benötigt wird, weil keine neuen Thumbs mehr erzeugt werden müssen.
Ergo: Direkt vor den Funktionsaufruf "createThumb()", kommt 2x vor.

Das wäre vielleicht auch eine Option für die Foldergallery, nicht nur die rFG


Weitere Infos:
https://wbce.at/de/topics/changelog-rfg.php

Der Thread kann geschlossen werden.

Board footer

Powered by FluxBB

up