Line data Source code
1 : /*
2 : +----------------------------------------------------------------------+
3 : | COLOPL PHP Backwards Compatibility Extension. |
4 : +----------------------------------------------------------------------+
5 : | Copyright (c) COLOPL, Inc. |
6 : +----------------------------------------------------------------------+
7 : | This source file is subject to the BSD-3-Clause license that is |
8 : | bundled with this package in the file LICENSE. |
9 : +----------------------------------------------------------------------+
10 : | Author: Go Kudo <g-kudo@colopl.co.jp> |
11 : +----------------------------------------------------------------------+
12 : */
13 :
14 : #ifdef HAVE_CONFIG_H
15 : # include "config.h"
16 : #endif
17 :
18 : #include "php.h"
19 :
20 : #include "ext/standard/info.h"
21 :
22 : #include "php_colopl_bc.h"
23 : #include "colopl_bc_arginfo.h"
24 :
25 : ZEND_DECLARE_MODULE_GLOBALS(colopl_bc);
26 :
27 : PHP_INI_BEGIN()
28 : STD_PHP_INI_ENTRY("colopl_bc.php74.compare_mode", "0", PHP_INI_ALL, OnUpdateCompareMode, php74_compare_mode, zend_colopl_bc_globals, colopl_bc_globals)
29 : STD_PHP_INI_ENTRY("colopl_bc.php74.sort_mode", "0", PHP_INI_ALL, OnUpdateSortMode, php74_sort_mode, zend_colopl_bc_globals, colopl_bc_globals)
30 : PHP_INI_END()
31 :
32 242 : PHP_MINIT_FUNCTION(colopl_bc)
33 : {
34 : zend_function *fentry;
35 :
36 242 : REGISTER_INI_ENTRIES();
37 :
38 242 : register_colopl_bc_symbols(module_number);
39 :
40 242 : return SUCCESS;
41 : }
42 :
43 242 : PHP_MSHUTDOWN_FUNCTION(colopl_bc)
44 : {
45 242 : UNREGISTER_INI_ENTRIES();
46 :
47 242 : return SUCCESS;
48 : }
49 :
50 242 : PHP_RINIT_FUNCTION(colopl_bc)
51 : {
52 : #if defined(ZTS) && defined(COMPILE_DL_COLOPL_BC)
53 120 : ZEND_TSRMLS_CACHE_UPDATE();
54 : #endif
55 :
56 242 : return SUCCESS;
57 : }
58 :
59 4 : PHP_MINFO_FUNCTION(colopl_bc)
60 : {
61 4 : php_info_print_table_start();
62 4 : php_info_print_table_header(2, "colopl_bc support", "enabled");
63 4 : php_info_print_table_row(2, "bc version", PHP_COLOPL_BC_VERSION);
64 4 : php_info_print_table_end();
65 4 : }
66 :
67 242 : PHP_GINIT_FUNCTION(colopl_bc)
68 : {
69 : #if defined(ZTS) && defined(COMPILE_DL_COLOPL_BC)
70 120 : ZEND_TSRMLS_CACHE_UPDATE();
71 : #endif
72 :
73 242 : colopl_bc_globals->php74_user_sort_context = NULL;
74 242 : }
75 :
76 : zend_module_entry colopl_bc_module_entry = {
77 : STANDARD_MODULE_HEADER,
78 : "colopl_bc",
79 : ext_functions,
80 : PHP_MINIT(colopl_bc),
81 : PHP_MSHUTDOWN(colopl_bc),
82 : PHP_RINIT(colopl_bc),
83 : NULL,
84 : PHP_MINFO(colopl_bc),
85 : PHP_COLOPL_BC_VERSION,
86 : PHP_MODULE_GLOBALS(colopl_bc),
87 : PHP_GINIT(colopl_bc),
88 : NULL,
89 : NULL,
90 : STANDARD_MODULE_PROPERTIES_EX
91 : };
92 :
93 : #ifdef COMPILE_DL_COLOPL_BC
94 : # ifdef ZTS
95 : ZEND_TSRMLS_CACHE_DEFINE()
96 : # endif
97 242 : ZEND_GET_MODULE(colopl_bc)
98 : #endif
|