70 lines
3.5 KiB
PHP
Executable File
70 lines
3.5 KiB
PHP
Executable File
<?php
|
|
declare(strict_types = 1);
|
|
namespace A2G\A2gMaps\FormEngine\FieldControl;
|
|
|
|
/**
|
|
* This file is part of the "tt_address" Extension for TYPO3 CMS.
|
|
*
|
|
* For the full copyright and license information, please read the
|
|
* LICENSE.txt file that was distributed with this source code.
|
|
*/
|
|
use TYPO3\CMS\Backend\Form\AbstractNode;
|
|
use TYPO3\CMS\Core\Localization\LanguageService;
|
|
|
|
/**
|
|
* Adds a wizard for location selection via map
|
|
*/
|
|
class LocationMapWizard extends AbstractNode
|
|
{
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function render(): array
|
|
{
|
|
$row = $this->data['databaseRow'];
|
|
$paramArray = $this->data['parameterArray'];
|
|
$resultArray = $this->initializeResultArray();
|
|
|
|
$nameLongitude = $paramArray['itemFormElName'];
|
|
$nameLatitude = str_replace('longitude', 'latitude', $nameLongitude);
|
|
$nameLatitudeActive = str_replace('data', 'control[active]', $nameLatitude);
|
|
$geoCodeUrl = $geoCodeUrlShort = '';
|
|
$gLat = '55.6760968';
|
|
$gLon = '12.5683371';
|
|
|
|
$lat = $row['latitude'] != 0 ? (string)$row['latitude'] : '0.0';
|
|
$lon = $row['longitude'] != 0 ? (string)$row['longitude'] : '0.0';
|
|
|
|
$resultArray['iconIdentifier'] = 'location-map-wizard';
|
|
$resultArray['title'] = $this->getLanguageService()->sL('LLL:EXT:tt_address/Resources/Private/Language/locallang_db.xlf:tt_address.locationMapWizard');
|
|
$resultArray['linkAttributes']['class'] = 'locationMapWizard ';
|
|
$resultArray['linkAttributes']['data-label-title'] = $this->getLanguageService()->sL('LLL:EXT:tt_address/Resources/Private/Language/locallang_db.xlf:tt_address.locationMapWizard');
|
|
$resultArray['linkAttributes']['data-label-close'] = $this->getLanguageService()->sL('LLL:EXT:tt_address/Resources/Private/Language/locallang_db.xlf:tt_address.locationMapWizard.close');
|
|
$resultArray['linkAttributes']['data-label-import'] = $this->getLanguageService()->sL('LLL:EXT:tt_address/Resources/Private/Language/locallang_db.xlf:tt_address.locationMapWizard.import');
|
|
$resultArray['linkAttributes']['data-lat'] = $lat;
|
|
$resultArray['linkAttributes']['data-lon'] = $lon;
|
|
$resultArray['linkAttributes']['data-glat'] = $gLat;
|
|
$resultArray['linkAttributes']['data-glon'] = $gLon;
|
|
$resultArray['linkAttributes']['data-geocodeurl'] = $geoCodeUrl;
|
|
$resultArray['linkAttributes']['data-geocodeurlshort'] = $geoCodeUrlShort;
|
|
$resultArray['linkAttributes']['data-namelat'] = htmlspecialchars($nameLatitude);
|
|
$resultArray['linkAttributes']['data-namelon'] = htmlspecialchars($nameLongitude);
|
|
$resultArray['linkAttributes']['data-namelat-active'] = htmlspecialchars($nameLatitudeActive);
|
|
$resultArray['linkAttributes']['data-tiles'] = htmlspecialchars('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');
|
|
$resultArray['linkAttributes']['data-copy'] = '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors';
|
|
$resultArray['stylesheetFiles'][] = 'EXT:tt_address/Resources/Public/Contrib/leaflet-core-1.4.0.css';
|
|
$resultArray['stylesheetFiles'][] = 'EXT:tt_address/Resources/Public/Backend/LocationMapWizard/leafletBackend.css';
|
|
$resultArray['requireJsModules'][] = 'TYPO3/CMS/TtAddress/leaflet-core-1.4.0';
|
|
$resultArray['requireJsModules'][] = 'TYPO3/CMS/TtAddress/LeafletBackend';
|
|
|
|
return $resultArray;
|
|
}
|
|
|
|
/**
|
|
* @return LanguageService
|
|
*/
|
|
protected function getLanguageService(): LanguageService
|
|
{
|
|
return $GLOBALS['LANG'];
|
|
}
|
|
} |