JEMBOT MAWOT Bypass Shell
<?php
/**
* Mollie https://www.mollie.nl
*
* @author Mollie B.V. <info@mollie.nl>
* @copyright Mollie B.V.
* @license https://github.com/mollie/PrestaShop/blob/master/LICENSE.md
*
* @see https://github.com/mollie/PrestaShop
* @codingStandardsIgnoreStart
*/
namespace Mollie\Provider;
use Address;
use AddressFormat;
if (!defined('_PS_VERSION_')) {
exit;
}
final class PhoneNumberProvider implements PhoneNumberProviderInterface
{
public function getFromAddress(Address $address)
{
$phoneNumber = $this->getMobileOrPhone($address);
$phoneNumber = str_replace(' ', '', $phoneNumber);
$phoneNumber = str_replace('+', '', $phoneNumber);
if (empty($phoneNumber) || empty(str_replace(' ', '', $phoneNumber))) {
return null;
}
while ('0' === $phoneNumber[0]) {
$phoneNumber = substr($phoneNumber, 1);
if (empty($phoneNumber) && $phoneNumber !== '0') {
return null;
}
}
if ('+' !== $phoneNumber[0]) {
$phoneNumber = '+' . $phoneNumber;
}
$regex = "/^\+\d{3,18}$/";
if (1 == preg_match($regex, $phoneNumber)) {
return $phoneNumber;
} else {
return null;
}
}
private function getMobileOrPhone(Address $address)
{
$addressFormat = new AddressFormat((int) $address->id_country);
if (strpos($addressFormat->format, 'phone_mobile') !== false) {
return $address->phone_mobile ?: $address->phone;
}
return $address->phone;
}
}
xxxxx1.0, XXX xxxx