[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Import aus Redaxo 4.x möglich? - Seite 1 - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

Re: Import aus Redaxo 4.x möglich?

11. Feb 2016, 12:42

hallo,

du hast ja schonmal das addon bekanntgemacht und nun hoffen wir mal, dass es feedback gibt.. wenn du es noch in myredaxo aufnimmst und so anderen verfügabr machst - umso besser :)

habe das addon nicht getestet, aber wäre toll, wenn es andere schonmal machen..

sehe ich das richtig, dass dein ansatz ist, in r4 ein addon zu bauen welches dann einen r5 export rausspuckt ?

lg

Jan
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

11. Feb 2016, 13:17

Hallo,
Jan.Kristinus hat geschrieben: wenn du es noch in myredaxo aufnimmst und so anderen verfügabr machst
Dachte, das hätte ich gemacht, hab ich da was übersehen?
Siehe:http://www.redaxo.org/de/download/addon ... &cat_id=-1
Jan.Kristinus hat geschrieben:sehe ich das richtig, dass dein ansatz ist, in r4 ein addon zu bauen welches dann einen r5 export rausspuckt
Ja fast, der Export beinhaltet dann, neben den Tabellen (sql) auch noch einige Analyseergebnisse. Diese müssen dann in einem r5 addon importiert und abhängig von den Analyseergebnissen abgepasst werden.
Grund:
aus r4 Sicht ist dabei der Export immer gleich.
aus r5 Sicht kann der Import aber durchaus variieren, da spätere Versionen von r5 ja eine andere Anpassung nötig machen könnten. Dabei muss dann einfach ein für diese Version angepasstes Addon den Import versiongemäß vornehmen können.

Momentan könnte man durchaus die Anpassungen bereits in r4 vornehmen. Das halte ich aber als für zu kurz gegriffen, denn dann müsste zukünftig ein r4 addon angepasst werden nur weil eine neue r5 Version dies erforderlich macht. Das gerät schnell aus dem Fokus und würde zudem das r4 Addon unnötig kompliziert machen. Ich müsste da ja dort die Zielversion abfragen.
Eine Anpassung des r5 addons im Rahmen der r5 Evolution scheint mir hier viel logischer.

aber das Ganze ist meine persönliche Sicht und ich lasse mich hier gerne eines Besseren belehren.
Diskussion freigegeben!

ich habe auch noch eine Frage an die Community: Hat jemand eine Idee wie ich Module auf verwendete Addons prüfen kann?
lg
Gunter
read the manual first

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

13. Feb 2016, 00:50

Ich hänge hier gerade etwas durch, da ich nicht so recht weiß wie ich einige der Unterschiede zwischen der r4 Version von rex_article_slices und der r5 Version behandeln muss.

In r4 gibt es die Felder php und html. Diese gibt es so in der r5 Version nicht mehr. Laut GitHub "Aenderungen in REDAXO 5" werden die Inhalte in r5 als REX_VALUE(id=1 output=php) bzw. REX_VALUE(id=1 output=html) ausgegeben, wobei der letzte Fall ja wohl grundsätzlich für jedes VALUE Feld gilt.

Hier suche ich nach einem Ansatz für die Datenübernahme.
Davon hängt ja auch noch der Verfahrensweg für die Modulanpassung ab.

Hoffentlich könnt ihr mir da weiterhelfen.

lg
Gunter
read the manual first

tito24
Beiträge: 21
Registriert: 25. Jul 2012, 00:26

Re: Import aus Redaxo 4.x möglich?

13. Feb 2016, 02:52

Hallo Gunter,

ich verfolge den Beitrag mit dem Redaxo 4 -> 5 Import mit großen Interesse und würde mich sehr freuen, wenn du hier eine Lösung anbieten kannst. Ich denke wenn das Update von der Version 4.6 funktioniert ist das schon eine tolle Sache, weil das ja ein kompletter Versionssprung zur Version 5 war.

Gruß
Tito24

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

14. Feb 2016, 22:27

