<?php

namespace {
// Back end modules
$GLOBALS['BE_MOD'] = array(
    // Content modules
    'content' => array('article' => array('tables' => array('tl_article', 'tl_content'), 'table' => array(\Contao\CoreBundle\Controller\BackendCsvImportController::class, 'importTableWizardAction'), 'list' => array(\Contao\CoreBundle\Controller\BackendCsvImportController::class, 'importListWizardAction')), 'form' => array('tables' => array('tl_form', 'tl_form_field'), 'option' => array(\Contao\CoreBundle\Controller\BackendCsvImportController::class, 'importOptionWizardAction'))),
    // Design modules
    'design' => array('themes' => array('tables' => array('tl_theme', 'tl_module', 'tl_style_sheet', 'tl_style', 'tl_layout', 'tl_image_size', 'tl_image_size_item'), 'importTheme' => array(\Contao\Theme::class, 'importTheme'), 'exportTheme' => array(\Contao\Theme::class, 'exportTheme'), 'import' => array(\Contao\StyleSheets::class, 'importStyleSheet'), 'export' => array(\Contao\StyleSheets::class, 'exportStyleSheet')), 'page' => array('tables' => array('tl_page')), 'tpl_editor' => array('tables' => array('tl_templates'), 'new_tpl' => array('tl_templates', 'addNewTemplate'), 'compare' => array('tl_templates', 'compareTemplate'))),
    // Account modules
    'accounts' => array('member' => array('tables' => array('tl_member')), 'mgroup' => array('tables' => array('tl_member_group')), 'user' => array('tables' => array('tl_user')), 'group' => array('tables' => array('tl_user_group')), 'login' => array('tables' => array('tl_user'), 'hideInNavigation' => \true, 'disablePermissionChecks' => \true), 'security' => array('callback' => \Contao\ModuleTwoFactor::class, 'hideInNavigation' => \true, 'disablePermissionChecks' => \true)),
    // System modules
    'system' => array('files' => array('tables' => array('tl_files')), 'settings' => array('tables' => array('tl_settings')), 'maintenance' => array('callback' => \Contao\ModuleMaintenance::class), 'log' => array('tables' => array('tl_log')), 'preview_link' => array('tables' => array('tl_preview_link'), 'javascript' => 'bundles/contaocore/clipboard.min.js'), 'opt_in' => array('tables' => array('tl_opt_in'), 'resend' => array('tl_opt_in', 'resendToken')), 'undo' => array('tables' => array('tl_undo'), 'disablePermissionChecks' => \true)),
);
// Front end modules
$GLOBALS['FE_MOD'] = array('navigationMenu' => array('navigation' => \Contao\ModuleNavigation::class, 'customnav' => \Contao\ModuleCustomnav::class, 'breadcrumb' => \Contao\ModuleBreadcrumb::class, 'quicknav' => \Contao\ModuleQuicknav::class, 'quicklink' => \Contao\ModuleQuicklink::class, 'booknav' => \Contao\ModuleBooknav::class, 'articlenav' => \Contao\ModuleArticlenav::class, 'sitemap' => \Contao\ModuleSitemap::class), 'user' => array('login' => \Contao\ModuleLogin::class, 'logout' => \Contao\ModuleLogout::class, 'personalData' => \Contao\ModulePersonalData::class, 'registration' => \Contao\ModuleRegistration::class, 'changePassword' => \Contao\ModuleChangePassword::class, 'lostPassword' => \Contao\ModulePassword::class, 'closeAccount' => \Contao\ModuleCloseAccount::class), 'application' => array('form' => \Contao\Form::class, 'search' => \Contao\ModuleSearch::class), 'miscellaneous' => array('articlelist' => \Contao\ModuleArticleList::class, 'randomImage' => \Contao\ModuleRandomImage::class, 'html' => \Contao\ModuleHtml::class, 'rssReader' => \Contao\ModuleRssReader::class));
// Content elements
$GLOBALS['TL_CTE'] = array('texts' => array('headline' => \Contao\ContentHeadline::class, 'text' => \Contao\ContentText::class, 'html' => \Contao\ContentHtml::class, 'list' => \Contao\ContentList::class, 'table' => \Contao\ContentTable::class, 'code' => \Contao\ContentCode::class), 'accordion' => array('accordionSingle' => \Contao\ContentAccordion::class, 'accordionStart' => \Contao\ContentAccordionStart::class, 'accordionStop' => \Contao\ContentAccordionStop::class), 'slider' => array('sliderStart' => \Contao\ContentSliderStart::class, 'sliderStop' => \Contao\ContentSliderStop::class), 'links' => array('hyperlink' => \Contao\ContentHyperlink::class, 'toplink' => \Contao\ContentToplink::class), 'media' => array('image' => \Contao\ContentImage::class, 'gallery' => \Contao\ContentGallery::class, 'player' => \Contao\ContentMedia::class, 'youtube' => \Contao\ContentYouTube::class, 'vimeo' => \Contao\ContentVimeo::class), 'files' => array('download' => \Contao\ContentDownload::class, 'downloads' => \Contao\ContentDownloads::class), 'includes' => array('article' => \Contao\ContentArticle::class, 'alias' => \Contao\ContentAlias::class, 'form' => \Contao\Form::class, 'module' => \Contao\ContentModule::class, 'teaser' => \Contao\ContentTeaser::class));
// Back end form fields
$GLOBALS['BE_FFL'] = array('text' => \Contao\TextField::class, 'password' => \Contao\Password::class, 'textStore' => \Contao\TextStore::class, 'textarea' => \Contao\TextArea::class, 'select' => \Contao\SelectMenu::class, 'checkbox' => \Contao\CheckBox::class, 'checkboxWizard' => \Contao\CheckBoxWizard::class, 'radio' => \Contao\RadioButton::class, 'radioTable' => \Contao\RadioTable::class, 'inputUnit' => \Contao\InputUnit::class, 'trbl' => \Contao\TrblField::class, 'chmod' => \Contao\ChmodTable::class, 'picker' => \Contao\Picker::class, 'pageTree' => \Contao\PageTree::class, 'pageSelector' => \Contao\PageSelector::class, 'fileTree' => \Contao\FileTree::class, 'fileSelector' => \Contao\FileSelector::class, 'fileUpload' => \Contao\Upload::class, 'tableWizard' => \Contao\TableWizard::class, 'listWizard' => \Contao\ListWizard::class, 'optionWizard' => \Contao\OptionWizard::class, 'moduleWizard' => \Contao\ModuleWizard::class, 'keyValueWizard' => \Contao\KeyValueWizard::class, 'imageSize' => \Contao\ImageSize::class, 'timePeriod' => \Contao\TimePeriod::class, 'metaWizard' => \Contao\MetaWizard::class, 'sectionWizard' => \Contao\SectionWizard::class, 'serpPreview' => \Contao\SerpPreview::class, 'rootPageDependentSelect' => \Contao\RootPageDependentSelect::class);
// Front end form fields
$GLOBALS['TL_FFL'] = array('explanation' => \Contao\FormExplanation::class, 'html' => \Contao\FormHtml::class, 'fieldsetStart' => \Contao\FormFieldsetStart::class, 'fieldsetStop' => \Contao\FormFieldsetStop::class, 'text' => \Contao\FormTextField::class, 'password' => \Contao\FormPassword::class, 'textarea' => \Contao\FormTextArea::class, 'select' => \Contao\FormSelectMenu::class, 'radio' => \Contao\FormRadioButton::class, 'checkbox' => \Contao\FormCheckBox::class, 'upload' => \Contao\FormFileUpload::class, 'range' => \Contao\FormRange::class, 'hidden' => \Contao\FormHidden::class, 'captcha' => \Contao\FormCaptcha::class, 'submit' => \Contao\FormSubmit::class);
// Page types
$GLOBALS['TL_PTY'] = array('regular' => \Contao\PageRegular::class, 'forward' => \Contao\PageForward::class, 'redirect' => \Contao\PageRedirect::class, 'root' => \Contao\PageRoot::class, 'logout' => \Contao\PageLogout::class, 'error_401' => \Contao\PageError401::class, 'error_403' => \Contao\PageError403::class, 'error_404' => \Contao\PageError404::class);
// Maintenance
$GLOBALS['TL_MAINTENANCE'] = array(\Contao\Crawl::class, \Contao\PurgeData::class);
// Purge jobs
$GLOBALS['TL_PURGE'] = array('tables' => array('index' => array('callback' => array(\Contao\Automator::class, 'purgeSearchTables'), 'affected' => array('tl_search', 'tl_search_index', 'tl_search_term')), 'undo' => array('callback' => array(\Contao\Automator::class, 'purgeUndoTable'), 'affected' => array('tl_undo')), 'versions' => array('callback' => array(\Contao\Automator::class, 'purgeVersionTable'), 'affected' => array('tl_version')), 'log' => array('callback' => array(\Contao\Automator::class, 'purgeSystemLog'), 'affected' => array('tl_log')), 'crawl_queue' => array('callback' => array(\Contao\Automator::class, 'purgeCrawlQueue'), 'affected' => array('tl_crawl_queue'))), 'folders' => array('images' => array('callback' => array(\Contao\Automator::class, 'purgeImageCache'), 'affected' => array(\Contao\StringUtil::stripRootDir(\Contao\System::getContainer()->getParameter('contao.image.target_dir')))), 'previews' => array('callback' => array(\Contao\Automator::class, 'purgePreviewCache'), 'affected' => array(\Contao\StringUtil::stripRootDir(\Contao\System::getContainer()->getParameter('contao.image.preview.target_dir')))), 'scripts' => array('callback' => array(\Contao\Automator::class, 'purgeScriptCache'), 'affected' => array('assets/js', 'assets/css')), 'temp' => array('callback' => array(\Contao\Automator::class, 'purgeTempFolder'), 'affected' => array('system/tmp'))), 'custom' => array('pages' => array('callback' => array(\Contao\Automator::class, 'purgePageCache')), 'xml' => array('callback' => array(\Contao\Automator::class, 'generateXmlFiles')), 'symlinks' => array('callback' => array(\Contao\Automator::class, 'generateSymlinks'))));
// Backwards compatibility
// Image crop modes
$GLOBALS['TL_CROP'] = array('image_sizes' => array(), 'relative' => array('proportional', 'box'), 'exact' => array('crop', 'left_top', 'center_top', 'right_top', 'left_center', 'center_center', 'right_center', 'left_bottom', 'center_bottom', 'right_bottom'));
// Backwards compatibility
// Cron jobs
$GLOBALS['TL_CRON'] = array('monthly' => array(), 'weekly' => array(), 'daily' => array('purgeTempFolder' => array(\Contao\Automator::class, 'purgeTempFolder'), 'purgeRegistrations' => array(\Contao\Automator::class, 'purgeRegistrations'), 'purgeOptInTokens' => array(\Contao\Automator::class, 'purgeOptInTokens')), 'hourly' => array(), 'minutely' => array());
// Hooks
$GLOBALS['TL_HOOKS'] = array('getSystemMessages' => array(array(\Contao\Messages::class, 'languageFallback')));
// Register the auto_item keywords
$GLOBALS['TL_AUTO_ITEM'] = array('items', 'events');
// Register the supported CSS units
$GLOBALS['TL_CSS_UNITS'] = array('px', '%', 'em', 'rem', 'vw', 'vh', 'vmin', 'vmax', 'ex', 'pt', 'pc', 'in', 'cm', 'mm');
// Wrapper elements
$GLOBALS['TL_WRAPPERS'] = array('start' => array('accordionStart', 'sliderStart', 'fieldsetStart'), 'stop' => array('accordionStop', 'sliderStop', 'fieldsetStop'), 'single' => array('accordionSingle'), 'separator' => array());
// Models
$GLOBALS['TL_MODELS'] = array('tl_article' => \Contao\ArticleModel::class, 'tl_content' => \Contao\ContentModel::class, 'tl_files' => \Contao\FilesModel::class, 'tl_form_field' => \Contao\FormFieldModel::class, 'tl_form' => \Contao\FormModel::class, 'tl_image_size_item' => \Contao\ImageSizeItemModel::class, 'tl_image_size' => \Contao\ImageSizeModel::class, 'tl_layout' => \Contao\LayoutModel::class, 'tl_member_group' => \Contao\MemberGroupModel::class, 'tl_member' => \Contao\MemberModel::class, 'tl_module' => \Contao\ModuleModel::class, 'tl_opt_in' => \Contao\OptInModel::class, 'tl_page' => \Contao\PageModel::class, 'tl_style' => \Contao\StyleModel::class, 'tl_style_sheet' => \Contao\StyleSheetModel::class, 'tl_theme' => \Contao\ThemeModel::class, 'tl_user_group' => \Contao\UserGroupModel::class, 'tl_user' => \Contao\UserModel::class);
// Other global arrays
$GLOBALS['TL_PERMISSIONS'] = array();
}

