Admin-Tool "Page Cloner" not working with WB 2.12.0

hgs

LG Harald

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

KimCR

Has a newer version than version 0.61 of the Page Cloner module been released that is compatible with WB 2.12.0 and above upon installation?
Thanks, KimCR

gba

Gibt es jetzt die von Darkviper angekündigte neue Version des pagecloners jetzt schon?
Ich habe den bisherigen immer gerne benutzt.

VSG

Herzlichen Dank an jacobi22 für den Code!

Viele Grüße,
VSG

astricia

Doch - das ist für uns Nicht-Programmierer eine außergewöhnliche Leistung... ich bin dir auch sehr dankbar dafür. Spart bei einem meiner Projekte jetzt eine Menge händische Copy und Paste-Arbeit .... !

LG,
Astrid

Gast

Danke, aber es war nun keine außergewöhnliche Leistung.
Es wäre auch noch mehr drin, aber wie oben schon angeführt, ist es immer nur eine Momentaufnahme. Ich hatte letztes Jahr schon mal damit begonnen, das Modul zu überarbeiten, aber nach der Aussage von DV oben dann schlagartig abgebrochen. Macht wenig Sinn (für mich) viel Freizeit in Sachen zu stecken, die dann niemand mehr braucht.

stef4n

Du bist ein Traum! Schick mir mal bitte eine PN, möchte Dir gerne was zukommen lassen. So für mich komplett ausreichend -> pagecloner LIGHT (WYSIWYG)

Gast

hier der neue Abschnitt zum Clonen des Wysiwyg-Abschnittes - tool_doclone.php ab Zeile 149 bis zum nächstem } elseif ($module=='miniform') {
meine letzte Klammer steht dann direkt vor dem elseif

if ($module=='wysiwyg') {
    
$query "SELECT * FROM `".TABLE_PREFIX."mod_wysiwyg` WHERE `section_id` = '$from_section'";
    
$get_wysiwyg $database->query($query);
	
 
    while ( 
false != ($is_wysiwyg=$get_wysiwyg->fetchRowMYSQLI_ASSOC ))) {
        
$content $is_wysiwyg['content'];
        
$text $is_wysiwyg['text'];
        
// Insert an extra row into the database
        
$sql 'INSERT INTO `'.TABLE_PREFIX.'mod_wysiwyg` SET '
                 
'`page_id`='.(int)$page_id.', '
                 
'`section_id`='.(int)$section_id.', '
                 
'`content`=\''.$database->escapeString($content).'\', '
                 
'`text`=\''.$database->escapeString($text).'\' ';
            
$database->query($sql);
            if(
$database->is_error()) {
                
$admin->print_error($database->get_error());
            } 
        }
	

    }

Gast

Quote from: stef4n on May 21, 2019, 12:39:02 PM
an welcher Stelle verliert der cloner die TEXT Inhalte aus dem wysiwyg?

in der add.php des wysiwyg-Moduls
die ist seit geraumer Zeit ohne Funktion, weil deren Aufgabe von der save.php des Moduls übernommen wird.
Man müßte in der tool_doclone.php des PagerCloners diesen Insert direkt machen.
Da der Insert nicht gemacht wurde, läßt sich in der Folge natürlich auch das Update der Inhalte nicht machen.

stef4n

an welcher Stelle verliert der cloner die TEXT Inhalte aus dem wysiwyg? Sollte meist den größten Anteil / Relevanz ausmachen.

astricia

Mal kurz zur Info - wenn man die Zeile 85 aus dem tool_clone.php auskommentiert, funktioniert der Pace-Cloner weiterhin - zumindest soweit, dass er die entsprechenden Abschnitte (einschließlich OFA!) erstellt und den entsprechenden Blöcken zuweist. Inhalte werden keine kopiert, das muss man dann alles manuell machen.

Aber bei meinem aktuellen Projekt, wo es mehrere Seiten gibt, die aus 6-7 Abschnitten bestehen, die ganz unterschiedlichen Blöcken zugeordnet sind - und wo ich noch zig ähnliche Unterseiten nach gleichem Muster erstellen muss - ist das durchaus eine Hilfe.

LG,
Astrid

Gast

na wenn es soooo einfach ist, hast du doch deine Lösung  ;-)

astricia

