%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/file/widgets/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/file/widgets/FileDownload.php |
<?php
/**
* @link https://www.humhub.org/
* @copyright Copyright (c) 2017 HumHub GmbH & Co. KG
* @license https://www.humhub.com/licences
*
*/
namespace humhub\modules\file\widgets;
use humhub\libs\MimeHelper;
use humhub\modules\file\models\File;
use humhub\widgets\Button;
use Yii;
use yii\helpers\Html;
use yii\helpers\Url;
class FileDownload extends Button
{
public function file(File $file, $withIcon = true, $showSize = true, $download = false, $scheme = false)
{
if($withIcon) {
$mimeIconClass = MimeHelper::getMimeIconClassByExtension($file);
$this->icon(Html::tag('i', '', ['class' => 'mime '.$mimeIconClass, 'style' => 'width:10px;height:10px;']), false, true);
}
if($showSize) {
$this->text .= static::getFileSizeString($file);
}
$this->link(static::getUrl($file, $download, $scheme));
$this->options(static::getFileDataAttributes($file));
return $this;
}
public static function getFileSizeString(File $file)
{
return ' <small>('.Yii::$app->formatter->asShortSize($file->size, 1).')</small>';
}
public static function getFileDataAttributes(File $file)
{
return [
'data-pjax-prevent' => true,
'data-file-download' => true,
'data-file-url' => $file->getUrl(['download' => true], true),
'data-file-name' => $file->file_name,
'data-file-mime' => $file->mime_type,
];
}
public static function getUrl(File $file, $download, $scheme)
{
return $file->getUrl(['download' => $download], $scheme);
}
}