namespace {
/**
 * Form fields
 */
$GLOBALS['TL_FFL']['calendarfield'] = 'Hofff\\Contao\\Calendarfield\\FormCalendarField';
}

namespace {
/**
 * MetaPalettes for the Contao Open Source CMS
 *
 * @package   MetaPalettes
 * @author    Tristan Lins <tristan.lins@infinitysoft.de>
 * @author    Christian Schiffler <c.schiffler@cyberspectrum.de>
 * @author    David Molineus <david.molineus@netzmacht.de>
 * @author    Sven Baumann <baumann.sv@gmail.com>
 * @copyright 2013-2014 bit3 UG
 * @copyright 2015-2018 Contao Community Alliance
 * @license   LGPL-3.0+ https://github.com/contao-community-alliance/meta-palettes/license
 * @link      https://github.com/bit3/contao-meta-palettes
 */
/**
 * Hooks
 */
$GLOBALS['TL_HOOKS']['loadDataContainer'][] = ['cca.meta_palettes.listener.build_palettes_listener', 'onLoadDataContainer'];
}

namespace {
// Back end modules
$GLOBALS['BE_MOD']['accounts']['debug'] = array('enable' => array(\Contao\ManagerBundle\Controller\DebugController::class, 'enableAction'), 'disable' => array(\Contao\ManagerBundle\Controller\DebugController::class, 'disableAction'), 'hideInNavigation' => \true, 'disablePermissionChecks' => \true);
}

