You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1020 B
34 lines
1020 B
<?php |
|
/** |
|
* Created by Error202 |
|
* Date: 06.07.2018 |
|
*/ |
|
|
|
namespace core\widgets; |
|
|
|
use yii\base\Widget; |
|
use core\helpers\VideoHelper; |
|
|
|
class VideoWidget extends Widget |
|
{ |
|
public string $src; |
|
|
|
public int $width = 640; |
|
public int $height = 360; |
|
public string $style = "width: 100%"; |
|
|
|
public function run() { |
|
$player = ''; |
|
switch (VideoHelper::identityProvider($this->src)) { |
|
case 'youtube': |
|
$id = VideoHelper::parseYoutubeUrl($this->src); |
|
$player = '<iframe style="'.$this->style.'" width="'.$this->width.'" height="'.$this->height.'" src="https://www.youtube.com/embed/'.$id.'" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>'; |
|
break; |
|
case 'vimeo': |
|
$id = VideoHelper::parseVimeoUrl($this->src); |
|
$player = '<iframe style="'.$this->style.'" src="https://player.vimeo.com/video/'.$id.'" width="'.$this->width.'" height="'.$this->height.'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>'; |
|
break; |
|
} |
|
return $player; |
|
} |
|
}
|
|
|