| Server IP : 54.36.91.62 / Your IP : 216.73.217.112 Web Server : Apache System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : coopiak ( 151928) PHP Version : 8.3.23 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/coopiak/amisdesseniors-fr/nice2/libraries/foundry/libraries/scraper/plugins/ |
Upload File : |
<?php
/**
* @package Foundry
* @copyright Copyright (C) Stack Ideas Sdn Bhd. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Foundry 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.
* See COPYRIGHT.php for copyright notices and details.
*/
defined('_JEXEC') or die('Unauthorized Access');
class ScraperPluginImages extends ScraperPlugin
{
/**
* Scan and match all images on the document
*
* @since 1.0.0
* @access public
*/
public function process(&$data)
{
if (!$this->parser) {
return;
}
// Find all image tags on the page.
$images = [];
$items = $this->parser->find('img');
foreach ($items as $image) {
if (!$image->src) {
continue;
}
// Some image source is not valid. We can determine this by checking it's width, if the width is exists.
if (isset($image->width) && !$image->width) {
continue;
}
// If there's a ../ , we need to replace it.
if (stristr($image->src, '/../') !== false) {
$image->src = str_ireplace('/../', '/', $image->src);
}
if (stristr($image->src, 'http://') === false && stristr($image->src, 'https://') === false) {
$image->src = $this->url . '/' . $image->src;
}
// Convert those html entity & from URL
$image->src = html_entity_decode($image->src);
$images[] = $image->src;
}
// Ensure that there are no duplicate images.
$images = array_values(array_unique($images, SORT_STRING));
$data->images = $images;
}
}