/** @var UniformResourceLocator $locator */
$locator = $gantry['locator'];
$schemes = $locator->getSchemes();
$list = [];
foreach ($schemes as $scheme) {
if (strpos($scheme, 'gantry-') === 0) {
$list[] = substr($scheme, 7);
}
}
if (empty($list)) {
return $html;
}
$match = '(gantry-(' . implode('|', $list). ')://.*?)';
} else {
$match = '(.*?)';
}
$html = preg_replace_callback('^(\s)(src|href)="' . $match . '"^u', 'static::linkHandler', $html);
$html = preg_replace_callback('^(\s)url\(' . $match . '\)^u', 'static::urlHandler', $html);
$html = static::replaceTokens($tokens, $html);
return $html;
}
/**
* @param array $matches
* @return string
* @internal
*/
public static function linkHandler(array $matches)
{
list($domain, $timestamp_age) = static::$urlFilterParams;
$url = trim($matches[3]);
$url = static::url($url, $domain, $timestamp_age, false);
return "{$matches[1]}{$matches[2]}=\"{$url}\"";
}
/** @var UniformResourceLocator $locator */
$locator = $gantry['locator'];
$schemes = $locator->getSchemes();
$list = [];
foreach ($schemes as $scheme) {
if (strpos($scheme, 'gantry-') === 0) {
$list[] = substr($scheme, 7);
}
}
if (empty($list)) {
return $html;
}
$match = '(gantry-(' . implode('|', $list). ')://.*?)';
} else {
$match = '(.*?)';
}
$html = preg_replace_callback('^(\s)(src|href)="' . $match . '"^u', 'static::linkHandler', $html);
$html = preg_replace_callback('^(\s)url\(' . $match . '\)^u', 'static::urlHandler', $html);
$html = static::replaceTokens($tokens, $html);
return $html;
}
/**
* @param array $matches
* @return string
* @internal
*/
public static function linkHandler(array $matches)
{
list($domain, $timestamp_age) = static::$urlFilterParams;
$url = trim($matches[3]);
$url = static::url($url, $domain, $timestamp_age, false);
return "{$matches[1]}{$matches[2]}=\"{$url}\"";
}
$document->setHtml5(true);
}
$theme->language = $document->language;
$theme->direction = $document->direction;
}
/**
* Convert all stream uris into proper links.
*/
private function onAfterRenderSite()
{
$gantry = Gantry::instance();
$html = $this->app->getBody();
/** @var Document $document */
$document = $gantry['document'];
// Only filter our streams. If there's an error (bad UTF8), fallback with original output.
$this->app->setBody($document::urlFilter($html, false, 0, true) ?: $html);
}
/**
* Convert links in com_templates to point into Gantry Administrator component.
*/
private function onAfterRenderAdmin()
{
$document = $this->app->getDocument();
$type = $document->getType();
$option = $this->app->input->getString('option');
$view = $this->app->input->getString('view', 'g5');
$task = $this->app->input->getString('task');
if (($option === 'com_templates' || $option === 'com_advancedtemplates') && ($view === 'g5' || $view === 'styles') && !$task && $type === 'html') {
$this->styles = $this->getStyles();
$body = preg_replace_callback('/(<a\s[^>]*href=")([^"]*)("[^>]*>)(.*)(<\/a>)/siU', array($this, 'appendHtml'), $this->app->getBody());
$this->app->setBody($body);
} elseif ($this->app->isClient('administrator')) {
$this->onAfterRouteAdmin();
}
}
/**
* Document gets set during dispatch, we need language and direction.
*/
public function onAfterDispatch()
{
if (class_exists('Gantry\Framework\Gantry')) {
$this->onAfterDispatchSiteAdmin();
}
}
public function onAfterRender()
{
if ($this->app->isClient('site') && class_exists('Gantry\Framework\Gantry')) {
$this->onAfterRenderSite();
} elseif ($this->app->isClient('administrator')) {
$this->onAfterRenderAdmin();
}
}
/**
* @param object $module
* @param array $attribs
*/
public function onRenderModule(&$module, &$attribs)
{
if (!$this->app->isClient('site') || !class_exists('Gantry\Framework\Gantry')) {
return;
}
$gantry = Gantry::instance();
$outline = $gantry['configuration'];
// Do not render modules assigned to menu items in error and offline page.
* @param array &$args Arguments
*
* @return mixed Routine return value
*
* @since 1.5
*/
public function update(&$args)
{
// First let's get the event from the argument array. Next we will unset the
// event argument as it has no bearing on the method to handle the event.
$event = $args['event'];
unset($args['event']);
/*
* If the method to handle an event exists, call it and return its return
* value. If it does not exist, return null.
*/
if (method_exists($this, $event))
{
return call_user_func_array(array($this, $event), array_values($args));
}
}
}
if (!isset($this->_methods[$event]) || empty($this->_methods[$event]))
{
// No Plugins Associated To Event!
return $result;
}
// Loop through all plugins having a method matching our event
foreach ($this->_methods[$event] as $key)
{
// Check if the plugin is present.
if (!isset($this->_observers[$key]))
{
continue;
}
// Fire the event for an object based observer.
if (is_object($this->_observers[$key]))
{
$args['event'] = $event;
$value = $this->_observers[$key]->update($args);
}
// Fire the event for a function based observer.
elseif (is_array($this->_observers[$key]))
{
$value = call_user_func_array($this->_observers[$key]['handler'], array_values($args));
}
if (isset($value))
{
$result[] = $value;
}
}
return $result;
}
/**
* Attach an observer object
*
* @param object $observer An observer object to attach
}
return $this;
}
/**
* Calls all handlers associated with an event group.
*
* @param string $event The event name.
* @param array $args An array of arguments (optional).
*
* @return array An array of results from each function call, or null if no dispatcher is defined.
*
* @since 3.0.0
*/
public function triggerEvent($event, array $args = null)
{
if ($this->dispatcher instanceof \JEventDispatcher)
{
return $this->dispatcher->trigger($event, $args);
}
return;
}
/**
* Allows the application to load a custom or default dispatcher.
*
* The logic and options for creating this object are adequately generic for default cases
* but for many applications it will make sense to override this method and create event
* dispatchers, if required, based on more specific needs.
*
* @param \JEventDispatcher $dispatcher An optional dispatcher object. If omitted, the factory dispatcher is created.
*
* @return BaseApplication This method is chainable.
*
* @since 3.0.0
*/
public function loadDispatcher(\JEventDispatcher $dispatcher = null)
{
// Trigger the onBeforeRender event.
\JPluginHelper::importPlugin('system');
$this->triggerEvent('onBeforeRender');
$caching = false;
if ($this->isClient('site') && $this->get('caching') && $this->get('caching', 2) == 2 && !\JFactory::getUser()->get('id'))
{
$caching = true;
}
// Render the document.
$data = $this->document->render($caching, $this->docOptions);
// Set the application output data.
$this->setBody($data);
// Trigger the onAfterRender event.
$this->triggerEvent('onAfterRender');
// Mark afterRender in the profiler.
JDEBUG ? $this->profiler->mark('afterRender') : null;
}
/**
* Route the application.
*
* Routing is the process of examining the request environment to determine which
* component should receive the request. The component optional parameters
* are then set in the request object to be processed when the application is being
* dispatched.
*
* @return void
*
* @since 3.2
*/
protected function route()
{
// Get the full request URI.
$this->setUserState('users.login.form.data', array('return' => \JUri::getInstance()->toString()));
$this->set('themeFile', 'offline.php');
$this->setHeader('Status', '503 Service Temporarily Unavailable', 'true');
}
if (!is_dir(JPATH_THEMES . '/' . $template->template) && !$this->get('offline'))
{
$this->set('themeFile', 'component.php');
}
// Ensure themeFile is set by now
if ($this->get('themeFile') == '')
{
$this->set('themeFile', $file . '.php');
}
break;
}
parent::render();
}
/**
* Route the application.
*
* Routing is the process of examining the request environment to determine which
* component should receive the request. The component optional parameters
* are then set in the request object to be processed when the application is being
* dispatched.
*
* @return void
*
* @since 3.2
*/
protected function route()
{
// Execute the parent method
parent::route();
$Itemid = $this->input->getInt('Itemid', null);
// Unset invalid system variables
foreach ($invalidInputVariables as $systemVariable)
{
$input->set($systemVariable, null);
}
// Abort when there are invalid variables
if ($invalidInputVariables)
{
throw new \RuntimeException('Invalid input, aborting application.');
}
// Perform application routines.
$this->doExecute();
// If we have an application document object, render it.
if ($this->document instanceof \JDocument)
{
// Render the application output.
$this->render();
}
// If gzip compression is enabled in configuration and the server is compliant, compress the output.
if ($this->get('gzip') && !ini_get('zlib.output_compression') && ini_get('output_handler') !== 'ob_gzhandler')
{
$this->compress();
// Trigger the onAfterCompress event.
$this->triggerEvent('onAfterCompress');
}
// Send the application response.
$this->respond();
// Trigger the onAfterRespond event.
$this->triggerEvent('onAfterRespond');
}
/**
* Check if the user is required to reset their password.
{
include_once __DIR__ . '/defines.php';
}
if (!defined('_JDEFINES'))
{
define('JPATH_BASE', __DIR__);
require_once JPATH_BASE . '/includes/defines.php';
}
require_once JPATH_BASE . '/includes/framework.php';
// Set profiler start time and memory usage and mark afterLoad in the profiler.
JDEBUG ? JProfiler::getInstance('Application')->setStart($startTime, $startMem)->mark('afterLoad') : null;
// Instantiate the application.
$app = JFactory::getApplication('site');
// Execute the application.
$app->execute();
Key | Value |
view | image |
type | img |
id | 738 |
Key | Value |
REDIRECT_REDIRECT_UNIQUE_ID | Zgakefvf5FFhzu4q2QpCzgAAAA4 |
REDIRECT_REDIRECT_WAAS_MODE | 0 |
REDIRECT_REDIRECT_SCRIPT_URL | /de/länderinfos/bilder-video-galerie/image.raw |
REDIRECT_REDIRECT_SCRIPT_URI | http://www.quad-offroad.com/de/länderinfos/bilder-video-galerie/image.raw |
REDIRECT_REDIRECT_DOCUMENT_ROOT | /kunden/homepages/22/d151361078/htdocs/quad-offroad |
REDIRECT_REDIRECT_UI_SUEXEC_DEFAULT_CHROOT_ID | 14 |
REDIRECT_REDIRECT_UI_SUEXEC_FSTATD_UNIXSOCKET | /run/ui-fstatd.suexec.socket |
REDIRECT_REDIRECT_UI_SUEXEC_STATISTICS_UNIXSOCKET | /homepages/sclientMF/http.sock.bin |
REDIRECT_REDIRECT_HTTP_AUTHORIZATION | |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_CPU | 60 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_MEM | 640 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCSOFT | 10 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCHARD | 10 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_JIMDO | 800 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_CPU_JIMDO | 60 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_MEM_JIMDO | 768 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCSOFT_JIMDO | 24 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCHARD_JIMDO | 24 |
REDIRECT_REDIRECT_DBENTRY_HOST | quad-offroad.com |
REDIRECT_REDIRECT_DBENTRY_VALUE | /kunden/homepages/22/d151361078/htdocs/quad-offroad:d0000#CPU 15 #MEM 32768 #CGI 49503 #NPROC 40 #TAID 39634119 #LANG 0 #RSCLVL 901 #STAT 1 #CHROOT 16 |
REDIRECT_REDIRECT_DBENTRY_DOCROOT | /kunden/homepages/22/d151361078/htdocs/quad-offroad |
REDIRECT_REDIRECT_DBENTRY_HASH | d0000 |
REDIRECT_REDIRECT_DBENTRY__CPU | 15 |
REDIRECT_REDIRECT_DBENTRY__MEM | 32768 |
REDIRECT_REDIRECT_DBENTRY__CGI | 49503 |
REDIRECT_REDIRECT_DBENTRY__NPROC | 40 |
REDIRECT_REDIRECT_DBENTRY__TAID | 39634119 |
REDIRECT_REDIRECT_DBENTRY__LANG | 0 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL | 901 |
REDIRECT_REDIRECT_DBENTRY__STAT | 1 |
REDIRECT_REDIRECT_DBENTRY__CHROOT | 16 |
REDIRECT_REDIRECT_DBENTRY | /kunden/homepages/22/d151361078/htdocs/quad-offroad:d0000#CPU 15 #MEM 32768 #CGI 49503 #NPROC 40 #TAID 39634119 #LANG 0 #RSCLVL 901 #STAT 1 #CHROOT 16 |
REDIRECT_REDIRECT_STATUS | 200 |
REDIRECT_UNIQUE_ID | Zgakefvf5FFhzu4q2QpCzgAAAA4 |
REDIRECT_SCRIPT_URL | /de/länderinfos/bilder-video-galerie/image.raw |
REDIRECT_SCRIPT_URI | http://www.quad-offroad.com/de/länderinfos/bilder-video-galerie/image.raw |
REDIRECT_DOCUMENT_ROOT | /kunden/homepages/22/d151361078/htdocs/quad-offroad |
REDIRECT_HTTP_AUTHORIZATION | |
REDIRECT_HANDLER | x-mapp-php5.4 |
REDIRECT_STATUS | 200 |
UNIQUE_ID | Zgakefvf5FFhzu4q2QpCzgAAAA4 |
SCRIPT_URL | /de/länderinfos/bilder-video-galerie/image.raw |
SCRIPT_URI | http://www.quad-offroad.com/de/länderinfos/bilder-video-galerie/image.raw |
HTTP_HOST | www.quad-offroad.com |
HTTP_CONNECTION | close |
HTTP_ACCEPT | */* |
HTTP_USER_AGENT | claudebot |
PATH | /bin:/usr/bin |
SERVER_SIGNATURE | |
SERVER_SOFTWARE | Apache |
SERVER_NAME | quad-offroad.com |
SERVER_ADDR | 82.165.82.184 |
SERVER_PORT | 80 |
REMOTE_ADDR | 44.222.242.27 |
DOCUMENT_ROOT | /kunden/homepages/22/d151361078/htdocs/quad-offroad |
REQUEST_SCHEME | http |
CONTEXT_PREFIX | /system-bin/ |
CONTEXT_DOCUMENT_ROOT | /kunden/usr/lib/cgi-bin/ |
SERVER_ADMIN | webmaster@quad-offroad.com |
SCRIPT_FILENAME | /kunden/homepages/22/d151361078/htdocs/quad-offroad/index.php |
REMOTE_PORT | 40104 |
REDIRECT_URL | /index.php |
REDIRECT_QUERY_STRING | view=image&type=img&id=738 |
GATEWAY_INTERFACE | CGI/1.1 |
SERVER_PROTOCOL | HTTP/1.1 |
REQUEST_METHOD | GET |
QUERY_STRING | view=image&type=img&id=738 |
REQUEST_URI | /de/l%C3%A4nderinfos/bilder-video-galerie/image.raw?view=image&type=img&id=738 |
SCRIPT_NAME | /index.php |
STATUS | 200 |
ORIG_PATH_INFO | /index.php |
ORIG_PATH_TRANSLATED | /kunden/homepages/22/d151361078/htdocs/quad-offroad/index.php |
PHP_SELF | /index.php |
REQUEST_TIME_FLOAT | 1711711353.9244 |
REQUEST_TIME | 1711711353 |
argv | Array ( [0] => view=image&type=img&id=738 ) |
argc | 1 |
Key | Value |
REDIRECT_REDIRECT_UNIQUE_ID | Zgakefvf5FFhzu4q2QpCzgAAAA4 |
REDIRECT_REDIRECT_WAAS_MODE | 0 |
REDIRECT_REDIRECT_SCRIPT_URL | /de/länderinfos/bilder-video-galerie/image.raw |
REDIRECT_REDIRECT_SCRIPT_URI | http://www.quad-offroad.com/de/länderinfos/bilder-video-galerie/image.raw |
REDIRECT_REDIRECT_DOCUMENT_ROOT | /kunden/homepages/22/d151361078/htdocs/quad-offroad |
REDIRECT_REDIRECT_UI_SUEXEC_DEFAULT_CHROOT_ID | 14 |
REDIRECT_REDIRECT_UI_SUEXEC_FSTATD_UNIXSOCKET | /run/ui-fstatd.suexec.socket |
REDIRECT_REDIRECT_UI_SUEXEC_STATISTICS_UNIXSOCKET | /homepages/sclientMF/http.sock.bin |
REDIRECT_REDIRECT_HTTP_AUTHORIZATION | |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_CPU | 60 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_MEM | 640 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCSOFT | 10 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCHARD | 10 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_JIMDO | 800 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_CPU_JIMDO | 60 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_MEM_JIMDO | 768 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCSOFT_JIMDO | 24 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCHARD_JIMDO | 24 |
REDIRECT_REDIRECT_DBENTRY_HOST | quad-offroad.com |
REDIRECT_REDIRECT_DBENTRY_VALUE | /kunden/homepages/22/d151361078/htdocs/quad-offroad:d0000#CPU 15 #MEM 32768 #CGI 49503 #NPROC 40 #TAID 39634119 #LANG 0 #RSCLVL 901 #STAT 1 #CHROOT 16 |
REDIRECT_REDIRECT_DBENTRY_DOCROOT | /kunden/homepages/22/d151361078/htdocs/quad-offroad |
REDIRECT_REDIRECT_DBENTRY_HASH | d0000 |
REDIRECT_REDIRECT_DBENTRY__CPU | 15 |
REDIRECT_REDIRECT_DBENTRY__MEM | 32768 |
REDIRECT_REDIRECT_DBENTRY__CGI | 49503 |
REDIRECT_REDIRECT_DBENTRY__NPROC | 40 |
REDIRECT_REDIRECT_DBENTRY__TAID | 39634119 |
REDIRECT_REDIRECT_DBENTRY__LANG | 0 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL | 901 |
REDIRECT_REDIRECT_DBENTRY__STAT | 1 |
REDIRECT_REDIRECT_DBENTRY__CHROOT | 16 |
REDIRECT_REDIRECT_DBENTRY | /kunden/homepages/22/d151361078/htdocs/quad-offroad:d0000#CPU 15 #MEM 32768 #CGI 49503 #NPROC 40 #TAID 39634119 #LANG 0 #RSCLVL 901 #STAT 1 #CHROOT 16 |
REDIRECT_REDIRECT_STATUS | 200 |
REDIRECT_UNIQUE_ID | Zgakefvf5FFhzu4q2QpCzgAAAA4 |
REDIRECT_SCRIPT_URL | /de/länderinfos/bilder-video-galerie/image.raw |
REDIRECT_SCRIPT_URI | http://www.quad-offroad.com/de/länderinfos/bilder-video-galerie/image.raw |
REDIRECT_DOCUMENT_ROOT | /kunden/homepages/22/d151361078/htdocs/quad-offroad |
REDIRECT_HTTP_AUTHORIZATION | |
REDIRECT_HANDLER | x-mapp-php5.4 |
REDIRECT_STATUS | 200 |
UNIQUE_ID | Zgakefvf5FFhzu4q2QpCzgAAAA4 |
SCRIPT_URL | /de/länderinfos/bilder-video-galerie/image.raw |
SCRIPT_URI | http://www.quad-offroad.com/de/länderinfos/bilder-video-galerie/image.raw |
HTTP_HOST | www.quad-offroad.com |
HTTP_CONNECTION | close |
HTTP_ACCEPT | */* |
HTTP_USER_AGENT | claudebot |
PATH | /bin:/usr/bin |
SERVER_SIGNATURE | |
SERVER_SOFTWARE | Apache |
SERVER_NAME | quad-offroad.com |
SERVER_ADDR | 82.165.82.184 |
SERVER_PORT | 80 |
REMOTE_ADDR | 44.222.242.27 |
DOCUMENT_ROOT | /kunden/homepages/22/d151361078/htdocs/quad-offroad |
REQUEST_SCHEME | http |
CONTEXT_PREFIX | /system-bin/ |
CONTEXT_DOCUMENT_ROOT | /kunden/usr/lib/cgi-bin/ |
SERVER_ADMIN | webmaster@quad-offroad.com |
SCRIPT_FILENAME | /kunden/homepages/22/d151361078/htdocs/quad-offroad/index.php |
REMOTE_PORT | 40104 |
REDIRECT_URL | /index.php |
REDIRECT_QUERY_STRING | view=image&type=img&id=738 |
GATEWAY_INTERFACE | CGI/1.1 |
SERVER_PROTOCOL | HTTP/1.1 |
REQUEST_METHOD | GET |
QUERY_STRING | view=image&type=img&id=738 |
REQUEST_URI | /de/l%C3%A4nderinfos/bilder-video-galerie/image.raw?view=image&type=img&id=738 |
SCRIPT_NAME | /index.php |
STATUS | 200 |
ORIG_PATH_INFO | /index.php |
ORIG_PATH_TRANSLATED | /kunden/homepages/22/d151361078/htdocs/quad-offroad/index.php |