namespace {
/**
 *    This file is part of the bundle DalleyItPhotoSwipe.
 *
 *    The bundle DalleyItPhotoSwipe is free software: you can redistribute it and/or modify
 *    it under the terms of the GNU General Public License as published by
 *    the Free Software Foundation, either version 3 of the License, or
 *    (at your option) any later version.
 *
 *    The bundle DalleyItPhotoSwipe is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *    GNU General Public License for more details.
 *
 * 
 *    @link        https://www.dalley-it.com
 *    @author      Oliver Dalley - Dalley IT, June 2020
 *    @version     V 1.0.4
 *
 *    @license     http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
 *    @copyright   (C) Oliver Dalley - Dalley IT 2020
 *
 */
$GLOBALS['BE_MOD']['content']['dait_photoswipe'] = array('tables' => array('tl_dait_photoswipe'));
$GLOBALS['FE_MOD']['dait_photoswipe'] = array('dait_photoswipe' => 'Dait\\DalleyItPhotoSwipeModule');
}

namespace {
/**
 * This file is part of menatwork/contao-multicolumnwizard-bundle.
 *
 * (c) 2012-2019 MEN AT WORK.
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * This project is provided in good faith and hope to be usable by anyone.
 *
 * @package    menatwork/contao-multicolumnwizard-bundle
 * @author     Andreas Isaak <info@andreas-isaak.de>
 * @author     Andreas Schempp <andreas.schempp@terminal42.ch>
 * @author     Christian Schiffler <c.schiffler@cyberspectrum.de>
 * @author     David Maack <david.maack@arcor.de>
 * @author     fritzmg <email@spikx.net>
 * @author     Stefan Heimes <stefan_heimes@hotmail.com>
 * @author     Tristan Lins <tristan.lins@bit3.de>
 * @author     Yanick Witschi <yanick.witschi@certo-net.ch>
 * @copyright  2011 Andreas Schempp
 * @copyright  2011 certo web & design GmbH
 * @copyright  2013-2019 MEN AT WORK
 * @license    https://github.com/menatwork/contao-multicolumnwizard-bundle/blob/master/LICENSE LGPL-3.0-or-later
 * @filesource
 */
$GLOBALS['BE_FFL']['multiColumnWizard'] = '\\MenAtWork\\MultiColumnWizardBundle\\Contao\\Widgets\\MultiColumnWizard';
$GLOBALS['TL_HOOKS']['loadDataContainer'][] = array('MenAtWork\\MultiColumnWizardBundle\\EventListener\\Contao\\LoadDataContainer', 'supportModalSelector');
$GLOBALS['TL_HOOKS']['initializeSystem'][] = array('MenAtWork\\MultiColumnWizardBundle\\EventListener\\Contao\\InitializeSystem', 'changeAjaxPostActions');
$GLOBALS['TL_HOOKS']['executePostActions'][] = array('MenAtWork\\MultiColumnWizardBundle\\EventListener\\Contao\\ExecutePostActions', 'executePostActions');
$GLOBALS['TL_HOOKS']['executePostActions'][] = array('MenAtWork\\MultiColumnWizardBundle\\EventListener\\Contao\\ExecutePostActions', 'handleRowCreation');
if (\TL_MODE == 'BE') {
    $GLOBALS['TL_HOOKS']['parseTemplate'][] = array('MenAtWork\\MultiColumnWizardBundle\\EventListener\\Contao\\ParseTemplate', 'addVersion');
    // Add the JS.
    $GLOBALS['TL_JAVASCRIPT']['multicolumnwizard'] = $GLOBALS['TL_CONFIG']['debugMode'] ? 'bundles/multicolumnwizard/js/multicolumnwizard_be_src.js' : 'bundles/multicolumnwizard/js/multicolumnwizard_be.js';
    // Add the css.
    $GLOBALS['TL_CSS']['multicolumnwizard'] = $GLOBALS['TL_CONFIG']['debugMode'] ? 'bundles/multicolumnwizard/css/multicolumnwizard_src.css' : 'bundles/multicolumnwizard/css/multicolumnwizard.css';
}
}

