* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Core\Domain\Contact\Command; /** * Class AbstractContactCommand is responsible for providing common behavior for AddContactCommand and EditContactCommand. */ abstract class AbstractContactCommand { /** * @param array $values * * @return bool */ protected function assertIsNotEmptyAndContainsAllNonEmptyStringValues(array $values) { $filterNonEmptyStrings = function ($value) { return is_string($value) && $value; }; return !empty($values) && count($values) === count(array_filter($values, $filterNonEmptyStrings)); } /** * @param string $value * * @return false|int */ protected function assertIsGenericName($value) { return preg_match('/^[^<>={}]*$/u', $value); } /** * @param array $values * * @return bool */ protected function assertArrayContainsAllIntegerValues(array $values) { $filterAllIntegers = function ($value) { return is_int($value); }; return !empty($values) && count($values) === count(array_filter($values, $filterAllIntegers)); } }