| Current Path : /home/megadansyp/www/components/com_eventgallery/library/Connector/ |
| Current File : /home/megadansyp/www/components/com_eventgallery/library/Connector/WebResult.php |
<?php
namespace Joomla\Component\Eventgallery\Site\Library\Connector;
/**
* @package Sven.Bluege
* @subpackage com_eventgallery
*
* @copyright Copyright (C) 2005 - 2019 Sven Bluege All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
jimport('joomla.error.log');
require_once JPATH_ROOT.'/components/com_eventgallery/config.php';
require_once JPATH_ROOT.'/components/com_eventgallery/library/common/logger.php';
/**
* Holds a result including update status.
*
* Class WebResult
*/
class WebResult
{
private $_cachefilename = null;
private $_isDataUpdated = null;
public function __construct($isDataUpdated, $cachefilename) {
$this->_isDataUpdated = $isDataUpdated;
$this->_cachefilename = $cachefilename;
}
public function getCacheFileName() {
return $this->_cachefilename;
}
public function isDataUpdated() {
return $this->_isDataUpdated;
}
/**
* Read the content of the cache file.
*
* @return string
*/
public function getFileContent() {
return file_get_contents($this->getCacheFileName());
}
/**
* Tries to convert the content of the result into an object by assuming that it's a JSON string
*
* @return mixed
*/
public function getFileContentAsJson() {
return json_decode($this->getFileContent(), true);
}
/**
* tries to fetch the content from a given url. It uses CURL to get the content
* in the first place and falls back to return file_get_contents($url) if CURL is unavailable.
*
* @param $url
* @return null|string the content body provided by the given URL
*/
public static function url_get_contents ($url) {
\JLog::addLogger(
array(
'text_file' => 'com_eventgallery.log.php',
'logger' => 'Eventgalleryformattedtext'
),
\JLog::ALL,
'com_eventgallery'
);
if (function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['SERVER_NAME']??'eventgallery');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$output = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
$httpCode = $responseInfo['http_code'];
if($output === false || $httpCode > 300)
{
$errorMessage = curl_error($ch);
$errorNo = curl_errno($ch);
\JLog::add('CURL Error for url ' . $url . ': ' . ' http_code=' . $httpCode .'; '. $errorNo . ' - ' . $errorMessage . '; Content: ' . $output, \JLog::INFO, 'com_eventgallery');
$output = null;
}
//\JLog::add('CURL Output for url ' . $url . ': ' . '; Content: ' . $output, \JLog::INFO, 'com_eventgallery');
curl_close($ch);
return $output;
}
$output = @file_get_contents($url);
if($output === false)
{
\JLog::add('file_get_contents() Error for url ' . $url, \JLog::INFO, 'com_eventgallery');
$output = null;
}
return $output;
}
}