namespace {
// Backend modules
$GLOBALS['BE_MOD']['design']['themes']['tables'][] = 'tl_form_layout';
// Models
$GLOBALS['TL_MODELS']['tl_form_layout'] = \Netzmacht\Contao\FormDesigner\Model\FormLayout\FormLayoutModel::class;
// Hooks
$GLOBALS['TL_HOOKS']['isVisibleElement'][] = ['netzmacht.contao_form_designer.listener.contextual_form_layout', 'onIsVisibleElement'];
$GLOBALS['TL_HOOKS']['getContentElement'][] = ['netzmacht.contao_form_designer.listener.contextual_form_layout', 'onPostGenerateElement'];
$GLOBALS['TL_HOOKS']['getFrontendModule'][] = ['netzmacht.contao_form_designer.listener.contextual_form_layout', 'onPostGenerateElement'];
$GLOBALS['TL_HOOKS']['getPageLayout'][] = ['netzmacht.contao_form_designer.listener.theme_form_layout', 'onPageLayout'];
$GLOBALS['TL_HOOKS']['exportTheme'][] = ['netzmacht.contao_form_designer.listener.theme_export', 'onExportTheme'];
$GLOBALS['TL_HOOKS']['extractThemeFiles'][] = ['netzmacht.contao_form_designer.listener.theme_import', 'onExtractThemeFiles'];
// Easy themes
$GLOBALS['TL_EASY_THEMES_MODULES']['form_layout'] = ['href_fragment' => 'table=tl_form_layout'];
}

