45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * @package     Joomla.Site
 | |
|  * @subpackage  Layout
 | |
|  *
 | |
|  * @copyright   (C) 2021 Open Source Matters, Inc. <https://www.joomla.org>
 | |
|  * @license     GNU General Public License version 2 or later; see LICENSE.txt
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * Layout variables
 | |
|  * -----------------
 | |
|  * @var   array  $displayData  Array with all the given attributes for the image element.
 | |
|  *                             Eg: src, class, alt, width, height, loading, decoding, style, data-*
 | |
|  *                             Note: only the alt and src attributes are escaped by default!
 | |
|  */
 | |
| defined('_JEXEC') or die;
 | |
| 
 | |
| use Joomla\CMS\HTML\HTMLHelper;
 | |
| use Joomla\Utilities\ArrayHelper;
 | |
| 
 | |
| $img = HTMLHelper::_('cleanImageURL', $displayData['src']);
 | |
| 
 | |
| $displayData['src'] = $this->escape($img->url);
 | |
| 
 | |
| if (isset($displayData['alt'])) {
 | |
|     if ($displayData['alt'] === false) {
 | |
|         unset($displayData['alt']);
 | |
|     } else {
 | |
|         $displayData['alt'] = $this->escape($displayData['alt']);
 | |
|     }
 | |
| }
 | |
| 
 | |
| if ($img->attributes['width'] > 0 && $img->attributes['height'] > 0) {
 | |
|     $displayData['width']  = $img->attributes['width'];
 | |
|     $displayData['height'] = $img->attributes['height'];
 | |
| 
 | |
|     if (empty($displayData['loading'])) {
 | |
|         $displayData['loading'] = 'lazy';
 | |
|     }
 | |
| }
 | |
| 
 | |
| echo '<img ' . ArrayHelper::toString($displayData) . '>';
 |