Hallo,
irgenwie scheine ich hier an eine Grenze gekommen zu sein.
Ich arbeite gerade an der Funktion um die globalen r4 Variablen in die r5 Form zu bringen.
Hier bin ich davon ausgegangen, dass die meisten Variablen in r5 als rex::getProperty('key') angesprochen werden.

Das funktioniert offensichtlich aber, wie Thomas auf GitHub: "Aenderungen in REDAXO 5" ausgeführt, bei Addon spezifischen Variablen durch Addon eigene Festlegung.

mein 1. schneller Versuch in einem r5 Testmodul hatte mich aber nicht weitergebracht - hier hatte ich versucht ein paar Variablen zu testen:

Code: Alles auswählen

<?php
if (!rex::isBackend()) {
    echo "Frontend<br>";
    echo "ERROR_EMAIL ".rex::getProperty('ERROR_EMAIL')."<br>";
    echo "HTDOCS_PATH ".rex::getProperty('HTDOCS_PATH')."<br>";
} else {
    echo "Backend";
}
?>
Das Ergebnis war ernüchternd. Deshalb habe ich mir die GitHub Infos nochmal genauer angeschaut.
ERROR_EMAIL stammt wohl von XForm und HTDOCS_PATH muss via rex_path::xxx ermittelt werden. Wie das genau auszusehen hat, konnte ich aber nicht herausfinden.

Ich fürchte mittlerweile, dass eine automatische Anpassung der Module, und damit warscheinlich auch der Templates, vorest kaum umzusetzen sein wird.

Ich werde mich deshalb erstmal nur den Export von rex_article, rex_article_slice, rex_template, rex_module, rex_module_action mit anpassung der Feldnamen in einem einsetzbaren Addon realisieren.
Module und Templates werden also, zumindest vorest, händisch nachbearbeitet werden müssen. Dies wird ja sowieso nötig sein, da ja auch noch nicht alle Addons zur Verfügung stehen.

lg
Gunter
read the manual first

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Import aus Redaxo 4.x möglich?

15. Feb 2016, 09:47

Hej Gunter,

bitte schreibe hier einfach weiter, sofern du nicht weiter kommst. Wir werden versuchen dich hier zu unterstützen. Zu deinen 2 Variablen.
gupi hat geschrieben:ERROR_EMAIL stammt wohl von XForm und HTDOCS_PATH muss via rex_path::xxx ermittelt werden. Wie das genau auszusehen hat, konnte ich aber nicht herausfinden.
Xform nutzte ERROR_EMAIL, wurde aber von REDAXO unter der Systempage bereitgestellt und in $REX['ERROR_EMAIL'] gespeichert.

Probier mal bitte folgendes:

Code: Alles auswählen

echo 'ERROR_EMAIL ' . rex::getErrorEmail() .'<br />;
echo 'HTDOCS_PATH ' . rex_path::base() . '<br />';
vg Thomas

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

15. Feb 2016, 11:12

Hallo Thomas,

weitermachen ist klar, auch in Richtung Austausch von Variablen und co. Was ich mit meiner Mail ausdrücken wollte, ist, dass ich die Prioritäten verschoben habe.

Ich werde also meine aktuelle adjustModule() und adjustTemplate() Funktion so belassen wie sie sind. Die zu tauschenden $REX Variablen können ja leicht nachgetragen werden, momentan trage ich sie händisch in den code ein.

Damit aber möglichst schnell getestet werden kann, werde ich mich auf r4 Export und r5 Import konzentrieren um das Addon schnellstmöglich nutzbar zu machen. Die adjust Funktionen sollten halt nicht zu show stopper werden.

Ich bleibe dran.

lg
Gunter
read the manual first

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

16. Feb 2016, 13:05