Wenn ich eine Seite mit einem OFA-Modul in einer weiteren Sprache anlege, clone ich doch nicht das Modul - sondern baue einfach einen neuen Abschnitt mit dem gleichen Modul auf. Wobei OFA mir das hier auch noch ziemlich einfach macht, weil ich jeden einzelnen Eintrag über "duplizieren" auf die Seite der anderen Sprache übertragen kann und sie dort dann eben übersetze. Das dürfte also keine neuen Tabellen aufmachen.

Hab mir nach deinem Einwand jetzt gerade mal die Datenbank angeschaut. Das Projekt ist ein Relaunch von einer Uralt-Seite, die bislang noch online ist und in Joomla (alte Version) läuft, ebenfalls dreisprachig. Für die Joomla-Seite existieren 2 Datenbanken (ich nehme an, eine ist eine nie gelöschte, noch ältere Version...), eine 21 MB groß, die andere 51 MB. Die WebsiteBaker-Datenbank (bislang allerdings nur 1 Sprache, aber eben alle Inhalte von der Joomla-Seite übernommen..) macht gerade mal 1 MB aus. Da werden die beiden anderen Sprachen wohl kaum so ins Gewicht fallen, dass da irgendwelche Probleme zu befürchten sind...

DarkViper

Uii.. das gibt ne nette Datenbank zusammen..  :-o
12 Instanzen * 5 Tabellen * 3 Sprachen...  macht nur so läppische 120 Tabellen aus + die ca. 25-30 von Rest-WB noch ;)
[url=http://www.youtube.com/watch?v=tmzDAz6ZvFQ]Der blaue Planet[/url] - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen[br]
[i]"You have to take the men as they are... but you can not leave them like that !" :-P [/i]
[i]Das tägliche Stoßgebet: [b]Oh Herr, wirf Hirn vom Himmel ![/b][/i]

astricia

Quote from: DarkViper on November 07, 2018, 02:33:41 PM
Ich übertreibe? Einfach mal eine Instanz mit Inhalten manuell clonen, dann red mer weiter. ;)

Ja nu, da bleibt mir jetzt nix anderes übrig als das alles manuell zu clonen. Für mich ist OFA weiterhin das vielseitigste und flexibelste aller WB-Module, mit dem ich vor allem das Backend so gestalten kann, dass auch der DAU unter meinen Kunden damit zurecht kommt.... ;-) In dem aktuellen Projekt laufen jetzt 12 OFA-Instanzen.

LG,
Astrid

DarkViper

#10
Der Cloner kann derzeit - unter Vorbehalt - nur wysiwyg, miniform, form, mpform, code und code2. Und auch da müsste erst noch geprüft werden, ob das auch für die neuesten, gefixten Versionen dieser Module gilt.

Das Clonen einer Instanz von OFA ist derzeit nahezu illusorisch. Durch die für WB-Module absolut untypische Methode der Installation mehrerer Instanzen (inc. der jeweils manuellen Umbenennung/Bearbeitung)  sind zum Clonen geschätzt gut 500 Zeilen Code erforderlich, die zudem sehr tief ins Modul eingreifen. Schon kleinste Änderungen (Updates) am Originalmodul würden mit großer Wahrscheinlichkeit gleichzeitig einen Umbau des Cloners erfordern. Fast vergessen: nur 10 Seiten mit OFA ein einziges mal clonen... und die Datenbank bläht sich um zusätzliche 50 Tabellen auf!
Ich übertreibe? Einfach mal eine Instanz mit Inhalten manuell clonen, dann red mer weiter. ;)

