/** * Constructor. * * @param array $data V1 data. */ public function __construct($data) { // Version number array_shift($data); $d = array(); $type = array_shift($data); $subtype = array_shift($data); $ct = Horde_Mime_Headers_ContentParam_ContentType::create(); $d[4] = new Horde_Mime_Headers(); $d[4]->addHeaderOb($ct); $ct->setContentParamValue($type . '/' . $subtype); $d[9] = array_shift($data); if ($lang = array_shift($data)) { $d[4]->addHeaderOb(new Horde_Mime_Headers_ContentLanguage('', $lang)); } if ($cd = array_shift($data)) { $hdr = new Horde_Mime_Headers_ContentDescription(null, ''); $d[4]->addHeaderOb($hdr); $hdr->setValue($cd); } $cd = new Horde_Mime_Headers_ContentParam_ContentDisposition(null, ''); $d[4]->addHeaderOb($cd); $cd->setContentParamValue(array_shift($data)); foreach (array_shift($data) as $key => $val) { $cd[$key] = $val; } foreach (array_shift($data) as $key => $val) { $ct[$key] = $val; } $d[7] = array_shift($data); $d[6] = array_shift($data); $d[2] = array_shift($data); $d[5] = array_shift($data); if ($boundary = array_shift($data)) { $ct['boundary'] = $boundary; } $d[1] = array_shift($data); if ($cid = array_shift($data)) { $hdr = new Horde_Mime_Headers_ContentId(null, $cid); $d[4]->addHeaderOb($hdr); } if ($cd = array_shift($data)) { $hdr = new Horde_Mime_Headers_Element_Single('Content-Duration', ''); $d[4]->addHeaderOb($hdr); $hdr->setValue($cd); } $d[8] = 0; if (array_shift($data)) { $d[8] |= STATUS_REINDEX; } if (array_shift($data)) { $d[8] |= STATUS_BASEPART; } $d[3] = array_shift($data); if (count($data)) { $d[10] = reset($data); } $this->data = $d; }
/** * Constructor. */ public function __construct() { $this->_headers = new Horde_Mime_Headers(); /* Mandatory MIME headers. */ $this->_headers->addHeaderOb(new Horde_Mime_Headers_ContentParam_ContentDisposition(null, '')); $ct = Horde_Mime_Headers_ContentParam_ContentType::create(); $ct['charset'] = self::$defaultCharset; $this->_headers->addHeaderOb($ct); }
public function testMultipartCantUnsetBoundary() { $ob = Horde_Mime_Headers_ContentParam_ContentType::create(); $ob->setContentParamValue('multipart/mixed'); $this->assertNotEmpty($ob['boundary']); unset($ob['boundary']); $this->assertNotEmpty($ob['boundary']); }