Horde_Kolab_Format_Xml_Type_Composite::saveNodeValue PHP Method

saveNodeValue() public method

Update the specified attribute.
public saveNodeValue ( string $name, mixed $value, DOMNode $parent_node, Horde_Kolab_Format_Xml_Helper $helper, array $params = [], DOMNode | null $old_node = false ) : DOMNode | boolean
$name string The name of the attribute to be updated.
$value mixed The value to store.
$parent_node DOMNode The parent node of the node that should be updated.
$helper Horde_Kolab_Format_Xml_Helper A XML helper instance.
$params array The parameters for this write operation.
$old_node DOMNode | null The previous value (or null if there is none).
return DOMNode | boolean The new/updated child node or false if this failed.
    public function saveNodeValue($name, $value, $parent_node, Horde_Kolab_Format_Xml_Helper $helper, $params = array(), $old_node = false)
    {
        if ($old_node === false) {
            $node = $helper->createNewNode($parent_node, $name);
            $this->_writeComposite($node, $name, $value, $helper, $params);
            return $node;
        } else {
            $this->_writeComposite($old_node, $name, $value, $helper, $params);
            return $old_node;
        }
    }

Usage Example

Example #1
0
 /**
  * Update the specified attribute.
  *
  * @param string                        $name        The name of the attribute
  *                                                   to be updated.
  * @param mixed                         $value       The value to store.
  * @param DOMNode                       $parent_node The parent node of the
  *                                                   node that should be
  *                                                   updated.
  * @param Horde_Kolab_Format_Xml_Helper $helper      A XML helper instance.
  * @param array                         $params      The parameters for this
  *                                                   write operation.
  * @param DOMNode|NULL                  $old_node    The previous value (or
  *                                                   null if there is none).
  *
  * @return DOMNode|boolean The new/updated child node or false if this
  *                         failed.
  *
  * @throws Horde_Kolab_Format_Exception If converting the data to XML failed.
  */
 public function saveNodeValue($name, $value, $parent_node, Horde_Kolab_Format_Xml_Helper $helper, $params = array(), $old_node = false)
 {
     $node = parent::saveNodeValue($name, $value, $parent_node, $helper, $params, $old_node);
     // Add attributes
     $node->setAttribute('cycle', $value['cycle']);
     if (isset($value['type'])) {
         $node->setAttribute('type', $value['type']);
     }
     return $node;
 }