From: Ilia Alshanetsky
Date: Tue, 3 Oct 2006 02:16:53 +0000 (+0000)
Subject: Refactor the filter extension
X-Git-Tag: php-5.2.0RC5~42
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=80cecdb41ff6b7ffd8e20623fbe410b82a0255a7;p=php
Refactor the filter extension
- Cleanup API
- Added handling for circular references
- Renamed functions.
# Original patch by Pierre
---
diff --git a/ext/filter/filter.c b/ext/filter/filter.c
index 9f04a85f3a..bad57ddc57 100644
--- a/ext/filter/filter.c
+++ b/ext/filter/filter.c
@@ -15,6 +15,7 @@
| Authors: Rasmus Lerdorf |
| Derick Rethans |
| Pierre-A. Joye |
+ | Ilia Alshanetsky |
+----------------------------------------------------------------------+
*/
@@ -51,7 +52,7 @@ filter_list_entry filter_list[] = {
{ "stripped", FILTER_SANITIZE_STRING, php_filter_string },
{ "encoded", FILTER_SANITIZE_ENCODED, php_filter_encoded },
{ "special_chars", FILTER_SANITIZE_SPECIAL_CHARS, php_filter_special_chars },
- { "unsafe_raw", FILTER_UNSAFE_RAW, php_filter_unsafe_raw },
+ { "unsafe_raw", FILTER_UNSAFE_RAW, php_filter_unsafe_raw },
{ "email", FILTER_SANITIZE_EMAIL, php_filter_email },
{ "url", FILTER_SANITIZE_URL, php_filter_url },
{ "number_int", FILTER_SANITIZE_NUMBER_INT, php_filter_number_int },
@@ -74,21 +75,18 @@ filter_list_entry filter_list[] = {
#define PARSE_SESSION 6
#endif
-#ifndef PARSE_DATA
-#define PARSE_DATA 7
-#endif
-
static unsigned int php_sapi_filter(int arg, char *var, char **val, unsigned int val_len, unsigned int *new_val_len TSRMLS_DC);
/* {{{ filter_functions[]
*/
zend_function_entry filter_functions[] = {
- PHP_FE(input_get, NULL)
- PHP_FE(input_get_args, NULL)
- PHP_FE(input_filters_list, NULL)
- PHP_FE(input_has_variable, NULL)
- PHP_FE(input_name_to_filter, NULL)
- PHP_FE(filter_data, NULL)
+ PHP_FE(filter_input, NULL)
+ PHP_FE(filter_var, NULL)
+ PHP_FE(filter_input_array, NULL)
+ PHP_FE(filter_var_array, NULL)
+ PHP_FE(filter_list, NULL)
+ PHP_FE(filter_has_var, NULL)
+ PHP_FE(filter_id, NULL)
{NULL, NULL, NULL}
};
/* }}} */
@@ -172,17 +170,18 @@ PHP_MINIT_FUNCTION(filter)
REGISTER_INI_ENTRIES();
REGISTER_LONG_CONSTANT("INPUT_POST", PARSE_POST, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("INPUT_GET", PARSE_GET, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("INPUT_GET", PARSE_GET, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("INPUT_COOKIE", PARSE_COOKIE, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("INPUT_ENV", PARSE_ENV, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("INPUT_ENV", PARSE_ENV, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("INPUT_SERVER", PARSE_SERVER, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("INPUT_SESSION", PARSE_SESSION, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("INPUT_DATA", PARSE_DATA, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("INPUT_REQUEST", PARSE_SESSION, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_NONE", FILTER_FLAG_NONE, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("FILTER_FLAG_SCALAR", FILTER_FLAG_SCALAR, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("FILTER_FLAG_ARRAY", FILTER_FLAG_ARRAY, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("FILTER_REQUIRE_SCALAR", FILTER_REQUIRE_SCALAR, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("FILTER_REQUIRE_ARRAY", FILTER_REQUIRE_ARRAY, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("FILTER_FORCE_ARRAY", FILTER_FORCE_ARRAY, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_INT", FILTER_VALIDATE_INT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOLEAN", FILTER_VALIDATE_BOOLEAN, CONST_CS | CONST_PERSISTENT);
@@ -256,6 +255,7 @@ PHP_MSHUTDOWN_FUNCTION(filter)
zval_ptr_dtor(&IF_G(a)); \
IF_G(a) = NULL; \
}
+
PHP_RSHUTDOWN_FUNCTION(filter)
{
VAR_ARRAY_COPY_DTOR(get_array)
@@ -417,14 +417,25 @@ static unsigned int php_sapi_filter(int arg, char *var, char **val, unsigned int
static void php_zval_filter_recursive(zval **value, long filter, long flags, zval *options, char *charset, zend_bool copy TSRMLS_DC) /* {{{ */
{
- zval **element;
- HashPosition pos;
-
if (Z_TYPE_PP(value) == IS_ARRAY) {
+ zval **element;
+ HashPosition pos;
+
+ if (Z_ARRVAL_PP(value)->nApplyCount > 1) {
+ return;
+ }
+
for (zend_hash_internal_pointer_reset_ex(Z_ARRVAL_PP(value), &pos);
zend_hash_get_current_data_ex(Z_ARRVAL_PP(value), (void **) &element, &pos) == SUCCESS;
zend_hash_move_forward_ex(Z_ARRVAL_PP(value), &pos)) {
- php_zval_filter_recursive(element, filter, flags, options, charset, copy TSRMLS_CC);
+
+ if (Z_TYPE_PP(element) == IS_ARRAY) {
+ Z_ARRVAL_PP(element)->nApplyCount++;
+ php_zval_filter_recursive(element, filter, flags, options, charset, copy TSRMLS_CC);
+ Z_ARRVAL_PP(element)->nApplyCount--;
+ } else {
+ php_zval_filter(element, filter, flags, options, charset, copy TSRMLS_CC);
+ }
}
} else {
php_zval_filter(value, filter, flags, options, charset, copy TSRMLS_CC);
@@ -432,10 +443,12 @@ static void php_zval_filter_recursive(zval **value, long filter, long flags, zva
}
/* }}} */
-static zval * php_filter_get_storage(long arg TSRMLS_DC) /* {{{ */
+/* {{{ */
+static zval *php_filter_get_storage(long arg TSRMLS_DC)
{
- zval * array_ptr = NULL;
+ zval *array_ptr = NULL;
zend_bool jit_initialization = (PG(auto_globals_jit) && !PG(register_globals) && !PG(register_long_arrays));
+
switch (arg) {
case PARSE_GET:
array_ptr = IF_G(get_array);
@@ -447,383 +460,267 @@ static zval * php_filter_get_storage(long arg TSRMLS_DC) /* {{{ */
array_ptr = IF_G(cookie_array);
break;
case PARSE_SERVER:
- if(jit_initialization) zend_is_auto_global("_SERVER", sizeof("_SERVER")-1 TSRMLS_CC);
+ if (jit_initialization) {
+ zend_is_auto_global("_SERVER", sizeof("_SERVER")-1 TSRMLS_CC);
+ }
array_ptr = IF_G(server_array);
break;
case PARSE_ENV:
- if(jit_initialization) zend_is_auto_global("_ENV", sizeof("_ENV")-1 TSRMLS_CC);
+ if (jit_initialization) {
+ zend_is_auto_global("_ENV", sizeof("_ENV")-1 TSRMLS_CC);
+ }
array_ptr = IF_G(env_array);
break;
+ case PARSE_SESSION:
+ /* FIXME: Implement session source */
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "INPUT_SESSION is not yet implemented");
+ break;
+ case PARSE_REQUEST:
+ /* FIXME: Implement request source */
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "INPUT_REQUEST is not yet implemented");
+ break;
}
return array_ptr;
}
/* }}} */
-/* {{{ proto mixed input_has_variable(constant type, string variable_name)
+/* {{{ proto mixed filter_has_var(constant type, string variable_name)
* Returns true if the variable with the name 'name' exists in source.
*/
-PHP_FUNCTION(input_has_variable)
+PHP_FUNCTION(filter_has_var)
{
long arg;
char *var;
int var_len;
zval **tmp;
zval *array_ptr = NULL;
- HashTable *hash_ptr;
- int found = 0;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ls", &arg, &var, &var_len) == FAILURE) {
- return;
- }
-
- array_ptr = php_filter_get_storage(arg TSRMLS_CC);
-
- if (!array_ptr) {
RETURN_FALSE;
}
- if (!found) {
- hash_ptr = HASH_OF(array_ptr);
+ array_ptr = php_filter_get_storage(arg TSRMLS_CC);
- if (hash_ptr && zend_hash_find(hash_ptr, var, var_len + 1, (void **)&tmp) == SUCCESS) {
- RETURN_TRUE;
- }
+ if (array_ptr && HASH_OF(array_ptr) && zend_hash_find(HASH_OF(array_ptr), var, var_len + 1, (void **)&tmp) == SUCCESS) {
+ RETURN_TRUE;
}
RETURN_FALSE;
}
/* }}} */
-/* {{{ proto mixed input_get(constant type, string variable_name [, int filter [, mixed flags [, string charset]]])
- * Returns the filtered variable 'name'* from source `type`.
- */
-PHP_FUNCTION(input_get)
-{
- long arg, filter = FILTER_DEFAULT;
- char *var, *charset = NULL;
- int var_len, charset_len;
- zval **flags = NULL;
- zval **tmp;
- zval *array_ptr = NULL, *array_ptr2 = NULL, *array_ptr3 = NULL;
- HashTable *hash_ptr;
- int found = 0;
- long filter_flags = 0;
- zval *options = NULL;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ls|lZs", &arg, &var, &var_len, &filter, &flags, &charset, &charset_len) == FAILURE) {
- return;
- }
-
- if (flags) {
- switch (Z_TYPE_PP(flags)) {
- case IS_ARRAY:
- options = *flags;
- break;
- case IS_STRING:
- case IS_BOOL:
- case IS_LONG:
- convert_to_long_ex(flags);
- filter_flags = Z_LVAL_PP(flags);
- options = NULL;
- break;
+static void php_filter_call(zval **filtered, long filter, zval **filter_args, const int copy, long filter_flags)
+{
+ zval *options = NULL;
+ zval **option;
+ char *charset = NULL;
+
+ if (filter_args && Z_TYPE_PP(filter_args) != IS_ARRAY) {
+ convert_to_long_ex(filter_args);
+ if (filter != -1) { /* handler for array apply */
+ /* filter_args is the filter_flags */
+ filter_flags = Z_LVAL_PP(filter_args);
+ } else {
+ filter = Z_LVAL_PP(filter_args);
+ }
+ } else if (filter_args) {
+ if (zend_hash_find(HASH_OF(*filter_args), "filter", sizeof("filter"), (void **)&option) == SUCCESS) {
+ convert_to_long(*option);
+ filter = Z_LVAL_PP(option);
}
- }
-
- switch(arg) {
- case PARSE_GET:
- case PARSE_POST:
- case PARSE_COOKIE:
- case PARSE_SERVER:
- case PARSE_ENV:
- array_ptr = php_filter_get_storage(arg TSRMLS_CC);
- break;
- case PARSE_SESSION:
- /* FIXME: Implement session source */
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "INPUT_SESSION not implemented");
- break;
+ if (zend_hash_find(HASH_OF(*filter_args), "flags", sizeof("flags"), (void **)&option) == SUCCESS) {
+ convert_to_long(*option);
+ filter_flags = Z_LVAL_PP(option);
+ }
- case PARSE_REQUEST:
- /* FIXME: Implement request source */
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "INPUT_REQUEST not implemented");
- return;
- if (PG(variables_order)) {
- zval **a_ptr = &array_ptr;
- char *p, *variables_order = PG(variables_order);
-
- for (p = variables_order; p && *p; p++) {
- switch (*p) {
- case 'p':
- case 'P':
- if (IF_G(default_filter) != FILTER_UNSAFE_RAW) {
- *a_ptr = IF_G(post_array);
- } else {
- *a_ptr = PG(http_globals)[TRACK_VARS_POST];
- }
- break;
- case 'g':
- case 'G':
- if (IF_G(default_filter) != FILTER_UNSAFE_RAW) {
- *a_ptr = IF_G(get_array);
- } else {
- *a_ptr = PG(http_globals)[TRACK_VARS_GET];
- }
- break;
- case 'c':
- case 'C':
- if (IF_G(default_filter) != FILTER_UNSAFE_RAW) {
- *a_ptr = IF_G(cookie_array);
- } else {
- *a_ptr = PG(http_globals)[TRACK_VARS_COOKIE];
- }
- break;
- }
- if (array_ptr && !array_ptr2) {
- a_ptr = &array_ptr2;
- continue;
- }
- if (array_ptr2 && !array_ptr3) {
- a_ptr = &array_ptr3;
- }
+ if (zend_hash_find(HASH_OF(*filter_args), "options", sizeof("options"), (void **)&option) == SUCCESS) {
+ if (filter != FILTER_CALLBACK) {
+ if (Z_TYPE_PP(option) == IS_ARRAY) {
+ options = *option;
}
} else {
- array_ptr = php_filter_get_storage(PARSE_GET TSRMLS_CC);
+ options = *option;
+ filter_flags = 0;
}
+ }
}
- if (!array_ptr) {
- RETURN_FALSE;
- }
-
- if (array_ptr3) {
- hash_ptr = HASH_OF(array_ptr3);
- if (hash_ptr && zend_hash_find(hash_ptr, var, var_len + 1, (void **)&tmp) == SUCCESS) {
- *return_value = **tmp;
- found = 1;
+ if (Z_TYPE_PP(filtered) == IS_ARRAY) {
+ if (filter_flags & FILTER_REQUIRE_SCALAR) {
+ if (copy) {
+ SEPARATE_ZVAL(filtered);
+ }
+ zval_dtor(*filtered);
+ ZVAL_FALSE(*filtered);
+ return;
}
+ php_zval_filter_recursive(filtered, filter, filter_flags, options, charset, copy TSRMLS_CC);
+ return;
}
-
- if (array_ptr2 && !found) {
- hash_ptr = HASH_OF(array_ptr2);
- if (hash_ptr && zend_hash_find(hash_ptr, var, var_len + 1, (void **)&tmp) == SUCCESS) {
- *return_value = **tmp;
- found = 1;
+ if (filter_flags & FILTER_REQUIRE_ARRAY) {
+ if (copy) {
+ SEPARATE_ZVAL(filtered);
}
+ zval_dtor(*filtered);
+ ZVAL_FALSE(*filtered);
+ return;
}
- if (!found) {
- hash_ptr = HASH_OF(array_ptr);
+ php_zval_filter(filtered, filter, filter_flags, options, charset, copy TSRMLS_CC);
+ if (filter_flags & FILTER_FORCE_ARRAY) {
+ zval *temp_array;
- if (hash_ptr && zend_hash_find(hash_ptr, var, var_len + 1, (void **)&tmp) == SUCCESS) {
- *return_value = **tmp;
- found = 1;
- }
+ ALLOC_INIT_ZVAL(temp_array);
+ array_init(temp_array);
+ add_next_index_zval(temp_array, *filtered);
+ *filtered = temp_array;
}
+}
- if (found) {
- zval **option;
+static void php_filter_array_handler(zval *input, zval **op, zval *return_value)
+{
+ char *arg_key;
+ uint arg_key_len;
+ ulong index;
+ HashPosition pos;
+ zval **tmp, **arg_elm;
+
+ if (!op) {
+ SEPARATE_ZVAL(&input);
+ *return_value = *input;
+ php_filter_call(&return_value, FILTER_DEFAULT, NULL, 0, FILTER_REQUIRE_ARRAY);
+ } else if (Z_TYPE_PP(op) == IS_LONG) {
+ SEPARATE_ZVAL(&input);
+ *return_value = *input;
+ php_filter_call(&return_value, Z_LVAL_PP(op), NULL, 0, FILTER_REQUIRE_ARRAY);
+ } else if (Z_TYPE_PP(op) == IS_ARRAY) {
+ array_init(return_value);
- if (options && filter_flags==0 &&
- zend_hash_find(HASH_OF(options), "flags", sizeof("flags"), (void **)&option) == SUCCESS) {
- switch (Z_TYPE_PP(option)) {
- case IS_ARRAY:
- break;
- default:
- convert_to_long(*option);
- filter_flags = Z_LVAL_PP(option);
- break;
- }
- } else {
- filter_flags = filter_flags | FILTER_FLAG_SCALAR;
- }
+ zend_hash_internal_pointer_reset(Z_ARRVAL_PP(op));
+ for (zend_hash_internal_pointer_reset_ex(Z_ARRVAL_PP(op), &pos);
+ zend_hash_get_current_data_ex(Z_ARRVAL_PP(op), (void **) &arg_elm, &pos) == SUCCESS;
+ zend_hash_move_forward_ex(Z_ARRVAL_PP(op), &pos))
+ {
+ if (zend_hash_get_current_key_ex(Z_ARRVAL_PP(op), &arg_key, &arg_key_len, &index, 0, &pos) != HASH_KEY_IS_STRING) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Numeric keys are not allowed in the definition array.");
+ zval_dtor(return_value);
+ RETURN_FALSE;
+ }
+ if (zend_hash_find(Z_ARRVAL_P(input), arg_key, arg_key_len, (void **)&tmp) != SUCCESS) {
+ add_assoc_null_ex(return_value, arg_key, arg_key_len);
+ } else {
+ zval *nval;
- zval_copy_ctor(return_value); /* Watch out for empty strings */
+ ALLOC_ZVAL(nval);
+ *nval = **tmp;
+ zval_copy_ctor(nval);
+ INIT_PZVAL(nval);
- if (Z_TYPE_P(return_value) == IS_ARRAY && !(filter_flags & FILTER_FLAG_ARRAY)) {
- zval_dtor(return_value);
- ZVAL_BOOL(return_value, 0);
+ php_filter_call(&nval, -1, arg_elm, 0, FILTER_REQUIRE_SCALAR);
+ add_assoc_zval_ex(return_value, arg_key, arg_key_len, nval);
+ }
}
-
- php_zval_filter_recursive(&return_value, filter, filter_flags, options, charset, 1 TSRMLS_CC);
} else {
- RETURN_NULL();
+ RETURN_FALSE;
}
}
-/* }}} */
-/* {{{ proto mixed input_get_args(constant type, array definition, [, array data])
- * Returns an array with all arguments defined in 'definition'. INPUT_DATA will use the data given as last argument.
+
+/* {{{ proto mixed filter_input(constant type, string variable_name [, long filter [, mixed options]])
+ * Returns the filtered variable 'name'* from source `type`.
*/
-PHP_FUNCTION(input_get_args)
+PHP_FUNCTION(filter_input)
{
- long filter = FILTER_DEFAULT;
- char *charset = NULL;
- zval **tmp, ** option;
- int filter_flags = FILTER_FLAG_SCALAR;
- zval *options = NULL, *temparray = NULL;
-
- zval *args_array, *values = NULL;
- HashTable *args_hash;
- HashPosition pos;
-
- HashTable * g_hash;
+ long fetch_from, filter = FILTER_DEFAULT;
+ zval **filter_args = NULL, **data=NULL, **tmp;
+ zval *input = NULL;
- long args_from = 0;
- long elm_count;
- char *key;
- unsigned int key_len;
- unsigned long index;
- zend_bool copy = 0;
-
- /* pointers to the zval array GET, POST,... */
- zval *array_ptr = NULL;
- zval **element;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "la|a/", &args_from, &args_array, &values) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lZ|lZ", &fetch_from, &data, &filter, &filter_args) == FAILURE) {
RETURN_FALSE;
}
- args_hash = HASH_OF(args_array);
- elm_count = zend_hash_num_elements(args_hash);
+ input = php_filter_get_storage(fetch_from TSRMLS_CC);
- if (elm_count < 1) {
- RETURN_NULL();
+ if (!input || !HASH_OF(input) || zend_hash_find(HASH_OF(input), Z_STRVAL_PP(data), Z_STRLEN_PP(data) + 1, (void **)&tmp) != SUCCESS) {
+ RETURN_FALSE;
}
- switch (args_from) {
- case PARSE_GET:
- case PARSE_POST:
- case PARSE_COOKIE:
- case PARSE_SERVER:
- case PARSE_ENV:
- array_ptr = php_filter_get_storage(args_from TSRMLS_CC);
- break;
-
- case PARSE_DATA:
- array_ptr = values;
- copy = 1;
- break;
-
- case PARSE_SESSION:
- /* FIXME: Implement session source */
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "INPUT_SESSION not implemented");
- break;
+ *return_value = **tmp;
+ zval_copy_ctor(return_value); /* Watch out for empty strings */
- case PARSE_REQUEST:
- /* FIXME: Implement session source */
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "INPUT_REQUEST not implemented");
- return;
- break;
+ php_filter_call(&return_value, filter, filter_args, 1, FILTER_REQUIRE_SCALAR);
+}
+/* }}} */
- default:
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown INPUT method");
- return;
- break;
- }
+/* {{{ proto mixed filter_var(mixed variable [, long filter [, mixed options]])
+ * Returns the filtered version of the vriable.
+ */
+PHP_FUNCTION(filter_var)
+{
+ long filter = FILTER_DEFAULT;
+ zval **filter_args = NULL, *data;
- if (!array_ptr) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z/|lZ", &data, &filter, &filter_args) == FAILURE) {
RETURN_FALSE;
- } else {
- g_hash = HASH_OF(array_ptr);
- if (g_hash) {
- zend_hash_internal_pointer_reset(g_hash);
- }
- array_init(return_value);
}
- for (zend_hash_internal_pointer_reset_ex(args_hash, &pos);
- zend_hash_get_current_data_ex(args_hash, (void **) &element, &pos) == SUCCESS;
- zend_hash_move_forward_ex(args_hash, &pos)) {
+ *return_value = *data;
+ zval_copy_ctor(data);
- if (zend_hash_get_current_key_ex(args_hash, &key, &key_len, &index, 0, &pos) != HASH_KEY_IS_STRING) {
- zval_dtor(return_value);
- RETURN_FALSE;
- }
-
- if (g_hash && zend_hash_find(g_hash, key, key_len, (void **)&tmp) == SUCCESS) {
- if (Z_TYPE_PP(element) != IS_ARRAY) {
- convert_to_long(*element);
- filter = Z_LVAL_PP(element);
- filter_flags = FILTER_FLAG_SCALAR;
-
- if ((filter_flags & FILTER_FLAG_SCALAR) && Z_TYPE_PP(tmp) == IS_ARRAY) {
- /* asked for scalar and found an array do not test further */
- add_assoc_bool(return_value, key, 0);
- continue;
- }
-
- } else {
- if (zend_hash_find(HASH_OF(*element), "filter", sizeof("filter"), (void **)&option) == SUCCESS) {
- convert_to_long(*option);
- filter = Z_LVAL_PP(option);
- }
+ php_filter_call(&return_value, filter, filter_args, 1, FILTER_REQUIRE_SCALAR);
+}
+/* }}} */
- if (zend_hash_find(HASH_OF(*element), "options", sizeof("options"), (void **)&option) == SUCCESS) {
- if (Z_TYPE_PP(option) == IS_ARRAY) {
- options = *option;
- }
- } else {
- options = NULL;
- }
+/* {{{ proto mixed filter_input_array(constant type, [, mixed options]])
+ * Returns an array with all arguments defined in 'definition'.
+ */
+PHP_FUNCTION(filter_input_array)
+{
+ long fetch_from;
+ zval *array_input = NULL, **op = NULL;
- if (zend_hash_find(HASH_OF(*element), "flags", sizeof("flags"), (void **)&option) == SUCCESS) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l|Z", &fetch_from, &op) == FAILURE) {
+ RETURN_FALSE;
+ }
- switch (Z_TYPE_PP(option)) {
- case IS_ARRAY:
- break;
- default:
- convert_to_long(*option);
- filter_flags = Z_LVAL_PP(option);
- break;
- }
- } else {
- filter_flags = FILTER_FLAG_SCALAR;
- }
+ array_input = php_filter_get_storage(fetch_from TSRMLS_CC);
- if ((filter_flags & FILTER_FLAG_SCALAR) && Z_TYPE_PP(tmp) == IS_ARRAY) {
- /* asked for scalar and found an array do not test further */
- add_assoc_bool(return_value, key, 0);
- continue;
- }
+ if (!array_input || !HASH_OF(array_input)) {
+ RETURN_FALSE;
+ }
- if (zend_hash_find(HASH_OF(*element), "charset", sizeof("charset"), (void **)&option) == SUCCESS) {
- convert_to_string(*option);
- charset = Z_STRVAL_PP(option);
- }
- }
+ php_filter_array_handler(array_input, op, return_value);
+}
+/* }}} */
- if (filter_flags & FILTER_FLAG_ARRAY) {
- php_zval_filter_recursive(tmp, filter, filter_flags, options, charset, copy TSRMLS_CC);
+/* {{{ proto mixed filter_var_array(array data, [, mixed options]])
+ * Returns an array with all arguments defined in 'definition'.
+ */
+PHP_FUNCTION(filter_var_array)
+{
+ zval *array_input = NULL, **op = NULL;
- /* ARRAY always returns an array */
- if (Z_TYPE_PP(tmp) != IS_ARRAY) {
- ALLOC_INIT_ZVAL(temparray);
- array_init(temparray);
- add_next_index_zval(temparray, *tmp);
- *tmp = temparray;
- }
- } else {
- php_zval_filter(tmp, filter, filter_flags, options, charset, copy TSRMLS_CC);
- }
- zval_add_ref(tmp);
- add_assoc_zval(return_value, key, *tmp);
- } else {
- add_assoc_null(return_value, key);
- }
- filter = FILTER_DEFAULT;
- filter_flags = FILTER_FLAG_SCALAR;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|Z", &array_input, &op) == FAILURE) {
+ RETURN_FALSE;
}
+
+ php_filter_array_handler(array_input, op, return_value);
}
/* }}} */
-/* {{{ proto input_filters_list()
+/* {{{ proto filter_list()
* Returns a list of all supported filters */
-PHP_FUNCTION(input_filters_list)
+PHP_FUNCTION(filter_list)
{
int i, size = sizeof(filter_list) / sizeof(filter_list_entry);
+ if (ZEND_NUM_ARGS()) {
+ WRONG_PARAM_COUNT;
+ }
+
array_init(return_value);
for (i = 0; i < size; ++i) {
add_next_index_string(return_value, (char *)filter_list[i].name, 1);
@@ -831,9 +728,9 @@ PHP_FUNCTION(input_filters_list)
}
/* }}} */
-/* {{{ proto input_name_to_filter(string filtername)
+/* {{{ proto filter_id(string filtername)
* Returns the filter ID belonging to a named filter */
-PHP_FUNCTION(input_name_to_filter)
+PHP_FUNCTION(filter_id)
{
int i, filter_len;
int size = sizeof(filter_list) / sizeof(filter_list_entry);
@@ -848,59 +745,8 @@ PHP_FUNCTION(input_name_to_filter)
RETURN_LONG(filter_list[i].id);
}
}
- RETURN_NULL();
-}
-/* }}} */
-/* {{{ proto filter_data(mixed variable, int filter [, mixed filter_options [, string charset ]])
- * Returns the filterd variable (scalar or array can be used).
- */
-PHP_FUNCTION(filter_data)
-{
- long filter = FILTER_DEFAULT;
- char *charset = NULL;
- int charset_len;
- zval *var, **flags = NULL;
- int filter_flags = 0;
- zval *options = NULL;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z/l|Zs", &var, &filter, &flags, &charset, &charset_len) == FAILURE) {
- return;
- }
-
- if (filter != FILTER_CALLBACK) {
- if (flags) {
- switch (Z_TYPE_PP(flags)) {
- case IS_ARRAY:
- options = *flags;
- break;
-
- case IS_STRING:
- case IS_BOOL:
- case IS_LONG:
- convert_to_long_ex(flags);
- filter_flags = Z_LVAL_PP(flags);
- options = NULL;
- break;
- }
- }
- } else {
- if (flags) {
- switch (Z_TYPE_PP(flags)) {
- case IS_ARRAY:
- case IS_STRING:
- options = *flags;
- break;
-
- default:
- convert_to_string_ex(flags);
- options = *flags;
- break;
- }
- }
- }
- php_zval_filter_recursive(&var, filter, filter_flags, options, charset, 1 TSRMLS_CC);
- RETURN_ZVAL(var, 1, 0);
+ RETURN_FALSE;
}
/* }}} */
diff --git a/ext/filter/filter_private.h b/ext/filter/filter_private.h
index e18bcbe1c9..6adfe76615 100644
--- a/ext/filter/filter_private.h
+++ b/ext/filter/filter_private.h
@@ -23,8 +23,10 @@
#define FILTER_FLAG_NONE 0x0000
-#define FILTER_FLAG_ARRAY 0x1000000
-#define FILTER_FLAG_SCALAR 0x2000000
+#define FILTER_REQUIRE_ARRAY 0x1000000
+#define FILTER_REQUIRE_SCALAR 0x2000000
+
+#define FILTER_FORCE_ARRAY 0x4000000
#define FILTER_FLAG_ALLOW_OCTAL 0x0001
#define FILTER_FLAG_ALLOW_HEX 0x0002
diff --git a/ext/filter/logical_filters.c b/ext/filter/logical_filters.c
index e3f85f95b2..4b6457a44f 100644
--- a/ext/filter/logical_filters.c
+++ b/ext/filter/logical_filters.c
@@ -162,7 +162,7 @@ void php_filter_int(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
{
zval **option_val;
long min_range, max_range, option_flags;
- int min_range_set, max_range_set, option_flags_set;
+ int min_range_set, max_range_set;
int allow_octal = 0, allow_hex = 0;
int len, error = 0;
long ctx_value;
@@ -171,7 +171,7 @@ void php_filter_int(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
/* Parse options */
FETCH_LONG_OPTION(min_range, "min_range");
FETCH_LONG_OPTION(max_range, "max_range");
- FETCH_LONG_OPTION(option_flags, "flags");
+ option_flags = flags;
len = Z_STRLEN_P(value);
@@ -181,11 +181,11 @@ void php_filter_int(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
return;
}
- if (option_flags_set && (option_flags & FILTER_FLAG_ALLOW_OCTAL)) {
+ if (option_flags & FILTER_FLAG_ALLOW_OCTAL) {
allow_octal = 1;
}
- if (option_flags_set && (option_flags & FILTER_FLAG_ALLOW_HEX)) {
+ if (option_flags & FILTER_FLAG_ALLOW_HEX) {
allow_hex = 1;
}
diff --git a/ext/filter/php_filter.h b/ext/filter/php_filter.h
index 4c2b9381bb..35533188e8 100644
--- a/ext/filter/php_filter.h
+++ b/ext/filter/php_filter.h
@@ -49,12 +49,13 @@ PHP_RINIT_FUNCTION(filter);
PHP_RSHUTDOWN_FUNCTION(filter);
PHP_MINFO_FUNCTION(filter);
-PHP_FUNCTION(input_get);
-PHP_FUNCTION(input_get_args);
-PHP_FUNCTION(input_filters_list);
-PHP_FUNCTION(input_has_variable);
-PHP_FUNCTION(input_name_to_filter);
-PHP_FUNCTION(filter_data);
+PHP_FUNCTION(filter_input);
+PHP_FUNCTION(filter_var);
+PHP_FUNCTION(filter_input_array);
+PHP_FUNCTION(filter_var_array);
+PHP_FUNCTION(filter_list);
+PHP_FUNCTION(filter_has_var);
+PHP_FUNCTION(filter_id);
ZEND_BEGIN_MODULE_GLOBALS(filter)
zval *post_array;
diff --git a/ext/filter/tests/006.phpt b/ext/filter/tests/006.phpt
index 189579acf1..aa612d73d3 100644
--- a/ext/filter/tests/006.phpt
+++ b/ext/filter/tests/006.phpt
@@ -4,7 +4,7 @@ filter() test
foo=abc
--FILE--
--EXPECT--
abc
diff --git a/ext/filter/tests/008.phpt b/ext/filter/tests/008.phpt
index eb6963c099..a4a1292183 100644
--- a/ext/filter/tests/008.phpt
+++ b/ext/filter/tests/008.phpt
@@ -1,10 +1,10 @@
--TEST--
-input_filters_list()
+filter_list()
--FILE--
@@ -47,42 +47,7 @@ array(18) {
[17]=>
string(8) "callback"
}
-array(18) {
- [0]=>
- string(3) "int"
- [1]=>
- string(7) "boolean"
- [2]=>
- string(5) "float"
- [3]=>
- string(15) "validate_regexp"
- [4]=>
- string(12) "validate_url"
- [5]=>
- string(14) "validate_email"
- [6]=>
- string(11) "validate_ip"
- [7]=>
- string(6) "string"
- [8]=>
- string(8) "stripped"
- [9]=>
- string(7) "encoded"
- [10]=>
- string(13) "special_chars"
- [11]=>
- string(10) "unsafe_raw"
- [12]=>
- string(5) "email"
- [13]=>
- string(3) "url"
- [14]=>
- string(10) "number_int"
- [15]=>
- string(12) "number_float"
- [16]=>
- string(12) "magic_quotes"
- [17]=>
- string(8) "callback"
-}
+
+Warning: Wrong parameter count for filter_list() in /home4/php_dev/php52/ext/filter/tests/008.php on line 4
+NULL
Done
diff --git a/ext/filter/tests/009.phpt b/ext/filter/tests/009.phpt
index c33fe8ae36..d9d66be07e 100644
--- a/ext/filter/tests/009.phpt
+++ b/ext/filter/tests/009.phpt
@@ -1,16 +1,16 @@
--TEST--
-input_name_to_filter()
+filter_id()
--FILE--
@@ -19,12 +19,12 @@ int(513)
int(513)
int(518)
int(257)
-NULL
+bool(false)
-Warning: input_name_to_filter() expects parameter 1 to be string, array given in %s on line %d
-NULL
+Warning: filter_id() expects parameter 1 to be string, array given in %s on line %d
NULL
+bool(false)
-Warning: input_name_to_filter() expects exactly 1 parameter, 3 given in %s on line %d
+Warning: filter_id() expects exactly 1 parameter, 3 given in %s on line %d
NULL
Done
diff --git a/ext/filter/tests/010.phpt b/ext/filter/tests/010.phpt
index c78acd6779..1a385ff373 100644
--- a/ext/filter/tests/010.phpt
+++ b/ext/filter/tests/010.phpt
@@ -1,16 +1,16 @@
--TEST--
-filter_data()
+filter_var()
--FILE--
@@ -50,8 +50,8 @@ array(7) {
}
}
-Warning: filter_data() expects parameter 2 to be long, array given in %s on line %d
-NULL
+Warning: filter_var() expects parameter 2 to be long, array given in %s on line %d
+bool(false)
string(1) "1"
string(1) "1"
string(1) "1"
diff --git a/ext/filter/tests/012.phpt b/ext/filter/tests/012.phpt
index 77c1880137..103fd3c8f9 100644
--- a/ext/filter/tests/012.phpt
+++ b/ext/filter/tests/012.phpt
@@ -1,11 +1,11 @@
--TEST--
-input_get()
+filter_input()
--FILE--
diff --git a/ext/filter/tests/013.phpt b/ext/filter/tests/013.phpt
index 6c755c78b7..55c71e3535 100644
--- a/ext/filter/tests/013.phpt
+++ b/ext/filter/tests/013.phpt
@@ -1,40 +1,40 @@
--TEST--
-filter_data() and flags
+filter_var() and flags
--FILE--
FILTER_FLAG_ALLOW_HEX)));
-var_dump(filter_data("0Xff", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
-var_dump(filter_data("0xFF", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
-var_dump(filter_data("0XFF", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
-var_dump(filter_data("07", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
-var_dump(filter_data("0xff0000", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
-var_dump(filter_data("0666", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
-var_dump(filter_data("08", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
-var_dump(filter_data("00", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
-var_dump(filter_data("000", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
+var_dump(filter_var(" 234", FILTER_VALIDATE_INT));
+var_dump(filter_var("234 ", FILTER_VALIDATE_INT));
+var_dump(filter_var(" 234 ", FILTER_VALIDATE_INT));
+var_dump(filter_var("0xff", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+var_dump(filter_var("0Xff", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+var_dump(filter_var("0xFF", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+var_dump(filter_var("0XFF", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+var_dump(filter_var("07", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
+var_dump(filter_var("0xff0000", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+var_dump(filter_var("0666", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
+var_dump(filter_var("08", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
+var_dump(filter_var("00", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
+var_dump(filter_var("000", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
-var_dump(filter_data("-0xff", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
-var_dump(filter_data("-0Xff", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
-var_dump(filter_data("-0xFF", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
-var_dump(filter_data("-0XFF", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
-var_dump(filter_data("-07", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
-var_dump(filter_data("-0xff0000", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
-var_dump(filter_data("-0666", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
+var_dump(filter_var("-0xff", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+var_dump(filter_var("-0Xff", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+var_dump(filter_var("-0xFF", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+var_dump(filter_var("-0XFF", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+var_dump(filter_var("-07", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
+var_dump(filter_var("-0xff0000", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+var_dump(filter_var("-0666", FILTER_VALIDATE_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
-var_dump(filter_data("6", FILTER_VALIDATE_INT, array("min_range"=>1, "max_range"=>7)));
-var_dump(filter_data("6", FILTER_VALIDATE_INT, array("min_range"=>0, "max_range"=>5)));
-var_dump(filter_data(-1, FILTER_VALIDATE_INT, array("min_range"=>1, "max_range"=>7)));
-var_dump(filter_data(-1, FILTER_VALIDATE_INT, array("min_range"=>-4, "max_range"=>7)));
+var_dump(filter_var("6", FILTER_VALIDATE_INT, array("options" => array("min_range"=>1, "max_range"=>7))));
+var_dump(filter_var("6", FILTER_VALIDATE_INT, array("options" => array("min_range"=>0, "max_range"=>5))));
+var_dump(filter_var(-1, FILTER_VALIDATE_INT, array("options" => array("min_range"=>1, "max_range"=>7))));
+var_dump(filter_var(-1, FILTER_VALIDATE_INT, array("options" => array("min_range"=>-4, "max_range"=>7))));
-var_dump(filter_data("", FILTER_VALIDATE_INT, array("min_range"=>-4, "max_range"=>7)));
-var_dump(filter_data("", FILTER_VALIDATE_INT, array("min_range"=>2, "max_range"=>7)));
-var_dump(filter_data("", FILTER_VALIDATE_INT, array("min_range"=>-5, "max_range"=>-3)));
-var_dump(filter_data(345, FILTER_VALIDATE_INT, array("min_range"=>500, "max_range"=>100)));
-var_dump(filter_data("0ff", FILTER_VALIDATE_INT));
-var_dump(filter_data("010", FILTER_VALIDATE_INT));
+var_dump(filter_var("", FILTER_VALIDATE_INT, array("options" => array("min_range"=>-4, "max_range"=>7))));
+var_dump(filter_var("", FILTER_VALIDATE_INT, array("options" => array("min_range"=>2, "max_range"=>7))));
+var_dump(filter_var("", FILTER_VALIDATE_INT, array("options" => array("min_range"=>-5, "max_range"=>-3))));
+var_dump(filter_var(345, FILTER_VALIDATE_INT, array("options" => array("min_range"=>500, "max_range"=>100))));
+var_dump(filter_var("0ff", FILTER_VALIDATE_INT));
+var_dump(filter_var("010", FILTER_VALIDATE_INT));
echo "Done\n";
?>
diff --git a/ext/filter/tests/014.phpt b/ext/filter/tests/014.phpt
index aab2e7979b..ffee527f00 100644
--- a/ext/filter/tests/014.phpt
+++ b/ext/filter/tests/014.phpt
@@ -1,5 +1,5 @@
--TEST--
-filter_data() and FILTER_VALIDATE_BOOLEAN
+filter_var() and FILTER_VALIDATE_BOOLEAN
--FILE--
@@ -58,8 +58,7 @@ string(5) "http:"
string(4) "http"
string(0) ""
string(2) "-1"
-array(0) {
-}
+bool(false)
bool(false)
string(10) "http://qwe"
bool(false)
diff --git a/ext/filter/tests/016.phpt b/ext/filter/tests/016.phpt
index 5043567e8d..67921f0188 100644
--- a/ext/filter/tests/016.phpt
+++ b/ext/filter/tests/016.phpt
@@ -1,5 +1,5 @@
--TEST--
-filter_data() and FILTER_VALIDATE_EMAIL
+filter_var() and FILTER_VALIDATE_EMAIL
--FILE--
'/.*/')));
-var_dump(filter_data("data", FILTER_VALIDATE_REGEXP, array("regexp"=>'/^b(.*)/')));
-var_dump(filter_data("data", FILTER_VALIDATE_REGEXP, array("regexp"=>'/^d(.*)/')));
-var_dump(filter_data("data", FILTER_VALIDATE_REGEXP, array("regexp"=>'/blah/')));
-var_dump(filter_data("data", FILTER_VALIDATE_REGEXP, array("regexp"=>'/\[/')));
-var_dump(filter_data("data", FILTER_VALIDATE_REGEXP));
+var_dump(filter_var("data", FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>'/.*/'))));
+var_dump(filter_var("data", FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>'/^b(.*)/'))));
+var_dump(filter_var("data", FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>'/^d(.*)/'))));
+var_dump(filter_var("data", FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>'/blah/'))));
+var_dump(filter_var("data", FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>'/\[/'))));
+var_dump(filter_var("data", FILTER_VALIDATE_REGEXP));
echo "Done\n";
?>
@@ -19,6 +19,6 @@ string(4) "data"
bool(false)
bool(false)
-Warning: filter_data(): 'regexp' option missing in %s on line %d
+Warning: filter_var(): 'regexp' option missing in %s on line %d
bool(false)
Done
diff --git a/ext/filter/tests/018.phpt b/ext/filter/tests/018.phpt
index 0f5c1a46ed..7ea17b329c 100644
--- a/ext/filter/tests/018.phpt
+++ b/ext/filter/tests/018.phpt
@@ -1,28 +1,28 @@
--TEST--
-filter_data() and FILTER_VALIDATE_IP
+filter_var() and FILTER_VALIDATE_IP
--FILE--
--EXPECT--
diff --git a/ext/filter/tests/019.phpt b/ext/filter/tests/019.phpt
index 7c22e104cc..712c0ac459 100644
--- a/ext/filter/tests/019.phpt
+++ b/ext/filter/tests/019.phpt
@@ -1,13 +1,13 @@
--TEST--
-filter_data() & FILTER_VALIDATE_IP and weird data
+filter_var() & FILTER_VALIDATE_IP and weird data
--FILE--
diff --git a/ext/filter/tests/020.phpt b/ext/filter/tests/020.phpt
index 914c199afb..d39ee55e9d 100644
--- a/ext/filter/tests/020.phpt
+++ b/ext/filter/tests/020.phpt
@@ -1,12 +1,12 @@
--TEST--
-filter_data() and FILTER_SANITIZE_MAGIC_QUOTES
+filter_var() and FILTER_SANITIZE_MAGIC_QUOTES
--FILE--
diff --git a/ext/filter/tests/021.phpt b/ext/filter/tests/021.phpt
index 697fdd69d4..1dffc9f7a5 100644
--- a/ext/filter/tests/021.phpt
+++ b/ext/filter/tests/021.phpt
@@ -1,25 +1,25 @@
--TEST--
-filter_data() and FILTER_SANITIZE_NUMBER_*
+filter_var() and FILTER_SANITIZE_NUMBER_*
--FILE--
diff --git a/ext/filter/tests/022.phpt b/ext/filter/tests/022.phpt
index 28ad64e723..a2ad5a4c3f 100644
--- a/ext/filter/tests/022.phpt
+++ b/ext/filter/tests/022.phpt
@@ -1,13 +1,13 @@
--TEST--
-filter_data() and FILTER_SANITIZE_EMAIL
+filter_var() and FILTER_SANITIZE_EMAIL
--FILE--
diff --git a/ext/filter/tests/023.phpt b/ext/filter/tests/023.phpt
index 21fdc49a9b..b9761a5b77 100644
--- a/ext/filter/tests/023.phpt
+++ b/ext/filter/tests/023.phpt
@@ -1,13 +1,13 @@
--TEST--
-filter_data() and FILTER_UNSAFE_RAW
+filter_var() and FILTER_UNSAFE_RAW
--FILE--
test para
", FILTER_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
-var_dump(filter_data("a[!@#$%^&*()@a@#$%^&*(.
com@#$%^&*(", FILTER_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
-var_dump(filter_data("white space here \ \ \" some more", FILTER_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
-var_dump(filter_data("", FILTER_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
-var_dump(filter_data(" 123456789000000 ", FILTER_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
+var_dump(filter_var("}\"test para
", FILTER_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
+var_dump(filter_var("a[!@#$%^&*()@a@#$%^&*(.
com@#$%^&*(", FILTER_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
+var_dump(filter_var("white space here \ \ \" some more", FILTER_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
+var_dump(filter_var("", FILTER_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
+var_dump(filter_var(" 123456789000000 ", FILTER_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
echo "Done\n";
?>
diff --git a/ext/filter/tests/024.phpt b/ext/filter/tests/024.phpt
index d405af3f08..bc2cdb400c 100644
--- a/ext/filter/tests/024.phpt
+++ b/ext/filter/tests/024.phpt
@@ -1,12 +1,12 @@
--TEST--
-filter_data() and FILTER_SANITIZE_ENCODED
+filter_var() and FILTER_SANITIZE_ENCODED
--FILE--
blah", FILTER_SANITIZE_ENCODED));
-var_dump(filter_data("", FILTER_SANITIZE_ENCODED));
-var_dump(filter_data(" text here ", FILTER_SANITIZE_ENCODED));
-var_dump(filter_data("!@#$%^&*()QWERTYUIOP{ASDFGHJKL:\"ZXCVBNM<>?", FILTER_SANITIZE_ENCODED));
+var_dump(filter_var("\"
blah", FILTER_SANITIZE_ENCODED));
+var_dump(filter_var("", FILTER_SANITIZE_ENCODED));
+var_dump(filter_var(" text here ", FILTER_SANITIZE_ENCODED));
+var_dump(filter_var("!@#$%^&*()QWERTYUIOP{ASDFGHJKL:\"ZXCVBNM<>?", FILTER_SANITIZE_ENCODED));
echo "Done\n";
?>
diff --git a/ext/filter/tests/025.phpt b/ext/filter/tests/025.phpt
index c770fb80f7..d1e94abf02 100644
--- a/ext/filter/tests/025.phpt
+++ b/ext/filter/tests/025.phpt
@@ -1,15 +1,15 @@
--TEST--
-filter_data() and FILTER_SANITIZE_STRING
+filter_var() and FILTER_SANITIZE_STRING
--FILE--
", FILTER_SANITIZE_STRING));
-var_dump(filter_data("<>!@#$%^&*()'\"", FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES));
-var_dump(filter_data("<>!@#$%^&*()'\"", FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_AMP));
-var_dump(filter_data("<>`1234567890", FILTER_SANITIZE_STRING));
-var_dump(filter_data("`123`", FILTER_SANITIZE_STRING));
-var_dump(filter_data(".", FILTER_SANITIZE_STRING));
+var_dump(filter_var("", FILTER_SANITIZE_STRING));
+var_dump(filter_var("<>", FILTER_SANITIZE_STRING));
+var_dump(filter_var("<>!@#$%^&*()'\"", FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES));
+var_dump(filter_var("<>!@#$%^&*()'\"", FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_AMP));
+var_dump(filter_var("<>`1234567890", FILTER_SANITIZE_STRING));
+var_dump(filter_var("`123`", FILTER_SANITIZE_STRING));
+var_dump(filter_var(".", FILTER_SANITIZE_STRING));
echo "Done\n";
?>
diff --git a/ext/filter/tests/026.phpt b/ext/filter/tests/026.phpt
index b53dcb1989..9d66f11447 100644
--- a/ext/filter/tests/026.phpt
+++ b/ext/filter/tests/026.phpt
@@ -1,19 +1,19 @@
--TEST--
-filter_data() and FILTER_SANITIZE_STRIPPED
+filter_var() and FILTER_SANITIZE_STRIPPED
--FILE--
Let me see you
Stripped down to the bone", FILTER_SANITIZE_STRIPPED));
-var_dump(filter_data("!@#$%^&*()><<>+_\"'
", FILTER_SANITIZE_STRIPPED));
-var_dump(filter_data("", FILTER_SANITIZE_STRIPPED));
+var_dump(filter_var("Let me see you
Stripped down to the bone
", FILTER_SANITIZE_STRIPPED));
+var_dump(filter_var("!@#$%^&*()><<>+_\"'
", FILTER_SANITIZE_STRIPPED));
+var_dump(filter_var("", FILTER_SANITIZE_STRIPPED));
-var_dump(filter_data("Let me see you
Stripped down to the bone
", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_LOW));
-var_dump(filter_data("!@#$%^&*()><<>+_\"'
", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_LOW));
-var_dump(filter_data("", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_LOW));
+var_dump(filter_var("Let me see you
Stripped down to the bone
", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_LOW));
+var_dump(filter_var("!@#$%^&*()><<>+_\"'
", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_LOW));
+var_dump(filter_var("", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_LOW));
-var_dump(filter_data("Let me see you
Stripped down to the bone
", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_HIGH));
-var_dump(filter_data("!@#$%^&*()><<>+_\"'
", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_HIGH));
-var_dump(filter_data("", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_HIGH));
+var_dump(filter_var("Let me see you
Stripped down to the bone
", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_HIGH));
+var_dump(filter_var("!@#$%^&*()><<>+_\"'
", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_HIGH));
+var_dump(filter_var("", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_HIGH));
echo "Done\n";
?>
diff --git a/ext/filter/tests/027.phpt b/ext/filter/tests/027.phpt
index 048dc362ef..c187960a06 100644
--- a/ext/filter/tests/027.phpt
+++ b/ext/filter/tests/027.phpt
@@ -1,19 +1,19 @@
--TEST--
-filter_data() and FILTER_SANITIZE_ENCODED
+filter_var() and FILTER_SANITIZE_ENCODED
--FILE--
", FILTER_SANITIZE_ENCODED));
-var_dump(filter_data("", FILTER_SANITIZE_ENCODED));
+var_dump(filter_var("?>", FILTER_SANITIZE_ENCODED));
+var_dump(filter_var("", FILTER_SANITIZE_ENCODED));
-var_dump(filter_data("?>", FILTER_SANITIZE_ENCODED, FILTER_FLAG_ENCODE_LOW));
-var_dump(filter_data("", FILTER_SANITIZE_ENCODED, FILTER_FLAG_ENCODE_LOW));
+var_dump(filter_var("?>", FILTER_SANITIZE_ENCODED, FILTER_FLAG_ENCODE_LOW));
+var_dump(filter_var("", FILTER_SANITIZE_ENCODED, FILTER_FLAG_ENCODE_LOW));
-var_dump(filter_data("?>", FILTER_SANITIZE_ENCODED, FILTER_FLAG_ENCODE_HIGH));
-var_dump(filter_data("", FILTER_SANITIZE_ENCODED, FILTER_FLAG_ENCODE_HIGH));
+var_dump(filter_var("?>", FILTER_SANITIZE_ENCODED, FILTER_FLAG_ENCODE_HIGH));
+var_dump(filter_var("", FILTER_SANITIZE_ENCODED, FILTER_FLAG_ENCODE_HIGH));
echo "Done\n";
?>
diff --git a/ext/filter/tests/028.phpt b/ext/filter/tests/028.phpt
index 1d0d2e2071..4ffb0fd1fa 100644
--- a/ext/filter/tests/028.phpt
+++ b/ext/filter/tests/028.phpt
@@ -1,22 +1,22 @@
--TEST--
-filter_data() and FILTER_SANITIZE_SPECIAL_CHARS
+filter_var() and FILTER_SANITIZE_SPECIAL_CHARS
--FILE--
", FILTER_SANITIZE_SPECIAL_CHARS));
-var_dump(filter_data("", FILTER_SANITIZE_SPECIAL_CHARS));
+var_dump(filter_var("?>", FILTER_SANITIZE_SPECIAL_CHARS));
+var_dump(filter_var("", FILTER_SANITIZE_SPECIAL_CHARS));
-var_dump(filter_data("?>", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_ENCODE_LOW));
-var_dump(filter_data("", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_ENCODE_LOW));
+var_dump(filter_var("?>", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_ENCODE_LOW));
+var_dump(filter_var("", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_ENCODE_LOW));
-var_dump(filter_data("?>", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_ENCODE_HIGH));
-var_dump(filter_data("", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_ENCODE_HIGH));
+var_dump(filter_var("?>", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_ENCODE_HIGH));
+var_dump(filter_var("", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_ENCODE_HIGH));
-var_dump(filter_data("киÑиллиÑа", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_ENCODE_HIGH));
-var_dump(filter_data("киÑиллиÑа", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_ENCODE_LOW));
+var_dump(filter_var("киÑиллиÑа", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_ENCODE_HIGH));
+var_dump(filter_var("киÑиллиÑа", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_ENCODE_LOW));
echo "Done\n";
?>
diff --git a/ext/filter/tests/029.phpt b/ext/filter/tests/029.phpt
index f60c42ef3c..d0979f1e3e 100644
--- a/ext/filter/tests/029.phpt
+++ b/ext/filter/tests/029.phpt
@@ -1,5 +1,5 @@
--TEST--
-filter_data() and FILTER_CALLBACK
+filter_var() and FILTER_CALLBACK
--FILE--
>?\"}{:", FILTER_CALLBACK, "test"));
-var_dump(filter_data("", FILTER_CALLBACK, "test"));
-var_dump(filter_data("qwe", FILTER_CALLBACK, "no such func"));
-var_dump(filter_data("qwe", FILTER_CALLBACK, ""));
-var_dump(filter_data("qwe", FILTER_CALLBACK));
+var_dump(filter_var("data", FILTER_CALLBACK, array("options"=>"test")));
+var_dump(filter_var("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, array("options"=>"test")));
+var_dump(filter_var("", FILTER_CALLBACK, array("options"=>"test")));
+var_dump(filter_var("qwe", FILTER_CALLBACK, array("options"=>"no such func")));
+var_dump(filter_var("qwe", FILTER_CALLBACK, array("options"=>"")));
+var_dump(filter_var("qwe", FILTER_CALLBACK));
/* Simple class method callback */
class test_class {
@@ -22,35 +22,35 @@ class test_class {
}
}
-var_dump(filter_data("dAtA", FILTER_CALLBACK, array("test_class", "test")));
-var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, array("test_class","test")));
-var_dump(filter_data("", FILTER_CALLBACK, array("test_class","test")));
+var_dump(filter_var("dAtA", FILTER_CALLBACK, array("options"=>array("test_class", "test"))));
+var_dump(filter_var("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, array("options"=>array("test_class","test"))));
+var_dump(filter_var("", FILTER_CALLBACK, array("options"=>array("test_class","test"))));
/* empty function without return value */
function test1($var) {
}
-var_dump(filter_data("data", FILTER_CALLBACK, "test1"));
-var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, "test1"));
-var_dump(filter_data("", FILTER_CALLBACK, "test1"));
+var_dump(filter_var("data", FILTER_CALLBACK, array("options"=>"test1")));
+var_dump(filter_var("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, array("options"=>"test1")));
+var_dump(filter_var("", FILTER_CALLBACK, array("options"=>"test1")));
/* attempting to change data by reference */
function test2(&$var) {
$var = 1;
}
-var_dump(filter_data("data", FILTER_CALLBACK, "test2"));
-var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, "test2"));
-var_dump(filter_data("", FILTER_CALLBACK, "test2"));
+var_dump(filter_var("data", FILTER_CALLBACK, array("options"=>"test2")));
+var_dump(filter_var("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, array("options"=>"test2")));
+var_dump(filter_var("", FILTER_CALLBACK, array("options"=>"test2")));
/* unsetting data */
function test3(&$var) {
unset($var);
}
-var_dump(filter_data("data", FILTER_CALLBACK, "test3"));
-var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, "test3"));
-var_dump(filter_data("", FILTER_CALLBACK, "test3"));
+var_dump(filter_var("data", FILTER_CALLBACK, array("options"=>"test3")));
+var_dump(filter_var("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, array("options"=>"test3")));
+var_dump(filter_var("", FILTER_CALLBACK, array("options"=>"test3")));
/* unset data and return value */
function test4(&$var) {
@@ -58,7 +58,7 @@ function test4(&$var) {
return 1;
}
-var_dump(filter_data("data", FILTER_CALLBACK, "test4"));
+var_dump(filter_var("data", FILTER_CALLBACK, array("options"=>"test4")));
/* thrown exception in the callback */
function test5(&$var) {
@@ -66,7 +66,7 @@ function test5(&$var) {
}
try {
- var_dump(filter_data("data", FILTER_CALLBACK, "test5"));
+ var_dump(filter_var("data", FILTER_CALLBACK, array("options"=>"test5")));
} catch (Exception $e) {
var_dump($e->getMessage());
}
@@ -78,13 +78,13 @@ string(4) "DATA"
string(46) "~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?"}{:"
string(0) ""
-Warning: filter_data(): First argument is expected to be a valid callback in %s on line %d
+Warning: filter_var(): First argument is expected to be a valid callback in %s on line %d
NULL
-Warning: filter_data(): First argument is expected to be a valid callback in %s on line %d
+Warning: filter_var(): First argument is expected to be a valid callback in %s on line %d
NULL
-Warning: filter_data(): First argument is expected to be a valid callback in %s on line %d
+Warning: filter_var(): First argument is expected to be a valid callback in %s on line %d
NULL
string(4) "data"
string(46) "~!@#$%^&*()_qwertyuiopasdfghjklzxcvbnm<>>?"}{:"
diff --git a/ext/filter/tests/030.phpt b/ext/filter/tests/030.phpt
index ff4ea3930b..97b62b9e26 100644
--- a/ext/filter/tests/030.phpt
+++ b/ext/filter/tests/030.phpt
@@ -1,5 +1,5 @@
--TEST--
-filter_data() and IPv6
+filter_var() and IPv6
--FILE--
true
);
foreach ($ipv6_test as $ip => $exp) {
- $out = filter_data($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6);
+ $out = filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6);
$out = (int) ($out === false ? 0 : 1);
if ($exp != $out) {
echo "$ip failed\n";
diff --git a/ext/filter/tests/031.phpt b/ext/filter/tests/031.phpt
index a743291612..74883b8b26 100644
--- a/ext/filter/tests/031.phpt
+++ b/ext/filter/tests/031.phpt
@@ -1,5 +1,5 @@
--TEST--
-filter_data() and FLOAT
+filter_var() and FLOAT
--FILE--
$dec) {
- $out = filter_data($float, FILTER_VALIDATE_FLOAT, array('decimal' => $dec));
+ $out = filter_var($float, FILTER_VALIDATE_FLOAT, array("options"=>array('decimal' => $dec)));
var_dump($out);
}
@@ -49,6 +49,6 @@ bool(false)
float(1.234)
float(1.234)
-Warning: filter_data(): decimal separator must be one char in %s on line %d
+Warning: filter_var(): decimal separator must be one char in %s on line %d
bool(false)
bool(false)
diff --git a/ext/filter/tests/032.phpt b/ext/filter/tests/032.phpt
index aae51512f1..cc6abd4f0e 100644
--- a/ext/filter/tests/032.phpt
+++ b/ext/filter/tests/032.phpt
@@ -13,23 +13,23 @@ $data = array(
$args = array(
'product_id' => FILTER_SANITIZE_ENCODED,
'component' => array(//'filter' => FILTER_VALIDATE_INT,
- 'flags' => FILTER_FLAG_ARRAY,
+ 'flags' => FILTER_FORCE_ARRAY,
'options' => array("min_range"=>1, "max_range"=>10)
),
'versions' => array(
'filter' => FILTER_SANITIZE_ENCODED,
- 'flags' => FILTER_FLAG_SCALAR,
+ 'flags' => FILTER_REQUIRE_SCALAR,
),
'doesnotexist' => FILTER_VALIDATE_INT,
'testscalar' => FILTER_VALIDATE_INT,
'testarray' => array(
'filter' => FILTER_VALIDATE_INT,
- 'flags' => FILTER_FLAG_ARRAY,
+ 'flags' => FILTER_FORCE_ARRAY,
)
);
-$myinputs = input_get_args(INPUT_DATA, $args, $data);
+$myinputs = filter_var_array($data, $args);
var_dump($myinputs);
?>
--EXPECT--
diff --git a/ext/filter/tests/033.phpt b/ext/filter/tests/033.phpt
index 16ef53e6af..2a679d50c1 100644
--- a/ext/filter/tests/033.phpt
+++ b/ext/filter/tests/033.phpt
@@ -1,5 +1,5 @@
--TEST--
-Test all filters returned by input_filters_list()
+Test all filters returned by filter_list()
--FILE--
$d) $result[$k] = filter_data($d,input_name_to_filter($filter),array("regexp"=>'/^O.*/'));
+ foreach($data as $k=>$d) $result[$k] = filter_var($d,filter_id($filter),array("options"=>array("regexp"=>'/^O.*/')));
} else {
- foreach($data as $k=>$d) $result[$k] = filter_data($d,input_name_to_filter($filter),"test");
+ foreach($data as $k=>$d) $result[$k] = filter_var($d,filter_id($filter),array("options"=>"test"));
}
printf("%-20s",$filter);
printf("%-5s",$result[0]);
diff --git a/ext/filter/tests/034.phpt b/ext/filter/tests/034.phpt
index 7854f904ba..d6f4e846ff 100644
--- a/ext/filter/tests/034.phpt
+++ b/ext/filter/tests/034.phpt
@@ -19,7 +19,7 @@ $booleans = array(
);
foreach($booleans as $val=>$exp) {
- $res =filter_data($val, FILTER_VALIDATE_BOOLEAN);
+ $res =filter_var($val, FILTER_VALIDATE_BOOLEAN);
if ($res !== $exp) {
echo "$val failed,'$exp' expect, '$res' received.\n";
}
diff --git a/ext/filter/tests/035.phpt b/ext/filter/tests/035.phpt
index 2ec9f95e51..e85444322d 100644
--- a/ext/filter/tests/035.phpt
+++ b/ext/filter/tests/035.phpt
@@ -1,24 +1,23 @@
--TEST--
-GET/POST/REQUEST Test with input_get
+GET/POST/REQUEST Test with input_filter
--POST--
d=379
--GET--
ar[elm1]=1234&ar[elm2]=0660&a=0234
--FILE--
FILTER_FLAG_ALLOW_OCTAL));
+$ret = filter_input(INPUT_GET, 'a', FILTER_VALIDATE_INT, array('flags'=>FILTER_FLAG_ALLOW_OCTAL));
var_dump($ret);
-$ret = input_get(INPUT_GET, 'ar', FILTER_VALIDATE_INT, array('flags'=>FILTER_FLAG_ARRAY));
+$ret = filter_input(INPUT_GET, 'ar', FILTER_VALIDATE_INT, array('flags'=>FILTER_REQUIRE_ARRAY));
var_dump($ret);
-$ret = input_get(INPUT_GET, 'ar', FILTER_VALIDATE_INT, array('flags'=>FILTER_FLAG_ALLOW_OCTAL|FILTER_FLAG_ARRAY));
+$ret = filter_input(INPUT_GET, 'ar', FILTER_VALIDATE_INT, array('flags'=>FILTER_FLAG_ALLOW_OCTAL|FILTER_REQUIRE_ARRAY));
var_dump($ret);
-
?>
--EXPECT--
bool(false)
diff --git a/ext/filter/tests/036.phpt b/ext/filter/tests/036.phpt
index 09bb8c8ec3..954326661d 100644
--- a/ext/filter/tests/036.phpt
+++ b/ext/filter/tests/036.phpt
@@ -15,7 +15,7 @@ $args = array();
$args["test1"] = FILTER_VALIDATE_INT;
$args["test2"] = FILTER_VALIDATE_INT;
-$ret = input_get_args(INPUT_DATA, $args, $data);
+$ret = filter_var_array($data, $args);
var_dump($ret);
var_dump($data); //should be separated, i.e. not reference anymore. looks like we can't change this, or it'd change the original zval instead..
var_dump($var); //should be still string(1) "1"
diff --git a/ext/filter/tests/037.phpt b/ext/filter/tests/037.phpt
index 5e5dc26f84..9e91288cb8 100644
--- a/ext/filter/tests/037.phpt
+++ b/ext/filter/tests/037.phpt
@@ -5,18 +5,18 @@ a=1&b=2
--FILE--
'myfunc'));
echo "\n";
-echo input_get(INPUT_GET, 'b', FILTER_VALIDATE_INT);
+echo filter_input(INPUT_GET, 'b', FILTER_VALIDATE_INT);
echo "\n";
$data = "data";
-echo filter_data($data, FILTER_CALLBACK, 'myfunc');
+echo filter_var($data, FILTER_CALLBACK, array("options"=>'myfunc'));
echo "\n";
-$res = input_get_args(INPUT_GET, array(
+$res = filter_input_array(INPUT_GET, array(
'a' => array(
'filter' => FILTER_CALLBACK,
'options' => 'myfunc'
diff --git a/ext/filter/tests/bug7586.phpt b/ext/filter/tests/bug7586.phpt
index ff29b0cab2..d9ea723f4c 100644
--- a/ext/filter/tests/bug7586.phpt
+++ b/ext/filter/tests/bug7586.phpt
@@ -12,22 +12,22 @@ $data = array(
$args = array(
'product_id' => FILTER_SANITIZE_ENCODED,
- 'component' => array('flags' => FILTER_FLAG_ARRAY,
+ 'component' => array('flags' => FILTER_FORCE_ARRAY,
'options' => array("min_range"=>1, "max_range"=>10)
),
'versions' => array(
'filter' => FILTER_SANITIZE_ENCODED,
- 'flags' => FILTER_FLAG_SCALAR,
+ 'flags' => FILTER_REQUIRE_SCALAR,
),
'doesnotexist' => FILTER_VALIDATE_INT,
'testscalar' => FILTER_VALIDATE_INT,
'testarray' => array(
'filter' => FILTER_VALIDATE_INT,
- 'flags' => FILTER_FLAG_ARRAY,
+ 'flags' => FILTER_FORCE_ARRAY,
)
);
-$out = input_get_args(INPUT_DATA, $args, $data);
+$out = filter_var_array($data, $args);
var_dump($out);
?>
--EXPECTF--
diff --git a/ext/filter/tests/bug7715.phpt b/ext/filter/tests/bug7715.phpt
index 864a41b1fb..3372f756d6 100644
--- a/ext/filter/tests/bug7715.phpt
+++ b/ext/filter/tests/bug7715.phpt
@@ -13,7 +13,7 @@ $data = array(
'02.324'
);
foreach ($data as $val) {
- $res = filter_data($val, FILTER_VALIDATE_FLOAT);
+ $res = filter_var($val, FILTER_VALIDATE_FLOAT);
var_dump($res);
}
echo "\n";
diff --git a/ext/filter/tests/bug7733.phpt b/ext/filter/tests/bug7733.phpt
index 7b8c4634ca..07b4b0c722 100644
--- a/ext/filter/tests/bug7733.phpt
+++ b/ext/filter/tests/bug7733.phpt
@@ -9,7 +9,7 @@ $data = array(
'E-2',
'+E2'
);
-$out = filter_data($data, FILTER_VALIDATE_FLOAT);
+$out = filter_var($data, FILTER_VALIDATE_FLOAT, FILTER_REQUIRE_ARRAY);
var_dump($out);
?>
--EXPECTF--
diff --git a/ext/filter/tests/bug8315.phpt b/ext/filter/tests/bug8315.phpt
index e5c6bc1c37..35d9f8950a 100644
--- a/ext/filter/tests/bug8315.phpt
+++ b/ext/filter/tests/bug8315.phpt
@@ -4,9 +4,9 @@ bug 8315, NULL values halt the validation
--EXPECTF--
bool(false)
diff --git a/ext/filter/tests/filter_data.phpt b/ext/filter/tests/filter_data.phpt
index 2fdd823438..14e8545c9b 100644
--- a/ext/filter/tests/filter_data.phpt
+++ b/ext/filter/tests/filter_data.phpt
@@ -1,42 +1,42 @@
--TEST--
-Simple filter_data() tests
+Simple filter_var() tests
--FILE--
--EXPECT--