Refactor to use Joomla 4 structure step 1 WIP

Signed-off-by: Roland Dalmulder <contact@rolandd.com>
This commit is contained in:
Roland Dalmulder 2023-08-17 22:01:47 +02:00
parent cfcfdf440d
commit 63510fe4f9
No known key found for this signature in database
GPG Key ID: 6D30CD38749A5B9E
31 changed files with 181 additions and 106 deletions

View File

@ -1,36 +0,0 @@
<?php
/**
* Patch testing component for the Joomla! CMS
*
* @copyright Copyright (C) 2011 - 2012 Ian MacLennan, Copyright (C) 2013 - 2018 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later
*/
\defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
if (!Factory::getUser()->authorise('core.manage', 'com_patchtester')) {
throw new RuntimeException(Text::_('JERROR_ALERTNOAUTHOR'), 403);
}
// Application reference
$app = Factory::getApplication();
// Import our Composer autoloader to load the component classes
require_once __DIR__ . '/vendor/autoload.php';
// Build the controller class name based on task
$task = $app->input->getCmd('task', 'display');
// If $task is an empty string, apply our default since JInput might not
if ($task === '') {
$task = 'display';
}
$class = '\\PatchTester\\Controller\\' . ucfirst(strtolower($task)) . 'Controller';
if (!class_exists($class)) {
throw new InvalidArgumentException(Text::sprintf('JLIB_APPLICATION_ERROR_INVALID_CONTROLLER_CLASS', $class), 404);
}
// Instantiate and execute the controller
/** @var \PatchTester\Controller\AbstractController $controller */
$controller = new $class($app);
$controller->execute();

View File

@ -9,6 +9,7 @@
<authorUrl>https://www.joomla.org</authorUrl> <authorUrl>https://www.joomla.org</authorUrl>
<version>4.2.2</version> <version>4.2.2</version>
<description>COM_PATCHTESTER_XML_DESCRIPTION</description> <description>COM_PATCHTESTER_XML_DESCRIPTION</description>
<namespace path="src">Joomla\Component\Patchtester</namespace>
<scriptfile>script.php</scriptfile> <scriptfile>script.php</scriptfile>
<install> <install>
<sql> <sql>
@ -38,7 +39,7 @@
<folder>js</folder> <folder>js</folder>
</media> </media>
<administration> <administration>
<menu img="../media/com_patchtester/images/icon-16-patchtester.png">com_patchtester</menu> <menu img="../media/com_patchtester/images/icon-16-patchtester.png" view="pulls">com_patchtester</menu>
<files folder="admin"> <files folder="admin">
<folder>backups</folder> <folder>backups</folder>
<folder>forms</folder> <folder>forms</folder>
@ -48,7 +49,6 @@
<folder>vendor</folder> <folder>vendor</folder>
<filename>access.xml</filename> <filename>access.xml</filename>
<filename>config.xml</filename> <filename>config.xml</filename>
<filename>patchtester.php</filename>
</files> </files>
</administration> </administration>
<updateservers> <updateservers>

View File

@ -0,0 +1,54 @@
<?php
/**
* Patch testing component for the Joomla! CMS
*
* @copyright Copyright (C) 2011 - 2012 Ian MacLennan, Copyright (C) 2013 - 2018 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later
*/
defined('_JEXEC') or die;
use Joomla\CMS\Dispatcher\ComponentDispatcherFactoryInterface;
use Joomla\CMS\Extension\ComponentInterface;
use Joomla\CMS\Extension\Service\Provider\ComponentDispatcherFactory;
use Joomla\CMS\Extension\Service\Provider\MVCFactory;
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
use Joomla\Component\Patchtester\Administrator\Extension\PatchtesterComponent;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
/**
* The patch tester service provider.
*
* @since 4.0.0
*/
return new class () implements ServiceProviderInterface {
/**
* Registers the service provider with a DI container.
*
* @param Container $container The DI container.
*
* @return void
*
* @since 4.0.0
*/
public function register(Container $container)
{
$container->registerServiceProvider(new MVCFactory('\\Joomla\\Component\\Patchtester'));
$container->registerServiceProvider(new ComponentDispatcherFactory('\\Joomla\\Component\\Patchtester'));
$container->set(
ComponentInterface::class,
function (Container $container) {
require_once dirname(__DIR__) . '/vendor/autoload.php';
$component = new PatchtesterComponent($container->get(ComponentDispatcherFactoryInterface::class));
$component->setMVCFactory($container->get(MVCFactoryInterface::class));
return $component;
}
);
}
};

View File