namespace {
/*
 * This file is part of Contao.
 *
 *  (c) Leo Feyer
 *
 *  @license LGPL-3.0-or-later
 *  @copyright  Peter Broghammer 2020
 *  @author     Peter Broghammer (PBD)
 *
 *  @package TossnCaptcha
 *  @copyright Thorsten Gading  <info@tossn.de>
 *  @author Thorsten Gading <info@tossn.de>
 *
 *
 *  Porting TossnCaptcha to Contao 4.9
 *  Based on TossnCaptcha from Thorsten Gading
 *
 *  @package   pbd-kn/contao-tossncaptcha-bundle
 *  @author    Peter Broghammer <mail@pb-contao@gmx.de>
 *  @license   http://www.gnu.org/licenses/lgpl-3.0.html LGPL
 *  @copyright Peter Broghammer 2021-
 *
 *  Thorsten Gading TossnCaptcha package has been completely converted to contao 4.9
 */
//$Config = \Contao\Config::getInstance();
//if ($Config->get('tc_captchaimage')) {
$GLOBALS['TL_FFL']['tossn_captcha'] = 'PBDKN\\ContaoCaptchaBundle\\Resources\\contao\\classes\\widget\\CaptchaWidget';
//}
}

namespace {
/*
 * Backend modules
 */
$GLOBALS['BE_MOD']['pdir']['klaro_config'] = ['tables' => ['tl_klaro_config']];
$GLOBALS['BE_MOD']['pdir']['klaro_service'] = ['tables' => ['tl_klaro_service']];
$GLOBALS['BE_MOD']['pdir']['klaro_translation'] = ['tables' => ['tl_klaro_translation'], 'stylesheet' => ['bundles/pdircontaoklaroconsentmanager/css/klaro.css'], 'javascript' => ['bundles/pdircontaoklaroconsentmanager/js/be.js']];
$GLOBALS['BE_MOD']['pdir']['klaro_purpose'] = ['tables' => ['tl_klaro_purpose']];
$scopeMatcher = \Contao\System::getContainer()->get('contao.routing.scope_matcher');
$currentRequest = \Contao\System::getContainer()->get('request_stack')->getCurrentRequest() ?? \Symfony\Component\HttpFoundation\Request::create('');
if ($scopeMatcher->isBackendRequest($currentRequest)) {
    // only BE
    $GLOBALS['TL_CSS'][] = 'bundles/pdircontaoklaroconsentmanager/css/be.css|static';
}
if ($scopeMatcher->isFrontendRequest($currentRequest)) {
    $GLOBALS['TL_CSS'][] = 'bundles/pdircontaoklaroconsentmanager/css/fe.scss|static';
}
/*
 * Models
 */
$GLOBALS['TL_MODELS']['tl_klaro_config'] = \Pdir\ContaoKlaroConsentManager\Model\KlaroConfigModel::class;
$GLOBALS['TL_MODELS']['tl_klaro_service'] = \Pdir\ContaoKlaroConsentManager\Model\KlaroServiceModel::class;
$GLOBALS['TL_MODELS']['tl_klaro_translation'] = \Pdir\ContaoKlaroConsentManager\Model\KlaroTranslationModel::class;
$GLOBALS['TL_MODELS']['tl_klaro_purpose'] = \Pdir\ContaoKlaroConsentManager\Model\KlaroPurposeModel::class;
}

