• Welcome to WebsiteBaker Community Forum. Please log in or sign up.
Welcome, Guest
News
Support WebsiteBaker
Your donations will help to:
PayPal
  • Pay for our dedicated server
  • Pay for domain registration
  • and much more!
You can donate by clicking on the button below.

Page Cloner 1.0.7 uncatched exception

Started by Siggit, July 17, 2023, 12:03:54 PM  ( Read 41,343 times )

Siggit

Hallo,

ich wollte gerade den Page Cloner 1.0.7. verwenden.
Benutze gerade die WB Version 2.13.2 r133.
Der Page Cloner ist installiert, wenn ich Ihn unter Admin Tools aufrufe bekomme ich folgende Fehlermeldung:

Wähle die Seite die kopiert werden soll
   
     Seitentitel:    Menütitel:    Sichtbarkeit:

    There was an uncatched exception
    Call to private database::__construct() from invalid context
    in line (97) of (/modules/pagecloner/tool.php):

In Zeile 97 der tool.php steht:
$database = new database();

Mit diesem Modul könnte ich die Seitenstruktur, schneller aufbauen da ich an einigen Stellen mehrere Unterseiten benötige.

Danke im voraus.

Siggi

    Gast

    die angezeigte Zeile muß auf jeden Fall raus bzw deaktiviert / auskommentiert werden, z.b. durch Voranstellen zweier //

    Ob das ausreicht, weiß ich nicht. Häng das gezippte Modul bitte mal an deine nächste Antwort dran

      Gast

      schon gefunden.

      die  genannte Version 1.0.7 stammt von den Kollegen bei WBCE und ist dementsprechend auf dieses CMS ausgerichtet. Es ist also mit ein, zwei Änderungen nicht getan

        Siggit

        Danke dir,

        gibt es ein Modul mit dem ich Seiten klonen kann für WB?

        Grüße Siggi

          Siggit

          Hallo,

          habe jetzt noch das gefunden:

          https://forum.WebsiteBaker.org/index.php/topic,31860.msg223039.html#msg223039

          Download:

          https://forum.WebsiteBaker.org/index.php?action=dlattach;topic=31860.0;attach=14056

          Habe mir dort die Page Cloner Version 0.66 herunter geladen und installiert.

          bekomme jetzt folgende Fehlermeldung:

          There was an uncatched exception
          Class 'Template' not found
          in line (80) of (/modules/pagecloner/tool_clone.php):

          ab Zeile 80 steht:

          // Setup template object
          $template = new Template(WB_PATH.'/modules/pagecloner');
          $template->set_file('page', 'template.html');
          $template->set_block('page', 'main_block', 'main');


          Habe die Zeilen testweise auskommentiert dann folgt die Fehlermeldung in der nächsten Zeile.

          Danach kommt die Meldung:

          There was an uncatched exception
          Call to a member
          function set_block() on null
          in line
          (121) of (/modules/pagecloner/tool_clone.php):


          Dort steht:

          $template->set_block('main_block', 'page_list_block2', 'page_list2');

          Wenn ich die auskommentiere kommt eine weiße Seite. Kann ja meiner Meinung nach nur mit dem template vom Page Cloner was zu tun haben.

          Vielleicht hat ja noch jemand eine Idee.

          Grüße Siggi


            Siggit

            Habe den Code in Zeile 80 so abgeändert:

            // Setup template object
            use vendor\phplib\Template;
            if(!
            class_exists('Template')){ require(WB_PATH.'/include/phplib/template.inc');}
            $template = new Template(WB_PATH.'/modules/pagecloner');
            $template->set_file('page', 'template.html');
            $template->set_block('page', 'main_block', 'main');


            Hatte damit leider auch keinen Erfolg.

              hgs

              #6
              Ich hab mir mal die Version 0.66 vorgenommen und eine 0.67 daraus gemacht und erfolgreich mit WB 2.13.3 r166 mit php8.1 durch getestet.
              Ist als Anhang dran gehängt.
              Viel Spaß beim testen.
              Was habe ich geändert:
              An zwei Stellen musste der Weg zum Template eingefügt werden
              if (!class_exists('Template')){ require(WB_PATH.'/include/phplib/template.inc');}
              wurde direkt nach// Setup template objecteingefügt.
              Einmal in der tool.php und einmal in der tool_clone.php
              und dann noch ein bisschen Coding Standarts.
              aus:
              get_user_id() wurde  getUserId()
              und aus


              get_group_id() wurde getGroupId() in einigen Dateien
              Gefunden durch den tollen ErrorLogger, der seines gleichen sucht.
                LG Harald

                "Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

                "Never begin to stop - never stop beginning." Marcus Tullius Cicero (106-43 BC)

                Siggit

                Super Arbeit!  (Y) (Y) (Y)

                Es funktioniert, auch mit mehreren Abschnitten. Habe es mit  wysiwyg und einem Minislider getestet.
                In meiner error.log im var Verzeichnis habe ich keine Fehler angezeigt bekommen und bei Ionos mit einer Sever error.log ist das so ein Thema für sich, musste die bisher immer über den Support aktivieren lassen.

                Danke nochmal  :-)

                  masju

                  Danke für die Arbeit  (Y)!
                  Habe das Modul gerade installiert (2.12.2 R379 unter PHP 7.4), leider eine Fehlermeldung:
                  There was an uncatched exception
                  Call to undefined method admin
                  ::getGroupId()
                  in line (122) of (/modules/pagecloner/tool.php):

                  Verschwindet die beim Update auf die aktuelle WB-Version?

                  Viele Grüße
                  masju

                    Gast

                    Quote from: masju on July 25, 2023, 08:58:22 AM
                    Habe das Modul gerade installiert (2.12.2 R379 unter PHP 7.4), leider eine Fehlermeldung:
                    There was an uncatched exception
                    Call to undefined method admin
                    ::getGroupId()
                    in line (122) of (/modules/pagecloner/tool.php):

                    Verschwindet die beim Update auf die aktuelle WB-Version?

                    Das alte Modul  (Vers 0.66) wurde repariert und das natürlich für die aktuellen WB-Versionen, weil wir eben davon ausgehen, das man auch aktuelle WB-Versionen benutzt, schon allein, weil der Provider das fordert durch hochsetzen der PHP-Version.

                    die angemahnte Funktion getGroupId() und später auch getUserId() gab ist in dieser über 5 Jahre alten WB-Version noch nicht. Sie ersetzten die alten Funktionen get_group_id() bzw get_user_id(), deren Namen im Zuge des Umstieges auf OOP auf die aktuellen Coding-Standards angepasst wurde. Dort heißt es z.b. grob und einfach zusammengefaßt:
                    QuoteFunktionen

                        Funktionsnamen sind beschreibend, erster Buchstabe klein (Präfix zählt nicht), jedes "neue" Wort groß
                        Vor die Beschreibung sollte der Paketname gesetzt werden (klein) um Kollisionen mit anderen Funktionsnamen zu vermeiden
                        Bei der Definition soll der Original K&R Einrückungsstil verwendet werden (siehe Bsp.; ich persönlich bevorzuge aber ein einfaches Leerzeichen vor der öffnenden geschweiften Klammer)
                        Bei Aufrufen kein Leerzeichen nach Funktionsnamen, der öffnenden Runden Klammer und dem letzten Parameter
                        Leerzeichen nach Kommas zur Parametertrennung und der schließenden runden Klammer

                    Deine gepostete Fehlermeldung besagt, das diese Funktion nicht gefunden wurde, weil es sie (noch) nicht gibt in dieser WB-Version. Wird in den aktuellen WB-Versionen solch alte Funktion aufgerufen, wird eine Info-Meldung gesetzt und intern die neue Funktion verwendet. Diese Methode läßt Freiraum, um es zu reparieren. Ab WB 3 wird es dann keine Info mehr geben und die Reaktion wird an PHP angepasst, wo es dann einen Scriptabbruch geben wird.

                    Willst du unbedingt bei deiner alten WB-Version bleiben, brauchst du auch die alte Modul-Version dazu. Der entsprechende Download-Link wurde oben gepostet. Da es keine Modul-Downgrades gibt in WB, muß die neueste Modul-Version 0.67 erst deinstalliert werden, um danach die alte Version 0.66 zu installieren

                      masju

                      Okay, prima, vielen Dank für die ausführliche Antwort. Dann mache ich beizeiten mal ein Update  :-)

                      Gruß
                      masju

                        hillschmidt

                        #11
                        war ja geschlossen - Anfrage in neuem Thread geöffnet!

                          \n\n