30#define PHP_ENCHANT_MYSPELL 1
31#define PHP_ENCHANT_ISPELL 2
32#ifdef HAVE_ENCHANT_GET_VERSION
33#define PHP_ENCHANT_GET_VERSION enchant_get_version()
57#define Z_ENCHANT_BROKER_P(zv) enchant_broker_from_obj(Z_OBJ_P(zv))
75#define Z_ENCHANT_DICT_P(zv) enchant_dict_from_obj(Z_OBJ_P(zv))
101#ifdef COMPILE_DL_ENCHANT
106enumerate_providers_fn (
const char *
const name,
107 const char *
const desc,
108 const char *
const file,
116 add_assoc_string(&tmp_array,
"name", (
char *)
name);
117 add_assoc_string(&tmp_array,
"desc", (
char *)desc);
118 add_assoc_string(&tmp_array,
"file", (
char *)
file);
119 add_next_index_zval(zdesc, &tmp_array);
124describe_dict_fn (
const char *
const lang,
125 const char *
const name,
126 const char *
const desc,
127 const char *
const file,
132 add_assoc_string(zdesc,
"lang", (
char *)lang);
133 add_assoc_string(zdesc,
"name", (
char *)
name);
134 add_assoc_string(zdesc,
"desc", (
char *)desc);
135 add_assoc_string(zdesc,
"file", (
char *)
file);
139static void php_enchant_list_dicts_fn(
const char *
const lang_tag,
140 const char *
const provider_name,
const char *
const provider_desc,
141 const char *
const provider_file,
void * ud)
147 add_assoc_string(&tmp_array,
"lang_tag", (
char *)lang_tag);
148 add_assoc_string(&tmp_array,
"provider_name", (
char *)provider_name);
149 add_assoc_string(&tmp_array,
"provider_desc", (
char *)provider_desc);
150 add_assoc_string(&tmp_array,
"provider_file", (
char *)provider_file);
151 add_next_index_zval(zdesc, &tmp_array);
156static void php_enchant_broker_free(
zend_object *
object)
168static void php_enchant_dict_free(
zend_object *
object)
176 if (broker && broker->
pbroker) {
196 enchant_broker_handlers.free_obj = php_enchant_broker_free;
197 enchant_broker_handlers.clone_obj =
NULL;
206 enchant_dict_handlers.free_obj = php_enchant_dict_free;
207 enchant_dict_handlers.clone_obj =
NULL;
210 register_enchant_symbols(module_number);
223static void __enumerate_providers_fn (
const char *
const name,
224 const char *
const desc,
225 const char *
const file,
240#ifdef HAVE_ENCHANT_GET_VERSION
242#elif defined(HAVE_ENCHANT_BROKER_SET_PARAM)
254#define PHP_ENCHANT_GET_BROKER \
255 pbroker = Z_ENCHANT_BROKER_P(broker); \
256 if (!pbroker->pbroker) { \
257 zend_value_error("Invalid or uninitialized EnchantBroker object"); \
261#define PHP_ENCHANT_GET_DICT \
262 pdict = Z_ENCHANT_DICT_P(dict); \
263 if (!pdict->pdict) { \
264 zend_value_error("Invalid or uninitialized EnchantDictionary object"); \
346#ifdef HAVE_ENCHANT_BROKER_SET_PARAM
357 enchant_broker_set_param(pbroker->
pbroker,
"enchant.myspell.dictionary.path", (
const char *)
value);
363 enchant_broker_set_param(pbroker->
pbroker,
"enchant.ispell.dictionary.path", (
const char *)
value);
385#ifdef HAVE_ENCHANT_BROKER_SET_PARAM
393 value = enchant_broker_get_param(pbroker->
pbroker,
"enchant.myspell.dictionary.path");
398 value = enchant_broker_get_param(pbroker->
pbroker,
"enchant.ispell.dictionary.path");
517 if (broker && broker->
pbroker) {
576 EnchantBrokerDescribeFn describetozval = enumerate_providers_fn;
605 sugg = zend_try_array_init(sugg);
622 if (suggs && n_sugg) {
624 for (i = 0; i < n_sugg; i++) {
627 enchant_dict_free_string_list(pdict->
pdict, suggs);
673 if (suggs && n_sugg) {
676 for (i = 0; i < n_sugg; i++) {
680 enchant_dict_free_string_list(pdict->
pdict, suggs);
747 size_t mislen, corlen;
file(string $filename, int $flags=0, $context=null)
#define Z_ENCHANT_DICT_P(zv)
struct _dict_struct enchant_dict
zend_class_entry * enchant_broker_ce
#define PHP_ENCHANT_ISPELL
#define PHP_ENCHANT_MYSPELL
#define PHP_ENCHANT_GET_DICT
zend_class_entry * enchant_dict_ce
zend_module_entry enchant_module_entry
#define Z_ENCHANT_BROKER_P(zv)
#define PHP_ENCHANT_GET_BROKER
struct _broker_struct enchant_broker
enchant_broker_get_dict_path(EnchantBroker $broker, int $type)
enchant_broker_get_error(EnchantBroker $broker)
enchant_dict_quick_check(EnchantDictionary $dictionary, string $word, &$suggestions=null)
enchant_dict_suggest(EnchantDictionary $dictionary, string $word)
enchant_broker_set_ordering(EnchantBroker $broker, string $tag, string $ordering)
enchant_broker_request_dict(EnchantBroker $broker, string $tag)
enchant_broker_set_dict_path(EnchantBroker $broker, int $type, string $path)
enchant_broker_free_dict(EnchantDictionary $dictionary)
enchant_dict_store_replacement(EnchantDictionary $dictionary, string $misspelled, string $correct)
enchant_broker_describe(EnchantBroker $broker)
enchant_broker_list_dicts(EnchantBroker $broker)
enchant_broker_request_pwl_dict(EnchantBroker $broker, string $filename)
enchant_dict_add(EnchantDictionary $dictionary, string $word)
enchant_dict_describe(EnchantDictionary $dictionary)
enchant_dict_check(EnchantDictionary $dictionary, string $word)
enchant_dict_is_added(EnchantDictionary $dictionary, string $word)
enchant_dict_get_error(EnchantDictionary $dictionary)
enchant_dict_add_to_session(EnchantDictionary $dictionary, string $word)
enchant_broker_free(EnchantBroker $broker)
enchant_broker_dict_exists(EnchantBroker $broker, string $tag)
PHPAPI int php_check_open_basedir(const char *path)
PHPAPI ZEND_COLD void php_error_docref(const char *docref, int type, const char *format,...)
php_info_print_table_start()
php_info_print_table_row(2, "PDO Driver for Firebird", "enabled")
php_info_print_table_end()
#define PHP_MSHUTDOWN_FUNCTION
#define PHP_MINIT_FUNCTION
#define PHP_MINFO_FUNCTION
#define PHP_ENCHANT_VERSION
ZEND_API ZEND_COLD void zend_throw_error(zend_class_entry *exception_ce, const char *format,...)
ZEND_API zend_result object_init_ex(zval *arg, zend_class_entry *class_type)
ZEND_API zend_result zend_parse_parameters(uint32_t num_args, const char *type_spec,...)
ZEND_API void object_properties_init(zend_object *object, zend_class_entry *class_type)
ZEND_API ZEND_COLD void zend_argument_must_not_be_empty_error(uint32_t arg_num)
ZEND_API zend_result add_next_index_string(zval *arg, const char *str)
#define ZEND_GET_MODULE(name)
#define zend_parse_parameters_none()
#define STANDARD_MODULE_HEADER
struct _zend_module_entry zend_module_entry
#define STANDARD_MODULE_PROPERTIES
ZEND_API int zend_objects_not_comparable(zval *o1, zval *o2)
ZEND_API const zend_object_handlers std_object_handlers
ZEND_API void ZEND_FASTCALL zend_object_std_init(zend_object *object, zend_class_entry *ce)
ZEND_API void zend_object_std_dtor(zend_object *object)
#define XtOffsetOf(s_type, field)
struct _zend_class_entry zend_class_entry
struct _zend_object zend_object
struct _zend_object_handlers zend_object_handlers
ZEND_API void zval_ptr_dtor(zval *zval_ptr)