92 lines
2.7 KiB
PHP
92 lines
2.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @copyright Copyright (c) 2009-2022 Ryan Demmer. All rights reserved
|
|
* @license GNU/GPL 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|
* JCE is free software. This version may have been modified pursuant
|
|
* to the GNU General Public License, and as distributed it includes or
|
|
* is derivative of works licensed under the GNU General Public License or
|
|
* other free or open source software licenses
|
|
*/
|
|
defined('JPATH_PLATFORM') or die;
|
|
|
|
class WFAggregatorExtension_Youtube extends WFAggregatorExtension
|
|
{
|
|
/**
|
|
* Constructor activating the default information of the class.
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct(array(
|
|
'format' => 'video',
|
|
));
|
|
}
|
|
|
|
public function display()
|
|
{
|
|
$document = WFDocument::getInstance();
|
|
$document->addScript('youtube', 'extensions/aggregator/youtube/js');
|
|
}
|
|
|
|
public function isEnabled()
|
|
{
|
|
$plugin = WFEditorPlugin::getInstance();
|
|
|
|
return $plugin->checkAccess('aggregator.youtube.enable', 1);
|
|
}
|
|
|
|
public function getParams()
|
|
{
|
|
$plugin = WFEditorPlugin::getInstance();
|
|
|
|
return array(
|
|
'width' => $plugin->getParam('aggregator.youtube.width', 560),
|
|
'height' => $plugin->getParam('aggregator.youtube.height', 315),
|
|
|
|
'controls' => (int) $plugin->getParam('aggregator.youtube.controls', 1),
|
|
'loop' => (int) $plugin->getParam('aggregator.youtube.loop', 0),
|
|
'autoplay' => (int) $plugin->getParam('aggregator.youtube.autoplay', 0),
|
|
'rel' => (int) $plugin->getParam('aggregator.youtube.related', 1),
|
|
'modestbranding' => (int) $plugin->getParam('aggregator.youtube.modestbranding', 0),
|
|
'privacy' => (int) $plugin->getParam('aggregator.youtube.privacy', 0),
|
|
);
|
|
}
|
|
|
|
public function getEmbedData($data)
|
|
{
|
|
$params = $this->getParams();
|
|
|
|
$default = array(
|
|
'width' => 560,
|
|
'height' => 315,
|
|
'controls' => 1,
|
|
'loop' => 0,
|
|
'autoplay' => 0,
|
|
'rel' => 1,
|
|
'modestbranding' => 0,
|
|
'privacy' => 0
|
|
);
|
|
|
|
$options = array();
|
|
|
|
foreach($params as $name => $value) {
|
|
if (isset($default[$name]) && $value === $default[$name]) {
|
|
continue;
|
|
}
|
|
|
|
if ($name === 'width' || $name == 'height') {
|
|
$data[$name] = $value;
|
|
continue;
|
|
}
|
|
|
|
$options[$name] = $value;
|
|
}
|
|
|
|
if (!empty($options)) {
|
|
$data['query'] = http_build_query($options);
|
|
}
|
|
|
|
return $data;
|
|
}
|
|
}
|