summaryrefslogtreecommitdiff
path: root/ext/intl/php_intl.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/intl/php_intl.c')
-rwxr-xr-xext/intl/php_intl.c66
1 files changed, 64 insertions, 2 deletions
diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c
index dc6c0fffa..efe0ddd24 100755
--- a/ext/intl/php_intl.c
+++ b/ext/intl/php_intl.c
@@ -64,8 +64,19 @@
#include "resourcebundle/resourcebundle_class.h"
+#include "transliterator/transliterator.h"
+#include "transliterator/transliterator_class.h"
+#include "transliterator/transliterator_methods.h"
+
#include "idn/idn.h"
+#if U_ICU_VERSION_MAJOR_NUM > 3 && U_ICU_VERSION_MINOR_NUM >=2
+# include "spoofchecker/spoofchecker_class.h"
+# include "spoofchecker/spoofchecker.h"
+# include "spoofchecker/spoofchecker_create.h"
+# include "spoofchecker/spoofchecker_main.h"
+#endif
+
#include "msgformat/msgformat.h"
#include "common/common_error.h"
@@ -324,13 +335,15 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_idn_to_ascii, 0, 0, 1)
ZEND_ARG_INFO(0, domain)
ZEND_ARG_INFO(0, option)
- ZEND_ARG_INFO(0, status)
+ ZEND_ARG_INFO(0, variant)
+ ZEND_ARG_INFO(1, idn_info)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_idn_to_utf8, 0, 0, 1)
ZEND_ARG_INFO(0, domain)
ZEND_ARG_INFO(0, option)
- ZEND_ARG_INFO(0, status)
+ ZEND_ARG_INFO(0, variant)
+ ZEND_ARG_INFO(1, idn_info)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX( arginfo_resourcebundle_create_proc, 0, 0, 2 )
@@ -361,6 +374,33 @@ ZEND_BEGIN_ARG_INFO_EX( arginfo_resourcebundle_get_error_message_proc, 0, 0, 1 )
ZEND_ARG_INFO( 0, bundle )
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX( arginfo_transliterator_void, 0, 0, 0 )
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX( arginfo_transliterator_create, 0, 0, 1 )
+ ZEND_ARG_INFO( 0, id )
+ ZEND_ARG_INFO( 0, direction )
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX( arginfo_transliterator_create_from_rules, 0, 0, 1 )
+ ZEND_ARG_INFO( 0, rules )
+ ZEND_ARG_INFO( 0, direction )
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX( arginfo_transliterator_create_inverse, 0, 0, 1 )
+ ZEND_ARG_OBJ_INFO( 0, orig_trans, Transliterator, 0 )
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX( arginfo_transliterator_transliterate, 0, 0, 2 )
+ ZEND_ARG_INFO( 0, trans )
+ ZEND_ARG_INFO( 0, subject )
+ ZEND_ARG_INFO( 0, start )
+ ZEND_ARG_INFO( 0, end )
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX( arginfo_transliterator_error, 0, 0, 1 )
+ ZEND_ARG_OBJ_INFO( 0, trans, Transliterator, 0 )
+ZEND_END_ARG_INFO()
/* }}} */
@@ -480,6 +520,15 @@ zend_function_entry intl_functions[] = {
PHP_FE( resourcebundle_locales, arginfo_resourcebundle_locales_proc )
PHP_FE( resourcebundle_get_error_code, arginfo_resourcebundle_get_error_code_proc )
PHP_FE( resourcebundle_get_error_message, arginfo_resourcebundle_get_error_message_proc )
+
+ /* Transliterator functions */
+ PHP_FE( transliterator_create, arginfo_transliterator_create )
+ PHP_FE( transliterator_create_from_rules, arginfo_transliterator_create_from_rules )
+ PHP_FE( transliterator_list_ids, arginfo_transliterator_void )
+ PHP_FE( transliterator_create_inverse, arginfo_transliterator_create_inverse)
+ PHP_FE( transliterator_transliterate, arginfo_transliterator_transliterate )
+ PHP_FE( transliterator_get_error_code, arginfo_transliterator_error )
+ PHP_FE( transliterator_get_error_message, arginfo_transliterator_error )
/* common functions */
PHP_FE( intl_get_error_code, intl_0_args )
@@ -585,12 +634,25 @@ PHP_MINIT_FUNCTION( intl )
/* Register 'ResourceBundle' PHP class */
resourcebundle_register_class( TSRMLS_C);
+ /* Register 'Transliterator' PHP class */
+ transliterator_register_Transliterator_class( TSRMLS_C );
+
+ /* Register Transliterator constants */
+ transliterator_register_constants( INIT_FUNC_ARGS_PASSTHRU );
+
/* Expose ICU error codes to PHP scripts. */
intl_expose_icu_error_codes( INIT_FUNC_ARGS_PASSTHRU );
/* Expose IDN constants to PHP scripts. */
idn_register_constants(INIT_FUNC_ARGS_PASSTHRU);
+#if U_ICU_VERSION_MAJOR_NUM > 3 && U_ICU_VERSION_MINOR_NUM >=2
+ /* Register 'Spoofchecker' PHP class */
+ spoofchecker_register_Spoofchecker_class( TSRMLS_C );
+
+ /* Expose Spoofchecker constants to PHP scripts */
+ spoofchecker_register_constants( INIT_FUNC_ARGS_PASSTHRU );
+#endif
/* Global error handling. */
intl_error_init( NULL TSRMLS_CC );