Skip to content

Commit

Permalink
Simplify, don't duplicate where possible
Browse files Browse the repository at this point in the history
  • Loading branch information
mrubinsk committed Nov 6, 2022
1 parent 68dc1cd commit 4d3c828
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 89 deletions.
23 changes: 5 additions & 18 deletions lib/Horde/Mime/Headers.php
Original file line number Diff line number Diff line change
Expand Up @@ -388,31 +388,23 @@ public static function parseHeaders($text)
*/
public function serialize()
{
$data = array(
// Serialized data ID.
self::VERSION,
$this->_headers->getArrayCopy(),
// TODO: BC
$this->_eol
);

return serialize($data);
return serialize($this->__serialize());
}

/**
* Serialization.
*
* @return array Serialized data.
*/
public function __serialize(): array
{
$data = array(
return array(
// Serialized data ID.
self::VERSION,
$this->_headers->getArrayCopy(),
// TODO: BC
$this->_eol
);
return $data;
}

/**
Expand Down Expand Up @@ -443,15 +435,10 @@ public function __unserialize(array $data): void
public function unserialize($data)
{
$data = @unserialize($data);
if (!is_array($data) ||
!isset($data[0]) ||
($data[0] != self::VERSION)) {
if (!is_array($data)) {
throw new Horde_Mime_Exception('Cache version change');
}

$this->_headers = new Horde_Support_CaseInsensitiveArray($data[1]);
// TODO: BC
$this->_eol = $data[2];
$this->__unserialize($data);
}

/* ArrayAccess methods. */
Expand Down
20 changes: 2 additions & 18 deletions lib/Horde/Mime/Headers/ContentParam.php
Original file line number Diff line number Diff line change
Expand Up @@ -407,11 +407,7 @@ public function offsetUnset($offset)
*/
public function serialize()
{
$vars = array_filter(get_object_vars($this));
if (isset($vars['_params'])) {
$vars['_params'] = $vars['_params']->getArrayCopy();
}
return serialize($vars);
return serialize($this->__serialize());
}

/**
Expand Down Expand Up @@ -455,19 +451,7 @@ public function __unserialize(array $data): void
*/
public function unserialize($data)
{
$data = unserialize($data);

foreach ($data as $key => $val) {
switch ($key) {
case '_params':
$this->_params = new Horde_Support_CaseInsensitiveArray($val);
break;

default:
$this->$key = $val;
break;
}
}
$this->__unserialize(unserialize($data));
}

}
58 changes: 5 additions & 53 deletions lib/Horde/Mime/Part.php
Original file line number Diff line number Diff line change
Expand Up @@ -2393,28 +2393,9 @@ public function getChildren()
*/
public function serialize()
{
$data = array(
// Serialized data ID.
self::VERSION,
$this->_bytes,
$this->_eol,
$this->_hdrCharset,
$this->_headers,
$this->_metadata,
$this->_mimeid,
$this->_parts,
$this->_status,
$this->_transferEncoding
);

if (!empty($this->_contents)) {
$data[] = $this->_readStream($this->_contents);
}

return serialize($data);
return serialize($this->__serialize());
}


public function __serialize(): array
{
$data = array(
Expand All @@ -2434,8 +2415,10 @@ public function __serialize(): array
if (!empty($this->_contents)) {
$data[] = $this->_readStream($this->_contents);
}

return $data;
}

public function __unserialize(array $data): void
{
if (!isset($data[0]) || ($data[0] != self::VERSION)) {
Expand Down Expand Up @@ -2470,6 +2453,7 @@ public function __unserialize(array $data): void
$this->setContents($data[$key]);
}
}

/**
* Unserialization.
*
Expand All @@ -2480,39 +2464,7 @@ public function __unserialize(array $data): void
public function unserialize($data)
{
$data = @unserialize($data);
if (!is_array($data) ||
!isset($data[0]) ||
($data[0] != self::VERSION)) {
switch ($data[0]) {
case 1:
$convert = new Horde_Mime_Part_Upgrade_V1($data);
$data = $convert->data;
break;

default:
$data = null;
break;
}

if (is_null($data)) {
throw new Exception('Cache version change');
}
}

$key = 0;
$this->_bytes = $data[++$key];
$this->_eol = $data[++$key];
$this->_hdrCharset = $data[++$key];
$this->_headers = $data[++$key];
$this->_metadata = $data[++$key];
$this->_mimeid = $data[++$key];
$this->_parts = $data[++$key];
$this->_status = $data[++$key];
$this->_transferEncoding = $data[++$key];

if (isset($data[++$key])) {
$this->setContents($data[$key]);
}
$this->__unserialize($data);
}

/* Deprecated elements. */
Expand Down

0 comments on commit 4d3c828

Please sign in to comment.