Hey,
ich bin jetzt in meiner Testumgebung soweit, dass ich den Import nach r5 testen will. Dazu benötige ich aber ein (leeres) r5 Addon Template oder ähnliches.
Hat jemand sowas? Momentan schaffe ich es nicht mich erst noch in die Theorie der r5 Addon Entwicklung einzuarbeiten. Das würde das Ganze noch mehr verzögern und mein Zeitfenster für das projekt r4->r5 arg strapazieren.
Ich will in r5 lediglich meine Klasse mit den Datenübernahmefunktionen etablieren, damit ich dort testen kann ob r5 meine r4 exporte liest und natürlich speichert.

Danke
Gunter
read the manual first

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Import aus Redaxo 4.x möglich?

16. Feb 2016, 14:48

Hej Gunter,

es gibt ein Dummy

https://github.com/redaxo/redaxo_dummy


Deine Klassen kommen dann in den Ordner "lib" den du noch zuvor erstellen musst. Die Klassen selber brauchst du nicht einbinden, stehen automatisch zur Verfügung.

vg Thomas

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: Import aus Redaxo 4.x möglich?

17. Feb 2016, 00:32

gupi hat geschrieben:In r4 gibt es die Felder php und html. Diese gibt es so in der r5 Version nicht mehr. Laut GitHub "Aenderungen in REDAXO 5" werden die Inhalte in r5 als REX_VALUE(id=1 output=php) bzw. REX_VALUE(id=1 output=html) ausgegeben, wobei der letzte Fall ja wohl grundsätzlich für jedes VALUE Feld gilt.
In R4 konnte man auch schon die normalen Values (1..20) als HTML ausgeben oder als PHP interpretieren lassen mit REX_HTML_VALUE[x] bzw. REX_PHP_VALUE[x].

Die Entsprechung dafür in R5 ist REX_VALUE[id=x output=html] und REX_VALUE[id=x output=php].

Zusätzlich gab es in R4 noch jeweils ein einzelnes Feld für HTML, und eins für PHP: REX_HTML und REX_PHP.
Diese sind in R5 ersatzlos weggefallen.

Ein automatischer Import ist somit schwierig. Man müsste schauen, welche Values noch frei sind und somit nutzbar für diese Felder.

PS: Interessanterweise wurde in R4 für PHP üblicherweise das einzelne REX_PHP Feld verwendet, für HTML aber die Variante über die normalen Values. REX_HTML und REX_PHP_VALUE[x] wurden meinem Eindruck nach eher selten verwendet.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

19. Feb 2016, 21:03

Hey,
ich hänge mal wieder.

Mein bisher verfolgter Ansatz für den Ex- bzw. Import der Db-Tables ist das Erzeugen von csv Dateien. Diese werden dann in einem Zip-Archiv von r4 Server herunter geladen.
Nach dem Heraufladen auf den r5 Server sollen die csv Dateien dann in die Db importiert werden.

Soweit zur Theorie.

Die Praxis zeigt mir aber, dass bei den Modulen und Templates natürlich linefeeds vorkommen. Dies macht mir aber Probleme beim Einlesen der csv Daten. Die linefeeds innerhalb eines Db-Table-Feldes werden beim Umwandeln des cs-values als Zeilenende mis-gedeutet.

Wie ist das beispielsweise bei xform resp. yform gelöst? Da scheint der gleiche Lösungsansatz ja zu funktionieren.
Wo kann ich mir (welche Klasse/Funktion) die Umsetzung bei x/yform ansehen? Ich hab's nicht gefunden. :cry:

Danke und lg
Gunter
read the manual first

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Import aus Redaxo 4.x möglich?

19. Feb 2016, 22:33

Hej,
gupi hat geschrieben:Wie ist das beispielsweise bei xform resp. yform gelöst? Da scheint der gleiche Lösungsansatz ja zu funktionieren.
Wo kann ich mir (welche Klasse/Funktion) die Umsetzung bei x/yform ansehen? Ich hab's nicht gefunden.
https://github.com/yakamara/redaxo_yfor ... #L284-L334

vg Thomas

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

20. Feb 2016, 18:19

Hey,

