first commit
This commit is contained in:
@@ -0,0 +1,139 @@
|
||||
<?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 WFMediaPlayerExtension extends WFExtension
|
||||
{
|
||||
protected static $instance;
|
||||
|
||||
public function __construct($config = array())
|
||||
{
|
||||
$default = array(
|
||||
'name' => '',
|
||||
'title' => '',
|
||||
'params' => array(),
|
||||
);
|
||||
|
||||
$config = array_merge($default, $config);
|
||||
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a reference to a manager object.
|
||||
*
|
||||
* This method must be invoked as:
|
||||
* <pre> $manager =MediaManager::getInstance();</pre>
|
||||
*
|
||||
* @return MediaManager The manager object
|
||||
*
|
||||
* @since 1.5
|
||||
*/
|
||||
public static function getInstance($name = 'jceplayer')
|
||||
{
|
||||
if (!isset(self::$instance)) {
|
||||
$classname = '';
|
||||
|
||||
if ($name && $name != 'none') {
|
||||
$player = parent::loadExtensions('mediaplayer', $name);
|
||||
|
||||
if ($player) {
|
||||
$classname = 'WFMediaPlayerExtension_'.ucfirst($player->name);
|
||||
}
|
||||
}
|
||||
|
||||
if ($classname && class_exists($classname)) {
|
||||
self::$instance = new $classname();
|
||||
} else {
|
||||
self::$instance = new self();
|
||||
}
|
||||
}
|
||||
|
||||
return self::$instance;
|
||||
}
|
||||
|
||||
public function display()
|
||||
{
|
||||
parent::display();
|
||||
|
||||
$document = WFDocument::getInstance();
|
||||
|
||||
if ($this->isEnabled() && $this->get('name')) {
|
||||
$document->addScript(array(
|
||||
'mediaplayer/'.$this->get('name').'/js/'.$this->get('name'),
|
||||
), 'extensions');
|
||||
|
||||
$document->addStyleSheet(array(
|
||||
'mediaplayer/'.$this->get('name').'/css/'.$this->get('name'),
|
||||
), 'extensions');
|
||||
|
||||
$document->addScriptDeclaration('WFExtensions.MediaPlayer.init('.json_encode($this->getProperties()).')');
|
||||
}
|
||||
}
|
||||
|
||||
public function isEnabled()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return $this->get('name');
|
||||
}
|
||||
|
||||
public function getTitle()
|
||||
{
|
||||
return $this->get('title');
|
||||
}
|
||||
|
||||
public function getParams()
|
||||
{
|
||||
return $this->params;
|
||||
}
|
||||
|
||||
public function getParam($param, $default = '')
|
||||
{
|
||||
$params = $this->getParams();
|
||||
|
||||
return isset($params[$param]) ? $params[$param] : $default;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param object $player
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function loadTemplate($tpl = '')
|
||||
{
|
||||
$output = '';
|
||||
|
||||
if ($this->isEnabled()) {
|
||||
$path = WF_EDITOR_EXTENSIONS.'/mediaplayer/'.$this->get('name');
|
||||
|
||||
$file = 'default.php';
|
||||
|
||||
if ($tpl) {
|
||||
$file = 'default_'.$tpl.'.php';
|
||||
}
|
||||
|
||||
if (file_exists($path.'/tmpl/'.$file)) {
|
||||
ob_start();
|
||||
|
||||
include $path.'/tmpl/'.$file;
|
||||
|
||||
$output .= ob_get_contents();
|
||||
ob_end_clean();
|
||||
}
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user