Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Umstellung auf "YForm ohne Plugins" #176

Open
christophboecker opened this issue Mar 10, 2025 · 2 comments
Open

Umstellung auf "YForm ohne Plugins" #176

christophboecker opened this issue Mar 10, 2025 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@christophboecker
Copy link
Member

christophboecker commented Mar 10, 2025

Bisher habe ich nur vier Stellen mit Anpassungsbedarf gefunden:

pages/yform.php

...
include rex_path::plugin('yform', 'manager', 'pages/data_edit.php');
...

Die Zeile muss geändet werden in

...
include rex_path::addon('yform','pages/manager.data_edit.php');
...

package.yml

version: 2.5.0             => Wegen Inkomtatibilität/BC auf 3.0 ändern
requires:
    php:
        version: '^8'      => auf die von YForm dem geforderten Redaxo benötigte Version, mind. aber 8.1 ändern
    redaxo: '^5.14.0'      => auf die von YForm benötigte Version, mind. aber 5.14 anpassen
    packages:
        cronjob: '^2.8.0'  => entsprechend der Redaxo-Version, min. 2.8 anpassen
        yform: '^4.0.0'    => auf die YForm-Version anpassen

lib/Layer.php

geolocation/lib/Layer.php

Lines 394 to 412 in ab6f578

/**
* bis YForm 4.0.4 waren die Action-Buttons einfach HTML-Strings.
* Post-4.0.4. sind es Arrays, die in einem List-Fragment verwertet werden.
* Hier die beiden Fälle unterscheiden.
* Note:
* Stand 07.03.2023 gibt es nur das GH-Repo und keine neue Versionsnummer.
* Daher auf das neue Fragment als Unterscheidungsmerkmal setzen.
*/
if (is_file(rex_path::plugin('yform', 'manager', 'fragments/yform/manager/page/list.php'))) {
$buttons['geolocationClearCache'] = [
'url' => $href,
'content' => $label,
'attributes' => [
'onclick' => 'return confirm(\'' . $confirm . '\')',
],
];
} else {
$buttons['geolocationClearCache'] = '<a onclick="return confirm(\'' . $confirm . '\')" href="' . $href . '">' . $label . '</a>';
}

Da eh ein BC vorliegt kann die Fallunterscheifung wegfallen und damit auch der Aufruf von rex_path::plugin

lib/Mapset.php

geolocation/lib/Mapset.php

Lines 315 to 333 in ab6f578

/**
* bis YForm 4.0.4 waren die Action-Buttons einfach HTML-Strings.
* Post-4.0.4. sind es Arrays, die in einem List-Fragment verwertet werden.
* Hier die beiden Fälle unterscheiden.
* Note:
* Stand 07.03.2023 gibt es nur das GH-Repo und keine neue Versionsnummer.
* Daher auf das neue Fragment als Unterscheidungsmerkmal setzen.
*/
if (is_file(rex_path::plugin('yform', 'manager', 'fragments/yform/manager/page/list.php'))) {
$buttons['geolocationClearCache'] = [
'url' => $href,
'content' => $label,
'attributes' => [
'onclick' => 'return confirm(\'' . $confirm . '\')',
],
];
} else {
$buttons['geolocationClearCache'] = '<a onclick="return confirm(\'' . $confirm . '\')" href="' . $href . '">' . $label . '</a>';
}

Da eh ein BC vorliegt kann die Fallunterscheifung wegfallen und damit auch der Aufruf von rex_path::plugin

@christophboecker christophboecker added the enhancement New feature or request label Mar 10, 2025
@christophboecker christophboecker self-assigned this Mar 10, 2025
@christophboecker
Copy link
Member Author

Man könnte das Thema mit Fallunterscheidungen angehen und jeweils Code für YForm "Classic" und YForm-ohne-Plugins einbauen. Bin ich kein großer Freund von. Lieber den Code aufräumen. Das ergäbe am Ende drei Versionstränge:

  • 2.x => für Yform "Classic"
  • 3.x => für YForm ohne Plugins
  • 4.x => für YForm mit Namespace

Das muss aber der Chef-Maintainer / Produkt-Manager @skerbis entscheiden :-)

@skerbis
Copy link
Member

skerbis commented Mar 10, 2025

abwarten und schauen welches YForm denn kommt. Und ab da dieses AddOn nur noch dafür anbieten.
Pflege separater Versionen würde ich vermeiden.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants