Refactor map cleanup: central popup manager and dead code removal
This commit is contained in:
+35
-64
@@ -13,6 +13,39 @@ $GLOBALS['TL_DCA']['tl_module']['palettes']['eventmanager_map'] = '{title_legend
|
||||
$GLOBALS['TL_DCA']['tl_module']['palettes']['organization_edit'] = '{title_legend},name,headline,type;{eventmanager_legend},listPage,logoFolder,organizationTypeTags;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID';
|
||||
$GLOBALS['TL_DCA']['tl_module']['palettes']['event_edit'] = '{title_legend},name,headline,type;{eventmanager_legend},listPage,eventFolder,termsPage,frontendAuthorId,frontendArchiveId,eventTypeTags;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID';
|
||||
|
||||
$getUsedOrganizationTagOptions = static function (): array {
|
||||
$database = Database::getInstance();
|
||||
$labelExpression = $database->fieldExists('title', 'tl_tags')
|
||||
? "COALESCE(NULLIF(t.title, ''), t.tag)"
|
||||
: 't.tag';
|
||||
|
||||
$rows = $database
|
||||
->prepare(sprintf(
|
||||
'SELECT DISTINCT t.id, %1$s AS label
|
||||
FROM tl_tags_rel r
|
||||
INNER JOIN tl_tags t ON t.id=r.tag_id
|
||||
WHERE r.ptable=? AND (r.field=? OR r.field IS NULL OR r.field = \'\')
|
||||
ORDER BY label ASC',
|
||||
$labelExpression,
|
||||
))
|
||||
->execute('tl_organization', 'tags')
|
||||
->fetchAllAssoc();
|
||||
|
||||
$options = [];
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$label = trim((string) ($row['label'] ?? ''));
|
||||
|
||||
if ('' === $label) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$options[(int) $row['id']] = $label;
|
||||
}
|
||||
|
||||
return $options;
|
||||
};
|
||||
|
||||
$GLOBALS['TL_DCA']['tl_module']['fields']['editPage'] = [
|
||||
'label' => &$GLOBALS['TL_LANG']['tl_module']['editPage'],
|
||||
'exclude' => true,
|
||||
@@ -73,38 +106,7 @@ $GLOBALS['TL_DCA']['tl_module']['fields']['organizationTypeTags'] = [
|
||||
'label' => &$GLOBALS['TL_LANG']['tl_module']['organizationTypeTags'],
|
||||
'exclude' => true,
|
||||
'inputType' => 'checkbox',
|
||||
'options_callback' => static function () {
|
||||
$database = Database::getInstance();
|
||||
$labelExpression = $database->fieldExists('title', 'tl_tags')
|
||||
? "COALESCE(NULLIF(t.title, ''), t.tag)"
|
||||
: 't.tag';
|
||||
|
||||
$rows = Database::getInstance()
|
||||
->prepare(sprintf(
|
||||
'SELECT DISTINCT t.id, %1$s AS label
|
||||
FROM tl_tags_rel r
|
||||
INNER JOIN tl_tags t ON t.id=r.tag_id
|
||||
WHERE r.ptable=? AND r.field=?
|
||||
ORDER BY label ASC',
|
||||
$labelExpression,
|
||||
))
|
||||
->execute('tl_organization', 'tags')
|
||||
->fetchAllAssoc();
|
||||
|
||||
$options = [];
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$label = trim((string) ($row['label'] ?? ''));
|
||||
|
||||
if ('' === $label) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$options[(int) $row['id']] = $label;
|
||||
}
|
||||
|
||||
return $options;
|
||||
},
|
||||
'options_callback' => $getUsedOrganizationTagOptions,
|
||||
'eval' => ['multiple' => true, 'tl_class' => 'clr'],
|
||||
'sql' => ['type' => 'blob', 'notnull' => false],
|
||||
'save_callback' => [
|
||||
@@ -229,38 +231,7 @@ $GLOBALS['TL_DCA']['tl_module']['fields']['mapInitialOrganizationTagId'] = [
|
||||
'label' => &$GLOBALS['TL_LANG']['tl_module']['mapInitialOrganizationTagId'],
|
||||
'exclude' => true,
|
||||
'inputType' => 'select',
|
||||
'options_callback' => static function (): array {
|
||||
$database = Database::getInstance();
|
||||
$labelExpression = $database->fieldExists('title', 'tl_tags')
|
||||
? "COALESCE(NULLIF(t.title, ''), t.tag)"
|
||||
: 't.tag';
|
||||
|
||||
$rows = $database
|
||||
->prepare(sprintf(
|
||||
'SELECT DISTINCT t.id, %1$s AS label
|
||||
FROM tl_tags_rel r
|
||||
INNER JOIN tl_tags t ON t.id=r.tag_id
|
||||
WHERE r.ptable=? AND r.field=?
|
||||
ORDER BY label ASC',
|
||||
$labelExpression,
|
||||
))
|
||||
->execute('tl_organization', 'tags')
|
||||
->fetchAllAssoc();
|
||||
|
||||
$options = [];
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$label = trim((string) ($row['label'] ?? ''));
|
||||
|
||||
if ('' === $label) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$options[(int) $row['id']] = $label;
|
||||
}
|
||||
|
||||
return $options;
|
||||
},
|
||||
'options_callback' => $getUsedOrganizationTagOptions,
|
||||
'eval' => ['includeBlankOption' => true, 'chosen' => true, 'tl_class' => 'w50'],
|
||||
'sql' => ['type' => 'integer', 'unsigned' => true, 'default' => 0],
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user