<?php
use Contao\DirectoryImporter;
use Contao\DirectoryExporter;
use Contao\IconicAutomator;
// Backend Pages
array_insert($GLOBALS['BE_MOD'], 1, [
'iconic' => [
'directory' => [
'tables' => ['tl_directory_entry', 'tl_directory_text', 'tl_directory_associated'],
'import' => [DirectoryImporter::class, 'importFile'],
'export' => [DirectoryExporter::class, 'export'],
'refreshCache' => [IconicAutomator::class, 'refreshCacheOnWinnerPage'],
],
'awards' => [
'tables' => ['tl_directory_award']
],
'distinctions' => [
'tables' => ['tl_directory_distinction']
],
'categories' => [
'tables' => ['tl_directory_category']
]
]
]);
// DB Models
$GLOBALS['TL_MODELS']['tl_directory_entry'] = 'Contao\DirectoryEntryModel';
$GLOBALS['TL_MODELS']['tl_directory_category'] = 'Contao\DirectoryCategoryModel';
$GLOBALS['TL_MODELS']['tl_directory_tag'] = 'Contao\DirectoryTagModel';
$GLOBALS['TL_PURGE']['folders']['iconic'] = [
'callback' => [IconicAutomator::class, 'purgeIconicCache'],
'affected' => ['var/cache/prod/iconic']
];
// Frontend Modules
$GLOBALS['FE_MOD']['miscellaneous']['articlelist'] = 'IconicModuleArticleList';
// Content Elements
$GLOBALS['TL_CTE']['iconic'] = [
'directory' => 'ContentIconicDirectory',
'winners' => 'ContentIconicWinnerList',
'special' => 'ContentIconicSpecial',
];
// Hooks
$GLOBALS['TL_HOOKS']['getSearchablePages'][] = [IconicHooks::class, 'buildSearchIndex'];
$GLOBALS['TL_HOOKS']['getContentElement'][] = [IconicHooks::class, 'collectContentElementImages'];
$GLOBALS['TL_HOOKS']['getArticles'][] = [IconicHooks::class, 'collectArticleImages'];
$GLOBALS['TL_HOOKS']['parseArticles'][] = [IconicHooks::class, 'collectNewsImage'];
$GLOBALS['TL_HOOKS']['generatePage'][] = [IconicHooks::class, 'addMetaTags'];
$GLOBALS['TL_HOOKS']['postLogin'][] = [IconicHooks::class, 'frontendLogin'];
// Additional Backend CSS
if (TL_MODE == 'BE') {
$GLOBALS['TL_CSS'][] = 'bundles/iconicworld/backend.css';
}