%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/widgets/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/widgets/JPlayerPlaylistWidget.php |
<?php /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ namespace humhub\widgets; use humhub\assets\JplayerAsset; use humhub\assets\JplayerModuleAsset; use yii\helpers\Html; use humhub\libs\Helpers; use humhub\modules\file\libs\FileHelper; /** * Description of JPlayerWidget * * @author buddha */ class JPlayerPlaylistWidget extends JsWidget { /** * Contains the playlist. * @var \humhub\modules\file\models\File[] */ public $playlist = []; /** * @inheritdoc */ public $jsWidget = "media.Jplayer"; /** * @inheritdoc */ public function run() { if(empty($this->playlist)) { return; } $this->init = $this->getJsonPlaylist(); $asset = JplayerModuleAsset::register($this->getView()); $options = $this->getOptions(); $options['data-swf-path'] = $asset->baseUrl.'/jplayer'; return $this->render('jPlayerAudio', [ 'containerId' => $this->getContainerId(), 'options' => $options ]); } public function getJsonPlaylist() { $result = []; foreach($this->playlist as $track) { $result[] = [ 'title' => Html::encode(Helpers::trimText($track->file_name, 50)), FileHelper::getExtension($track->file_name) => $track->getUrl() ]; } return $result; } public function getData() { return [ 'container-id' => '#'.$this->getContainerId() ]; } public function getAttributes() { return [ 'class' => 'jp-jplayer' ]; } public function getContainerId() { return $this->getId(true).'-container'; } }