my 2cents only
Manuela
[url=http://www.youtube.com/watch?v=tmzDAz6ZvFQ]Der blaue Planet[/url] - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen[br]
[i]"You have to take the men as they are... but you can not leave them like that !" :-P [/i]
[i]Das tägliche Stoßgebet: [b]Oh Herr, wirf Hirn vom Himmel ![/b][/i]

astricia

Hmm... schade. Wysiwig ist bei meinem aktuellen Projekt immer nur ein Abschnitt pro Seite, der Rest ist OFA, Minihero oder Miniform. Das kopiert er dann wohl eher nicht? Dann kann ichs vergessen...

DarkViper

Quote from: astricia on November 06, 2018, 08:20:31 PMFehlermeldung:
There was an uncatched exception
Call to private database::__construct() from invalid context
in line (85) of (/modules/pagecloner/tool_clone.php):

Wäre toll, wenn da jemand einen Ansatz hätte, da ich aktuell an einer dreisprachigen Seite mit ca. 50 Seiten pro Sprache und 4-5 Abschnitten pro Seite sitze... das alles einzeln und händisch zu kopieren wäre Wahnsinn....
Dieses Uralt-Modul wurde noch nicht angepasst. Lohnt sich meiner ganz persönlichen Meinung nach auch nicht mehr, da es nur noch einen kleinen Bruchteil der aktuellen Seitenmodule kopieren kann (ok, wysiwyg sollte noch gehen). Ich denke, dass da in absehbarer Zeit (nein, nicht gestern) ein neuer Cloner kommen wird, der dann auch zukunftssicher ist und ALLE Module berücksichtigt, die ihn unterstützen.

Ok, aber erst mal das aktuellste Problem:
Das Modul enthält noch vorvorgestrigen Code:
Die obige Fehlermeldung bemängelt zum Beispiel ein  new database() in Zeile 85 der Datei tool_clone.php
Diese Zeile kann ersatzlos auskommentiert werden.
84 // Parent page list
85 // $database = new database();

Es ist durchaus möglich, dass das selbe Problem auch noch in anderen Dateien des Modules auftaucht.
[url=http://www.youtube.com/watch?v=tmzDAz6ZvFQ]Der blaue Planet[/url] - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen[br]
[i]"You have to take the men as they are... but you can not leave them like that !" :-P [/i]
[i]Das tägliche Stoßgebet: [b]Oh Herr, wirf Hirn vom Himmel ![/b][/i]

astricia

Hat das jemand inzwischen lösen können? Ich hab versucht, den PageCloner 0.61 bei einer 2.12.0 Installation einzusetzen. Der Seitenbaum wird angezeigt. Aber bei Klick auf eine Seite zum Kopieren, kommt die folgende Fehlermeldung:

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


Wäre toll, wenn da jemand einen Ansatz hätte, da ich aktuell an einer dreisprachigen Seite mit ca. 50 Seiten pro Sprache und 4-5 Abschnitten pro Seite sitze... das alles einzeln und händisch zu kopieren wäre Wahnsinn....

LG,
Astrid

stef4n

#6
auch bei mir funktioniert - nach Einspielung des Updates auf 0.61 der Page Cloner nicht.

Es werden zwar nun grundsätzlich auf der Page cloner Seite alle vorhandenen Seiten Einträge angezeigt (was mit der Version 0.59 nicht der Fall war), jedoch wird nach Auswahl der entspr. Seite welche geclont werden will eine leere Seite angezeigt.

Bin gerade dabei alle Module zu aktualiseren bzw. nicht benötigte zu deinstallieren, da ich einen Zusammenhang vermute. Habe aber die wesentlichen bereits erledigt (welche in den zu clonenden Seiten enthalten wären) und bislang keinen Erfolg.

Gibt es auch hier eine Idee oder Lösungsansätze? Danke

VSG

Thanks, I'll give it a try!

Will be a few days, though.
As I said, it certainly did work the day before yesterday. And it did copy the contents of the WYSIWYG-module to the new page.

dbs

Hm, my tests only copy the module, but not the content.
Wysiwygs are empty or other modules have not the same settings.
I think this should be not so.

edit: tested with attached version 0.61
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

VSG

Thanks for the assistance! Worked perfectly. (Y)

I've been using this module ever since I first used WB - and the last time I used it was the day before yesterday on my WB 2.11.0-installation. So yeah, I'm pretty sure it worked. :-D

Thanks again and best regards,
VSG

dbs

Hi, you are sure that this module has worked before?
Which WB version (before)?

Have tested with version 0.59

Solution:
In file tool.php of the module in line 111 is a old and obsolete call for:
$database = new database();
You can comment out or delete this line.
The same in file tool_clone.php line 85.


And to prevent notices you should also change line 312
from
'INTRO_LINK' => $MESSAGE['PAGES']['INTRO_LINK'],


to
'INTRO_LINK' => $MESSAGE['PAGES_INTRO_LINK'],
[url="https://onkel-franky.de"]https://onkel-franky.de[/url]

VSG

Hi everyone!

Thank you very, very much for the recent update! (Y)
Great work!

However, I noticed that the admin-tool "Page Cloner" is no longer working - it simply doesn't show any pages to clone.

Any idea, why that is?
Apart from that I haven't noticed any bugs, yet, but I've just installed it.

Best regards and a great week to all of us!
VSG