cvs: php4 /ext/domxml php_domxml.c php_domxml.h
| From: | Uwe Steinmann | 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);