/** * Returns the files of this entity. * * If no group is passed, this method will returns all files grouped by file groups. * * @return \MapasCulturais\Entities\File[] The array of files. */ function getFiles($group = null) { $app = App::i(); if ($this instanceof File) { $files = $this->getChildren(); $result = []; foreach ($files as $file) { $result[substr($file->group, 4)] = $file; } } else { $result = \MapasCulturais\Entities\File::sortFilesByGroup($this->__files); } if ($group) { $registeredGroup = $app->getRegisteredFileGroup($this->controllerId, $group); if ($registeredGroup && $registeredGroup->unique) { $result = isset($result[$group]) ? $result[$group] : null; } else { $result = isset($result[$group]) ? $result[$group] : []; } } return $result; }