X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fxml.php;h=76ad88cf48571002b60d9af868c565d6b31f857e;hb=08fb662b4a7b9c94a5882b0c6f47ed463dfb0ba2;hp=2aed3fe8edcacfc54fc7ff73589c4d5cb496a88c;hpb=5a04ba84164070855c26737640f41ed3cb6dcf11;p=friendica.git diff --git a/include/xml.php b/include/xml.php index 2aed3fe8ed..76ad88cf48 100644 --- a/include/xml.php +++ b/include/xml.php @@ -1,4 +1,9 @@ $value) { @@ -77,7 +83,7 @@ class xml { * @param object $target The XML target * @param string $elementname Name of the XML element of the target */ - function copy(&$source, &$target, $elementname) { + public static function copy(&$source, &$target, $elementname) { if (count($source->children()) == 0) $target->addChild($elementname, xmlify($source)); else { @@ -86,5 +92,40 @@ class xml { self::copy($childentry, $child, $childfield); } } + + /** + * @brief Create an XML element + * + * @param object $doc XML root + * @param string $element XML element name + * @param string $value XML value + * @param array $attributes array containing the attributes + * + * @return object XML element object + */ + public static function create_element($doc, $element, $value = "", $attributes = array()) { + $element = $doc->createElement($element, xmlify($value)); + + foreach ($attributes AS $key => $value) { + $attribute = $doc->createAttribute($key); + $attribute->value = xmlify($value); + $element->appendChild($attribute); + } + return $element; + } + + /** + * @brief Create an XML and append it to the parent object + * + * @param object $doc XML root + * @param object $parent parent object + * @param string $element XML element name + * @param string $value XML value + * @param array $attributes array containing the attributes + */ + public static function add_element($doc, $parent, $element, $value = "", $attributes = array()) { + $element = self::create_element($doc, $element, $value, $attributes); + $parent->appendChild($element); + } } ?>