namespace {
/*
 * This file is part of con4gis, the gis-kit for Contao CMS.
 * @package con4gis
 * @version 8
 * @author con4gis contributors (see "authors.txt")
 * @license LGPL-3.0-or-later
 * @copyright (c) 2010-2022, by Küstenschmiede GmbH Software & Design
 * @link https://www.con4gis.org
 */
// API-Registration
$GLOBALS['TL_API'] = array();
$GLOBALS['TL_API']['fileUpload'] = 'con4gis\\CoreBundle\\Classes\\C4GFileUpload';
$GLOBALS['TL_API']['imageUpload'] = 'con4gis\\CoreBundle\\Classes\\C4GImageUpload';
$GLOBALS['TL_API']['deliver'] = 'con4gis\\CoreBundle\\Classes\\C4GDeliverFileApi';
if (\TL_MODE == "BE") {
    $GLOBALS['TL_CSS'][] = '/bundles/con4giscore/dist/css/con4gis.min.css';
}
$GLOBALS['con4gis']['stringClass'] = '\\Contao\\StringUtil';
/**
 * Backend Modules
 */
\array_insert($GLOBALS['BE_MOD'], \array_search('content', \array_keys($GLOBALS['BE_MOD'])) + 1, array('con4gis' => ['c4g_bricks' => ['tables' => ['tl_c4g_bricks']], 'c4g_settings' => ['tables' => ['tl_c4g_settings']], 'c4g_io_data' => ['tables' => ['tl_c4g_import_data']], 'c4g_log' => ['tables' => ['tl_c4g_log']]]));
\array_insert($GLOBALS['BE_MOD'], \array_search('con4gis', \array_keys($GLOBALS['BE_MOD'])) + 1, array('con4gis_stage' => []));
/**
 * Content Elements
 */
\array_insert($GLOBALS['TL_CTE']['con4gis'], 2, array('c4g_activationpage' => 'con4gis\\CoreBundle\\Resources\\contao\\modules\\ContentC4gActivationpage'));
$GLOBALS['TL_MODELS']['tl_c4g_activationkey'] = 'con4gis\\CoreBundle\\Resources\\contao\\models\\C4gActivationkeyModel';
$GLOBALS['TL_MODELS']['tl_c4g_settings'] = 'con4gis\\CoreBundle\\Resources\\contao\\models\\C4gSettingsModel';
/**
 * Con4Gis Caching
 *
 * caching is not auto-enabled. To register a service to be cached, insert it in the GLOBALS-Array
 * eg: $GLOBALS['CON4GIS']['USE_CACHE']['SERVICES'][] = "layerService"; => layerService requests are cached
 *
 * it is also possible to enable caching while existence of defined get parameters and values
 * eg: $GLOBALS['CON4GIS']['USE_CACHE']['PARAMS']['method'] = array('getLive'); => request with method=getLive will be cached
 *
 */
if (!\array_key_exists('CON4GIS', $GLOBALS) || !!\array_key_exists('USE_CACHE', $GLOBALS['CON4GIS'])) {
    $GLOBALS['CON4GIS']['USE_CACHE'] = array();
    $GLOBALS['CON4GIS']['USE_CACHE']['SERVICES'] = array();
    $GLOBALS['CON4GIS']['USE_CACHE']['PARAMS'] = array();
}
/**
 * replace con4gis insertTags
 */
$GLOBALS['TL_HOOKS']['replaceInsertTags'][] = array('\\con4gis\\CoreBundle\\Classes\\Hooks\\con4gisInsertTags', 'replaceTag');
/** USE getUserNavigation Hook */
$GLOBALS['TL_HOOKS']['getUserNavigation'][] = array('con4gis\\CoreBundle\\Classes\\Hooks\\con4gisNavigation', 'activateNavigation');
$GLOBALS['TL_PURGE']['folders']['con4gis_log'] = ['callback' => ['\\con4gis\\CoreBundle\\Classes\\Contao\\Callback\\MaintenanceCallback', 'purgeLog'], 'affected' => []];
}

