initial commit
This commit is contained in:
39
Classes/Hooks/MapEntryDataHandlerHooks.php
Executable file
39
Classes/Hooks/MapEntryDataHandlerHooks.php
Executable file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace A2G\A2gMaps\Hooks;
|
||||
|
||||
use TYPO3\CMS\Core\DataHandling\DataHandler;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use A2G\A2gMaps\Utility\MapConfigUtility;
|
||||
|
||||
class MapEntryDataHandlerHooks {
|
||||
|
||||
/**
|
||||
* @param string|int $id
|
||||
*/
|
||||
public function processDatamap_postProcessFieldArray(
|
||||
string $status, // Status of the current operation, 'new' or 'update'
|
||||
string $table, // The table currently processing data for
|
||||
$id, // The record uid currently processing data for,
|
||||
// [integer] or [string] (like 'NEW...')
|
||||
array &$fieldArray, // The field array of a record, cleaned to only
|
||||
// 'to-be-changed' values. Needs to be &$fieldArray to be considered reference.
|
||||
DataHandler $dataHandler
|
||||
): void
|
||||
{
|
||||
if ($table === 'tx_a2gmaps_domain_model_mapentry') {
|
||||
if( ( $fieldArray['latitude'] === 0.0 || $fieldArray['longitude'] === 0.0 ) || $fieldArray['nav_to_url'] === ''){
|
||||
if($fieldArray['nav_to_url'] === '' && ($fieldArray['latitude'] != 0.0 || $fieldArray['longitude'] != 0.0 )){
|
||||
|
||||
} else if($fieldArray['city'] !== '' && $fieldArray['zip'] !== '' && $fieldArray['addressline'] !== ''){
|
||||
$latLon = MapConfigUtility::getLatLonFrom($fieldArray['addressline'], $fieldArray['zip'] === '' ? $fieldArray['city'] : $fieldArray['zip'].' '.$fieldArray['city']);
|
||||
$fieldArray['latitude'] = (float)$latLon['lat'];
|
||||
$fieldArray['longitude'] = (float)$latLon['lon'];
|
||||
$fieldArray['nav_to_url'] = MapConfigUtility::getNavToLink($fieldArray['addressline'], $fieldArray['zip'] === '' ? $fieldArray['city'] : $fieldArray['zip'].' '.$fieldArray['city']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user