kleiner Fehler in CMS_FILELIST (?)

Alle bestätigten Fehler in CONTENIDO 4.9 (erledigte Fehler werden durch geschlossene Beiträge gekennzeichnet).
Antworten
MyWorker
Beiträge: 4
Registriert: Fr 15. Nov 2013, 11:28
Kontaktdaten:

kleiner Fehler in CMS_FILELIST (?)

Beitrag von MyWorker » Di 6. Dez 2016, 15:08

Hallo,
ich glaube in der Datei: "class.content.type.filelist.php" von Contenido 4.9.12 ist ein kleine "Denkfehler" passiert.
Dies sind die Zeilen 419 bis 447 der Datei.

Code: Alles auswählen

                   if ($this->_applyDateFilters($fileStats)) {
                        $creationDate = $fileStats['ctime'];
                        $modifyDate = $fileStats['mtime'];
                        // conditional stuff is completed, start sorting
                        switch ($this->_settings['filelist_sort']) {
                            case 'filesize':
                                $indexName = $filesize;
                                break;
                            case 'createdate':
                                $indexName = $creationDate;
                                break;
                            case 'modifydate':
                                $indexName = $modifyDate;
                                break;
                            case 'filename':
                            default:
                                $indexName = strtolower($directoryName . $filename);
                        }

                        $files[$indexName] = array();
                        $files[$indexName]['filename'] = $filename;
                        $files[$indexName]['path'] = $directoryName;
                        $files[$indexName]['extension'] = $extensionName;
                        $files[$indexName]['filesize'] = $filesize;
                        $files[$indexName]['filemodifydate'] = $modifyDate;
                        $files[$indexName]['filecreationdate'] = $creationDate;
                    }
                }
            }
Wenn z.B. nach "creationDate" sortiert wird und zwei ausgewählte Dateien genau zur selben Zeit (selbe Sekunde) erzeugt wurden, wird der erste Eintrag in $files durch den zweiten ersetzt (selber $indexName). Das gleiche Problem wird wohl auch bei "fileSize" auftreten, wenn zwei Dateien die selbe Größe haben.
Ist ein "netter" Fehler. Hat ne Weile gedauert ihn zu finden.

Lg Udo

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: kleiner Fehler in CMS_FILELIST (?)

Beitrag von frederic.schneider_4fb » Do 22. Dez 2016, 11:06

Lieber Udo,

hier die Fehlerbehebung:
https://git.contenido.org/projects/CON/ ... 5698406d3e
Frederic Schneider
Entwickler bei der four for business AG

dermicha
Beiträge: 95
Registriert: Mi 9. Dez 2009, 17:57
Kontaktdaten:

Re: kleiner Fehler in CMS_FILELIST (?)

Beitrag von dermicha » Do 16. Feb 2017, 16:19

Hallo zusammen,

wäre es nicht sinnvoller, statt des Zufallswerts einfach grundsätzlich (an alle anderen Sortierkriterien)

Code: Alles auswählen

strtolower($directoryName . $filename);
anzuhängen? Dann wären Dateien mit gleichen Werten automatisch nach Dateinamen und nicht beliebig sortiert und man könnte nebenbei auch auf die if-Abfragen verzichten...

Viele Grüße
Michael

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: kleiner Fehler in CMS_FILELIST (?)

Beitrag von frederic.schneider_4fb » Do 16. Feb 2017, 16:51

Das würde nicht jene - wenn auch in der Praxis eher unwahrscheinliche, aber eben nicht gänzlich auszuschließende, und gerade solche Fälle haben wir immer mal - Fälle berücksichtigen, wo Parameter, Ordner und Name dieselben sind. In der Tat war das aber, das möchte ich dazu sagen, keine perfekte Umsetzung was den Codeaufwand anbelangt. Ich hatte mit einem Kollegen mehrere Minuten diskutiert, wie wir am besten vorgehen. Falls jemand noch einen besseren Vorschlag hat, bin ich aber nach wie vor offen. Das einfach anzuhängen halte ich aber, wie eingangs erwähnt, für ebenso wenig "perfekt"
Frederic Schneider
Entwickler bei der four for business AG

dermicha
Beiträge: 95
Registriert: Mi 9. Dez 2009, 17:57
Kontaktdaten:

Re: kleiner Fehler in CMS_FILELIST (?)

Beitrag von dermicha » Do 16. Feb 2017, 16:56

Das würde dann aber bei der standardmäßigen Sortierung nach filename noch eher passieren (und auch dort müsste es eine Zufallsfunktion geben).

Aber gibt es identische Dateinamen im gleichen Verzeichnis überhaupt? :shock: Aufgrund des strtolower eventuell noch mit Unterschieden in der Groß-/Kleinschreibung...

Was die Sortierung anbelangt wäre auch ein zusätzliches standardmäßiges Anhängen auf jeden Fall ein Fortschritt.

Antworten