/
home
/
assocoweys
/
avexp
/
components
/
com_jce
/
editor
/
tiny_mce
/
plugins
/
imgmanager
/
classes
/
Upload File
HOME
<?php /** * @copyright Copyright (c) 2009-2017 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('_JEXEC') or die('RESTRICTED'); // Load class dependencies wfimport('editor.libraries.classes.manager'); class WFImageManagerPlugin extends WFMediaManager { public $_filetypes = 'jpg,jpeg,png,gif'; 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)); $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 onUpload($file, $relative = '') { // inline upload if (JRequest::getInt('inline', 0) === 1) { $result = array( 'file' => $relative, 'name' => basename($relative), ); if ($this->getParam('always_include_dimensions', 1)) { $dim = @getimagesize($file); if ($dim) { $result['width'] = $dim[0]; $result['height'] = $dim[1]; } } $defaults = $this->getDefaults(); unset($defaults['always_include_dimensions']); $styles = array(); foreach ($defaults as $k => $v) { switch ($k) { case 'align': // convert to float if ($v == 'left' || $v == 'right') { $k = 'float'; } else { $k = 'vertical-align'; } // check for value and exclude border state parameter if ($v != '') { $styles[str_replace('_', '-', $k)] = $v; } break; case 'border_width': case 'border_style': case 'border_color': // only if border state set $v = $defaults['border'] ? $v : ''; // add px unit to border-width if ($v && $k == 'border_width' && is_numeric($v)) { $v .= 'px'; } // check for value and exclude border state parameter if ($v != '') { $styles[str_replace('_', '-', $k)] = $v; } break; case 'margin_left': case 'margin_right': case 'margin_top': case 'margin_bottom': // add px unit to border-width if ($v && is_numeric($v)) { $v .= 'px'; } // check for value and exclude border state parameter if ($v != '') { $styles[str_replace('_', '-', $k)] = $v; } break; case 'classes': case 'title': case 'id': case 'direction': case 'usemap': case 'longdesc': case 'style': case 'alt': if ($k == 'direction') { $k = 'dir'; } if ($k == 'classes') { $k = 'class'; } if ($v != '') { $result[$k] = $v; } break; } } if (!empty($styles)) { $result['styles'] = $styles; } return $result; } return array(); } public function getSettings($settings = array()) { $params = $this->getParams(array('key' => 'imgmanager')); $settings = array( 'attributes' => array( 'dimensions' => $params->get('attributes_dimensions', 1), 'align' => $params->get('attributes_align', 1), 'margin' => $params->get('attributes_margin', 1), 'border' => $params->get('attributes_border', 1), ), 'always_include_dimensions' => $params->get('always_include_dimensions', 0), ); return parent::getSettings($settings); } }