HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/confeduphaar/backip-old-files/libraries/syw/fields/sywimagepreview.php
<?php
/**
 * @copyright	Copyright (C) 2011 Simplify Your Web, Inc. All rights reserved.
 * @license		GNU General Public License version 3 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die ;

jimport('joomla.form.formfield');

/**
 *
 * @author Olivier Buisard
 *
 * field parameters
 *
 * path: the image path (relative or full)
 * width: the preview max width - defaults to 200
 * height: the preview max width
 * showname: show the file name - defaults to false
 *
 */
class JFormFieldSYWImagePreview extends JFormField
{
	public $type = 'SYWImagePreview';

	protected $path;
	protected $relative_path;
	protected $width;
	protected $height;
	protected $show_name;

	protected function getInput()
	{
		$html = '';

		$lang = JFactory::getLanguage();
		$lang->load('lib_syw.sys', JPATH_SITE);

		$style = '';

		$style .= 'max-width: '.$this->width.'px;';

		if ($this->height) {
			$style .= 'max-height: '.$this->height.'px;';
		}

		$html .= '<div class="image_preview" style="'.$style.' overflow: auto; border: 1px solid #ccc; border-radius: 3px; padding: 10px; text-align: center">';

		if ($this->path) {

			if (!$this->relative_path) {
				$this->path = JURI::root().$this->path;
			}

			$parts = explode('/', $this->path);

			$html .= '<img src="'.$this->path.'" alt="'.end($parts).'" style="max-width: 100%">';
			if ($this->show_name) {
				$html .= '<br /><br /><span class="file_name">'.end($parts).'</span>';
			}
		} else {
			// no preview available
			$html .= '<span>'.JText::_('LIB_SYW_IMAGEPREVIEW_NOPREVIEW').'</span>';
		}

		$html .= '</div>';

		return $html;
	}

	public function setup(SimpleXMLElement $element, $value, $group = null)
	{
		$return = parent::setup($element, $value, $group);

		if ($return) {
			$this->path = isset($this->element['path']) ? trim((string)$this->element['path']) : '';
			$this->relative_path = isset($this->element['relativepath']) ? filter_var($this->element['relativepath'], FILTER_VALIDATE_BOOLEAN) : true;
			$this->width = isset($this->element['width']) ? trim((string)$this->element['width']) : '200';
			$this->height = isset($this->element['height']) ? trim((string)$this->element['height']) : '';
			$this->show_name = isset($this->element['showname']) ? filter_var($this->element['showname'], FILTER_VALIDATE_BOOLEAN) : false;
		}

		return $return;
	}

}
?>