Files
Jonathan Miller 21e892013b
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Failing after 5s
Generic: Project CI / Lint & Validate (push) Successful in 26s
Generic: Project CI / Tests (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
feat: scaffold Joomla package structure (#1, #2)
4 sub-extensions: com, system plugin, webservices, task plugin.
6 DB tables: pageviews, visitors, campaigns, ad_accounts, ad_metrics, reports.
Privacy-first: no cookies, daily visitor hash rotation, IP anonymization.
2026-06-11 12:03:04 -05:00

33 lines
996 B
PHP

<?php
/**
* @copyright (C) 2026 Moko Consulting. All rights reserved.
* @license GPL-3.0-or-later
*/
declare(strict_types=1);
use Joomla\CMS\Extension\PluginInterface;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use Joomla\Event\DispatcherInterface;
use MokoConsulting\Plugin\Task\MokoSuiteAnalytics\Extension\MokoSuiteAnalyticsTask;
return new class () implements ServiceProviderInterface {
public function register(Container $container): void
{
$container->set(
PluginInterface::class,
function (Container $container) {
$plugin = new MokoSuiteAnalyticsTask(
$container->get(DispatcherInterface::class),
(array) PluginHelper::getPlugin('task', 'mokosuiteanalytics')
);
$plugin->setApplication(\Joomla\CMS\Factory::getApplication());
return $plugin;
}
);
}
};