diff --git a/webdav/webdav.php b/webdav/webdav.php index 9b2b07fd7..e3ce26d7b 100644 --- a/webdav/webdav.php +++ b/webdav/webdav.php @@ -453,9 +453,9 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server if($valueset && $attrdef->getMultipleValues()) { $valuesetstr = $attrdef->getValueSet(); $delimiter = substr($valuesetstr, 0, 1); - $info["props"][] = $this->mkprop("SeedDMS:", str_replace(' ', '', $attrdef->getName()), $delimiter.implode($delimiter, $attribute->getValueAsArray())); + $info["props"][] = $this->mkprop("SeedDMS:", 'attr_'.str_replace(array(' ', '|'), array('', ''), $attrdef->getName()), $delimiter.implode($delimiter, $attribute->getValueAsArray())); } else - $info["props"][] = $this->mkprop("SeedDMS:", str_replace(' ', '', $attrdef->getName()), $attribute->getValue()); + $info["props"][] = $this->mkprop("SeedDMS:", 'attr_'.str_replace(array(' ','|'), array('', '',''), $attrdef->getName()), $attribute->getValue()); } } @@ -1514,6 +1514,25 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server case "comment": $obj->setComment($val); break; + case "expires": + if($obj->isType("document")) { + if($val) { + $ts = strtotime($val); + if($ts !== false) { + if(!$obj->setExpires($ts)) + return false; + } else { + $options["props"][$key]['status'] = "400 Could not parse date"; + return false; + } + } else { + $obj->setExpires(0); + } + } else { + $options["props"][$key]['status'] = "405 Expiration date cannot be set on folders"; + return false; + } + break; default: if($attrdef = $this->dms->getAttributeDefinitionByName($prop["name"])) { $valueset = $attrdef->getValueSetAsArray(); @@ -1538,7 +1557,7 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server } } - return ""; + return true; } /* }}} */