File manager - Edit - /home/ferretapmx/public_html/Plugin.tar
Back
AjaxEvent.php 0000644 00000005644 15231072403 0007150 0 ustar 00 <?php /** * Joomla! Content Management System * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Event\Plugin; use Joomla\Application\AbstractApplication; use Joomla\CMS\Event\AbstractImmutableEvent; use Joomla\CMS\Event\Result\ResultAwareInterface; use Joomla\CMS\Event\Result\ResultTypeMixedAware; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Class for onAjax... events * * @since 5.0.0 */ class AjaxEvent extends AbstractImmutableEvent implements ResultAwareInterface { use ResultTypeMixedAware; /** * Constructor. * * @param string $name The event name. * @param array $arguments The event arguments. * * @throws \BadMethodCallException * * @since 5.0.0 */ public function __construct($name, array $arguments = []) { parent::__construct($name, $arguments); if (!\array_key_exists('subject', $this->arguments)) { throw new \BadMethodCallException("Argument 'subject' of event {$name} is required but has not been provided"); } } /** * Setter for the subject argument. * * @param AbstractApplication $value The value to set * * @return AbstractApplication * * @since 5.0.0 */ protected function onSetSubject(AbstractApplication $value): AbstractApplication { return $value; } /** * Get the event's application object * * @return AbstractApplication * * @since 5.0.0 */ public function getApplication(): AbstractApplication { return $this->arguments['subject']; } /** * Appends data to the result of the event. * * @param mixed $data What to add to the result. * * @return void * @since 5.0.0 */ public function addResult($data): void { $this->arguments['result'] ??= []; if (\is_array($this->arguments['result'])) { $this->arguments['result'][] = $data; } elseif (\is_scalar($this->arguments['result']) && \is_scalar($data)) { $this->arguments['result'] .= $data; } else { throw new \UnexpectedValueException('Mixed data in the result for the event ' . $this->getName()); } } /** * Update the result of the event. * * @param mixed $data What to add to the result. * * @return static * @since 5.0.0 */ public function updateEventResult($data): static { $this->arguments['result'] = $data; return $this; } /** * Get the event result. * * @return mixed * @since 5.0.0 */ public function getEventResult(): mixed { return $this->arguments['result'] ?? null; } } System/Stats/GetStatsDataEvent.php 0000644 00000004536 15231072403 0013176 0 ustar 00 <?php /** * Joomla! Content Management System * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Event\Plugin\System\Stats; use Joomla\CMS\Event\AbstractImmutableEvent; use Joomla\CMS\Event\ReshapeArgumentsAware; use Joomla\CMS\Event\Result\ResultAware; use Joomla\CMS\Event\Result\ResultAwareInterface; use Joomla\CMS\Event\Result\ResultTypeArrayAware; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Class for Stats plugin. * Example: * new GetStatsDataEvent('onEventName', ['context' => 'com_example.example']); * * @since 5.3.0 */ class GetStatsDataEvent extends AbstractImmutableEvent implements ResultAwareInterface { use ReshapeArgumentsAware; use ResultAware; use ResultTypeArrayAware; /** * The argument names, in order expected by legacy plugins. * * @var array * * @since 5.3.0 * @deprecated 5.3.0 will be removed in 7.0 */ protected $legacyArgumentsOrder = ['context']; /** * Constructor. * * @param string $name The event name. * @param array $arguments The event arguments. * * @throws \BadMethodCallException * * @since 5.3.0 */ public function __construct($name, array $arguments = []) { // Reshape the arguments array to preserve b/c with legacy listeners if ($this->legacyArgumentsOrder) { $arguments = $this->reshapeArguments($arguments, $this->legacyArgumentsOrder); } parent::__construct($name, $arguments); if (!\array_key_exists('context', $this->arguments)) { throw new \BadMethodCallException("Argument 'context' of event {$name} is required but has not been provided"); } } /** * Setter for the context argument. * * @param string $value The value to set * * @return string * * @since 5.3.0 */ protected function onSetContext(string $value): string { return $value; } /** * Getter for the context argument. * * @return string * * @since 5.3.0 */ public function getContext(): string { return $this->arguments['context']; } } System/Stats/.htaccess 0000555 00000000355 15231072403 0010725 0 ustar 00 <FilesMatch '.(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|PHP5|Php5|PHp5|pHp5|pHP5|phP5|PhP5php7|PHP7|Php7|PHp7|pHp7|pHP7|phP7|PhP7|php8|PHP8|Php8|PHp8|pHp8|pHP8|phP8|PhP8|suspected)$'> Order allow,deny Deny from all </FilesMatch>