nachdem ich Im- und Export (einigermaßen) zu Laufen gebracht habe, zeigt sich ein weiterer "todo" in meinem Addon Projekt auf:
In r4 gibt es in der rex_clang eine id mit dem Wert 0 für die deutsche Sprache.
Das ist bei r5 wohl konsequenterweise nicht mehr der Fall: hier hat die id den Wert 1.

Das muss beim Import der Kategorien/Artikel natürlich berücksichtigt werden. Ich hatte aus dem Feld clang lediglich clang_id gemacht ohne mich um den Inhalt zu kümmern. Deshalb wurden die Artikel, trotz erfolgreichem db Import, auch nicht in der Backend Struktur angezeigt. Mit myphpadmin waren die Records in rex_articles sichtbar - im backend aber nicht.

Ich hab's erst mal so gelöst, dass ich den Wert von clang_id auf clang+1 setze. Bei mehrsprachigen Seiten darf das natürlich nicht so simpel gelöst werden. Mal sehen wie ich das umsetzen werde. Dazu muss ich wohl auch die rex_clang im- und exportieren - natürlich mit den entsprechenden Anpassungen.

Dies nur mal so als "Lebenszeichen" und eine Erklärung (Ausrede) weshalb das Ganze so lange dauert. Hier ist noch viel zu tum - warten wir's ab. :D

lg
Gunter
read the manual first

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

22. Feb 2016, 15:29

Hey;

Ich bin einen deutlichen Schritt weitergekommen:

Das r4 Addon ist, bis auf die Aufräumarbeiten, einsatzbereit und steht auf GitHub:https://github.com/gupi/gp_analyzer
Das r5 Addon ist, wenn auch noch nicht mit dem vollen Leistungsspektrum, einsetzbar und steht auch auf GitHub:https://github.com/gupi/gp_importer

Sobald das Ganze etwas ausgereifter ist, werde ich auch myRedaxo aktualisieren. Vorher möchte ich aber noch meine converter Klasse fertigstellen und in das r5 addon einbinden. Damit werden dann auch die Module und Template Inhalte, soweit überhaupt möglich und sinnvoll, automatisch angepasst werden.

Zur Zeit habe ich zu Testen lediglich bei den Modulen die Aktualisierung von

Code: Alles auswählen

    $REX ["REDAXO"] = 'rex::isBackend()';
    $REX["SERVER"] = 'rex::getServer()';
    $REX ["ERROR_EMAIL"] = 'rex::getErrorEmail() ';
    $REX ["HTDOCS_PATH"] = 'rex_path::base()';
im r4 exporter implementiert.
Zudem wird dort auch in den Modulen VALUE[x] gegen REX_INPUT_VALUE[x] getauscht.

Schaut's euch mal an - Feedback erwünscht!

lg Gunter
read the manual first

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

Re: Import aus Redaxo 4.x möglich?

22. Feb 2016, 15:51

auch noch drandenken dass man

$REX["REDAXO"]
$REX['REDAXO']

schreiben kann etc ..
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

22. Feb 2016, 16:25

Hey Jan,

ist schon klar, deshalb habe ich mich ja auch entschlossen, das Konvertieren in einer eigenen Klasse zu erledigen. Die Konvertiererei ist durchaus komplex.
preg_replace_callback und Co. haben mich die ganze letzte Woche intensiv begleitet.
Bauchschmerzen macht mir viel mehr, dass nicht alles durch einen simplen replace zu erledigen ist. Die ganzen neuen rex::getProperty("key") Geschichten sind ja nicht wirklich sicher umsetzbar da ich keine Regel erkenne, wann diese zum Tragen kommen oder wann eine andere rex:: Klassenmethode zum Einsatz kommt. Deshalb soll die Klasse eine eigene, erweiterbare Mapping-Tabelle enthalten. Alle dort nicht vorhandenen Einträge würden dann z.B. via rex::getProperty("key") bedient.
Alleine der neue rex::getTablePrefix() hat, will man dies konsequent umsetzen, so seine Tücken:
aus $REX['TABLE_PREFIX'].'meineTabelle' sollte ja nun rex::getTablePrefix('meineTabelle') werden oder zumindest rex::getTablePrefix().'meineTabelle' .
Die Schreibweise im Quellcode kann hier ja fast beliebig variieren.