namespace {
/*
 * This file is part of con4gis, the gis-kit for Contao CMS.
 * @package con4gis
 * @version 8
 * @author con4gis contributors (see "authors.txt")
 * @license LGPL-3.0-or-later
 * @copyright (c) 2010-2022, by Küstenschmiede GmbH Software & Design
 * @link https://www.con4gis.org
 */
$GLOBALS['BE_MOD']['con4gis'] = $GLOBALS['BE_MOD']['con4gis'] ?: [];
$GLOBALS['BE_MOD']['con4gis'] = \array_merge($GLOBALS['BE_MOD']['con4gis'], ['c4g_map_baselayers' => ['brick' => 'maps', 'tables' => ['tl_c4g_map_baselayers', 'tl_c4g_map_overlays'], 'icon' => 'bundles/con4gismaps/images/be-icons/baselayers.svg', 'javascript' => 'bundles/con4gismaps/js/c4g-maps-backend.js'], 'c4g_map_locstyles' => ['brick' => 'maps', 'tables' => ['tl_c4g_map_locstyles'], 'icon' => 'bundles/con4gismaps/images/be-icons/locationstyles.svg'], 'c4g_map_themes' => ['brick' => 'maps', 'tables' => ['tl_c4g_map_themes'], 'icon' => 'bundles/con4gismaps/images/be-icons/maplayout.svg'], 'c4g_map_profiles' => ['brick' => 'maps', 'tables' => ['tl_c4g_map_profiles'], 'icon' => 'bundles/con4giscore/images/be-icons/global_settings_16.svg'], 'c4g_maps' => ['brick' => 'maps', 'tables' => ['tl_c4g_maps'], 'icon' => 'bundles/con4gismaps/images/be-icons/mapstructure.svg', 'javascript' => 'bundles/con4gismaps/js/c4g-maps-backend.js'], 'c4g_map_tables' => ['brick' => 'maps', 'tables' => ['tl_c4g_map_tables'], 'icon' => 'bundles/con4gismaps/images/be-icons/sourcetables.svg'], 'c4g_map_filters' => ['brick' => 'maps', 'tables' => ['tl_c4g_map_filters'], 'icon' => 'bundles/con4gismaps/images/be-icons/mapfilter.svg'], 'c4g_routing_configuration' => ['brick' => 'maps', 'tables' => ['tl_c4g_routing_configuration'], 'icon' => 'bundles/con4gismaps/images/be-icons/routingconfig.svg'], 'c4g_editor_configuration' => ['brick' => 'maps', 'tables' => ['tl_c4g_editor_configuration'], 'icon' => 'bundles/con4gismaps/images/be-icons/geojson.svg']]);
/**
 * Frontend modules
 */
$GLOBALS['FE_MOD']['con4gis']['c4g_maps'] = 'con4gis\\MapsBundle\\Resources\\contao\\modules\\ModuleC4gMaps';
$GLOBALS['FE_MOD']['con4gis']['c4g_search'] = 'con4gis\\MapsBundle\\Resources\\contao\\modules\\ModuleC4gSearch';
$GLOBALS['FE_MOD']['con4gis']['c4g_external_map_element'] = 'con4gis\\MapsBundle\\Resources\\contao\\modules\\ExternalMapElement';
\asort($GLOBALS['FE_MOD']['con4gis']);
/**
 * Content elements
 */
//$GLOBALS['TL_CTE']['con4gis'] = array_slice($GLOBALS['TL_CTE']['con4gis'], 0, 1, true) +
//    [
//        [
//            'c4g_maps' => 'con4gis\MapsBundle\Resources\contao\modules\ContentC4gMaps',
//        ]
//    ] +
//    array_slice($GLOBALS['TL_CTE']['con4gis'], 1, count($GLOBALS['TL_CTE']['con4gis']) - 1, true);
$GLOBALS['TL_CTE']['con4gis']['c4g_maps'] = 'con4gis\\MapsBundle\\Resources\\contao\\modules\\ContentC4gMaps';
$apiBaseUrl = 'con4gis';
$GLOBALS['con4gis']['maps']['api']['baselayer'] = $apiBaseUrl . '/baseLayerService';
$GLOBALS['con4gis']['maps']['api']['layer'] = $apiBaseUrl . '/layerService';
$GLOBALS['con4gis']['maps']['api']['layercontent'] = $apiBaseUrl . '/layerContentService';
$GLOBALS['con4gis']['maps']['api']['editor'] = $apiBaseUrl . '/editorService';
$GLOBALS['con4gis']['maps']['api']['locstyle'] = $apiBaseUrl . '/locationStyleService/';
$GLOBALS['con4gis']['maps']['api']['infowindow'] = $apiBaseUrl . '/infoWindowService';
$GLOBALS['con4gis']['maps']['api']['geosearch'] = $apiBaseUrl . '/searchService';
$GLOBALS['con4gis']['maps']['api']['geosearch_reverse'] = $apiBaseUrl . '/reverseSearchService';
$GLOBALS['con4gis']['maps']['api']['routing'] = $apiBaseUrl . '/routingService';
$GLOBALS['con4gis']['maps']['api']['geopicker'] = $apiBaseUrl . '/geopickerService/';
$GLOBALS['con4gis']['maps']['api']['filter'] = $apiBaseUrl . '/filterService/';
$GLOBALS['con4gis']['api-caching'] = ['baseLayerService', 'layerService', 'layerContentService', 'locationStyleService', 'infoWindowService'];
$GLOBALS['con4gis']['dafaultData'] = ['Table' => 'Table'];
/**
 * Specialized Widgets for Text Input and Image Sizes
 */
// @TODO maybe move to core
$GLOBALS['BE_FFL']['c4g_text'] = 'Contao\\TextField';
$GLOBALS['TL_MODELS']['tl_c4g_maps'] = 'con4gis\\MapsBundle\\Resources\\contao\\models\\C4gMapsModel';
$GLOBALS['TL_MODELS']['tl_c4g_map_profiles'] = 'con4gis\\MapsBundle\\Resources\\contao\\models\\C4gMapProfilesModel';
$GLOBALS['TL_MODELS']['tl_c4g_map_baselayers'] = 'con4gis\\MapsBundle\\Resources\\contao\\models\\C4gMapBaselayersModel';
$GLOBALS['TL_MODELS']['tl_c4g_map_themes'] = 'con4gis\\MapsBundle\\Resources\\contao\\models\\C4gMapThemesModel';
$GLOBALS['TL_MODELS']['tl_c4g_map_locstyles'] = 'con4gis\\MapsBundle\\Resources\\contao\\models\\C4gMapLocstylesModel';
$GLOBALS['TL_MODELS']['tl_c4g_map_overlays'] = 'con4gis\\MapsBundle\\Resources\\contao\\models\\C4gMapOverlaysModel';
$GLOBALS['TL_MODELS']['tl_c4g_map_tables'] = 'con4gis\\MapsBundle\\Resources\\contao\\models\\C4gMapTablesModel';
/**
 * Purge entries for cache clearing.
 */
$GLOBALS['TL_PURGE']['folders']['con4gis_layer'] = ['callback' => ['\\con4gis\\MapsBundle\\Classes\\Caches\\C4GMapsAutomator', 'purgeLayerApiCache'], 'affected' => ['var/cache/prod/con4gis_layerService']];
$GLOBALS['TL_PURGE']['folders']['con4gis_baselayer'] = ['callback' => ['\\con4gis\\MapsBundle\\Classes\\Caches\\C4GMapsAutomator', 'purgeBaselayerApiCache'], 'affected' => ['var/cache/prod/con4gis_baselayerService']];
$GLOBALS['TL_PURGE']['folders']['con4gis_locationstyle'] = ['callback' => ['\\con4gis\\MapsBundle\\Classes\\Caches\\C4GMapsAutomator', 'purgeLocationstyleApiCache'], 'affected' => ['var/cache/prod/con4gis_locationstyleService']];
$GLOBALS['TL_PURGE']['folders']['con4gis_popup'] = ['callback' => ['\\con4gis\\MapsBundle\\Classes\\Caches\\C4GMapsAutomator', 'purgePopupApiCache'], 'affected' => ['var/cache/prod/con4gis_Popup']];
//if(TL_MODE == "BE") {
//    $GLOBALS['TL_CSS'][] = '/bundles/con4gismaps/dist/css/c4g-backend.min.css';
//}
}
