Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/joomla4/ |
| [Home] [System Details] [Kill Me] |
PK؍�[*`m/ExceptionHandler.phpnu�[���<?php
/**
* Joomla! Content Management System
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
namespace Joomla\CMS\Exception;
defined('JPATH_PLATFORM') or die;
/**
* Displays the custom error page when an uncaught exception occurs.
*
* @since 3.0
*/
class ExceptionHandler
{
/**
* Render the error page based on an exception.
*
* @param \Exception|\Throwable $error An Exception or Throwable (PHP
7+) object for which to render the error page.
*
* @return void
*
* @since 3.0
*/
public static function render($error)
{
$expectedClass = PHP_MAJOR_VERSION >= 7 ? '\Throwable' :
'\Exception';
$isException = $error instanceof $expectedClass;
// In PHP 5, the $error object should be an instance of \Exception; PHP 7
should be a Throwable implementation
if ($isException)
{
try
{
// Try to log the error, but don't let the logging cause a fatal
error
try
{
\JLog::add(
sprintf(
'Uncaught %1$s of type %2$s thrown. Stack trace: %3$s',
$expectedClass,
get_class($error),
$error->getTraceAsString()
),
\JLog::CRITICAL,
'error'
);
}
catch (\Throwable $e)
{
// Logging failed, don't make a stink about it though
}
catch (\Exception $e)
{
// Logging failed, don't make a stink about it though
}
$app = \JFactory::getApplication();
// If site is offline and it's a 404 error, just go to index (to
see offline message, instead of 404)
if ($error->getCode() == '404' &&
$app->get('offline') == 1)
{
$app->redirect('index.php');
}
$attributes = array(
'charset' => 'utf-8',
'lineend' => 'unix',
'tab' => "\t",
'language' => 'en-GB',
'direction' => 'ltr',
);
// If there is a \JLanguage instance in \JFactory then let's pull
the language and direction from its metadata
if (\JFactory::$language)
{
$attributes['language'] =
\JFactory::getLanguage()->getTag();
$attributes['direction'] =
\JFactory::getLanguage()->isRtl() ? 'rtl' : 'ltr';
}
$document = \JDocument::getInstance('error', $attributes);
if (!$document)
{
// We're probably in an CLI environment
jexit($error->getMessage());
}
// Get the current template from the application
$template = $app->getTemplate();
// Push the error object into the document
$document->setError($error);
if (ob_get_contents())
{
ob_end_clean();
}
$document->setTitle(\JText::_('ERROR') . ': ' .
$error->getCode());
$data = $document->render(
false,
array(
'template' => $template,
'directory' => JPATH_THEMES,
'debug' => JDEBUG,
)
);
// Do not allow cache
$app->allowCache(false);
// If nothing was rendered, just use the message from the Exception
if (empty($data))
{
$data = $error->getMessage();
}
$app->setBody($data);
echo $app->toString();
$app->close(0);
// This return is needed to ensure the test suite does not trigger the
non-Exception handling below
return;
}
catch (\Throwable $e)
{
// Pass the error down
}
catch (\Exception $e)
{
// Pass the error down
}
}
// This isn't an Exception, we can't handle it.
if (!headers_sent())
{
header('HTTP/1.1 500 Internal Server Error');
}
$message = 'Error';
if ($isException)
{
// Make sure we do not display sensitive data in production environments
if (ini_get('display_errors'))
{
$message .= ': ';
if (isset($e))
{
$message .= $e->getMessage() . ': ';
}
$message .= $error->getMessage();
}
}
echo $message;
jexit(1);
}
}
PKN��[�D#}��CacheConnectingException.phpnu�[���<?php
/**
* Joomla! Content Management System
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
namespace Joomla\CMS\Cache\Exception;
defined('JPATH_PLATFORM') or die;
/**
* Exception class defining an error connecting to the cache storage engine
*
* @since 3.6.3
*/
class CacheConnectingException extends \RuntimeException implements
CacheExceptionInterface
{
}
PKN��[��1��CacheExceptionInterface.phpnu�[���<?php
/**
* Joomla! Content Management System
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
namespace Joomla\CMS\Cache\Exception;
defined('JPATH_PLATFORM') or die;
/**
* Exception interface defining a cache storage error
*
* @since 3.7.0
*/
interface CacheExceptionInterface
{
}
PKN��[�^��UnsupportedCacheException.phpnu�[���<?php
/**
* Joomla! Content Management System
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
namespace Joomla\CMS\Cache\Exception;
defined('JPATH_PLATFORM') or die;
/**
* Exception class defining an unsupported cache storage object
*
* @since 3.6.3
*/
class UnsupportedCacheException extends \RuntimeException implements
CacheExceptionInterface
{
}
PK��[�?Ok��NotAllowed.phpnu�[���<?php
/**
* Joomla! Content Management System
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
namespace Joomla\CMS\Access\Exception;
defined('JPATH_PLATFORM') or die;
/**
* Exception class defining a not allowed access
*
* @since 3.6.3
*/
class NotAllowed extends \RuntimeException
{
}
PK0�[���DumpException.phpnu�[���<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Yaml\Exception;
/**
* Exception class thrown when an error occurs during dumping.
*
* @author Fabien Potencier <fabien@symfony.com>
*/
class DumpException extends RuntimeException
{
}
PK0�[�^KA��ExceptionInterface.phpnu�[���<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Yaml\Exception;
/**
* Exception interface for all exceptions thrown by the component.
*
* @author Fabien Potencier <fabien@symfony.com>
*/
interface ExceptionInterface
{
}
PK0�[�c��
�
ParseException.phpnu�[���<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Yaml\Exception;
/**
* Exception class thrown when an error occurs during parsing.
*
* @author Fabien Potencier <fabien@symfony.com>
*/
class ParseException extends RuntimeException
{
private $parsedFile;
private $parsedLine;
private $snippet;
private $rawMessage;
/**
* @param string $message The error message
* @param int $parsedLine The line where the error occurred
* @param string|null $snippet The snippet of code near the
problem
* @param string|null $parsedFile The file name where the error
occurred
* @param \Exception|null $previous The previous exception
*/
public function __construct($message, $parsedLine = -1, $snippet =
null, $parsedFile = null, \Exception $previous = null)
{
$this->parsedFile = $parsedFile;
$this->parsedLine = $parsedLine;
$this->snippet = $snippet;
$this->rawMessage = $message;
$this->updateRepr();
parent::__construct($this->message, 0, $previous);
}
/**
* Gets the snippet of code near the error.
*
* @return string The snippet of code
*/
public function getSnippet()
{
return $this->snippet;
}
/**
* Sets the snippet of code near the error.
*
* @param string $snippet The code snippet
*/
public function setSnippet($snippet)
{
$this->snippet = $snippet;
$this->updateRepr();
}
/**
* Gets the filename where the error occurred.
*
* This method returns null if a string is parsed.
*
* @return string The filename
*/
public function getParsedFile()
{
return $this->parsedFile;
}
/**
* Sets the filename where the error occurred.
*
* @param string $parsedFile The filename
*/
public function setParsedFile($parsedFile)
{
$this->parsedFile = $parsedFile;
$this->updateRepr();
}
/**
* Gets the line where the error occurred.
*
* @return int The file line
*/
public function getParsedLine()
{
return $this->parsedLine;
}
/**
* Sets the line where the error occurred.
*
* @param int $parsedLine The file line
*/
public function setParsedLine($parsedLine)
{
$this->parsedLine = $parsedLine;
$this->updateRepr();
}
private function updateRepr()
{
$this->message = $this->rawMessage;
$dot = false;
if ('.' === substr($this->message, -1)) {
$this->message = substr($this->message, 0, -1);
$dot = true;
}
if (null !== $this->parsedFile) {
if (\PHP_VERSION_ID >= 50400) {
$jsonOptions = JSON_UNESCAPED_SLASHES |
JSON_UNESCAPED_UNICODE;
} else {
$jsonOptions = 0;
}
$this->message .= sprintf(' in %s',
json_encode($this->parsedFile, $jsonOptions));
}
if ($this->parsedLine >= 0) {
$this->message .= sprintf(' at line %d',
$this->parsedLine);
}
if ($this->snippet) {
$this->message .= sprintf(' (near
"%s")', $this->snippet);
}
if ($dot) {
$this->message .= '.';
}
}
}
PK0�[�_q���RuntimeException.phpnu�[���<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Yaml\Exception;
/**
* Exception class thrown when an error occurs during parsing.
*
* @author Romain Neutron <imprec@gmail.com>
*/
class RuntimeException extends \RuntimeException implements
ExceptionInterface
{
}
PK�9�[x6����UnsupportedStorageException.phpnu�[���<?php
/**
* Joomla! Content Management System
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
namespace Joomla\CMS\Session\Exception;
defined('JPATH_PLATFORM') or die;
/**
* Exception class defining an unsupported session storage object
*
* @since 3.6.3
*/
class UnsupportedStorageException extends \RuntimeException
{
}
PK�@�[]][2��RouteNotFoundException.phpnu�[���<?php
/**
* Joomla! Content Management System
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
namespace Joomla\CMS\Router\Exception;
defined('JPATH_PLATFORM') or die;
/**
* Exception class defining an error for a missing route
*
* @since 3.8.0
*/
class RouteNotFoundException extends \InvalidArgumentException
{
/**
* Constructor
*
* @param string $message The Exception message to throw.
* @param integer $code The Exception code.
* @param \Exception $previous The previous exception used for the
exception chaining.
*
* @since 3.8.0
*/
public function __construct($message = '', $code = 404,
\Exception $previous = null)
{
if (empty($message))
{
$message = 'URL was not found';
}
parent::__construct($message, $code, $previous);
}
}
PK�f�[��5d��MissingComponentException.phpnu�[���<?php
/**
* Joomla! Content Management System
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
namespace Joomla\CMS\Component\Exception;
defined('JPATH_PLATFORM') or die;
use Joomla\CMS\Router\Exception\RouteNotFoundException;
/**
* Exception class defining an error for a missing component
*
* @since 3.7.0
*/
class MissingComponentException extends RouteNotFoundException
{
/**
* Constructor
*
* @param string $message The Exception message to throw.
* @param integer $code The Exception code.
* @param \Exception $previous The previous exception used for the
exception chaining.
*
* @since 3.7.0
*/
public function __construct($message = '', $code = 404,
\Exception $previous = null)
{
parent::__construct($message, $code, $previous);
}
}
PK{��[i�"��UnknownArchiveException.phpnu�[���<?php
/**
* Part of the Joomla Framework Archive Package
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\Archive\Exception;
/**
* Exception class defining an unknown archive type
*
* @since 1.1.7
*/
class UnknownArchiveException extends \InvalidArgumentException
{
}
PK{��[�T�;��UnsupportedArchiveException.phpnu�[���<?php
/**
* Part of the Joomla Framework Archive Package
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\Archive\Exception;
/**
* Exception class defining an unsupported archive adapter
*
* @since 1.1.7
*/
class UnsupportedArchiveException extends \InvalidArgumentException
{
}
PKN*�[y�q��!DependencyResolutionException.phpnu�[���<?php
/**
* Part of the Joomla Framework DI Package
*
* @copyright Copyright (C) 2013 - 2018 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\DI\Exception;
use Psr\Container\ContainerExceptionInterface;
/**
* Exception class for handling errors in resolving a dependency
*
* @since 1.0
*/
class DependencyResolutionException extends \RuntimeException implements
ContainerExceptionInterface
{
}
PKN*�[��$��KeyNotFoundException.phpnu�[���<?php
/**
* Part of the Joomla Framework DI Package
*
* @copyright Copyright (C) 2013 - 2018 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\DI\Exception;
use Psr\Container\NotFoundExceptionInterface;
/**
* No entry was found in the container.
*
* @since 1.5.0
*/
class KeyNotFoundException extends \InvalidArgumentException implements
NotFoundExceptionInterface
{
}
PKN*�[�����ProtectedKeyException.phpnu�[���<?php
/**
* Part of the Joomla Framework DI Package
*
* @copyright Copyright (C) 2013 - 2018 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\DI\Exception;
use Psr\Container\ContainerExceptionInterface;
/**
* Attempt to set the value of a protected key, which already is set
*
* @since 1.5.0
*/
class ProtectedKeyException extends \OutOfBoundsException implements
ContainerExceptionInterface
{
}
PK؍�[*`m/ExceptionHandler.phpnu�[���PKN��[�D#}��ZCacheConnectingException.phpnu�[���PKN��[��1���CacheExceptionInterface.phpnu�[���PKN��[�^��UnsupportedCacheException.phpnu�[���PK��[�?Ok���NotAllowed.phpnu�[���PK0�[����DumpException.phpnu�[���PK0�[�^KA���ExceptionInterface.phpnu�[���PK0�[�c��
�
�ParseException.phpnu�[���PK0�[�_q����)RuntimeException.phpnu�[���PK�9�[x6�����+UnsupportedStorageException.phpnu�[���PK�@�[]][2��.RouteNotFoundException.phpnu�[���PK�f�[��5d���1MissingComponentException.phpnu�[���PK{��[i�"���5UnknownArchiveException.phpnu�[���PK{��[�T�;���7UnsupportedArchiveException.phpnu�[���PKN*�[y�q��!�9DependencyResolutionException.phpnu�[���PKN*�[��$��
<KeyNotFoundException.phpnu�[���PKN*�[�����+>ProtectedKeyException.phpnu�[���PK�i@