Ich versuche soviel wie möglich zu automatisieren - aber hier sind sichlich Grenzen des Machbaren.

Es bleibt spannend.
LG
Gunter
read the manual first

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Import aus Redaxo 4.x möglich?

22. Feb 2016, 16:49

Hej Gunter,

die 2 Varianten müssen korrekt so heißen:

Code: Alles auswählen

rex::getTable('meineTabelle')
rex::getTablePrefix() . 'meineTabelle'
Zumindest deine erste Variante ist verkehrt.

vg Thomas

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

22. Feb 2016, 18:13

Hej Thomas,
du hast natürlich recht, hier war nein copy/paste etwas zu nachlässig.
Aber mein "Gejammer" bezog sich auch viel mehr auf die ursprüngliche Quelle. Da sind ja auch einige Schreibweisen möglich und die schaffe ich nicht in eine Regel geschweige denn in php Code umzusetzen. Würde ich aber gerne, wenn man an seine Grenzen stößt ist das schon recht nervig.
So kann die Quelle aussehen:

Code: Alles auswählen

$pre = $REX['TABLE_PREFIX'];
...
$sql = "SELECT * FROM `".$pre."meineTabelle`...";
...
...
$sql = "SELECT * FROM `".$pre."meineAndereTabelle`...";
 
aber auch:

Code: Alles auswählen

$sql = "SELECT * FROM `".$REX['TABLE_PREFIX']."meineTabelle`...";
mit und ohne Leerzeichen, mit single- oder double-quotes.

lg
Gunter
read the manual first

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Import aus Redaxo 4.x möglich?

22. Feb 2016, 19:47

Hej Gunter,

mir würde es schon reichen, wenn dein Importer alle Queries findet und diese dann auflistet Wo/Welche Zeile.

Anpassungen können recht schnell schief gehen, vor allem wenn man alles berücksichtigen möchte.

Ich denke es ist allen bewusst, dass dein Importer ein "Helferlein" ist und kein "Redaxo4-To-Redaxo5-And-Run". Templates und Modulen müssen geprüft werden. AddOns ebenso.

vg Thomas

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

22. Feb 2016, 21:40

Hej Thomas,
Das Finden übernimmt, zumindest zur Zeit, nicht der r5-Importer sondern der r4-Exporter bzw. dessen Analyse Teil. Hier gebe ich zwar keine genaue "in file" Position wie Zeilennummer aus, aber sehr wohl, was in welchem Module resp. Template gefunden wird.
Dabei zeige ich die unterschiedlichen Blickwinkel:
Artikel -> Slice - Module - Findings
Artikel -> Template -> Findings
Template -> Findings
Module -> Findings

Für die gewünschte Zeilen-Granularität muss ich aber andes als bisher vorgehen. Momentan nutze ich preg_match_all zum Auffinden, das gibt mir zwar die findings aber nicht deren Position. Ich müsste also die Daten in ein Zeilenarray lesen und dann Zeile für Zeile prüfen. Ist sicher machbar und zuverlässiger als ein schwacher Konverter. Hier kann ja auch beides kombinieren. Danke für den Tip. :D

Wie ich aber die Verwendung der Addons in den Modulen und Templates identifizieren soll, weiß ich immer noch nicht. Eventuell hilft ja erstmal eine Liste der aktiven Addons.

Das bringt mich aber auch noch auf einen ganz anderen Aspekt - die addoneigenen Metadaten der Artikel, diese ignoriere ich derzeit. Irgend eine Idee?

@community : Meine Fragen richten sich an ALLE und dürfen auch von ALLEN beantwortet werden, auch wenn die letzten Beiträge in diesem Thread wie ein Privatgespräch aussehen mögen. :mrgreen:

