diff options
Diffstat (limited to 'ext/xsl/php_xsl.c')
-rw-r--r-- | ext/xsl/php_xsl.c | 294 |
1 files changed, 0 insertions, 294 deletions
diff --git a/ext/xsl/php_xsl.c b/ext/xsl/php_xsl.c deleted file mode 100644 index 29255c991a..0000000000 --- a/ext/xsl/php_xsl.c +++ /dev/null @@ -1,294 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | PHP Version 5 | - +----------------------------------------------------------------------+ - | Copyright (c) 1997-2004 The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.0 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | http://www.php.net/license/3_0.txt. | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Author: Christian Stocker <chregu@php.net> | - +----------------------------------------------------------------------+ -*/ - -/* $Id$ */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "php.h" -#include "php_ini.h" -#include "ext/standard/info.h" -#include "php_xsl.h" - - -/* If you declare any globals in php_xsl.h uncomment this: -ZEND_DECLARE_MODULE_GLOBALS(xsl) -*/ - -static zend_object_handlers xsl_object_handlers; - -/* {{{ xsl_functions[] - * - * Every user visible function must have an entry in xsl_functions[]. - */ -function_entry xsl_functions[] = { - {NULL, NULL, NULL} /* Must be the last line in xsl_functions[] */ -}; -/* }}} */ - -/* {{{ xsl_module_entry - */ -zend_module_entry xsl_module_entry = { -#if ZEND_MODULE_API_NO >= 20010901 - STANDARD_MODULE_HEADER, -#endif - "xsl", - xsl_functions, - PHP_MINIT(xsl), - PHP_MSHUTDOWN(xsl), - PHP_RINIT(xsl), /* Replace with NULL if there's nothing to do at request start */ - PHP_RSHUTDOWN(xsl), /* Replace with NULL if there's nothing to do at request end */ - PHP_MINFO(xsl), -#if ZEND_MODULE_API_NO >= 20010901 - "0.1", /* Replace with version number for your extension */ -#endif - STANDARD_MODULE_PROPERTIES -}; -/* }}} */ - -#ifdef COMPILE_DL_XSL -ZEND_GET_MODULE(xsl) -#endif - -/* {{{ xsl_objects_clone */ -void xsl_objects_clone(void *object, void **object_clone TSRMLS_DC) -{ - /* TODO */ -} -/* }}} */ - -/* {{{ xsl_objects_dtor */ -void xsl_objects_dtor(void *object, zend_object_handle handle TSRMLS_DC) -{ - xsl_object *intern = (xsl_object *)object; - - zend_hash_destroy(intern->std.properties); - FREE_HASHTABLE(intern->std.properties); - - zend_hash_destroy(intern->parameter); - FREE_HASHTABLE(intern->parameter); - - if (intern->ptr) { - /* free wrapper */ - if (((xsltStylesheetPtr) intern->ptr)->_private != NULL) { - ((xsltStylesheetPtr) intern->ptr)->_private = NULL; - } - - xsltFreeStylesheet((xsltStylesheetPtr) intern->ptr); - intern->ptr = NULL; - } - efree(object); -} -/* }}} */ -/* {{{ xsl_objects_new */ -zend_object_value xsl_objects_new(zend_class_entry *class_type TSRMLS_DC) -{ - zend_object_value retval; - xsl_object *intern; - zval *tmp; - - intern = emalloc(sizeof(xsl_object)); - intern->std.ce = class_type; - intern->std.in_get = 0; - intern->std.in_set = 0; - intern->ptr = NULL; - intern->prop_handler = NULL; - intern->parameter = NULL; - intern->hasKeys = 0; - intern->registerPhpFunctions = 0; - - ALLOC_HASHTABLE(intern->std.properties); - zend_hash_init(intern->std.properties, 0, NULL, ZVAL_PTR_DTOR, 0); - zend_hash_copy(intern->std.properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *)); - ALLOC_HASHTABLE(intern->parameter); - zend_hash_init(intern->parameter, 0, NULL, ZVAL_PTR_DTOR, 0); - retval.handle = zend_objects_store_put(intern, xsl_objects_dtor, xsl_objects_clone TSRMLS_CC); - intern->handle = retval.handle; - retval.handlers = &xsl_object_handlers; - return retval; -} -/* }}} */ - -/* {{{ PHP_MINIT_FUNCTION - */ -PHP_MINIT_FUNCTION(xsl) -{ - - zend_class_entry ce; - - memcpy(&xsl_object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); - - REGISTER_XSL_CLASS(ce, "xsltprocessor", NULL, php_xsl_xsltprocessor_class_functions, xsl_xsltprocessor_class_entry); -#if HAVE_XSL_EXSLT - exsltRegisterAll(); -#endif - - REGISTER_LONG_CONSTANT("XSL_CLONE_AUTO", 0, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSL_CLONE_NEVER", -1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("XSL_CLONE_ALWAYS", 1, CONST_CS | CONST_PERSISTENT); - - return SUCCESS; -} -/* }}} */ - -/* {{{ xsl_object_get_data */ -zval *xsl_object_get_data(void *obj) -{ - zval *dom_wrapper; - dom_wrapper = ((xsltStylesheetPtr) obj)->_private; - return dom_wrapper; -} -/* }}} */ - -/* {{{ xsl_object_set_data */ -static void xsl_object_set_data(void *obj, zval *wrapper TSRMLS_DC) -{ - ((xsltStylesheetPtr) obj)->_private = wrapper; -} -/* }}} */ - -/* {{{ php_xsl_set_object */ -void php_xsl_set_object(zval *wrapper, void *obj TSRMLS_DC) -{ - xsl_object *object; - - object = (xsl_object *)zend_objects_get_address(wrapper TSRMLS_CC); - object->ptr = obj; - xsl_object_set_data(obj, wrapper TSRMLS_CC); -} -/* }}} */ - -/* {{{ php_xsl_create_object */ -zval *php_xsl_create_object(xsltStylesheetPtr obj, int *found, zval *wrapper_in, zval *return_value TSRMLS_DC) -{ - zval *wrapper; - zend_class_entry *ce; - - *found = 0; - - if (!obj) { - if(!wrapper_in) { - ALLOC_ZVAL(wrapper); - } else { - wrapper = wrapper_in; - } - ZVAL_NULL(wrapper); - return wrapper; - } - - if ((wrapper = (zval *) xsl_object_get_data((void *) obj))) { - zval_add_ref(&wrapper); - *found = 1; - return wrapper; - } - - if(!wrapper_in) { - wrapper = return_value; - } else { - wrapper = wrapper_in; - } - - - ce = xsl_xsltprocessor_class_entry; - - if(!wrapper_in) { - object_init_ex(wrapper, ce); - } - php_xsl_set_object(wrapper, (void *) obj TSRMLS_CC); - return (wrapper); -} -/* }}} */ - - - - -/* {{{ PHP_MSHUTDOWN_FUNCTION - */ -PHP_MSHUTDOWN_FUNCTION(xsl) -{ - /* uncomment this line if you have INI entries - UNREGISTER_INI_ENTRIES(); - */ - xsltCleanupGlobals(); - - return SUCCESS; -} -/* }}} */ - -/* Remove if there's nothing to do at request start */ -/* {{{ PHP_RINIT_FUNCTION - */ -PHP_RINIT_FUNCTION(xsl) -{ - return SUCCESS; -} -/* }}} */ - -/* Remove if there's nothing to do at request end */ -/* {{{ PHP_RSHUTDOWN_FUNCTION - */ -PHP_RSHUTDOWN_FUNCTION(xsl) -{ - return SUCCESS; -} -/* }}} */ - -/* {{{ PHP_MINFO_FUNCTION - */ -PHP_MINFO_FUNCTION(xsl) -{ - php_info_print_table_start(); - { - char buffer[128]; - int major, minor, subminor; - - php_info_print_table_row(2, "XSL", "enabled"); - major = xsltLibxsltVersion/10000; - minor = (xsltLibxsltVersion - major * 10000) / 100; - subminor = (xsltLibxsltVersion - major * 10000 - minor * 100); - snprintf(buffer, 128, "%d.%d.%d", major, minor, subminor); - php_info_print_table_row(2, "libxslt Version", buffer); - major = xsltLibxmlVersion/10000; - minor = (xsltLibxmlVersion - major * 10000) / 100; - subminor = (xsltLibxmlVersion - major * 10000 - minor * 100); - snprintf(buffer, 128, "%d.%d.%d", major, minor, subminor); - php_info_print_table_row(2, "libxslt compiled against libxml Version", buffer); - } -#if HAVE_XSL_EXSLT - php_info_print_table_row(2, "EXSLT", "enabled"); - php_info_print_table_row(2, "libexslt Version", LIBEXSLT_DOTTED_VERSION); -#endif - php_info_print_table_end(); - - /* Remove comments if you have entries in php.ini - DISPLAY_INI_ENTRIES(); - */ -} -/* }}} */ - - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * End: - * vim600: noet sw=4 ts=4 fdm=marker - * vim<600: noet sw=4 ts=4 - */ |