/**
  * 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;
 }
예제 #3
0
<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