initial commit

This commit is contained in:
origin
2023-12-04 16:36:56 +01:00
commit e5dd88a27c
64 changed files with 4545 additions and 0 deletions

2
Configuration/.htaccess Executable file
View File

@ -0,0 +1,2 @@
Order deny,allow
Deny from all

View File

@ -0,0 +1,9 @@
<?php
declare(strict_types=1);
return [
A2G\A2gMaps\Domain\Model\SysFileReference::class => [
'tableName' => 'sys_file_reference',
]
];

View File

@ -0,0 +1,427 @@
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>Function</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<settings.markers>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.markers</label>
<config>
<type>group</type>
<allowed>tx_a2gmaps_domain_model_mapentry</allowed>
<fieldControl>
<editPopup>
<disabled>false</disabled>
</editPopup>
<addRecord>
<disabled>false</disabled>
</addRecord>
<listModule>
<disabled>false</disabled>
</listModule>
</fieldControl>
</config>
</settings.markers>
<settings.layers>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.selectable_layers</label>
<description>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.selectable_layers_description</description>
<config>
<type>select</type>
<renderType>selectMultipleSideBySide</renderType>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">osm</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">stamen terrain</numIndex>
<numIndex index="1">10</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">stamen watercolor</numIndex>
<numIndex index="1">11</numIndex>
</numIndex>
<numIndex index="3" type="array">
<numIndex index="0">stamen toner</numIndex>
<numIndex index="1">12</numIndex>
</numIndex>
<!-- <numIndex index="4" type="array">
<numIndex index="0">thunderfores openCycleMap</numIndex>
<numIndex index="1">100</numIndex>
</numIndex>
<numIndex index="5" type="array">
<numIndex index="0">thunderfores transport</numIndex>
<numIndex index="1">101</numIndex>
</numIndex>
<numIndex index="6" type="array">
<numIndex index="0">thunderfores landscape</numIndex>
<numIndex index="1">102</numIndex>
</numIndex>
<numIndex index="7" type="array">
<numIndex index="0">thunderfores outdoors</numIndex>
<numIndex index="1">103</numIndex>
</numIndex>
<numIndex index="8" type="array">
<numIndex index="0">thunderfores atlas</numIndex>
<numIndex index="1">104</numIndex>
</numIndex>
<numIndex index="9" type="array">
<numIndex index="0">thunderfores transport-dark</numIndex>
<numIndex index="1">105</numIndex>
</numIndex>
<numIndex index="10" type="array">
<numIndex index="0">thunderfores spinal-map</numIndex>
<numIndex index="1">106</numIndex>
</numIndex>
<numIndex index="11" type="array">
<numIndex index="0">thunderfores pioneer</numIndex>
<numIndex index="1">107</numIndex>
</numIndex>
<numIndex index="12" type="array">
<numIndex index="0">thunderfores neighbourhout</numIndex>
<numIndex index="1">108</numIndex>
</numIndex>
<numIndex index="13" type="array">
<numIndex index="0">thunderfores mobile-atlas</numIndex>
<numIndex index="1">109</numIndex>
</numIndex>
<numIndex index="14" type="array">
<numIndex index="0">maptiler basic</numIndex>
<numIndex index="1">200</numIndex>
</numIndex>
<numIndex index="15" type="array">
<numIndex index="0">maptiler basic (EPSG:4326)</numIndex>
<numIndex index="1">201</numIndex>
</numIndex>
<numIndex index="16" type="array">
<numIndex index="0">maptiler bright</numIndex>
<numIndex index="1">202</numIndex>
</numIndex>
<numIndex index="17" type="array">
<numIndex index="0">maptiler openstreetmap</numIndex>
<numIndex index="1">203</numIndex>
</numIndex>
<numIndex index="18" type="array">
<numIndex index="0">maptiler outdoor</numIndex>
<numIndex index="1">204</numIndex>
</numIndex>
<numIndex index="19" type="array">
<numIndex index="0">maptiler pastel</numIndex>
<numIndex index="1">205</numIndex>
</numIndex>
<numIndex index="20" type="array">
<numIndex index="0">maptiler satelit hybrid</numIndex>
<numIndex index="1">206</numIndex>
</numIndex>
<numIndex index="21" type="array">
<numIndex index="0">maptiler streets</numIndex>
<numIndex index="1">207</numIndex>
</numIndex>
<numIndex index="22" type="array">
<numIndex index="0">maptiler toner</numIndex>
<numIndex index="1">208</numIndex>
</numIndex>
<numIndex index="23" type="array">
<numIndex index="0">maptiler topo</numIndex>
<numIndex index="1">209</numIndex>
</numIndex>
<numIndex index="24" type="array">
<numIndex index="0">maptiler topographique</numIndex>
<numIndex index="1">210</numIndex>
</numIndex>
<numIndex index="25" type="array">
<numIndex index="0">maptiler voyager</numIndex>
<numIndex index="1">211</numIndex>
</numIndex>
<numIndex index="26" type="array">
<numIndex index="0">maptiler winter</numIndex>
<numIndex index="1">212</numIndex>
</numIndex> -->
</items>
<minitems>1</minitems>
</config>
</settings.layers>
<settings.controllsPositions>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.position_from_map_controll_stuff</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.hide</numIndex>
<numIndex index="1">0</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.top</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.bottom</numIndex>
<numIndex index="1">2</numIndex>
</numIndex>
<numIndex index="3" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.both</numIndex>
<numIndex index="1">3</numIndex>
</numIndex>
</items>
</config>
</settings.controllsPositions>
<settings.showMarkerList>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.show_marker_list</label>
<config>
<type>check</type>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.yes</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
</items>
</config>
<onChange>reload</onChange>
</settings.showMarkerList>
<settings.markerListOrderBy>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.order_marker_list_by</label>
<config>
<type>select</type>
<renderType>selectMultipleSideBySide</renderType>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.none</numIndex>
<numIndex index="1"></numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.region_state</numIndex>
<numIndex index="1">region</numIndex>
</numIndex>
</items>
</config>
<displayCond>FIELD:settings.showMarkerList:=:1</displayCond>
</settings.markerListOrderBy>
<settings.useLayerSwitcher>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.use_layer_switcher</label>
<config>
<type>check</type>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.yes</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
</items>
</config>
<onChange>reload</onChange>
</settings.useLayerSwitcher>
<settings.layerSwitcherValue>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.layer_switcher_init_value</label>
<config>
<type>input</type>
<eval>trim,int</eval>
<size>3</size>
</config>
<displayCond>FIELD:settings.useLayerSwitcher:=:1</displayCond>
</settings.layerSwitcherValue>
<settings.zoom>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.map_zoom</label>
<config>
<type>input</type>
<eval>trim,int</eval>
<size>2</size>
<range type="array">
<lower>1</lower>
<upper>18</upper>
</range>
<default>2</default>
<slider>
<step>1</step>
<width>200</width>
</slider>
</config>
</settings.zoom>
<settings.maxZoom>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.map_max_zoom</label>
<config>
<type>input</type>
<eval>trim,int</eval>
<size>2</size>
<range type="array">
<lower>1</lower>
<upper>18</upper>
</range>
<default>18</default>
<slider>
<step>1</step>
<width>200</width>
</slider>
</config>
</settings.maxZoom>
<settings.centerLat>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.center_lat</label>
<config>
<type>input</type>
<eval>trim,float</eval>
<size>11</size>
<default>0</default>
<range type="array">
<lower>-90</lower>
<upper>90</upper>
</range>
</config>
</settings.centerLat>
<settings.centerLon>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.center_lon</label>
<config>
<type>input</type>
<eval>trim,float</eval>
<size>11</size>
<default>0</default>
<range type="array">
<lower>-90</lower>
<upper>90</upper>
</range>
</config>
</settings.centerLon>
<settings.showLayerSelect>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.show_layer_select</label>
<config>
<type>check</type>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.yes</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
</items>
</config>
</settings.showLayerSelect>
<settings.showMyPositionButton>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.show_my_position_btn</label>
<config>
<type>check</type>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.yes</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
</items>
</config>
</settings.showMyPositionButton>
<settings.showRemoveMarkerButton>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.show_remove_marker_btn</label>
<config>
<type>check</type>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.yes</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
</items>
</config>
</settings.showRemoveMarkerButton>
<settings.useFullscreenButton>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.show_fullscreen_btn</label>
<config>
<type>check</type>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.yes</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
</items>
</config>
</settings.useFullscreenButton>
<settings.useZoomSlider>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.show_zoom_slider</label>
<config>
<type>check</type>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.yes</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
</items>
</config>
</settings.useZoomSlider>
<settings.gpxData>
<label>LLL:EXT:a2g_maps/Resources/Private/Language/backend.xlf:flexform_map.gpx_data</label>
<config>
<type>inline</type>
<maxitems>1</maxitems>
<foreign_table>sys_file_reference</foreign_table>
<foreign_table_field>tablenames</foreign_table_field>
<foreign_label>uid_local</foreign_label>
<foreign_sortby>sorting_foreign</foreign_sortby>
<foreign_field>uid_foreign</foreign_field>
<foreign_selector>uid_local</foreign_selector>
<foreign_selector_fieldTcaOverride>
<config>
<appearance>
<elementBrowserType>file</elementBrowserType>
<elementBrowserAllowed>gpx</elementBrowserAllowed>
</appearance>
</config>
</foreign_selector_fieldTcaOverride>
<foreign_types type="array">
<numIndex index="0">
<showitem>--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,--palette--;;filePalette</showitem>
</numIndex>
<numIndex index="2">
<showitem>--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,--palette--;;filePalette</showitem>
</numIndex>
</foreign_types>
<foreign_match_fields>
<fieldname>image</fieldname> <!-- CAUTION!! Replace "fal" with the variable name of this field! -->
</foreign_match_fields>
<appearance type="array">
<newRecordLinkAddTitle>1</newRecordLinkAddTitle>
<headerThumbnail>
<field>uid_local</field>
<height>64</height>
<width>64</width>
</headerThumbnail>
<enabledControls>
<info>1</info>
<new>0</new>
<dragdrop>0</dragdrop>
<sort>1</sort>
<hide>0</hide>
<delete>1</delete>
<localize>1</localize>
</enabledControls>
<createNewRelationLinkTitle>LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference</createNewRelationLinkTitle>
</appearance>
<behaviour>
<localizationMode>select</localizationMode>
<localizeChildrenAtParentLocalization>1</localizeChildrenAtParentLocalization>
</behaviour>
<overrideChildTca>
<columns type="array">
<uid_local type="array">
<config type="array">
<appearance type="array">
<elementBrowserType>file</elementBrowserType>
<elementBrowserAllowed>gpx</elementBrowserAllowed>
</appearance>
</config>
</uid_local>
</columns>
<types type="array">
<numIndex index="2">
<showitem>--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,--palette--;;filePalette</showitem>
</numIndex>
</types>
</overrideChildTca>
</config>
</settings.gpxData>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>

