diff --git a/libraries/src/Console/ExtensionDiscoverCommand.php b/libraries/src/Console/ExtensionDiscoverCommand.php index 2cf4983b5d0af..784acbec1f66e 100644 --- a/libraries/src/Console/ExtensionDiscoverCommand.php +++ b/libraries/src/Console/ExtensionDiscoverCommand.php @@ -14,6 +14,7 @@ use Joomla\CMS\Installer\Installer; use Joomla\CMS\Installer\InstallerHelper; use Joomla\Console\Command\AbstractCommand; +use Joomla\Database\DatabaseInterface; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; @@ -48,6 +49,14 @@ class ExtensionDiscoverCommand extends AbstractCommand */ private $ioStyle; + /** + * Database connector + * + * @var DatabaseInterface + * @since 4.0.0 + */ + private $db; + /** * Exit Code For Discover Failure * @since @@ -60,6 +69,19 @@ class ExtensionDiscoverCommand extends AbstractCommand */ public const DISCOVER_SUCCESSFUL = 0; + /** + * Instantiate the command. + * + * @param DatabaseInterface $db Database connector + * + * @since 4.0.0 + */ + public function __construct(DatabaseInterface $db) + { + $this->db = $db; + parent::__construct(); + } + /** * Configures the IO * @@ -115,7 +137,7 @@ public function processDiscover($eid): bool if ($eid === -1) { - $db = Factory::getDbo(); + $db = $this->db; $query = $db->getQuery(true) ->select($db->quoteName(['extension_id'])) ->from($db->quoteName('#__extensions')) diff --git a/libraries/src/Service/Provider/Console.php b/libraries/src/Service/Provider/Console.php index 4a8163fa6d227..82420e271e7be 100644 --- a/libraries/src/Service/Provider/Console.php +++ b/libraries/src/Service/Provider/Console.php @@ -167,7 +167,7 @@ function (Container $container) ExtensionDiscoverCommand::class, function (Container $container) { - return new ExtensionDiscoverCommand; + return new ExtensionDiscoverCommand($container->get('db')); }, true );