Ankündigung

Einklappen
Keine Ankündigung bisher.

Passiert nix,- wie kann ich rausbekommen wo es hängt?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • flexxer
    hat ein Thema erstellt Passiert nix,- wie kann ich rausbekommen wo es hängt?.

    Passiert nix,- wie kann ich rausbekommen wo es hängt?

    Hi,

    ich bin gerade dabei ein Forenplugin anzupassen, weil es nicht mehr auf der aktuellen PHP Version lief. Die PHP Sachen habe ich denke ich in den Griff bekommen.

    Nun habe ich folgende Situation:
    Es geht um eine Bildergalerie,- ums Kind beim Namen zu nennen RGallery Plugin für Woltlab Forum.

    Was man tun kann sind dort eben Bilder hochladen und diese kommentieren.
    Möchte ich einen Kommentar löschen habe ich ein (x) Button zum löschen. Dann kommt eine Meldung, ob der Kommentar wirklich weg soll und dann passiert nix.

    Und das ist eben meine Frage: Wie kann ich raus bekommen, an welcher Stelle es hängt?

    Was ich sehe:
    Wenn ich über den Löschen Button gehe sehe ich die Aktion: javascript: deleteComment (Nummer des Kommentars in der Klammer) .

    Nun habe ich mir die Datei raus gepickt wo die Funktion drin steckt und fand das:
    PHP-Code:
    <!--
            function 
    deleteComment(commentID) {
                if(
    confirm('{lang}de.0xdefec.rgallery.ask_deleteComment{/lang}')) {
                    var 
    url '{@RELATIVE_WBB_DIR}index.php?page=RGalleryAction&type=deleteComment&id='+commentID+'{if $from != ''}&from={$from}{/if}{@SID_ARG_2ND_NOT_ENCODED}';
                    new 
    Ajax.Request(url, {
                        
    method'get',
                        
    onSuccess: function() {
                            
    Effect.Fade('comment_'+commentID);
                            }
                        });
                    }
                }
            function 
    deleteItem(itemID) {
                if(
    confirm('{lang}de.0xdefec.rgallery.ask_deleteItem{/lang}')) {
                    
    top.location.href='{@RELATIVE_WBB_DIR}index.php?page=RGalleryImageWrapper&itemID={$data.itemID}&type=delete{if $from != ''}&from={$from}{/if}{@SID_ARG_2ND_NOT_ENCODED}';
                    }
                }
        --> 
    Im ersten Teil wird ja nur das Abfragefenster aufgemacht, wo man das Löschen bestätigen soll.

    Nun und an dieser Stelle hänge ich jetzt fest. Ohne Fehler nix ( kein Seiten neu laden oder sonst was,- einfach passiert nix, wenn man das Löschen bestätigt) ist für mich jetzt doch schwer.

  • lstegelitz
    antwortet
    Zitat von flexxer Beitrag anzeigen
    Habe nen overflow.
    Gute Besserung!

    Einen Kommentar schreiben:


  • flexxer
    antwortet
    Habe nen overflow.

    Einen Kommentar schreiben:


  • tkausl
    antwortet
    Zitat von flexxer Beitrag anzeigen
    Mir kam gerade in den Sinn, dass ich ja ggf. wenns nicht zu Fehlern führt doch mal den kopiere und unter anderen Namen einfüge und in der Datei bei der der Fehler entsteht den Aufruf dann abändere auf den neuen Namen und schaue was passiert.
    Ein Konstruktor wird nicht wie eine Funktion aufgerufen
    Zitat von Arne Drews Beitrag anzeigen
    Ein Konstruktor wird i.d.R. nicht verwendet, sondern bei einer Instanziierung automatisch aufgerufen.

    Einen Kommentar schreiben:


  • flexxer
    antwortet
    Mir kam gerade in den Sinn, dass ich ja ggf. wenns nicht zu Fehlern führt doch mal den kopiere und unter anderen Namen einfüge und in der Datei bei der der Fehler entsteht den Aufruf dann abändere auf den neuen Namen und schaue was passiert.

    Also so:
    PHP-Code:
    class RGallerySystem {

        function 
    RGallerySystem() 
    {
     
    Inhalt
    }

    function 
    __rgsys()
    {
    Inhalt
    }


    Einen Kommentar schreiben:


  • Arne Drews
    antwortet
    Wenn ich nur Hotfixes anwende per Klick bin ich nix als was man in vielen KFZ Werkstätten ran züchtet: Dämliche Teiletauscher bis es geht.
    Hotfixes sind entwickelt, um genau die Probleme zu fixen, die Du jetzt selbst beheben willst!

    Ich möchte es kapieren was dahinter steckt,- es läuft ja soweit jetzt so das ich mich nebenbei mal damit beschäftigen kann , um hier und da mal selber dran zu stellen wenns notwendig wird.
    Das darsft Du ja auch, aber Du hast aus Deinem ersten Thread keine Erkenntnis mitgenommen, das ist leider äusserst hinderlich bei weiterem Bestreben.

    kann ja auch mit einem nächsten PHP Update ein weiteres Plugin betroffen sein.
    Das wird sogar so sein, wie gesagt, da ist nix uptodate!

    Müsste dann nur schauen wo der Konstruktor verwendet wird und den dann also umbenennen., richtig?
    Ein Konstruktor wird i.d.R. nicht verwendet, sondern bei einer Instanziierung automatisch aufgerufen.

    @Arne Drews
    Der letzte Post von dir kann man als Scheiß Post denke ich titulieren
    Je nachdem, aus welcher Sicht man das betrachtet, ja dann kann man das so titulieren!
    Sorry aber bei dem Mist geht mir die Hutschnur hoch.
    Ja und weißt Du wo mir die Hutschnur hochgeht: Wenn man versucht jemandem zu helfen, der es scheinbar auch selbst schaffen will und dann quasi herauskommt, daß die Problematik in Threads zuvor schon nicht verstanden wurde.
    Da kommt man einfach nicht drum rum, auf die Grundlagen zu verweisen, was aber immer niemand hören will.

    Glaub mir einfach, ohne Dir zu nahe treten zu wollen, das wird sicher ein ganzes Stück Arbeit, wenn Du das sinnvoll fixen willst!

    Einen Kommentar schreiben:


  • flexxer
    antwortet
    Wenn es nicht zu wild ist würde ich den Oldtimer zu neuem Glanz verhelfen wollen.

    @ SirSnyder
    Wenn ich nur Hotfixes anwende per Klick bin ich nix als was man in vielen KFZ Werkstätten ran züchtet: Dämliche Teiletauscher bis es geht.

    Ich möchte es kapieren was dahinter steckt,- es läuft ja soweit jetzt so das ich mich nebenbei mal damit beschäftigen kann , um hier und da mal selber dran zu stellen wenns notwendig wird. kann ja auch mit einem nächsten PHP Update ein weiteres Plugin betroffen sein.


    Zur Sache:
    Also wenn ich es so sehen dürfen Funktionen und Konstruktoren nicht mehr den selben Namen haben wie es da der Fall ist.
    Ich fand es da ein wenig besser erklärt: http://www.besser-php-programmieren....n-php-4-und-5/

    Müsste dann nur schauen wo der Konstruktor verwendet wird und den dann also umbenennen., richtig?
    Man muss eben nur schauen, wo die Klasse und wo der Konstruktor gemeint ist.


    @Arne Drews
    Der letzte Post von dir kann man als Scheiß Post denke ich titulieren,- holst was aus einem anderen Thema hier rein,- hättest du wenn darunter kommentieren können in dem anderen Thema, und nicht mich als doof darstellen. Mensch, ich bin kein Urgestein in Sachen PHP,- ich versuche es gleich an einer recht umfangreichen Sache zu verstehen!

    Sorry aber bei dem Mist geht mir die Hutschnur hoch.


    Nun back to topic...

    Einen Kommentar schreiben:


  • Arne Drews
    antwortet
    Zitat von SirSnyder Beitrag anzeigen
    Das Thema RGallery hatte wir doch neulich erst

    http://www.php.de/php-einsteiger/111...tiblitaet.html
    Na super, hat angeblich verstanden, wie es mit der Instanziierung funktioniert,
    Zitat von flexxer Beitrag anzeigen
    Wenn ichs richtig sehe wirds in der Datei, die ich eingangs postete zugewiesen:
    PHP-Code:
    // assign variables
            
    $this->assignVariables();
            
    $gallery = new RGallerySystem(); 
    aber hier weiß er wieder von nix!

    Einen Kommentar schreiben:


  • SirSnyder
    antwortet
    Das Thema RGallery hatte wir doch neulich erst

    http://www.php.de/php-einsteiger/111...tiblitaet.html

    //edit: Angeblich soll es Hotfixes geben https://www.woltlab.com/forum/thread...-neuen-server/

    Einen Kommentar schreiben:


  • Arne Drews
    antwortet
    Ja, wie rkr schon sagt, das sieht stark nach PHP4 aus. Auch das Fehlen der Scope-Definition via public deutet darauf hin.
    Da lohnt es sich nicht weiter drauf einzugehen. Du wirst Dir was anderes suchen müssen!

    Einen Kommentar schreiben:


  • rkr
    antwortet
    Zitat von flexxer Beitrag anzeigen
    Ich habe es in einer RGallerySystem.class.php glaube ich gefunden:
    PHP-Code:
    ...
    class 
    RGallerySystem {

        function 
    RGallerySystem() {

    ... 
    Kannst du damit was anfangen?
    Ja, das ist der PHP4-Style Constructor.
    Lesenswert: https://wiki.php.net/rfc/remove_php4_constructors

    Einen Kommentar schreiben:


  • flexxer
    antwortet
    Ich habe es in einer RGallerySystem.class.php glaube ich gefunden:
    PHP-Code:
    ...
    class 
    RGallerySystem {

        function 
    RGallerySystem() {

    ... 
    Kannst du damit was anfangen?

    Einen Kommentar schreiben:


  • Arne Drews
    antwortet
    Code:
    wenn ich es richtig verstanden habe, wurde jetzt aus der Funktion eine Variable gemacht
    Nein, vorher war es keine Funktion, sondern ein/e Klassenbezeichner/-referenzierung.

    Beispiel ( minimalistisch! ) zur Verdeutlichung, was gemeint war:
    PHP-Code:
    // Wir setzen eine Klasse vorraus, hier praktischer Weise RGallerySystem
    class RGallerySystem {


        
    // NICHT-STATISCHE Methode
        
    public function something() {

            
    // ... was hier passiert ist erstmal unerheblich

        
    }


        
    // STATISCHE METHODE
        
    public static function somethingElse() {

            
    // ... s.o.

        
    }


    }

    // Aufruf STATISCHE Methode:
    RGallerySystem::somethingElse();

    // Aufruf NICHT-STATISCHE Methode:
    $oRGallerySystemObject = new RGallerySystem;
    $oRGallerySystemObject->something(); 
    Deine Fehlermeldung besagt, daß Du eine NICHT-STATISCHE Methode, wie bspw. hier die something() versuchst, STATISCH aufzurufen.
    Daher geht meine Vermutung dahin, daß es eine Instanz der Klasse RGallerySystem, ähnlich dem $oRGallerySystemObject in dem Beispiel oben gibt!

    Einen Kommentar schreiben:


  • flexxer
    antwortet
    Ich dachte es geht um die Art vom Aufruf einer Funktion, denn wenn ich es richtig verstanden habe, wurde jetzt aus der Funktion eine Variable gemacht, aber muss doch eine Fkt. bleiben, nur der Aufrufsoperator sich ändern, oder?

    Ich bin noch nicht ganz so fit in PHP wie du siehst, falls das jetzt eine doofe Aussage war bitte korrigieren.
    Brauchst du weitere Infos,- wenn ja welche?

    Einen Kommentar schreiben:


  • Arne Drews
    antwortet
    Das war auch nur als Beispiel gemeint. Ob es eine Instanz der Klasse gibt und wie die heißt, mußt Du uns sagen, da wir ( zumindest ich ) Dein verwendetes System nicht kennen!

    Einen Kommentar schreiben:

Lädt...
X