Read X-Kolab-Mime-Version headers if available; Url::None => Url::NoType
This commit is contained in:
parent
b0b0cd8d17
commit
40f811b33a
2 changed files with 15 additions and 4 deletions
|
@ -177,7 +177,7 @@ class kolab_format_contact extends kolab_format
|
|||
|
||||
$vurls = new vectorurl;
|
||||
foreach ((array)$object['website'] as $url) {
|
||||
$type = $url['type'] == 'blog' ? Url::Blog : Url::None;
|
||||
$type = $url['type'] == 'blog' ? Url::Blog : Url::NoType;
|
||||
$vurls->push(new Url($url['url'], $type));
|
||||
}
|
||||
$this->obj->setUrls($vurls);
|
||||
|
|
|
@ -438,9 +438,20 @@ class kolab_storage_folder
|
|||
return false;
|
||||
|
||||
// check kolab format version
|
||||
list($xmltype, $subtype) = explode('.', $object_type);
|
||||
if (strpos($xml, '<' . $xmltype) !== false && strpos($xml, 'xmlns=') === false) {
|
||||
// old Kolab 2.0 format detected
|
||||
$mime_version = $headers->others['x-kolab-mime-version'];
|
||||
if (empty($mime_version)) {
|
||||
list($xmltype, $subtype) = explode('.', $object_type);
|
||||
$xmlhead = substr($xml, 0, 512);
|
||||
|
||||
// detect old Kolab 2.0 format
|
||||
if (strpos($xmlhead, '<' . $xmltype) !== false && strpos($xmlhead, 'xmlns=') === false)
|
||||
$mime_version = 2.0;
|
||||
else
|
||||
$mime_version = 3.0; // assume 3.0
|
||||
}
|
||||
|
||||
if ($mime_version <= 2.0) {
|
||||
// read Kolab 2.0 format
|
||||
$handler = class_exists('Horde_Kolab_Format') ? Horde_Kolab_Format::factory('XML', $xmltype, array('subtype' => $subtype)) : null;
|
||||
if (!is_object($handler) || is_a($handler, 'PEAR_Error')) {
|
||||
return false;
|
||||
|
|
Loading…
Add table
Reference in a new issue