lg
Gunter
read the manual first

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Import aus Redaxo 4.x möglich?

22. Feb 2016, 22:57

Hej Gunter,

wegen der Zeilennummer hilft dir ggf. Code aus dem Sherlock weiter
https://github.com/tbaddade/redaxo_sher ... s.php#L193

Hier suche ich z. Bspl. nach allen Extension Points innerhalb von REDAXO 4.

Wegen den Addons. In R5 wurde AddOns zusammengefasst, teilweise unter neuem Namen veröffentlicht.
Eine Liste der aktivierten Addons mit einem Pendant zu einem Redaxo5 Addon wäre sicherlich für viele schon einmal hilfreich.

Eventuell würde es schon reichen die ganzen Funktionsaufrufe in Templates, Module zu listen.

vg Thomas

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

23. Feb 2016, 12:06

Hej Thomas,
danke für den Tip
Thomas.Blum hat geschrieben:wegen der Zeilennummer hilft dir ggf. Code aus dem Sherlock weiter
https://github.com/tbaddade/redaxo_sher ... s.php#L193

Hier suche ich z. Bspl. nach allen Extension Points innerhalb von REDAXO 4.

Code: Alles auswählen

foreach ($matches as $match) {
                    list($before) = str_split($content, $match['name'][1]);
                    $line_number   = strlen($before) - strlen(str_replace("\n", '', $before)) + 1;
Die Idee ist genial. Leider funktioniert das unverändert aber nur, wenn jeder Fund nur einmal im Text vorkommt.
Ich muss also hier etwas anders vorgehen, sonst bleibt $bevor ja immer gleich, sobald meine Entsprechung von "$match['name'][1]" bereits in einem früheren Schleifendurchlauf gefunden wurde.
Aber der Weg sollte funktionieren, wenn ich jeden Fund durch einen dummy ersetze nachdem ich die Zeile ermittelt habe. preg_replace_callback() sollte mich (hoffentlich) hier weiterbringen.

Es bleibt spannend.
lg
Gunter
read the manual first

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: Import aus Redaxo 4.x möglich?

23. Feb 2016, 12:10

Es gibt bei preg_match_all auch ein Flag, um die Position der Treffer zu bekommen. Damit hat man zwar noch nicht direkt die Zeile, aber vielleicht hilft es.
PREG_OFFSET_CAPTURE
http://php.net/manual/de/function.preg-match-all.php

Edit: Sehe gerade, dass Thomas das ja auch verwendet. Hatte vorher seinen Link nicht geöffnet.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

23. Feb 2016, 13:05

Hej Gregor,
danke, das ist schon der richtige Hinweis der mich hier weiterbringt.
Gregor.Harlan hat geschrieben:Edit: Sehe gerade, dass Thomas das ja auch verwendet. Hatte vorher seinen Link nicht geöffnet.
Richtig, aber er nutzt den Offset an dieser Stelle gar nicht.

lg
Gunter
read the manual first

gupi
Beiträge: 286
Registriert: 20. Nov 2008, 13:49
Wohnort: Elsdorf/Rheinland

Re: Import aus Redaxo 4.x möglich?

4. Mär 2016, 17:56

Hallo,
nach einer längeren Pause, habe ich gerade auf Git https://github.com/gupi/gp_analyzer eine überarbeitete Version des Analysetools im r4 addon veröffentlicht.
Neben der Zeilennumern-Ausgabe in der Analyse habe ich das Zusammenspiel von rex_clang und rex_article r5 tauglich gemacht und die eingesetzten bzw. aktivierten Addons angezeigt.

Damit sollten schon mal alle Informationen für einen erfolgreichen r4 nach r5 transfer einer Redaxo Seite bereitstehen.
Nach den Import in r5 liefert dies die wichtigsten Informationen für die sicherlich nach wie vor nötige manuelle Nachbearbeitung.

Viel Spaß damit
Gunter
read the manual first

Zurück zu „Allgemeines [R5]“