Author Topic: Page Cloner 1.0.7 uncatched exception  (Read 2578 times)

Offline Siggit

  • Posts: 150
Page Cloner 1.0.7 uncatched exception
« on: July 17, 2023, 12:03:54 PM »
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:
Code: [Select]
$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

Offline sternchen8875

  • Posts: 318
Re: Page Cloner 1.0.7 uncatched exception
« Reply #1 on: July 17, 2023, 12:23:26 PM »
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

Offline sternchen8875

  • Posts: 318
Re: Page Cloner 1.0.7 uncatched exception
« Reply #2 on: July 17, 2023, 12:41:56 PM »
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

Offline Siggit

  • Posts: 150
Re: Page Cloner 1.0.7 uncatched exception
« Reply #3 on: July 17, 2023, 12:47:09 PM »
Danke dir,

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

Grüße Siggi

Offline Siggit

  • Posts: 150
Re: Page Cloner 1.0.7 uncatched exception
« Reply #4 on: July 18, 2023, 08:29:08 AM »
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:

Code: [Select]
// 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:

Code: [Select]
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:

Code: [Select]
$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


Offline Siggit

  • Posts: 150
Re: Page Cloner 1.0.7 uncatched exception
« Reply #5 on: July 18, 2023, 09:36:36 AM »
Habe den Code in Zeile 80 so abgeändert:

Code: [Select]
// 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.

Offline hgs

  • Betatester
  • **
  • Posts: 1799
    • EFG MG
Re: Page Cloner 1.0.7 uncatched exception
« Reply #6 on: July 18, 2023, 03:11:33 PM »
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
Code: [Select]
if (!class_exists('Template')){ require(WB_PATH.'/include/phplib/template.inc');}wurde direkt nach
Code: [Select]
// Setup template objecteingefügt.
Einmal in der tool.php und einmal in der tool_clone.php
und dann noch ein bisschen Coding Standarts.
aus:
Code: [Select]
get_user_id() wurde 
Code: [Select]
getUserId()und aus


Code: [Select]
get_group_id() wurde
Code: [Select]
getGroupId() in einigen Dateien
Gefunden durch den tollen ErrorLogger, der seines gleichen sucht.
« Last Edit: July 18, 2023, 03:22:25 PM by hgs »
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)

Offline Siggit

  • Posts: 150
Re: Page Cloner 1.0.7 uncatched exception
« Reply #7 on: July 19, 2023, 09:34:38 AM »
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  :-)

Offline masju

  • Posts: 163
  • Gender: Male
Re: Page Cloner 1.0.7 uncatched exception
« Reply #8 on: July 25, 2023, 08:58:22 AM »
Danke für die Arbeit  (Y)!
Habe das Modul gerade installiert (2.12.2 R379 unter PHP 7.4), leider eine Fehlermeldung:
Code: [Select]
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

Offline sternchen8875

  • Posts: 318
Re: Page Cloner 1.0.7 uncatched exception
« Reply #9 on: July 25, 2023, 02:59:47 PM »
Habe das Modul gerade installiert (2.12.2 R379 unter PHP 7.4), leider eine Fehlermeldung:
Code: [Select]
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:
Quote
Funktionen

    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

Offline masju

  • Posts: 163
  • Gender: Male
Re: Page Cloner 1.0.7 uncatched exception
« Reply #10 on: July 26, 2023, 10:36:36 PM »
Okay, prima, vielen Dank für die ausführliche Antwort. Dann mache ich beizeiten mal ein Update  :-)

Gruß
masju

 

postern-length