version 1.1.1.1, 2012/02/21 23:47:54
|
version 1.1.1.3, 2013/07/22 01:31:40
|
Line 2
|
Line 2
|
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| PHP Version 5 | |
| PHP Version 5 | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| Copyright (c) 1997-2012 The PHP Group | | | Copyright (c) 1997-2013 The PHP Group | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| This source file is subject to version 3.01 of the PHP license, | |
| This source file is subject to version 3.01 of the PHP license, | |
| that is bundled with this package in the file LICENSE, and is | |
| that is bundled with this package in the file LICENSE, and is | |
Line 149 ZEND_END_ARG_INFO();
|
Line 149 ZEND_END_ARG_INFO();
|
|
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_document_loadhtml, 0, 0, 1) |
ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_document_loadhtml, 0, 0, 1) |
ZEND_ARG_INFO(0, source) |
ZEND_ARG_INFO(0, source) |
|
ZEND_ARG_INFO(0, options) |
ZEND_END_ARG_INFO(); |
ZEND_END_ARG_INFO(); |
|
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_document_loadhtmlfile, 0, 0, 1) |
ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_document_loadhtmlfile, 0, 0, 1) |
ZEND_ARG_INFO(0, source) |
ZEND_ARG_INFO(0, source) |
|
ZEND_ARG_INFO(0, options) |
ZEND_END_ARG_INFO(); |
ZEND_END_ARG_INFO(); |
|
|
ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_document_savehtml, 0, 0, 0) |
ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_document_savehtml, 0, 0, 0) |
Line 259 int dom_document_doctype_read(dom_object *obj, zval **
|
Line 261 int dom_document_doctype_read(dom_object *obj, zval **
|
return SUCCESS; |
return SUCCESS; |
} |
} |
|
|
if (NULL == (*retval = php_dom_create_object((xmlNodePtr) dtdptr, &ret, NULL, *retval, obj TSRMLS_CC))) { | if (NULL == (*retval = php_dom_create_object((xmlNodePtr) dtdptr, &ret, *retval, obj TSRMLS_CC))) { |
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create required DOM object"); |
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create required DOM object"); |
return FAILURE; |
return FAILURE; |
} |
} |
Line 309 int dom_document_document_element_read(dom_object *obj
|
Line 311 int dom_document_document_element_read(dom_object *obj
|
return SUCCESS; |
return SUCCESS; |
} |
} |
|
|
if (NULL == (*retval = php_dom_create_object(root, &ret, NULL, *retval, obj TSRMLS_CC))) { | if (NULL == (*retval = php_dom_create_object(root, &ret, *retval, obj TSRMLS_CC))) { |
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create required DOM object"); |
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create required DOM object"); |
return FAILURE; |
return FAILURE; |
} |
} |
Line 899 Since:
|
Line 901 Since:
|
*/ |
*/ |
PHP_FUNCTION(dom_document_create_element) |
PHP_FUNCTION(dom_document_create_element) |
{ |
{ |
zval *id, *rv = NULL; | zval *id; |
xmlNode *node; |
xmlNode *node; |
xmlDocPtr docp; |
xmlDocPtr docp; |
dom_object *intern; |
dom_object *intern; |
Line 922 PHP_FUNCTION(dom_document_create_element)
|
Line 924 PHP_FUNCTION(dom_document_create_element)
|
RETURN_FALSE; |
RETURN_FALSE; |
} |
} |
|
|
DOM_RET_OBJ(rv, node, &ret, intern); | DOM_RET_OBJ(node, &ret, intern); |
} |
} |
/* }}} end dom_document_create_element */ |
/* }}} end dom_document_create_element */ |
|
|
Line 932 Since:
|
Line 934 Since:
|
*/ |
*/ |
PHP_FUNCTION(dom_document_create_document_fragment) |
PHP_FUNCTION(dom_document_create_document_fragment) |
{ |
{ |
zval *id, *rv = NULL; | zval *id; |
xmlNode *node; |
xmlNode *node; |
xmlDocPtr docp; |
xmlDocPtr docp; |
dom_object *intern; |
dom_object *intern; |
Line 949 PHP_FUNCTION(dom_document_create_document_fragment)
|
Line 951 PHP_FUNCTION(dom_document_create_document_fragment)
|
RETURN_FALSE; |
RETURN_FALSE; |
} |
} |
|
|
DOM_RET_OBJ(rv, node, &ret, intern); | DOM_RET_OBJ(node, &ret, intern); |
} |
} |
/* }}} end dom_document_create_document_fragment */ |
/* }}} end dom_document_create_document_fragment */ |
|
|
Line 959 Since:
|
Line 961 Since:
|
*/ |
*/ |
PHP_FUNCTION(dom_document_create_text_node) |
PHP_FUNCTION(dom_document_create_text_node) |
{ |
{ |
zval *id, *rv = NULL; | zval *id; |
xmlNode *node; |
xmlNode *node; |
xmlDocPtr docp; |
xmlDocPtr docp; |
int ret, value_len; |
int ret, value_len; |
Line 977 PHP_FUNCTION(dom_document_create_text_node)
|
Line 979 PHP_FUNCTION(dom_document_create_text_node)
|
RETURN_FALSE; |
RETURN_FALSE; |
} |
} |
|
|
DOM_RET_OBJ(rv, node, &ret, intern); | DOM_RET_OBJ(node, &ret, intern); |
} |
} |
/* }}} end dom_document_create_text_node */ |
/* }}} end dom_document_create_text_node */ |
|
|
Line 987 Since:
|
Line 989 Since:
|
*/ |
*/ |
PHP_FUNCTION(dom_document_create_comment) |
PHP_FUNCTION(dom_document_create_comment) |
{ |
{ |
zval *id, *rv = NULL; | zval *id; |
xmlNode *node; |
xmlNode *node; |
xmlDocPtr docp; |
xmlDocPtr docp; |
int ret, value_len; |
int ret, value_len; |
Line 1005 PHP_FUNCTION(dom_document_create_comment)
|
Line 1007 PHP_FUNCTION(dom_document_create_comment)
|
RETURN_FALSE; |
RETURN_FALSE; |
} |
} |
|
|
DOM_RET_OBJ(rv, node, &ret, intern); | DOM_RET_OBJ(node, &ret, intern); |
} |
} |
/* }}} end dom_document_create_comment */ |
/* }}} end dom_document_create_comment */ |
|
|
Line 1015 Since:
|
Line 1017 Since:
|
*/ |
*/ |
PHP_FUNCTION(dom_document_create_cdatasection) |
PHP_FUNCTION(dom_document_create_cdatasection) |
{ |
{ |
zval *id, *rv = NULL; | zval *id; |
xmlNode *node; |
xmlNode *node; |
xmlDocPtr docp; |
xmlDocPtr docp; |
int ret, value_len; |
int ret, value_len; |
Line 1033 PHP_FUNCTION(dom_document_create_cdatasection)
|
Line 1035 PHP_FUNCTION(dom_document_create_cdatasection)
|
RETURN_FALSE; |
RETURN_FALSE; |
} |
} |
|
|
DOM_RET_OBJ(rv, node, &ret, intern); | DOM_RET_OBJ(node, &ret, intern); |
} |
} |
/* }}} end dom_document_create_cdatasection */ |
/* }}} end dom_document_create_cdatasection */ |
|
|
Line 1043 Since:
|
Line 1045 Since:
|
*/ |
*/ |
PHP_FUNCTION(dom_document_create_processing_instruction) |
PHP_FUNCTION(dom_document_create_processing_instruction) |
{ |
{ |
zval *id, *rv = NULL; | zval *id; |
xmlNode *node; |
xmlNode *node; |
xmlDocPtr docp; |
xmlDocPtr docp; |
int ret, value_len, name_len = 0; |
int ret, value_len, name_len = 0; |
Line 1068 PHP_FUNCTION(dom_document_create_processing_instructio
|
Line 1070 PHP_FUNCTION(dom_document_create_processing_instructio
|
|
|
node->doc = docp; |
node->doc = docp; |
|
|
DOM_RET_OBJ(rv, node, &ret, intern); | DOM_RET_OBJ(node, &ret, intern); |
} |
} |
/* }}} end dom_document_create_processing_instruction */ |
/* }}} end dom_document_create_processing_instruction */ |
|
|
Line 1078 Since:
|
Line 1080 Since:
|
*/ |
*/ |
PHP_FUNCTION(dom_document_create_attribute) |
PHP_FUNCTION(dom_document_create_attribute) |
{ |
{ |
zval *id, *rv = NULL; | zval *id; |
xmlAttrPtr node; |
xmlAttrPtr node; |
xmlDocPtr docp; |
xmlDocPtr docp; |
int ret, name_len; |
int ret, name_len; |
Line 1101 PHP_FUNCTION(dom_document_create_attribute)
|
Line 1103 PHP_FUNCTION(dom_document_create_attribute)
|
RETURN_FALSE; |
RETURN_FALSE; |
} |
} |
|
|
DOM_RET_OBJ(rv, (xmlNodePtr) node, &ret, intern); | DOM_RET_OBJ((xmlNodePtr) node, &ret, intern); |
|
|
} |
} |
/* }}} end dom_document_create_attribute */ |
/* }}} end dom_document_create_attribute */ |
Line 1112 Since:
|
Line 1114 Since:
|
*/ |
*/ |
PHP_FUNCTION(dom_document_create_entity_reference) |
PHP_FUNCTION(dom_document_create_entity_reference) |
{ |
{ |
zval *id, *rv = NULL; | zval *id; |
xmlNode *node; |
xmlNode *node; |
xmlDocPtr docp = NULL; |
xmlDocPtr docp = NULL; |
dom_object *intern; |
dom_object *intern; |
Line 1135 PHP_FUNCTION(dom_document_create_entity_reference)
|
Line 1137 PHP_FUNCTION(dom_document_create_entity_reference)
|
RETURN_FALSE; |
RETURN_FALSE; |
} |
} |
|
|
DOM_RET_OBJ(rv, (xmlNodePtr) node, &ret, intern); | DOM_RET_OBJ((xmlNodePtr) node, &ret, intern); |
} |
} |
/* }}} end dom_document_create_entity_reference */ |
/* }}} end dom_document_create_entity_reference */ |
|
|
Line 1171 Since: DOM Level 2
|
Line 1173 Since: DOM Level 2
|
*/ |
*/ |
PHP_FUNCTION(dom_document_import_node) |
PHP_FUNCTION(dom_document_import_node) |
{ |
{ |
zval *rv = NULL; |
|
zval *id, *node; |
zval *id, *node; |
xmlDocPtr docp; |
xmlDocPtr docp; |
xmlNodePtr nodep, retnodep; |
xmlNodePtr nodep, retnodep; |
Line 1211 PHP_FUNCTION(dom_document_import_node)
|
Line 1212 PHP_FUNCTION(dom_document_import_node)
|
nsptr = xmlSearchNsByHref (nodep->doc, root, nodep->ns->href); |
nsptr = xmlSearchNsByHref (nodep->doc, root, nodep->ns->href); |
if (nsptr == NULL) { |
if (nsptr == NULL) { |
int errorcode; |
int errorcode; |
nsptr = dom_get_ns(root, nodep->ns->href, &errorcode, nodep->ns->prefix); | nsptr = dom_get_ns(root, (char *) nodep->ns->href, &errorcode, (char *) nodep->ns->prefix); |
} |
} |
xmlSetNs(retnodep, nsptr); |
xmlSetNs(retnodep, nsptr); |
} |
} |
} |
} |
|
|
DOM_RET_OBJ(rv, (xmlNodePtr) retnodep, &ret, intern); | DOM_RET_OBJ((xmlNodePtr) retnodep, &ret, intern); |
} |
} |
/* }}} end dom_document_import_node */ |
/* }}} end dom_document_import_node */ |
|
|
Line 1227 Since: DOM Level 2
|
Line 1228 Since: DOM Level 2
|
*/ |
*/ |
PHP_FUNCTION(dom_document_create_element_ns) |
PHP_FUNCTION(dom_document_create_element_ns) |
{ |
{ |
zval *id, *rv = NULL; | zval *id; |
xmlDocPtr docp; |
xmlDocPtr docp; |
xmlNodePtr nodep = NULL; |
xmlNodePtr nodep = NULL; |
xmlNsPtr nsptr = NULL; |
xmlNsPtr nsptr = NULL; |
Line 1280 PHP_FUNCTION(dom_document_create_element_ns)
|
Line 1281 PHP_FUNCTION(dom_document_create_element_ns)
|
|
|
nodep->ns = nsptr; |
nodep->ns = nsptr; |
|
|
DOM_RET_OBJ(rv, nodep, &ret, intern); | DOM_RET_OBJ(nodep, &ret, intern); |
} |
} |
/* }}} end dom_document_create_element_ns */ |
/* }}} end dom_document_create_element_ns */ |
|
|
Line 1290 Since: DOM Level 2
|
Line 1291 Since: DOM Level 2
|
*/ |
*/ |
PHP_FUNCTION(dom_document_create_attribute_ns) |
PHP_FUNCTION(dom_document_create_attribute_ns) |
{ |
{ |
zval *id, *rv = NULL; | zval *id; |
xmlDocPtr docp; |
xmlDocPtr docp; |
xmlNodePtr nodep = NULL, root; |
xmlNodePtr nodep = NULL, root; |
xmlNsPtr nsptr; |
xmlNsPtr nsptr; |
Line 1345 PHP_FUNCTION(dom_document_create_attribute_ns)
|
Line 1346 PHP_FUNCTION(dom_document_create_attribute_ns)
|
RETURN_FALSE; |
RETURN_FALSE; |
} |
} |
|
|
DOM_RET_OBJ(rv, nodep, &ret, intern); | DOM_RET_OBJ(nodep, &ret, intern); |
} |
} |
/* }}} end dom_document_create_attribute_ns */ |
/* }}} end dom_document_create_attribute_ns */ |
|
|
Line 1382 Since: DOM Level 2
|
Line 1383 Since: DOM Level 2
|
*/ |
*/ |
PHP_FUNCTION(dom_document_get_element_by_id) |
PHP_FUNCTION(dom_document_get_element_by_id) |
{ |
{ |
zval *id, *rv = NULL; | zval *id; |
xmlDocPtr docp; |
xmlDocPtr docp; |
xmlAttrPtr attrp; |
xmlAttrPtr attrp; |
int ret, idname_len; |
int ret, idname_len; |
Line 1398 PHP_FUNCTION(dom_document_get_element_by_id)
|
Line 1399 PHP_FUNCTION(dom_document_get_element_by_id)
|
attrp = xmlGetID(docp, (xmlChar *) idname); |
attrp = xmlGetID(docp, (xmlChar *) idname); |
|
|
if (attrp && attrp->parent) { |
if (attrp && attrp->parent) { |
DOM_RET_OBJ(rv, (xmlNodePtr) attrp->parent, &ret, intern); | DOM_RET_OBJ((xmlNodePtr) attrp->parent, &ret, intern); |
} else { |
} else { |
RETVAL_NULL(); |
RETVAL_NULL(); |
} |
} |
Line 1660 static xmlDocPtr dom_document_parser(zval *id, int mod
|
Line 1661 static xmlDocPtr dom_document_parser(zval *id, int mod
|
|
|
/* {{{ static void dom_parse_document(INTERNAL_FUNCTION_PARAMETERS, int mode) */ |
/* {{{ static void dom_parse_document(INTERNAL_FUNCTION_PARAMETERS, int mode) */ |
static void dom_parse_document(INTERNAL_FUNCTION_PARAMETERS, int mode) { |
static void dom_parse_document(INTERNAL_FUNCTION_PARAMETERS, int mode) { |
zval *id, *rv = NULL; | zval *id; |
xmlDoc *docp = NULL, *newdoc; |
xmlDoc *docp = NULL, *newdoc; |
dom_doc_propsptr doc_prop; |
dom_doc_propsptr doc_prop; |
dom_object *intern; |
dom_object *intern; |
Line 1712 static void dom_parse_document(INTERNAL_FUNCTION_PARAM
|
Line 1713 static void dom_parse_document(INTERNAL_FUNCTION_PARAM
|
|
|
RETURN_TRUE; |
RETURN_TRUE; |
} else { |
} else { |
DOM_RET_OBJ(rv, (xmlNodePtr) newdoc, &ret, NULL); | DOM_RET_OBJ((xmlNodePtr) newdoc, &ret, NULL); |
} |
} |
} |
} |
/* }}} end dom_parser_document */ |
/* }}} end dom_parser_document */ |
Line 1979 static void _dom_document_schema_validate(INTERNAL_FUN
|
Line 1980 static void _dom_document_schema_validate(INTERNAL_FUN
|
int is_valid; |
int is_valid; |
char resolved_path[MAXPATHLEN + 1]; |
char resolved_path[MAXPATHLEN + 1]; |
|
|
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &id, dom_document_class_entry, &source, &source_len) == FAILURE) { | if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Op", &id, dom_document_class_entry, &source, &source_len) == FAILURE) { |
return; |
return; |
} |
} |
|
|
Line 2068 static void _dom_document_relaxNG_validate(INTERNAL_FU
|
Line 2069 static void _dom_document_relaxNG_validate(INTERNAL_FU
|
int is_valid; |
int is_valid; |
char resolved_path[MAXPATHLEN + 1]; |
char resolved_path[MAXPATHLEN + 1]; |
|
|
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &id, dom_document_class_entry, &source, &source_len) == FAILURE) { | if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Op", &id, dom_document_class_entry, &source, &source_len) == FAILURE) { |
return; |
return; |
} |
} |
|
|
Line 2150 PHP_FUNCTION(dom_document_relaxNG_validate_xml)
|
Line 2151 PHP_FUNCTION(dom_document_relaxNG_validate_xml)
|
|
|
static void dom_load_html(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ */ |
static void dom_load_html(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ */ |
{ |
{ |
zval *id, *rv = NULL; | zval *id; |
xmlDoc *docp = NULL, *newdoc; |
xmlDoc *docp = NULL, *newdoc; |
dom_object *intern; |
dom_object *intern; |
dom_doc_propsptr doc_prop; |
dom_doc_propsptr doc_prop; |
char *source; |
char *source; |
int source_len, refcount, ret; |
int source_len, refcount, ret; |
|
long options = 0; |
htmlParserCtxtPtr ctxt; |
htmlParserCtxtPtr ctxt; |
|
|
id = getThis(); |
id = getThis(); |
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &source, &source_len) == FAILURE) { | if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &source, &source_len, &options) == FAILURE) { |
return; |
return; |
} |
} |
|
|
Line 2180 static void dom_load_html(INTERNAL_FUNCTION_PARAMETERS
|
Line 2182 static void dom_load_html(INTERNAL_FUNCTION_PARAMETERS
|
RETURN_FALSE; |
RETURN_FALSE; |
} |
} |
|
|
|
if (options) { |
|
htmlCtxtUseOptions(ctxt, options); |
|
} |
|
|
ctxt->vctxt.error = php_libxml_ctx_error; |
ctxt->vctxt.error = php_libxml_ctx_error; |
ctxt->vctxt.warning = php_libxml_ctx_warning; |
ctxt->vctxt.warning = php_libxml_ctx_warning; |
if (ctxt->sax != NULL) { |
if (ctxt->sax != NULL) { |
Line 2218 static void dom_load_html(INTERNAL_FUNCTION_PARAMETERS
|
Line 2224 static void dom_load_html(INTERNAL_FUNCTION_PARAMETERS
|
|
|
RETURN_TRUE; |
RETURN_TRUE; |
} else { |
} else { |
DOM_RET_OBJ(rv, (xmlNodePtr) newdoc, &ret, NULL); | DOM_RET_OBJ((xmlNodePtr) newdoc, &ret, NULL); |
} |
} |
} |
} |
/* }}} */ |
/* }}} */ |