| Current Path : /home/zieirix/www/components/com_jce/editor/tiny_mce/plugins/imgmanager/ |
| Current File : /home/zieirix/www/components/com_jce/editor/tiny_mce/plugins/imgmanager/imgmanager.php |
<?php
/**
* @copyright Copyright (c) 2009-2021 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 WFImgManagerPlugin extends WFMediaManager
{
public $_filetypes = 'jpg,jpeg,png,apng,gif,webp,avif';
protected $name = 'imgmanager';
public function __construct($config = array())
{
$config['colorpicker'] = true;
parent::__construct($config);
$this->addFileBrowserEvent('onUpload', array($this, 'onUpload'));
}
/**
* Display the plugin.
*/
public function display()
{
parent::display();
$document = WFDocument::getInstance();
// create new tabs instance
$tabs = WFTabs::getInstance(array(
'base_path' => WF_EDITOR_PLUGINS . '/imgmanager',
));
// Add tabs
$tabs->addTab('image', 1, array('plugin' => $this));
if ($this->allowEvents()) {
$tabs->addTab('rollover', $this->getParam('tabs_rollover', 1));
}
$tabs->addTab('advanced', $this->getParam('tabs_advanced', 1));
$document->addScript(array('imgmanager'), 'plugins');
$document->addStyleSheet(array('imgmanager'), 'plugins');
$document->addScriptDeclaration('ImageManagerDialog.settings=' . json_encode($this->getSettings()) . ';');
}
public function getDefaultAttributes()
{
$attribs = parent::getDefaultAttributes();
unset($attribs['always_include_dimensions']);
return $attribs;
}
public function onUpload($file, $relative = '')
{
$app = JFactory::getApplication();
// inline upload
if ($app->input->getInt('inline', 0) === 1) {
$result = array(
'file' => $relative,
'name' => WFUtility::mb_basename($relative),
);
if ($this->getParam('always_include_dimensions', 1)) {
$dim = @getimagesize($file);
if ($dim) {
$result['width'] = $dim[0];
$result['height'] = $dim[1];
}
}
$result = array_merge($result, array('attributes' => $this->getDefaultAttributes()));
return $result;
}
return array();
}
public function getSettings($settings = array())
{
$settings = array(
'attributes' => array(
'dimensions' => $this->getParam('attributes_dimensions', 1),
'align' => $this->getParam('attributes_align', 1),
'margin' => $this->getParam('attributes_margin', 1),
'border' => $this->getParam('attributes_border', 1),
),
'always_include_dimensions' => (bool) $this->getParam('always_include_dimensions', 1)
);
return parent::getSettings($settings);
}
}