5
Configuration/Services.yml Executable file
View File

@ -0,0 +1,5 @@
services:
_defaults:
autowire: true
autoconfigure: true
public: false

View File

@ -0,0 +1,21 @@
<?php
defined('TYPO3_MODE') || die();
/***************
* TypoScript: Full Package
* This includes the full setup including all configurations
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'a2g_maps',
'Configuration/TypoScript',
'Altogether Maps: Full Package'
);
/***************
* TypoScript: Base Package
*/
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'a2g_maps',
'Configuration/TypoScript/Base',
'Altogether Maps: Base Package'
);

View File

@ -0,0 +1,35 @@
<?php
defined('TYPO3_MODE') || die();
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'A2gMaps',
'map',
'Map'
);
$pluginSignature = 'a2gmaps_map';
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginSignature]='pages,layout,select_key,recursive';
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature]='pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
$pluginSignature,
'FILE:EXT:a2g_maps/Configuration/FlexForms/flexform_map.xml'
);
/**
* typo3 12
*
$pluginSignature = \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'A2gMaps',
'map',
'Map'
);
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature]
= 'pi_flexform';
ExtensionManagementUtility::addPiFlexFormValue(
$pluginSignature,
'FILE:EXT:a2g_maps/Configuration/FlexForms/flexform_map.xml'
);
*/

