/** * Processes * @param $files * @return Collection */ public function process($files) { $result = new Collection(); foreach ($this->handlers as $selector => $handler) { /* @var $handler Handler */ $selectedFiles = Arr::getBySelector($files, $selector); if (!$selectedFiles || !is_array($selectedFiles) || empty($selectedFiles)) { continue; } foreach ($selectedFiles as $path => $file) { if (is_array($file)) { $result[$path] = $handler->process($file); } } } return $result; }
/** * Processes a file upload and returns an upload result file/collection * * @param array $files * @return Result\Collection|Result\File */ public function process($files = array()) { $isSingle = isset($files['name']) && !is_array($files['name']); $files = Arr::normalizeFiles($files); foreach ($files as $k => $file) { $files[$k] = $this->processSingleFile($file); } if ($isSingle) { return new Result\File($files[0], $this->container); } return new Result\Collection($files, $this->container); }