integration_moodle/lib/AppInfo/Application.php
Julien Veyssier 163893a679
refs #17 add admin option to globally disable search
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-01-27 12:08:12 +01:00

61 lines
1.5 KiB
PHP

<?php
/**
* Nextcloud - Moodle
*
*
* @author Julien Veyssier <eneiluj@posteo.net>
* @copyright Julien Veyssier 2020
*/
namespace OCA\Moodle\AppInfo;
use OCP\IContainer;
use OCP\IConfig;
use OCP\AppFramework\App;
use OCP\AppFramework\IAppContainer;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
use OCP\AppFramework\Bootstrap\IBootContext;
use OCP\AppFramework\Bootstrap\IBootstrap;
use OCA\Moodle\Controller\PageController;
use OCA\Moodle\Dashboard\MoodleWidget;
use OCA\Moodle\Search\MoodleSearchCoursesProvider;
use OCA\Moodle\Search\MoodleSearchModulesProvider;
use OCA\Moodle\Search\MoodleSearchUpcomingProvider;
/**
* Class Application
*
* @package OCA\Moodle\AppInfo
*/
class Application extends App implements IBootstrap {
public const APP_ID = 'integration_moodle';
/**
* Constructor
*
* @param array $urlParams
*/
public function __construct(array $urlParams = []) {
parent::__construct(self::APP_ID, $urlParams);
$container = $this->getContainer();
$this->config = $container->query(IConfig::class);
}
public function register(IRegistrationContext $context): void {
$context->registerDashboardWidget(MoodleWidget::class);
if ($this->config->getAppValue(self::APP_ID, 'search_disabled', '0') === '0') {
$context->registerSearchProvider(MoodleSearchCoursesProvider::class);
$context->registerSearchProvider(MoodleSearchModulesProvider::class);
$context->registerSearchProvider(MoodleSearchUpcomingProvider::class);
}
}
public function boot(IBootContext $context): void {
}
}