properties[$property->namespace] ) === false ) || ( isset( $this->properties[$property->namespace][$property->name] ) === false ) ) { $this->propertyOrder[$this->propertyOrderNextId++] = array( $property->namespace, $property->name ); } // Add property $this->properties[$property->namespace][$property->name] = $property; $this->flags[$property->namespace][$property->name] = $flag; } /** * Detaches a property from the storage. * * Removes the property with the given $name from the storage. If the * property did not exist in the storage, the call is silently ignored. If * no $namespace is given, the default namespace DAV: is used. * * @param string $name * @param string $namespace * @return void */ public function detach( $name, $namespace = 'DAV:' ) { if ( ( isset( $this->properties[$namespace] ) === true ) && ( isset( $this->properties[$namespace][$name] ) === true ) ) { unset( $this->properties[$namespace][$name] ); unset( $this->flags[$namespace][$name] ); } } /** * Get flags for property. * * Get the flags of a proerpty from the flagged property storage by its * name and optionally the naemspace of the property. If the namespace is * not explicitely given it dafults to the default DAV namespace "DAV:". * * Will return null, if no flag has been assigned, or the property does not * exist. * * @param string $name * @param string $namespace * @return mixed */ public function getFlag( $name, $namespace = 'DAV:' ) { if ( ( isset( $this->properties[$namespace] ) === true ) && ( isset( $this->properties[$namespace][$name] ) === true ) ) { return $this->flags[$namespace][$name]; } return null; } } ?>