/** * Handles a single upload by given CUploadedFile and returns an array * of informations. * * The 'error' attribute of the array, indicates there was an error. * * Informations on error: * - error: true * - errorMessage: some message * - name: name of the file * - size: file size * * Informations on success: * - error: false * - name: name of the uploaded file * - size: file size * - guid: of the file * - url: url to the file * - thumbnailUrl: url to the thumbnail if exists * * @param type $cFile * @return Array Informations about the uploaded file */ protected function handleFileUpload($cFile, $object = null) { $output = array(); $file = new File(); $file->setUploadedFile($cFile); if ($object != null) { $file->object_id = $object->getPrimaryKey(); $file->object_model = $object->className(); } if ($file->validate() && $file->save()) { $output['error'] = false; $output['guid'] = $file->guid; $output['name'] = $file->file_name; $output['title'] = $file->title; $output['size'] = $file->size; $output['mimeIcon'] = \humhub\libs\MimeHelper::getMimeIconClassByExtension($file->getExtension()); $output['mimeBaseType'] = $file->getMimeBaseType(); $output['mimeSubType'] = $file->getMimeSubType(); $output['url'] = $file->getUrl("", false); $output['thumbnailUrl'] = $file->getPreviewImageUrl(200, 200); } else { $output['error'] = true; $output['errors'] = $file->getErrors(); } $output['name'] = $file->file_name; $output['size'] = $file->size; $output['deleteUrl'] = ""; $output['deleteType'] = ""; $output['thumbnailUrl'] = ""; return $output; }