Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Static Public Member Functions
Zend_Mail_Header_HeaderValue Class Reference

Static Public Member Functions

static filter ($value)
 
static isValid ($value)
 
static assertValid ($value)
 

Detailed Description

Definition at line 29 of file HeaderValue.php.

Member Function Documentation

◆ assertValid()

static assertValid (   $value)
static

Assert that the header value is valid.

Raises an exception if invalid.

Parameters
string$value
Exceptions
Exception

Definition at line 129 of file HeaderValue.php.

130  {
131  if (! self::isValid($value)) {
132  #require_once 'Zend/Mail/Exception.php';
133  throw new Zend_Mail_Exception('Invalid header value detected');
134  }
135  }
$value
Definition: gender.phtml:16

◆ filter()

static filter (   $value)
static

Filter the header value according to RFC 2822

See also
http://www.rfc-base.org/txt/rfc-2822.txt (section 2.2)
Parameters
string$value
Returns
string

Definition at line 45 of file HeaderValue.php.

46  {
47  $result = '';
48  $tot = strlen($value);
49 
50  // Filter for CR and LF characters, leaving CRLF + WSP sequences for
51  // Long Header Fields (section 2.2.3 of RFC 2822)
52  for ($i = 0; $i < $tot; $i += 1) {
53  $ord = ord($value[$i]);
54  if (($ord < 32 || $ord > 126)
55  && $ord !== 13
56  ) {
57  continue;
58  }
59 
60  if ($ord === 13) {
61  if ($i + 2 >= $tot) {
62  continue;
63  }
64 
65  $lf = ord($value[$i + 1]);
66  $sp = ord($value[$i + 2]);
67 
68  if ($lf !== 10 || $sp !== 32) {
69  continue;
70  }
71 
72  $result .= "\r\n ";
73  $i += 2;
74  continue;
75  }
76 
77  $result .= $value[$i];
78  }
79 
80  return $result;
81  }
$value
Definition: gender.phtml:16
$i
Definition: gallery.phtml:31

◆ isValid()

static isValid (   $value)
static

Determine if the header value contains any invalid characters.

See also
http://www.rfc-base.org/txt/rfc-2822.txt (section 2.2)
Parameters
string$value
Returns
bool

Definition at line 90 of file HeaderValue.php.

91  {
92  $tot = strlen($value);
93  for ($i = 0; $i < $tot; $i += 1) {
94  $ord = ord($value[$i]);
95  if (($ord < 32 || $ord > 126)
96  && $ord !== 13
97  ) {
98  return false;
99  }
100 
101  if ($ord === 13) {
102  if ($i + 2 >= $tot) {
103  return false;
104  }
105 
106  $lf = ord($value[$i + 1]);
107  $sp = ord($value[$i + 2]);
108 
109  if ($lf !== 10 || $sp !== 32) {
110  return false;
111  }
112 
113  $i += 2;
114  }
115  }
116 
117  return true;
118  }
$value
Definition: gender.phtml:16
$i
Definition: gallery.phtml:31

The documentation for this class was generated from the following file: