*/
public function toSql($local = false, JDatabase $dbo = null)
{
if ($dbo === null)
{
$dbo = JFactory::getDbo();
}
return $this->format($dbo->getDateFormat(), $local, false);
}
/**
* @since 1.5
*/
public function load()
{
$loader = function () {
$currentDate = Factory::getDate()->toSql();
$query = $this->db->getQuery(true)
->select(
$this->db->quoteName(
[
$referenceArgs = &$args;
}
// Just execute the callback if caching is disabled.
if (empty($this->options['caching'])) {
return \call_user_func_array($callback, $referenceArgs);
}
if (!$id) {
// Generate an ID
$id = $this->_makeId($callback, $args);
try {
/** @var CallbackController $cache */
$cache = $this->getCacheControllerFactory()->createCacheController('callback', ['defaultgroup' => 'com_menus']);
$this->items = $cache->get($loader, [], md5(\get_class($this)), false);
} catch (CacheExceptionInterface) {
try {
$this->items = $loader();
} catch (ExecutionFailureException $databaseException) {
$this->app->enqueueMessage(Text::sprintf('JERROR_LOADING_MENUS', $databaseException->getMessage()), 'warning');
* @since 1.5
*/
public function getMenu()
{
if (!$this->itemsLoaded) {
$this->load();
foreach ($this->items as $item) {
if ($item->home) {
$this->default[trim($item->language)] = $item->id;
}
*/
public function getItem($id)
{
$result = null;
if (isset($this->getMenu()[$id])) {
$result = &$this->getMenu()[$id];
}
return $result;
}
// Get the id of the active menu item
$menu = $this->getMenu();
$item = $menu->getActive();
if (!$item) {
$item = $menu->getItem($this->input->getInt('Itemid', null));
}
$id = 0;
if (\is_object($item)) {
public function render(\Throwable $error): string
{
$app = Factory::getApplication();
// Get the current template from the application
$template = $app->getTemplate(true);
// Push the error object into the document
$this->getDocument()->setError($error);
// Add registry file for the template asset
'subject' => $app,
'document' => $renderer->getDocument(),
])
);
$data = $renderer->render($error);
// If nothing was rendered, just use the message from the Exception
if (empty($data)) {
$data = $error->getMessage();
}
* @since 3.10.0
*/
public static function handleException(\Throwable $error)
{
static::logException($error);
static::render($error);
}
/**
* Render the error page based on an exception.
*
);
// Trigger the onError event.
$this->dispatchEvent('onError', $event);
ExceptionHandler::handleException($event->getError());
}
// Trigger the onBeforeRespond event.
$this->dispatchEvent(
'onBeforeRespond',
// Set the application as global app
\Joomla\CMS\Factory::$application = $app;
// Execute the application.
$app->execute();
* define() is used rather than "const" to not error for PHP 5.2 and lower
*/
define('_JEXEC', 1);
// Run the application - All executable code should be triggered through this file
require_once __DIR__ . '/includes/app.php';
*
* @package Joomla.Platform
* @subpackage Plugin
* @since 11.1
*/
abstract class JPlugin extends JEvent
{
/**
* A JRegistry object holding the parameters for the plugin
*
* @var A JRegistry object
return true;
}
// If the class is registered include the file.
if (isset(self::$classes[$key])) {
$found = (bool) include_once self::$classes[$key];
if ($found) {
self::loadAliasFor($class);
}
// no direct access
defined('_JEXEC') or die('Restricted access');
jimport('joomla.plugin.plugin');
class plgSystemWidgetkit_System extends JPlugin {
public function onAfterDispatch() {
// load widgetkit
if (JFile::exists(JPATH_ADMINISTRATOR.'/components/com_widgetkit/widgetkit.php')) {
if (!is_file($path)) {
return new DummyPlugin($dispatcher);
}
// Include the file of the plugin
require_once $path;
// Compile the classname
$className = 'Plg' . str_replace('-', '', $type) . $plugin;
// Editors don't follow the convention
case ModuleInterface::class:
$container->set($type, new Module(new ModuleDispatcherFactory(''), new HelperFactory('')));
break;
case PluginInterface::class:
[$pluginName, $pluginType] = explode(':', $extensionName);
$container->set($type, $this->loadPluginFromFilesystem($pluginName, $pluginType));
}
}
$container->get(DispatcherInterface::class)->dispatch(
'onAfterExtensionBoot',
$plugin = str_starts_with($plugin, 'plg_') ? substr($plugin, 4) : $plugin;
// Path to look for services
$path = JPATH_SITE . '/plugins/' . $type . '/' . $plugin;
return $this->loadExtension(PluginInterface::class, $plugin . ':' . $type, $path);
}
/**
* Loads the extension.
*
return;
}
$plugins[$hash] = true;
$plugin = Factory::getApplication()->bootPlugin($plugin->name, $plugin->type);
if ($dispatcher && $plugin instanceof DispatcherAwareInterface) {
$plugin->setDispatcher($dispatcher);
}
$plugins = static::load();
// Get the specified plugin(s).
foreach ($plugins as $value) {
if ($value->type === $type && ($plugin === null || $value->name === $plugin)) {
static::import($value, $autocreate, $dispatcher);
$results = true;
}
}
// Bail out early if we're not using default args
// Load the behaviour plugins
PluginHelper::importPlugin('behaviour', null, true, $this->getDispatcher());
// Trigger the onAfterInitialise event.
PluginHelper::importPlugin('system', null, true, $this->getDispatcher());
$this->dispatchEvent(
'onAfterInitialise',
new AfterInitialiseEvent('onAfterInitialise', ['subject' => $this])
);
}
$options['language'] = 'en-GB';
}
}
// Finish initialisation
parent::initialiseApp($options);
}
/**
* Load the library language files for the application
*
* @since 3.2
*/
protected function doExecute()
{
// Initialise the application
$this->initialiseApp();
// Mark afterInitialise in the profiler.
JDEBUG ? $this->profiler->mark('afterInitialise') : null;
// Route the application
$this->sanityCheckSystemVariables();
$this->setupLogging();
$this->createExtensionNamespaceMap();
// Perform application routines.
$this->doExecute();
// If we have an application document object, render it.
if ($this->document instanceof \Joomla\CMS\Document\Document) {
// Render the application output.
$this->render();
// Set the application as global app
\Joomla\CMS\Factory::$application = $app;
// Execute the application.
$app->execute();
* define() is used rather than "const" to not error for PHP 5.2 and lower
*/
define('_JEXEC', 1);
// Run the application - All executable code should be triggered through this file
require_once __DIR__ . '/includes/app.php';
[2/2]
ClassNotFoundError
|
---|
Symfony\Component\ErrorHandler\Error\ClassNotFoundError: Attempted to load class "JFactory" from the global namespace. Did you forget a "use" statement? at /home/asiatele/public_html/libraries/joomla/utilities/date.php:548 at JDate->toSql() (/home/asiatele/public_html/libraries/src/Menu/SiteMenu.php:94) at Joomla\CMS\Menu\SiteMenu->Joomla\CMS\Menu\{closure}() (/home/asiatele/public_html/libraries/src/Cache/Controller/CallbackController.php:51) at Joomla\CMS\Cache\Controller\CallbackController->get(object(Closure), array(), 'd17e8e13b99b4d9bf23a7d0b83a466c3', false) (/home/asiatele/public_html/libraries/src/Menu/SiteMenu.php:179) at Joomla\CMS\Menu\SiteMenu->load() (/home/asiatele/public_html/libraries/src/Menu/AbstractMenu.php:333) at Joomla\CMS\Menu\AbstractMenu->getMenu() (/home/asiatele/public_html/libraries/src/Menu/AbstractMenu.php:164) at Joomla\CMS\Menu\AbstractMenu->getItem(106) (/home/asiatele/public_html/libraries/src/Application/SiteApplication.php:429) at Joomla\CMS\Application\SiteApplication->getTemplate(true) (/home/asiatele/public_html/libraries/src/Error/Renderer/HtmlRenderer.php:50) at Joomla\CMS\Error\Renderer\HtmlRenderer->render(object(Error)) (/home/asiatele/public_html/libraries/src/Exception/ExceptionHandler.php:136) at Joomla\CMS\Exception\ExceptionHandler::render(object(Error)) (/home/asiatele/public_html/libraries/src/Exception/ExceptionHandler.php:73) at Joomla\CMS\Exception\ExceptionHandler::handleException(object(Error)) (/home/asiatele/public_html/libraries/src/Application/CMSApplication.php:334) at Joomla\CMS\Application\CMSApplication->execute() (/home/asiatele/public_html/includes/app.php:58) at require_once('/home/asiatele/public_html/includes/app.php') (/home/asiatele/public_html/index.php:32) |
[1/2]
Error
|
---|
Error: Class "JEvent" not found at /home/asiatele/public_html/libraries/joomla/plugin/plugin.php:19 at include_once() (/home/asiatele/public_html/libraries/loader.php:251) at JLoader::load('JPlugin') (/home/asiatele/public_html/plugins/system/widgetkit_system/widgetkit_system.php:14) at require_once('/home/asiatele/public_html/plugins/system/widgetkit_system/widgetkit_system.php') (/home/asiatele/public_html/libraries/src/Extension/ExtensionManagerTrait.php:217) at Joomla\CMS\Application\CMSApplication->loadPluginFromFilesystem('widgetkit_system', 'system') (/home/asiatele/public_html/libraries/src/Extension/ExtensionManagerTrait.php:160) at Joomla\CMS\Application\CMSApplication->loadExtension('Joomla\\CMS\\Extension\\PluginInterface', 'widgetkit_system:system', '/home/asiatele/public_html/plugins/system/widgetkit_system') (/home/asiatele/public_html/libraries/src/Extension/ExtensionManagerTrait.php:99) at Joomla\CMS\Application\CMSApplication->bootPlugin('widgetkit_system', 'system') (/home/asiatele/public_html/libraries/src/Plugin/PluginHelper.php:232) at Joomla\CMS\Plugin\PluginHelper::import(object(stdClass), true, object(Dispatcher)) (/home/asiatele/public_html/libraries/src/Plugin/PluginHelper.php:192) at Joomla\CMS\Plugin\PluginHelper::importPlugin('system', null, true, object(Dispatcher)) (/home/asiatele/public_html/libraries/src/Application/CMSApplication.php:812) at Joomla\CMS\Application\CMSApplication->initialiseApp(array('language' => 'fa-IR')) (/home/asiatele/public_html/libraries/src/Application/SiteApplication.php:638) at Joomla\CMS\Application\SiteApplication->initialiseApp() (/home/asiatele/public_html/libraries/src/Application/SiteApplication.php:237) at Joomla\CMS\Application\SiteApplication->doExecute() (/home/asiatele/public_html/libraries/src/Application/CMSApplication.php:304) at Joomla\CMS\Application\CMSApplication->execute() (/home/asiatele/public_html/includes/app.php:58) at require_once('/home/asiatele/public_html/includes/app.php') (/home/asiatele/public_html/index.php:32) |