123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- /*
- +----------------------------------------------------------------------+
- | XlsWriter Extension |
- +----------------------------------------------------------------------+
- | Copyright (c) 2017-2018 The Viest |
- +----------------------------------------------------------------------+
- | http://www.viest.me |
- +----------------------------------------------------------------------+
- | Author: viest <[email protected]> |
- +----------------------------------------------------------------------+
- */
- #ifdef HAVE_CONFIG_H
- #include "config.h"
- #endif
- #include "php.h"
- #include "ext/standard/info.h"
- #include "xlswriter.h"
- #if ENABLE_READER
- #include <xlsxio_version.h>
- #include <xlsxio_read.h>
- #endif
- int le_xls_writer;
- ZEND_BEGIN_ARG_INFO_EX(xlswriter_get_version_arginfo, 0, 0, 0)
- ZEND_END_ARG_INFO()
- ZEND_BEGIN_ARG_INFO_EX(xlswriter_get_auther_arginfo, 0, 0, 0)
- ZEND_END_ARG_INFO()
- /* {{{ xlswriter_get_version
- */
- PHP_FUNCTION(xlswriter_get_version)
- {
- RETURN_STRINGL(PHP_XLSWRITER_VERSION, strlen(PHP_XLSWRITER_VERSION));
- }
- /* }}} */
- /* {{{ xlswriter_get_author
- */
- PHP_FUNCTION(xlswriter_get_author)
- {
- RETURN_STRINGL(PHP_XLSWRITER_AUTHOR, strlen(PHP_XLSWRITER_AUTHOR));
- }
- /* }}} */
- /* {{{ PHP_MINIT_FUNCTION
- */
- PHP_MINIT_FUNCTION(xlswriter)
- {
- VTIFUL_STARTUP_MODULE(exception);
- VTIFUL_STARTUP_MODULE(excel);
- VTIFUL_STARTUP_MODULE(format);
- VTIFUL_STARTUP_MODULE(chart);
- VTIFUL_STARTUP_MODULE(validation);
- VTIFUL_STARTUP_MODULE(rich_string);
- le_xls_writer = zend_register_list_destructors_ex(_php_vtiful_xls_close, NULL, VTIFUL_RESOURCE_NAME, module_number);
- return SUCCESS;
- }
- /* }}} */
- /* {{{ PHP_MSHUTDOWN_FUNCTION
- */
- PHP_MSHUTDOWN_FUNCTION(xlswriter)
- {
- return SUCCESS;
- }
- /* }}} */
- /* {{{ PHP_RINIT_FUNCTION
- */
- PHP_RINIT_FUNCTION(xlswriter)
- {
- #if defined(COMPILE_DL_VTIFUL) && defined(ZTS)
- ZEND_TSRMLS_CACHE_UPDATE();
- #endif
- return SUCCESS;
- }
- /* }}} */
- /* {{{ PHP_RSHUTDOWN_FUNCTION
- */
- PHP_RSHUTDOWN_FUNCTION(xlswriter)
- {
- return SUCCESS;
- }
- /* }}} */
- /* {{{ PHP_MINFO_FUNCTION
- */
- PHP_MINFO_FUNCTION(xlswriter)
- {
- php_info_print_table_start();
- php_info_print_table_header(2, "xlswriter support", "enabled");
- #if defined(PHP_XLSWRITER_VERSION)
- php_info_print_table_row(2, "Version", PHP_XLSWRITER_VERSION);
- #endif
- #ifdef LXW_VERSION
- #ifdef HAVE_LIBXLSXWRITER
- /* Build time */
- php_info_print_table_row(2, "libxlsxwriter headers version", LXW_VERSION);
- /* Run time, available since 0.7.9 */
- php_info_print_table_row(2, "libxlsxwriter library version", lxw_version());
- #else
- php_info_print_table_row(2, "bundled libxlsxwriter version", LXW_VERSION);
- #endif
- #endif
- #if ENABLE_READER
- #if HAVE_LIBXLSXIO
- /* Build time */
- php_info_print_table_row(2, "libxlsxio headers version", XLSXIO_VERSION_STRING);
- /* Run time */
- php_info_print_table_row(2, "libxlsxio library version", xlsxioread_get_version_string());
- #else
- php_info_print_table_row(2, "bundled libxlsxio version", XLSXIO_VERSION_STRING);
- #endif
- #endif
- php_info_print_table_end();
- }
- /* }}} */
- /* {{{ xlswriter_functions[]
- *
- * Every user visible function must have an entry in xlswriter_functions[].
- */
- const zend_function_entry xlswriter_functions[] = {
- PHP_FE(xlswriter_get_version, xlswriter_get_version_arginfo)
- PHP_FE(xlswriter_get_author, xlswriter_get_auther_arginfo)
- PHP_FE_END
- };
- /* }}} */
- /* {{{ vtiful_module_entry
- */
- zend_module_entry xlswriter_module_entry = {
- STANDARD_MODULE_HEADER,
- "xlswriter",
- xlswriter_functions,
- PHP_MINIT(xlswriter),
- PHP_MSHUTDOWN(xlswriter),
- PHP_RINIT(xlswriter), /* Replace with NULL if there's nothing to do at request start */
- PHP_RSHUTDOWN(xlswriter), /* Replace with NULL if there's nothing to do at request end */
- PHP_MINFO(xlswriter),
- PHP_XLSWRITER_VERSION,
- STANDARD_MODULE_PROPERTIES
- };
- /* }}} */
- #ifdef COMPILE_DL_XLSWRITER
- #ifdef ZTS
- ZEND_TSRMLS_CACHE_DEFINE();
- #endif
- ZEND_GET_MODULE(xlswriter)
- #endif
- /*
- * 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
- */
|