Files
prestashop/classes/AddressChecksumCore.php
2026-04-09 18:31:51 +02:00

43 lines
933 B
PHP

<?php
/**
* For the full copyright and license information, please view the
* docs/licenses/LICENSE.txt file that was distributed with this source code.
*/
/**
* Class AddressChecksumCore.
*/
class AddressChecksumCore implements ChecksumInterface
{
public const SEPARATOR = '_';
/**
* Generate a checksum.
*
* @param Address $address
*
* @return string SHA1 checksum for the Address
*/
public function generateChecksum($address)
{
if (!$address->id) {
return sha1('No address set');
}
$uniqId = '';
try {
$fields = $address->getFields();
} catch (Exception $e) {
return sha1('Invalid address');
}
foreach ($fields as $name => $value) {
$uniqId .= $value . self::SEPARATOR;
}
$uniqId = rtrim($uniqId, self::SEPARATOR);
return sha1($uniqId);
}
}