cvs: php4 /ext/domxml php_domxml.c php_domxml.h

From: Date: Mon, 15 Apr 2002 14:45:39 +0000
Subject: cvs: php4 /ext/domxml php_domxml.c php_domxml.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-11146@lists.php.net to get a copy of this message
steinm Mon Apr 15 10:45:39 2002 EDT Modified files: /php4/ext/domxml php_domxml.c php_domxml.h Log: - added DomNode->replace_child() Index: php4/ext/domxml/php_domxml.c diff -u php4/ext/domxml/php_domxml.c:1.139 php4/ext/domxml/php_domxml.c:1.140 --- php4/ext/domxml/php_domxml.c:1.139 Sat Apr 13 06:23:46 2002 +++ php4/ext/domxml/php_domxml.c Mon Apr 15 10:45:34 2002 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_domxml.c,v 1.139 2002/04/13 10:23:46 chregu Exp $ */ +/* $Id: php_domxml.c,v 1.140 2002/04/15 14:45:34 steinm Exp $ */ /* TODO * - Support Notation Nodes @@ -326,9 +326,9 @@ PHP_FALIAS(parent, domxml_node_parent, NULL) PHP_FALIAS(parent_node, domxml_node_parent, NULL) PHP_FALIAS(insert_before, domxml_node_insert_before, NULL) - PHP_FALIAS(append_sibling, domxml_node_append_sibling, NULL) PHP_FALIAS(append_child, domxml_node_append_child, NULL) PHP_FALIAS(remove_child, domxml_node_remove_child, NULL) + PHP_FALIAS(replace_child, domxml_node_replace_child, NULL) PHP_FALIAS(owner_document, domxml_node_owner_document, NULL) PHP_FALIAS(new_child, domxml_node_new_child, NULL) PHP_FALIAS(attributes, domxml_node_attributes, NULL) @@ -337,6 +337,7 @@ PHP_FALIAS(clone_node, domxml_clone_node, NULL) /* Non DOM functions start here */ PHP_FALIAS(add_child, domxml_node_add_child, NULL) + PHP_FALIAS(append_sibling, domxml_node_append_sibling, NULL) PHP_FALIAS(node, domxml_node, NULL) PHP_FALIAS(unlink, domxml_node_unlink_node, NULL) PHP_FALIAS(unlink_node, domxml_node_unlink_node, NULL) @@ -2156,6 +2157,42 @@ zval *rv; xmlUnlinkNode(child); DOMXML_RET_OBJ(rv, child, &ret); + return; + } + children = children->next; + } + RETURN_FALSE +} +/* }}} */ + +/* {{{ proto object domxml_node_replace_child(object newnode, object oldnode) + Replaces node in list of children */ +PHP_FUNCTION(domxml_node_replace_child) +{ + zval *id, *newnode, *oldnode; + xmlNodePtr children, newchild, oldchild, nodep; + int ret; + + DOMXML_GET_THIS_OBJ(nodep, id, le_domxmlnodep); + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "oo", &newnode, &oldnode) == FAILURE) { + return; + } + + DOMXML_GET_OBJ(newchild, newnode, le_domxmlnodep); + DOMXML_GET_OBJ(oldchild, oldnode, le_domxmlnodep); + + children = nodep->children; + if (!children) { + RETURN_FALSE; + } + + while (children) { + if (children == oldchild) { + zval *rv; + xmlNodePtr node; + node = xmlReplaceNode(oldchild, newchild); + DOMXML_RET_OBJ(rv, oldchild, &ret); return; } children = children->next; Index: php4/ext/domxml/php_domxml.h diff -u php4/ext/domxml/php_domxml.h:1.48 php4/ext/domxml/php_domxml.h:1.49 --- php4/ext/domxml/php_domxml.h:1.48 Sat Apr 13 06:23:46 2002 +++ php4/ext/domxml/php_domxml.h Mon Apr 15 10:45:38 2002 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_domxml.h,v 1.48 2002/04/13 10:23:46 chregu Exp $ */ +/* $Id: php_domxml.h,v 1.49 2002/04/15 14:45:38 steinm Exp $ */ #ifndef PHP_DOMXML_H #define PHP_DOMXML_H @@ -111,6 +111,7 @@ PHP_FUNCTION(domxml_node_append_sibling); PHP_FUNCTION(domxml_node_append_child); PHP_FUNCTION(domxml_node_remove_child); +PHP_FUNCTION(domxml_node_replace_child); PHP_FUNCTION(domxml_node_add_child); PHP_FUNCTION(domxml_node_has_attributes); PHP_FUNCTION(domxml_node_has_child_nodes);

« previous php.cvs (#11146) next »