@ -7,20 +7,22 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Controller; namespace Joomla\Component\Patchtester\Administrator\Controller;
use Joomla\CMS\Application\CMSApplication; use Joomla\CMS\Application\CMSApplication;
use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\MVC\Controller\BaseController;
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
use Joomla\Component\Patchtester\Administrator\Model\AbstractModel;
use Joomla\Input\Input; use Joomla\Input\Input;
use Joomla\Registry\Registry; use Joomla\Registry\Registry;
use PatchTester\Model\AbstractModel;
/** /**
* Base controller for the patch testing component * Base controller for the patch testing component
* *
* @since 2.0 * @since 2.0
*/ */
abstract class AbstractController abstract class AbstractController extends BaseController
{ {
/** /**
* The active application * The active application
@ -50,7 +52,7 @@ abstract class AbstractController
* *
* @since 2.0 * @since 2.0
*/ */
public function __construct(CMSApplication $app) public function __construct($config = array(), MVCFactoryInterface $factory = null, ?CMSApplication $app = null, ?Input $input = null)
{ {
$this->app = $app; $this->app = $app;
// Set the context for the controller // Set the context for the controller

View File

@ -7,12 +7,12 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Controller; namespace Joomla\Component\Patchtester\Administrator\Controller;
use Joomla\CMS\Factory; use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route; use Joomla\CMS\Router\Route;
use PatchTester\Model\PullModel; use Joomla\Component\Patchtester\Administrator\Model\PullModel;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;

View File

@ -7,12 +7,12 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Controller; namespace Joomla\Component\Patchtester\Administrator\Controller;
use Joomla\CMS\Factory; use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\Controller\BaseController;
use Joomla\Registry\Registry; use Joomla\Registry\Registry;
use PatchTester\Model\AbstractModel;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;
@ -24,8 +24,16 @@ use PatchTester\Model\AbstractModel;
* *
* @since 2.0 * @since 2.0
*/ */
class DisplayController extends AbstractController class DisplayController extends BaseController
{ {
/**
* The default view.
*
* @var string
* @since 1.6
*/
protected $default_view = 'pulls';
/** /**
* Default ordering value * Default ordering value
* *
@ -41,7 +49,7 @@ class DisplayController extends AbstractController
* @since 2.0 * @since 2.0
* @throws \RuntimeException * @throws \RuntimeException
*/ */
public function execute() public function executeOld()
{ {
// Set up variables to build our classes // Set up variables to build our classes
$view = $this->getInput()->getCmd('view', $this->defaultView); $view = $this->getInput()->getCmd('view', $this->defaultView);

View File

@ -7,12 +7,12 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Controller; namespace Joomla\Component\Patchtester\Administrator\Controller;
use Joomla\CMS\Factory; use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use Joomla\CMS\Response\JsonResponse; use Joomla\CMS\Response\JsonResponse;
use PatchTester\Model\PullsModel; use Joomla\Component\Patchtester\Administrator\Model\PullsModel;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;

View File

@ -7,17 +7,17 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Controller; namespace Joomla\Component\Patchtester\Administrator\Controller;
use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory; use Joomla\CMS\Factory;
use Joomla\CMS\Filesystem\Folder; use Joomla\CMS\Filesystem\Folder;
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route; use Joomla\CMS\Router\Route;
use Joomla\Component\Patchtester\Administrator\Model\PullModel;
use Joomla\Component\Patchtester\Administrator\Model\PullsModel;
use Joomla\Component\Patchtester\Administrator\Model\TestsModel;
use Joomla\Filesystem\File; use Joomla\Filesystem\File;
use PatchTester\Model\PullModel;
use PatchTester\Model\PullsModel;
use PatchTester\Model\TestsModel;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;

View File

@ -7,12 +7,12 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Controller; namespace Joomla\Component\Patchtester\Administrator\Controller;
use Joomla\CMS\Factory; use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route; use Joomla\CMS\Router\Route;
use PatchTester\Model\PullModel; use Joomla\Component\Patchtester\Administrator\Model\PullModel;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;

View File

@ -7,14 +7,14 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Controller; namespace Joomla\Component\Patchtester\Administrator\Controller;
use Joomla\CMS\Factory; use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use Joomla\CMS\Response\JsonResponse; use Joomla\CMS\Response\JsonResponse;
use Joomla\CMS\Session\Session; use Joomla\CMS\Session\Session;
use PatchTester\Helper; use Joomla\Component\Patchtester\Administrator\Helper\Helper;
use PatchTester\Model\TestsModel; use Joomla\Component\Patchtester\Administrator\Model\TestsModel;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;

View File

@ -0,0 +1,44 @@
<?php
/**
* Patch testing component for the Joomla! CMS
*
* @copyright Copyright (C) 2011 - 2012 Ian MacLennan, Copyright (C) 2013 - 2018 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later
*/
namespace Joomla\Component\Patchtester\Administrator\Extension;
use Joomla\CMS\Extension\BootableExtensionInterface;
use Joomla\CMS\Extension\MVCComponent;
use Psr\Container\ContainerInterface;
// phpcs:disable PSR1.Files.SideEffects
\defined('JPATH_PLATFORM') or die;
// phpcs:enable PSR1.Files.SideEffects
/**
* Component class for com_contact
*
* @since 4.0.0
*/
class PatchtesterComponent extends MVCComponent
implements BootableExtensionInterface
{
/**
* Booting the extension. This is the function to set up the environment of the extension like
* registering new class loaders, etc.
*
* If required, some initial set up can be done from services of the container, eg.
* registering HTML services.
*
* @param ContainerInterface $container The container
*
* @return void
*
* @since 4.0.0
*/
public function boot(ContainerInterface $container)
{
}
}

View File

@ -7,7 +7,7 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Field; namespace Joomla\Component\Patchtester\Administrator\Field;
use Joomla\CMS\Factory; use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ListField; use Joomla\CMS\Form\Field\ListField;

View File

@ -7,7 +7,7 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Field; namespace Joomla\Component\Patchtester\Administrator\Field;
use Joomla\CMS\Factory; use Joomla\CMS\Factory;
use Joomla\CMS\Form\Field\ListField; use Joomla\CMS\Form\Field\ListField;

View File

@ -7,7 +7,7 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\GitHub\Exception; namespace Joomla\Component\Patchtester\Administrator\Github\Exception;
use Joomla\CMS\Http\Response; use Joomla\CMS\Http\Response;

View File

@ -7,12 +7,13 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\GitHub; namespace Joomla\Component\Patchtester\Administrator\GitHub;
use Joomla\CMS\Http\Http; use Joomla\CMS\Http\Http;
use Joomla\CMS\Http\HttpFactory; use Joomla\CMS\Http\HttpFactory;
use Joomla\CMS\Http\Response; use Joomla\CMS\Http\Response;
use Joomla\CMS\Uri\Uri; use Joomla\CMS\Uri\Uri;
use Joomla\Component\Patchtester\Administrator\Github\Exception\UnexpectedResponse;
use Joomla\Registry\Registry; use Joomla\Registry\Registry;
/** /**
@ -150,8 +151,8 @@ class GitHub
* *
* @return Response * @return Response
* *
* @since 3.0.0 * @throws UnexpectedResponse
* @throws Exception\UnexpectedResponse *@since 3.0.0
*/ */
protected function processResponse(Response $response, $expectedCode = 200) protected function processResponse(Response $response, $expectedCode = 200)
{ {
@ -162,7 +163,7 @@ class GitHub
$error = isset($body->error) ? $body->error $error = isset($body->error) ? $body->error
: (isset($body->message) ? $body->message : 'Unknown Error'); : (isset($body->message) ? $body->message : 'Unknown Error');
throw new Exception\UnexpectedResponse( throw new UnexpectedResponse(
$response, $response,
$error, $error,
$response->code $response->code

View File

@ -7,13 +7,13 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester; namespace Joomla\Component\Patchtester\Administrator\Helper;
use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory; use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use Joomla\Registry\Registry; use Joomla\Registry\Registry;
use PatchTester\GitHub\GitHub; use src\GitHub\GitHub;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;

View File

@ -7,7 +7,7 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester; namespace Joomla\Component\Patchtester\Administrator\Helper;
/** /**
* Helper class for Joomla's issue tracker integrations * Helper class for Joomla's issue tracker integrations

View File

@ -7,7 +7,7 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Model; namespace Joomla\Component\Patchtester\Administrator\Model;
use Joomla\CMS\Factory; use Joomla\CMS\Factory;
use Joomla\Database\DatabaseDriver; use Joomla\Database\DatabaseDriver;

View File

@ -7,9 +7,10 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Model; namespace Joomla\Component\Patchtester\Administrator\Model;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects // phpcs:enable PSR1.Files.SideEffects

View File

@ -7,7 +7,7 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Model; namespace Joomla\Component\Patchtester\Administrator\Model;
use Joomla\Archive\Zip; use Joomla\Archive\Zip;
use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Component\ComponentHelper;
@ -16,14 +16,14 @@ use Joomla\CMS\Filesystem\Path;
use Joomla\CMS\Http\HttpFactory; use Joomla\CMS\Http\HttpFactory;
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use Joomla\CMS\Version; use Joomla\CMS\Version;
use Joomla\Component\Patchtester\Administrator\Helper\Helper;
use Joomla\Database\DatabaseDriver; use Joomla\Database\DatabaseDriver;
use Joomla\Filesystem\File; use Joomla\Filesystem\File;
use Joomla\Filesystem\Folder; use Joomla\Filesystem\Folder;
use Joomla\Registry\Registry; use Joomla\Registry\Registry;
use PatchTester\GitHub\Exception\UnexpectedResponse;
use PatchTester\GitHub\GitHub;
use PatchTester\Helper;
use RuntimeException; use RuntimeException;
use src\GitHub\Exception\UnexpectedResponse;
use src\GitHub\GitHub;
use stdClass; use stdClass;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects

View File

@ -7,15 +7,15 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Model; namespace Joomla\Component\Patchtester\Administrator\Model;
use Exception; use Exception;
use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\Model\ListModel; use Joomla\CMS\MVC\Model\ListModel;
use Joomla\Component\Patchtester\Administrator\Github\Exception\UnexpectedResponse;
use Joomla\Component\Patchtester\Administrator\Helper\Helper;
use Joomla\Database\DatabaseQuery; use Joomla\Database\DatabaseQuery;
use PatchTester\GitHub\Exception\UnexpectedResponse;
use PatchTester\Helper;
use RuntimeException; use RuntimeException;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects

View File

@ -7,9 +7,10 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\Model; namespace Joomla\Component\Patchtester\Administrator\Model;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects // phpcs:enable PSR1.Files.SideEffects

View File

@ -7,11 +7,13 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\View; namespace Joomla\Component\Patchtester\Administrator\View;
use Joomla\CMS\Filesystem\Path; use Joomla\CMS\Filesystem\Path;
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use PatchTester\Model\AbstractModel; use Joomla\Component\Patchtester\Administrator\Model\AbstractModel;
use PatchTester\View\RuntimeException;
use PatchTester\View\SplPriorityQueue;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;

View File

@ -7,9 +7,9 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\View; namespace Joomla\Component\Patchtester\Administrator\View;
use PatchTester\Model\AbstractModel; use Joomla\Component\Patchtester\Administrator\Model\AbstractModel;
/** /**
* Base view for the patch testing component * Base view for the patch testing component

View File

@ -7,9 +7,10 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\View; namespace Joomla\Component\Patchtester\Administrator\View;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects // phpcs:enable PSR1.Files.SideEffects

View File

@ -15,7 +15,7 @@ use Joomla\CMS\Language\Text;
\defined('_JEXEC') or die; \defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects // phpcs:enable PSR1.Files.SideEffects
/** @var \PatchTester\View\DefaultHtmlView $this */ /** @var \Joomla\Component\Patchtester\Administrator\View\DefaultHtmlView $this */
HTMLHelper::_('jquery.framework'); HTMLHelper::_('jquery.framework');
HTMLHelper::_('behavior.core'); HTMLHelper::_('behavior.core');

View File

@ -7,17 +7,17 @@
* @license GNU General Public License version 2 or later * @license GNU General Public License version 2 or later
*/ */
namespace PatchTester\View\Pulls; namespace Joomla\Component\Patchtester\Administrator\View\Pulls;
use Exception; use Exception;
use Joomla\CMS\Form\Form; use Joomla\CMS\Form\Form;
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\View\HtmlView as BaseHtmlView;
use Joomla\CMS\Pagination\Pagination; use Joomla\CMS\Pagination\Pagination;
use Joomla\CMS\Toolbar\Toolbar; use Joomla\CMS\Toolbar\Toolbar;
use Joomla\CMS\Toolbar\ToolbarHelper; use Joomla\CMS\Toolbar\ToolbarHelper;
use Joomla\Component\Patchtester\Administrator\Helper\TrackerHelper;
use Joomla\Registry\Registry; use Joomla\Registry\Registry;
use PatchTester\TrackerHelper;
use PatchTester\View\DefaultHtmlView;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;
@ -28,9 +28,9 @@ use PatchTester\View\DefaultHtmlView;
* *
* @since 2.0 * @since 2.0
* *
* @property-read \PatchTester\Model\PullsModel $model The model object. * @property-read \Joomla\Component\Patchtester\Administrator\Model\PullsModel $model The model object.
*/ */
class PullsHtmlView extends DefaultHtmlView class HtmlView extends BaseHtmlView
{ {
/** /**
* Array containing environment errors * Array containing environment errors
@ -84,12 +84,12 @@ class PullsHtmlView extends DefaultHtmlView
/** /**
* Method to render the view. * Method to render the view.
* *
* @return string The rendered view. * @return void
* *
* @since 2.0.0 * @since 2.0.0
* @throws Exception * @throws Exception
*/ */
public function render(): string public function display($tpl = null): void
{ {
if (!extension_loaded('openssl')) { if (!extension_loaded('openssl')) {
$this->envErrors[] = Text::_('COM_PATCHTESTER_REQUIREMENT_OPENSSL'); $this->envErrors[] = Text::_('COM_PATCHTESTER_REQUIREMENT_OPENSSL');
@ -100,11 +100,12 @@ class PullsHtmlView extends DefaultHtmlView
} }
if (!count($this->envErrors)) { if (!count($this->envErrors)) {
$this->state = $this->model->getState(); $model = $this->getModel();
$this->items = $this->model->getItems(); $this->state = $model->getState();
$this->pagination = $this->model->getPagination(); $this->items = $model->getItems();
$this->filterForm = $this->model->getFilterForm(); $this->pagination = $model->getPagination();
$this->activeFilters = $this->model->getActiveFilters(); $this->filterForm = $model->getFilterForm();
$this->activeFilters = $model->getActiveFilters();
$this->trackerAlias = TrackerHelper::getTrackerAlias($this->state->get('github_user'), $this->state->get('github_repo')); $this->trackerAlias = TrackerHelper::getTrackerAlias($this->state->get('github_user'), $this->state->get('github_repo'));
} }
@ -115,7 +116,8 @@ class PullsHtmlView extends DefaultHtmlView
$this->addToolbar(); $this->addToolbar();
Text::script('COM_PATCHTESTER_CONFIRM_RESET'); Text::script('COM_PATCHTESTER_CONFIRM_RESET');
return parent::render();
parent::display($tpl);
} }
/** /**

View File

@ -16,7 +16,7 @@ use Joomla\CMS\Router\Route;
\defined('_JEXEC') or die; \defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects // phpcs:enable PSR1.Files.SideEffects
/** @var \PatchTester\View\Pulls\PullsHtmlView $this */ /** @var \Joomla\Component\Patchtester\Administrator\View\Pulls\PullsHtmlView $this */
HTMLHelper::_('stylesheet', 'com_patchtester/octicons.css', ['version' => '3.5.0', 'relative' => true]); HTMLHelper::_('stylesheet', 'com_patchtester/octicons.css', ['version' => '3.5.0', 'relative' => true]);
HTMLHelper::_('script', 'com_patchtester/patchtester.js', ['version' => 'auto', 'relative' => true]); HTMLHelper::_('script', 'com_patchtester/patchtester.js', ['version' => 'auto', 'relative' => true]);

View File

@ -8,7 +8,7 @@
*/ */
use Joomla\CMS\Language\Text; use Joomla\CMS\Language\Text;
use PatchTester\View\Pulls\PullsHtmlView; use Joomla\Component\Patchtester\Administrator\View\Pulls\PullsHtmlView;
// phpcs:disable PSR1.Files.SideEffects // phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die; \defined('_JEXEC') or die;

View File

@ -13,7 +13,7 @@ use Joomla\CMS\Language\Text;
\defined('_JEXEC') or die; \defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects // phpcs:enable PSR1.Files.SideEffects
/** @var \PatchTester\View\Pulls\PullsHtmlView $this */ /** @var \Joomla\Component\Patchtester\Administrator\View\Pulls\PullsHtmlView $this */
?> ?>
<h3><?php echo Text::_('COM_PATCHTESTER_REQUIREMENTS_HEADING'); ?></h3> <h3><?php echo Text::_('COM_PATCHTESTER_REQUIREMENTS_HEADING'); ?></h3>
<p><?php echo Text::_('COM_PATCHTESTER_REQUIREMENTS_NOT_MET'); ?></p> <p><?php echo Text::_('COM_PATCHTESTER_REQUIREMENTS_NOT_MET'); ?></p>

View File

@ -18,10 +18,5 @@
"require-dev": { "require-dev": {
"joomla/crowdin-sync": "dev-master", "joomla/crowdin-sync": "dev-master",
"squizlabs/php_codesniffer": "~3.0" "squizlabs/php_codesniffer": "~3.0"
},
"autoload": {
"psr-4": {
"PatchTester\\": "administrator/components/com_patchtester/PatchTester/"
}
} }
} }