#1926 closed Neues Feature (wontfix)
Datei-Name in /admin/module_export.php variabel machen
| Reported by: | noRiddle | Owned by: | somebody |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Admin | Version: | 2.0.5.1 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
In /admin/module_export.php wird der Dateiname für Exporte hard-definiert nach dem was im Modul bei configuration[MODULE_BLABLA_FILE] bestimmt wird.
Zeile 109 in genannter Datei
if (@strpos($key,'FILE') !== false) $file = $value;
Ich schlage vor den Dateinamen variabel zu machen. Entweder indem man dem bestimmten Dateinamen das aktuelle Datum mit Uhrzeit hinzufügt (DATEINAME_2020-12-06_16-00.csv)
oder indem man bestimmte Variablen wie z.B. {$date}, {$date_time} zulässt und sie im Skript auflöst.
So kann man leichter generierte Exporte identifizieren, bzw. verhindert, daß Dateien überschrieben werden weil ihre Namen immer gleich lauten.
Gruß,
noRiddle
Attachments (0)
Change History (4)
comment:1 by , 5 years ago
comment:2 by , 5 years ago
Ja, kann man über das Modul selbst steuern, ist aber aufwändiger bei häufig verwendeten Exporten jedesmal den Dateinamen zu ändern.
Wenn man jedoch meinen zweiten Vorschlag implementieren würde, also Benutzung von Variablen erlauben, wäre das Ganze flexibler. Wer die Vars dann nicht benutzt kann weiterhin immer denselben Dateinamen verwenden.
Ich hielt den Vorschlag für würdig in ein Ticket einzufließen weil er die Export-Funktion flexibler machen würde und weil er sehr leicht und schnell umzusetzen wäre.
In der /admin/module_export.php z.B. anstatt
if (@strpos($key,'FILE') !== false) $file = $value;
das
if (@strpos($key,'FILE') !== false) $file = str_replace(array('{$date}', '{$date_time}'), array(date('d-m-Y'), date('d-m-Y_H-i-s')), $value);
und fertig.
In den Export-Modulen muß man eigtl. nichts an den Sprach-Konstanten zur Erklärung ändern, die sind ja ohnehin fast alle veraltet.
Gruß,
noRiddle
comment:3 by , 5 years ago
| Resolution: | → wontfix |
|---|---|
| Status: | new → closed |
Das kannst du doch im Exportmodul selber genau so lösen !
Diese 1 Zeile Code ist doch wirklich nicht aufwendig...
function process($file){
$file = str_replace(array('{$date}', '{$date_time}'), array(date('d-m-Y'), date('d-m-Y_H-i-s')), $file);
....
comment:4 by , 5 years ago
Äh, hab' ich nicht dran gedacht das so direkt im Modul zu machen. Fuktioniert erstaunlicherweise sogar ohne $file als Referenz zu übergeben, was mich sehr wundert...
Danke.
Gruß,
noRiddle

Für die allermeisten Export-Module ist es doch sinnvoll, dass die generierten Export immer über die selbe URL abgerufen werden können. Für die Export, die du individualisieren willst kannst du das doch über das Export-Modul selber steuern!?