/** * Executes the widget. */ public function run() { if ($this->item->href != '') { $this->render('libraryLink', array('item' => $this->item, 'category' => $this->category, 'editable' => $this->editable)); } else { $files = File::getFilesOfObject($this->item); $file = array_pop($files); // If there is no file attached, deliver a dummy object. That's better than completely breaking the rendering. if (!is_object($file)) { $file = new File(); } $mime = HHtml::getMimeIconClassByExtension($file->getExtension()); $this->render('libraryDocument', array('file' => $file, 'mime' => $mime, 'item' => $this->item, 'category' => $this->category, 'editable' => $this->editable)); } }
/** * 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 = []; $file = new PublicFile(); $file->setUploadedFile($cFile); if ($object != null) { $file->object_id = $object->getPrimaryKey(); $file->object_model = get_class($object); } 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'] = HHtml::getMimeIconClassByExtension($file->getExtension()); } else { $output['error'] = true; $output['errors'] = $file->getErrors(); } $output['name'] = $file->file_name; $output['size'] = $file->size; $output['deleteUrl'] = ""; $output['deleteType'] = ""; $output['url'] = ""; $output['thumbnailUrl'] = ""; return $output; }
<br><br> </div> <br><br> <hr> <?php if (count($files) != 0) { ?> <ul class="files" style="list-style: none; margin: 0;" id="files-<?php echo $document->getPrimaryKey(); ?> "> <?php foreach ($files as $file) { ?> <li class="mime <?php echo HHtml::getMimeIconClassByExtension($file->getExtension()); ?> "> <a href="<?php echo $file->getUrl(); ?> " target="_blank"><?php echo Helpers::trimText($file->file_name, 40); ?> <span class="tome"> - <?php echo Yii::app()->format->formatSize($file->size); ?> </span></a> </li> <?php