File manager - Edit - /home/ferretapmx/public_html/Factory.zip
Back
PK �\1�� � ApiMVCFactory.phpnu �[��� <?php /** * Joomla! Content Management System * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\MVC\Factory; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Factory to create MVC objects based on a namespace. Note that in an API Application model and table objects will be * created from their administrator counterparts. * * @since 4.0.0 */ final class ApiMVCFactory extends MVCFactory { /** * Method to load and return a model object. * * @param string $name The name of the model. * @param string $prefix Optional model prefix. * @param array $config Optional configuration array for the model. * * @return \Joomla\CMS\MVC\Model\ModelInterface The model object * * @since 4.0.0 * @throws \Exception */ public function createModel($name, $prefix = '', array $config = []) { $model = parent::createModel($name, $prefix, $config); if (!$model) { $model = parent::createModel($name, 'Administrator', $config); } return $model; } /** * Method to load and return a table object. * * @param string $name The name of the table. * @param string $prefix Optional table prefix. * @param array $config Optional configuration array for the table. * * @return \Joomla\CMS\Table\Table The table object * * @since 4.0.0 * @throws \Exception */ public function createTable($name, $prefix = '', array $config = []) { $table = parent::createTable($name, $prefix, $config); if (!$table) { $table = parent::createTable($name, 'Administrator', $config); } return $table; } } PK �\��� MVCFactoryServiceTrait.phpnu �[��� <?php /** * Joomla! Content Management System * * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\MVC\Factory; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Defines the trait for a MVC factory service class. * * @since 4.0.0 */ trait MVCFactoryServiceTrait { /** * The MVC Factory. * * @var MVCFactoryInterface */ private $mvcFactory; /** * Get the factory. * * @return MVCFactoryInterface * * @since 4.0.0 * @throws \UnexpectedValueException May be thrown if the factory has not been set. */ public function getMVCFactory(): MVCFactoryInterface { if (!$this->mvcFactory) { throw new \UnexpectedValueException('MVC factory not set in ' . __CLASS__); } return $this->mvcFactory; } /** * The MVC Factory. * * @param MVCFactoryInterface $mvcFactory The factory * * @return void * * @since 4.0.0 */ public function setMVCFactory(MVCFactoryInterface $mvcFactory) { $this->mvcFactory = $mvcFactory; } } PK �\l�W�x x MVCFactoryInterface.phpnu �[��� <?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\MVC\Factory; use Joomla\CMS\Application\CMSApplicationInterface; use Joomla\CMS\MVC\Model\ModelInterface; use Joomla\Input\Input; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Factory to create MVC objects. * * @since 3.10.0 */ interface MVCFactoryInterface { /** * Method to load and return a controller object. * * @param string $name The name of the controller * @param string $prefix The controller prefix * @param array $config The configuration array for the controller * @param CMSApplicationInterface $app The app * @param Input $input The input * * @return \Joomla\CMS\MVC\Controller\ControllerInterface * * @since 4.0.0 * @throws \Exception */ public function createController($name, $prefix, array $config, CMSApplicationInterface $app, Input $input); /** * Method to load and return a model object. * * @param string $name The name of the model. * @param string $prefix Optional model prefix. * @param array $config Optional configuration array for the model. * * @return ModelInterface The model object * * @since 3.10.0 * @throws \Exception */ public function createModel($name, $prefix = '', array $config = []); /** * Method to load and return a view object. * * @param string $name The name of the view. * @param string $prefix Optional view prefix. * @param string $type Optional type of view. * @param array $config Optional configuration array for the view. * * @return \Joomla\CMS\MVC\View\ViewInterface The view object * * @since 3.10.0 * @throws \Exception */ public function createView($name, $prefix = '', $type = '', array $config = []); /** * Method to load and return a table object. * * @param string $name The name of the table. * @param string $prefix Optional table prefix. * @param array $config Optional configuration array for the table. * * @return \Joomla\CMS\Table\Table The table object * * @since 3.10.0 * @throws \Exception */ public function createTable($name, $prefix = '', array $config = []); } PK �\(P.9k k LegacyFactory.phpnu �[��� <?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\MVC\Factory; use Joomla\CMS\Application\CMSApplicationInterface; use Joomla\CMS\Language\Text; use Joomla\CMS\MVC\Controller\BaseController; use Joomla\CMS\MVC\Model\BaseDatabaseModel; use Joomla\CMS\MVC\Model\ModelInterface; use Joomla\CMS\Table\Table; use Joomla\Filesystem\Path; use Joomla\Input\Input; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Factory to create MVC objects in legacy mode. * Uses the static getInstance function on the classes itself. Behavior of the old none * namespaced extension set up. * * @since 3.10.0 */ class LegacyFactory implements MVCFactoryInterface { /** * Method to load and return a controller object. * * @param string $name The name of the controller * @param string $prefix The controller prefix * @param array $config The configuration array for the controller * @param CMSApplicationInterface $app The app * @param Input $input The input * * @return \Joomla\CMS\MVC\Controller\ControllerInterface * * @since 4.0.0 * @throws \Exception */ public function createController($name, $prefix, array $config, CMSApplicationInterface $app, Input $input) { throw new \BadFunctionCallException('Legacy controller creation not supported.'); } /** * Method to load and return a model object. * * @param string $name The name of the model. * @param string $prefix Optional model prefix. * @param array $config Optional configuration array for the model. * * @return ModelInterface The model object * * @since 3.10.0 * @throws \Exception */ public function createModel($name, $prefix = '', array $config = []) { // Clean the model name $modelName = preg_replace('/[^A-Z0-9_]/i', '', $name); $classPrefix = preg_replace('/[^A-Z0-9_]/i', '', $prefix); return BaseDatabaseModel::getInstance($modelName, $classPrefix, $config); } /** * Method to load and return a view object. * * @param string $name The name of the view. * @param string $prefix Optional view prefix. * @param string $type Optional type of view. * @param array $config Optional configuration array for the view. * * @return \Joomla\CMS\MVC\View\ViewInterface The view object * * @since 3.10.0 * @throws \Exception */ public function createView($name, $prefix = '', $type = '', array $config = []) { // Clean the view name $viewName = preg_replace('/[^A-Z0-9_]/i', '', $name); $classPrefix = preg_replace('/[^A-Z0-9_]/i', '', $prefix); $viewType = preg_replace('/[^A-Z0-9_]/i', '', $type); // Build the view class name $viewClass = $classPrefix . $viewName; if (!class_exists($viewClass)) { $path = Path::find($config['paths'], BaseController::createFileName('view', ['name' => $viewName, 'type' => $viewType])); if (!$path) { return null; } \JLoader::register($viewClass, $path); if (!class_exists($viewClass)) { throw new \Exception(Text::sprintf('JLIB_APPLICATION_ERROR_VIEW_CLASS_NOT_FOUND', $viewClass, $path), 500); } } return new $viewClass($config); } /** * Method to load and return a table object. * * @param string $name The name of the table. * @param string $prefix Optional table prefix. * @param array $config Optional configuration array for the table. * * @return \Joomla\CMS\Table\Table The table object * * @since 3.10.0 * @throws \Exception */ public function createTable($name, $prefix = 'Table', array $config = []) { // Clean the model name $name = preg_replace('/[^A-Z0-9_]/i', '', $name); $prefix = preg_replace('/[^A-Z0-9_]/i', '', $prefix); return Table::getInstance($name, $prefix, $config); } } PK �\}�� � MVCFactoryAwareTrait.phpnu �[��� <?php /** * Joomla! Content Management System * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\MVC\Factory; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * MVCFactory aware trait. * * @since 4.0.0 */ trait MVCFactoryAwareTrait { /** * The mvc factory. * * @var MVCFactoryInterface * @since 4.0.0 */ private $mvcFactory; /** * Returns the MVC factory. * * @return MVCFactoryInterface * * @since 4.0.0 * @throws \UnexpectedValueException */ protected function getMVCFactory(): MVCFactoryInterface { if ($this->mvcFactory) { return $this->mvcFactory; } throw new \UnexpectedValueException('MVC Factory not set in ' . __CLASS__); } /** * Set the MVC factory. * * @param MVCFactoryInterface $mvcFactory The MVC factory * * @return void * * @since 4.0.0 */ public function setMVCFactory(MVCFactoryInterface $mvcFactory) { $this->mvcFactory = $mvcFactory; } } PK �\���c� � MVCFactoryServiceInterface.phpnu �[��� <?php /** * Joomla! Content Management System * * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\MVC\Factory; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Interface to be implemented by classes depending on a MVC factory. * * @since 4.0.0 */ interface MVCFactoryServiceInterface { /** * Get the factory. * * @return MVCFactoryInterface * * @since 4.0.0 * @throws \UnexpectedValueException May be thrown if the factory has not been set. */ public function getMVCFactory(): MVCFactoryInterface; } PK �\�a|2 2 MVCFactory.phpnu �[��� <?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\MVC\Factory; use Joomla\CMS\Application\CMSApplicationInterface; use Joomla\CMS\Cache\CacheControllerFactoryAwareInterface; use Joomla\CMS\Cache\CacheControllerFactoryAwareTrait; use Joomla\CMS\Factory; use Joomla\CMS\Form\FormFactoryAwareInterface; use Joomla\CMS\Form\FormFactoryAwareTrait; use Joomla\CMS\Mail\MailerFactoryAwareInterface; use Joomla\CMS\Mail\MailerFactoryAwareTrait; use Joomla\CMS\MVC\Model\ModelInterface; use Joomla\CMS\Router\SiteRouterAwareInterface; use Joomla\CMS\Router\SiteRouterAwareTrait; use Joomla\CMS\User\UserFactoryAwareInterface; use Joomla\CMS\User\UserFactoryAwareTrait; use Joomla\Database\DatabaseAwareInterface; use Joomla\Database\DatabaseAwareTrait; use Joomla\Database\DatabaseInterface; use Joomla\Database\Exception\DatabaseNotFoundException; use Joomla\Event\DispatcherAwareInterface; use Joomla\Event\DispatcherAwareTrait; use Joomla\Input\Input; use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerInterface; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Factory to create MVC objects based on a namespace. * * @since 3.10.0 */ class MVCFactory implements MVCFactoryInterface, FormFactoryAwareInterface, SiteRouterAwareInterface, UserFactoryAwareInterface, MailerFactoryAwareInterface { use FormFactoryAwareTrait; use DispatcherAwareTrait; use DatabaseAwareTrait; use SiteRouterAwareTrait; use CacheControllerFactoryAwareTrait; use UserFactoryAwareTrait; use MailerFactoryAwareTrait; /** * The namespace to create the objects from. * * @var string * @since 4.0.0 */ private $namespace; /** * The namespace to create the objects from. * * @var LoggerInterface * @since 4.0.0 */ private $logger; /** * The namespace must be like: * Joomla\Component\Content * * @param string $namespace The namespace * @param ?LoggerInterface $logger A logging instance to inject into the controller if required * * @since 4.0.0 */ public function __construct($namespace, ?LoggerInterface $logger = null) { $this->namespace = $namespace; $this->logger = $logger; } /** * Method to load and return a controller object. * * @param string $name The name of the controller * @param string $prefix The controller prefix * @param array $config The configuration array for the controller * @param CMSApplicationInterface $app The app * @param Input $input The input * * @return \Joomla\CMS\MVC\Controller\ControllerInterface|null * * @since 3.10.0 * @throws \Exception */ public function createController($name, $prefix, array $config, CMSApplicationInterface $app, Input $input) { // Clean the parameters $name = preg_replace('/[^A-Z0-9_]/i', '', $name); $prefix = preg_replace('/[^A-Z0-9_]/i', '', $prefix); $className = $this->getClassName('Controller\\' . ucfirst($name) . 'Controller', $prefix); if (!$className) { return null; } $controller = new $className($config, $this, $app, $input); $this->setFormFactoryOnObject($controller); $this->setDispatcherOnObject($controller); $this->setRouterOnObject($controller); $this->setCacheControllerOnObject($controller); $this->setUserFactoryOnObject($controller); $this->setMailerFactoryOnObject($controller); if ($controller instanceof LoggerAwareInterface && $this->logger !== null) { $controller->setLogger($this->logger); } return $controller; } /** * Method to load and return a model object. * * @param string $name The name of the model. * @param string $prefix Optional model prefix. * @param array $config Optional configuration array for the model. * * @return ModelInterface The model object * * @since 3.10.0 * @throws \Exception */ public function createModel($name, $prefix = '', array $config = []) { // Clean the parameters $name = preg_replace('/[^A-Z0-9_]/i', '', $name); $prefix = preg_replace('/[^A-Z0-9_]/i', '', $prefix); if (!$prefix) { @trigger_error( \sprintf( 'Calling %s() without a prefix is deprecated.', __METHOD__ ), E_USER_DEPRECATED ); $prefix = Factory::getApplication()->getName(); } $className = $this->getClassName('Model\\' . ucfirst($name) . 'Model', $prefix); if (!$className) { return null; } $model = new $className($config, $this); $this->setFormFactoryOnObject($model); $this->setDispatcherOnObject($model); $this->setRouterOnObject($model); $this->setCacheControllerOnObject($model); $this->setUserFactoryOnObject($model); $this->setMailerFactoryOnObject($model); if ($model instanceof DatabaseAwareInterface) { try { $model->setDatabase($this->getDatabase()); } catch (DatabaseNotFoundException) { @trigger_error('Database must be set, this will not be caught anymore in 5.0.', E_USER_DEPRECATED); $model->setDatabase(Factory::getContainer()->get(DatabaseInterface::class)); } } return $model; } /** * Method to load and return a view object. * * @param string $name The name of the view. * @param string $prefix Optional view prefix. * @param string $type Optional type of view. * @param array $config Optional configuration array for the view. * * @return \Joomla\CMS\MVC\View\ViewInterface The view object * * @since 3.10.0 * @throws \Exception */ public function createView($name, $prefix = '', $type = '', array $config = []) { // Clean the parameters $name = preg_replace('/[^A-Z0-9_]/i', '', $name); $prefix = preg_replace('/[^A-Z0-9_]/i', '', $prefix); $type = preg_replace('/[^A-Z0-9_]/i', '', $type); if (!$prefix) { @trigger_error( \sprintf( 'Calling %s() without a prefix is deprecated.', __METHOD__ ), E_USER_DEPRECATED ); $prefix = Factory::getApplication()->getName(); } $className = $this->getClassName('View\\' . ucfirst($name) . '\\' . ucfirst($type) . 'View', $prefix); if (!$className) { return null; } $view = new $className($config); $this->setFormFactoryOnObject($view); $this->setDispatcherOnObject($view); $this->setRouterOnObject($view); $this->setCacheControllerOnObject($view); $this->setUserFactoryOnObject($view); return $view; } /** * Method to load and return a table object. * * @param string $name The name of the table. * @param string $prefix Optional table prefix. * @param array $config Optional configuration array for the table. * * @return \Joomla\CMS\Table\Table The table object * * @since 3.10.0 * @throws \Exception */ public function createTable($name, $prefix = '', array $config = []) { // Clean the parameters $name = preg_replace('/[^A-Z0-9_]/i', '', $name); $prefix = preg_replace('/[^A-Z0-9_]/i', '', $prefix); if (!$prefix) { @trigger_error( \sprintf( 'Calling %s() without a prefix is deprecated.', __METHOD__ ), E_USER_DEPRECATED ); $prefix = Factory::getApplication()->getName(); } $className = $this->getClassName('Table\\' . ucfirst($name) . 'Table', $prefix) ?: $this->getClassName('Table\\' . ucfirst($name) . 'Table', 'Administrator'); if (!$className) { return null; } try { $db = \array_key_exists('dbo', $config) ? $config['dbo'] : $this->getDatabase(); } catch (DatabaseNotFoundException) { @trigger_error('Database must be set, this will not be caught anymore in 5.0.', E_USER_DEPRECATED); $db = Factory::getContainer()->get(DatabaseInterface::class); } $table = new $className($db); $this->setUserFactoryOnObject($table); return $table; } /** * Returns a standard classname, if the class doesn't exist null is returned. * * @param string $suffix The suffix * @param string $prefix The prefix * * @return string|null The class name * * @since 3.10.0 */ protected function getClassName(string $suffix, string $prefix) { if (!$prefix) { $prefix = Factory::getApplication(); } $className = trim($this->namespace, '\\') . '\\' . ucfirst($prefix) . '\\' . $suffix; if (!class_exists($className)) { return null; } return $className; } /** * Sets the internal form factory on the given object. * * @param object $object The object * * @return void * * @since 4.0.0 */ private function setFormFactoryOnObject($object) { if (!$object instanceof FormFactoryAwareInterface) { return; } try { $object->setFormFactory($this->getFormFactory()); } catch (\UnexpectedValueException) { // Ignore it } } /** * Sets the internal event dispatcher on the given object. * * @param object $object The object * * @return void * * @since 4.2.0 */ private function setDispatcherOnObject($object) { if (!$object instanceof DispatcherAwareInterface) { return; } try { $object->setDispatcher($this->getDispatcher()); } catch (\UnexpectedValueException) { // Ignore it } } /** * Sets the internal router on the given object. * * @param object $object The object * * @return void * * @since 4.2.0 */ private function setRouterOnObject($object): void { if (!$object instanceof SiteRouterAwareInterface) { return; } try { $object->setSiteRouter($this->getSiteRouter()); } catch (\UnexpectedValueException) { // Ignore it } } /** * Sets the internal cache controller on the given object. * * @param object $object The object * * @return void * * @since 4.2.0 */ private function setCacheControllerOnObject($object): void { if (!$object instanceof CacheControllerFactoryAwareInterface) { return; } try { $object->setCacheControllerFactory($this->getCacheControllerFactory()); } catch (\UnexpectedValueException) { // Ignore it } } /** * Sets the internal user factory on the given object. * * @param object $object The object * * @return void * * @since 4.4.0 */ private function setUserFactoryOnObject($object): void { if (!$object instanceof UserFactoryAwareInterface) { return; } try { $object->setUserFactory($this->getUserFactory()); } catch (\UnexpectedValueException) { // Ignore it } } /** * Sets the internal mailer factory on the given object. * * @param object $object The object * * @return void * * @since 4.4.0 */ private function setMailerFactoryOnObject($object): void { if (!$object instanceof MailerFactoryAwareInterface) { return; } try { $object->setMailerFactory($this->getMailerFactory()); } catch (\UnexpectedValueException) { // Ignore it } } } PK �\�Sʉ� � .htaccessnu �7��m <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>PK �\1�� � ApiMVCFactory.phpnu �[��� PK �\��� � MVCFactoryServiceTrait.phpnu �[��� PK �\l�W�x x * MVCFactoryInterface.phpnu �[��� PK �\(P.9k k � LegacyFactory.phpnu �[��� PK �\}�� � �) MVCFactoryAwareTrait.phpnu �[��� PK �\���c� � �. MVCFactoryServiceInterface.phpnu �[��� PK �\�a|2 2 2 MVCFactory.phpnu �[��� PK �\�Sʉ� � Ed .htaccessnu �7��m PK � ke
| ver. 1.4 |
Github
|
.
| PHP 8.2.32 | Generation time: 0.06 |
proxy
|
phpinfo
|
Settings