View File

@ -0,0 +1,397 @@
<?php
return [
'ctrl' => [
'label' => 'title',
'label_alt' => 'title,latitude,longitude',
'label_alt_force' => false,
// 'label_userFunc' => \FriendsOfTYPO3\TtAddress\Hooks\Tca\Label::class . '->getAddressLabel',
'languageField' => 'sys_language_uid',
'transOrigDiffSourceField' => 'l10n_diffsource',
'sortby' => 'sorting',
'default_sortby' => 'ORDER BY crdate',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'prependAtCopy' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.prependAtCopy',
'delete' => 'deleted',
'title' => 'LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:a2g_maps',
'versioningWS' => true,
'origUid' => 't3_origuid',
'thumbnail' => 'image',
'enablecolumns' => [
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
'fe_group' => 'fe_group',
],
'iconfile' => 'EXT:a2g_maps/Resources/Public/Icons/map.png'
],
'columns' => [
'pid' => [
'label' => 'pid',
'config' => [
'type' => 'passthrough'
]
],
'crdate' => [
'label' => 'crdate',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime'
]
],
'cruser_id' => [
'label' => 'cruser_id',
'config' => [
'type' => 'passthrough'
]
],
'tstamp' => [
'label' => 'tstamp',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime'
]
],
'hidden' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.hidden',
'config' => [
'type' => 'check'
]
],
'starttime' => [
'exclude' => true,
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'size' => 16,
'eval' => 'datetime,int',
'default' => 0,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'endtime' => [
'exclude' => true,
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'size' => 16,
'eval' => 'datetime,int',
'default' => 0,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'fe_group' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.fe_group',
'config' => [
'type' => 'select',
'renderType' => 'selectMultipleSideBySide',
'size' => 5,
'maxitems' => 20,
'items' => [
[
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.hide_at_login',
-1,
],
[
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.any_login',
-2,
],
[
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.usergroups',
'--div--',
],
],
'exclusiveKeys' => '-1,-2',
'foreign_table' => 'fe_groups',
'foreign_table_where' => 'ORDER BY fe_groups.title',
],
],
'sys_language_uid' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
'config' => [
'type' => 'language'
]
],
'l10n_diffsource' => [
'config' => [
'type' => 'passthrough',
'default' => ''
]
],
'title' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.title_person',
'config' => [
'type' => 'input',
'size' => 8,
'eval' => 'trim',
'max' => 255,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'path_segment' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:pages.slug',
'displayCond' => 'VERSION:IS:false',
'config' => [
'type' => 'slug',
'size' => 50,
'generatorOptions' => [
'fields' => ['title'],
'fieldSeparator' => '-',
'replacements' => [
'/' => '-'
],
],
'fallbackCharacter' => '-',
'eval' => 'unique',
'default' => ''
]
],
'city' => [
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.city',
'config' => [
'type' => 'input',
'size' => 20,
'eval' => 'trim',
'max' => 255,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'addressline' => [
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.address',
'config' => [
'type' => 'input',
'eval' => 'trim',
'size' => 50,
'max' => 80,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'zip' => [
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.zip',
'config' => [
'type' => 'input',
'eval' => 'trim',
'size' => 10,
'max' => 20,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'region' => [
'exclude' => true,
'label' => 'LLL:EXT:tt_address/Resources/Private/Language/locallang_db.xlf:tt_address.region',
'config' => [
'type' => 'input',
'size' => 10,
'eval' => 'trim',
'max' => 255,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'country' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.country',
'config' => [
'type' => 'input',
'size' => 20,
'eval' => 'trim',
'max' => 128,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'latitude' => [
'exclude' => true,
'label' => 'LLL:EXT:tt_address/Resources/Private/Language/locallang_db.xlf:tt_address.latitude',
'config' => [
'type' => 'input',
'eval' => \FriendsOfTYPO3\TtAddress\Evaluation\LatitudeEvaluation::class,
'default' => null,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'longitude' => [
'exclude' => true,
'label' => 'LLL:EXT:tt_address/Resources/Private/Language/locallang_db.xlf:tt_address.longitude',
'config' => [
'type' => 'input',
'eval' => \FriendsOfTYPO3\TtAddress\Evaluation\LongitudeEvaluation::class,
'default' => null,
'fieldControl' => [
'locationMap' => [
'renderType' => 'locationMapWizard'
]
],
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'image' => [
'exclude' => true,
'label' => 'LLL:EXT:a2g_products/Resources/Private/Language/locallang_db.xlf:image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'image',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
title,
description,
alternative,
crop,
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'minitems' => 0,
'maxitems' => 1,
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
],
'popup_content' => [
'exclude' => true,
'label' => 'LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:popup_content',
'config' => [
'type' => 'text',
'enableRichtext' => true,
'fieldControl' => [
'fullScreenRichtext' => [
'disabled' => false,
],
],
],
],
'nav_to_url' => [
'exclude' => true,
'label' => 'LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:nav_to_url',
'config' => [
'type' => 'input',
'size' => 200,
'eval' => 'trim',
'max' => 1000,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'rel_marker' => [
'exclude' => true,
'label' => 'LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:rel_marker',
'config' => [
'type' => 'select',
'renderType' => 'selectMultipleSideBySide',
'foreign_table' => 'tx_a2gmaps_domain_model_marker',
'foreign_field' => 'rel_map_entry',
'size' => 5,
'minitems' => 0,
'maxitems' => 1,
'autoSizeMax' => 20,
'fieldControl' => [
'editPopup' => [
'disabled' => false,
'options' => [
'windowOpenParameters' => 'height=300,width=500,status=0,menubar=0,scrollbars=1',
],
],
'addRecord' => [
'disabled' => false,
],
'listModule' => [
'disabled' => false,
],
],
],
]
],
'types' => [
'0' => [
'showitem' => '
--palette--;LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:palette.general;general,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;paletteHidden,
--palette--;;paletteAccess,
'
]
],
'palettes' => [
'general' => [
'showitem' => 'title, --linebreak--,addressline,zip,city,region, --linebreak--,latitude, longitude,--linebreak--, nav_to_url,--linebreak--, rel_marker, --linebreak--, popup_content, --linebreak--, image'
],
'paletteHidden' => [
'showitem' => 'hidden',
],
'paletteAccess' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access',
'showitem' => '
starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel,
endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel,
--linebreak--,
fe_group;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:fe_group_formlabel
',
],
'language' => ['showitem' => 'sys_language_uid'],
],
];

View File

@ -0,0 +1,234 @@
<?php
return [
'ctrl' => [
'label' => 'title',
'label_alt' => 'map_icon',
'label_alt_force' => true,
'languageField' => 'sys_language_uid',
'transOrigDiffSourceField' => 'l10n_diffsource',
'default_sortby' => 'ORDER BY crdate',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'cruser_id' => 'cruser_id',
'prependAtCopy' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.prependAtCopy',
'delete' => 'deleted',
'title' => 'LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:a2g_maps.marker',
'versioningWS' => true,
'origUid' => 't3_origuid',
'thumbnail' => 'map_icon',
'enablecolumns' => [
'disabled' => 'hidden',
'starttime' => 'starttime',
'endtime' => 'endtime',
'fe_group' => 'fe_group',
],
'iconfile' => 'EXT:a2g_maps/Resources/Public/Icons/Marker/markerSolid.svg'
],
'columns' => [
'pid' => [
'label' => 'pid',
'config' => [
'type' => 'passthrough'
]
],
'crdate' => [
'label' => 'crdate',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime'
]
],
'cruser_id' => [
'label' => 'cruser_id',
'config' => [
'type' => 'passthrough'
]
],
'tstamp' => [
'label' => 'tstamp',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime'
]
],
'hidden' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.hidden',
'config' => [
'type' => 'check'
]
],
'starttime' => [
'exclude' => true,
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'size' => 16,
'eval' => 'datetime,int',
'default' => 0,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'endtime' => [
'exclude' => true,
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'size' => 16,
'eval' => 'datetime,int',
'default' => 0,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'fe_group' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.fe_group',
'config' => [
'type' => 'select',
'renderType' => 'selectMultipleSideBySide',
'size' => 5,
'maxitems' => 20,
'items' => [
[
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.hide_at_login',
-1,
],
[
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.any_login',
-2,
],
[
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.usergroups',
'--div--',
],
],
'exclusiveKeys' => '-1,-2',
'foreign_table' => 'fe_groups',
'foreign_table_where' => 'ORDER BY fe_groups.title',
],
],
'sys_language_uid' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
'config' => [
'type' => 'language'
]
],
'l10n_diffsource' => [
'config' => [
'type' => 'passthrough',
'default' => ''
]
],
'title' => [
'exclude' => true,
'label' => 'LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:title',
'config' => [
'type' => 'input',
'size' => 20,
'eval' => 'trim',
'max' => 255,
'behaviour' => [
'allowLanguageSynchronization' => true,
],
]
],
'map_icon' => [
'exclude' => true,
'label' => 'LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:map_icon',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'map_icon',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
title,
description,
alternative,
crop,
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'minitems' => 0,
'maxitems' => 1,
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
],
'rel_map_entry' => [
'label' => 'rel_travel_post',
'config' => [
'type' => 'passthrough'
]
]
],
'types' => [
'0' => [
'showitem' => '
--palette--;LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:palette.general;general,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;paletteHidden,
--palette--;;paletteAccess,
'
]
],
'palettes' => [
'general' => [
'showitem' => 'title, --linebreak--, map_icon'
],
'paletteHidden' => [
'showitem' => 'hidden',
],
'paletteAccess' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access',
'showitem' => '
starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel,
endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel,
--linebreak--,
fe_group;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:fe_group_formlabel
',
],
'language' => ['showitem' => 'sys_language_uid'],
],
];

View File

@ -0,0 +1,4 @@
##################
#### TsConfig ####
##################
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_maps/Configuration/TsConfig/Page/Wizards.tsconfig">

View File

@ -0,0 +1,19 @@
################################
#### CONTENT ELEMENT WIZARD ####
################################
mod.wizards.newContentElement.wizardItems.a2gMaps {
after = common, menu, special, forms, plugins, blog
header = LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:wizard.group.maps
elements {
a2gmaps_map {
iconIdentifier = a2g_maps-plugin-map
title = LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:plugin.map.title
description = LLL:EXT:a2g_maps/Resources/Private/Language/locallang_db.xlf:plugin.map.description
tt_content_defValues {
CType = list
list_type = a2gmaps_map
}
}
}
show = *
}

View File

@ -0,0 +1,18 @@
plugin.tx_a2gmaps {
view {
# cat=altogether maps/file; type=string; label=Path to template root (FE)
templateRootPath = EXT:a2g_maps/Resources/Private/Templates/
# cat=altogether maps/file; type=string; label=Path to template partials (FE)
partialRootPath = EXT:a2g_maps/Resources/Private/Partials/
# cat=altogether maps/file; type=string; label=Path to template layouts (FE)
layoutRootPath = EXT:a2g_maps/Resources/Private/Layouts/
}
settings {
# cat=altogether maps//config; type=string; label=Path to default map marker
defaultMapMarker = /typo3conf/ext/a2g_openlayers/data/icons/markerSolid.svg
}
#persistence {
# cat=altogether maps//a; type=string; label=Default storage PID
# storagePid =
#}
}

View File

@ -0,0 +1,66 @@
plugin.tx_a2gmaps_map {
view {
templateRootPaths.0 = EXT:a2g_maps/Resources/Private/Templates/
templateRootPaths.1 = {$plugin.tx_a2gmaps.view.templateRootPath}
partialRootPaths.0 = EXT:a2g_maps/Resources/Private/Partials/
partialRootPaths.1 = {$plugin.tx_a2gmaps.view.partialRootPath}
layoutRootPaths.0 = EXT:a2g_maps/Resources/Private/Layouts/
layoutRootPaths.1 = {$plugin.tx_a2gmaps.view.layoutRootPath}
}
settings {
defaultMapMarker = {$plugin.tx_a2gmaps.settings.defaultMapMarker}
}
#persistence {
# storagePid = {$plugin.tx_a2gmaps.persistence.storagePid}
#recursive = 1
#}
}
page.includeJSFooter.a2gMapsConfig = EXT:a2g_maps/Resources/Public/JavaScript/a2gMap.config.js
page.includeJSFooter.a2gMapsModule= EXT:a2g_maps/Resources/Public/JavaScript/a2gMap.min.js
page.includeJSFooter.a2gMapsConfig {
disableCompression = 1
excludeFromConcatenation = 1
}
page.includeJSFooter.a2gMapsModule {
type = module
crossorigin = true
disableCompression = 1
excludeFromConcatenation = 1
}
page.includeCSS {
a2gMaps = EXT:a2g_maps/Resources/Public/Scss/a2gMap.scss
}
page.includeCSS.a2gMaps {
disableCompression = 1
excludeFromConcatenation = 1
}
a2gMapMarkers = PAGE
a2gMapMarkers {
typeNum = 1652369510
config {
disableAllHeaderCode = 1
admPanel = 0
additionalHeaders.10.header = Content-type:application/json
xhtml_cleaning = 0
debug = 0
no_cache = 0
}
10 = USER
10 {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = A2gMaps
pluginName = map
vendorName = Altogether
controller = Map
settings < plugin.tx_a2gmaps_map.settings
persistence < plugin.tx_a2gmaps_map.persistence
view < plugin.tx_a2gmaps_map.view
}
}

View File

@ -0,0 +1,2 @@
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_maps/Configuration/TypoScript/Base/constants.typoscript">

View File

@ -0,0 +1,3 @@
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_maps/Configuration/TypoScript/Base/setup.typoscript">
#<INCLUDE_TYPOSCRIPT: source="FILE:EXT:a2g_maps/Configuration/TypoScript/GoogleAnalytics/setup.typoscript">