- code cleanup (mostly whitespaces)

release-0.6
alecpl 15 years ago
parent a5f430d069
commit f7f9346feb

@ -332,17 +332,21 @@ class Mail_mime
function addAttachment($file,
$c_type = 'application/octet-stream',
$name = '',
$isfile = true,
$isfile = true,
$encoding = 'base64',
$disposition = 'attachment',
$charset = '',
$language = '',
$language = '',
$location = '',
$n_encoding = NULL,
$f_encoding = NULL)
$n_encoding = NULL,
$f_encoding = NULL)
{
$filedata = ($isfile === true) ? $this->_file2str($file)
: $file;
$filedata = ($isfile === true) ? $this->_file2str($file) : $file;
if (PEAR::isError($filedata)) {
return $filedata;
}
if ($isfile === true) {
// Force the name the user supplied, otherwise use $file
$filename = (strlen($name)) ? $name : $file;
@ -355,9 +359,6 @@ class Mail_mime
return $err;
}
$filename = $this->_basename($filename);
if (PEAR::isError($filedata)) {
return $filedata;
}
$this->_parts[] = array(
'body' => $filedata,
@ -368,8 +369,8 @@ class Mail_mime
'language' => $language,
'location' => $location,
'disposition' => $disposition,
'name-encoding' => $n_encoding,
'filename-encoding'=> $f_encoding
'name-encoding' => $n_encoding,
'filename-encoding' => $f_encoding
);
return true;
}
@ -397,16 +398,16 @@ class Mail_mime
$err = PEAR::raiseError('File is not readable: ' . $file_name);
return $err;
}
//Temporarily reset magic_quotes_runtime and read file contents
if ($magic_quote_setting = get_magic_quotes_runtime()) {
set_magic_quotes_runtime(0);
}
$cont = file_get_contents($file_name);
$cont = file_get_contents($file_name);
if ($magic_quote_setting) {
set_magic_quotes_runtime($magic_quote_setting);
}
return $cont;
}
@ -471,7 +472,7 @@ class Mail_mime
{
$params = array();
$params['content_type'] = 'multipart/mixed';
//Create empty multipart/mixed Mail_mimePart object to return
$ret = new Mail_mimePart('', $params);
return $ret;
@ -538,16 +539,17 @@ class Mail_mime
$params['disposition'] = 'inline';
$params['dfilename'] = $value['name'];
$params['cid'] = $value['cid'];
if ($value['name-encoding']) {
$params['name-encoding'] = $value['name-encoding'];
}
if ($value['filename-encoding']) {
$params['filename-encoding'] = $value['filename-encoding'];
}
if (!empty($value['name-encoding'])) {
$params['name-encoding'] = $value['name-encoding'];
}
if (!empty($value['filename-encoding'])) {
$params['filename-encoding'] = $value['filename-encoding'];
}
$ret = $obj->addSubpart($value['body'], $params);
return $ret;
}
/**
@ -573,12 +575,12 @@ class Mail_mime
if ($value['location']) {
$params['location'] = $value['location'];
}
if ($value['name-encoding']) {
$params['name-encoding'] = $value['name-encoding'];
}
if ($value['filename-encoding']) {
$params['filename-encoding'] = $value['filename-encoding'];
}
if ($value['name-encoding']) {
$params['name-encoding'] = $value['name-encoding'];
}
if ($value['filename-encoding']) {
$params['filename-encoding'] = $value['filename-encoding'];
}
$params['content_type'] = $value['c_type'];
$params['disposition'] = isset($value['disposition']) ?
$value['disposition'] : 'attachment';
@ -605,9 +607,9 @@ class Mail_mime
* @access public
*/
function getMessage(
$separation = null,
$build_params = null,
$xtra_headers = null,
$separation = null,
$build_params = null,
$xtra_headers = null,
$overwrite = false
)
{
@ -658,7 +660,7 @@ class Mail_mime
$this->_build_params[$key] = $value;
}
}
if (isset($this->_headers['From'])){
//Bug #11381: Illegal characters in domain ID
if (preg_match("|(@[0-9a-zA-Z\-\.]+)|", $this->_headers['From'], $matches)){
@ -670,7 +672,7 @@ class Mail_mime
$this->_html_images[$i]['cid'] = $this->_html_images[$i]['cid'] . $domainID;
}
}
if (count($this->_html_images) AND isset($this->_htmlbody)) {
foreach ($this->_html_images as $key => $value) {
$regex = array();
@ -684,7 +686,7 @@ class Mail_mime
$rep[] = 'url(\1cid:' . $value['cid'] . '\1)';
$this->_htmlbody = preg_replace($regex, $rep, $this->_htmlbody);
$this->_html_images[$key]['name'] =
$this->_html_images[$key]['name'] =
$this->_basename($this->_html_images[$key]['name']);
}
}
@ -775,7 +777,7 @@ class Mail_mime
if (isset($message)) {
$output = $message->encode();
$this->_headers = array_merge($this->_headers,
$output['headers']);
$body = $output['body'];
@ -831,7 +833,7 @@ class Mail_mime
function txtHeaders($xtra_headers = null, $overwrite = false)
{
$headers = $this->headers($xtra_headers, $overwrite);
$ret = '';
foreach ($headers as $key => $val) {
$ret .= "$key: $val" . MAIL_MIME_CRLF;
@ -943,11 +945,11 @@ class Mail_mime
//$hdr_value_out: The recombined $hdr_val-atoms, or the encoded string.
//Note: Atom as specified here is not exactly the same as an RFC822 atom,
//as $atom's may contain just a single space.
$useIconv = true;
$useIconv = true;
if (isset($build_params['ignore-iconv'])) {
$useIconv = !$build_params['ignore-iconv'];
}
}
foreach ($input as $hdr_name => $hdr_value) {
/*
$parts = preg_split('/([ ])/', $hdr_value, -1, PREG_SPLIT_DELIM_CAPTURE);
@ -977,14 +979,14 @@ class Mail_mime
$imePrefs['output-charset'] = $build_params['head_charset'];
$imePrefs['line-length'] = 74;
$imePrefs['line-break-chars'] = "\r\n"; //Specified in RFC2047
$hdr_value = iconv_mime_encode($hdr_name, $hdr_value, $imePrefs);
$hdr_value = preg_replace("#^{$hdr_name}\:\ #", "", $hdr_value);
} elseif ($build_params['head_encoding'] == 'base64') {
//Base64 encoding has been selected.
//Base64 encode the entire string
$hdr_value = base64_encode($hdr_value);
//Generate the header using the specified params and dynamicly
//determine the maximum length of such strings.
//75 is the value specified in the RFC. The first -2 is there so
@ -1000,7 +1002,7 @@ class Mail_mime
//we can get must be rounded down.
$maxLength = $maxLength - ($maxLength % 4);
$maxLength1stLine = $maxLength1stLine - ($maxLength1stLine % 4);
$cutpoint = $maxLength1stLine;
$hdr_value_out = $hdr_value;
$output = "";
@ -1009,10 +1011,10 @@ class Mail_mime
$part = substr($hdr_value_out, 0, $cutpoint);
$hdr_value_out = substr($hdr_value_out, $cutpoint);
$cutpoint = $maxLength;
//RFC 2047 specifies that any split header should
//RFC 2047 specifies that any split header should
//be seperated by a CRLF SPACE.
if ($output) {
$output .= "\r\n ";
$output .= "\r\n ";
}
$output .= $prefix . $part . $suffix;
}
@ -1036,7 +1038,7 @@ class Mail_mime
$hdr_value = substr($hdr_value, 0, -1);
$quoteSuffix = '"';
}
//Generate the header using the specified params and dynamicly
//determine the maximum length of such strings.
//75 is the value specified in the RFC. The -2 is there so
@ -1048,12 +1050,12 @@ class Mail_mime
$maxLength = 75 - strlen($prefix . $suffix) - 2 - 1;
$maxLength1stLine = $maxLength - strlen($hdr_name) - 2;
$maxLength = $maxLength - 1;
//Replace all special characters used by the encoder.
$search = array('=', '_', '?', ' ');
$replace = array('=3D', '=5F', '=3F', '_');
$hdr_value = str_replace($search, $replace, $hdr_value);
//Replace all extended characters (\x80-xFF) with their
//ASCII values.
$hdr_value = preg_replace('#([\x80-\xFF])#e',
@ -1067,7 +1069,7 @@ class Mail_mime
//Fix for Bug #10298, Ota Mares <om@viazenetti.de>
//Concat the double quotes and encoded string together
$hdr_value = $quotePrefix . $hdr_value . $quoteSuffix;
$hdr_value_out = $hdr_value;
$realMax = $maxLength1stLine + strlen($prefix . $suffix);
if (strlen($hdr_value_out) >= $realMax) {
@ -1078,11 +1080,11 @@ class Mail_mime
//Split translated string at every $maxLength
//But make sure not to break any translated chars.
$found = preg_match($reg, $hdr_value_out, $matches);
//After this first line, we need to use a different
//regexp for the first line.
$reg = $reg2nd;
//Save the found part and encapsulate it in the
//prefix & suffix. Then remove the part from the
//$hdr_value_out variable.
@ -1094,11 +1096,11 @@ class Mail_mime
$part = $hdr_value_out;
$hdr_value_out = "";
}
//RFC 2047 specifies that any split header should
//be seperated by a CRLF SPACE
if ($output) {
$output .= "\r\n ";
$output .= "\r\n ";
}
$output .= $prefix . $part . $suffix;
}
@ -1140,11 +1142,11 @@ class Mail_mime
*/
function _basename($filename)
{
// basename() is not unicode safe and locale dependent
if (stristr(PHP_OS, 'win') || stristr(PHP_OS, 'netware'))
return preg_replace('/^.*[\\\\\\/]/', '', $filename);
else
return preg_replace('/^.*[\/]/', '', $filename);
// basename() is not unicode safe and locale dependent
if (stristr(PHP_OS, 'win') || stristr(PHP_OS, 'netware'))
return preg_replace('/^.*[\\\\\\/]/', '', $filename);
else
return preg_replace('/^.*[\/]/', '', $filename);
}
} // End of class

@ -182,19 +182,19 @@ class Mail_mimePart {
}
}
if (isset($contentType['type'])) {
$headers['Content-Type'] = $contentType['type'];
if (isset($contentType['charset'])) {
if (isset($contentType['charset'])) {
$headers['Content-Type'] .= "; charset={$contentType['charset']}";
}
if (isset($contentType['name'])) {
$headers['Content-Type'] .= ';' . MAIL_MIMEPART_CRLF;
$headers['Content-Type'] .=
$this->_buildHeaderParam('name', $contentType['name'],
isset($contentType['charset']) ? $contentType['charset'] : 'US-ASCII',
$this->_buildHeaderParam('name', $contentType['name'],
isset($contentType['charset']) ? $contentType['charset'] : 'US-ASCII',
isset($contentType['language']) ? $contentType['language'] : NULL,
isset($params['name-encoding']) ? $params['name-encoding'] : NULL);
isset($params['name-encoding']) ? $params['name-encoding'] : NULL);
}
}
@ -204,10 +204,10 @@ class Mail_mimePart {
if (isset($contentDisp['filename'])) {
$headers['Content-Disposition'] .= ';' . MAIL_MIMEPART_CRLF;
$headers['Content-Disposition'] .=
$this->_buildHeaderParam('filename', $contentDisp['filename'],
isset($contentDisp['charset']) ? $contentDisp['charset'] : 'US-ASCII',
$this->_buildHeaderParam('filename', $contentDisp['filename'],
isset($contentDisp['charset']) ? $contentDisp['charset'] : 'US-ASCII',
isset($contentDisp['language']) ? $contentDisp['language'] : NULL,
isset($params['filename-encoding']) ? $params['filename-encoding'] : NULL);
isset($params['filename-encoding']) ? $params['filename-encoding'] : NULL);
}
}
@ -257,8 +257,8 @@ class Mail_mimePart {
}
$encoded['body'] = '--' . $boundary . MAIL_MIMEPART_CRLF .
implode('--' . $boundary . MAIL_MIMEPART_CRLF , $subparts) .
'--' . $boundary.'--' . MAIL_MIMEPART_CRLF;
implode('--' . $boundary . MAIL_MIMEPART_CRLF , $subparts) .
'--' . $boundary.'--' . MAIL_MIMEPART_CRLF;
} else {
$encoded['body'] = $this->_getEncodedData($this->_body, $this->_encoding);
@ -398,26 +398,28 @@ class Mail_mimePart {
function _buildHeaderParam($name, $value, $charset=NULL, $language=NULL, $paramEnc=NULL, $maxLength=78)
{
// RFC 2045:
// value needs encoding if contains non-ASCII chars or is longer than 78 chars
// value needs encoding if contains non-ASCII chars or is longer than 78 chars
if (!preg_match('#[^\x20-\x7E]#', $value)) { // ASCII
// token
if (!preg_match('#([^\x21,\x23-\x27,\x2A,\x2B,\x2D,\x2E,\x30-\x39,\x41-\x5A,\x5E-\x7E])#', $value)) {
if (strlen($name) + strlen($value) + 3 <= $maxLength)
return " {$name}={$value};";
} else { // quoted-string
$quoted = addcslashes($value, '\\"');
if (strlen($name) + strlen($quoted) + 5 <= $maxLength)
return " {$name}=\"{$quoted}\";";
}
}
// RFC2047: use quoted-printable/base64 encoding
if ($paramEnc == 'quoted-printable' || $paramEnc == 'base64')
return $this->_buildRFC2047Param($name, $value, $charset, $paramEnc);
// RFC2231:
$encValue = preg_replace('#([^\x21,\x23,\x24,\x26,\x2B,\x2D,\x2E,\x30-\x39,\x41-\x5A,\x5E-\x7E])#e',
'"%" . strtoupper(dechex(ord("\1")))', $value);
// token
if (!preg_match('#([^\x21,\x23-\x27,\x2A,\x2B,\x2D,\x2E,\x30-\x39,\x41-\x5A,\x5E-\x7E])#', $value)) {
if (strlen($name) + strlen($value) + 3 <= $maxLength)
return " {$name}={$value};";
} else { // quoted-string
$quoted = addcslashes($value, '\\"');
if (strlen($name) + strlen($quoted) + 5 <= $maxLength)
return " {$name}=\"{$quoted}\";";
}
}
// RFC2047: use quoted-printable/base64 encoding
if ($paramEnc == 'quoted-printable' || $paramEnc == 'base64')
return $this->_buildRFC2047Param($name, $value, $charset, $paramEnc);
// RFC2231:
$encValue = preg_replace(
'#([^\x21,\x23,\x24,\x26,\x2B,\x2D,\x2E,\x30-\x39,\x41-\x5A,\x5E-\x7E])#e',
'"%" . strtoupper(dechex(ord("\1")))',
$value);
$value = "$charset'$language'$encValue";
$header = " {$name}*={$value};";
@ -461,64 +463,64 @@ class Mail_mimePart {
*/
function _buildRFC2047Param($name, $value, $charset, $encoding='quoted-printable', $maxLength=75)
{
// WARNING: RFC 2047 says: "An 'encoded-word' MUST NOT be used in
// parameter of a MIME Content-Type or Content-Disposition field"
// but... it's supported by many clients/servers
if ($encoding == 'base64')
{
$value = base64_encode($value);
// WARNING: RFC 2047 says: "An 'encoded-word' MUST NOT be used in
// parameter of a MIME Content-Type or Content-Disposition field"
// but... it's supported by many clients/servers
if ($encoding == 'base64')
{
$value = base64_encode($value);
$prefix = '=?' . $charset . '?B?';
$suffix = '?=';
$quoted = '';
$quoted = '';
$add_len = strlen($prefix . $suffix) + strlen($name) + 6; // 2 x SPACE, 2 x '"', '=', ';'
$len = $add_len + strlen($value);
$add_len = strlen($prefix . $suffix) + strlen($name) + 6; // 2 x SPACE, 2 x '"', '=', ';'
$len = $add_len + strlen($value);
while ($len > $maxLength) {
// We can cut base64-encoded string every 4 characters
$real_len = floor(($maxLength - $add_len) / 4) * 4;
$_quote = substr($value, 0, $real_len);
$value = substr($value, $real_len);
while ($len > $maxLength) {
// We can cut base64-encoded string every 4 characters
$real_len = floor(($maxLength - $add_len) / 4) * 4;
$_quote = substr($value, 0, $real_len);
$value = substr($value, $real_len);
$quoted .= $prefix . $_quote . $suffix . MAIL_MIMEPART_CRLF . ' ';
$add_len = strlen($prefix . $suffix) + 4; // 2 x SPACE, '"', ';'
$len = strlen($value) + $add_len;
}
$quoted .= $prefix . $_quote . $suffix . MAIL_MIMEPART_CRLF . ' ';
$add_len = strlen($prefix . $suffix) + 4; // 2 x SPACE, '"', ';'
$len = strlen($value) + $add_len;
}
$quoted .= $prefix . $value . $suffix;
}
else // quoted-printable
{
// Replace all special characters used by the encoder.
else // quoted-printable
{
// Replace all special characters used by the encoder.
$search = array('=', '_', '?', ' ');
$replace = array('=3D', '=5F', '=3F', '_');
$value = str_replace($search, $replace, $value);
$replace = array('=3D', '=5F', '=3F', '_');
$value = str_replace($search, $replace, $value);
// Replace all extended characters (\x80-xFF) with their
// ASCII values.
$value = preg_replace('/([\x80-\xFF])/e',
'"=" . strtoupper(dechex(ord("\1")))', $value);
// Replace all extended characters (\x80-xFF) with their
// ASCII values.
$value = preg_replace('/([\x80-\xFF])/e',
'"=" . strtoupper(dechex(ord("\1")))', $value);
$prefix = '=?' . $charset . '?Q?';
$suffix = '?=';
$add_len = strlen($prefix . $suffix) + strlen($name) + 6; // 2 x SPACE, 2 x '"', '=', ';'
$len = $add_len + strlen($value);
while ($len > $maxLength) {
$length = $maxLength - $add_len;
// not break any encoded letters
if(preg_match("/^(.{0,$length}[^\=][^\=])/", $value, $matches))
$_quote = $matches[1];
$quoted .= $prefix . $_quote . $suffix . MAIL_MIMEPART_CRLF . ' ';
$value = substr($value, strlen($_quote));
$add_len = strlen($prefix . $suffix) + 4; // 2 x SPACE, '"', ';'
$len = strlen($value) + $add_len;
}
$quoted .= $prefix . $value . $suffix;
$add_len = strlen($prefix . $suffix) + strlen($name) + 6; // 2 x SPACE, 2 x '"', '=', ';'
$len = $add_len + strlen($value);
while ($len > $maxLength) {
$length = $maxLength - $add_len;
// not break any encoded letters
if(preg_match("/^(.{0,$length}[^\=][^\=])/", $value, $matches))
$_quote = $matches[1];
$quoted .= $prefix . $_quote . $suffix . MAIL_MIMEPART_CRLF . ' ';
$value = substr($value, strlen($_quote));
$add_len = strlen($prefix . $suffix) + 4; // 2 x SPACE, '"', ';'
$len = strlen($value) + $add_len;
}
$quoted .= $prefix . $value . $suffix;
}
return " {$name}=\"{$quoted}\"; ";

Loading…
Cancel
Save