virtUOS / courseware

Interaktive multimediale Lernmodule erstellen und bereitstellen
GNU General Public License v2.0
6 stars 5 forks source link

Galerie: Reihenfolge der Bilder #201

Closed elorie closed 4 years ago

elorie commented 4 years ago

Aktuell scheint der Galerie-Block die Bilder rückwärts anzuzeigen und startet mit dem letzten Bild im Ordner. Eine Sortierfunktion, oder zumindest die Anzeigereihenfolge per default alphabetisch nach Dateinamen im Ordner würde sehr helfen die logische Struktur innerhalb einer Galerie zu gewährleisten.

rlucke commented 4 years ago
private function showFiles($folder_id)
    {
        $filesarray = array();
        if (!in_array(\Folder::find($this->gallery_folder_id)->folder_type, array('StandardFolder','CoursePublicFolder', 'MaterialFolder', 'PublicFolder'), true)) {
            return $filesarray;
        }
        $response = \FileRef::findBySQL('folder_id = ?', array($folder_id));
        foreach ($response as $item) {
            if (!$item->terms_of_use->fileIsDownloadable($item, false)) {
                continue;
            }
            if ($item->isImage() && $item->mime_type != 'image/svg+xml') {
                $filesarray[] = array(
                    "id"    => $item->id,
                    "name"  => $item->name,
                    "url"   => $item->getDownloadURL()
                );
            }
        }
        usort($filesarray, function($a, $b) {
            return strcmp($a['name'], $b['name']);
        });

        return $filesarray;
    }

Wie man sehen kann werden die Dateien nach ihren Namen sortiert!