flatpress/fp-includes/fp-smartyplugins/validate_criteria.isEmail.php
Fraenkiman db719245af no transfer of null to parameter of type string
- Fixes: Passing null to parameter #1 ($string) of type string is deprecated
2024-01-06 15:09:05 +01:00

56 lines
1.8 KiB
PHP

<?php
/**
* Project: SmartyValidate: Form Validator for the Smarty Template Engine
* File: validate_criteria.isEmail.php
* Author: Monte Ohrt <monte at newdigitalgroup dot com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* @link http://www.phpinsider.com/php/code/SmartyValidate/
* @copyright 2001-2005 New Digital Group, Inc.
* @author Monte Ohrt <monte at newdigitalgroup dot com>
* @package SmartyValidate
*/
/**
* test if a value is a valid e-mail address
*
* @param string $value the value being tested
* @param boolean $empty if field can be empty
* @param array params validate parameter values
* @param array formvars form var values
*/
function smarty_validate_criteria_isEmail($value, $empty, &$params, &$formvars) {
if (empty($value))
return $empty;
if (strlen($value) == 0)
return $empty;
// in case value is several addresses separated by newlines
$_addresses = preg_split('![\n\r]+!', $value);
foreach ($_addresses as $_address) {
$_is_valid = !(preg_match('!@.*@|\.\.|\,|\;!', $_address) || !preg_match('!^.+\@(\[?)[a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,}|[0-9]{1,})(\]?)$!', $_address));
if (!$_is_valid)
return false;
}
return true;
}
?>