summaryrefslogtreecommitdiff
path: root/program/include/rcube_mime_struct.php
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2011-09-07 11:07:03 +0000
committeralecpl <alec@alec.pl>2011-09-07 11:07:03 +0000
commit80152b333ca5d856dcf09f5ca10a9ffd80ba117f (patch)
tree084aa3c8aabb3d2b1783dbb01170840ccefc0c62 /program/include/rcube_mime_struct.php
parentb104e39f3425faf77cae67101c734fcfc3b0c1e9 (diff)
- Rewritten messages caching (merged devel-mcache branch):
Indexes are stored in a separate table, so there's no need to store all messages in a folder Added threads data caching Flags are stored separately, so flag change doesn't cause DELETE+INSERT, just UPDATE - Partial QRESYNC support - Improved FETCH response handling - Improvements in response tokenization method
Diffstat (limited to 'program/include/rcube_mime_struct.php')
-rw-r--r--program/include/rcube_mime_struct.php88
1 files changed, 8 insertions, 80 deletions
diff --git a/program/include/rcube_mime_struct.php b/program/include/rcube_mime_struct.php
index c64942566..ed28af31f 100644
--- a/program/include/rcube_mime_struct.php
+++ b/program/include/rcube_mime_struct.php
@@ -1,77 +1,7 @@
-<?php
-
-/*
- +-----------------------------------------------------------------------+
- | program/include/rcube_mime_struct.php |
- | |
- | This file is part of the Roundcube Webmail client |
- | Copyright (C) 2005-2011, The Roundcube Dev Team |
- | Licensed under the GNU GPL |
- | |
- | PURPOSE: |
- | Provide functions for handling mime messages structure |
- | |
- | Based on Iloha MIME Library. See http://ilohamail.org/ for details |
- | |
- +-----------------------------------------------------------------------+
- | Author: Aleksander Machniak <alec@alec.pl> |
- | Author: Ryo Chijiiwa <Ryo@IlohaMail.org> |
- +-----------------------------------------------------------------------+
-
- $Id$
-
-*/
-
-/**
- * Helper class to process IMAP's BODYSTRUCTURE string
- *
- * @package Mail
- * @author Aleksander Machniak <alec@alec.pl>
- */
-class rcube_mime_struct
-{
- private $structure;
-
-
- function __construct($str=null)
- {
- if ($str)
- $this->structure = $this->parseStructure($str);
- }
-
- /*
- * Parses IMAP's BODYSTRUCTURE string into array
- */
- function parseStructure($str)
- {
- $line = substr($str, 1, strlen($str) - 2);
- $line = str_replace(')(', ') (', $line);
-
- $struct = rcube_imap_generic::tokenizeResponse($line);
- if (!is_array($struct[0]) && (strcasecmp($struct[0], 'message') == 0)
- && (strcasecmp($struct[1], 'rfc822') == 0)) {
- $struct = array($struct);
- }
-
- return $struct;
- }
-
- /*
- * Parses IMAP's BODYSTRUCTURE string into array and loads it into class internal variable
- */
- function loadStructure($str)
+ function getStructurePartType($structure, $part)
{
- if (empty($str))
- return true;
-
- $this->structure = $this->parseStructure($str);
- return (!empty($this->structure));
- }
-
- function getPartType($part)
- {
- $part_a = $this->getPartArray($this->structure, $part);
+ $part_a = self::getPartArray($structure, $part);
if (!empty($part_a)) {
if (is_array($part_a[0]))
return 'multipart';
@@ -82,9 +12,9 @@ class rcube_mime_struct
return 'other';
}
- function getPartEncoding($part)
+ function getStructurePartEncoding($structure, $part)
{
- $part_a = $this->getPartArray($this->structure, $part);
+ $part_a = self::getPartArray($structure, $part);
if ($part_a) {
if (!is_array($part_a[0]))
return $part_a[5];
@@ -93,9 +23,9 @@ class rcube_mime_struct
return '';
}
- function getPartCharset($part)
+ function getStructurePartCharset($structure, $part)
{
- $part_a = $this->getPartArray($this->structure, $part);
+ $part_a = self::getPartArray($structure, $part);
if ($part_a) {
if (is_array($part_a[0]))
return '';
@@ -112,7 +42,7 @@ class rcube_mime_struct
return '';
}
- function getPartArray($a, $part)
+ function getStructurePartArray($a, $part)
{
if (!is_array($a)) {
return false;
@@ -137,9 +67,7 @@ class rcube_mime_struct
else
return $a;
}
- else if (($part==0) || (empty($part))) {
+ else if (($part == 0) || (empty($part))) {
return $a;
}
}
-
-}