/** * @return mixed */ public function build() { $mime = $this->object->getContentType(); if (isset($this->elementMap[$mime])) { $elementClass = $this->elementMap[$mime]; } elseif (false !== ($element = $this->searchWildcards($mime))) { $elementClass = $element; } else { $elementClass = self::DEFAULT_ELEMENT_CLASS; } $elementClass = __NAMESPACE__ . '\\HtmlElement\\' . $elementClass; return $elementClass::factory($this->renderer, $this->object, $this->urlType, $this->attributes); }
/** * {@inheritdoc} */ protected function normalizeObject(DataObject $object) { $name = $object->getName(); $name = $this->removePathPrefix($name); $mimetype = explode('; ', $object->getContentType()); return ['type' => in_array('application/directory', $mimetype) ? 'dir' : 'file', 'dirname' => Util::dirname($name), 'path' => $name, 'timestamp' => strtotime($object->getLastModified()), 'mimetype' => reset($mimetype), 'size' => $object->getContentLength()]; }
/** * Normalize a DataObject * * @param DataObject $object * @return array file metadata */ protected function normalizeObject(DataObject $object) { $name = $object->getName(); if ($this->prefix) { $name = substr($name, strlen($this->prefix)); } $mimetype = explode('; ', $object->getContentType()); return array('type' => 'file', 'dirname' => Util::dirname($name), 'path' => $name, 'timestamp' => strtotime($object->getLastModified()), 'mimetype' => reset($mimetype), 'size' => $object->getContentLength()); }
/** * @param DataObject $object * @param bool $includeContent * * @return File */ private function generateFileFromDataObject(DataObject $object, $includeContent = true) { $file = new File(); if ($includeContent) { $file->content = $object->getContent(); } $file->mime = $object->getContentType(); $chunks = explode('/', $object->getName()); $file->name = array_pop($chunks); $file->size = $object->getContentLength(); return $file; }