Skip to content

Declare ext/filter constants in stubs #8702

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 4, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 1 addition & 68 deletions ext/filter/filter.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,74 +162,7 @@ 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_COOKIE", PARSE_COOKIE, 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("FILTER_FLAG_NONE", FILTER_FLAG_NONE, 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_NULL_ON_FAILURE", FILTER_NULL_ON_FAILURE, 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_BOOL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOL", FILTER_VALIDATE_BOOL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_FLOAT", FILTER_VALIDATE_FLOAT, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("FILTER_VALIDATE_REGEXP", FILTER_VALIDATE_REGEXP, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_DOMAIN", FILTER_VALIDATE_DOMAIN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_URL", FILTER_VALIDATE_URL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_EMAIL", FILTER_VALIDATE_EMAIL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_IP", FILTER_VALIDATE_IP, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_MAC", FILTER_VALIDATE_MAC, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("FILTER_DEFAULT", FILTER_DEFAULT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_UNSAFE_RAW", FILTER_UNSAFE_RAW, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("FILTER_SANITIZE_STRING", FILTER_SANITIZE_STRING, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED);
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_STRIPPED", FILTER_SANITIZE_STRING, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED);
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_ENCODED", FILTER_SANITIZE_ENCODED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_SPECIAL_CHARS", FILTER_SANITIZE_SPECIAL_CHARS, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_FULL_SPECIAL_CHARS", FILTER_SANITIZE_FULL_SPECIAL_CHARS, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_EMAIL", FILTER_SANITIZE_EMAIL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_URL", FILTER_SANITIZE_URL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_NUMBER_INT", FILTER_SANITIZE_NUMBER_INT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_NUMBER_FLOAT", FILTER_SANITIZE_NUMBER_FLOAT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_ADD_SLASHES", FILTER_SANITIZE_ADD_SLASHES, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("FILTER_CALLBACK", FILTER_CALLBACK, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_OCTAL", FILTER_FLAG_ALLOW_OCTAL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_HEX", FILTER_FLAG_ALLOW_HEX, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_LOW", FILTER_FLAG_STRIP_LOW, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_HIGH", FILTER_FLAG_STRIP_HIGH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_BACKTICK", FILTER_FLAG_STRIP_BACKTICK, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_LOW", FILTER_FLAG_ENCODE_LOW, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_HIGH", FILTER_FLAG_ENCODE_HIGH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_AMP", FILTER_FLAG_ENCODE_AMP, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_ENCODE_QUOTES", FILTER_FLAG_NO_ENCODE_QUOTES, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_EMPTY_STRING_NULL", FILTER_FLAG_EMPTY_STRING_NULL, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_FRACTION", FILTER_FLAG_ALLOW_FRACTION, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_THOUSAND", FILTER_FLAG_ALLOW_THOUSAND, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_ALLOW_SCIENTIFIC", FILTER_FLAG_ALLOW_SCIENTIFIC, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("FILTER_FLAG_PATH_REQUIRED", FILTER_FLAG_PATH_REQUIRED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_QUERY_REQUIRED", FILTER_FLAG_QUERY_REQUIRED, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("FILTER_FLAG_IPV4", FILTER_FLAG_IPV4, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_IPV6", FILTER_FLAG_IPV6, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_RES_RANGE", FILTER_FLAG_NO_RES_RANGE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_PRIV_RANGE", FILTER_FLAG_NO_PRIV_RANGE, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("FILTER_FLAG_HOSTNAME", FILTER_FLAG_HOSTNAME, CONST_CS | CONST_PERSISTENT);

REGISTER_LONG_CONSTANT("FILTER_FLAG_EMAIL_UNICODE", FILTER_FLAG_EMAIL_UNICODE, CONST_CS | CONST_PERSISTENT);
register_filter_consts(module_number);

sapi_register_input_filter(php_sapi_filter, php_sapi_filter_init);

Expand Down
287 changes: 287 additions & 0 deletions ext/filter/filter.stub.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,293 @@

/** @generate-class-entries */

/**
* @var int
* @cname PARSE_POST
*/
const INPUT_POST = UNKNOWN;
/**
* @var int
* @cname PARSE_GET
*/
const INPUT_GET = UNKNOWN;
/**
* @var int
* @cname PARSE_COOKIE
*/
const INPUT_COOKIE = UNKNOWN;
/**
* @var int
* @cname PARSE_ENV
*/
const INPUT_ENV = UNKNOWN;
/**
* @var int
* @cname PARSE_SERVER
*/
const INPUT_SERVER = UNKNOWN;

/**
* @var int
* @cname FILTER_FLAG_NONE
*/
const FILTER_FLAG_NONE = UNKNOWN;

/**
* @var int
* @cname FILTER_REQUIRE_SCALAR
*/
const FILTER_REQUIRE_SCALAR = UNKNOWN;
/**
* @var int
* @cname FILTER_REQUIRE_ARRAY
*/
const FILTER_REQUIRE_ARRAY = UNKNOWN;
/**
* @var int
* @cname FILTER_FORCE_ARRAY
*/
const FILTER_FORCE_ARRAY = UNKNOWN;
/**
* @var int
* @cname FILTER_NULL_ON_FAILURE
*/
const FILTER_NULL_ON_FAILURE = UNKNOWN;

/**
* @var int
* @cname FILTER_VALIDATE_INT
*/
const FILTER_VALIDATE_INT = UNKNOWN;
/**
* @var int
* @cname FILTER_VALIDATE_BOOL
*/
const FILTER_VALIDATE_BOOLEAN = UNKNOWN;
/**
* @var int
* @cname FILTER_VALIDATE_BOOL
*/
const FILTER_VALIDATE_BOOL = UNKNOWN;
/**
* @var int
* @cname FILTER_VALIDATE_FLOAT
*/
const FILTER_VALIDATE_FLOAT = UNKNOWN;

/**
* @var int
* @cname FILTER_VALIDATE_REGEXP
*/
const FILTER_VALIDATE_REGEXP = UNKNOWN;
/**
* @var int
* @cname FILTER_VALIDATE_DOMAIN
*/
const FILTER_VALIDATE_DOMAIN = UNKNOWN;
/**
* @var int
* @cname FILTER_VALIDATE_URL
*/
const FILTER_VALIDATE_URL = UNKNOWN;
/**
* @var int
* @cname FILTER_VALIDATE_EMAIL
*/
const FILTER_VALIDATE_EMAIL = UNKNOWN;
/**
* @var int
* @cname FILTER_VALIDATE_IP
*/
const FILTER_VALIDATE_IP = UNKNOWN;
/**
* @var int
* @cname FILTER_VALIDATE_MAC
*/
const FILTER_VALIDATE_MAC = UNKNOWN;

/**
* @var int
* @cname FILTER_DEFAULT
*/
const FILTER_DEFAULT = UNKNOWN;
/**
* @var int
* @cname FILTER_UNSAFE_RAW
*/
const FILTER_UNSAFE_RAW = UNKNOWN;

/**
* @var int
* @cname FILTER_SANITIZE_STRING
* @deprecated
*/
const FILTER_SANITIZE_STRING = UNKNOWN;
/**
* @var int
* @cname FILTER_SANITIZE_STRING
* @deprecated
*/
const FILTER_SANITIZE_STRIPPED = UNKNOWN;
/**
* @var int
* @cname FILTER_SANITIZE_ENCODED
*/
const FILTER_SANITIZE_ENCODED = UNKNOWN;
/**
* @var int
* @cname FILTER_SANITIZE_SPECIAL_CHARS
*/
const FILTER_SANITIZE_SPECIAL_CHARS = UNKNOWN;
/**
* @var int
* @cname FILTER_SANITIZE_FULL_SPECIAL_CHARS
*/
const FILTER_SANITIZE_FULL_SPECIAL_CHARS = UNKNOWN;
/**
* @var int
* @cname FILTER_SANITIZE_EMAIL
*/
const FILTER_SANITIZE_EMAIL = UNKNOWN;
/**
* @var int
* @cname FILTER_SANITIZE_URL
*/
const FILTER_SANITIZE_URL = UNKNOWN;
/**
* @var int
* @cname FILTER_SANITIZE_NUMBER_INT
*/
const FILTER_SANITIZE_NUMBER_INT = UNKNOWN;
/**
* @var int
* @cname FILTER_SANITIZE_NUMBER_FLOAT
*/
const FILTER_SANITIZE_NUMBER_FLOAT = UNKNOWN;
/**
* @var int
* @cname FILTER_SANITIZE_ADD_SLASHES
*/
const FILTER_SANITIZE_ADD_SLASHES = UNKNOWN;

/**
* @var int
* @cname FILTER_CALLBACK
*/
const FILTER_CALLBACK = UNKNOWN;

/**
* @var int
* @cname FILTER_FLAG_ALLOW_OCTAL
*/
const FILTER_FLAG_ALLOW_OCTAL = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_ALLOW_HEX
*/
const FILTER_FLAG_ALLOW_HEX = UNKNOWN;

/**
* @var int
* @cname FILTER_FLAG_STRIP_LOW
*/
const FILTER_FLAG_STRIP_LOW = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_STRIP_HIGH
*/
const FILTER_FLAG_STRIP_HIGH = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_STRIP_BACKTICK
*/
const FILTER_FLAG_STRIP_BACKTICK = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_ENCODE_LOW
*/
const FILTER_FLAG_ENCODE_LOW = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_ENCODE_HIGH
*/
const FILTER_FLAG_ENCODE_HIGH = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_ENCODE_AMP
*/
const FILTER_FLAG_ENCODE_AMP = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_NO_ENCODE_QUOTES
*/
const FILTER_FLAG_NO_ENCODE_QUOTES = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_EMPTY_STRING_NULL
*/
const FILTER_FLAG_EMPTY_STRING_NULL = UNKNOWN;

/**
* @var int
* @cname FILTER_FLAG_ALLOW_FRACTION
*/
const FILTER_FLAG_ALLOW_FRACTION = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_ALLOW_THOUSAND
*/
const FILTER_FLAG_ALLOW_THOUSAND = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_ALLOW_SCIENTIFIC
*/
const FILTER_FLAG_ALLOW_SCIENTIFIC = UNKNOWN;

/**
* @var int
* @cname FILTER_FLAG_PATH_REQUIRED
*/
const FILTER_FLAG_PATH_REQUIRED = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_QUERY_REQUIRED
*/
const FILTER_FLAG_QUERY_REQUIRED = UNKNOWN;

/**
* @var int
* @cname FILTER_FLAG_IPV4
*/
const FILTER_FLAG_IPV4 = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_IPV6
*/
const FILTER_FLAG_IPV6 = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_NO_RES_RANGE
*/
const FILTER_FLAG_NO_RES_RANGE = UNKNOWN;
/**
* @var int
* @cname FILTER_FLAG_NO_PRIV_RANGE
*/
const FILTER_FLAG_NO_PRIV_RANGE = UNKNOWN;

/**
* @var int
* @cname FILTER_FLAG_HOSTNAME
*/
const FILTER_FLAG_HOSTNAME = UNKNOWN;

/**
* @var int
* @cname FILTER_FLAG_EMAIL_UNICODE
*/
const FILTER_FLAG_EMAIL_UNICODE = UNKNOWN;

function filter_has_var(int $input_type, string $var_name): bool {}

function filter_input(int $type, string $var_name, int $filter = FILTER_DEFAULT, array|int $options = 0): mixed {}
Expand Down
Loading