Spade

Mini Shell

Directory:~$ /home/lmsyaran/www/joomla5/libraries/src/Application/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ /home/lmsyaran/www/joomla5/libraries/src/Application/CMSApplicationInterface.php

<?php

/**
 * Joomla! Content Management System
 *
 * @copyright  (C) 2017 Open Source Matters, Inc.
<https://www.joomla.org>
 * @license    GNU General Public License version 2 or later; see
LICENSE.txt
 */

namespace Joomla\CMS\Application;

use Joomla\Application\ConfigurationAwareApplicationInterface;
use Joomla\CMS\Extension\ExtensionManagerInterface;
use Joomla\CMS\Language\Language;
use Joomla\CMS\User\User;
use Joomla\Input\Input;

// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects

/**
 * Interface defining a Joomla! CMS Application class
 *
 * @since  4.0.0
 * @note   In Joomla 6 this interface will no longer extend
EventAwareInterface
 * @property-read   Input  $input  {@deprecated 4.0 will be removed in 6.0}
The Joomla Input property. Deprecated in favour of getInput()
 */
interface CMSApplicationInterface extends ExtensionManagerInterface,
ConfigurationAwareApplicationInterface, EventAwareInterface
{
    /**
     * Constant defining an enqueued emergency message
     *
     * @var    string
     * @since  4.0.0
     */
    public const MSG_EMERGENCY = 'emergency';

    /**
     * Constant defining an enqueued alert message
     *
     * @var    string
     * @since  4.0.0
     */
    public const MSG_ALERT = 'alert';

    /**
     * Constant defining an enqueued critical message
     *
     * @var    string
     * @since  4.0.0
     */
    public const MSG_CRITICAL = 'critical';

    /**
     * Constant defining an enqueued error message
     *
     * @var    string
     * @since  4.0.0
     */
    public const MSG_ERROR = 'error';

    /**
     * Constant defining an enqueued warning message
     *
     * @var    string
     * @since  4.0.0
     */
    public const MSG_WARNING = 'warning';

    /**
     * Constant defining an enqueued notice message
     *
     * @var    string
     * @since  4.0.0
     */
    public const MSG_NOTICE = 'notice';

    /**
     * Constant defining an enqueued info message
     *
     * @var    string
     * @since  4.0.0
     */
    public const MSG_INFO = 'info';

    /**
     * Constant defining an enqueued debug message
     *
     * @var    string
     * @since  4.0.0
     */
    public const MSG_DEBUG = 'debug';

    /**
     * Enqueue a system message.
     *
     * @param   string  $msg   The message to enqueue.
     * @param   string  $type  The message type.
     *
     * @return  void
     *
     * @since   4.0.0
     */
    public function enqueueMessage($msg, $type = self::MSG_INFO);

    /**
     * Get the system message queue.
     *
     * @return  array  The system message queue.
     *
     * @since   4.0.0
     */
    public function getMessageQueue();

    /**
     * Check the client interface by name.
     *
     * @param   string  $identifier  String identifier for the application
interface
     *
     * @return  boolean  True if this application is of the given type
client interface.
     *
     * @since   4.0.0
     */
    public function isClient($identifier);

    /**
     * Flag if the application instance is a CLI or web based application.
     *
     * Helper function, you should use the native PHP functions to detect
if it is a CLI application.
     *
     * @return  boolean
     *
     * @since       4.0.0
     *
     * @deprecated  4.0 will be removed in 6.0
     *              Will be removed without replacement. CLI will be
handled by the joomla/console package instead
     */
    public function isCli();

    /**
     * Get the application identity.
     *
     * @return  User|null  A User object or null if not set.
     *
     * @since   4.0.0
     */
    public function getIdentity();

    /**
     * Method to get the application input object.
     *
     * @return  Input
     *
     * @since   4.0.0
     */
    public function getInput(): Input;

    /**
     * Method to get the application language object.
     *
     * @return  Language  The language object
     *
     * @since   4.0.0
     */
    public function getLanguage();

    /**
     * Gets the name of the current running application.
     *
     * @return  string  The name of the application.
     *
     * @since   4.0.0
     */
    public function getName();

    /**
     * Allows the application to load a custom or default identity.
     *
     * @param   ?User  $identity  An optional identity object. If omitted,
the factory user is created.
     *
     * @return  $this
     *
     * @since   4.0.0
     */
    public function loadIdentity(User $identity = null);
}