<?php declare(strict_types = 0);
class CControllerGeomapsEdit extends CController {
protected function init(): void {
$this->disableCsrfValidation();
protected function checkInput(): bool {
protected function checkPermissions(): bool {
return $this->checkAccess(CRoleHelper::UI_ADMINISTRATION_GENERAL);
protected function doAction(): void {
$geomaps_tile_provider = CSettingsHelper::get(CSettingsHelper::GEOMAPS_TILE_PROVIDER);
$tile_providers = getTileProviders();
'geomaps_tile_provider' => $geomaps_tile_provider,
'tile_providers' => $tile_providers
if ($geomaps_tile_provider === '') {
'geomaps_tile_url' => CSettingsHelper::get(CSettingsHelper::GEOMAPS_TILE_URL),
'geomaps_max_zoom' => CSettingsHelper::get(CSettingsHelper::GEOMAPS_MAX_ZOOM),
'geomaps_attribution' => htmlspecialchars(CSettingsHelper::get(CSettingsHelper::GEOMAPS_ATTRIBUTION),
elseif (array_key_exists($geomaps_tile_provider, $tile_providers)) {
$data += $tile_providers[$geomaps_tile_provider];
$data['geomaps_tile_provider'] = array_key_first($tile_providers);
$data += reset($tile_providers);
$response = new CControllerResponseData($data);
$response->setTitle(_('Geographical maps'));
$this->setResponse($response);