From 7257793fc4ec5c40c193ca12b5747a4f49c6f4fe Mon Sep 17 00:00:00 2001 From: Daniel Kesselberg Date: Fri, 10 Jul 2020 10:58:33 +0200 Subject: [PATCH 01/16] Hello psalm Signed-off-by: Daniel Kesselberg --- .github/workflows/static-code-analysis.yml | 22 + build/stubs/apcu.php | 659 ++ build/stubs/imagick.php | 6744 ++++++++++++++++++++ build/stubs/memcached.php | 1528 +++++ build/stubs/redis.php | 5262 +++++++++++++++ build/stubs/redis_cluster.php | 3563 +++++++++++ psalm.xml | 38 + 7 files changed, 17816 insertions(+) create mode 100644 .github/workflows/static-code-analysis.yml create mode 100644 build/stubs/apcu.php create mode 100644 build/stubs/imagick.php create mode 100644 build/stubs/memcached.php create mode 100644 build/stubs/redis.php create mode 100644 build/stubs/redis_cluster.php create mode 100644 psalm.xml diff --git a/.github/workflows/static-code-analysis.yml b/.github/workflows/static-code-analysis.yml new file mode 100644 index 0000000000..5633c3abc2 --- /dev/null +++ b/.github/workflows/static-code-analysis.yml @@ -0,0 +1,22 @@ +name: Static code analysis + +on: [pull_request] + +jobs: + static-code-analysis: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Checkout submodules + shell: bash + run: | + auth_header="$(git config --local --get http.https://github.com/.extraheader)" + git submodule sync --recursive + git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 + - name: Remove composer.json + shell: bash + run: rm composer.json composer.lock + - name: Psalm + uses: docker://jakzal/phpqa:php7.4-alpine + with: + args: psalm --monochrome --no-progress --output-format=text diff --git a/build/stubs/apcu.php b/build/stubs/apcu.php new file mode 100644 index 0000000000..ec096fb5e2 --- /dev/null +++ b/build/stubs/apcu.php @@ -0,0 +1,659 @@ + value pairs. + * The constant_name must follow the normal constant naming rules. Value must evaluate to a scalar value. + * @param bool $case_sensitive The default behaviour for constants is to be declared case-sensitive; + * i.e. CONSTANT and Constant represent different values. If this parameter evaluates to FALSE + * the constants will be declared as case-insensitive symbols. + * @return bool Returns TRUE on success or FALSE on failure. + */ +function apc_define_constants($key, array $constants, $case_sensitive = true){} + +/** + * Caches a variable in the data store, only if it's not already stored + * @link https://php.net/manual/en/function.apc-add.php + * @param string $key Store the variable using this name. Keys are cache-unique, + * so attempting to use apc_add() to store data with a key that already exists will not + * overwrite the existing data, and will instead return FALSE. (This is the only difference + * between apc_add() and apc_store().) + * @param mixed $var The variable to store + * @param int $ttl Time To Live; store var in the cache for ttl seconds. After the ttl has passed, + * the stored variable will be expunged from the cache (on the next request). If no ttl is supplied + * (or if the ttl is 0), the value will persist until it is removed from the cache manually, + * or otherwise fails to exist in the cache (clear, restart, etc.). + * @return bool + */ +function apc_add($key, $var, $ttl = 0){} + +/** + * Stores a file in the bytecode cache, bypassing all filters + * @link https://php.net/manual/en/function.apc-compile-file.php + * @param string|string[] $filename Full or relative path to a PHP file that will be + * compiled and stored in the bytecode cache. + * @param bool $atomic + * @return bool Returns TRUE on success or FALSE on failure. + */ +function apc_compile_file($filename, $atomic = true){} + +/** + * Loads a set of constants from the cache + * @link https://php.net/manual/en/function.apc-load-constants.php + * @param string $key The name of the constant set (that was stored + * with apc_define_constants()) to be retrieved. + * @param bool $case_sensitive The default behaviour for constants is to be declared case-sensitive; + * i.e. CONSTANT and Constant represent different values. If this parameter evaluates to FALSE + * the constants will be declared as case-insensitive symbols. + * @return bool Returns TRUE on success or FALSE on failure. + */ +function apc_load_constants($key, $case_sensitive = true){} + +/** + * Checks if APC key exists + * @link https://php.net/manual/en/function.apc-exists.php + * @param bool|string[] $keys A string, or an array of strings, that contain keys. + * @return bool|string[] Returns TRUE if the key exists, otherwise FALSE + * Or if an array was passed to keys, then an array is returned that + * contains all existing keys, or an empty array if none exist. + */ +function apc_exists($keys){} + +/** + * Deletes the given files from the opcode cache + * + * Accepts a string, array of strings, or APCIterator object. + * Returns True/False, or for an Array an Array of failed files. + * + * @link https://php.net/manual/en/function.apc-delete-file.php + * @param string|string[]|APCIterator $keys + * @return bool|string[] + */ +function apc_delete_file($keys){} + +/** + * Increase a stored number + * @link https://php.net/manual/en/function.apc-inc.php + * @param string $key The key of the value being increased. + * @param int $step The step, or value to increase. + * @param bool $success Optionally pass the success or fail boolean value to this referenced variable. + * @return int|bool Returns the current value of key's value on success, or FALSE on failure. + */ +function apc_inc($key, $step = 1, &$success = null){} + +/** + * Decrease a stored number + * @link https://php.net/manual/en/function.apc-dec.php + * @param string $key The key of the value being decreased. + * @param int $step The step, or value to decrease. + * @param bool $success Optionally pass the success or fail boolean value to this referenced variable. + * @return int|bool Returns the current value of key's value on success, or FALSE on failure. + */ +function apc_dec($key, $step = 1, &$success = null){} + +/** + * @link https://php.net/manual/en/function.apc-cas.php + * @param string $key + * @param int $old + * @param int $new + * @return bool + */ +function apc_cas($key, $old, $new){} + +/** + * Returns a binary dump of the given files and user variables from the APC cache + * + * A NULL for files or user_vars signals a dump of every entry, while array() will dump nothing. + * + * @link https://php.net/manual/en/function.apc-bin-dump.php + * @param string[]|null $files The files. Passing in NULL signals a dump of every entry, while passing in array() will dump nothing. + * @param string[]|null $user_vars The user vars. Passing in NULL signals a dump of every entry, while passing in array() will dump nothing. + * @return string|bool|null Returns a binary dump of the given files and user variables from the APC cache, FALSE if APC is not enabled, or NULL if an unknown error is encountered. + */ +function apc_bin_dump($files = null, $user_vars = null){} + +/** + * Output a binary dump of the given files and user variables from the APC cache to the named file + * @link https://php.net/manual/en/function.apc-bin-dumpfile.php + * @param string[]|null $files The file names being dumped. + * @param string[]|null $user_vars The user variables being dumped. + * @param string $filename The filename where the dump is being saved. + * @param int $flags Flags passed to the filename stream. See the file_put_contents() documentation for details. + * @param resource $context The context passed to the filename stream. See the file_put_contents() documentation for details. + * @return int|bool The number of bytes written to the file, otherwise FALSE if APC + * is not enabled, filename is an invalid file name, filename can't be opened, + * the file dump can't be completed (e.g., the hard drive is out of disk space), + * or an unknown error was encountered. + */ +function apc_bin_dumpfile($files, $user_vars, $filename, $flags = 0, $context = null){} + +/** + * Load the given binary dump into the APC file/user cache + * @link https://php.net/manual/en/function.apc-bin-load.php + * @param string $data The binary dump being loaded, likely from apc_bin_dump(). + * @param int $flags Either APC_BIN_VERIFY_CRC32, APC_BIN_VERIFY_MD5, or both. + * @return bool Returns TRUE if the binary dump data was loaded with success, otherwise FALSE is returned. + * FALSE is returned if APC is not enabled, or if the data is not a valid APC binary dump (e.g., unexpected size). + */ +function apc_bin_load($data, $flags = 0){} + +/** + * Load the given binary dump from the named file into the APC file/user cache + * @link https://php.net/manual/en/function.apc-bin-loadfile.php + * @param string $filename The file name containing the dump, likely from apc_bin_dumpfile(). + * @param resource $context The files context. + * @param int $flags Either APC_BIN_VERIFY_CRC32, APC_BIN_VERIFY_MD5, or both. + * @return bool Returns TRUE on success, otherwise FALSE Reasons it may return FALSE include APC + * is not enabled, filename is an invalid file name or empty, filename can't be opened, + * the file dump can't be completed, or if the data is not a valid APC binary dump (e.g., unexpected size). + */ +function apc_bin_loadfile($filename, $context = null, $flags = 0){} + +/** + * The APCIterator class + * + * The APCIterator class makes it easier to iterate over large APC caches. + * This is helpful as it allows iterating over large caches in steps, while grabbing a defined number + * of entries per lock instance, so it frees the cache locks for other activities rather than hold up + * the entire cache to grab 100 (the default) entries. Also, using regular expression matching is more + * efficient as it's been moved to the C level. + * + * @link https://php.net/manual/en/class.apciterator.php + */ +class APCIterator implements Iterator +{ + /** + * Constructs an APCIterator iterator object + * @link https://php.net/manual/en/apciterator.construct.php + * @param string $cache The cache type, which will be 'user' or 'file'. + * @param string|string[]|null $search A PCRE regular expression that matches against APC key names, + * either as a string for a single regular expression, or as an array of regular expressions. + * Or, optionally pass in NULL to skip the search. + * @param int $format The desired format, as configured with one ore more of the APC_ITER_* constants. + * @param int $chunk_size The chunk size. Must be a value greater than 0. The default value is 100. + * @param int $list The type to list. Either pass in APC_LIST_ACTIVE or APC_LIST_INACTIVE. + */ + public function __construct($cache, $search = null, $format = APC_ITER_ALL, $chunk_size = 100, $list = APC_LIST_ACTIVE){} + + /** + * Rewinds back the iterator to the first element + * @link https://php.net/manual/en/apciterator.rewind.php + */ + public function rewind(){} + + /** + * Checks if the current iterator position is valid + * @link https://php.net/manual/en/apciterator.valid.php + * @return bool Returns TRUE if the current iterator position is valid, otherwise FALSE. + */ + public function valid(){} + + /** + * Gets the current item from the APCIterator stack + * @link https://php.net/manual/en/apciterator.current.php + * @return mixed Returns the current item on success, or FALSE if no more items or exist, or on failure. + */ + public function current(){} + + /** + * Gets the current iterator key + * @link https://php.net/manual/en/apciterator.key.php + * @return string|int|bool Returns the key on success, or FALSE upon failure. + */ + public function key(){} + + /** + * Moves the iterator pointer to the next element + * @link https://php.net/manual/en/apciterator.next.php + * @return bool Returns TRUE on success or FALSE on failure. + */ + public function next(){} + + /** + * Gets the total number of cache hits + * @link https://php.net/manual/en/apciterator.gettotalhits.php + * @return int|bool The number of hits on success, or FALSE on failure. + */ + public function getTotalHits(){} + + /** + * Gets the total cache size + * @link https://php.net/manual/en/apciterator.gettotalsize.php + * @return int|bool The total cache size. + */ + public function getTotalSize(){} + + /** + * Get the total count + * @link https://php.net/manual/en/apciterator.gettotalcount.php + * @return int|bool The total count. + */ + public function getTotalCount(){} +} + +/** + * Stubs for APCu 5.0.0 + */ + +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_LIST_ACTIVE', 1); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_LIST_DELETED', 2); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_TYPE', 1); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_KEY', 2); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_FILENAME', 4); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_DEVICE', 8); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_INODE', 16); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_VALUE', 32); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_MD5', 64); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_NUM_HITS', 128); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_MTIME', 256); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_CTIME', 512); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_DTIME', 1024); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_ATIME', 2048); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_REFCOUNT', 4096); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_MEM_SIZE', 8192); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_TTL', 16384); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_NONE', 0); +/** + * @link https://php.net/manual/en/apcu.constants.php + */ +define('APC_ITER_ALL', -1); + + +/** + * Clears the APCu cache + * @link https://php.net/manual/en/function.apcu-clear-cache.php + * + * @return bool Returns TRUE always. + */ +function apcu_clear_cache(){} + +/** + * Retrieves APCu Shared Memory Allocation information + * @link https://php.net/manual/en/function.apcu-sma-info.php + * @param bool $limited When set to FALSE (default) apcu_sma_info() will + * return a detailed information about each segment. + * + * @return array|false Array of Shared Memory Allocation data; FALSE on failure. + */ +function apcu_sma_info($limited = false){} + +/** + * Cache a variable in the data store + * @link https://php.net/manual/en/function.apcu-store.php + * @param string|array $key String: Store the variable using this name. Keys are cache-unique, + * so storing a second value with the same key will overwrite the original value. + * Array: Names in key, variables in value. + * @param mixed $var [optional] The variable to store + * @param int $ttl [optional] Time To Live; store var in the cache for ttl seconds. After the ttl has passed, + * the stored variable will be expunged from the cache (on the next request). If no ttl is supplied + * (or if the ttl is 0), the value will persist until it is removed from the cache manually, + * or otherwise fails to exist in the cache (clear, restart, etc.). + * @return bool|array Returns TRUE on success or FALSE on failure | array with error keys. + */ +function apcu_store($key, $var, $ttl = 0){} + +/** + * Fetch a stored variable from the cache + * @link https://php.net/manual/en/function.apcu-fetch.php + * @param string|string[] $key The key used to store the value (with apcu_store()). + * If an array is passed then each element is fetched and returned. + * @param bool $success Set to TRUE in success and FALSE in failure. + * @return mixed The stored variable or array of variables on success; FALSE on failure. + */ +function apcu_fetch($key, &$success = null){} + +/** + * Removes a stored variable from the cache + * @link https://php.net/manual/en/function.apcu-delete.php + * @param string|string[]|APCuIterator $key The key used to store the value (with apcu_store()). + * @return bool|string[] Returns TRUE on success or FALSE on failure. For array of keys returns list of failed keys. + */ +function apcu_delete($key){} + +/** + * Caches a variable in the data store, only if it's not already stored + * @link https://php.net/manual/en/function.apcu-add.php + * @param string|array $key Store the variable using this name. Keys are cache-unique, + * so attempting to use apcu_add() to store data with a key that already exists will not + * overwrite the existing data, and will instead return FALSE. (This is the only difference + * between apcu_add() and apcu_store().) + * Array: Names in key, variables in value. + * @param mixed $var The variable to store + * @param int $ttl Time To Live; store var in the cache for ttl seconds. After the ttl has passed, + * the stored variable will be expunged from the cache (on the next request). If no ttl is supplied + * (or if the ttl is 0), the value will persist until it is removed from the cache manually, + * or otherwise fails to exist in the cache (clear, restart, etc.). + * @return bool|array Returns TRUE if something has effectively been added into the cache, FALSE otherwise. + * Second syntax returns array with error keys. + */ +function apcu_add($key, $var, $ttl = 0){} + +/** + * Checks if APCu key exists + * @link https://php.net/manual/en/function.apcu-exists.php + * @param string|string[] $keys A string, or an array of strings, that contain keys. + * @return bool|string[] Returns TRUE if the key exists, otherwise FALSE + * Or if an array was passed to keys, then an array is returned that + * contains all existing keys, or an empty array if none exist. + */ +function apcu_exists($keys){} + +/** + * Increase a stored number + * @link https://php.net/manual/en/function.apcu-inc.php + * @param string $key The key of the value being increased. + * @param int $step The step, or value to increase. + * @param int $ttl Time To Live; store var in the cache for ttl seconds. After the ttl has passed, + * the stored variable will be expunged from the cache (on the next request). If no ttl is supplied + * (or if the ttl is 0), the value will persist until it is removed from the cache manually, + * or otherwise fails to exist in the cache (clear, restart, etc.). + * @param bool $success Optionally pass the success or fail boolean value to this referenced variable. + * @return int|false Returns the current value of key's value on success, or FALSE on failure. + */ +function apcu_inc($key, $step = 1, &$success = null, $ttl = 0){} + +/** + * Decrease a stored number + * @link https://php.net/manual/en/function.apcu-dec.php + * @param string $key The key of the value being decreased. + * @param int $step The step, or value to decrease. + * @param int $ttl Time To Live; store var in the cache for ttl seconds. After the ttl has passed, + * the stored variable will be expunged from the cache (on the next request). If no ttl is supplied + * (or if the ttl is 0), the value will persist until it is removed from the cache manually, + * or otherwise fails to exist in the cache (clear, restart, etc.). + * @param bool $success Optionally pass the success or fail boolean value to this referenced variable. + * @return int|false Returns the current value of key's value on success, or FALSE on failure. + */ +function apcu_dec($key, $step = 1, &$success = null, $ttl = 0){} + +/** + * Updates an old value with a new value + * + * apcu_cas() updates an already existing integer value if the old parameter matches the currently stored value + * with the value of the new parameter. + * + * @link https://php.net/manual/en/function.apcu-cas.php + * @param string $key The key of the value being updated. + * @param int $old The old value (the value currently stored). + * @param int $new The new value to update to. + * @return bool Returns TRUE on success or FALSE on failure. + */ +function apcu_cas($key, $old, $new){} + +/** + * Atomically fetch or generate a cache entry + * + *

Atomically attempts to find key in the cache, if it cannot be found generator is called, + * passing key as the only argument. The return value of the call is then cached with the optionally + * specified ttl, and returned. + *

+ * + *

Note: When control enters apcu_entry() the lock for the cache is acquired exclusively, it is released when + * control leaves apcu_entry(): In effect, this turns the body of generator into a critical section, + * disallowing two processes from executing the same code paths concurrently. + * In addition, it prohibits the concurrent execution of any other APCu functions, + * since they will acquire the same lock. + *

+ * + * @link https://php.net/manual/en/function.apcu-entry.php + * + * @param string $key Identity of cache entry + * @param callable $generator A callable that accepts key as the only argument and returns the value to cache. + *

Warning + * The only APCu function that can be called safely by generator is apcu_entry().

+ * @param int $ttl [optional] Time To Live; store var in the cache for ttl seconds. + * After the ttl has passed, the stored variable will be expunged from the cache (on the next request). + * If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, + * or otherwise fails to exist in the cache (clear, restart, etc.). + * @return mixed Returns the cached value + * @since APCu 5.1.0 + */ +function apcu_entry($key, callable $generator, $ttl = 0){} + +/** + * Retrieves cached information from APCu's data store + * + * @link https://php.net/manual/en/function.apcu-cache-info.php + * + * @param bool $limited If limited is TRUE, the return value will exclude the individual list of cache entries. + * This is useful when trying to optimize calls for statistics gathering. + * @return array|false Array of cached data (and meta-data) or FALSE on failure + */ +function apcu_cache_info($limited = false){} + +/** + * Whether APCu is usable in the current environment + * + * @link https://www.php.net/manual/en/function.apcu-enabled.php + * + * @return bool + */ +function apcu_enabled(){} + +/** + * @param string $key + */ +function apcu_key_info($key){} + +/** + * The APCuIterator class + * + * The APCuIterator class makes it easier to iterate over large APCu caches. + * This is helpful as it allows iterating over large caches in steps, while grabbing a defined number + * of entries per lock instance, so it frees the cache locks for other activities rather than hold up + * the entire cache to grab 100 (the default) entries. Also, using regular expression matching is more + * efficient as it's been moved to the C level. + * + * @link https://php.net/manual/en/class.apcuiterator.php + * @since APCu 5.0.0 + */ +class APCuIterator implements Iterator +{ + /** + * Constructs an APCuIterator iterator object + * @link https://php.net/manual/en/apcuiterator.construct.php + * @param string|string[]|null $search A PCRE regular expression that matches against APCu key names, + * either as a string for a single regular expression, or as an array of regular expressions. + * Or, optionally pass in NULL to skip the search. + * @param int $format The desired format, as configured with one ore more of the APC_ITER_* constants. + * @param int $chunk_size The chunk size. Must be a value greater than 0. The default value is 100. + * @param int $list The type to list. Either pass in APC_LIST_ACTIVE or APC_LIST_DELETED. + */ + public function __construct($search = null, $format = APC_ITER_ALL, $chunk_size = 100, $list = APC_LIST_ACTIVE){} + + /** + * Rewinds back the iterator to the first element + * @link https://php.net/manual/en/apcuiterator.rewind.php + */ + public function rewind(){} + + /** + * Checks if the current iterator position is valid + * @link https://php.net/manual/en/apcuiterator.valid.php + * @return bool Returns TRUE if the current iterator position is valid, otherwise FALSE. + */ + public function valid(){} + + /** + * Gets the current item from the APCuIterator stack + * @link https://php.net/manual/en/apcuiterator.current.php + * @return mixed Returns the current item on success, or FALSE if no more items or exist, or on failure. + */ + public function current(){} + + /** + * Gets the current iterator key + * @link https://php.net/manual/en/apcuiterator.key.php + * @return string|int|false Returns the key on success, or FALSE upon failure. + */ + public function key(){} + + /** + * Moves the iterator pointer to the next element + * @link https://php.net/manual/en/apcuiterator.next.php + * @return bool Returns TRUE on success or FALSE on failure. + */ + public function next(){} + + /** + * Gets the total number of cache hits + * @link https://php.net/manual/en/apcuiterator.gettotalhits.php + * @return int|false The number of hits on success, or FALSE on failure. + */ + public function getTotalHits(){} + + /** + * Gets the total cache size + * @link https://php.net/manual/en/apcuiterator.gettotalsize.php + * @return int|false The total cache size. + */ + public function getTotalSize(){} + + /** + * Get the total count + * @link https://php.net/manual/en/apcuiterator.gettotalcount.php + * @return int|false The total count. + */ + public function getTotalCount(){} +} diff --git a/build/stubs/imagick.php b/build/stubs/imagick.php new file mode 100644 index 0000000000..0c48973622 --- /dev/null +++ b/build/stubs/imagick.php @@ -0,0 +1,6744 @@ +Makes an exact copy of the Imagick object + * @link https://php.net/manual/en/class.imagick.php + */ +class Imagick implements Iterator, Countable { + const COLOR_BLACK = 11; + const COLOR_BLUE = 12; + const COLOR_CYAN = 13; + const COLOR_GREEN = 14; + const COLOR_RED = 15; + const COLOR_YELLOW = 16; + const COLOR_MAGENTA = 17; + const COLOR_OPACITY = 18; + const COLOR_ALPHA = 19; + const COLOR_FUZZ = 20; + const IMAGICK_EXTNUM = 30403; + const IMAGICK_EXTVER = "3.4.3"; + const QUANTUM_RANGE = 65535; + const USE_ZEND_MM = 0; + const COMPOSITE_DEFAULT = 40; + const COMPOSITE_UNDEFINED = 0; + const COMPOSITE_NO = 1; + const COMPOSITE_ADD = 2; + const COMPOSITE_ATOP = 3; + const COMPOSITE_BLEND = 4; + const COMPOSITE_BUMPMAP = 5; + const COMPOSITE_CLEAR = 7; + const COMPOSITE_COLORBURN = 8; + const COMPOSITE_COLORDODGE = 9; + const COMPOSITE_COLORIZE = 10; + const COMPOSITE_COPYBLACK = 11; + const COMPOSITE_COPYBLUE = 12; + const COMPOSITE_COPY = 13; + const COMPOSITE_COPYCYAN = 14; + const COMPOSITE_COPYGREEN = 15; + const COMPOSITE_COPYMAGENTA = 16; + const COMPOSITE_COPYOPACITY = 17; + const COMPOSITE_COPYRED = 18; + const COMPOSITE_COPYYELLOW = 19; + const COMPOSITE_DARKEN = 20; + const COMPOSITE_DSTATOP = 21; + const COMPOSITE_DST = 22; + const COMPOSITE_DSTIN = 23; + const COMPOSITE_DSTOUT = 24; + const COMPOSITE_DSTOVER = 25; + const COMPOSITE_DIFFERENCE = 26; + const COMPOSITE_DISPLACE = 27; + const COMPOSITE_DISSOLVE = 28; + const COMPOSITE_EXCLUSION = 29; + const COMPOSITE_HARDLIGHT = 30; + const COMPOSITE_HUE = 31; + const COMPOSITE_IN = 32; + const COMPOSITE_LIGHTEN = 33; + const COMPOSITE_LUMINIZE = 35; + const COMPOSITE_MINUS = 36; + const COMPOSITE_MODULATE = 37; + const COMPOSITE_MULTIPLY = 38; + const COMPOSITE_OUT = 39; + const COMPOSITE_OVER = 40; + const COMPOSITE_OVERLAY = 41; + const COMPOSITE_PLUS = 42; + const COMPOSITE_REPLACE = 43; + const COMPOSITE_SATURATE = 44; + const COMPOSITE_SCREEN = 45; + const COMPOSITE_SOFTLIGHT = 46; + const COMPOSITE_SRCATOP = 47; + const COMPOSITE_SRC = 48; + const COMPOSITE_SRCIN = 49; + const COMPOSITE_SRCOUT = 50; + const COMPOSITE_SRCOVER = 51; + const COMPOSITE_SUBTRACT = 52; + const COMPOSITE_THRESHOLD = 53; + const COMPOSITE_XOR = 54; + const COMPOSITE_CHANGEMASK = 6; + const COMPOSITE_LINEARLIGHT = 34; + const COMPOSITE_DIVIDE = 55; + const COMPOSITE_DISTORT = 56; + const COMPOSITE_BLUR = 57; + const COMPOSITE_PEGTOPLIGHT = 58; + const COMPOSITE_VIVIDLIGHT = 59; + const COMPOSITE_PINLIGHT = 60; + const COMPOSITE_LINEARDODGE = 61; + const COMPOSITE_LINEARBURN = 62; + const COMPOSITE_MATHEMATICS = 63; + const COMPOSITE_MODULUSADD = 2; + const COMPOSITE_MODULUSSUBTRACT = 52; + const COMPOSITE_MINUSDST = 36; + const COMPOSITE_DIVIDEDST = 55; + const COMPOSITE_DIVIDESRC = 64; + const COMPOSITE_MINUSSRC = 65; + const COMPOSITE_DARKENINTENSITY = 66; + const COMPOSITE_LIGHTENINTENSITY = 67; + const MONTAGEMODE_FRAME = 1; + const MONTAGEMODE_UNFRAME = 2; + const MONTAGEMODE_CONCATENATE = 3; + const STYLE_NORMAL = 1; + const STYLE_ITALIC = 2; + const STYLE_OBLIQUE = 3; + const STYLE_ANY = 4; + const FILTER_UNDEFINED = 0; + const FILTER_POINT = 1; + const FILTER_BOX = 2; + const FILTER_TRIANGLE = 3; + const FILTER_HERMITE = 4; + const FILTER_HANNING = 5; + const FILTER_HAMMING = 6; + const FILTER_BLACKMAN = 7; + const FILTER_GAUSSIAN = 8; + const FILTER_QUADRATIC = 9; + const FILTER_CUBIC = 10; + const FILTER_CATROM = 11; + const FILTER_MITCHELL = 12; + const FILTER_LANCZOS = 22; + const FILTER_BESSEL = 13; + const FILTER_SINC = 14; + const FILTER_KAISER = 16; + const FILTER_WELSH = 17; + const FILTER_PARZEN = 18; + const FILTER_LAGRANGE = 21; + const FILTER_SENTINEL = 31; + const FILTER_BOHMAN = 19; + const FILTER_BARTLETT = 20; + const FILTER_JINC = 13; + const FILTER_SINCFAST = 15; + const FILTER_ROBIDOUX = 26; + const FILTER_LANCZOSSHARP = 23; + const FILTER_LANCZOS2 = 24; + const FILTER_LANCZOS2SHARP = 25; + const FILTER_ROBIDOUXSHARP = 27; + const FILTER_COSINE = 28; + const FILTER_SPLINE = 29; + const FILTER_LANCZOSRADIUS = 30; + const IMGTYPE_UNDEFINED = 0; + const IMGTYPE_BILEVEL = 1; + const IMGTYPE_GRAYSCALE = 2; + const IMGTYPE_GRAYSCALEMATTE = 3; + const IMGTYPE_PALETTE = 4; + const IMGTYPE_PALETTEMATTE = 5; + const IMGTYPE_TRUECOLOR = 6; + const IMGTYPE_TRUECOLORMATTE = 7; + const IMGTYPE_COLORSEPARATION = 8; + const IMGTYPE_COLORSEPARATIONMATTE = 9; + const IMGTYPE_OPTIMIZE = 10; + const IMGTYPE_PALETTEBILEVELMATTE = 11; + const RESOLUTION_UNDEFINED = 0; + const RESOLUTION_PIXELSPERINCH = 1; + const RESOLUTION_PIXELSPERCENTIMETER = 2; + const COMPRESSION_UNDEFINED = 0; + const COMPRESSION_NO = 1; + const COMPRESSION_BZIP = 2; + const COMPRESSION_FAX = 6; + const COMPRESSION_GROUP4 = 7; + const COMPRESSION_JPEG = 8; + const COMPRESSION_JPEG2000 = 9; + const COMPRESSION_LOSSLESSJPEG = 10; + const COMPRESSION_LZW = 11; + const COMPRESSION_RLE = 12; + const COMPRESSION_ZIP = 13; + const COMPRESSION_DXT1 = 3; + const COMPRESSION_DXT3 = 4; + const COMPRESSION_DXT5 = 5; + const COMPRESSION_ZIPS = 14; + const COMPRESSION_PIZ = 15; + const COMPRESSION_PXR24 = 16; + const COMPRESSION_B44 = 17; + const COMPRESSION_B44A = 18; + const COMPRESSION_LZMA = 19; + const COMPRESSION_JBIG1 = 20; + const COMPRESSION_JBIG2 = 21; + const PAINT_POINT = 1; + const PAINT_REPLACE = 2; + const PAINT_FLOODFILL = 3; + const PAINT_FILLTOBORDER = 4; + const PAINT_RESET = 5; + const GRAVITY_NORTHWEST = 1; + const GRAVITY_NORTH = 2; + const GRAVITY_NORTHEAST = 3; + const GRAVITY_WEST = 4; + const GRAVITY_CENTER = 5; + const GRAVITY_EAST = 6; + const GRAVITY_SOUTHWEST = 7; + const GRAVITY_SOUTH = 8; + const GRAVITY_SOUTHEAST = 9; + const GRAVITY_FORGET = 0; + const GRAVITY_STATIC = 10; + const STRETCH_NORMAL = 1; + const STRETCH_ULTRACONDENSED = 2; + const STRETCH_EXTRACONDENSED = 3; + const STRETCH_CONDENSED = 4; + const STRETCH_SEMICONDENSED = 5; + const STRETCH_SEMIEXPANDED = 6; + const STRETCH_EXPANDED = 7; + const STRETCH_EXTRAEXPANDED = 8; + const STRETCH_ULTRAEXPANDED = 9; + const STRETCH_ANY = 10; + const ALIGN_UNDEFINED = 0; + const ALIGN_LEFT = 1; + const ALIGN_CENTER = 2; + const ALIGN_RIGHT = 3; + const DECORATION_NO = 1; + const DECORATION_UNDERLINE = 2; + const DECORATION_OVERLINE = 3; + const DECORATION_LINETROUGH = 4; + const DECORATION_LINETHROUGH = 4; + const NOISE_UNIFORM = 1; + const NOISE_GAUSSIAN = 2; + const NOISE_MULTIPLICATIVEGAUSSIAN = 3; + const NOISE_IMPULSE = 4; + const NOISE_LAPLACIAN = 5; + const NOISE_POISSON = 6; + const NOISE_RANDOM = 7; + const CHANNEL_UNDEFINED = 0; + const CHANNEL_RED = 1; + const CHANNEL_GRAY = 1; + const CHANNEL_CYAN = 1; + const CHANNEL_GREEN = 2; + const CHANNEL_MAGENTA = 2; + const CHANNEL_BLUE = 4; + const CHANNEL_YELLOW = 4; + const CHANNEL_ALPHA = 8; + const CHANNEL_OPACITY = 8; + const CHANNEL_MATTE = 8; + const CHANNEL_BLACK = 32; + const CHANNEL_INDEX = 32; + const CHANNEL_ALL = 134217727; + const CHANNEL_DEFAULT = 134217719; + const CHANNEL_RGBA = 15; + const CHANNEL_TRUEALPHA = 64; + const CHANNEL_RGBS = 128; + const CHANNEL_GRAY_CHANNELS = 128; + const CHANNEL_SYNC = 256; + const CHANNEL_COMPOSITES = 47; + const METRIC_UNDEFINED = 0; + const METRIC_ABSOLUTEERRORMETRIC = 1; + const METRIC_MEANABSOLUTEERROR = 2; + const METRIC_MEANERRORPERPIXELMETRIC = 3; + const METRIC_MEANSQUAREERROR = 4; + const METRIC_PEAKABSOLUTEERROR = 5; + const METRIC_PEAKSIGNALTONOISERATIO = 6; + const METRIC_ROOTMEANSQUAREDERROR = 7; + const METRIC_NORMALIZEDCROSSCORRELATIONERRORMETRIC = 8; + const METRIC_FUZZERROR = 9; + const PIXEL_CHAR = 1; + const PIXEL_DOUBLE = 2; + const PIXEL_FLOAT = 3; + const PIXEL_INTEGER = 4; + const PIXEL_LONG = 5; + const PIXEL_QUANTUM = 6; + const PIXEL_SHORT = 7; + const EVALUATE_UNDEFINED = 0; + const EVALUATE_ADD = 1; + const EVALUATE_AND = 2; + const EVALUATE_DIVIDE = 3; + const EVALUATE_LEFTSHIFT = 4; + const EVALUATE_MAX = 5; + const EVALUATE_MIN = 6; + const EVALUATE_MULTIPLY = 7; + const EVALUATE_OR = 8; + const EVALUATE_RIGHTSHIFT = 9; + const EVALUATE_SET = 10; + const EVALUATE_SUBTRACT = 11; + const EVALUATE_XOR = 12; + const EVALUATE_POW = 13; + const EVALUATE_LOG = 14; + const EVALUATE_THRESHOLD = 15; + const EVALUATE_THRESHOLDBLACK = 16; + const EVALUATE_THRESHOLDWHITE = 17; + const EVALUATE_GAUSSIANNOISE = 18; + const EVALUATE_IMPULSENOISE = 19; + const EVALUATE_LAPLACIANNOISE = 20; + const EVALUATE_MULTIPLICATIVENOISE = 21; + const EVALUATE_POISSONNOISE = 22; + const EVALUATE_UNIFORMNOISE = 23; + const EVALUATE_COSINE = 24; + const EVALUATE_SINE = 25; + const EVALUATE_ADDMODULUS = 26; + const EVALUATE_MEAN = 27; + const EVALUATE_ABS = 28; + const EVALUATE_EXPONENTIAL = 29; + const EVALUATE_MEDIAN = 30; + const EVALUATE_SUM = 31; + const COLORSPACE_UNDEFINED = 0; + const COLORSPACE_RGB = 1; + const COLORSPACE_GRAY = 2; + const COLORSPACE_TRANSPARENT = 3; + const COLORSPACE_OHTA = 4; + const COLORSPACE_LAB = 5; + const COLORSPACE_XYZ = 6; + const COLORSPACE_YCBCR = 7; + const COLORSPACE_YCC = 8; + const COLORSPACE_YIQ = 9; + const COLORSPACE_YPBPR = 10; + const COLORSPACE_YUV = 11; + const COLORSPACE_CMYK = 12; + const COLORSPACE_SRGB = 13; + const COLORSPACE_HSB = 14; + const COLORSPACE_HSL = 15; + const COLORSPACE_HWB = 16; + const COLORSPACE_REC601LUMA = 17; + const COLORSPACE_REC709LUMA = 19; + const COLORSPACE_LOG = 21; + const COLORSPACE_CMY = 22; + const COLORSPACE_LUV = 23; + const COLORSPACE_HCL = 24; + const COLORSPACE_LCH = 25; + const COLORSPACE_LMS = 26; + const COLORSPACE_LCHAB = 27; + const COLORSPACE_LCHUV = 28; + const COLORSPACE_SCRGB = 29; + const COLORSPACE_HSI = 30; + const COLORSPACE_HSV = 31; + const COLORSPACE_HCLP = 32; + const COLORSPACE_YDBDR = 33; + const COLORSPACE_REC601YCBCR = 18; + const COLORSPACE_REC709YCBCR = 20; + const VIRTUALPIXELMETHOD_UNDEFINED = 0; + const VIRTUALPIXELMETHOD_BACKGROUND = 1; + const VIRTUALPIXELMETHOD_CONSTANT = 2; + const VIRTUALPIXELMETHOD_EDGE = 4; + const VIRTUALPIXELMETHOD_MIRROR = 5; + const VIRTUALPIXELMETHOD_TILE = 7; + const VIRTUALPIXELMETHOD_TRANSPARENT = 8; + const VIRTUALPIXELMETHOD_MASK = 9; + const VIRTUALPIXELMETHOD_BLACK = 10; + const VIRTUALPIXELMETHOD_GRAY = 11; + const VIRTUALPIXELMETHOD_WHITE = 12; + const VIRTUALPIXELMETHOD_HORIZONTALTILE = 13; + const VIRTUALPIXELMETHOD_VERTICALTILE = 14; + const VIRTUALPIXELMETHOD_HORIZONTALTILEEDGE = 15; + const VIRTUALPIXELMETHOD_VERTICALTILEEDGE = 16; + const VIRTUALPIXELMETHOD_CHECKERTILE = 17; + const PREVIEW_UNDEFINED = 0; + const PREVIEW_ROTATE = 1; + const PREVIEW_SHEAR = 2; + const PREVIEW_ROLL = 3; + const PREVIEW_HUE = 4; + const PREVIEW_SATURATION = 5; + const PREVIEW_BRIGHTNESS = 6; + const PREVIEW_GAMMA = 7; + const PREVIEW_SPIFF = 8; + const PREVIEW_DULL = 9; + const PREVIEW_GRAYSCALE = 10; + const PREVIEW_QUANTIZE = 11; + const PREVIEW_DESPECKLE = 12; + const PREVIEW_REDUCENOISE = 13; + const PREVIEW_ADDNOISE = 14; + const PREVIEW_SHARPEN = 15; + const PREVIEW_BLUR = 16; + const PREVIEW_THRESHOLD = 17; + const PREVIEW_EDGEDETECT = 18; + const PREVIEW_SPREAD = 19; + const PREVIEW_SOLARIZE = 20; + const PREVIEW_SHADE = 21; + const PREVIEW_RAISE = 22; + const PREVIEW_SEGMENT = 23; + const PREVIEW_SWIRL = 24; + const PREVIEW_IMPLODE = 25; + const PREVIEW_WAVE = 26; + const PREVIEW_OILPAINT = 27; + const PREVIEW_CHARCOALDRAWING = 28; + const PREVIEW_JPEG = 29; + const RENDERINGINTENT_UNDEFINED = 0; + const RENDERINGINTENT_SATURATION = 1; + const RENDERINGINTENT_PERCEPTUAL = 2; + const RENDERINGINTENT_ABSOLUTE = 3; + const RENDERINGINTENT_RELATIVE = 4; + const INTERLACE_UNDEFINED = 0; + const INTERLACE_NO = 1; + const INTERLACE_LINE = 2; + const INTERLACE_PLANE = 3; + const INTERLACE_PARTITION = 4; + const INTERLACE_GIF = 5; + const INTERLACE_JPEG = 6; + const INTERLACE_PNG = 7; + const FILLRULE_UNDEFINED = 0; + const FILLRULE_EVENODD = 1; + const FILLRULE_NONZERO = 2; + const PATHUNITS_UNDEFINED = 0; + const PATHUNITS_USERSPACE = 1; + const PATHUNITS_USERSPACEONUSE = 2; + const PATHUNITS_OBJECTBOUNDINGBOX = 3; + const LINECAP_UNDEFINED = 0; + const LINECAP_BUTT = 1; + const LINECAP_ROUND = 2; + const LINECAP_SQUARE = 3; + const LINEJOIN_UNDEFINED = 0; + const LINEJOIN_MITER = 1; + const LINEJOIN_ROUND = 2; + const LINEJOIN_BEVEL = 3; + const RESOURCETYPE_UNDEFINED = 0; + const RESOURCETYPE_AREA = 1; + const RESOURCETYPE_DISK = 2; + const RESOURCETYPE_FILE = 3; + const RESOURCETYPE_MAP = 4; + const RESOURCETYPE_MEMORY = 5; + const RESOURCETYPE_TIME = 7; + const RESOURCETYPE_THROTTLE = 8; + const RESOURCETYPE_THREAD = 6; + const DISPOSE_UNRECOGNIZED = 0; + const DISPOSE_UNDEFINED = 0; + const DISPOSE_NONE = 1; + const DISPOSE_BACKGROUND = 2; + const DISPOSE_PREVIOUS = 3; + const INTERPOLATE_UNDEFINED = 0; + const INTERPOLATE_AVERAGE = 1; + const INTERPOLATE_BICUBIC = 2; + const INTERPOLATE_BILINEAR = 3; + const INTERPOLATE_FILTER = 4; + const INTERPOLATE_INTEGER = 5; + const INTERPOLATE_MESH = 6; + const INTERPOLATE_NEARESTNEIGHBOR = 7; + const INTERPOLATE_SPLINE = 8; + const LAYERMETHOD_UNDEFINED = 0; + const LAYERMETHOD_COALESCE = 1; + const LAYERMETHOD_COMPAREANY = 2; + const LAYERMETHOD_COMPARECLEAR = 3; + const LAYERMETHOD_COMPAREOVERLAY = 4; + const LAYERMETHOD_DISPOSE = 5; + const LAYERMETHOD_OPTIMIZE = 6; + const LAYERMETHOD_OPTIMIZEPLUS = 8; + const LAYERMETHOD_OPTIMIZETRANS = 9; + const LAYERMETHOD_COMPOSITE = 12; + const LAYERMETHOD_OPTIMIZEIMAGE = 7; + const LAYERMETHOD_REMOVEDUPS = 10; + const LAYERMETHOD_REMOVEZERO = 11; + const LAYERMETHOD_TRIMBOUNDS = 16; + const ORIENTATION_UNDEFINED = 0; + const ORIENTATION_TOPLEFT = 1; + const ORIENTATION_TOPRIGHT = 2; + const ORIENTATION_BOTTOMRIGHT = 3; + const ORIENTATION_BOTTOMLEFT = 4; + const ORIENTATION_LEFTTOP = 5; + const ORIENTATION_RIGHTTOP = 6; + const ORIENTATION_RIGHTBOTTOM = 7; + const ORIENTATION_LEFTBOTTOM = 8; + const DISTORTION_UNDEFINED = 0; + const DISTORTION_AFFINE = 1; + const DISTORTION_AFFINEPROJECTION = 2; + const DISTORTION_ARC = 9; + const DISTORTION_BILINEAR = 6; + const DISTORTION_PERSPECTIVE = 4; + const DISTORTION_PERSPECTIVEPROJECTION = 5; + const DISTORTION_SCALEROTATETRANSLATE = 3; + const DISTORTION_POLYNOMIAL = 8; + const DISTORTION_POLAR = 10; + const DISTORTION_DEPOLAR = 11; + const DISTORTION_BARREL = 14; + const DISTORTION_SHEPARDS = 16; + const DISTORTION_SENTINEL = 18; + const DISTORTION_BARRELINVERSE = 15; + const DISTORTION_BILINEARFORWARD = 6; + const DISTORTION_BILINEARREVERSE = 7; + const DISTORTION_RESIZE = 17; + const DISTORTION_CYLINDER2PLANE = 12; + const DISTORTION_PLANE2CYLINDER = 13; + const LAYERMETHOD_MERGE = 13; + const LAYERMETHOD_FLATTEN = 14; + const LAYERMETHOD_MOSAIC = 15; + const ALPHACHANNEL_ACTIVATE = 1; + const ALPHACHANNEL_RESET = 7; + const ALPHACHANNEL_SET = 8; + const ALPHACHANNEL_UNDEFINED = 0; + const ALPHACHANNEL_COPY = 3; + const ALPHACHANNEL_DEACTIVATE = 4; + const ALPHACHANNEL_EXTRACT = 5; + const ALPHACHANNEL_OPAQUE = 6; + const ALPHACHANNEL_SHAPE = 9; + const ALPHACHANNEL_TRANSPARENT = 10; + const SPARSECOLORMETHOD_UNDEFINED = 0; + const SPARSECOLORMETHOD_BARYCENTRIC = 1; + const SPARSECOLORMETHOD_BILINEAR = 7; + const SPARSECOLORMETHOD_POLYNOMIAL = 8; + const SPARSECOLORMETHOD_SPEPARDS = 16; + const SPARSECOLORMETHOD_VORONOI = 18; + const SPARSECOLORMETHOD_INVERSE = 19; + const DITHERMETHOD_UNDEFINED = 0; + const DITHERMETHOD_NO = 1; + const DITHERMETHOD_RIEMERSMA = 2; + const DITHERMETHOD_FLOYDSTEINBERG = 3; + const FUNCTION_UNDEFINED = 0; + const FUNCTION_POLYNOMIAL = 1; + const FUNCTION_SINUSOID = 2; + const ALPHACHANNEL_BACKGROUND = 2; + const FUNCTION_ARCSIN = 3; + const FUNCTION_ARCTAN = 4; + const ALPHACHANNEL_FLATTEN = 11; + const ALPHACHANNEL_REMOVE = 12; + const STATISTIC_GRADIENT = 1; + const STATISTIC_MAXIMUM = 2; + const STATISTIC_MEAN = 3; + const STATISTIC_MEDIAN = 4; + const STATISTIC_MINIMUM = 5; + const STATISTIC_MODE = 6; + const STATISTIC_NONPEAK = 7; + const STATISTIC_STANDARD_DEVIATION = 8; + const MORPHOLOGY_CONVOLVE = 1; + const MORPHOLOGY_CORRELATE = 2; + const MORPHOLOGY_ERODE = 3; + const MORPHOLOGY_DILATE = 4; + const MORPHOLOGY_ERODE_INTENSITY = 5; + const MORPHOLOGY_DILATE_INTENSITY = 6; + const MORPHOLOGY_DISTANCE = 7; + const MORPHOLOGY_OPEN = 8; + const MORPHOLOGY_CLOSE = 9; + const MORPHOLOGY_OPEN_INTENSITY = 10; + const MORPHOLOGY_CLOSE_INTENSITY = 11; + const MORPHOLOGY_SMOOTH = 12; + const MORPHOLOGY_EDGE_IN = 13; + const MORPHOLOGY_EDGE_OUT = 14; + const MORPHOLOGY_EDGE = 15; + const MORPHOLOGY_TOP_HAT = 16; + const MORPHOLOGY_BOTTOM_HAT = 17; + const MORPHOLOGY_HIT_AND_MISS = 18; + const MORPHOLOGY_THINNING = 19; + const MORPHOLOGY_THICKEN = 20; + const MORPHOLOGY_VORONOI = 21; + const MORPHOLOGY_ITERATIVE = 22; + const KERNEL_UNITY = 1; + const KERNEL_GAUSSIAN = 2; + const KERNEL_DIFFERENCE_OF_GAUSSIANS = 3; + const KERNEL_LAPLACIAN_OF_GAUSSIANS = 4; + const KERNEL_BLUR = 5; + const KERNEL_COMET = 6; + const KERNEL_LAPLACIAN = 7; + const KERNEL_SOBEL = 8; + const KERNEL_FREI_CHEN = 9; + const KERNEL_ROBERTS = 10; + const KERNEL_PREWITT = 11; + const KERNEL_COMPASS = 12; + const KERNEL_KIRSCH = 13; + const KERNEL_DIAMOND = 14; + const KERNEL_SQUARE = 15; + const KERNEL_RECTANGLE = 16; + const KERNEL_OCTAGON = 17; + const KERNEL_DISK = 18; + const KERNEL_PLUS = 19; + const KERNEL_CROSS = 20; + const KERNEL_RING = 21; + const KERNEL_PEAKS = 22; + const KERNEL_EDGES = 23; + const KERNEL_CORNERS = 24; + const KERNEL_DIAGONALS = 25; + const KERNEL_LINE_ENDS = 26; + const KERNEL_LINE_JUNCTIONS = 27; + const KERNEL_RIDGES = 28; + const KERNEL_CONVEX_HULL = 29; + const KERNEL_THIN_SE = 30; + const KERNEL_SKELETON = 31; + const KERNEL_CHEBYSHEV = 32; + const KERNEL_MANHATTAN = 33; + const KERNEL_OCTAGONAL = 34; + const KERNEL_EUCLIDEAN = 35; + const KERNEL_USER_DEFINED = 36; + const KERNEL_BINOMIAL = 37; + const DIRECTION_LEFT_TO_RIGHT = 2; + const DIRECTION_RIGHT_TO_LEFT = 1; + const NORMALIZE_KERNEL_NONE = 0; + const NORMALIZE_KERNEL_VALUE = 8192; + const NORMALIZE_KERNEL_CORRELATE = 65536; + const NORMALIZE_KERNEL_PERCENT = 4096; + + /** + * (PECL imagick 2.0.0)
+ * Removes repeated portions of images to optimize + * @link https://php.net/manual/en/imagick.optimizeimagelayers.php + * @return bool TRUE on success. + */ + public function optimizeImageLayers () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the maximum bounding region between images + * @link https://php.net/manual/en/imagick.compareimagelayers.php + * @param int $method

+ * One of the layer method constants. + *

+ * @return Imagick TRUE on success. + */ + public function compareImageLayers ($method) {} + + /** + * (PECL imagick 2.0.0)
+ * Quickly fetch attributes + * @link https://php.net/manual/en/imagick.pingimageblob.php + * @param string $image

+ * A string containing the image. + *

+ * @return bool TRUE on success. + */ + public function pingImageBlob ($image) {} + + /** + * (PECL imagick 2.0.0)
+ * Get basic image attributes in a lightweight manner + * @link https://php.net/manual/en/imagick.pingimagefile.php + * @param resource $filehandle

+ * An open filehandle to the image. + *

+ * @param string $fileName [optional]

+ * Optional filename for this image. + *

+ * @return bool TRUE on success. + */ + public function pingImageFile ($filehandle, $fileName = null) {} + + /** + * (PECL imagick 2.0.0)
+ * Creates a vertical mirror image + * @link https://php.net/manual/en/imagick.transposeimage.php + * @return bool TRUE on success. + */ + public function transposeImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Creates a horizontal mirror image + * @link https://php.net/manual/en/imagick.transverseimage.php + * @return bool TRUE on success. + */ + public function transverseImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Remove edges from the image + * @link https://php.net/manual/en/imagick.trimimage.php + * @param float $fuzz

+ * By default target must match a particular pixel color exactly. + * However, in many cases two colors may differ by a small amount. + * The fuzz member of image defines how much tolerance is acceptable + * to consider two colors as the same. This parameter represents the variation + * on the quantum range. + *

+ * @return bool TRUE on success. + */ + public function trimImage ($fuzz) {} + + /** + * (PECL imagick 2.0.0)
+ * Applies wave filter to the image + * @link https://php.net/manual/en/imagick.waveimage.php + * @param float $amplitude

+ * The amplitude of the wave. + *

+ * @param float $length

+ * The length of the wave. + *

+ * @return bool TRUE on success. + */ + public function waveImage ($amplitude, $length) {} + + /** + * (PECL imagick 2.0.0)
+ * Adds vignette filter to the image + * @link https://php.net/manual/en/imagick.vignetteimage.php + * @param float $blackPoint

+ * The black point. + *

+ * @param float $whitePoint

+ * The white point + *

+ * @param int $x

+ * X offset of the ellipse + *

+ * @param int $y

+ * Y offset of the ellipse + *

+ * @return bool TRUE on success. + */ + public function vignetteImage ($blackPoint, $whitePoint, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Discards all but one of any pixel color + * @link https://php.net/manual/en/imagick.uniqueimagecolors.php + * @return bool TRUE on success. + */ + public function uniqueImageColors () {} + + /** + * (PECL imagick 2.0.0)
+ * Return if the image has a matte channel + * @link https://php.net/manual/en/imagick.getimagematte.php + * @return bool TRUE on success or FALSE on failure. + */ + public function getImageMatte () {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image matte channel + * @link https://php.net/manual/en/imagick.setimagematte.php + * @param bool $matte

+ * True activates the matte channel and false disables it. + *

+ * @return bool TRUE on success. + */ + public function setImageMatte ($matte) {} + + /** + * Adaptively resize image with data dependent triangulation + * + * If legacy is true, the calculations are done with the small rounding bug that existed in Imagick before 3.4.0.
+ * If false, the calculations should produce the same results as ImageMagick CLI does.
+ *
+ * Note: The behavior of the parameter bestfit changed in Imagick 3.0.0. Before this version given dimensions 400x400 an image of dimensions 200x150 would be left untouched. + * In Imagick 3.0.0 and later the image would be scaled up to size 400x300 as this is the "best fit" for the given dimensions. If bestfit parameter is used both width and height must be given. + * @link https://php.net/manual/en/imagick.adaptiveresizeimage.php + * @param int $columns The number of columns in the scaled image. + * @param int $rows The number of rows in the scaled image. + * @param bool $bestfit [optional] Whether to fit the image inside a bounding box.
+ * The behavior of the parameter bestfit changed in Imagick 3.0.0. Before this version given dimensions 400x400 an image of dimensions 200x150 would be left untouched. In Imagick 3.0.0 and later the image would be scaled up to size 400x300 as this is the "best fit" for the given dimensions. If bestfit parameter is used both width and height must be given. + * @param bool $legacy [optional] Added since 3.4.0. Default value FALSE + * @return bool TRUE on success + * @throws ImagickException Throws ImagickException on error + * @since 2.0.0 + */ + public function adaptiveResizeImage ($columns, $rows, $bestfit = false, $legacy = false) {} + + /** + * (PECL imagick 2.0.0)
+ * Simulates a pencil sketch + * @link https://php.net/manual/en/imagick.sketchimage.php + * @param float $radius

+ * The radius of the Gaussian, in pixels, not counting the center pixel + *

+ * @param float $sigma

+ * The standard deviation of the Gaussian, in pixels. + *

+ * @param float $angle

+ * Apply the effect along this angle. + *

+ * @return bool TRUE on success. + */ + public function sketchImage ($radius, $sigma, $angle) {} + + /** + * (PECL imagick 2.0.0)
+ * Creates a 3D effect + * @link https://php.net/manual/en/imagick.shadeimage.php + * @param bool $gray

+ * A value other than zero shades the intensity of each pixel. + *

+ * @param float $azimuth

+ * Defines the light source direction. + *

+ * @param float $elevation

+ * Defines the light source direction. + *

+ * @return bool TRUE on success. + */ + public function shadeImage ($gray, $azimuth, $elevation) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the size offset + * @link https://php.net/manual/en/imagick.getsizeoffset.php + * @return int the size offset associated with the Imagick object. + */ + public function getSizeOffset () {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the size and offset of the Imagick object + * @link https://php.net/manual/en/imagick.setsizeoffset.php + * @param int $columns

+ * The width in pixels. + *

+ * @param int $rows

+ * The height in pixels. + *

+ * @param int $offset

+ * The image offset. + *

+ * @return bool TRUE on success. + */ + public function setSizeOffset ($columns, $rows, $offset) {} + + /** + * (PECL imagick 2.0.0)
+ * Adds adaptive blur filter to image + * @link https://php.net/manual/en/imagick.adaptiveblurimage.php + * @param float $radius

+ * The radius of the Gaussian, in pixels, not counting the center pixel. + * Provide a value of 0 and the radius will be chosen automagically. + *

+ * @param float $sigma

+ * The standard deviation of the Gaussian, in pixels. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + *

+ * @return bool TRUE on success. + */ + public function adaptiveBlurImage ($radius, $sigma, $channel = Imagick::CHANNEL_DEFAULT) {} + + /** + * (PECL imagick 2.0.0)
+ * Enhances the contrast of a color image + * @link https://php.net/manual/en/imagick.contraststretchimage.php + * @param float $black_point

+ * The black point. + *

+ * @param float $white_point

+ * The white point. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Imagick::CHANNEL_ALL. Refer to this + * list of channel constants. + *

+ * @return bool TRUE on success. + */ + public function contrastStretchImage ($black_point, $white_point, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Adaptively sharpen the image + * @link https://php.net/manual/en/imagick.adaptivesharpenimage.php + * @param float $radius

+ * The radius of the Gaussian, in pixels, not counting the center pixel. Use 0 for auto-select. + *

+ * @param float $sigma

+ * The standard deviation of the Gaussian, in pixels. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + *

+ * @return bool TRUE on success. + */ + public function adaptiveSharpenImage ($radius, $sigma, $channel = Imagick::CHANNEL_DEFAULT) {} + + /** + * (PECL imagick 2.0.0)
+ * Creates a high-contrast, two-color image + * @link https://php.net/manual/en/imagick.randomthresholdimage.php + * @param float $low

+ * The low point + *

+ * @param float $high

+ * The high point + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return bool TRUE on success. + */ + public function randomThresholdImage ($low, $high, $channel = Imagick::CHANNEL_ALL) {} + + /** + * @param $xRounding + * @param $yRounding + * @param $strokeWidth [optional] + * @param $displace [optional] + * @param $sizeCorrection [optional] + */ + public function roundCornersImage ($xRounding, $yRounding, $strokeWidth, $displace, $sizeCorrection) {} + + /** + * (PECL imagick 2.0.0)
+ * Rounds image corners + * @link https://php.net/manual/en/imagick.roundcorners.php + * @param float $x_rounding

+ * x rounding + *

+ * @param float $y_rounding

+ * y rounding + *

+ * @param float $stroke_width [optional]

+ * stroke width + *

+ * @param float $displace [optional]

+ * image displace + *

+ * @param float $size_correction [optional]

+ * size correction + *

+ * @return bool TRUE on success. + */ + public function roundCorners ($x_rounding, $y_rounding, $stroke_width = 10.0, $displace = 5.0, $size_correction = -6.0) {} + + /** + * (PECL imagick 2.0.0)
+ * Set the iterator position + * @link https://php.net/manual/en/imagick.setiteratorindex.php + * @param int $index

+ * The position to set the iterator to + *

+ * @return bool TRUE on success. + */ + public function setIteratorIndex ($index) {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the index of the current active image + * @link https://php.net/manual/en/imagick.getiteratorindex.php + * @return int an integer containing the index of the image in the stack. + */ + public function getIteratorIndex () {} + + /** + * (PECL imagick 2.0.0)
+ * Convenience method for setting crop size and the image geometry + * @link https://php.net/manual/en/imagick.transformimage.php + * @param string $crop

+ * A crop geometry string. This geometry defines a subregion of the image to crop. + *

+ * @param string $geometry

+ * An image geometry string. This geometry defines the final size of the image. + *

+ * @return Imagick TRUE on success. + */ + public function transformImage ($crop, $geometry) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image opacity level + * @link https://php.net/manual/en/imagick.setimageopacity.php + * @param float $opacity

+ * The level of transparency: 1.0 is fully opaque and 0.0 is fully + * transparent. + *

+ * @return bool TRUE on success. + */ + public function setImageOpacity ($opacity) {} + + /** + * (PECL imagick 2.2.2)
+ * Performs an ordered dither + * @link https://php.net/manual/en/imagick.orderedposterizeimage.php + * @param string $threshold_map

+ * A string containing the name of the threshold dither map to use + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return bool TRUE on success. + */ + public function orderedPosterizeImage ($threshold_map, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Simulates a Polaroid picture + * @link https://php.net/manual/en/imagick.polaroidimage.php + * @param ImagickDraw $properties

+ * The polaroid properties + *

+ * @param float $angle

+ * The polaroid angle + *

+ * @return bool TRUE on success. + */ + public function polaroidImage (ImagickDraw $properties, $angle) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the named image property + * @link https://php.net/manual/en/imagick.getimageproperty.php + * @param string $name

+ * name of the property (for example Exif:DateTime) + *

+ * @return string|false a string containing the image property, false if a + * property with the given name does not exist. + */ + public function getImageProperty ($name) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets an image property + * @link https://php.net/manual/en/imagick.setimageproperty.php + * @param string $name + * @param string $value + * @return bool TRUE on success. + */ + public function setImageProperty ($name, $value) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image interpolate pixel method + * @link https://php.net/manual/en/imagick.setimageinterpolatemethod.php + * @param int $method

+ * The method is one of the Imagick::INTERPOLATE_* constants + *

+ * @return bool TRUE on success. + */ + public function setImageInterpolateMethod ($method) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the interpolation method + * @link https://php.net/manual/en/imagick.getimageinterpolatemethod.php + * @return int the interpolate method on success. + */ + public function getImageInterpolateMethod () {} + + /** + * (PECL imagick 2.0.0)
+ * Stretches with saturation the image intensity + * @link https://php.net/manual/en/imagick.linearstretchimage.php + * @param float $blackPoint

+ * The image black point + *

+ * @param float $whitePoint

+ * The image white point + *

+ * @return bool TRUE on success. + */ + public function linearStretchImage ($blackPoint, $whitePoint) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the image length in bytes + * @link https://php.net/manual/en/imagick.getimagelength.php + * @return int an int containing the current image size. + */ + public function getImageLength () {} + + /** + * (No version information available, might only be in SVN)
+ * Set image size + * @link https://php.net/manual/en/imagick.extentimage.php + * @param int $width

+ * The new width + *

+ * @param int $height

+ * The new height + *

+ * @param int $x

+ * X position for the new size + *

+ * @param int $y

+ * Y position for the new size + *

+ * @return bool TRUE on success. + */ + public function extentImage ($width, $height, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image orientation + * @link https://php.net/manual/en/imagick.getimageorientation.php + * @return int an int on success. + */ + public function getImageOrientation () {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image orientation + * @link https://php.net/manual/en/imagick.setimageorientation.php + * @param int $orientation

+ * One of the orientation constants + *

+ * @return bool TRUE on success. + */ + public function setImageOrientation ($orientation) {} + + /** + * (PECL imagick 2.1.0)
+ * Changes the color value of any pixel that matches target + * @link https://php.net/manual/en/imagick.paintfloodfillimage.php + * @param mixed $fill

+ * ImagickPixel object or a string containing the fill color + *

+ * @param float $fuzz

+ * The amount of fuzz. For example, set fuzz to 10 and the color red at + * intensities of 100 and 102 respectively are now interpreted as the + * same color for the purposes of the floodfill. + *

+ * @param mixed $bordercolor

+ * ImagickPixel object or a string containing the border color + *

+ * @param int $x

+ * X start position of the floodfill + *

+ * @param int $y

+ * Y start position of the floodfill + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + *

+ * @return bool TRUE on success. + */ + public function paintFloodfillImage ($fill, $fuzz, $bordercolor, $x, $y, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Replaces colors in the image from a color lookup table. Optional second parameter to replace colors in a specific channel. This method is available if Imagick has been compiled against ImageMagick version 6.3.6 or newer. + * @link https://php.net/manual/en/imagick.clutimage.php + * @param Imagick $lookup_table

+ * Imagick object containing the color lookup table + *

+ * @param int $channel [optional]

+ * The Channeltype + * constant. When not supplied, default channels are replaced. + *

+ * @return bool TRUE on success. + * @since 2.0.0 + */ + public function clutImage (Imagick $lookup_table, $channel = Imagick::CHANNEL_DEFAULT) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the image properties + * @link https://php.net/manual/en/imagick.getimageproperties.php + * @param string $pattern [optional]

+ * The pattern for property names. + *

+ * @param bool $only_names [optional]

+ * Whether to return only property names. If FALSE then also the values are returned + *

+ * @return array an array containing the image properties or property names. + */ + public function getImageProperties ($pattern = "*", $only_names = true) {} + + /** + * (PECL imagick 2.2.0)
+ * Returns the image profiles + * @link https://php.net/manual/en/imagick.getimageprofiles.php + * @param string $pattern [optional]

+ * The pattern for profile names. + *

+ * @param bool $include_values [optional]

+ * Whether to return only profile names. If FALSE then only profile names will be returned. + *

+ * @return array an array containing the image profiles or profile names. + */ + public function getImageProfiles ($pattern = "*", $include_values = true) {} + + /** + * (PECL imagick 2.0.1)
+ * Distorts an image using various distortion methods + * @link https://php.net/manual/en/imagick.distortimage.php + * @param int $method

+ * The method of image distortion. See distortion constants + *

+ * @param array $arguments

+ * The arguments for this distortion method + *

+ * @param bool $bestfit

+ * Attempt to resize destination to fit distorted source + *

+ * @return bool TRUE on success. + */ + public function distortImage ($method, array $arguments, $bestfit) {} + + /** + * (No version information available, might only be in SVN)
+ * Writes an image to a filehandle + * @link https://php.net/manual/en/imagick.writeimagefile.php + * @param resource $filehandle

+ * Filehandle where to write the image + *

+ * @return bool TRUE on success. + */ + public function writeImageFile ($filehandle) {} + + /** + * (No version information available, might only be in SVN)
+ * Writes frames to a filehandle + * @link https://php.net/manual/en/imagick.writeimagesfile.php + * @param resource $filehandle

+ * Filehandle where to write the images + *

+ * @return bool TRUE on success. + */ + public function writeImagesFile ($filehandle) {} + + /** + * (No version information available, might only be in SVN)
+ * Reset image page + * @link https://php.net/manual/en/imagick.resetimagepage.php + * @param string $page

+ * The page definition. For example 7168x5147+0+0 + *

+ * @return bool TRUE on success. + */ + public function resetImagePage ($page) {} + + /** + * (No version information available, might only be in SVN)
+ * Sets image clip mask + * @link https://php.net/manual/en/imagick.setimageclipmask.php + * @param Imagick $clip_mask

+ * The Imagick object containing the clip mask + *

+ * @return bool TRUE on success. + */ + public function setImageClipMask (Imagick $clip_mask) {} + + /** + * (No version information available, might only be in SVN)
+ * Gets image clip mask + * @link https://php.net/manual/en/imagick.getimageclipmask.php + * @return Imagick an Imagick object containing the clip mask. + */ + public function getImageClipMask () {} + + /** + * (No version information available, might only be in SVN)
+ * Animates an image or images + * @link https://php.net/manual/en/imagick.animateimages.php + * @param string $x_server

+ * X server address + *

+ * @return bool TRUE on success. + */ + public function animateImages ($x_server) {} + + /** + * (No version information available, might only be in SVN)
+ * Recolors image + * @link https://php.net/manual/en/imagick.recolorimage.php + * @param array $matrix

+ * The matrix containing the color values + *

+ * @return bool TRUE on success. + */ + public function recolorImage (array $matrix) {} + + /** + * (PECL imagick 2.1.0)
+ * Sets font + * @link https://php.net/manual/en/imagick.setfont.php + * @param string $font

+ * Font name or a filename + *

+ * @return bool TRUE on success. + */ + public function setFont ($font) {} + + /** + * (PECL imagick 2.1.0)
+ * Gets font + * @link https://php.net/manual/en/imagick.getfont.php + * @return string|false the string containing the font name or FALSE if not font is set. + */ + public function getFont () {} + + /** + * (PECL imagick 2.1.0)
+ * Sets point size + * @link https://php.net/manual/en/imagick.setpointsize.php + * @param float $point_size

+ * Point size + *

+ * @return bool TRUE on success. + */ + public function setPointSize ($point_size) {} + + /** + * (No version information available, might only be in SVN)
+ * Gets point size + * @link https://php.net/manual/en/imagick.getpointsize.php + * @return float a float containing the point size. + */ + public function getPointSize () {} + + /** + * (PECL imagick 2.1.0)
+ * Merges image layers + * @link https://php.net/manual/en/imagick.mergeimagelayers.php + * @param int $layer_method

+ * One of the Imagick::LAYERMETHOD_* constants + *

+ * @return Imagick Returns an Imagick object containing the merged image. + * @throws ImagickException + */ + public function mergeImageLayers ($layer_method) {} + + /** + * (No version information available, might only be in SVN)
+ * Sets image alpha channel + * @link https://php.net/manual/en/imagick.setimagealphachannel.php + * @param int $mode

+ * One of the Imagick::ALPHACHANNEL_* constants + *

+ * @return bool TRUE on success. + */ + public function setImageAlphaChannel ($mode) {} + + /** + * (No version information available, might only be in SVN)
+ * Changes the color value of any pixel that matches target + * @link https://php.net/manual/en/imagick.floodfillpaintimage.php + * @param mixed $fill

+ * ImagickPixel object or a string containing the fill color + *

+ * @param float $fuzz

+ * The amount of fuzz. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color. + *

+ * @param mixed $target

+ * ImagickPixel object or a string containing the target color to paint + *

+ * @param int $x

+ * X start position of the floodfill + *

+ * @param int $y

+ * Y start position of the floodfill + *

+ * @param bool $invert

+ * If TRUE paints any pixel that does not match the target color. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + *

+ * @return bool TRUE on success. + */ + public function floodFillPaintImage ($fill, $fuzz, $target, $x, $y, $invert, $channel = Imagick::CHANNEL_DEFAULT) {} + + /** + * (No version information available, might only be in SVN)
+ * Changes the color value of any pixel that matches target + * @link https://php.net/manual/en/imagick.opaquepaintimage.php + * @param mixed $target

+ * ImagickPixel object or a string containing the color to change + *

+ * @param mixed $fill

+ * The replacement color + *

+ * @param float $fuzz

+ * The amount of fuzz. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color. + *

+ * @param bool $invert

+ * If TRUE paints any pixel that does not match the target color. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + *

+ * @return bool TRUE on success. + */ + public function opaquePaintImage ($target, $fill, $fuzz, $invert, $channel = Imagick::CHANNEL_DEFAULT) {} + + /** + * (No version information available, might only be in SVN)
+ * Paints pixels transparent + * @link https://php.net/manual/en/imagick.transparentpaintimage.php + * @param mixed $target

+ * The target color to paint + *

+ * @param float $alpha

+ * The level of transparency: 1.0 is fully opaque and 0.0 is fully transparent. + *

+ * @param float $fuzz

+ * The amount of fuzz. For example, set fuzz to 10 and the color red at intensities of 100 and 102 respectively are now interpreted as the same color. + *

+ * @param bool $invert

+ * If TRUE paints any pixel that does not match the target color. + *

+ * @return bool TRUE on success. + */ + public function transparentPaintImage ($target, $alpha, $fuzz, $invert) {} + + /** + * (No version information available, might only be in SVN)
+ * Animates an image or images + * @link https://php.net/manual/en/imagick.liquidrescaleimage.php + * @param int $width

+ * The width of the target size + *

+ * @param int $height

+ * The height of the target size + *

+ * @param float $delta_x

+ * How much the seam can traverse on x-axis. + * Passing 0 causes the seams to be straight. + *

+ * @param float $rigidity

+ * Introduces a bias for non-straight seams. This parameter is + * typically 0. + *

+ * @return bool TRUE on success. + */ + public function liquidRescaleImage ($width, $height, $delta_x, $rigidity) {} + + /** + * (No version information available, might only be in SVN)
+ * Enciphers an image + * @link https://php.net/manual/en/imagick.encipherimage.php + * @param string $passphrase

+ * The passphrase + *

+ * @return bool TRUE on success. + */ + public function encipherImage ($passphrase) {} + + /** + * (No version information available, might only be in SVN)
+ * Deciphers an image + * @link https://php.net/manual/en/imagick.decipherimage.php + * @param string $passphrase

+ * The passphrase + *

+ * @return bool TRUE on success. + */ + public function decipherImage ($passphrase) {} + + /** + * (No version information available, might only be in SVN)
+ * Sets the gravity + * @link https://php.net/manual/en/imagick.setgravity.php + * @param int $gravity

+ * The gravity property. Refer to the list of + * gravity constants. + *

+ * @return bool No value is returned. + */ + public function setGravity ($gravity) {} + + /** + * (No version information available, might only be in SVN)
+ * Gets the gravity + * @link https://php.net/manual/en/imagick.getgravity.php + * @return int the gravity property. Refer to the list of + * gravity constants. + */ + public function getGravity () {} + + /** + * (PECL imagick 2.2.1)
+ * Gets channel range + * @link https://php.net/manual/en/imagick.getimagechannelrange.php + * @param int $channel

+ * Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + *

+ * @return array an array containing minima and maxima values of the channel(s). + */ + public function getImageChannelRange ($channel) {} + + /** + * (No version information available, might only be in SVN)
+ * Gets the image alpha channel + * @link https://php.net/manual/en/imagick.getimagealphachannel.php + * @return int a constant defining the current alpha channel value. Refer to this + * list of alpha channel constants. + */ + public function getImageAlphaChannel () {} + + /** + * (No version information available, might only be in SVN)
+ * Gets channel distortions + * @link https://php.net/manual/en/imagick.getimagechanneldistortions.php + * @param Imagick $reference

+ * Imagick object containing the reference image + *

+ * @param int $metric

+ * Refer to this list of metric type constants. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + *

+ * @return float a double describing the channel distortion. + */ + public function getImageChannelDistortions (Imagick $reference, $metric, $channel = Imagick::CHANNEL_DEFAULT) {} + + /** + * (No version information available, might only be in SVN)
+ * Sets the image gravity + * @link https://php.net/manual/en/imagick.setimagegravity.php + * @param int $gravity

+ * The gravity property. Refer to the list of + * gravity constants. + *

+ * @return bool No value is returned. + */ + public function setImageGravity ($gravity) {} + + /** + * (No version information available, might only be in SVN)
+ * Gets the image gravity + * @link https://php.net/manual/en/imagick.getimagegravity.php + * @return int the images gravity property. Refer to the list of + * gravity constants. + */ + public function getImageGravity () {} + + /** + * (No version information available, might only be in SVN)
+ * Imports image pixels + * @link https://php.net/manual/en/imagick.importimagepixels.php + * @param int $x

+ * The image x position + *

+ * @param int $y

+ * The image y position + *

+ * @param int $width

+ * The image width + *

+ * @param int $height

+ * The image height + *

+ * @param string $map

+ * Map of pixel ordering as a string. This can be for example RGB. + * The value can be any combination or order of R = red, G = green, B = blue, A = alpha (0 is transparent), + * O = opacity (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad. + *

+ * @param int $storage

+ * The pixel storage method. + * Refer to this list of pixel constants. + *

+ * @param array $pixels

+ * The array of pixels + *

+ * @return bool TRUE on success. + */ + public function importImagePixels ($x, $y, $width, $height, $map, $storage, array $pixels) {} + + /** + * (No version information available, might only be in SVN)
+ * Removes skew from the image + * @link https://php.net/manual/en/imagick.deskewimage.php + * @param float $threshold

+ * Deskew threshold + *

+ * @return bool + */ + public function deskewImage ($threshold) {} + + /** + * (No version information available, might only be in SVN)
+ * Segments an image + * @link https://php.net/manual/en/imagick.segmentimage.php + * @param int $COLORSPACE

+ * One of the COLORSPACE constants. + *

+ * @param float $cluster_threshold

+ * A percentage describing minimum number of pixels + * contained in hexedra before it is considered valid. + *

+ * @param float $smooth_threshold

+ * Eliminates noise from the histogram. + *

+ * @param bool $verbose [optional]

+ * Whether to output detailed information about recognised classes. + *

+ * @return bool + */ + public function segmentImage ($COLORSPACE, $cluster_threshold, $smooth_threshold, $verbose = false) {} + + /** + * (No version information available, might only be in SVN)
+ * Interpolates colors + * @link https://php.net/manual/en/imagick.sparsecolorimage.php + * @param int $SPARSE_METHOD

+ * Refer to this list of sparse method constants + *

+ * @param array $arguments

+ * An array containing the coordinates. + * The array is in format array(1,1, 2,45) + *

+ * @param int $channel [optional] + * @return bool TRUE on success. + */ + public function sparseColorImage ($SPARSE_METHOD, array $arguments, $channel = Imagick::CHANNEL_DEFAULT) {} + + /** + * (No version information available, might only be in SVN)
+ * Remaps image colors + * @link https://php.net/manual/en/imagick.remapimage.php + * @param Imagick $replacement

+ * An Imagick object containing the replacement colors + *

+ * @param int $DITHER

+ * Refer to this list of dither method constants + *

+ * @return bool TRUE on success. + */ + public function remapImage (Imagick $replacement, $DITHER) {} + + /** + * (No version information available, might only be in SVN)
+ * Exports raw image pixels + * @link https://php.net/manual/en/imagick.exportimagepixels.php + * @param int $x

+ * X-coordinate of the exported area + *

+ * @param int $y

+ * Y-coordinate of the exported area + *

+ * @param int $width

+ * Width of the exported aread + *

+ * @param int $height

+ * Height of the exported area + *

+ * @param string $map

+ * Ordering of the exported pixels. For example "RGB". + * Valid characters for the map are R, G, B, A, O, C, Y, M, K, I and P. + *

+ * @param int $STORAGE

+ * Refer to this list of pixel type constants + *

+ * @return array an array containing the pixels values. + */ + public function exportImagePixels ($x, $y, $width, $height, $map, $STORAGE) {} + + /** + * (No version information available, might only be in SVN)
+ * The getImageChannelKurtosis purpose + * @link https://php.net/manual/en/imagick.getimagechannelkurtosis.php + * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + *

+ * @return array an array with kurtosis and skewness + * members. + */ + public function getImageChannelKurtosis ($channel = Imagick::CHANNEL_DEFAULT) {} + + /** + * (No version information available, might only be in SVN)
+ * Applies a function on the image + * @link https://php.net/manual/en/imagick.functionimage.php + * @param int $function

+ * Refer to this list of function constants + *

+ * @param array $arguments

+ * Array of arguments to pass to this function. + *

+ * @param int $channel [optional] + * @return bool TRUE on success. + */ + public function functionImage ($function, array $arguments, $channel = Imagick::CHANNEL_DEFAULT) {} + + /** + * @param $COLORSPACE + */ + public function transformImageColorspace ($COLORSPACE) {} + + /** + * (No version information available, might only be in SVN)
+ * Replaces colors in the image + * @link https://php.net/manual/en/imagick.haldclutimage.php + * @param Imagick $clut

+ * Imagick object containing the Hald lookup image. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + *

+ * @return bool TRUE on success. + */ + public function haldClutImage (Imagick $clut, $channel = Imagick::CHANNEL_DEFAULT) {} + + /** + * @param $CHANNEL [optional] + */ + public function autoLevelImage ($CHANNEL) {} + + /** + * @param $factor [optional] + */ + public function blueShiftImage ($factor) {} + + /** + * (No version information available, might only be in SVN)
+ * Get image artifact + * @link https://php.net/manual/en/imagick.getimageartifact.php + * @param string $artifact

+ * The name of the artifact + *

+ * @return string the artifact value on success. + */ + public function getImageArtifact ($artifact) {} + + /** + * (No version information available, might only be in SVN)
+ * Set image artifact + * @link https://php.net/manual/en/imagick.setimageartifact.php + * @param string $artifact

+ * The name of the artifact + *

+ * @param string $value

+ * The value of the artifact + *

+ * @return bool TRUE on success. + */ + public function setImageArtifact ($artifact, $value) {} + + /** + * (No version information available, might only be in SVN)
+ * Delete image artifact + * @link https://php.net/manual/en/imagick.deleteimageartifact.php + * @param string $artifact

+ * The name of the artifact to delete + *

+ * @return bool TRUE on success. + */ + public function deleteImageArtifact ($artifact) {} + + /** + * (PECL imagick 0.9.10-0.9.9)
+ * Gets the colorspace + * @link https://php.net/manual/en/imagick.getcolorspace.php + * @return int an integer which can be compared against COLORSPACE constants. + */ + public function getColorspace () {} + + /** + * (No version information available, might only be in SVN)
+ * Set colorspace + * @link https://php.net/manual/en/imagick.setcolorspace.php + * @param int $COLORSPACE

+ * One of the COLORSPACE constants + *

+ * @return bool TRUE on success. + */ + public function setColorspace ($COLORSPACE) {} + + /** + * @param $CHANNEL [optional] + */ + public function clampImage ($CHANNEL) {} + + /** + * @param $stack + * @param $offset + */ + public function smushImages ($stack, $offset) {} + + /** + * (PECL imagick 2.0.0)
+ * The Imagick constructor + * @link https://php.net/manual/en/imagick.construct.php + * @param mixed $files

+ * The path to an image to load or an array of paths. Paths can include + * wildcards for file names, or can be URLs. + *

+ * @throws ImagickException Throws ImagickException on error. + */ + public function __construct ($files = null) {} + + /** + * @return string + */ + public function __toString () {} + + public function count () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns a MagickPixelIterator + * @link https://php.net/manual/en/imagick.getpixeliterator.php + * @return ImagickPixelIterator an ImagickPixelIterator on success. + */ + public function getPixelIterator () {} + + /** + * (PECL imagick 2.0.0)
+ * Get an ImagickPixelIterator for an image section + * @link https://php.net/manual/en/imagick.getpixelregioniterator.php + * @param int $x

+ * The x-coordinate of the region. + *

+ * @param int $y

+ * The y-coordinate of the region. + *

+ * @param int $columns

+ * The width of the region. + *

+ * @param int $rows

+ * The height of the region. + *

+ * @return ImagickPixelIterator an ImagickPixelIterator for an image section. + */ + public function getPixelRegionIterator ($x, $y, $columns, $rows) {} + + /** + * (PECL imagick 0.9.0-0.9.9)
+ * Reads image from filename + * @link https://php.net/manual/en/imagick.readimage.php + * @param string $filename + * @return bool TRUE on success. + * @throws ImagickException Throws ImagickException on error. + */ + public function readImage ($filename) {} + + /** + * @param $filenames + * @throws ImagickException Throws ImagickException on error. + */ + public function readImages ($filenames) {} + + /** + * (PECL imagick 2.0.0)
+ * Reads image from a binary string + * @link https://php.net/manual/en/imagick.readimageblob.php + * @param string $image + * @param string $filename [optional] + * @return bool TRUE on success. + * @throws ImagickException Throws ImagickException on error. + */ + public function readImageBlob ($image, $filename = null) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the format of a particular image + * @link https://php.net/manual/en/imagick.setimageformat.php + * @param string $format

+ * String presentation of the image format. Format support + * depends on the ImageMagick installation. + *

+ * @return bool TRUE on success. + */ + public function setImageFormat ($format) {} + + /** + * Scales the size of an image to the given dimensions. Passing zero as either of the arguments will preserve dimension while scaling.
+ * If legacy is true, the calculations are done with the small rounding bug that existed in Imagick before 3.4.0.
+ * If false, the calculations should produce the same results as ImageMagick CLI does. + * @link https://php.net/manual/en/imagick.scaleimage.php + * @param int $cols + * @param int $rows + * @param bool $bestfit [optional] The behavior of the parameter bestfit changed in Imagick 3.0.0. Before this version given dimensions 400x400 an image of dimensions 200x150 would be left untouched. In Imagick 3.0.0 and later the image would be scaled up to size 400x300 as this is the "best fit" for the given dimensions. If bestfit parameter is used both width and height must be given. + * @param bool $legacy [optional] Added since 3.4.0. Default value FALSE + * @return bool TRUE on success. + * @throws ImagickException Throws ImagickException on error + * @since 2.0.0 + */ + public function scaleImage ($cols, $rows, $bestfit = false, $legacy = false) {} + + /** + * (PECL imagick 0.9.0-0.9.9)
+ * Writes an image to the specified filename + * @link https://php.net/manual/en/imagick.writeimage.php + * @param string $filename [optional]

+ * Filename where to write the image. The extension of the filename + * defines the type of the file. + * Format can be forced regardless of file extension using format: prefix, + * for example "jpg:test.png". + *

+ * @return bool TRUE on success. + */ + public function writeImage ($filename = null) {} + + /** + * (PECL imagick 0.9.0-0.9.9)
+ * Writes an image or image sequence + * @link https://php.net/manual/en/imagick.writeimages.php + * @param string $filename + * @param bool $adjoin + * @return bool TRUE on success. + */ + public function writeImages ($filename, $adjoin) {} + + /** + * (PECL imagick 2.0.0)
+ * Adds blur filter to image + * @link https://php.net/manual/en/imagick.blurimage.php + * @param float $radius

+ * Blur radius + *

+ * @param float $sigma

+ * Standard deviation + *

+ * @param int $channel [optional]

+ * The Channeltype + * constant. When not supplied, all channels are blurred. + *

+ * @return bool TRUE on success. + */ + public function blurImage ($radius, $sigma, $channel = null) {} + + /** + * Changes the size of an image to the given dimensions and removes any associated profiles.
+ * If legacy is true, the calculations are done with the small rounding bug that existed in Imagick before 3.4.0.
+ * If false, the calculations should produce the same results as ImageMagick CLI does.
+ *
+ * Note: The behavior of the parameter bestfit changed in Imagick 3.0.0. Before this version given dimensions 400x400 an image of dimensions 200x150 would be left untouched. In Imagick 3.0.0 and later the image would be scaled up to size 400x300 as this is the "best fit" for the given dimensions. If bestfit parameter is used both width and height must be given. + * @link https://php.net/manual/en/imagick.thumbnailimage.php + * @param int $columns

+ * Image width + *

+ * @param int $rows

+ * Image height + *

+ * @param bool $bestfit [optional]

+ * Whether to force maximum values + *

+ * The behavior of the parameter bestfit changed in Imagick 3.0.0. Before this version given dimensions 400x400 an image of dimensions 200x150 would be left untouched. In Imagick 3.0.0 and later the image would be scaled up to size 400x300 as this is the "best fit" for the given dimensions. If bestfit parameter is used both width and height must be given. + * @param bool $fill [optional] + * @param bool $legacy [optional] Added since 3.4.0. Default value FALSE + * @return bool TRUE on success. + * @since 2.0.0 + */ + public function thumbnailImage ($columns, $rows, $bestfit = false, $fill = false, $legacy = false) {} + + /** + * Creates a cropped thumbnail at the requested size. + * If legacy is true, uses the incorrect behaviour that was present until Imagick 3.4.0. + * If false it uses the correct behaviour. + * @link https://php.net/manual/en/imagick.cropthumbnailimage.php + * @param int $width The width of the thumbnail + * @param int $height The Height of the thumbnail + * @param bool $legacy [optional] Added since 3.4.0. Default value FALSE + * @return bool TRUE on succes + * @throws ImagickException Throws ImagickException on error + * @since 2.0.0 + */ + public function cropThumbnailImage ($width, $height, $legacy = false) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the filename of a particular image in a sequence + * @link https://php.net/manual/en/imagick.getimagefilename.php + * @return string a string with the filename of the image. + */ + public function getImageFilename () {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the filename of a particular image + * @link https://php.net/manual/en/imagick.setimagefilename.php + * @param string $filename + * @return bool TRUE on success. + */ + public function setImageFilename ($filename) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the format of a particular image in a sequence + * @link https://php.net/manual/en/imagick.getimageformat.php + * @return string a string containing the image format on success. + */ + public function getImageFormat () {} + + /** + * @link https://secure.php.net/manual/en/imagick.getimagemimetype.php + * @return string Returns the image mime-type. + */ + public function getImageMimeType () {} + + /** + * (PECL imagick 2.0.0)
+ * Removes an image from the image list + * @link https://php.net/manual/en/imagick.removeimage.php + * @return bool TRUE on success. + */ + public function removeImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Destroys the Imagick object + * @link https://php.net/manual/en/imagick.destroy.php + * @return bool TRUE on success. + */ + public function destroy () {} + + /** + * (PECL imagick 2.0.0)
+ * Clears all resources associated to Imagick object + * @link https://php.net/manual/en/imagick.clear.php + * @return bool TRUE on success. + */ + public function clear () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the image length in bytes + * @link https://php.net/manual/en/imagick.getimagesize.php + * @return int an int containing the current image size. + * @deprecated use {@see Imagick::getImageLength()} instead + */ + public function getImageSize () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the image sequence as a blob + * @link https://php.net/manual/en/imagick.getimageblob.php + * @return string a string containing the image. + */ + public function getImageBlob () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns all image sequences as a blob + * @link https://php.net/manual/en/imagick.getimagesblob.php + * @return string a string containing the images. On failure, throws ImagickException on failure + * @throws ImagickException on failure + */ + public function getImagesBlob () {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the Imagick iterator to the first image + * @link https://php.net/manual/en/imagick.setfirstiterator.php + * @return bool TRUE on success. + */ + public function setFirstIterator () {} + + /** + * (PECL imagick 2.0.1)
+ * Sets the Imagick iterator to the last image + * @link https://php.net/manual/en/imagick.setlastiterator.php + * @return bool TRUE on success. + */ + public function setLastIterator () {} + + public function resetIterator () {} + + /** + * (PECL imagick 2.0.0)
+ * Move to the previous image in the object + * @link https://php.net/manual/en/imagick.previousimage.php + * @return bool TRUE on success. + */ + public function previousImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Moves to the next image + * @link https://php.net/manual/en/imagick.nextimage.php + * @return bool TRUE on success. + */ + public function nextImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Checks if the object has a previous image + * @link https://php.net/manual/en/imagick.haspreviousimage.php + * @return bool TRUE if the object has more images when traversing the list in the + * reverse direction, returns FALSE if there are none. + */ + public function hasPreviousImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Checks if the object has more images + * @link https://php.net/manual/en/imagick.hasnextimage.php + * @return bool TRUE if the object has more images when traversing the list in the + * forward direction, returns FALSE if there are none. + */ + public function hasNextImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Set the iterator position + * @link https://php.net/manual/en/imagick.setimageindex.php + * @param int $index

+ * The position to set the iterator to + *

+ * @return bool TRUE on success. + */ + public function setImageIndex ($index) {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the index of the current active image + * @link https://php.net/manual/en/imagick.getimageindex.php + * @return int an integer containing the index of the image in the stack. + */ + public function getImageIndex () {} + + /** + * (PECL imagick 2.0.0)
+ * Adds a comment to your image + * @link https://php.net/manual/en/imagick.commentimage.php + * @param string $comment

+ * The comment to add + *

+ * @return bool TRUE on success. + */ + public function commentImage ($comment) {} + + /** + * (PECL imagick 2.0.0)
+ * Extracts a region of the image + * @link https://php.net/manual/en/imagick.cropimage.php + * @param int $width

+ * The width of the crop + *

+ * @param int $height

+ * The height of the crop + *

+ * @param int $x

+ * The X coordinate of the cropped region's top left corner + *

+ * @param int $y

+ * The Y coordinate of the cropped region's top left corner + *

+ * @return bool TRUE on success. + */ + public function cropImage ($width, $height, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Adds a label to an image + * @link https://php.net/manual/en/imagick.labelimage.php + * @param string $label

+ * The label to add + *

+ * @return bool TRUE on success. + */ + public function labelImage ($label) {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the width and height as an associative array + * @link https://php.net/manual/en/imagick.getimagegeometry.php + * @return array an array with the width/height of the image. + */ + public function getImageGeometry () {} + + /** + * (PECL imagick 2.0.0)
+ * Renders the ImagickDraw object on the current image + * @link https://php.net/manual/en/imagick.drawimage.php + * @param ImagickDraw $draw

+ * The drawing operations to render on the image. + *

+ * @return bool TRUE on success. + */ + public function drawImage (ImagickDraw $draw) {} + + /** + * (No version information available, might only be in SVN)
+ * Sets the image compression quality + * @link https://php.net/manual/en/imagick.setimagecompressionquality.php + * @param int $quality

+ * The image compression quality as an integer + *

+ * @return bool TRUE on success. + */ + public function setImageCompressionQuality ($quality) {} + + /** + * (PECL imagick 2.2.2)
+ * Gets the current image's compression quality + * @link https://php.net/manual/en/imagick.getimagecompressionquality.php + * @return int integer describing the images compression quality + */ + public function getImageCompressionQuality () {} + + /** + * (PECL imagick 2.0.0)
+ * Annotates an image with text + * @link https://php.net/manual/en/imagick.annotateimage.php + * @param ImagickDraw $draw_settings

+ * The ImagickDraw object that contains settings for drawing the text + *

+ * @param float $x

+ * Horizontal offset in pixels to the left of text + *

+ * @param float $y

+ * Vertical offset in pixels to the baseline of text + *

+ * @param float $angle

+ * The angle at which to write the text + *

+ * @param string $text

+ * The string to draw + *

+ * @return bool TRUE on success. + */ + public function annotateImage (ImagickDraw $draw_settings, $x, $y, $angle, $text) {} + + /** + * (PECL imagick 2.0.0)
+ * Composite one image onto another + * @link https://php.net/manual/en/imagick.compositeimage.php + * @param Imagick $composite_object

+ * Imagick object which holds the composite image + *

+ * @param int $composite Composite operator + * @param int $x

+ * The column offset of the composited image + *

+ * @param int $y

+ * The row offset of the composited image + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this list of channel constants. + *

+ * @return bool TRUE on success. + */ + public function compositeImage (Imagick $composite_object, $composite, $x, $y, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Control the brightness, saturation, and hue + * @link https://php.net/manual/en/imagick.modulateimage.php + * @param float $brightness + * @param float $saturation + * @param float $hue + * @return bool TRUE on success. + */ + public function modulateImage ($brightness, $saturation, $hue) {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the number of unique colors in the image + * @link https://php.net/manual/en/imagick.getimagecolors.php + * @return int TRUE on success. + */ + public function getImageColors () {} + + /** + * (PECL imagick 2.0.0)
+ * Creates a composite image + * @link https://php.net/manual/en/imagick.montageimage.php + * @param ImagickDraw $draw

+ * The font name, size, and color are obtained from this object. + *

+ * @param string $tile_geometry

+ * The number of tiles per row and page (e.g. 6x4+0+0). + *

+ * @param string $thumbnail_geometry

+ * Preferred image size and border size of each thumbnail + * (e.g. 120x120+4+3>). + *

+ * @param int $mode

+ * Thumbnail framing mode, see Montage Mode constants. + *

+ * @param string $frame

+ * Surround the image with an ornamental border (e.g. 15x15+3+3). The + * frame color is that of the thumbnail's matte color. + *

+ * @return Imagick TRUE on success. + */ + public function montageImage (ImagickDraw $draw, $tile_geometry, $thumbnail_geometry, $mode, $frame) {} + + /** + * (PECL imagick 2.0.0)
+ * Identifies an image and fetches attributes + * @link https://php.net/manual/en/imagick.identifyimage.php + * @param bool $appendRawOutput [optional] + * @return array Identifies an image and returns the attributes. Attributes include + * the image width, height, size, and others. + */ + public function identifyImage ($appendRawOutput = false) {} + + /** + * (PECL imagick 2.0.0)
+ * Changes the value of individual pixels based on a threshold + * @link https://php.net/manual/en/imagick.thresholdimage.php + * @param float $threshold + * @param int $channel [optional] + * @return bool TRUE on success. + */ + public function thresholdImage ($threshold, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Selects a threshold for each pixel based on a range of intensity + * @link https://php.net/manual/en/imagick.adaptivethresholdimage.php + * @param int $width

+ * Width of the local neighborhood. + *

+ * @param int $height

+ * Height of the local neighborhood. + *

+ * @param int $offset

+ * The mean offset + *

+ * @return bool TRUE on success. + */ + public function adaptiveThresholdImage ($width, $height, $offset) {} + + /** + * (PECL imagick 2.0.0)
+ * Forces all pixels below the threshold into black + * @link https://php.net/manual/en/imagick.blackthresholdimage.php + * @param mixed $threshold

+ * The threshold below which everything turns black + *

+ * @return bool TRUE on success. + */ + public function blackThresholdImage ($threshold) {} + + /** + * (PECL imagick 2.0.0)
+ * Force all pixels above the threshold into white + * @link https://php.net/manual/en/imagick.whitethresholdimage.php + * @param mixed $threshold + * @return bool TRUE on success. + */ + public function whiteThresholdImage ($threshold) {} + + /** + * (PECL imagick 2.0.0)
+ * Append a set of images + * @link https://php.net/manual/en/imagick.appendimages.php + * @param bool $stack [optional]

+ * Whether to stack the images vertically. + * By default (or if FALSE is specified) images are stacked left-to-right. + * If stack is TRUE, images are stacked top-to-bottom. + *

+ * @return Imagick Imagick instance on success. + */ + public function appendImages ($stack = false) {} + + /** + * (PECL imagick 2.0.0)
+ * Simulates a charcoal drawing + * @link https://php.net/manual/en/imagick.charcoalimage.php + * @param float $radius

+ * The radius of the Gaussian, in pixels, not counting the center pixel + *

+ * @param float $sigma

+ * The standard deviation of the Gaussian, in pixels + *

+ * @return bool TRUE on success. + */ + public function charcoalImage ($radius, $sigma) {} + + /** + * (PECL imagick 2.0.0)
+ * Enhances the contrast of a color image + * @link https://php.net/manual/en/imagick.normalizeimage.php + * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return bool TRUE on success. + */ + public function normalizeImage ($channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Simulates an oil painting + * @link https://php.net/manual/en/imagick.oilpaintimage.php + * @param float $radius

+ * The radius of the circular neighborhood. + *

+ * @return bool TRUE on success. + */ + public function oilPaintImage ($radius) {} + + /** + * (PECL imagick 2.0.0)
+ * Reduces the image to a limited number of color level + * @link https://php.net/manual/en/imagick.posterizeimage.php + * @param int $levels + * @param bool $dither + * @return bool TRUE on success. + */ + public function posterizeImage ($levels, $dither) {} + + /** + * (PECL imagick 2.0.0)
+ * Radial blurs an image + * @link https://php.net/manual/en/imagick.radialblurimage.php + * @param float $angle + * @param int $channel [optional] + * @return bool TRUE on success. + */ + public function radialBlurImage ($angle, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Creates a simulated 3d button-like effect + * @link https://php.net/manual/en/imagick.raiseimage.php + * @param int $width + * @param int $height + * @param int $x + * @param int $y + * @param bool $raise + * @return bool TRUE on success. + */ + public function raiseImage ($width, $height, $x, $y, $raise) {} + + /** + * (PECL imagick 2.0.0)
+ * Resample image to desired resolution + * @link https://php.net/manual/en/imagick.resampleimage.php + * @param float $x_resolution + * @param float $y_resolution + * @param int $filter + * @param float $blur + * @return bool TRUE on success. + */ + public function resampleImage ($x_resolution, $y_resolution, $filter, $blur) {} + + /** + * Scales an image to the desired dimensions with one of these filters:
+ * If legacy is true, the calculations are done with the small rounding bug that existed in Imagick before 3.4.0.
+ * If false, the calculations should produce the same results as ImageMagick CLI does.
+ *
+ * Note: The behavior of the parameter bestfit changed in Imagick 3.0.0. Before this version given dimensions 400x400 an image of dimensions 200x150 would be left untouched.
+ * In Imagick 3.0.0 and later the image would be scaled up to size 400x300 as this is the "best fit" for the given dimensions. If bestfit parameter is used both width and height must be given. + * @link https://php.net/manual/en/imagick.resizeimage.php + * @param int $columns Width of the image + * @param int $rows Height of the image + * @param int $filter Refer to the list of filter constants. + * @param float $blur The blur factor where > 1 is blurry, < 1 is sharp. + * @param bool $bestfit [optional] Added since 2.1.0. Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling + * @param bool $legacy [optional] Added since 3.4.0. Default value FALSE + * @return bool TRUE on success + * @since 2.0.0 + */ + public function resizeImage ($columns, $rows, $filter, $blur, $bestfit = false, $legacy = false) {} + + /** + * (PECL imagick 2.0.0)
+ * Offsets an image + * @link https://php.net/manual/en/imagick.rollimage.php + * @param int $x

+ * The X offset. + *

+ * @param int $y

+ * The Y offset. + *

+ * @return bool TRUE on success. + */ + public function rollImage ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Rotates an image + * @link https://php.net/manual/en/imagick.rotateimage.php + * @param mixed $background

+ * The background color + *

+ * @param float $degrees

+ * The number of degrees to rotate the image + *

+ * @return bool TRUE on success. + */ + public function rotateImage ($background, $degrees) {} + + /** + * (PECL imagick 2.0.0)
+ * Scales an image with pixel sampling + * @link https://php.net/manual/en/imagick.sampleimage.php + * @param int $columns + * @param int $rows + * @return bool TRUE on success. + */ + public function sampleImage ($columns, $rows) {} + + /** + * (PECL imagick 2.0.0)
+ * Applies a solarizing effect to the image + * @link https://php.net/manual/en/imagick.solarizeimage.php + * @param int $threshold + * @return bool TRUE on success. + */ + public function solarizeImage ($threshold) {} + + /** + * (PECL imagick 2.0.0)
+ * Simulates an image shadow + * @link https://php.net/manual/en/imagick.shadowimage.php + * @param float $opacity + * @param float $sigma + * @param int $x + * @param int $y + * @return bool TRUE on success. + */ + public function shadowImage ($opacity, $sigma, $x, $y) {} + + /** + * @param $key + * @param $value + */ + public function setImageAttribute ($key, $value) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image background color + * @link https://php.net/manual/en/imagick.setimagebackgroundcolor.php + * @param mixed $background + * @return bool TRUE on success. + */ + public function setImageBackgroundColor ($background) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image composite operator + * @link https://php.net/manual/en/imagick.setimagecompose.php + * @param int $compose + * @return bool TRUE on success. + */ + public function setImageCompose ($compose) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image compression + * @link https://php.net/manual/en/imagick.setimagecompression.php + * @param int $compression

+ * One of the COMPRESSION constants + *

+ * @return bool TRUE on success. + */ + public function setImageCompression ($compression) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image delay + * @link https://php.net/manual/en/imagick.setimagedelay.php + * @param int $delay

+ * The amount of time expressed in 'ticks' that the image should be + * displayed for. For animated GIFs there are 100 ticks per second, so a + * value of 20 would be 20/100 of a second aka 1/5th of a second. + *

+ * @return bool TRUE on success. + */ + public function setImageDelay ($delay) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image depth + * @link https://php.net/manual/en/imagick.setimagedepth.php + * @param int $depth + * @return bool TRUE on success. + */ + public function setImageDepth ($depth) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image gamma + * @link https://php.net/manual/en/imagick.setimagegamma.php + * @param float $gamma + * @return bool TRUE on success. + */ + public function setImageGamma ($gamma) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image iterations + * @link https://php.net/manual/en/imagick.setimageiterations.php + * @param int $iterations

+ * The number of iterations the image should loop over. Set to '0' to loop + * continuously. + *

+ * @return bool TRUE on success. + */ + public function setImageIterations ($iterations) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image matte color + * @link https://php.net/manual/en/imagick.setimagemattecolor.php + * @param mixed $matte + * @return bool TRUE on success. + */ + public function setImageMatteColor ($matte) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the page geometry of the image + * @link https://php.net/manual/en/imagick.setimagepage.php + * @param int $width + * @param int $height + * @param int $x + * @param int $y + * @return bool TRUE on success. + */ + public function setImagePage ($width, $height, $x, $y) {} + + /** + * @param $filename + */ + public function setImageProgressMonitor ($filename) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image resolution + * @link https://php.net/manual/en/imagick.setimageresolution.php + * @param float $x_resolution + * @param float $y_resolution + * @return bool TRUE on success. + */ + public function setImageResolution ($x_resolution, $y_resolution) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image scene + * @link https://php.net/manual/en/imagick.setimagescene.php + * @param int $scene + * @return bool TRUE on success. + */ + public function setImageScene ($scene) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image ticks-per-second + * @link https://php.net/manual/en/imagick.setimagetickspersecond.php + * @param int $ticks_per_second

+ * The duration for which an image should be displayed expressed in ticks + * per second. + *

+ * @return bool TRUE on success. + */ + public function setImageTicksPerSecond ($ticks_per_second) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image type + * @link https://php.net/manual/en/imagick.setimagetype.php + * @param int $image_type + * @return bool TRUE on success. + */ + public function setImageType ($image_type) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image units of resolution + * @link https://php.net/manual/en/imagick.setimageunits.php + * @param int $units + * @return bool TRUE on success. + */ + public function setImageUnits ($units) {} + + /** + * (PECL imagick 2.0.0)
+ * Sharpens an image + * @link https://php.net/manual/en/imagick.sharpenimage.php + * @param float $radius + * @param float $sigma + * @param int $channel [optional] + * @return bool TRUE on success. + */ + public function sharpenImage ($radius, $sigma, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Shaves pixels from the image edges + * @link https://php.net/manual/en/imagick.shaveimage.php + * @param int $columns + * @param int $rows + * @return bool TRUE on success. + */ + public function shaveImage ($columns, $rows) {} + + /** + * (PECL imagick 2.0.0)
+ * Creating a parallelogram + * @link https://php.net/manual/en/imagick.shearimage.php + * @param mixed $background

+ * The background color + *

+ * @param float $x_shear

+ * The number of degrees to shear on the x axis + *

+ * @param float $y_shear

+ * The number of degrees to shear on the y axis + *

+ * @return bool TRUE on success. + */ + public function shearImage ($background, $x_shear, $y_shear) {} + + /** + * (PECL imagick 2.0.0)
+ * Splices a solid color into the image + * @link https://php.net/manual/en/imagick.spliceimage.php + * @param int $width + * @param int $height + * @param int $x + * @param int $y + * @return bool TRUE on success. + */ + public function spliceImage ($width, $height, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Fetch basic attributes about the image + * @link https://php.net/manual/en/imagick.pingimage.php + * @param string $filename

+ * The filename to read the information from. + *

+ * @return bool TRUE on success. + */ + public function pingImage ($filename) {} + + /** + * (PECL imagick 2.0.0)
+ * Reads image from open filehandle + * @link https://php.net/manual/en/imagick.readimagefile.php + * @param resource $filehandle + * @param string $fileName [optional] + * @return bool TRUE on success. + */ + public function readImageFile ($filehandle, $fileName = null) {} + + /** + * (PECL imagick 2.0.0)
+ * Displays an image + * @link https://php.net/manual/en/imagick.displayimage.php + * @param string $servername

+ * The X server name + *

+ * @return bool TRUE on success. + */ + public function displayImage ($servername) {} + + /** + * (PECL imagick 2.0.0)
+ * Displays an image or image sequence + * @link https://php.net/manual/en/imagick.displayimages.php + * @param string $servername

+ * The X server name + *

+ * @return bool TRUE on success. + */ + public function displayImages ($servername) {} + + /** + * (PECL imagick 2.0.0)
+ * Randomly displaces each pixel in a block + * @link https://php.net/manual/en/imagick.spreadimage.php + * @param float $radius + * @return bool TRUE on success. + */ + public function spreadImage ($radius) {} + + /** + * (PECL imagick 2.0.0)
+ * Swirls the pixels about the center of the image + * @link https://php.net/manual/en/imagick.swirlimage.php + * @param float $degrees + * @return bool TRUE on success. + */ + public function swirlImage ($degrees) {} + + /** + * (PECL imagick 2.0.0)
+ * Strips an image of all profiles and comments + * @link https://php.net/manual/en/imagick.stripimage.php + * @return bool TRUE on success. + */ + public function stripImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns formats supported by Imagick + * @link https://php.net/manual/en/imagick.queryformats.php + * @param string $pattern [optional] + * @return array an array containing the formats supported by Imagick. + */ + public static function queryFormats ($pattern = "*") {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the configured fonts + * @link https://php.net/manual/en/imagick.queryfonts.php + * @param string $pattern [optional]

+ * The query pattern + *

+ * @return array an array containing the configured fonts. + */ + public static function queryFonts ($pattern = "*") {} + + /** + * (PECL imagick 2.0.0)
+ * Returns an array representing the font metrics + * @link https://php.net/manual/en/imagick.queryfontmetrics.php + * @param ImagickDraw $properties

+ * ImagickDraw object containing font properties + *

+ * @param string $text

+ * The text + *

+ * @param bool $multiline [optional]

+ * Multiline parameter. If left empty it is autodetected + *

+ * @return array a multi-dimensional array representing the font metrics. + */ + public function queryFontMetrics (ImagickDraw $properties, $text, $multiline = null) {} + + /** + * (PECL imagick 2.0.0)
+ * Hides a digital watermark within the image + * @link https://php.net/manual/en/imagick.steganoimage.php + * @param Imagick $watermark_wand + * @param int $offset + * @return Imagick TRUE on success. + */ + public function steganoImage (Imagick $watermark_wand, $offset) {} + + /** + * (PECL imagick 2.0.0)
+ * Adds random noise to the image + * @link https://php.net/manual/en/imagick.addnoiseimage.php + * @param int $noise_type

+ * The type of the noise. Refer to this list of + * noise constants. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + *

+ * @return bool TRUE on success. + */ + public function addNoiseImage ($noise_type, $channel = Imagick::CHANNEL_DEFAULT) {} + + /** + * (PECL imagick 2.0.0)
+ * Simulates motion blur + * @link https://php.net/manual/en/imagick.motionblurimage.php + * @param float $radius

+ * The radius of the Gaussian, in pixels, not counting the center pixel. + *

+ * @param float $sigma

+ * The standard deviation of the Gaussian, in pixels. + *

+ * @param float $angle

+ * Apply the effect along this angle. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + * The channel argument affects only if Imagick is compiled against ImageMagick version + * 6.4.4 or greater. + *

+ * @return bool TRUE on success. + */ + public function motionBlurImage ($radius, $sigma, $angle, $channel = Imagick::CHANNEL_DEFAULT) {} + + /** + * (PECL imagick 2.0.0)
+ * Forms a mosaic from images + * @link https://php.net/manual/en/imagick.mosaicimages.php + * @return Imagick TRUE on success. + */ + public function mosaicImages () {} + + /** + * (PECL imagick 2.0.0)
+ * Method morphs a set of images + * @link https://php.net/manual/en/imagick.morphimages.php + * @param int $number_frames

+ * The number of in-between images to generate. + *

+ * @return Imagick This method returns a new Imagick object on success. + * Throw an ImagickException on error. + * @throws ImagickException on error + */ + public function morphImages ($number_frames) {} + + /** + * (PECL imagick 2.0.0)
+ * Scales an image proportionally to half its size + * @link https://php.net/manual/en/imagick.minifyimage.php + * @return bool TRUE on success. + */ + public function minifyImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Transforms an image + * @link https://php.net/manual/en/imagick.affinetransformimage.php + * @param ImagickDraw $matrix

+ * The affine matrix + *

+ * @return bool TRUE on success. + */ + public function affineTransformImage (ImagickDraw $matrix) {} + + /** + * (PECL imagick 2.0.0)
+ * Average a set of images + * @link https://php.net/manual/en/imagick.averageimages.php + * @return Imagick a new Imagick object on success. + */ + public function averageImages () {} + + /** + * (PECL imagick 2.0.0)
+ * Surrounds the image with a border + * @link https://php.net/manual/en/imagick.borderimage.php + * @param mixed $bordercolor

+ * ImagickPixel object or a string containing the border color + *

+ * @param int $width

+ * Border width + *

+ * @param int $height

+ * Border height + *

+ * @return bool TRUE on success. + */ + public function borderImage ($bordercolor, $width, $height) {} + + /** + * (PECL imagick 2.0.0)
+ * Removes a region of an image and trims + * @link https://php.net/manual/en/imagick.chopimage.php + * @param int $width

+ * Width of the chopped area + *

+ * @param int $height

+ * Height of the chopped area + *

+ * @param int $x

+ * X origo of the chopped area + *

+ * @param int $y

+ * Y origo of the chopped area + *

+ * @return bool TRUE on success. + */ + public function chopImage ($width, $height, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Clips along the first path from the 8BIM profile + * @link https://php.net/manual/en/imagick.clipimage.php + * @return bool TRUE on success. + */ + public function clipImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Clips along the named paths from the 8BIM profile + * @link https://php.net/manual/en/imagick.clippathimage.php + * @param string $pathname

+ * The name of the path + *

+ * @param bool $inside

+ * If TRUE later operations take effect inside clipping path. + * Otherwise later operations take effect outside clipping path. + *

+ * @return bool TRUE on success. + */ + public function clipPathImage ($pathname, $inside) {} + + /** + * @param $pathname + * @param $inside + */ + public function clipImagePath ($pathname, $inside) {} + + /** + * (PECL imagick 2.0.0)
+ * Composites a set of images + * @link https://php.net/manual/en/imagick.coalesceimages.php + * @return Imagick a new Imagick object on success. + */ + public function coalesceImages () {} + + /** + * (PECL imagick 2.0.0)
+ * Changes the color value of any pixel that matches target + * @link https://php.net/manual/en/imagick.colorfloodfillimage.php + * @param mixed $fill

+ * ImagickPixel object containing the fill color + *

+ * @param float $fuzz

+ * The amount of fuzz. For example, set fuzz to 10 and the color red at + * intensities of 100 and 102 respectively are now interpreted as the + * same color for the purposes of the floodfill. + *

+ * @param mixed $bordercolor

+ * ImagickPixel object containing the border color + *

+ * @param int $x

+ * X start position of the floodfill + *

+ * @param int $y

+ * Y start position of the floodfill + *

+ * @return bool TRUE on success. + */ + public function colorFloodfillImage ($fill, $fuzz, $bordercolor, $x, $y) {} + + /** + * Blends the fill color with each pixel in the image. The 'opacity' color is a per channel strength factor for how strongly the color should be applied.
+ * If legacy is true, the behaviour of this function is incorrect, but consistent with how it behaved before Imagick version 3.4.0 + * @link https://php.net/manual/en/imagick.colorizeimage.php + * @param mixed $colorize

+ * ImagickPixel object or a string containing the colorize color + *

+ * @param mixed $opacity

+ * ImagickPixel object or an float containing the opacity value. + * 1.0 is fully opaque and 0.0 is fully transparent. + *

+ * @param bool $legacy [optional] Added since 3.4.0. Default value FALSE + * @return bool TRUE on success. + * @throws ImagickException Throws ImagickException on error + * @since 2.0.0 + */ + public function colorizeImage ($colorize, $opacity, $legacy = false) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the difference in one or more images + * @link https://php.net/manual/en/imagick.compareimagechannels.php + * @param Imagick $image

+ * Imagick object containing the image to compare. + *

+ * @param int $channelType

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @param int $metricType

+ * One of the metric type constants. + *

+ * @return array Array consisting of new_wand and + * distortion. + */ + public function compareImageChannels (Imagick $image, $channelType, $metricType) {} + + /** + * (PECL imagick 2.0.0)
+ * Compares an image to a reconstructed image + * @link https://php.net/manual/en/imagick.compareimages.php + * @param Imagick $compare

+ * An image to compare to. + *

+ * @param int $metric

+ * Provide a valid metric type constant. Refer to this + * list of metric constants. + *

+ * @return array Array consisting of an Imagick object of the + * reconstructed image and a double representing the difference. + * @throws ImagickException Throws ImagickException on error. + */ + public function compareImages (Imagick $compare, $metric) {} + + /** + * (PECL imagick 2.0.0)
+ * Change the contrast of the image + * @link https://php.net/manual/en/imagick.contrastimage.php + * @param bool $sharpen

+ * The sharpen value + *

+ * @return bool TRUE on success. + */ + public function contrastImage ($sharpen) {} + + /** + * (PECL imagick 2.0.0)
+ * Combines one or more images into a single image + * @link https://php.net/manual/en/imagick.combineimages.php + * @param int $channelType

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return Imagick TRUE on success. + */ + public function combineImages ($channelType) {} + + /** + * (PECL imagick 2.0.0)
+ * Applies a custom convolution kernel to the image + * @link https://php.net/manual/en/imagick.convolveimage.php + * @param array $kernel

+ * The convolution kernel + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return bool TRUE on success. + */ + public function convolveImage (array $kernel, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Displaces an image's colormap + * @link https://php.net/manual/en/imagick.cyclecolormapimage.php + * @param int $displace

+ * The amount to displace the colormap. + *

+ * @return bool TRUE on success. + */ + public function cycleColormapImage ($displace) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns certain pixel differences between images + * @link https://php.net/manual/en/imagick.deconstructimages.php + * @return Imagick a new Imagick object on success. + */ + public function deconstructImages () {} + + /** + * (PECL imagick 2.0.0)
+ * Reduces the speckle noise in an image + * @link https://php.net/manual/en/imagick.despeckleimage.php + * @return bool TRUE on success. + */ + public function despeckleImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Enhance edges within the image + * @link https://php.net/manual/en/imagick.edgeimage.php + * @param float $radius

+ * The radius of the operation. + *

+ * @return bool TRUE on success. + */ + public function edgeImage ($radius) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns a grayscale image with a three-dimensional effect + * @link https://php.net/manual/en/imagick.embossimage.php + * @param float $radius

+ * The radius of the effect + *

+ * @param float $sigma

+ * The sigma of the effect + *

+ * @return bool TRUE on success. + */ + public function embossImage ($radius, $sigma) {} + + /** + * (PECL imagick 2.0.0)
+ * Improves the quality of a noisy image + * @link https://php.net/manual/en/imagick.enhanceimage.php + * @return bool TRUE on success. + */ + public function enhanceImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Equalizes the image histogram + * @link https://php.net/manual/en/imagick.equalizeimage.php + * @return bool TRUE on success. + */ + public function equalizeImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Applies an expression to an image + * @link https://php.net/manual/en/imagick.evaluateimage.php + * @param int $op

+ * The evaluation operator + *

+ * @param float $constant

+ * The value of the operator + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return bool TRUE on success. + */ + public function evaluateImage ($op, $constant, $channel = Imagick::CHANNEL_ALL) {} + + /** + * Merges a sequence of images. This is useful for combining Photoshop layers into a single image. + * This is replaced by: + *
+	 * $im = $im->mergeImageLayers(\Imagick::LAYERMETHOD_FLATTEN)
+	 * 
+ * @link https://php.net/manual/en/imagick.flattenimages.php + * @return Imagick Returns an Imagick object containing the merged image. + * @throws ImagickException Throws ImagickException on error. + * @since 2.0.0 + */ + public function flattenImages () {} + + /** + * (PECL imagick 2.0.0)
+ * Creates a vertical mirror image + * @link https://php.net/manual/en/imagick.flipimage.php + * @return bool TRUE on success. + */ + public function flipImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Creates a horizontal mirror image + * @link https://php.net/manual/en/imagick.flopimage.php + * @return bool TRUE on success. + */ + public function flopImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Adds a simulated three-dimensional border + * @link https://php.net/manual/en/imagick.frameimage.php + * @param mixed $matte_color

+ * ImagickPixel object or a string representing the matte color + *

+ * @param int $width

+ * The width of the border + *

+ * @param int $height

+ * The height of the border + *

+ * @param int $inner_bevel

+ * The inner bevel width + *

+ * @param int $outer_bevel

+ * The outer bevel width + *

+ * @return bool TRUE on success. + */ + public function frameImage ($matte_color, $width, $height, $inner_bevel, $outer_bevel) {} + + /** + * (PECL imagick 2.0.0)
+ * Evaluate expression for each pixel in the image + * @link https://php.net/manual/en/imagick.fximage.php + * @param string $expression

+ * The expression. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return Imagick TRUE on success. + */ + public function fxImage ($expression, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Gamma-corrects an image + * @link https://php.net/manual/en/imagick.gammaimage.php + * @param float $gamma

+ * The amount of gamma-correction. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return bool TRUE on success. + */ + public function gammaImage ($gamma, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Blurs an image + * @link https://php.net/manual/en/imagick.gaussianblurimage.php + * @param float $radius

+ * The radius of the Gaussian, in pixels, not counting the center pixel. + *

+ * @param float $sigma

+ * The standard deviation of the Gaussian, in pixels. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return bool TRUE on success. + */ + public function gaussianBlurImage ($radius, $sigma, $channel = Imagick::CHANNEL_ALL) {} + + /** + * @param $key + */ + public function getImageAttribute ($key) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the image background color + * @link https://php.net/manual/en/imagick.getimagebackgroundcolor.php + * @return ImagickPixel an ImagickPixel set to the background color of the image. + */ + public function getImageBackgroundColor () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the chromaticy blue primary point + * @link https://php.net/manual/en/imagick.getimageblueprimary.php + * @return array Array consisting of "x" and "y" coordinates of point. + */ + public function getImageBluePrimary () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the image border color + * @link https://php.net/manual/en/imagick.getimagebordercolor.php + * @return ImagickPixel TRUE on success. + */ + public function getImageBorderColor () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the depth for a particular image channel + * @link https://php.net/manual/en/imagick.getimagechanneldepth.php + * @param int $channel

+ * Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + *

+ * @return int TRUE on success. + */ + public function getImageChannelDepth ($channel) {} + + /** + * (PECL imagick 2.0.0)
+ * Compares image channels of an image to a reconstructed image + * @link https://php.net/manual/en/imagick.getimagechanneldistortion.php + * @param Imagick $reference

+ * Imagick object to compare to. + *

+ * @param int $channel

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @param int $metric

+ * One of the metric type constants. + *

+ * @return float TRUE on success. + */ + public function getImageChannelDistortion (Imagick $reference, $channel, $metric) {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the extrema for one or more image channels + * @link https://php.net/manual/en/imagick.getimagechannelextrema.php + * @param int $channel

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return array TRUE on success. + */ + public function getImageChannelExtrema ($channel) {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the mean and standard deviation + * @link https://php.net/manual/en/imagick.getimagechannelmean.php + * @param int $channel

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return array TRUE on success. + */ + public function getImageChannelMean ($channel) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns statistics for each channel in the image + * @link https://php.net/manual/en/imagick.getimagechannelstatistics.php + * @return array TRUE on success. + */ + public function getImageChannelStatistics () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the color of the specified colormap index + * @link https://php.net/manual/en/imagick.getimagecolormapcolor.php + * @param int $index

+ * The offset into the image colormap. + *

+ * @return ImagickPixel TRUE on success. + */ + public function getImageColormapColor ($index) {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image colorspace + * @link https://php.net/manual/en/imagick.getimagecolorspace.php + * @return int TRUE on success. + */ + public function getImageColorspace () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the composite operator associated with the image + * @link https://php.net/manual/en/imagick.getimagecompose.php + * @return int TRUE on success. + */ + public function getImageCompose () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image delay + * @link https://php.net/manual/en/imagick.getimagedelay.php + * @return int the image delay. + */ + public function getImageDelay () {} + + /** + * (PECL imagick 0.9.1-0.9.9)
+ * Gets the image depth + * @link https://php.net/manual/en/imagick.getimagedepth.php + * @return int The image depth. + */ + public function getImageDepth () {} + + /** + * (PECL imagick 2.0.0)
+ * Compares an image to a reconstructed image + * @link https://php.net/manual/en/imagick.getimagedistortion.php + * @param Imagick $reference

+ * Imagick object to compare to. + *

+ * @param int $metric

+ * One of the metric type constants. + *

+ * @return float the distortion metric used on the image (or the best guess + * thereof). + */ + public function getImageDistortion (Imagick $reference, $metric) {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the extrema for the image + * @link https://php.net/manual/en/imagick.getimageextrema.php + * @return array an associative array with the keys "min" and "max". + */ + public function getImageExtrema () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image disposal method + * @link https://php.net/manual/en/imagick.getimagedispose.php + * @return int the dispose method on success. + */ + public function getImageDispose () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image gamma + * @link https://php.net/manual/en/imagick.getimagegamma.php + * @return float the image gamma on success. + */ + public function getImageGamma () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the chromaticy green primary point + * @link https://php.net/manual/en/imagick.getimagegreenprimary.php + * @return array an array with the keys "x" and "y" on success, throws an ImagickException on failure. + * @throws ImagickException on failure + */ + public function getImageGreenPrimary () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the image height + * @link https://php.net/manual/en/imagick.getimageheight.php + * @return int the image height in pixels. + */ + public function getImageHeight () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image histogram + * @link https://php.net/manual/en/imagick.getimagehistogram.php + * @return array the image histogram as an array of ImagickPixel objects. + */ + public function getImageHistogram () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image interlace scheme + * @link https://php.net/manual/en/imagick.getimageinterlacescheme.php + * @return int the interlace scheme as an integer on success. + * Trhow an ImagickException on error. + * @throws ImagickException on error + */ + public function getImageInterlaceScheme () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image iterations + * @link https://php.net/manual/en/imagick.getimageiterations.php + * @return int the image iterations as an integer. + */ + public function getImageIterations () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the image matte color + * @link https://php.net/manual/en/imagick.getimagemattecolor.php + * @return ImagickPixel ImagickPixel object on success. + */ + public function getImageMatteColor () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the page geometry + * @link https://php.net/manual/en/imagick.getimagepage.php + * @return array the page geometry associated with the image in an array with the + * keys "width", "height", "x", and "y". + */ + public function getImagePage () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the color of the specified pixel + * @link https://php.net/manual/en/imagick.getimagepixelcolor.php + * @param int $x

+ * The x-coordinate of the pixel + *

+ * @param int $y

+ * The y-coordinate of the pixel + *

+ * @return ImagickPixel an ImagickPixel instance for the color at the coordinates given. + */ + public function getImagePixelColor ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the named image profile + * @link https://php.net/manual/en/imagick.getimageprofile.php + * @param string $name

+ * The name of the profile to return. + *

+ * @return string a string containing the image profile. + */ + public function getImageProfile ($name) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the chromaticity red primary point + * @link https://php.net/manual/en/imagick.getimageredprimary.php + * @return array the chromaticity red primary point as an array with the keys "x" + * and "y". + * Throw an ImagickException on error. + * @throws ImagickException on error + */ + public function getImageRedPrimary () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image rendering intent + * @link https://php.net/manual/en/imagick.getimagerenderingintent.php + * @return int the image rendering intent. + */ + public function getImageRenderingIntent () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image X and Y resolution + * @link https://php.net/manual/en/imagick.getimageresolution.php + * @return array the resolution as an array. + */ + public function getImageResolution () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image scene + * @link https://php.net/manual/en/imagick.getimagescene.php + * @return int the image scene. + */ + public function getImageScene () {} + + /** + * (PECL imagick 2.0.0)
+ * Generates an SHA-256 message digest + * @link https://php.net/manual/en/imagick.getimagesignature.php + * @return string a string containing the SHA-256 hash of the file. + */ + public function getImageSignature () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image ticks-per-second + * @link https://php.net/manual/en/imagick.getimagetickspersecond.php + * @return int the image ticks-per-second. + */ + public function getImageTicksPerSecond () {} + + /** + * (PECL imagick 0.9.10-0.9.9)
+ * Gets the potential image type + * @link https://php.net/manual/en/imagick.getimagetype.php + * @return int the potential image type. + * imagick::IMGTYPE_UNDEFINED + * imagick::IMGTYPE_BILEVEL + * imagick::IMGTYPE_GRAYSCALE + * imagick::IMGTYPE_GRAYSCALEMATTE + * imagick::IMGTYPE_PALETTE + * imagick::IMGTYPE_PALETTEMATTE + * imagick::IMGTYPE_TRUECOLOR + * imagick::IMGTYPE_TRUECOLORMATTE + * imagick::IMGTYPE_COLORSEPARATION + * imagick::IMGTYPE_COLORSEPARATIONMATTE + * imagick::IMGTYPE_OPTIMIZE + */ + public function getImageType () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image units of resolution + * @link https://php.net/manual/en/imagick.getimageunits.php + * @return int the image units of resolution. + */ + public function getImageUnits () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the virtual pixel method + * @link https://php.net/manual/en/imagick.getimagevirtualpixelmethod.php + * @return int the virtual pixel method on success. + */ + public function getImageVirtualPixelMethod () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the chromaticity white point + * @link https://php.net/manual/en/imagick.getimagewhitepoint.php + * @return array the chromaticity white point as an associative array with the keys + * "x" and "y". + */ + public function getImageWhitePoint () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the image width + * @link https://php.net/manual/en/imagick.getimagewidth.php + * @return int the image width. + */ + public function getImageWidth () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the number of images in the object + * @link https://php.net/manual/en/imagick.getnumberimages.php + * @return int the number of images associated with Imagick object. + */ + public function getNumberImages () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the image total ink density + * @link https://php.net/manual/en/imagick.getimagetotalinkdensity.php + * @return float the image total ink density of the image. + * Throw an ImagickException on error. + * @throws ImagickException on error + */ + public function getImageTotalInkDensity () {} + + /** + * (PECL imagick 2.0.0)
+ * Extracts a region of the image + * @link https://php.net/manual/en/imagick.getimageregion.php + * @param int $width

+ * The width of the extracted region. + *

+ * @param int $height

+ * The height of the extracted region. + *

+ * @param int $x

+ * X-coordinate of the top-left corner of the extracted region. + *

+ * @param int $y

+ * Y-coordinate of the top-left corner of the extracted region. + *

+ * @return Imagick Extracts a region of the image and returns it as a new wand. + */ + public function getImageRegion ($width, $height, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Creates a new image as a copy + * @link https://php.net/manual/en/imagick.implodeimage.php + * @param float $radius

+ * The radius of the implode + *

+ * @return bool TRUE on success. + */ + public function implodeImage ($radius) {} + + /** + * (PECL imagick 2.0.0)
+ * Adjusts the levels of an image + * @link https://php.net/manual/en/imagick.levelimage.php + * @param float $blackPoint

+ * The image black point + *

+ * @param float $gamma

+ * The gamma value + *

+ * @param float $whitePoint

+ * The image white point + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return bool TRUE on success. + */ + public function levelImage ($blackPoint, $gamma, $whitePoint, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Scales an image proportionally 2x + * @link https://php.net/manual/en/imagick.magnifyimage.php + * @return bool TRUE on success. + */ + public function magnifyImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Replaces the colors of an image with the closest color from a reference image. + * @link https://php.net/manual/en/imagick.mapimage.php + * @param Imagick $map + * @param bool $dither + * @return bool TRUE on success. + */ + public function mapImage (Imagick $map, $dither) {} + + /** + * (PECL imagick 2.0.0)
+ * Changes the transparency value of a color + * @link https://php.net/manual/en/imagick.mattefloodfillimage.php + * @param float $alpha

+ * The level of transparency: 1.0 is fully opaque and 0.0 is fully + * transparent. + *

+ * @param float $fuzz

+ * The fuzz member of image defines how much tolerance is acceptable to + * consider two colors as the same. + *

+ * @param mixed $bordercolor

+ * An ImagickPixel object or string representing the border color. + *

+ * @param int $x

+ * The starting x coordinate of the operation. + *

+ * @param int $y

+ * The starting y coordinate of the operation. + *

+ * @return bool TRUE on success. + */ + public function matteFloodfillImage ($alpha, $fuzz, $bordercolor, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Applies a digital filter + * @link https://php.net/manual/en/imagick.medianfilterimage.php + * @param float $radius

+ * The radius of the pixel neighborhood. + *

+ * @return bool TRUE on success. + */ + public function medianFilterImage ($radius) {} + + /** + * (PECL imagick 2.0.0)
+ * Negates the colors in the reference image + * @link https://php.net/manual/en/imagick.negateimage.php + * @param bool $gray

+ * Whether to only negate grayscale pixels within the image. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return bool TRUE on success. + */ + public function negateImage ($gray, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Change any pixel that matches color + * @link https://php.net/manual/en/imagick.paintopaqueimage.php + * @param mixed $target

+ * Change this target color to the fill color within the image. An + * ImagickPixel object or a string representing the target color. + *

+ * @param mixed $fill

+ * An ImagickPixel object or a string representing the fill color. + *

+ * @param float $fuzz

+ * The fuzz member of image defines how much tolerance is acceptable to + * consider two colors as the same. + *

+ * @param int $channel [optional]

+ * Provide any channel constant that is valid for your channel mode. To + * apply to more than one channel, combine channeltype constants using + * bitwise operators. Refer to this + * list of channel constants. + *

+ * @return bool TRUE on success. + */ + public function paintOpaqueImage ($target, $fill, $fuzz, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Changes any pixel that matches color with the color defined by fill + * @link https://php.net/manual/en/imagick.painttransparentimage.php + * @param mixed $target

+ * Change this target color to specified opacity value within the image. + *

+ * @param float $alpha

+ * The level of transparency: 1.0 is fully opaque and 0.0 is fully + * transparent. + *

+ * @param float $fuzz

+ * The fuzz member of image defines how much tolerance is acceptable to + * consider two colors as the same. + *

+ * @return bool TRUE on success. + */ + public function paintTransparentImage ($target, $alpha, $fuzz) {} + + /** + * (PECL imagick 2.0.0)
+ * Quickly pin-point appropriate parameters for image processing + * @link https://php.net/manual/en/imagick.previewimages.php + * @param int $preview

+ * Preview type. See Preview type constants + *

+ * @return bool TRUE on success. + */ + public function previewImages ($preview) {} + + /** + * (PECL imagick 2.0.0)
+ * Adds or removes a profile from an image + * @link https://php.net/manual/en/imagick.profileimage.php + * @param string $name + * @param string $profile + * @return bool TRUE on success. + */ + public function profileImage ($name, $profile) {} + + /** + * (PECL imagick 2.0.0)
+ * Analyzes the colors within a reference image + * @link https://php.net/manual/en/imagick.quantizeimage.php + * @param int $numberColors + * @param int $colorspace + * @param int $treedepth + * @param bool $dither + * @param bool $measureError + * @return bool TRUE on success. + */ + public function quantizeImage ($numberColors, $colorspace, $treedepth, $dither, $measureError) {} + + /** + * (PECL imagick 2.0.0)
+ * Analyzes the colors within a sequence of images + * @link https://php.net/manual/en/imagick.quantizeimages.php + * @param int $numberColors + * @param int $colorspace + * @param int $treedepth + * @param bool $dither + * @param bool $measureError + * @return bool TRUE on success. + */ + public function quantizeImages ($numberColors, $colorspace, $treedepth, $dither, $measureError) {} + + /** + * (PECL imagick 2.0.0)
+ * Smooths the contours of an image + * @link https://php.net/manual/en/imagick.reducenoiseimage.php + * @param float $radius + * @return bool TRUE on success. + */ + public function reduceNoiseImage ($radius) {} + + /** + * (PECL imagick 2.0.0)
+ * Removes the named image profile and returns it + * @link https://php.net/manual/en/imagick.removeimageprofile.php + * @param string $name + * @return string a string containing the profile of the image. + */ + public function removeImageProfile ($name) {} + + /** + * (PECL imagick 2.0.0)
+ * Separates a channel from the image + * @link https://php.net/manual/en/imagick.separateimagechannel.php + * @param int $channel + * @return bool TRUE on success. + */ + public function separateImageChannel ($channel) {} + + /** + * (PECL imagick 2.0.0)
+ * Sepia tones an image + * @link https://php.net/manual/en/imagick.sepiatoneimage.php + * @param float $threshold + * @return bool TRUE on success. + */ + public function sepiaToneImage ($threshold) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image bias for any method that convolves an image + * @link https://php.net/manual/en/imagick.setimagebias.php + * @param float $bias + * @return bool TRUE on success. + */ + public function setImageBias ($bias) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image chromaticity blue primary point + * @link https://php.net/manual/en/imagick.setimageblueprimary.php + * @param float $x + * @param float $y + * @return bool TRUE on success. + */ + public function setImageBluePrimary ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image border color + * @link https://php.net/manual/en/imagick.setimagebordercolor.php + * @param mixed $border

+ * The border color + *

+ * @return bool TRUE on success. + */ + public function setImageBorderColor ($border) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the depth of a particular image channel + * @link https://php.net/manual/en/imagick.setimagechanneldepth.php + * @param int $channel + * @param int $depth + * @return bool TRUE on success. + */ + public function setImageChannelDepth ($channel, $depth) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the color of the specified colormap index + * @link https://php.net/manual/en/imagick.setimagecolormapcolor.php + * @param int $index + * @param ImagickPixel $color + * @return bool TRUE on success. + */ + public function setImageColormapColor ($index, ImagickPixel $color) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image colorspace + * @link https://php.net/manual/en/imagick.setimagecolorspace.php + * @param int $colorspace

+ * One of the COLORSPACE constants + *

+ * @return bool TRUE on success. + */ + public function setImageColorspace ($colorspace) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image disposal method + * @link https://php.net/manual/en/imagick.setimagedispose.php + * @param int $dispose + * @return bool TRUE on success. + */ + public function setImageDispose ($dispose) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image size + * @link https://php.net/manual/en/imagick.setimageextent.php + * @param int $columns + * @param int $rows + * @return bool TRUE on success. + */ + public function setImageExtent ($columns, $rows) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image chromaticity green primary point + * @link https://php.net/manual/en/imagick.setimagegreenprimary.php + * @param float $x + * @param float $y + * @return bool TRUE on success. + */ + public function setImageGreenPrimary ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image compression + * @link https://php.net/manual/en/imagick.setimageinterlacescheme.php + * @param int $interlace_scheme + * @return bool TRUE on success. + */ + public function setImageInterlaceScheme ($interlace_scheme) {} + + /** + * (PECL imagick 2.0.0)
+ * Adds a named profile to the Imagick object + * @link https://php.net/manual/en/imagick.setimageprofile.php + * @param string $name + * @param string $profile + * @return bool TRUE on success. + */ + public function setImageProfile ($name, $profile) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image chromaticity red primary point + * @link https://php.net/manual/en/imagick.setimageredprimary.php + * @param float $x + * @param float $y + * @return bool TRUE on success. + */ + public function setImageRedPrimary ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image rendering intent + * @link https://php.net/manual/en/imagick.setimagerenderingintent.php + * @param int $rendering_intent + * @return bool TRUE on success. + */ + public function setImageRenderingIntent ($rendering_intent) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image virtual pixel method + * @link https://php.net/manual/en/imagick.setimagevirtualpixelmethod.php + * @param int $method + * @return bool TRUE on success. + */ + public function setImageVirtualPixelMethod ($method) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image chromaticity white point + * @link https://php.net/manual/en/imagick.setimagewhitepoint.php + * @param float $x + * @param float $y + * @return bool TRUE on success. + */ + public function setImageWhitePoint ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Adjusts the contrast of an image + * @link https://php.net/manual/en/imagick.sigmoidalcontrastimage.php + * @param bool $sharpen + * @param float $alpha + * @param float $beta + * @param int $channel [optional] + * @return bool TRUE on success. + */ + public function sigmoidalContrastImage ($sharpen, $alpha, $beta, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Composites two images + * @link https://php.net/manual/en/imagick.stereoimage.php + * @param Imagick $offset_wand + * @return bool TRUE on success. + */ + public function stereoImage (Imagick $offset_wand) {} + + /** + * (PECL imagick 2.0.0)
+ * Repeatedly tiles the texture image + * @link https://php.net/manual/en/imagick.textureimage.php + * @param Imagick $texture_wand + * @return bool TRUE on success. + */ + public function textureImage (Imagick $texture_wand) {} + + /** + * pplies a color vector to each pixel in the image. The 'opacity' color is a per channel strength factor for how strongly the color should be applied. + * If legacy is true, the behaviour of this function is incorrect, but consistent with how it behaved before Imagick version 3.4.0 + * @link https://php.net/manual/en/imagick.tintimage.php + * @param mixed $tint + * @param mixed $opacity + * @param bool $legacy [optional] + * @return bool TRUE on success. + * @throws ImagickException Throws ImagickException on error + * @since 2.0.0 + */ + public function tintImage ($tint, $opacity, $legacy = false) {} + + /** + * (PECL imagick 2.0.0)
+ * Sharpens an image + * @link https://php.net/manual/en/imagick.unsharpmaskimage.php + * @param float $radius + * @param float $sigma + * @param float $amount + * @param float $threshold + * @param int $channel [optional] + * @return bool TRUE on success. + */ + public function unsharpMaskImage ($radius, $sigma, $amount, $threshold, $channel = Imagick::CHANNEL_ALL) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns a new Imagick object + * @link https://php.net/manual/en/imagick.getimage.php + * @return Imagick a new Imagick object with the current image sequence. + */ + public function getImage () {} + + /** + * (PECL imagick 2.0.0)
+ * Adds new image to Imagick object image list + * @link https://php.net/manual/en/imagick.addimage.php + * @param Imagick $source

+ * The source Imagick object + *

+ * @return bool TRUE on success. + */ + public function addImage (Imagick $source) {} + + /** + * (PECL imagick 2.0.0)
+ * Replaces image in the object + * @link https://php.net/manual/en/imagick.setimage.php + * @param Imagick $replace

+ * The replace Imagick object + *

+ * @return bool TRUE on success. + */ + public function setImage (Imagick $replace) {} + + /** + * (PECL imagick 2.0.0)
+ * Creates a new image + * @link https://php.net/manual/en/imagick.newimage.php + * @param int $cols

+ * Columns in the new image + *

+ * @param int $rows

+ * Rows in the new image + *

+ * @param mixed $background

+ * The background color used for this image + *

+ * @param string $format [optional]

+ * Image format. This parameter was added in Imagick version 2.0.1. + *

+ * @return bool TRUE on success. + */ + public function newImage ($cols, $rows, $background, $format = null) {} + + /** + * (PECL imagick 2.0.0)
+ * Creates a new image + * @link https://php.net/manual/en/imagick.newpseudoimage.php + * @param int $columns

+ * columns in the new image + *

+ * @param int $rows

+ * rows in the new image + *

+ * @param string $pseudoString

+ * string containing pseudo image definition. + *

+ * @return bool TRUE on success. + */ + public function newPseudoImage ($columns, $rows, $pseudoString) {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the object compression type + * @link https://php.net/manual/en/imagick.getcompression.php + * @return int the compression constant + */ + public function getCompression () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the object compression quality + * @link https://php.net/manual/en/imagick.getcompressionquality.php + * @return int integer describing the compression quality + */ + public function getCompressionQuality () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the ImageMagick API copyright as a string + * @link https://php.net/manual/en/imagick.getcopyright.php + * @return string a string containing the copyright notice of Imagemagick and + * Magickwand C API. + */ + public static function getCopyright () {} + + /** + * (PECL imagick 2.0.0)
+ * The filename associated with an image sequence + * @link https://php.net/manual/en/imagick.getfilename.php + * @return string a string on success. + */ + public function getFilename () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the format of the Imagick object + * @link https://php.net/manual/en/imagick.getformat.php + * @return string the format of the image. + */ + public function getFormat () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the ImageMagick home URL + * @link https://php.net/manual/en/imagick.gethomeurl.php + * @return string a link to the imagemagick homepage. + */ + public static function getHomeURL () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the object interlace scheme + * @link https://php.net/manual/en/imagick.getinterlacescheme.php + * @return int Gets the wand interlace + * scheme. + */ + public function getInterlaceScheme () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns a value associated with the specified key + * @link https://php.net/manual/en/imagick.getoption.php + * @param string $key

+ * The name of the option + *

+ * @return string a value associated with a wand and the specified key. + */ + public function getOption ($key) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the ImageMagick package name + * @link https://php.net/manual/en/imagick.getpackagename.php + * @return string the ImageMagick package name as a string. + */ + public static function getPackageName () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the page geometry + * @link https://php.net/manual/en/imagick.getpage.php + * @return array the page geometry associated with the Imagick object in + * an associative array with the keys "width", "height", "x", and "y", + * throwing ImagickException on error. + * @throws ImagickException on error + */ + public function getPage () {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the quantum depth + * @link https://php.net/manual/en/imagick.getquantumdepth.php + * @return array the Imagick quantum depth as a string. + */ + public static function getQuantumDepth () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the Imagick quantum range + * @link https://php.net/manual/en/imagick.getquantumrange.php + * @return array the Imagick quantum range as a string. + */ + public static function getQuantumRange () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the ImageMagick release date + * @link https://php.net/manual/en/imagick.getreleasedate.php + * @return string the ImageMagick release date as a string. + */ + public static function getReleaseDate () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the specified resource's memory usage + * @link https://php.net/manual/en/imagick.getresource.php + * @param int $type

+ * Refer to the list of resourcetype constants. + *

+ * @return int the specified resource's memory usage in megabytes. + */ + public static function getResource ($type) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the specified resource limit + * @link https://php.net/manual/en/imagick.getresourcelimit.php + * @param int $type

+ * Refer to the list of resourcetype constants. + *

+ * @return int the specified resource limit in megabytes. + */ + public static function getResourceLimit ($type) {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the horizontal and vertical sampling factor + * @link https://php.net/manual/en/imagick.getsamplingfactors.php + * @return array an associative array with the horizontal and vertical sampling + * factors of the image. + */ + public function getSamplingFactors () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the size associated with the Imagick object + * @link https://php.net/manual/en/imagick.getsize.php + * @return array the size associated with the Imagick object as an array with the + * keys "columns" and "rows". + */ + public function getSize () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the ImageMagick API version + * @link https://php.net/manual/en/imagick.getversion.php + * @return array the ImageMagick API version as a string and as a number. + */ + public static function getVersion () {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the object's default background color + * @link https://php.net/manual/en/imagick.setbackgroundcolor.php + * @param mixed $background + * @return bool TRUE on success. + */ + public function setBackgroundColor ($background) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the object's default compression type + * @link https://php.net/manual/en/imagick.setcompression.php + * @param int $compression + * @return bool TRUE on success. + */ + public function setCompression ($compression) {} + + /** + * (PECL imagick 0.9.10-0.9.9)
+ * Sets the object's default compression quality + * @link https://php.net/manual/en/imagick.setcompressionquality.php + * @param int $quality + * @return bool TRUE on success. + */ + public function setCompressionQuality ($quality) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the filename before you read or write the image + * @link https://php.net/manual/en/imagick.setfilename.php + * @param string $filename + * @return bool TRUE on success. + */ + public function setFilename ($filename) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the format of the Imagick object + * @link https://php.net/manual/en/imagick.setformat.php + * @param string $format + * @return bool TRUE on success. + */ + public function setFormat ($format) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image compression + * @link https://php.net/manual/en/imagick.setinterlacescheme.php + * @param int $interlace_scheme + * @return bool TRUE on success. + */ + public function setInterlaceScheme ($interlace_scheme) {} + + /** + * (PECL imagick 2.0.0)
+ * Set an option + * @link https://php.net/manual/en/imagick.setoption.php + * @param string $key + * @param string $value + * @return bool TRUE on success. + */ + public function setOption ($key, $value) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the page geometry of the Imagick object + * @link https://php.net/manual/en/imagick.setpage.php + * @param int $width + * @param int $height + * @param int $x + * @param int $y + * @return bool TRUE on success. + */ + public function setPage ($width, $height, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the limit for a particular resource in megabytes + * @link https://php.net/manual/en/imagick.setresourcelimit.php + * @param int $type

+ * Refer to the list of resourcetype constants. + *

+ * @param int $limit

+ * The resource limit. The unit depends on the type of the resource being limited. + *

+ * @return bool TRUE on success. + */ + public static function setResourceLimit ($type, $limit) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image resolution + * @link https://php.net/manual/en/imagick.setresolution.php + * @param float $x_resolution

+ * The horizontal resolution. + *

+ * @param float $y_resolution

+ * The vertical resolution. + *

+ * @return bool TRUE on success. + */ + public function setResolution ($x_resolution, $y_resolution) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image sampling factors + * @link https://php.net/manual/en/imagick.setsamplingfactors.php + * @param array $factors + * @return bool TRUE on success. + */ + public function setSamplingFactors (array $factors) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the size of the Imagick object + * @link https://php.net/manual/en/imagick.setsize.php + * @param int $columns + * @param int $rows + * @return bool TRUE on success. + */ + public function setSize ($columns, $rows) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the image type attribute + * @link https://php.net/manual/en/imagick.settype.php + * @param int $image_type + * @return bool TRUE on success. + */ + public function setType ($image_type) {} + + public function key () {} + + public function next () {} + + public function rewind () {} + + /** + * (PECL imagick 2.0.0)
+ * Checks if the current item is valid + * @link https://php.net/manual/en/imagick.valid.php + * @return bool TRUE on success. + */ + public function valid () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns a reference to the current Imagick object + * @link https://php.net/manual/en/imagick.current.php + * @return Imagick self on success. + */ + public function current () {} + + /** + * Change the brightness and/or contrast of an image. It converts the brightness and contrast parameters into slope and intercept and calls a polynomical function to apply to the image. + * @link https://php.net/manual/en/imagick.brightnesscontrastimage.php + * @param string $brightness + * @param string $contrast + * @param int $CHANNEL [optional] + * @return void + * @since 3.3.0 + */ + public function brightnessContrastImage ($brightness, $contrast, $CHANNEL = Imagick::CHANNEL_DEFAULT) { } + + /** + * Applies a user supplied kernel to the image according to the given morphology method. + * @link https://php.net/manual/en/imagick.morphology.php + * @param int $morphologyMethod Which morphology method to use one of the \Imagick::MORPHOLOGY_* constants. + * @param int $iterations The number of iteration to apply the morphology function. A value of -1 means loop until no change found. How this is applied may depend on the morphology method. Typically this is a value of 1. + * @param ImagickKernel $ImagickKernel + * @param int $CHANNEL [optional] + * @return void + * @since 3.3.0 + */ + public function morphology ($morphologyMethod, $iterations, ImagickKernel $ImagickKernel, $CHANNEL = Imagick::CHANNEL_DEFAULT) { } + + /** + * Applies a custom convolution kernel to the image. + * @link https://php.net/manual/en/imagick.filter.php + * @param ImagickKernel $ImagickKernel An instance of ImagickKernel that represents either a single kernel or a linked series of kernels. + * @param int $CHANNEL [optional] Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + * @return void + * @since 3.3.0 + */ + public function filter (ImagickKernel $ImagickKernel , $CHANNEL = Imagick::CHANNEL_DEFAULT) { } + + /** + * Apply color transformation to an image. The method permits saturation changes, hue rotation, luminance to alpha, and various other effects. Although variable-sized transformation matrices can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6 for CMYKA (or RGBA with offsets). + * The matrix is similar to those used by Adobe Flash except offsets are in column 6 rather than 5 (in support of CMYKA images) and offsets are normalized (divide Flash offset by 255) + * @link https://php.net/manual/en/imagick.colormatriximage.php + * @param string $color_matrix + * @return void + * @since 3.3.0 + */ + public function colorMatrixImage ($color_matrix = Imagick::CHANNEL_DEFAULT) { } + + /** + * Deletes an image property. + * @link https://php.net/manual/en/imagick.deleteimageproperty.php + * @param string $name The name of the property to delete. + * @return void + * @since 3.3.0 + */ + public function deleteImageProperty ($name) { } + + /** + * Implements the discrete Fourier transform (DFT) of the image either as a magnitude / phase or real / imaginary image pair. + * @link https://php.net/manual/en/imagick.forwardfouriertransformimage.php + * @param bool $magnitude If true, return as magnitude / phase pair otherwise a real / imaginary image pair. + * @return void + * @since 3.3.0 + */ + public function forwardFourierTransformimage ($magnitude) { } + + /** + * Gets the current image's compression type. + * @link https://php.net/manual/en/imagick.getimagecompression.php + * @return int + * @since 3.3.0 + */ + public function getImageCompression () { } + + /** + * Get the StringRegistry entry for the named key or false if not set. + * @link https://php.net/manual/en/imagick.getregistry.php + * @param string $key + * @return string|false + * @throws Exception Since version >=3.4.3. Throws an exception if the key does not exist, rather than terminating the program. + * @since 3.3.0 + */ + public static function getRegistry ($key) { } + + /** + * Returns the ImageMagick quantum range as an integer. + * @link https://php.net/manual/en/imagick.getquantum.php + * @return int + * @since 3.3.0 + */ + public static function getQuantum () { } + + /** + * Replaces any embedded formatting characters with the appropriate image property and returns the interpreted text. See https://www.imagemagick.org/script/escape.php for escape sequences. + * @link https://php.net/manual/en/imagick.identifyformat.php + * @see https://www.imagemagick.org/script/escape.php + * @param string $embedText A string containing formatting sequences e.g. "Trim box: %@ number of unique colors: %k". + * @return bool + * @since 3.3.0 + */ + public function identifyFormat ($embedText) { } + + /** + * Implements the inverse discrete Fourier transform (DFT) of the image either as a magnitude / phase or real / imaginary image pair. + * @link https://php.net/manual/en/imagick.inversefouriertransformimage.php + * @param Imagick $complement The second image to combine with this one to form either the magnitude / phase or real / imaginary image pair. + * @param bool $magnitude If true, combine as magnitude / phase pair otherwise a real / imaginary image pair. + * @return void + * @since 3.3.0 + */ + public function inverseFourierTransformImage ($complement, $magnitude) { } + + /** + * List all the registry settings. Returns an array of all the key/value pairs in the registry + * @link https://php.net/manual/en/imagick.listregistry.php + * @return array An array containing the key/values from the registry. + * @since 3.3.0 + */ + public static function listRegistry () { } + + /** + * Rotational blurs an image. + * @link https://php.net/manual/en/imagick.rotationalblurimage.php + * @param string $angle + * @param string $CHANNEL + * @return void + * @since 3.3.0 + */ + public function rotationalBlurImage ($angle, $CHANNEL = Imagick::CHANNEL_DEFAULT) { } + + /** + * Selectively blur an image within a contrast threshold. It is similar to the unsharpen mask that sharpens everything with contrast above a certain threshold. + * @link https://php.net/manual/en/imagick.selectiveblurimage.php + * @param float $radius + * @param float $sigma + * @param float $threshold + * @param int $CHANNEL Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. Defaults to Imagick::CHANNEL_DEFAULT. Refer to this list of channel constants + * @return void + * @since 3.3.0 + */ + public function selectiveBlurImage ($radius, $sigma, $threshold, $CHANNEL = Imagick::CHANNEL_DEFAULT) { } + + /** + * Set whether antialiasing should be used for operations. On by default. + * @param bool $antialias + * @return int + * @since 3.3.0 + */ + public function setAntiAlias ($antialias) { } + + /** + * @link https://php.net/manual/en/imagick.setimagebiasquantum.php + * @param string $bias + * @return void + * @since 3.3.0 + */ + public function setImageBiasQuantum ($bias) { } + + /** + * Set a callback that will be called during the processing of the Imagick image. + * @link https://php.net/manual/en/imagick.setprogressmonitor.php + * @param callable $callback The progress function to call. It should return true if image processing should continue, or false if it should be cancelled. + * The offset parameter indicates the progress and the span parameter indicates the total amount of work needed to be done. + *
 bool callback ( mixed $offset , mixed $span ) 
+ * Caution + * The values passed to the callback function are not consistent. In particular the span parameter can increase during image processing. Because of this calculating the percentage complete of an image operation is not trivial. + * @return void + * @since 3.3.0 + */ + public function setProgressMonitor ($callback) { } + + /** + * Sets the ImageMagick registry entry named key to value. This is most useful for setting "temporary-path" which controls where ImageMagick creates temporary images e.g. while processing PDFs. + * @link https://php.net/manual/en/imagick.setregistry.php + * @param string $key + * @param string $value + * @return void + * @since 3.3.0 + */ + public static function setRegistry ($key, $value) { } + + /** + * Replace each pixel with corresponding statistic from the neighborhood of the specified width and height. + * @link https://php.net/manual/en/imagick.statisticimage.php + * @param int $type + * @param int $width + * @param int $height + * @param int $channel [optional] + * @return void + * @since 3.3.0 + */ + public function statisticImage ($type, $width, $height, $channel = Imagick::CHANNEL_DEFAULT ) { } + + /** + * Searches for a subimage in the current image and returns a similarity image such that an exact match location is + * completely white and if none of the pixels match, black, otherwise some gray level in-between. + * You can also pass in the optional parameters bestMatch and similarity. After calling the function similarity will + * be set to the 'score' of the similarity between the subimage and the matching position in the larger image, + * bestMatch will contain an associative array with elements x, y, width, height that describe the matching region. + * + * @link https://php.net/manual/en/imagick.subimagematch.php + * @param Imagick $imagick + * @param array $bestMatch [optional] + * @param float $similarity [optional] A new image that displays the amount of similarity at each pixel. + * @param float $similarity_threshold [optional] Only used if compiled with ImageMagick (library) > 7 + * @param int $metric [optional] Only used if compiled with ImageMagick (library) > 7 + * @return Imagick + * @since 3.3.0 + */ + public function subImageMatch (Imagick $imagick, array &$bestMatch, &$similarity, $similarity_threshold, $metric) { } + + /** + * Is an alias of Imagick::subImageMatch + * + * @param Imagick $imagick + * @param array $bestMatch [optional] + * @param float $similarity [optional] A new image that displays the amount of similarity at each pixel. + * @param float $similarity_threshold [optional] + * @param int $metric [optional] + * @return Imagick + * @see Imagick::subImageMatch() This function is an alias of subImageMatch() + * @since 3.4.0 + */ + public function similarityImage (Imagick $imagick, array &$bestMatch, &$similarity, $similarity_threshold, $metric) { } + + /** + * Returns any ImageMagick configure options that match the specified pattern (e.g. "*" for all). Options include NAME, VERSION, LIB_VERSION, etc. + * @return string + * @since 3.4.0 + */ + public function getConfigureOptions () { } + + /** + * GetFeatures() returns the ImageMagick features that have been compiled into the runtime. + * @return string + * @since 3.4.0 + */ + public function getFeatures () { } + + /** + * @return int + * @since 3.4.0 + */ + public function getHDRIEnabled () { } + + /** + * Sets the image channel mask. Returns the previous set channel mask. + * Only works with Imagick >=7 + * @param int $channel + * @since 3.4.0 + */ + public function setImageChannelMask ($channel) {} + + /** + * Merge multiple images of the same size together with the selected operator. https://www.imagemagick.org/Usage/layers/#evaluate-sequence + * @param int $EVALUATE_CONSTANT + * @return bool + * @see https://www.imagemagick.org/Usage/layers/#evaluate-sequence + * @since 3.4.0 + */ + public function evaluateImages ($EVALUATE_CONSTANT) { } + + /** + * Extracts the 'mean' from the image and adjust the image to try make set its gamma appropriately. + * @param int $channel [optional] Default value Imagick::CHANNEL_ALL + * @return bool + * @since 3.4.1 + */ + public function autoGammaImage ($channel = Imagick::CHANNEL_ALL) { } + + /** + * Adjusts an image so that its orientation is suitable $ for viewing (i.e. top-left orientation). + * @return bool + * @since 3.4.1 + */ + public function autoOrient () { } + + /** + * Composite one image onto another using the specified gravity. + * + * @param Imagick $imagick + * @param int $COMPOSITE_CONSTANT + * @param int $GRAVITY_CONSTANT + * @return bool + * @since 3.4.1 + */ + public function compositeImageGravity(Imagick $imagick, $COMPOSITE_CONSTANT, $GRAVITY_CONSTANT) { } + + /** + * Attempts to increase the appearance of large-scale light-dark transitions. + * + * @param float $radius + * @param float $strength + * @return bool + * @since 3.4.1 + */ + public function localContrastImage($radius, $strength) { } + + /** + * Identifies the potential image type, returns one of the Imagick::IMGTYPE_* constants + * @return int + * @since 3.4.3 + */ + public function identifyImageType() { } + + /** + * Sets the image to the specified alpha level. Will replace ImagickDraw::setOpacity() + * + * @param float $alpha + * @return bool + * @since 3.4.3 + */ + public function setImageAlpha($alpha) { } +} + +/** + * @method ImagickDraw clone() (PECL imagick 2.0.0)
Makes an exact copy of the specified ImagickDraw object + * @link https://php.net/manual/en/class.imagickdraw.php + */ +class ImagickDraw { + + public function resetVectorGraphics () {} + + public function getTextKerning () {} + + /** + * @param $kerning + */ + public function setTextKerning ($kerning) {} + + public function getTextInterWordSpacing () {} + + /** + * @param $spacing + */ + public function setTextInterWordSpacing ($spacing) {} + + public function getTextInterLineSpacing () {} + + /** + * @param $spacing + */ + public function setTextInterLineSpacing ($spacing) {} + + /** + * (PECL imagick 2.0.0)
+ * The ImagickDraw constructor + * @link https://php.net/manual/en/imagickdraw.construct.php + */ + public function __construct () {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the fill color to be used for drawing filled objects + * @link https://php.net/manual/en/imagickdraw.setfillcolor.php + * @param ImagickPixel $fill_pixel

+ * ImagickPixel to use to set the color + *

+ * @return bool No value is returned. + */ + public function setFillColor (ImagickPixel $fill_pixel) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the opacity to use when drawing using the fill color or fill texture + * @link https://php.net/manual/en/imagickdraw.setfillalpha.php + * @param float $opacity

+ * fill alpha + *

+ * @return bool No value is returned. + */ + public function setFillAlpha ($opacity) {} + + /** + * @param $x_resolution + * @param $y_resolution + */ + public function setResolution ($x_resolution, $y_resolution) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the color used for stroking object outlines + * @link https://php.net/manual/en/imagickdraw.setstrokecolor.php + * @param ImagickPixel $stroke_pixel

+ * the stroke color + *

+ * @return bool No value is returned. + */ + public function setStrokeColor (ImagickPixel $stroke_pixel) {} + + /** + * (PECL imagick 2.0.0)
+ * Specifies the opacity of stroked object outlines + * @link https://php.net/manual/en/imagickdraw.setstrokealpha.php + * @param float $opacity

+ * opacity + *

+ * @return bool No value is returned. + */ + public function setStrokeAlpha ($opacity) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the width of the stroke used to draw object outlines + * @link https://php.net/manual/en/imagickdraw.setstrokewidth.php + * @param float $stroke_width

+ * stroke width + *

+ * @return bool No value is returned. + */ + public function setStrokeWidth ($stroke_width) {} + + /** + * (PECL imagick 2.0.0)
+ * Clears the ImagickDraw + * @link https://php.net/manual/en/imagickdraw.clear.php + * @return bool an ImagickDraw object. + */ + public function clear () {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a circle + * @link https://php.net/manual/en/imagickdraw.circle.php + * @param float $ox

+ * origin x coordinate + *

+ * @param float $oy

+ * origin y coordinate + *

+ * @param float $px

+ * perimeter x coordinate + *

+ * @param float $py

+ * perimeter y coordinate + *

+ * @return bool No value is returned. + */ + public function circle ($ox, $oy, $px, $py) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws text on the image + * @link https://php.net/manual/en/imagickdraw.annotation.php + * @param float $x

+ * The x coordinate where text is drawn + *

+ * @param float $y

+ * The y coordinate where text is drawn + *

+ * @param string $text

+ * The text to draw on the image + *

+ * @return bool No value is returned. + */ + public function annotation ($x, $y, $text) {} + + /** + * (PECL imagick 2.0.0)
+ * Controls whether text is antialiased + * @link https://php.net/manual/en/imagickdraw.settextantialias.php + * @param bool $antiAlias + * @return bool No value is returned. + */ + public function setTextAntialias ($antiAlias) {} + + /** + * (PECL imagick 2.0.0)
+ * Specifies specifies the text code set + * @link https://php.net/manual/en/imagickdraw.settextencoding.php + * @param string $encoding

+ * the encoding name + *

+ * @return bool No value is returned. + */ + public function setTextEncoding ($encoding) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the fully-specified font to use when annotating with text + * @link https://php.net/manual/en/imagickdraw.setfont.php + * @param string $font_name + * @return bool TRUE on success. + */ + public function setFont ($font_name) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the font family to use when annotating with text + * @link https://php.net/manual/en/imagickdraw.setfontfamily.php + * @param string $font_family

+ * the font family + *

+ * @return bool TRUE on success. + */ + public function setFontFamily ($font_family) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the font pointsize to use when annotating with text + * @link https://php.net/manual/en/imagickdraw.setfontsize.php + * @param float $pointsize

+ * the point size + *

+ * @return bool No value is returned. + */ + public function setFontSize ($pointsize) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the font style to use when annotating with text + * @link https://php.net/manual/en/imagickdraw.setfontstyle.php + * @param int $style

+ * STYLETYPE_ constant + *

+ * @return bool No value is returned. + */ + public function setFontStyle ($style) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the font weight + * @link https://php.net/manual/en/imagickdraw.setfontweight.php + * @param int $font_weight + * @return bool + */ + public function setFontWeight ($font_weight) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the font + * @link https://php.net/manual/en/imagickdraw.getfont.php + * @return string|false a string on success and false if no font is set. + */ + public function getFont () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the font family + * @link https://php.net/manual/en/imagickdraw.getfontfamily.php + * @return string|false the font family currently selected or false if font family is not set. + */ + public function getFontFamily () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the font pointsize + * @link https://php.net/manual/en/imagickdraw.getfontsize.php + * @return float the font size associated with the current ImagickDraw object. + */ + public function getFontSize () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the font style + * @link https://php.net/manual/en/imagickdraw.getfontstyle.php + * @return int the font style constant (STYLE_) associated with the ImagickDraw object + * or 0 if no style is set. + */ + public function getFontStyle () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the font weight + * @link https://php.net/manual/en/imagickdraw.getfontweight.php + * @return int an int on success and 0 if no weight is set. + */ + public function getFontWeight () {} + + /** + * (PECL imagick 2.0.0)
+ * Frees all associated resources + * @link https://php.net/manual/en/imagickdraw.destroy.php + * @return bool No value is returned. + */ + public function destroy () {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a rectangle + * @link https://php.net/manual/en/imagickdraw.rectangle.php + * @param float $x1

+ * x coordinate of the top left corner + *

+ * @param float $y1

+ * y coordinate of the top left corner + *

+ * @param float $x2

+ * x coordinate of the bottom right corner + *

+ * @param float $y2

+ * y coordinate of the bottom right corner + *

+ * @return bool No value is returned. + */ + public function rectangle ($x1, $y1, $x2, $y2) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a rounded rectangle + * @link https://php.net/manual/en/imagickdraw.roundrectangle.php + * @param float $x1

+ * x coordinate of the top left corner + *

+ * @param float $y1

+ * y coordinate of the top left corner + *

+ * @param float $x2

+ * x coordinate of the bottom right + *

+ * @param float $y2

+ * y coordinate of the bottom right + *

+ * @param float $rx

+ * x rounding + *

+ * @param float $ry

+ * y rounding + *

+ * @return bool No value is returned. + */ + public function roundRectangle ($x1, $y1, $x2, $y2, $rx, $ry) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws an ellipse on the image + * @link https://php.net/manual/en/imagickdraw.ellipse.php + * @param float $ox + * @param float $oy + * @param float $rx + * @param float $ry + * @param float $start + * @param float $end + * @return bool No value is returned. + */ + public function ellipse ($ox, $oy, $rx, $ry, $start, $end) {} + + /** + * (PECL imagick 2.0.0)
+ * Skews the current coordinate system in the horizontal direction + * @link https://php.net/manual/en/imagickdraw.skewx.php + * @param float $degrees

+ * degrees to skew + *

+ * @return bool No value is returned. + */ + public function skewX ($degrees) {} + + /** + * (PECL imagick 2.0.0)
+ * Skews the current coordinate system in the vertical direction + * @link https://php.net/manual/en/imagickdraw.skewy.php + * @param float $degrees

+ * degrees to skew + *

+ * @return bool No value is returned. + */ + public function skewY ($degrees) {} + + /** + * (PECL imagick 2.0.0)
+ * Applies a translation to the current coordinate system + * @link https://php.net/manual/en/imagickdraw.translate.php + * @param float $x

+ * horizontal translation + *

+ * @param float $y

+ * vertical translation + *

+ * @return bool No value is returned. + */ + public function translate ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a line + * @link https://php.net/manual/en/imagickdraw.line.php + * @param float $sx

+ * starting x coordinate + *

+ * @param float $sy

+ * starting y coordinate + *

+ * @param float $ex

+ * ending x coordinate + *

+ * @param float $ey

+ * ending y coordinate + *

+ * @return bool No value is returned. + */ + public function line ($sx, $sy, $ex, $ey) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws an arc + * @link https://php.net/manual/en/imagickdraw.arc.php + * @param float $sx

+ * Starting x ordinate of bounding rectangle + *

+ * @param float $sy

+ * starting y ordinate of bounding rectangle + *

+ * @param float $ex

+ * ending x ordinate of bounding rectangle + *

+ * @param float $ey

+ * ending y ordinate of bounding rectangle + *

+ * @param float $sd

+ * starting degrees of rotation + *

+ * @param float $ed

+ * ending degrees of rotation + *

+ * @return bool No value is returned. + */ + public function arc ($sx, $sy, $ex, $ey, $sd, $ed) {} + + /** + * (PECL imagick 2.0.0)
+ * Paints on the image's opacity channel + * @link https://php.net/manual/en/imagickdraw.matte.php + * @param float $x

+ * x coordinate of the matte + *

+ * @param float $y

+ * y coordinate of the matte + *

+ * @param int $paintMethod

+ * PAINT_ constant + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function matte ($x, $y, $paintMethod) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a polygon + * @link https://php.net/manual/en/imagickdraw.polygon.php + * @param array $coordinates

+ * multidimensional array like array( array( 'x' => 3, 'y' => 4 ), array( 'x' => 2, 'y' => 6 ) ); + *

+ * @return bool TRUE on success. + */ + public function polygon (array $coordinates) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a point + * @link https://php.net/manual/en/imagickdraw.point.php + * @param float $x

+ * point's x coordinate + *

+ * @param float $y

+ * point's y coordinate + *

+ * @return bool No value is returned. + */ + public function point ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the text decoration + * @link https://php.net/manual/en/imagickdraw.gettextdecoration.php + * @return int one of the DECORATION_ constants + * and 0 if no decoration is set. + */ + public function getTextDecoration () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the code set used for text annotations + * @link https://php.net/manual/en/imagickdraw.gettextencoding.php + * @return string a string specifying the code set + * or false if text encoding is not set. + */ + public function getTextEncoding () {} + + public function getFontStretch () {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the font stretch to use when annotating with text + * @link https://php.net/manual/en/imagickdraw.setfontstretch.php + * @param int $fontStretch

+ * STRETCH_ constant + *

+ * @return bool No value is returned. + */ + public function setFontStretch ($fontStretch) {} + + /** + * (PECL imagick 2.0.0)
+ * Controls whether stroked outlines are antialiased + * @link https://php.net/manual/en/imagickdraw.setstrokeantialias.php + * @param bool $stroke_antialias

+ * the antialias setting + *

+ * @return bool No value is returned. + */ + public function setStrokeAntialias ($stroke_antialias) {} + + /** + * (PECL imagick 2.0.0)
+ * Specifies a text alignment + * @link https://php.net/manual/en/imagickdraw.settextalignment.php + * @param int $alignment

+ * ALIGN_ constant + *

+ * @return bool No value is returned. + */ + public function setTextAlignment ($alignment) {} + + /** + * (PECL imagick 2.0.0)
+ * Specifies a decoration + * @link https://php.net/manual/en/imagickdraw.settextdecoration.php + * @param int $decoration

+ * DECORATION_ constant + *

+ * @return bool No value is returned. + */ + public function setTextDecoration ($decoration) {} + + /** + * (PECL imagick 2.0.0)
+ * Specifies the color of a background rectangle + * @link https://php.net/manual/en/imagickdraw.settextundercolor.php + * @param ImagickPixel $under_color

+ * the under color + *

+ * @return bool No value is returned. + */ + public function setTextUnderColor (ImagickPixel $under_color) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the overall canvas size + * @link https://php.net/manual/en/imagickdraw.setviewbox.php + * @param int $x1

+ * left x coordinate + *

+ * @param int $y1

+ * left y coordinate + *

+ * @param int $x2

+ * right x coordinate + *

+ * @param int $y2

+ * right y coordinate + *

+ * @return bool No value is returned. + */ + public function setViewbox ($x1, $y1, $x2, $y2) {} + + /** + * (PECL imagick 2.0.0)
+ * Adjusts the current affine transformation matrix + * @link https://php.net/manual/en/imagickdraw.affine.php + * @param array $affine

+ * Affine matrix parameters + *

+ * @return bool No value is returned. + */ + public function affine (array $affine) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a bezier curve + * @link https://php.net/manual/en/imagickdraw.bezier.php + * @param array $coordinates

+ * Multidimensional array like array( array( 'x' => 1, 'y' => 2 ), + * array( 'x' => 3, 'y' => 4 ) ) + *

+ * @return bool No value is returned. + */ + public function bezier (array $coordinates) {} + + /** + * (PECL imagick 2.0.0)
+ * Composites an image onto the current image + * @link https://php.net/manual/en/imagickdraw.composite.php + * @param int $compose

+ * composition operator. One of COMPOSITE_ constants + *

+ * @param float $x

+ * x coordinate of the top left corner + *

+ * @param float $y

+ * y coordinate of the top left corner + *

+ * @param float $width

+ * width of the composition image + *

+ * @param float $height

+ * height of the composition image + *

+ * @param Imagick $compositeWand

+ * the Imagick object where composition image is taken from + *

+ * @return bool TRUE on success. + */ + public function composite ($compose, $x, $y, $width, $height, Imagick $compositeWand) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws color on image + * @link https://php.net/manual/en/imagickdraw.color.php + * @param float $x

+ * x coordinate of the paint + *

+ * @param float $y

+ * y coordinate of the paint + *

+ * @param int $paintMethod

+ * one of the PAINT_ constants + *

+ * @return bool No value is returned. + */ + public function color ($x, $y, $paintMethod) {} + + /** + * (PECL imagick 2.0.0)
+ * Adds a comment + * @link https://php.net/manual/en/imagickdraw.comment.php + * @param string $comment

+ * The comment string to add to vector output stream + *

+ * @return bool No value is returned. + */ + public function comment ($comment) {} + + /** + * (PECL imagick 2.0.0)
+ * Obtains the current clipping path ID + * @link https://php.net/manual/en/imagickdraw.getclippath.php + * @return string|false a string containing the clip path ID or false if no clip path exists. + */ + public function getClipPath () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the current polygon fill rule + * @link https://php.net/manual/en/imagickdraw.getcliprule.php + * @return int one of the FILLRULE_ constants. + */ + public function getClipRule () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the interpretation of clip path units + * @link https://php.net/manual/en/imagickdraw.getclipunits.php + * @return int an int on success. + */ + public function getClipUnits () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the fill color + * @link https://php.net/manual/en/imagickdraw.getfillcolor.php + * @return ImagickPixel an ImagickPixel object. + */ + public function getFillColor () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the opacity used when drawing + * @link https://php.net/manual/en/imagickdraw.getfillopacity.php + * @return float The opacity. + */ + public function getFillOpacity () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the fill rule + * @link https://php.net/manual/en/imagickdraw.getfillrule.php + * @return int a FILLRULE_ constant + */ + public function getFillRule () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the text placement gravity + * @link https://php.net/manual/en/imagickdraw.getgravity.php + * @return int a GRAVITY_ constant on success and 0 if no gravity is set. + */ + public function getGravity () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the current stroke antialias setting + * @link https://php.net/manual/en/imagickdraw.getstrokeantialias.php + * @return bool TRUE if antialiasing is on and false if it is off. + */ + public function getStrokeAntialias () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the color used for stroking object outlines + * @link https://php.net/manual/en/imagickdraw.getstrokecolor.php + * @return ImagickPixel an ImagickPixel object which describes the color. + */ + public function getStrokeColor () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns an array representing the pattern of dashes and gaps used to stroke paths + * @link https://php.net/manual/en/imagickdraw.getstrokedasharray.php + * @return array an array on success and empty array if not set. + */ + public function getStrokeDashArray () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the offset into the dash pattern to start the dash + * @link https://php.net/manual/en/imagickdraw.getstrokedashoffset.php + * @return float a float representing the offset and 0 if it's not set. + */ + public function getStrokeDashOffset () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the shape to be used at the end of open subpaths when they are stroked + * @link https://php.net/manual/en/imagickdraw.getstrokelinecap.php + * @return int one of the LINECAP_ constants or 0 if stroke linecap is not set. + */ + public function getStrokeLineCap () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the shape to be used at the corners of paths when they are stroked + * @link https://php.net/manual/en/imagickdraw.getstrokelinejoin.php + * @return int one of the LINEJOIN_ constants or 0 if stroke line join is not set. + */ + public function getStrokeLineJoin () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the stroke miter limit + * @link https://php.net/manual/en/imagickdraw.getstrokemiterlimit.php + * @return int an int describing the miter limit + * and 0 if no miter limit is set. + */ + public function getStrokeMiterLimit () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the opacity of stroked object outlines + * @link https://php.net/manual/en/imagickdraw.getstrokeopacity.php + * @return float a double describing the opacity. + */ + public function getStrokeOpacity () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the width of the stroke used to draw object outlines + * @link https://php.net/manual/en/imagickdraw.getstrokewidth.php + * @return float a double describing the stroke width. + */ + public function getStrokeWidth () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the text alignment + * @link https://php.net/manual/en/imagickdraw.gettextalignment.php + * @return int one of the ALIGN_ constants and 0 if no align is set. + */ + public function getTextAlignment () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the current text antialias setting + * @link https://php.net/manual/en/imagickdraw.gettextantialias.php + * @return bool TRUE if text is antialiased and false if not. + */ + public function getTextAntialias () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns a string containing vector graphics + * @link https://php.net/manual/en/imagickdraw.getvectorgraphics.php + * @return string a string containing the vector graphics. + */ + public function getVectorGraphics () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the text under color + * @link https://php.net/manual/en/imagickdraw.gettextundercolor.php + * @return ImagickPixel an ImagickPixel object describing the color. + */ + public function getTextUnderColor () {} + + /** + * (PECL imagick 2.0.0)
+ * Adds a path element to the current path + * @link https://php.net/manual/en/imagickdraw.pathclose.php + * @return bool No value is returned. + */ + public function pathClose () {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a cubic Bezier curve + * @link https://php.net/manual/en/imagickdraw.pathcurvetoabsolute.php + * @param float $x1

+ * x coordinate of the first control point + *

+ * @param float $y1

+ * y coordinate of the first control point + *

+ * @param float $x2

+ * x coordinate of the second control point + *

+ * @param float $y2

+ * y coordinate of the first control point + *

+ * @param float $x

+ * x coordinate of the curve end + *

+ * @param float $y

+ * y coordinate of the curve end + *

+ * @return bool No value is returned. + */ + public function pathCurveToAbsolute ($x1, $y1, $x2, $y2, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a cubic Bezier curve + * @link https://php.net/manual/en/imagickdraw.pathcurvetorelative.php + * @param float $x1

+ * x coordinate of starting control point + *

+ * @param float $y1

+ * y coordinate of starting control point + *

+ * @param float $x2

+ * x coordinate of ending control point + *

+ * @param float $y2

+ * y coordinate of ending control point + *

+ * @param float $x

+ * ending x coordinate + *

+ * @param float $y

+ * ending y coordinate + *

+ * @return bool No value is returned. + */ + public function pathCurveToRelative ($x1, $y1, $x2, $y2, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a quadratic Bezier curve + * @link https://php.net/manual/en/imagickdraw.pathcurvetoquadraticbezierabsolute.php + * @param float $x1

+ * x coordinate of the control point + *

+ * @param float $y1

+ * y coordinate of the control point + *

+ * @param float $x

+ * x coordinate of the end point + *

+ * @param float $y

+ * y coordinate of the end point + *

+ * @return bool No value is returned. + */ + public function pathCurveToQuadraticBezierAbsolute ($x1, $y1, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a quadratic Bezier curve + * @link https://php.net/manual/en/imagickdraw.pathcurvetoquadraticbezierrelative.php + * @param float $x1

+ * starting x coordinate + *

+ * @param float $y1

+ * starting y coordinate + *

+ * @param float $x

+ * ending x coordinate + *

+ * @param float $y

+ * ending y coordinate + *

+ * @return bool No value is returned. + */ + public function pathCurveToQuadraticBezierRelative ($x1, $y1, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a quadratic Bezier curve + * @link https://php.net/manual/en/imagickdraw.pathcurvetoquadraticbeziersmoothabsolute.php + * @param float $x

+ * ending x coordinate + *

+ * @param float $y

+ * ending y coordinate + *

+ * @return bool No value is returned. + */ + public function pathCurveToQuadraticBezierSmoothAbsolute ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a quadratic Bezier curve + * @link https://php.net/manual/en/imagickdraw.pathcurvetoquadraticbeziersmoothrelative.php + * @param float $x

+ * ending x coordinate + *

+ * @param float $y

+ * ending y coordinate + *

+ * @return bool No value is returned. + */ + public function pathCurveToQuadraticBezierSmoothRelative ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a cubic Bezier curve + * @link https://php.net/manual/en/imagickdraw.pathcurvetosmoothabsolute.php + * @param float $x2

+ * x coordinate of the second control point + *

+ * @param float $y2

+ * y coordinate of the second control point + *

+ * @param float $x

+ * x coordinate of the ending point + *

+ * @param float $y

+ * y coordinate of the ending point + *

+ * @return bool No value is returned. + */ + public function pathCurveToSmoothAbsolute ($x2, $y2, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a cubic Bezier curve + * @link https://php.net/manual/en/imagickdraw.pathcurvetosmoothrelative.php + * @param float $x2

+ * x coordinate of the second control point + *

+ * @param float $y2

+ * y coordinate of the second control point + *

+ * @param float $x

+ * x coordinate of the ending point + *

+ * @param float $y

+ * y coordinate of the ending point + *

+ * @return bool No value is returned. + */ + public function pathCurveToSmoothRelative ($x2, $y2, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws an elliptical arc + * @link https://php.net/manual/en/imagickdraw.pathellipticarcabsolute.php + * @param float $rx

+ * x radius + *

+ * @param float $ry

+ * y radius + *

+ * @param float $x_axis_rotation

+ * x axis rotation + *

+ * @param bool $large_arc_flag

+ * large arc flag + *

+ * @param bool $sweep_flag

+ * sweep flag + *

+ * @param float $x

+ * x coordinate + *

+ * @param float $y

+ * y coordinate + *

+ * @return bool No value is returned. + */ + public function pathEllipticArcAbsolute ($rx, $ry, $x_axis_rotation, $large_arc_flag, $sweep_flag, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws an elliptical arc + * @link https://php.net/manual/en/imagickdraw.pathellipticarcrelative.php + * @param float $rx

+ * x radius + *

+ * @param float $ry

+ * y radius + *

+ * @param float $x_axis_rotation

+ * x axis rotation + *

+ * @param bool $large_arc_flag

+ * large arc flag + *

+ * @param bool $sweep_flag

+ * sweep flag + *

+ * @param float $x

+ * x coordinate + *

+ * @param float $y

+ * y coordinate + *

+ * @return bool No value is returned. + */ + public function pathEllipticArcRelative ($rx, $ry, $x_axis_rotation, $large_arc_flag, $sweep_flag, $x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Terminates the current path + * @link https://php.net/manual/en/imagickdraw.pathfinish.php + * @return bool No value is returned. + */ + public function pathFinish () {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a line path + * @link https://php.net/manual/en/imagickdraw.pathlinetoabsolute.php + * @param float $x

+ * starting x coordinate + *

+ * @param float $y

+ * ending x coordinate + *

+ * @return bool No value is returned. + */ + public function pathLineToAbsolute ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a line path + * @link https://php.net/manual/en/imagickdraw.pathlinetorelative.php + * @param float $x

+ * starting x coordinate + *

+ * @param float $y

+ * starting y coordinate + *

+ * @return bool No value is returned. + */ + public function pathLineToRelative ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a horizontal line path + * @link https://php.net/manual/en/imagickdraw.pathlinetohorizontalabsolute.php + * @param float $x

+ * x coordinate + *

+ * @return bool No value is returned. + */ + public function pathLineToHorizontalAbsolute ($x) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a horizontal line + * @link https://php.net/manual/en/imagickdraw.pathlinetohorizontalrelative.php + * @param float $x

+ * x coordinate + *

+ * @return bool No value is returned. + */ + public function pathLineToHorizontalRelative ($x) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a vertical line + * @link https://php.net/manual/en/imagickdraw.pathlinetoverticalabsolute.php + * @param float $y

+ * y coordinate + *

+ * @return bool No value is returned. + */ + public function pathLineToVerticalAbsolute ($y) {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a vertical line path + * @link https://php.net/manual/en/imagickdraw.pathlinetoverticalrelative.php + * @param float $y

+ * y coordinate + *

+ * @return bool No value is returned. + */ + public function pathLineToVerticalRelative ($y) {} + + /** + * (PECL imagick 2.0.0)
+ * Starts a new sub-path + * @link https://php.net/manual/en/imagickdraw.pathmovetoabsolute.php + * @param float $x

+ * x coordinate of the starting point + *

+ * @param float $y

+ * y coordinate of the starting point + *

+ * @return bool No value is returned. + */ + public function pathMoveToAbsolute ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Starts a new sub-path + * @link https://php.net/manual/en/imagickdraw.pathmovetorelative.php + * @param float $x

+ * target x coordinate + *

+ * @param float $y

+ * target y coordinate + *

+ * @return bool No value is returned. + */ + public function pathMoveToRelative ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Declares the start of a path drawing list + * @link https://php.net/manual/en/imagickdraw.pathstart.php + * @return bool No value is returned. + */ + public function pathStart () {} + + /** + * (PECL imagick 2.0.0)
+ * Draws a polyline + * @link https://php.net/manual/en/imagickdraw.polyline.php + * @param array $coordinates

+ * array of x and y coordinates: array( array( 'x' => 4, 'y' => 6 ), array( 'x' => 8, 'y' => 10 ) ) + *

+ * @return bool TRUE on success. + */ + public function polyline (array $coordinates) {} + + /** + * (PECL imagick 2.0.0)
+ * Terminates a clip path definition + * @link https://php.net/manual/en/imagickdraw.popclippath.php + * @return bool No value is returned. + */ + public function popClipPath () {} + + /** + * (PECL imagick 2.0.0)
+ * Terminates a definition list + * @link https://php.net/manual/en/imagickdraw.popdefs.php + * @return bool No value is returned. + */ + public function popDefs () {} + + /** + * (PECL imagick 2.0.0)
+ * Terminates a pattern definition + * @link https://php.net/manual/en/imagickdraw.poppattern.php + * @return bool TRUE on success or FALSE on failure. + */ + public function popPattern () {} + + /** + * (PECL imagick 2.0.0)
+ * Starts a clip path definition + * @link https://php.net/manual/en/imagickdraw.pushclippath.php + * @param string $clip_mask_id

+ * Clip mask Id + *

+ * @return bool No value is returned. + */ + public function pushClipPath ($clip_mask_id) {} + + /** + * (PECL imagick 2.0.0)
+ * Indicates that following commands create named elements for early processing + * @link https://php.net/manual/en/imagickdraw.pushdefs.php + * @return bool No value is returned. + */ + public function pushDefs () {} + + /** + * (PECL imagick 2.0.0)
+ * Indicates that subsequent commands up to a ImagickDraw::opPattern() command comprise the definition of a named pattern + * @link https://php.net/manual/en/imagickdraw.pushpattern.php + * @param string $pattern_id

+ * the pattern Id + *

+ * @param float $x

+ * x coordinate of the top-left corner + *

+ * @param float $y

+ * y coordinate of the top-left corner + *

+ * @param float $width

+ * width of the pattern + *

+ * @param float $height

+ * height of the pattern + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function pushPattern ($pattern_id, $x, $y, $width, $height) {} + + /** + * (PECL imagick 2.0.0)
+ * Renders all preceding drawing commands onto the image + * @link https://php.net/manual/en/imagickdraw.render.php + * @return bool TRUE on success or FALSE on failure. + */ + public function render () {} + + /** + * (PECL imagick 2.0.0)
+ * Applies the specified rotation to the current coordinate space + * @link https://php.net/manual/en/imagickdraw.rotate.php + * @param float $degrees

+ * degrees to rotate + *

+ * @return bool No value is returned. + */ + public function rotate ($degrees) {} + + /** + * (PECL imagick 2.0.0)
+ * Adjusts the scaling factor + * @link https://php.net/manual/en/imagickdraw.scale.php + * @param float $x

+ * horizontal factor + *

+ * @param float $y

+ * vertical factor + *

+ * @return bool No value is returned. + */ + public function scale ($x, $y) {} + + /** + * (PECL imagick 2.0.0)
+ * Associates a named clipping path with the image + * @link https://php.net/manual/en/imagickdraw.setclippath.php + * @param string $clip_mask

+ * the clipping path name + *

+ * @return bool No value is returned. + */ + public function setClipPath ($clip_mask) {} + + /** + * (PECL imagick 2.0.0)
+ * Set the polygon fill rule to be used by the clipping path + * @link https://php.net/manual/en/imagickdraw.setcliprule.php + * @param int $fill_rule

+ * FILLRULE_ constant + *

+ * @return bool No value is returned. + */ + public function setClipRule ($fill_rule) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the interpretation of clip path units + * @link https://php.net/manual/en/imagickdraw.setclipunits.php + * @param int $clip_units

+ * the number of clip units + *

+ * @return bool No value is returned. + */ + public function setClipUnits ($clip_units) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the opacity to use when drawing using the fill color or fill texture + * @link https://php.net/manual/en/imagickdraw.setfillopacity.php + * @param float $fillOpacity

+ * the fill opacity + *

+ * @return bool No value is returned. + */ + public function setFillOpacity ($fillOpacity) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the URL to use as a fill pattern for filling objects + * @link https://php.net/manual/en/imagickdraw.setfillpatternurl.php + * @param string $fill_url

+ * URL to use to obtain fill pattern. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setFillPatternURL ($fill_url) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the fill rule to use while drawing polygons + * @link https://php.net/manual/en/imagickdraw.setfillrule.php + * @param int $fill_rule

+ * FILLRULE_ constant + *

+ * @return bool No value is returned. + */ + public function setFillRule ($fill_rule) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the text placement gravity + * @link https://php.net/manual/en/imagickdraw.setgravity.php + * @param int $gravity

+ * GRAVITY_ constant + *

+ * @return bool No value is returned. + */ + public function setGravity ($gravity) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the pattern used for stroking object outlines + * @link https://php.net/manual/en/imagickdraw.setstrokepatternurl.php + * @param string $stroke_url

+ * stroke URL + *

+ * @return bool imagick.imagickdraw.return.success; + */ + public function setStrokePatternURL ($stroke_url) {} + + /** + * (PECL imagick 2.0.0)
+ * Specifies the offset into the dash pattern to start the dash + * @link https://php.net/manual/en/imagickdraw.setstrokedashoffset.php + * @param float $dash_offset

+ * dash offset + *

+ * @return bool No value is returned. + */ + public function setStrokeDashOffset ($dash_offset) {} + + /** + * (PECL imagick 2.0.0)
+ * Specifies the shape to be used at the end of open subpaths when they are stroked + * @link https://php.net/manual/en/imagickdraw.setstrokelinecap.php + * @param int $linecap

+ * LINECAP_ constant + *

+ * @return bool No value is returned. + */ + public function setStrokeLineCap ($linecap) {} + + /** + * (PECL imagick 2.0.0)
+ * Specifies the shape to be used at the corners of paths when they are stroked + * @link https://php.net/manual/en/imagickdraw.setstrokelinejoin.php + * @param int $linejoin

+ * LINEJOIN_ constant + *

+ * @return bool No value is returned. + */ + public function setStrokeLineJoin ($linejoin) {} + + /** + * (PECL imagick 2.0.0)
+ * Specifies the miter limit + * @link https://php.net/manual/en/imagickdraw.setstrokemiterlimit.php + * @param int $miterlimit

+ * the miter limit + *

+ * @return bool No value is returned. + */ + public function setStrokeMiterLimit ($miterlimit) {} + + /** + * (PECL imagick 2.0.0)
+ * Specifies the opacity of stroked object outlines + * @link https://php.net/manual/en/imagickdraw.setstrokeopacity.php + * @param float $stroke_opacity

+ * stroke opacity. 1.0 is fully opaque + *

+ * @return bool No value is returned. + */ + public function setStrokeOpacity ($stroke_opacity) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the vector graphics + * @link https://php.net/manual/en/imagickdraw.setvectorgraphics.php + * @param string $xml

+ * xml containing the vector graphics + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setVectorGraphics ($xml) {} + + /** + * (PECL imagick 2.0.0)
+ * Destroys the current ImagickDraw in the stack, and returns to the previously pushed ImagickDraw + * @link https://php.net/manual/en/imagickdraw.pop.php + * @return bool TRUE on success and false on failure. + */ + public function pop () {} + + /** + * (PECL imagick 2.0.0)
+ * Clones the current ImagickDraw and pushes it to the stack + * @link https://php.net/manual/en/imagickdraw.push.php + * @return bool TRUE on success or FALSE on failure. + */ + public function push () {} + + /** + * (PECL imagick 2.0.0)
+ * Specifies the pattern of dashes and gaps used to stroke paths + * @link https://php.net/manual/en/imagickdraw.setstrokedasharray.php + * @param array $dashArray

+ * array of floats + *

+ * @return bool TRUE on success. + */ + public function setStrokeDashArray (array $dashArray) {} + + /** + * Sets the opacity to use when drawing using the fill or stroke color or texture. Fully opaque is 1.0. + * + * @param float $opacity + * @return void + * @since 3.4.1 + */ + public function setOpacity($opacity) { } + + /** + * Returns the opacity used when drawing with the fill or stroke color or texture. Fully opaque is 1.0. + * + * @return float + * @since 3.4.1 + */ + public function getOpacity() { } + + /** + * Sets the image font resolution. + * + * @param float $x + * @param float $y + * @return bool + * @since 3.4.1 + */ + public function setFontResolution($x, $y) { } + + /** + * Gets the image X and Y resolution. + * + * @return array + * @since 3.4.1 + */ + public function getFontResolution() { } + + /** + * Returns the direction that will be used when annotating with text. + * @return bool + * @since 3.4.1 + */ + public function getTextDirection() { } + + /** + * Sets the font style to use when annotating with text. The AnyStyle enumeration acts as a wild-card "don't care" option. + * + * @param int $direction + * @return bool + * @since 3.4.1 + */ + public function setTextDirection($direction) { } + + /** + * Returns the border color used for drawing bordered objects. + * + * @return ImagickPixel + * @since 3.4.1 + */ + public function getBorderColor() { } + + /** + * Sets the border color to be used for drawing bordered objects. + * @param ImagickPixel $color + * @return bool + * @since 3.4.1 + */ + public function setBorderColor(ImagickPixel $color) { } + + /** + * Obtains the vertical and horizontal resolution. + * + * @return string|null + * @since 3.4.1 + */ + public function getDensity() { } + + /** + * Sets the vertical and horizontal resolution. + * @param string $density_string + * @return bool + * @since 3.4.1 + */ + public function setDensity($density_string) { } +} + +/** + * @link https://php.net/manual/en/class.imagickpixeliterator.php + */ +class ImagickPixelIterator implements Iterator { + + /** + * (PECL imagick 2.0.0)
+ * The ImagickPixelIterator constructor + * @link https://php.net/manual/en/imagickpixeliterator.construct.php + * @param Imagick $wand + */ + public function __construct (Imagick $wand) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns a new pixel iterator + * @link https://php.net/manual/en/imagickpixeliterator.newpixeliterator.php + * @param Imagick $wand + * @return bool TRUE on success. Throwing ImagickPixelIteratorException. + * @throws ImagickPixelIteratorException + */ + public function newPixelIterator (Imagick $wand) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns a new pixel iterator + * @link https://php.net/manual/en/imagickpixeliterator.newpixelregioniterator.php + * @param Imagick $wand + * @param int $x + * @param int $y + * @param int $columns + * @param int $rows + * @return bool a new ImagickPixelIterator on success; on failure, throws ImagickPixelIteratorException + * @throws ImagickPixelIteratorException + */ + public function newPixelRegionIterator (Imagick $wand, $x, $y, $columns, $rows) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the current pixel iterator row + * @link https://php.net/manual/en/imagickpixeliterator.getiteratorrow.php + * @return int the integer offset of the row, throwing ImagickPixelIteratorException on error. + * @throws ImagickPixelIteratorException on error + */ + public function getIteratorRow () {} + + /** + * (PECL imagick 2.0.0)
+ * Set the pixel iterator row + * @link https://php.net/manual/en/imagickpixeliterator.setiteratorrow.php + * @param int $row + * @return bool TRUE on success. + */ + public function setIteratorRow ($row) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the pixel iterator to the first pixel row + * @link https://php.net/manual/en/imagickpixeliterator.setiteratorfirstrow.php + * @return bool TRUE on success. + */ + public function setIteratorFirstRow () {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the pixel iterator to the last pixel row + * @link https://php.net/manual/en/imagickpixeliterator.setiteratorlastrow.php + * @return bool TRUE on success. + */ + public function setIteratorLastRow () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the previous row + * @link https://php.net/manual/en/imagickpixeliterator.getpreviousiteratorrow.php + * @return array the previous row as an array of ImagickPixelWand objects from the + * ImagickPixelIterator, throwing ImagickPixelIteratorException on error. + * @throws ImagickPixelIteratorException on error + */ + public function getPreviousIteratorRow () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the current row of ImagickPixel objects + * @link https://php.net/manual/en/imagickpixeliterator.getcurrentiteratorrow.php + * @return array a row as an array of ImagickPixel objects that can themselves be iterated. + */ + public function getCurrentIteratorRow () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the next row of the pixel iterator + * @link https://php.net/manual/en/imagickpixeliterator.getnextiteratorrow.php + * @return array the next row as an array of ImagickPixel objects, throwing + * ImagickPixelIteratorException on error. + * @throws ImagickPixelIteratorException on error + */ + public function getNextIteratorRow () {} + + /** + * (PECL imagick 2.0.0)
+ * Resets the pixel iterator + * @link https://php.net/manual/en/imagickpixeliterator.resetiterator.php + * @return bool TRUE on success. + */ + public function resetIterator () {} + + /** + * (PECL imagick 2.0.0)
+ * Syncs the pixel iterator + * @link https://php.net/manual/en/imagickpixeliterator.synciterator.php + * @return bool TRUE on success. + */ + public function syncIterator () {} + + /** + * (PECL imagick 2.0.0)
+ * Deallocates resources associated with a PixelIterator + * @link https://php.net/manual/en/imagickpixeliterator.destroy.php + * @return bool TRUE on success. + */ + public function destroy () {} + + /** + * (PECL imagick 2.0.0)
+ * Clear resources associated with a PixelIterator + * @link https://php.net/manual/en/imagickpixeliterator.clear.php + * @return bool TRUE on success. + */ + public function clear () {} + + /** + * @param Imagick $Imagick + */ + public static function getpixeliterator (Imagick $Imagick) {} + + /** + * @param Imagick $Imagick + * @param $x + * @param $y + * @param $columns + * @param $rows + */ + public static function getpixelregioniterator (Imagick $Imagick, $x, $y, $columns, $rows) {} + + public function key () {} + + public function next () {} + + public function rewind () {} + + public function current () {} + + public function valid () {} + +} + +/** + * @method clone() + * @link https://php.net/manual/en/class.imagickpixel.php + */ +class ImagickPixel { + + /** + * (PECL imagick 2.0.0)
+ * Returns the normalized HSL color of the ImagickPixel object + * @link https://php.net/manual/en/imagickpixel.gethsl.php + * @return array the HSL value in an array with the keys "hue", + * "saturation", and "luminosity". Throws ImagickPixelException on failure. + * @throws ImagickPixelException on failure + */ + public function getHSL () {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the normalized HSL color + * @link https://php.net/manual/en/imagickpixel.sethsl.php + * @param float $hue

+ * The normalized value for hue, described as a fractional arc + * (between 0 and 1) of the hue circle, where the zero value is + * red. + *

+ * @param float $saturation

+ * The normalized value for saturation, with 1 as full saturation. + *

+ * @param float $luminosity

+ * The normalized value for luminosity, on a scale from black at + * 0 to white at 1, with the full HS value at 0.5 luminosity. + *

+ * @return bool TRUE on success. + */ + public function setHSL ($hue, $saturation, $luminosity) {} + + public function getColorValueQuantum () {} + + /** + * @param $color_value + */ + public function setColorValueQuantum ($color_value) {} + + public function getIndex () {} + + /** + * @param $index + */ + public function setIndex ($index) {} + + /** + * (PECL imagick 2.0.0)
+ * The ImagickPixel constructor + * @link https://php.net/manual/en/imagickpixel.construct.php + * @param string $color [optional]

+ * The optional color string to use as the initial value of this object. + *

+ */ + public function __construct ($color = null) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the color + * @link https://php.net/manual/en/imagickpixel.setcolor.php + * @param string $color

+ * The color definition to use in order to initialise the + * ImagickPixel object. + *

+ * @return bool TRUE if the specified color was set, FALSE otherwise. + */ + public function setColor ($color) {} + + /** + * (PECL imagick 2.0.0)
+ * Sets the normalized value of one of the channels + * @link https://php.net/manual/en/imagickpixel.setcolorvalue.php + * @param int $color

+ * One of the Imagick color constants e.g. \Imagick::COLOR_GREEN or \Imagick::COLOR_ALPHA. + *

+ * @param float $value

+ * The value to set this channel to, ranging from 0 to 1. + *

+ * @return bool TRUE on success. + */ + public function setColorValue ($color, $value) {} + + /** + * (PECL imagick 2.0.0)
+ * Gets the normalized value of the provided color channel + * @link https://php.net/manual/en/imagickpixel.getcolorvalue.php + * @param int $color

+ * The color to get the value of, specified as one of the Imagick color + * constants. This can be one of the RGB colors, CMYK colors, alpha and + * opacity e.g (Imagick::COLOR_BLUE, Imagick::COLOR_MAGENTA). + *

+ * @return float The value of the channel, as a normalized floating-point number, throwing + * ImagickPixelException on error. + * @throws ImagickPixelException on error + */ + public function getColorValue ($color) {} + + /** + * (PECL imagick 2.0.0)
+ * Clears resources associated with this object + * @link https://php.net/manual/en/imagickpixel.clear.php + * @return bool TRUE on success. + */ + public function clear () {} + + /** + * (PECL imagick 2.0.0)
+ * Deallocates resources associated with this object + * @link https://php.net/manual/en/imagickpixel.destroy.php + * @return bool TRUE on success. + */ + public function destroy () {} + + /** + * (PECL imagick 2.0.0)
+ * Check the distance between this color and another + * @link https://php.net/manual/en/imagickpixel.issimilar.php + * @param ImagickPixel $color

+ * The ImagickPixel object to compare this object against. + *

+ * @param float $fuzz

+ * The maximum distance within which to consider these colors as similar. + * The theoretical maximum for this value is the square root of three + * (1.732). + *

+ * @return bool TRUE on success. + */ + public function isSimilar (ImagickPixel $color, $fuzz) {} + + /** + * (No version information available, might only be in SVN)
+ * Check the distance between this color and another + * @link https://php.net/manual/en/imagickpixel.ispixelsimilar.php + * @param ImagickPixel $color

+ * The ImagickPixel object to compare this object against. + *

+ * @param float $fuzz

+ * The maximum distance within which to consider these colors as similar. + * The theoretical maximum for this value is the square root of three + * (1.732). + *

+ * @return bool TRUE on success. + */ + public function isPixelSimilar (ImagickPixel $color, $fuzz) {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the color + * @link https://php.net/manual/en/imagickpixel.getcolor.php + * @param bool $normalized [optional]

+ * Normalize the color values + *

+ * @return array An array of channel values, each normalized if TRUE is given as param. Throws + * ImagickPixelException on error. + * @throws ImagickPixelException on error. + */ + public function getColor ($normalized = false) {} + + /** + * (PECL imagick 2.1.0)
+ * Returns the color as a string + * @link https://php.net/manual/en/imagickpixel.getcolorasstring.php + * @return string the color of the ImagickPixel object as a string. + */ + public function getColorAsString () {} + + /** + * (PECL imagick 2.0.0)
+ * Returns the color count associated with this color + * @link https://php.net/manual/en/imagickpixel.getcolorcount.php + * @return int the color count as an integer on success, throws + * ImagickPixelException on failure. + * @throws ImagickPixelException on failure. + */ + public function getColorCount () {} + + /** + * @param $colorCount + */ + public function setColorCount ($colorCount) {} + + + /** + * Returns true if the distance between two colors is less than the specified distance. The fuzz value should be in the range 0-QuantumRange.
+ * The maximum value represents the longest possible distance in the colorspace. e.g. from RGB(0, 0, 0) to RGB(255, 255, 255) for the RGB colorspace + * @link https://php.net/manual/en/imagickpixel.ispixelsimilarquantum.php + * @param string $pixel + * @param string $fuzz + * @return bool + * @since 3.3.0 + */ + public function isPixelSimilarQuantum($color, $fuzz) { } + + /** + * Returns the color of the pixel in an array as Quantum values. If ImageMagick was compiled as HDRI these will be floats, otherwise they will be integers. + * @link https://php.net/manual/en/imagickpixel.getcolorquantum.php + * @return mixed The quantum value of the color element. Float if ImageMagick was compiled with HDRI, otherwise an int. + * @since 3.3.0 + */ + public function getColorQuantum() { } + + /** + * Sets the color count associated with this color from another ImagickPixel object. + * + * @param ImagickPixel $srcPixel + * @return bool + * @since 3.4.1 + */ + public function setColorFromPixel(ImagickPixel $srcPixel) { } +} +// End of imagick v.3.2.0RC1 + +// Start of Imagick v3.3.0RC1 + +/** + * @link https://php.net/manual/en/class.imagickkernel.php + */ +class ImagickKernel { + /** + * Attach another kernel to this kernel to allow them to both be applied in a single morphology or filter function. Returns the new combined kernel. + * @link https://php.net/manual/en/imagickkernel.addkernel.php + * @param ImagickKernel $imagickKernel + * @return void + * @since 3.3.0 + */ + public function addKernel(ImagickKernel $imagickKernel) { } + + /** + * Adds a given amount of the 'Unity' Convolution Kernel to the given pre-scaled and normalized Kernel. This in effect adds that amount of the original image into the resulting convolution kernel. The resulting effect is to convert the defined kernels into blended soft-blurs, unsharp kernels or into sharpening kernels. + * @link https://php.net/manual/en/imagickkernel.addunitykernel.php + * @return void + * @since 3.3.0 + */ + public function addUnityKernel() { } + + /** + * Create a kernel from a builtin in kernel. See https://www.imagemagick.org/Usage/morphology/#kernel for examples.
+ * Currently the 'rotation' symbols are not supported. Example: $diamondKernel = ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DIAMOND, "2"); + * @link https://php.net/manual/en/imagickkernel.frombuiltin.php + * @param string $kernelType The type of kernel to build e.g. \Imagick::KERNEL_DIAMOND + * @param string $kernelString A string that describes the parameters e.g. "4,2.5" + * @return void + * @since 3.3.0 + */ + public static function fromBuiltin($kernelType, $kernelString) { } + + /** + * Create a kernel from a builtin in kernel. See https://www.imagemagick.org/Usage/morphology/#kernel for examples.
+ * Currently the 'rotation' symbols are not supported. Example: $diamondKernel = ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DIAMOND, "2"); + * @link https://php.net/manual/en/imagickkernel.frombuiltin.php + * @see https://www.imagemagick.org/Usage/morphology/#kernel + * @param array $matrix A matrix (i.e. 2d array) of values that define the kernel. Each element should be either a float value, or FALSE if that element shouldn't be used by the kernel. + * @param array $origin [optional] Which element of the kernel should be used as the origin pixel. e.g. For a 3x3 matrix specifying the origin as [2, 2] would specify that the bottom right element should be the origin pixel. + * @return ImagickKernel + * @since 3.3.0 + */ + public static function fromMatrix($matrix, $origin) { } + + /** + * Get the 2d matrix of values used in this kernel. The elements are either float for elements that are used or 'false' if the element should be skipped. + * @link https://php.net/manual/en/imagickkernel.getmatrix.php + * @return array A matrix (2d array) of the values that represent the kernel. + * @since 3.3.0 + */ + public function getMatrix() { } + + /** + * ScaleKernelInfo() scales the given kernel list by the given amount, with or without normalization of the sum of the kernel values (as per given flags).
+ * The exact behaviour of this function depends on the normalization type being used please see https://www.imagemagick.org/api/morphology.php#ScaleKernelInfo for details.
+ * Flag should be one of Imagick::NORMALIZE_KERNEL_VALUE, Imagick::NORMALIZE_KERNEL_CORRELATE, Imagick::NORMALIZE_KERNEL_PERCENT or not set. + * @link https://php.net/manual/en/imagickkernel.scale.php + * @see https://www.imagemagick.org/api/morphology.php#ScaleKernelInfo + * @return void + * @since 3.3.0 + */ + public function scale() { } + + /** + * Separates a linked set of kernels and returns an array of ImagickKernels. + * @link https://php.net/manual/en/imagickkernel.separate.php + * @return void + * @since 3.3.0 + */ + public function seperate() { } +} diff --git a/build/stubs/memcached.php b/build/stubs/memcached.php new file mode 100644 index 0000000000..8f898c3c5c --- /dev/null +++ b/build/stubs/memcached.php @@ -0,0 +1,1528 @@ +Enables or disables payload compression. When enabled, + * item values longer than a certain threshold (currently 100 bytes) will be + * compressed during storage and decompressed during retrieval + * transparently.

+ *

Type: boolean, default: TRUE.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_COMPRESSION = -1001; + const OPT_COMPRESSION_TYPE = -1004; + + /** + *

This can be used to create a "domain" for your item keys. The value + * specified here will be prefixed to each of the keys. It cannot be + * longer than 128 characters and will reduce the + * maximum available key size. The prefix is applied only to the item keys, + * not to the server keys.

+ *

Type: string, default: "".

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_PREFIX_KEY = -1002; + + /** + *

+ * Specifies the serializer to use for serializing non-scalar values. + * The valid serializers are Memcached::SERIALIZER_PHP + * or Memcached::SERIALIZER_IGBINARY. The latter is + * supported only when memcached is configured with + * --enable-memcached-igbinary option and the + * igbinary extension is loaded. + *

+ *

Type: integer, default: Memcached::SERIALIZER_PHP.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_SERIALIZER = -1003; + + /** + *

Indicates whether igbinary serializer support is available.

+ *

Type: boolean.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const HAVE_IGBINARY = 0; + + /** + *

Indicates whether JSON serializer support is available.

+ *

Type: boolean.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const HAVE_JSON = 0; + + /** + *

Indicates whether msgpack serializer support is available.

+ *

Type: boolean.

+ * Available as of Memcached 3.0.0. + * @since 3.0.0 + * @link https://php.net/manual/en/memcached.constants.php + */ + const HAVE_MSGPACK = 0; + + /** + *

Indicate whether set_encoding_key is available

+ *

Type: boolean.

+ * @link https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/memcached-api.php, https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/php_memcached.c#L4387 + */ + const HAVE_ENCODING = 0; + + /** + * Feature support + */ + const HAVE_SESSION = 1; + const HAVE_SASL = 0; + + /** + *

Specifies the hashing algorithm used for the item keys. The valid + * values are supplied via Memcached::HASH_* constants. + * Each hash algorithm has its advantages and its disadvantages. Go with the + * default if you don't know or don't care.

+ *

Type: integer, default: Memcached::HASH_DEFAULT

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_HASH = 2; + + /** + *

The default (Jenkins one-at-a-time) item key hashing algorithm.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const HASH_DEFAULT = 0; + + /** + *

MD5 item key hashing algorithm.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const HASH_MD5 = 1; + + /** + *

CRC item key hashing algorithm.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const HASH_CRC = 2; + + /** + *

FNV1_64 item key hashing algorithm.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const HASH_FNV1_64 = 3; + + /** + *

FNV1_64A item key hashing algorithm.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const HASH_FNV1A_64 = 4; + + /** + *

FNV1_32 item key hashing algorithm.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const HASH_FNV1_32 = 5; + + /** + *

FNV1_32A item key hashing algorithm.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const HASH_FNV1A_32 = 6; + + /** + *

Hsieh item key hashing algorithm.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const HASH_HSIEH = 7; + + /** + *

Murmur item key hashing algorithm.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const HASH_MURMUR = 8; + + /** + *

Specifies the method of distributing item keys to the servers. + * Currently supported methods are modulo and consistent hashing. Consistent + * hashing delivers better distribution and allows servers to be added to + * the cluster with minimal cache losses.

+ *

Type: integer, default: Memcached::DISTRIBUTION_MODULA.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_DISTRIBUTION = 9; + + /** + *

Modulo-based key distribution algorithm.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const DISTRIBUTION_MODULA = 0; + + /** + *

Consistent hashing key distribution algorithm (based on libketama).

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const DISTRIBUTION_CONSISTENT = 1; + const DISTRIBUTION_VIRTUAL_BUCKET = 6; + + /** + *

Enables or disables compatibility with libketama-like behavior. When + * enabled, the item key hashing algorithm is set to MD5 and distribution is + * set to be weighted consistent hashing distribution. This is useful + * because other libketama-based clients (Python, Ruby, etc.) with the same + * server configuration will be able to access the keys transparently. + *

+ *

+ * It is highly recommended to enable this option if you want to use + * consistent hashing, and it may be enabled by default in future + * releases. + *

+ *

Type: boolean, default: FALSE.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_LIBKETAMA_COMPATIBLE = 16; + const OPT_LIBKETAMA_HASH = 17; + const OPT_TCP_KEEPALIVE = 32; + + /** + *

Enables or disables buffered I/O. Enabling buffered I/O causes + * storage commands to "buffer" instead of being sent. Any action that + * retrieves data causes this buffer to be sent to the remote connection. + * Quitting the connection or closing down the connection will also cause + * the buffered data to be pushed to the remote connection.

+ *

Type: boolean, default: FALSE.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_BUFFER_WRITES = 10; + + /** + *

Enable the use of the binary protocol. Please note that you cannot + * toggle this option on an open connection.

+ *

Type: boolean, default: FALSE.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_BINARY_PROTOCOL = 18; + + /** + *

Enables or disables asynchronous I/O. This is the fastest transport + * available for storage functions.

+ *

Type: boolean, default: FALSE.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_NO_BLOCK = 0; + + /** + *

Enables or disables the no-delay feature for connecting sockets (may + * be faster in some environments).

+ *

Type: boolean, default: FALSE.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_TCP_NODELAY = 1; + + /** + *

The maximum socket send buffer in bytes.

+ *

Type: integer, default: varies by platform/kernel + * configuration.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_SOCKET_SEND_SIZE = 4; + + /** + *

The maximum socket receive buffer in bytes.

+ *

Type: integer, default: varies by platform/kernel + * configuration.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_SOCKET_RECV_SIZE = 5; + + /** + *

In non-blocking mode this set the value of the timeout during socket + * connection, in milliseconds.

+ *

Type: integer, default: 1000.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_CONNECT_TIMEOUT = 14; + + /** + *

The amount of time, in seconds, to wait until retrying a failed + * connection attempt.

+ *

Type: integer, default: 0.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_RETRY_TIMEOUT = 15; + + /** + *

Socket sending timeout, in microseconds. In cases where you cannot + * use non-blocking I/O this will allow you to still have timeouts on the + * sending of data.

+ *

Type: integer, default: 0.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_SEND_TIMEOUT = 19; + + /** + *

Socket reading timeout, in microseconds. In cases where you cannot + * use non-blocking I/O this will allow you to still have timeouts on the + * reading of data.

+ *

Type: integer, default: 0.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_RECV_TIMEOUT = 20; + + /** + *

Timeout for connection polling, in milliseconds.

+ *

Type: integer, default: 1000.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_POLL_TIMEOUT = 8; + + /** + *

Enables or disables caching of DNS lookups.

+ *

Type: boolean, default: FALSE.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_CACHE_LOOKUPS = 6; + + /** + *

Specifies the failure limit for server connection attempts. The + * server will be removed after this many continuous connection + * failures.

+ *

Type: integer, default: 0.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const OPT_SERVER_FAILURE_LIMIT = 21; + const OPT_AUTO_EJECT_HOSTS = 28; + const OPT_HASH_WITH_PREFIX_KEY = 25; + const OPT_NOREPLY = 26; + const OPT_SORT_HOSTS = 12; + const OPT_VERIFY_KEY = 13; + const OPT_USE_UDP = 27; + const OPT_NUMBER_OF_REPLICAS = 29; + const OPT_RANDOMIZE_REPLICA_READ = 30; + const OPT_CORK = 31; + const OPT_REMOVE_FAILED_SERVERS = 35; + const OPT_DEAD_TIMEOUT = 36; + const OPT_SERVER_TIMEOUT_LIMIT = 37; + const OPT_MAX = 38; + const OPT_IO_BYTES_WATERMARK = 23; + const OPT_IO_KEY_PREFETCH = 24; + const OPT_IO_MSG_WATERMARK = 22; + const OPT_LOAD_FROM_FILE = 34; + const OPT_SUPPORT_CAS = 7; + const OPT_TCP_KEEPIDLE = 33; + const OPT_USER_DATA = 11; + + + /** + * libmemcached result codes + */ + /** + *

The operation was successful.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_SUCCESS = 0; + + /** + *

The operation failed in some fashion.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_FAILURE = 1; + + /** + *

DNS lookup failed.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_HOST_LOOKUP_FAILURE = 2; + + /** + *

Failed to read network data.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_UNKNOWN_READ_FAILURE = 7; + + /** + *

Bad command in memcached protocol.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_PROTOCOL_ERROR = 8; + + /** + *

Error on the client side.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_CLIENT_ERROR = 9; + + /** + *

Error on the server side.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_SERVER_ERROR = 10; + + /** + *

Failed to write network data.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_WRITE_FAILURE = 5; + + /** + *

Failed to do compare-and-swap: item you are trying to store has been + * modified since you last fetched it.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_DATA_EXISTS = 12; + + /** + *

Item was not stored: but not because of an error. This normally + * means that either the condition for an "add" or a "replace" command + * wasn't met, or that the item is in a delete queue.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_NOTSTORED = 14; + + /** + *

Item with this key was not found (with "get" operation or "cas" + * operations).

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_NOTFOUND = 16; + + /** + *

Partial network data read error.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_PARTIAL_READ = 18; + + /** + *

Some errors occurred during multi-get.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_SOME_ERRORS = 19; + + /** + *

Server list is empty.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_NO_SERVERS = 20; + + /** + *

End of result set.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_END = 21; + + /** + *

System error.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_ERRNO = 26; + + /** + *

The operation was buffered.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_BUFFERED = 32; + + /** + *

The operation timed out.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_TIMEOUT = 31; + + /** + *

Bad key.

+ * @link https://php.net/manual/en/memcached.constants.php, http://docs.libmemcached.org/index.html + */ + /** + *

MEMCACHED_BAD_KEY_PROVIDED: The key provided is not a valid key.

+ */ + const RES_BAD_KEY_PROVIDED = 33; + /** + *

MEMCACHED_STORED: The requested object has been successfully stored on the server.

+ */ + const RES_STORED = 15; + /** + *

MEMCACHED_DELETED: The object requested by the key has been deleted.

+ */ + const RES_DELETED = 22; + /** + *

MEMCACHED_STAT: A “stat” command has been returned in the protocol.

+ */ + const RES_STAT = 24; + /** + *

MEMCACHED_ITEM: An item has been fetched (this is an internal error only).

+ */ + const RES_ITEM = 25; + /** + *

MEMCACHED_NOT_SUPPORTED: The given method is not supported in the server.

+ */ + const RES_NOT_SUPPORTED = 28; + /** + *

MEMCACHED_FETCH_NOTFINISHED: A request has been made, but the server has not finished the fetch of the last request.

+ */ + const RES_FETCH_NOTFINISHED = 30; + /** + *

MEMCACHED_SERVER_MARKED_DEAD: The requested server has been marked dead.

+ */ + const RES_SERVER_MARKED_DEAD = 35; + /** + *

MEMCACHED_UNKNOWN_STAT_KEY: The server you are communicating with has a stat key which has not be defined in the protocol.

+ */ + const RES_UNKNOWN_STAT_KEY = 36; + /** + *

MEMCACHED_INVALID_HOST_PROTOCOL: The server you are connecting too has an invalid protocol. Most likely you are connecting to an older server that does not speak the binary protocol.

+ */ + const RES_INVALID_HOST_PROTOCOL = 34; + /** + *

MEMCACHED_MEMORY_ALLOCATION_FAILURE: An error has occurred while trying to allocate memory.

+ */ + const RES_MEMORY_ALLOCATION_FAILURE = 17; + /** + *

MEMCACHED_E2BIG: Item is too large for the server to store.

+ */ + const RES_E2BIG = 37; + /** + *

MEMCACHED_KEY_TOO_BIG: The key that has been provided is too large for the given server.

+ */ + const RES_KEY_TOO_BIG = 39; + /** + *

MEMCACHED_SERVER_TEMPORARILY_DISABLED

+ */ + const RES_SERVER_TEMPORARILY_DISABLED = 47; + /** + *

MEMORY_ALLOCATION_FAILURE: An error has occurred while trying to allocate memory. + * + * #if defined(LIBMEMCACHED_VERSION_HEX) && LIBMEMCACHED_VERSION_HEX >= 0x01000008

+ */ + const RES_SERVER_MEMORY_ALLOCATION_FAILURE = 48; + /** + *

MEMCACHED_AUTH_PROBLEM: An unknown issue has occured during authentication.

+ */ + const RES_AUTH_PROBLEM = 40; + /** + *

MEMCACHED_AUTH_FAILURE: The credentials provided are not valid for this server.

+ */ + const RES_AUTH_FAILURE = 41; + /** + *

MEMCACHED_AUTH_CONTINUE: Authentication has been paused.

+ */ + const RES_AUTH_CONTINUE = 42; + /** + *

MEMCACHED_CONNECTION_FAILURE: A unknown error has occured while trying to connect to a server.

+ */ + const RES_CONNECTION_FAILURE = 3; + /** + *

MEMCACHED_CONNECTION_BIND_FAILURE: Deprecated since version <0.30(libmemcached). + * We were not able to bind() to the socket.

+ */ + const RES_CONNECTION_BIND_FAILURE = 4; + /** + *

MEMCACHED_READ_FAILURE: A read failure has occurred.

+ */ + const RES_READ_FAILURE = 6; + /** + *

MEMCACHED_DATA_DOES_NOT_EXIST: The data requested with the key given was not found.

+ */ + const RES_DATA_DOES_NOT_EXIST = 13; + /** + *

MEMCACHED_VALUE: A value has been returned from the server (this is an internal condition only).

+ */ + const RES_VALUE = 23; + /** + *

MEMCACHED_FAIL_UNIX_SOCKET: A connection was not established with the server via a unix domain socket.

+ */ + const RES_FAIL_UNIX_SOCKET = 27; + /** + *

MEMCACHED_NO_KEY_PROVIDED: Deprecated since version <0.30(libmemcached): Use MEMCACHED_BAD_KEY_PROVIDED instead. + * No key was provided.

+ */ + const RES_NO_KEY_PROVIDED = 29; + /** + *

MEMCACHED_INVALID_ARGUMENTS: The arguments supplied to the given function were not valid.

+ */ + const RES_INVALID_ARGUMENTS = 38; + /** + *

MEMCACHED_PARSE_ERROR: An error has occurred while trying to parse the configuration string. You should use memparse to determine what the error was.

+ */ + const RES_PARSE_ERROR = 43; + /** + *

MEMCACHED_PARSE_USER_ERROR: An error has occurred in parsing the configuration string.

+ */ + const RES_PARSE_USER_ERROR = 44; + /** + *

MEMCACHED_DEPRECATED: The method that was requested has been deprecated.

+ */ + const RES_DEPRECATED = 45; + //unknow + const RES_IN_PROGRESS = 46; + /** + *

MEMCACHED_MAXIMUM_RETURN: This in an internal only state.

+ */ + const RES_MAXIMUM_RETURN = 49; + + /** + * Server callbacks, if compiled with --memcached-protocol + * @link https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/memcached-api.php + */ + const ON_CONNECT = 0; + const ON_ADD = 1; + const ON_APPEND = 2; + const ON_DECREMENT = 3; + const ON_DELETE = 4; + const ON_FLUSH = 5; + const ON_GET = 6; + const ON_INCREMENT = 7; + const ON_NOOP = 8; + const ON_PREPEND = 9; + const ON_QUIT = 10; + const ON_REPLACE = 11; + const ON_SET = 12; + const ON_STAT = 13; + const ON_VERSION = 14; + /** + * Constants used when compiled with --memcached-protocol + * @link https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/memcached-api.php + */ + const RESPONSE_SUCCESS = 0; + const RESPONSE_KEY_ENOENT = 1; + const RESPONSE_KEY_EEXISTS = 2; + const RESPONSE_E2BIG = 3; + const RESPONSE_EINVAL = 4; + const RESPONSE_NOT_STORED = 5; + const RESPONSE_DELTA_BADVAL = 6; + const RESPONSE_NOT_MY_VBUCKET = 7; + const RESPONSE_AUTH_ERROR = 32; + const RESPONSE_AUTH_CONTINUE = 33; + const RESPONSE_UNKNOWN_COMMAND = 129; + const RESPONSE_ENOMEM = 130; + const RESPONSE_NOT_SUPPORTED = 131; + const RESPONSE_EINTERNAL = 132; + const RESPONSE_EBUSY = 133; + const RESPONSE_ETMPFAIL = 134; + + + /** + *

Failed to create network socket.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_CONNECTION_SOCKET_CREATE_FAILURE = 11; + + /** + *

Payload failure: could not compress/decompress or serialize/unserialize the value.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const RES_PAYLOAD_FAILURE = -1001; + + /** + *

The default PHP serializer.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const SERIALIZER_PHP = 1; + + /** + *

The igbinary serializer. + * Instead of textual representation it stores PHP data structures in a + * compact binary form, resulting in space and time gains.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const SERIALIZER_IGBINARY = 2; + + /** + *

The JSON serializer. Requires PHP 5.2.10+.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const SERIALIZER_JSON = 3; + const SERIALIZER_JSON_ARRAY = 4; + /** + *

The msgpack serializer.

+ * @link https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/memcached-api.php + */ + const SERIALIZER_MSGPACK = 5; + + const COMPRESSION_FASTLZ = 2; + const COMPRESSION_ZLIB = 1; + + /** + *

A flag for Memcached::getMulti and + * Memcached::getMultiByKey to ensure that the keys are + * returned in the same order as they were requested in. Non-existing keys + * get a default value of NULL.

+ * @link https://php.net/manual/en/memcached.constants.php + */ + const GET_PRESERVE_ORDER = 1; + + /** + * A flag for Memcached::get(), Memcached::getMulti() and + * Memcached::getMultiByKey() to ensure that the CAS token values are returned as well. + * @link https://php.net/manual/en/memcached.constants.php + */ + const GET_EXTENDED = 2; + + const GET_ERROR_RETURN_VALUE = false; + + /** + * (PECL memcached >= 0.1.0)
+ * Create a Memcached instance + * @link https://php.net/manual/en/memcached.construct.php, https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/php_memcached.c + * @param string $persistent_id [optional] + * @param callable $on_new_object_cb [optional] + * @param string $connection_str [optional] + */ + public function __construct ($persistent_id = '', $on_new_object_cb = null, $connection_str = '') {} + + /** + * (PECL memcached >= 0.1.0)
+ * Return the result code of the last operation + * @link https://php.net/manual/en/memcached.getresultcode.php + * @return int Result code of the last Memcached operation. + */ + public function getResultCode () {} + + /** + * (PECL memcached >= 1.0.0)
+ * Return the message describing the result of the last operation + * @link https://php.net/manual/en/memcached.getresultmessage.php + * @return string Message describing the result of the last Memcached operation. + */ + public function getResultMessage () {} + + /** + * (PECL memcached >= 0.1.0)
+ * Retrieve an item + * @link https://php.net/manual/en/memcached.get.php + * @param string $key

+ * The key of the item to retrieve. + *

+ * @param callable $cache_cb [optional]

+ * Read-through caching callback or NULL. + *

+ * @param int $flags [optional]

+ * The flags for the get operation. + *

+ * @return mixed the value stored in the cache or FALSE otherwise. + * The Memcached::getResultCode will return + * Memcached::RES_NOTFOUND if the key does not exist. + */ + public function get ($key, callable $cache_cb = null, $flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Retrieve an item from a specific server + * @link https://php.net/manual/en/memcached.getbykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param string $key

+ * The key of the item to fetch. + *

+ * @param callable $cache_cb [optional]

+ * Read-through caching callback or NULL + *

+ * @param int $flags [optional]

+ * The flags for the get operation. + *

+ * @return mixed the value stored in the cache or FALSE otherwise. + * The Memcached::getResultCode will return + * Memcached::RES_NOTFOUND if the key does not exist. + */ + public function getByKey ($server_key, $key, callable $cache_cb = null, $flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Retrieve multiple items + * @link https://php.net/manual/en/memcached.getmulti.php + * @param array $keys

+ * Array of keys to retrieve. + *

+ * @param int $flags [optional]

+ * The flags for the get operation. + *

+ * @return mixed the array of found items or FALSE on failure. + * Use Memcached::getResultCode if necessary. + */ + public function getMulti (array $keys, $flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Retrieve multiple items from a specific server + * @link https://php.net/manual/en/memcached.getmultibykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param array $keys

+ * Array of keys to retrieve. + *

+ * @param int $flags [optional]

+ * The flags for the get operation. + *

+ * @return array|false the array of found items or FALSE on failure. + * Use Memcached::getResultCode if necessary. + */ + public function getMultiByKey ($server_key, array $keys, $flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Request multiple items + * @link https://php.net/manual/en/memcached.getdelayed.php + * @param array $keys

+ * Array of keys to request. + *

+ * @param bool $with_cas [optional]

+ * Whether to request CAS token values also. + *

+ * @param callable $value_cb [optional]

+ * The result callback or NULL. + *

+ * @return bool TRUE on success or FALSE on failure. + * Use Memcached::getResultCode if necessary. + */ + public function getDelayed (array $keys, $with_cas = null, callable $value_cb = null) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Request multiple items from a specific server + * @link https://php.net/manual/en/memcached.getdelayedbykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param array $keys

+ * Array of keys to request. + *

+ * @param bool $with_cas [optional]

+ * Whether to request CAS token values also. + *

+ * @param callable $value_cb [optional]

+ * The result callback or NULL. + *

+ * @return bool TRUE on success or FALSE on failure. + * Use Memcached::getResultCode if necessary. + */ + public function getDelayedByKey ($server_key, array $keys, $with_cas = null, callable $value_cb = null) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Fetch the next result + * @link https://php.net/manual/en/memcached.fetch.php + * @return array|false the next result or FALSE otherwise. + * The Memcached::getResultCode will return + * Memcached::RES_END if result set is exhausted. + */ + public function fetch () {} + + /** + * (PECL memcached >= 0.1.0)
+ * Fetch all the remaining results + * @link https://php.net/manual/en/memcached.fetchall.php + * @return array|false the results or FALSE on failure. + * Use Memcached::getResultCode if necessary. + */ + public function fetchAll () {} + + /** + * (PECL memcached >= 0.1.0)
+ * Store an item + * @link https://php.net/manual/en/memcached.set.php + * @param string $key

+ * The key under which to store the value. + *

+ * @param mixed $value

+ * The value to store. + *

+ * @param int $expiration [optional]

+ * The expiration time, defaults to 0. See Expiration Times for more info. + *

+ * @param int $udf_flags [optional] + * @return bool TRUE on success or FALSE on failure. + * Use Memcached::getResultCode if necessary. + */ + public function set ($key, $value, $expiration = 0, $udf_flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Store an item on a specific server + * @link https://php.net/manual/en/memcached.setbykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param string $key

+ * The key under which to store the value. + *

+ * @param mixed $value

+ * The value to store. + *

+ * @param int $expiration [optional]

+ * The expiration time, defaults to 0. See Expiration Times for more info. + *

+ * @param int $udf_flags [optional] + * @return bool TRUE on success or FALSE on failure. + * Use Memcached::getResultCode if necessary. + */ + public function setByKey ($server_key, $key, $value, $expiration = 0, $udf_flags = 0) {} + + /** + * (PECL memcached >= 2.0.0)
+ * Set a new expiration on an item + * @link https://php.net/manual/en/memcached.touch.php + * @param string $key

+ * The key under which to store the value. + *

+ * @param int $expiration

+ * The expiration time, defaults to 0. See Expiration Times for more info. + *

+ * @return bool TRUE on success or FALSE on failure. + * Use Memcached::getResultCode if necessary. + */ + public function touch ($key, $expiration = 0) {} + + /** + * (PECL memcached >= 2.0.0)
+ * Set a new expiration on an item on a specific server + * @link https://php.net/manual/en/memcached.touchbykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param string $key

+ * The key under which to store the value. + *

+ * @param int $expiration

+ * The expiration time, defaults to 0. See Expiration Times for more info. + *

+ * @return bool TRUE on success or FALSE on failure. + * Use Memcached::getResultCode if necessary. + */ + public function touchByKey ($server_key, $key, $expiration) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Store multiple items + * @link https://php.net/manual/en/memcached.setmulti.php + * @param array $items

+ * An array of key/value pairs to store on the server. + *

+ * @param int $expiration [optional]

+ * The expiration time, defaults to 0. See Expiration Times for more info. + *

+ * @param int $udf_flags [optional] + * @return bool TRUE on success or FALSE on failure. + * Use Memcached::getResultCode if necessary. + */ + public function setMulti (array $items, $expiration = 0, $udf_flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Store multiple items on a specific server + * @link https://php.net/manual/en/memcached.setmultibykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param array $items

+ * An array of key/value pairs to store on the server. + *

+ * @param int $expiration [optional]

+ * The expiration time, defaults to 0. See Expiration Times for more info. + *

+ * @param int $udf_flags [optional] + * @return bool TRUE on success or FALSE on failure. + * Use Memcached::getResultCode if necessary. + */ + public function setMultiByKey ($server_key, array $items, $expiration = 0, $udf_flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Compare and swap an item + * @link https://php.net/manual/en/memcached.cas.php + * @param float $cas_token

+ * Unique value associated with the existing item. Generated by memcache. + *

+ * @param string $key

+ * The key under which to store the value. + *

+ * @param mixed $value

+ * The value to store. + *

+ * @param int $expiration [optional]

+ * The expiration time, defaults to 0. See Expiration Times for more info. + *

+ * @param int $udf_flags [optional] + * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_DATA_EXISTS if the item you are trying + * to store has been modified since you last fetched it. + */ + public function cas ($cas_token, $key, $value, $expiration = 0, $udf_flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Compare and swap an item on a specific server + * @link https://php.net/manual/en/memcached.casbykey.php + * @param float $cas_token

+ * Unique value associated with the existing item. Generated by memcache. + *

+ * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param string $key

+ * The key under which to store the value. + *

+ * @param mixed $value

+ * The value to store. + *

+ * @param int $expiration [optional]

+ * The expiration time, defaults to 0. See Expiration Times for more info. + *

+ * @param int $udf_flags [optional] + * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_DATA_EXISTS if the item you are trying + * to store has been modified since you last fetched it. + */ + public function casByKey ($cas_token, $server_key, $key, $value, $expiration = 0, $udf_flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Add an item under a new key + * @link https://php.net/manual/en/memcached.add.php + * @param string $key

+ * The key under which to store the value. + *

+ * @param mixed $value

+ * The value to store. + *

+ * @param int $expiration [optional]

+ * The expiration time, defaults to 0. See Expiration Times for more info. + *

+ * @param int $udf_flags [optional] + * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_NOTSTORED if the key already exists. + */ + public function add ($key, $value, $expiration = 0, $udf_flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Add an item under a new key on a specific server + * @link https://php.net/manual/en/memcached.addbykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param string $key

+ * The key under which to store the value. + *

+ * @param mixed $value

+ * The value to store. + *

+ * @param int $expiration [optional]

+ * The expiration time, defaults to 0. See Expiration Times for more info. + *

+ * @param int $udf_flags [optional] + * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_NOTSTORED if the key already exists. + */ + public function addByKey ($server_key, $key, $value, $expiration = 0, $udf_flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Append data to an existing item + * @link https://php.net/manual/en/memcached.append.php + * @param string $key

+ * The key under which to store the value. + *

+ * @param string $value

+ * The string to append. + *

+ * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_NOTSTORED if the key does not exist. + */ + public function append ($key, $value) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Append data to an existing item on a specific server + * @link https://php.net/manual/en/memcached.appendbykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param string $key

+ * The key under which to store the value. + *

+ * @param string $value

+ * The string to append. + *

+ * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_NOTSTORED if the key does not exist. + */ + public function appendByKey ($server_key, $key, $value) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Prepend data to an existing item + * @link https://php.net/manual/en/memcached.prepend.php + * @param string $key

+ * The key of the item to prepend the data to. + *

+ * @param string $value

+ * The string to prepend. + *

+ * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_NOTSTORED if the key does not exist. + */ + public function prepend ($key, $value) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Prepend data to an existing item on a specific server + * @link https://php.net/manual/en/memcached.prependbykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param string $key

+ * The key of the item to prepend the data to. + *

+ * @param string $value

+ * The string to prepend. + *

+ * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_NOTSTORED if the key does not exist. + */ + public function prependByKey ($server_key, $key, $value) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Replace the item under an existing key + * @link https://php.net/manual/en/memcached.replace.php + * @param string $key

+ * The key under which to store the value. + *

+ * @param mixed $value

+ * The value to store. + *

+ * @param int $expiration [optional]

+ * The expiration time, defaults to 0. See Expiration Times for more info. + *

+ * @param int $udf_flags [optional] + * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_NOTSTORED if the key does not exist. + */ + public function replace ($key, $value, $expiration = null, $udf_flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Replace the item under an existing key on a specific server + * @link https://php.net/manual/en/memcached.replacebykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param string $key

+ * The key under which to store the value. + *

+ * @param mixed $value

+ * The value to store. + *

+ * @param int $expiration [optional]

+ * The expiration time, defaults to 0. See Expiration Times for more info. + *

+ * @param int $udf_flags [optional] + * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_NOTSTORED if the key does not exist. + */ + public function replaceByKey ($server_key, $key, $value, $expiration = null, $udf_flags = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Delete an item + * @link https://php.net/manual/en/memcached.delete.php + * @param string $key

+ * The key to be deleted. + *

+ * @param int $time [optional]

+ * The amount of time the server will wait to delete the item. + *

+ * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_NOTFOUND if the key does not exist. + */ + public function delete ($key, $time = 0) {} + + /** + * (PECL memcached >= 2.0.0)
+ * Delete multiple items + * @link https://php.net/manual/en/memcached.deletemulti.php + * @param array $keys

+ * The keys to be deleted. + *

+ * @param int $time [optional]

+ * The amount of time the server will wait to delete the items. + *

+ * @return array Returns array indexed by keys and where values are indicating whether operation succeeded or not. + * The Memcached::getResultCode will return + * Memcached::RES_NOTFOUND if the key does not exist. + */ + public function deleteMulti (array $keys, $time = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Delete an item from a specific server + * @link https://php.net/manual/en/memcached.deletebykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param string $key

+ * The key to be deleted. + *

+ * @param int $time [optional]

+ * The amount of time the server will wait to delete the item. + *

+ * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_NOTFOUND if the key does not exist. + */ + public function deleteByKey ($server_key, $key, $time = 0) {} + + /** + * (PECL memcached >= 2.0.0)
+ * Delete multiple items from a specific server + * @link https://php.net/manual/en/memcached.deletemultibykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param array $keys

+ * The keys to be deleted. + *

+ * @param int $time [optional]

+ * The amount of time the server will wait to delete the items. + *

+ * @return bool TRUE on success or FALSE on failure. + * The Memcached::getResultCode will return + * Memcached::RES_NOTFOUND if the key does not exist. + */ + public function deleteMultiByKey ($server_key, array $keys, $time = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Increment numeric item's value + * @link https://php.net/manual/en/memcached.increment.php + * @param string $key

+ * The key of the item to increment. + *

+ * @param int $offset [optional]

+ * The amount by which to increment the item's value. + *

+ * @param int $initial_value [optional]

+ * The value to set the item to if it doesn't currently exist. + *

+ * @param int $expiry [optional]

+ * The expiry time to set on the item. + *

+ * @return int|false new item's value on success or FALSE on failure. + */ + public function increment ($key, $offset = 1, $initial_value = 0, $expiry = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Decrement numeric item's value + * @link https://php.net/manual/en/memcached.decrement.php + * @param string $key

+ * The key of the item to decrement. + *

+ * @param int $offset [optional]

+ * The amount by which to decrement the item's value. + *

+ * @param int $initial_value [optional]

+ * The value to set the item to if it doesn't currently exist. + *

+ * @param int $expiry [optional]

+ * The expiry time to set on the item. + *

+ * @return int|false item's new value on success or FALSE on failure. + */ + public function decrement ($key, $offset = 1, $initial_value = 0, $expiry = 0) {} + + /** + * (PECL memcached >= 2.0.0)
+ * Increment numeric item's value, stored on a specific server + * @link https://php.net/manual/en/memcached.incrementbykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param string $key

+ * The key of the item to increment. + *

+ * @param int $offset [optional]

+ * The amount by which to increment the item's value. + *

+ * @param int $initial_value [optional]

+ * The value to set the item to if it doesn't currently exist. + *

+ * @param int $expiry [optional]

+ * The expiry time to set on the item. + *

+ * @return int|false new item's value on success or FALSE on failure. + */ + public function incrementByKey ($server_key, $key, $offset = 1, $initial_value = 0, $expiry = 0) {} + + /** + * (PECL memcached >= 2.0.0)
+ * Decrement numeric item's value, stored on a specific server + * @link https://php.net/manual/en/memcached.decrementbykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @param string $key

+ * The key of the item to decrement. + *

+ * @param int $offset [optional]

+ * The amount by which to decrement the item's value. + *

+ * @param int $initial_value [optional]

+ * The value to set the item to if it doesn't currently exist. + *

+ * @param int $expiry [optional]

+ * The expiry time to set on the item. + *

+ * @return int|false item's new value on success or FALSE on failure. + */ + public function decrementByKey ($server_key, $key, $offset = 1, $initial_value = 0, $expiry = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Add a server to the server pool + * @link https://php.net/manual/en/memcached.addserver.php + * @param string $host

+ * The hostname of the memcache server. If the hostname is invalid, data-related + * operations will set + * Memcached::RES_HOST_LOOKUP_FAILURE result code. + *

+ * @param int $port

+ * The port on which memcache is running. Usually, this is + * 11211. + *

+ * @param int $weight [optional]

+ * The weight of the server relative to the total weight of all the + * servers in the pool. This controls the probability of the server being + * selected for operations. This is used only with consistent distribution + * option and usually corresponds to the amount of memory available to + * memcache on that server. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function addServer ($host, $port, $weight = 0) {} + + /** + * (PECL memcached >= 0.1.1)
+ * Add multiple servers to the server pool + * @link https://php.net/manual/en/memcached.addservers.php + * @param array $servers + * @return bool TRUE on success or FALSE on failure. + */ + public function addServers (array $servers) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Get the list of the servers in the pool + * @link https://php.net/manual/en/memcached.getserverlist.php + * @return array The list of all servers in the server pool. + */ + public function getServerList () {} + + /** + * (PECL memcached >= 0.1.0)
+ * Map a key to a server + * @link https://php.net/manual/en/memcached.getserverbykey.php + * @param string $server_key

+ * The key identifying the server to store the value on or retrieve it from. Instead of hashing on the actual key for the item, we hash on the server key when deciding which memcached server to talk to. This allows related items to be grouped together on a single server for efficiency with multi operations. + *

+ * @return array an array containing three keys of host, + * port, and weight on success or FALSE + * on failure. + * Use Memcached::getResultCode if necessary. + */ + public function getServerByKey ($server_key) {} + + /** + * (PECL memcached >= 2.0.0)
+ * Clears all servers from the server list + * @link https://php.net/manual/en/memcached.resetserverlist.php + * @return bool TRUE on success or FALSE on failure. + */ + public function resetServerList () {} + + /** + * (PECL memcached >= 2.0.0)
+ * Close any open connections + * @link https://php.net/manual/en/memcached.quit.php + * @return bool TRUE on success or FALSE on failure. + */ + public function quit () {} + + /** + * (PECL memcached >= 0.1.0)
+ * Get server pool statistics + * @link https://php.net/manual/en/memcached.getstats.php + * @param string $type

items, slabs, sizes ...

+ * @return array Array of server statistics, one entry per server. + */ + public function getStats ($type = null) {} + + /** + * (PECL memcached >= 0.1.5)
+ * Get server pool version info + * @link https://php.net/manual/en/memcached.getversion.php + * @return array Array of server versions, one entry per server. + */ + public function getVersion () {} + + /** + * (PECL memcached >= 2.0.0)
+ * Gets the keys stored on all the servers + * @link https://php.net/manual/en/memcached.getallkeys.php + * @return array|false the keys stored on all the servers on success or FALSE on failure. + */ + public function getAllKeys () {} + + /** + * (PECL memcached >= 0.1.0)
+ * Invalidate all items in the cache + * @link https://php.net/manual/en/memcached.flush.php + * @param int $delay [optional]

+ * Numer of seconds to wait before invalidating the items. + *

+ * @return bool TRUE on success or FALSE on failure. + * Use Memcached::getResultCode if necessary. + */ + public function flush ($delay = 0) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Retrieve a Memcached option value + * @link https://php.net/manual/en/memcached.getoption.php + * @param int $option

+ * One of the Memcached::OPT_* constants. + *

+ * @return mixed the value of the requested option, or FALSE on + * error. + */ + public function getOption ($option) {} + + /** + * (PECL memcached >= 0.1.0)
+ * Set a Memcached option + * @link https://php.net/manual/en/memcached.setoption.php + * @param int $option + * @param mixed $value + * @return bool TRUE on success or FALSE on failure. + */ + public function setOption ($option, $value) {} + + /** + * (PECL memcached >= 2.0.0)
+ * Set Memcached options + * @link https://php.net/manual/en/memcached.setoptions.php + * @param array $options

+ * An associative array of options where the key is the option to set and + * the value is the new value for the option. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setOptions (array $options) {} + + /** + * (PECL memcached >= 2.0.0)
+ * Set the credentials to use for authentication + * @link https://secure.php.net/manual/en/memcached.setsaslauthdata.php + * @param string $username

+ * The username to use for authentication. + *

+ * @param string $password

+ * The password to use for authentication. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setSaslAuthData (string $username , string $password) {} + + /** + * (PECL memcached >= 2.0.0)
+ * Check if a persitent connection to memcache is being used + * @link https://php.net/manual/en/memcached.ispersistent.php + * @return bool true if Memcache instance uses a persistent connection, false otherwise. + */ + public function isPersistent () {} + + /** + * (PECL memcached >= 2.0.0)
+ * Check if the instance was recently created + * @link https://php.net/manual/en/memcached.ispristine.php + * @return bool the true if instance is recently created, false otherwise. + */ + public function isPristine () {} + + /** + * Flush and send buffered commands + * @link https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/php_memcached.c + * @return bool + */ + public function flushBuffers () {} + + /** + * Sets AES encryption key (libmemcached 1.0.6 and higher) + * @link https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/php_memcached.c + * @param string $key + * @return bool + */ + public function setEncodingKey ( $key ) {} + + /** + * Returns the last disconnected server. Was added in 0.34 according to libmemcached's Changelog + * @link https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/php_memcached.c + * @return array|false + */ + public function getLastDisconnectedServer () {} + + /** + * Returns the last error errno that occurred + * @link https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/php_memcached.c + * @return int + */ + public function getLastErrorErrno () {} + + /** + * Returns the last error code that occurred + * @link https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/php_memcached.c + * @return int + */ + public function getLastErrorCode () {} + + /** + * Returns the last error message that occurred + * @link https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/php_memcached.c + * @return string + */ + public function getLastErrorMessage () {} + + /** + * Sets the memcached virtual buckets + * @link https://github.com/php-memcached-dev/php-memcached/blob/v3.1.5/php_memcached.c + * @param array $host_map + * @param array $forward_map + * @param int $replicas + * @return bool + */ + public function setBucket (array $host_map, array $forward_map, $replicas) {} + +} + +/** + * @link https://php.net/manual/en/class.memcachedexception.php + */ +class MemcachedException extends RuntimeException { + function __construct( $errmsg = "", $errcode = 0 ) {} +} +// End of memcached v.3.1.5 +?> diff --git a/build/stubs/redis.php b/build/stubs/redis.php new file mode 100644 index 0000000000..0a37c08214 --- /dev/null +++ b/build/stubs/redis.php @@ -0,0 +1,5262 @@ + + * @link https://github.com/ukko/phpredis-phpdoc + */ +class Redis +{ + const AFTER = 'after'; + const BEFORE = 'before'; + + /** + * Options + */ + const OPT_SERIALIZER = 1; + const OPT_PREFIX = 2; + const OPT_READ_TIMEOUT = 3; + const OPT_SCAN = 4; + const OPT_FAILOVER = 5; + const OPT_TCP_KEEPALIVE = 6; + const OPT_COMPRESSION = 7; + const OPT_REPLY_LITERAL = 8; + const OPT_COMPRESSION_LEVEL = 9; + + /** + * Cluster options + */ + const FAILOVER_NONE = 0; + const FAILOVER_ERROR = 1; + const FAILOVER_DISTRIBUTE = 2; + const FAILOVER_DISTRIBUTE_SLAVES = 3; + + /** + * SCAN options + */ + const SCAN_NORETRY = 0; + const SCAN_RETRY = 1; + + /** + * Serializers + */ + const SERIALIZER_NONE = 0; + const SERIALIZER_PHP = 1; + const SERIALIZER_IGBINARY = 2; + const SERIALIZER_MSGPACK = 3; + const SERIALIZER_JSON = 4; + + /** + * Compressions + */ + const COMPRESSION_NONE = 0; + const COMPRESSION_LZF = 1; + const COMPRESSION_ZSTD = 2; + + /** + * Compression ZSTD levels + */ + const COMPRESSION_ZSTD_MIN = 1; + const COMPRESSION_ZSTD_DEFAULT = 3; + const COMPRESSION_ZSTD_MAX = 22; + + /** + * Multi + */ + const ATOMIC = 0; + const MULTI = 1; + const PIPELINE = 2; + + /** + * Type + */ + const REDIS_NOT_FOUND = 0; + const REDIS_STRING = 1; + const REDIS_SET = 2; + const REDIS_LIST = 3; + const REDIS_ZSET = 4; + const REDIS_HASH = 5; + const REDIS_STREAM = 6; + + /** + * Creates a Redis client + * + * @example $redis = new Redis(); + */ + public function __construct() + { + } + + /** + * Connects to a Redis instance. + * + * @param string $host can be a host, or the path to a unix domain socket + * @param int $port optional + * @param float $timeout value in seconds (optional, default is 0.0 meaning unlimited) + * @param null $reserved should be null if $retryInterval is specified + * @param int $retryInterval retry interval in milliseconds. + * @param float $readTimeout value in seconds (optional, default is 0 meaning unlimited) + * + * @return bool TRUE on success, FALSE on error + * + * @example + *
+     * $redis->connect('127.0.0.1', 6379);
+     * $redis->connect('127.0.0.1');            // port 6379 by default
+     * $redis->connect('127.0.0.1', 6379, 2.5); // 2.5 sec timeout.
+     * $redis->connect('/tmp/redis.sock');      // unix domain socket.
+     * 
+ */ + public function connect( + $host, + $port = 6379, + $timeout = 0.0, + $reserved = null, + $retryInterval = 0, + $readTimeout = 0.0 + ) { + } + + /** + * Connects to a Redis instance. + * + * @param string $host can be a host, or the path to a unix domain socket + * @param int $port optional + * @param float $timeout value in seconds (optional, default is 0.0 meaning unlimited) + * @param null $reserved should be null if $retry_interval is specified + * @param int $retryInterval retry interval in milliseconds. + * @param float $readTimeout value in seconds (optional, default is 0 meaning unlimited) + * + * @return bool TRUE on success, FALSE on error + * + * @see connect() + * @deprecated use Redis::connect() + */ + public function open( + $host, + $port = 6379, + $timeout = 0.0, + $reserved = null, + $retryInterval = 0, + $readTimeout = 0.0 + ) { + } + + /** + * A method to determine if a phpredis object thinks it's connected to a server + * + * @return bool Returns TRUE if phpredis thinks it's connected and FALSE if not + */ + public function isConnected() + { + } + + /** + * Retrieve our host or unix socket that we're connected to + * + * @return string|bool The host or unix socket we're connected to or FALSE if we're not connected + */ + public function getHost() + { + } + + /** + * Get the port we're connected to + * + * @return int|bool Returns the port we're connected to or FALSE if we're not connected + */ + public function getPort() + { + } + + /** + * Get the database number phpredis is pointed to + * + * @return int|bool Returns the database number (int) phpredis thinks it's pointing to + * or FALSE if we're not connected + */ + public function getDbNum() + { + } + + /** + * Get the (write) timeout in use for phpredis + * + * @return float|bool The timeout (DOUBLE) specified in our connect call or FALSE if we're not connected + */ + public function getTimeout() + { + } + + /** + * Get the read timeout specified to phpredis or FALSE if we're not connected + * + * @return float|bool Returns the read timeout (which can be set using setOption and Redis::OPT_READ_TIMEOUT) + * or FALSE if we're not connected + */ + public function getReadTimeout() + { + } + + /** + * Gets the persistent ID that phpredis is using + * + * @return string|null|bool Returns the persistent id phpredis is using + * (which will only be set if connected with pconnect), + * NULL if we're not using a persistent ID, + * and FALSE if we're not connected + */ + public function getPersistentID() + { + } + + /** + * Get the password used to authenticate the phpredis connection + * + * @return string|null|bool Returns the password used to authenticate a phpredis session or NULL if none was used, + * and FALSE if we're not connected + */ + public function getAuth() + { + } + + /** + * Connects to a Redis instance or reuse a connection already established with pconnect/popen. + * + * The connection will not be closed on close or end of request until the php process ends. + * So be patient on to many open FD's (specially on redis server side) when using persistent connections on + * many servers connecting to one redis server. + * + * Also more than one persistent connection can be made identified by either host + port + timeout + * or host + persistentId or unix socket + timeout. + * + * This feature is not available in threaded versions. pconnect and popen then working like their non persistent + * equivalents. + * + * @param string $host can be a host, or the path to a unix domain socket + * @param int $port optional + * @param float $timeout value in seconds (optional, default is 0 meaning unlimited) + * @param string $persistentId identity for the requested persistent connection + * @param int $retryInterval retry interval in milliseconds. + * @param float $readTimeout value in seconds (optional, default is 0 meaning unlimited) + * + * @return bool TRUE on success, FALSE on ertcnror. + * + * @example + *
+     * $redis->pconnect('127.0.0.1', 6379);
+     *
+     * // port 6379 by default - same connection like before
+     * $redis->pconnect('127.0.0.1');
+     *
+     * // 2.5 sec timeout and would be another connection than the two before.
+     * $redis->pconnect('127.0.0.1', 6379, 2.5);
+     *
+     * // x is sent as persistent_id and would be another connection than the three before.
+     * $redis->pconnect('127.0.0.1', 6379, 2.5, 'x');
+     *
+     * // unix domain socket - would be another connection than the four before.
+     * $redis->pconnect('/tmp/redis.sock');
+     * 
+ */ + public function pconnect( + $host, + $port = 6379, + $timeout = 0.0, + $persistentId = null, + $retryInterval = 0, + $readTimeout = 0.0 + ) { + } + + /** + * @param string $host + * @param int $port + * @param float $timeout + * @param string $persistentId + * @param int $retryInterval + * @param float $readTimeout + * + * @return bool + * + * @deprecated use Redis::pconnect() + * @see pconnect() + */ + public function popen( + $host, + $port = 6379, + $timeout = 0.0, + $persistentId = '', + $retryInterval = 0, + $readTimeout = 0.0 + ) { + } + + /** + * Disconnects from the Redis instance. + * + * Note: Closing a persistent connection requires PhpRedis >= 4.2.0 + * + * @since >= 4.2 Closing a persistent connection requires PhpRedis + * + * @return bool TRUE on success, FALSE on error + */ + public function close() + { + } + + /** + * Swap one Redis database with another atomically + * + * Note: Requires Redis >= 4.0.0 + * + * @param int $db1 + * @param int $db2 + * + * @return bool TRUE on success and FALSE on failure + * + * @link https://redis.io/commands/swapdb + * @since >= 4.0 + * @example + *
+     * // Swaps DB 0 with DB 1 atomically
+     * $redis->swapdb(0, 1);
+     * 
+ */ + public function swapdb(int $db1, int $db2) + { + } + + /** + * Set client option + * + * @param int $option option name + * @param mixed $value option value + * + * @return bool TRUE on success, FALSE on error + * + * @example + *
+     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE);        // don't serialize data
+     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);         // use built-in serialize/unserialize
+     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_IGBINARY);    // use igBinary serialize/unserialize
+     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_MSGPACK);     // Use msgpack serialize/unserialize
+     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_JSON);        // Use json serialize/unserialize
+     *
+     * $redis->setOption(Redis::OPT_PREFIX, 'myAppName:');                      // use custom prefix on all keys
+     *
+     * // Options for the SCAN family of commands, indicating whether to abstract
+     * // empty results from the user.  If set to SCAN_NORETRY (the default), phpredis
+     * // will just issue one SCAN command at a time, sometimes returning an empty
+     * // array of results.  If set to SCAN_RETRY, phpredis will retry the scan command
+     * // until keys come back OR Redis returns an iterator of zero
+     * $redis->setOption(Redis::OPT_SCAN, Redis::SCAN_NORETRY);
+     * $redis->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY);
+     * 
+ */ + public function setOption($option, $value) + { + } + + /** + * Get client option + * + * @param int $option parameter name + * + * @return mixed|null Parameter value + * + * @see setOption() + * @example + * // return option value + * $redis->getOption(Redis::OPT_SERIALIZER); + */ + public function getOption($option) + { + } + + /** + * Check the current connection status + * + * @param string $message + * + * @return bool|string TRUE if the command is successful or returns message + * Throws a RedisException object on connectivity error, as described above. + * @throws RedisException + * @link https://redis.io/commands/ping + */ + public function ping($message) + { + } + + /** + * Echo the given string + * + * @param string $message + * + * @return string Returns message + * + * @link https://redis.io/commands/echo + */ + public function echo($message) + { + } + + /** + * Get the value related to the specified key + * + * @param string $key + * + * @return string|mixed|bool If key didn't exist, FALSE is returned. + * Otherwise, the value related to this key is returned + * + * @link https://redis.io/commands/get + * @example + *
+     * $redis->set('key', 'hello');
+     * $redis->get('key');
+     *
+     * // set and get with serializer
+     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_JSON);
+     *
+     * $redis->set('key', ['asd' => 'as', 'dd' => 123, 'b' => true]);
+     * var_dump($redis->get('key'));
+     * // Output:
+     * array(3) {
+     *  'asd' => string(2) "as"
+     *  'dd' => int(123)
+     *  'b' => bool(true)
+     * }
+     * 
+ */ + public function get($key) + { + } + + /** + * Set the string value in argument as value of the key. + * + * @since If you're using Redis >= 2.6.12, you can pass extended options as explained in example + * + * @param string $key + * @param string|mixed $value string if not used serializer + * @param int|array $timeout [optional] Calling setex() is preferred if you want a timeout.
+ * Since 2.6.12 it also supports different flags inside an array. Example ['NX', 'EX' => 60]
+ * - EX seconds -- Set the specified expire time, in seconds.
+ * - PX milliseconds -- Set the specified expire time, in milliseconds.
+ * - NX -- Only set the key if it does not already exist.
+ * - XX -- Only set the key if it already exist.
+ *
+     * // Simple key -> value set
+     * $redis->set('key', 'value');
+     *
+     * // Will redirect, and actually make an SETEX call
+     * $redis->set('key','value', 10);
+     *
+     * // Will set the key, if it doesn't exist, with a ttl of 10 seconds
+     * $redis->set('key', 'value', ['nx', 'ex' => 10]);
+     *
+     * // Will set a key, if it does exist, with a ttl of 1000 milliseconds
+     * $redis->set('key', 'value', ['xx', 'px' => 1000]);
+     * 
+ * + * @return bool TRUE if the command is successful + * + * @link https://redis.io/commands/set + */ + public function set($key, $value, $timeout = null) + { + } + + /** + * Set the string value in argument as value of the key, with a time to live. + * + * @param string $key + * @param int $ttl + * @param string|mixed $value + * + * @return bool TRUE if the command is successful + * + * @link https://redis.io/commands/setex + * @example $redis->setex('key', 3600, 'value'); // sets key → value, with 1h TTL. + */ + public function setex($key, $ttl, $value) + { + } + + /** + * Set the value and expiration in milliseconds of a key. + * + * @see setex() + * @param string $key + * @param int $ttl, in milliseconds. + * @param string|mixed $value + * + * @return bool TRUE if the command is successful + * + * @link https://redis.io/commands/psetex + * @example $redis->psetex('key', 1000, 'value'); // sets key → value, with 1sec TTL. + */ + public function psetex($key, $ttl, $value) + { + } + + /** + * Set the string value in argument as value of the key if the key doesn't already exist in the database. + * + * @param string $key + * @param string|mixed $value + * + * @return bool TRUE in case of success, FALSE in case of failure + * + * @link https://redis.io/commands/setnx + * @example + *
+     * $redis->setnx('key', 'value');   // return TRUE
+     * $redis->setnx('key', 'value');   // return FALSE
+     * 
+ */ + public function setnx($key, $value) + { + } + + /** + * Remove specified keys. + * + * @param int|string|array $key1 An array of keys, or an undefined number of parameters, each a key: key1 key2 key3 ... keyN + * @param int|string ...$otherKeys + * + * @return int Number of keys deleted + * + * @link https://redis.io/commands/del + * @example + *
+     * $redis->set('key1', 'val1');
+     * $redis->set('key2', 'val2');
+     * $redis->set('key3', 'val3');
+     * $redis->set('key4', 'val4');
+     *
+     * $redis->del('key1', 'key2');     // return 2
+     * $redis->del(['key3', 'key4']);   // return 2
+     * 
+ */ + public function del($key1, ...$otherKeys) + { + } + + /** + * @see del() + * @deprecated use Redis::del() + * + * @param string|string[] $key1 + * @param string $key2 + * @param string $key3 + * + * @return int Number of keys deleted + */ + public function delete($key1, $key2 = null, $key3 = null) + { + } + + /** + * Delete a key asynchronously in another thread. Otherwise it is just as DEL, but non blocking. + * + * @see del() + * @param string|string[] $key1 + * @param string $key2 + * @param string $key3 + * + * @return int Number of keys unlinked. + * + * @link https://redis.io/commands/unlink + * @example + *
+     * $redis->set('key1', 'val1');
+     * $redis->set('key2', 'val2');
+     * $redis->set('key3', 'val3');
+     * $redis->set('key4', 'val4');
+     * $redis->unlink('key1', 'key2');          // return 2
+     * $redis->unlink(array('key3', 'key4'));   // return 2
+     * 
+ */ + public function unlink($key1, $key2 = null, $key3 = null) + { + } + + /** + * Enter and exit transactional mode. + * + * @param int $mode Redis::MULTI|Redis::PIPELINE + * Defaults to Redis::MULTI. + * A Redis::MULTI block of commands runs as a single transaction; + * a Redis::PIPELINE block is simply transmitted faster to the server, but without any guarantee of atomicity. + * discard cancels a transaction. + * + * @return Redis returns the Redis instance and enters multi-mode. + * Once in multi-mode, all subsequent method calls return the same object until exec() is called. + * + * @link https://redis.io/commands/multi + * @example + *
+     * $ret = $redis->multi()
+     *      ->set('key1', 'val1')
+     *      ->get('key1')
+     *      ->set('key2', 'val2')
+     *      ->get('key2')
+     *      ->exec();
+     *
+     * //$ret == array (
+     * //    0 => TRUE,
+     * //    1 => 'val1',
+     * //    2 => TRUE,
+     * //    3 => 'val2');
+     * 
+ */ + public function multi($mode = Redis::MULTI) + { + } + + /** + * Returns a Redis instance which can simply transmitted faster to the server. + * + * @return Redis returns the Redis instance. + * Once in pipeline-mode, all subsequent method calls return the same object until exec() is called. + * Pay attention, that Pipeline is not a transaction, so you can get unexpected + * results in case of big pipelines and small read/write timeouts. + * + * @link https://redis.io/topics/pipelining + * @example + *
+     * $ret = $this->redis->pipeline()
+     *      ->ping()
+     *      ->multi()->set('x', 42)->incr('x')->exec()
+     *      ->ping()
+     *      ->multi()->get('x')->del('x')->exec()
+     *      ->ping()
+     *      ->exec();
+     *
+     * //$ret == array (
+     * //    0 => '+PONG',
+     * //    1 => [TRUE, 43],
+     * //    2 => '+PONG',
+     * //    3 => [43, 1],
+     * //    4 => '+PONG');
+     * 
+ */ + public function pipeline() + { + } + + + /** + * @return void|array + * + * @see multi() + * @link https://redis.io/commands/exec + */ + public function exec() + { + } + + /** + * @see multi() + * @link https://redis.io/commands/discard + */ + public function discard() + { + } + + /** + * Watches a key for modifications by another client. If the key is modified between WATCH and EXEC, + * the MULTI/EXEC transaction will fail (return FALSE). unwatch cancels all the watching of all keys by this client. + * @param string|string[] $key a list of keys + * + * @return void + * + * @link https://redis.io/commands/watch + * @example + *
+     * $redis->watch('x');
+     * // long code here during the execution of which other clients could well modify `x`
+     * $ret = $redis->multi()
+     *          ->incr('x')
+     *          ->exec();
+     * // $ret = FALSE if x has been modified between the call to WATCH and the call to EXEC.
+     * 
+ */ + public function watch($key) + { + } + + /** + * @see watch() + * @link https://redis.io/commands/unwatch + */ + public function unwatch() + { + } + + /** + * Subscribe to channels. + * + * Warning: this function will probably change in the future. + * + * @param string[] $channels an array of channels to subscribe + * @param string|array $callback either a string or an array($instance, 'method_name'). + * The callback function receives 3 parameters: the redis instance, the channel name, and the message. + * + * @return mixed|null Any non-null return value in the callback will be returned to the caller. + * + * @link https://redis.io/commands/subscribe + * @example + *
+     * function f($redis, $chan, $msg) {
+     *  switch($chan) {
+     *      case 'chan-1':
+     *          ...
+     *          break;
+     *
+     *      case 'chan-2':
+     *                     ...
+     *          break;
+     *
+     *      case 'chan-2':
+     *          ...
+     *          break;
+     *      }
+     * }
+     *
+     * $redis->subscribe(array('chan-1', 'chan-2', 'chan-3'), 'f'); // subscribe to 3 chans
+     * 
+ */ + public function subscribe($channels, $callback) + { + } + + /** + * Subscribe to channels by pattern + * + * @param array $patterns an array of glob-style patterns to subscribe + * @param string|array $callback Either a string or an array with an object and method. + * The callback will get four arguments ($redis, $pattern, $channel, $message) + * @param mixed Any non-null return value in the callback will be returned to the caller + * + * @link https://redis.io/commands/psubscribe + * @example + *
+     * function psubscribe($redis, $pattern, $chan, $msg) {
+     *  echo "Pattern: $pattern\n";
+     *  echo "Channel: $chan\n";
+     *  echo "Payload: $msg\n";
+     * }
+     * 
+ */ + public function psubscribe($patterns, $callback) + { + } + + /** + * Publish messages to channels. + * + * Warning: this function will probably change in the future. + * + * @param string $channel a channel to publish to + * @param string $message string + * + * @return int Number of clients that received the message + * + * @link https://redis.io/commands/publish + * @example $redis->publish('chan-1', 'hello, world!'); // send message. + */ + public function publish($channel, $message) + { + } + + /** + * A command allowing you to get information on the Redis pub/sub system + * + * @param string $keyword String, which can be: "channels", "numsub", or "numpat" + * @param string|array $argument Optional, variant. + * For the "channels" subcommand, you can pass a string pattern. + * For "numsub" an array of channel names + * + * @return array|int Either an integer or an array. + * - channels Returns an array where the members are the matching channels. + * - numsub Returns a key/value array where the keys are channel names and + * values are their counts. + * - numpat Integer return containing the number active pattern subscriptions + * + * @link https://redis.io/commands/pubsub + * @example + *
+     * $redis->pubsub('channels'); // All channels
+     * $redis->pubsub('channels', '*pattern*'); // Just channels matching your pattern
+     * $redis->pubsub('numsub', array('chan1', 'chan2')); // Get subscriber counts for 'chan1' and 'chan2'
+     * $redis->pubsub('numpat'); // Get the number of pattern subscribers
+     * 
+ */ + public function pubsub($keyword, $argument) + { + } + + /** + * Stop listening for messages posted to the given channels. + * + * @param array $channels an array of channels to usubscribe + * + * @link https://redis.io/commands/unsubscribe + */ + public function unsubscribe($channels = null) + { + } + + /** + * Stop listening for messages posted to the given channels. + * + * @param array $patterns an array of glob-style patterns to unsubscribe + * + * @link https://redis.io/commands/punsubscribe + */ + public function punsubscribe($patterns = null) + { + } + + /** + * Verify if the specified key/keys exists + * + * This function took a single argument and returned TRUE or FALSE in phpredis versions < 4.0.0. + * + * @since >= 4.0 Returned int, if < 4.0 returned bool + * + * @param string|string[] $key + * + * @return int|bool The number of keys tested that do exist + * + * @link https://redis.io/commands/exists + * @link https://github.com/phpredis/phpredis#exists + * @example + *
+     * $redis->exists('key'); // 1
+     * $redis->exists('NonExistingKey'); // 0
+     *
+     * $redis->mset(['foo' => 'foo', 'bar' => 'bar', 'baz' => 'baz']);
+     * $redis->exists(['foo', 'bar', 'baz]); // 3
+     * $redis->exists('foo', 'bar', 'baz'); // 3
+     * 
+ */ + public function exists($key) + { + } + + /** + * Increment the number stored at key by one. + * + * @param string $key + * + * @return int the new value + * + * @link https://redis.io/commands/incr + * @example + *
+     * $redis->incr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value 1
+     * $redis->incr('key1'); // 2
+     * $redis->incr('key1'); // 3
+     * $redis->incr('key1'); // 4
+     * 
+ */ + public function incr($key) + { + } + + /** + * Increment the float value of a key by the given amount + * + * @param string $key + * @param float $increment + * + * @return float + * + * @link https://redis.io/commands/incrbyfloat + * @example + *
+     * $redis->set('x', 3);
+     * $redis->incrByFloat('x', 1.5);   // float(4.5)
+     * $redis->get('x');                // float(4.5)
+     * 
+ */ + public function incrByFloat($key, $increment) + { + } + + /** + * Increment the number stored at key by one. + * If the second argument is filled, it will be used as the integer value of the increment. + * + * @param string $key key + * @param int $value value that will be added to key (only for incrBy) + * + * @return int the new value + * + * @link https://redis.io/commands/incrby + * @example + *
+     * $redis->incr('key1');        // key1 didn't exists, set to 0 before the increment and now has the value 1
+     * $redis->incr('key1');        // 2
+     * $redis->incr('key1');        // 3
+     * $redis->incr('key1');        // 4
+     * $redis->incrBy('key1', 10);  // 14
+     * 
+ */ + public function incrBy($key, $value) + { + } + + /** + * Decrement the number stored at key by one. + * + * @param string $key + * + * @return int the new value + * + * @link https://redis.io/commands/decr + * @example + *
+     * $redis->decr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value -1
+     * $redis->decr('key1'); // -2
+     * $redis->decr('key1'); // -3
+     * 
+ */ + public function decr($key) + { + } + + /** + * Decrement the number stored at key by one. + * If the second argument is filled, it will be used as the integer value of the decrement. + * + * @param string $key + * @param int $value that will be subtracted to key (only for decrBy) + * + * @return int the new value + * + * @link https://redis.io/commands/decrby + * @example + *
+     * $redis->decr('key1');        // key1 didn't exists, set to 0 before the increment and now has the value -1
+     * $redis->decr('key1');        // -2
+     * $redis->decr('key1');        // -3
+     * $redis->decrBy('key1', 10);  // -13
+     * 
+ */ + public function decrBy($key, $value) + { + } + + /** + * Adds the string values to the head (left) of the list. + * Creates the list if the key didn't exist. + * If the key exists and is not a list, FALSE is returned. + * + * @param string $key + * @param string|mixed $value1... Variadic list of values to push in key, if dont used serialized, used string + * + * @return int|bool The new length of the list in case of success, FALSE in case of Failure + * + * @link https://redis.io/commands/lpush + * @example + *
+     * $redis->lPush('l', 'v1', 'v2', 'v3', 'v4')   // int(4)
+     * var_dump( $redis->lRange('l', 0, -1) );
+     * // Output:
+     * // array(4) {
+     * //   [0]=> string(2) "v4"
+     * //   [1]=> string(2) "v3"
+     * //   [2]=> string(2) "v2"
+     * //   [3]=> string(2) "v1"
+     * // }
+     * 
+ */ + public function lPush($key, ...$value1) + { + } + + /** + * Adds the string values to the tail (right) of the list. + * Creates the list if the key didn't exist. + * If the key exists and is not a list, FALSE is returned. + * + * @param string $key + * @param string|mixed $value1... Variadic list of values to push in key, if dont used serialized, used string + * + * @return int|bool The new length of the list in case of success, FALSE in case of Failure + * + * @link https://redis.io/commands/rpush + * @example + *
+     * $redis->rPush('l', 'v1', 'v2', 'v3', 'v4');    // int(4)
+     * var_dump( $redis->lRange('l', 0, -1) );
+     * // Output:
+     * // array(4) {
+     * //   [0]=> string(2) "v1"
+     * //   [1]=> string(2) "v2"
+     * //   [2]=> string(2) "v3"
+     * //   [3]=> string(2) "v4"
+     * // }
+     * 
+ */ + public function rPush($key, ...$value1) + { + } + + /** + * Adds the string value to the head (left) of the list if the list exists. + * + * @param string $key + * @param string|mixed $value String, value to push in key + * + * @return int|bool The new length of the list in case of success, FALSE in case of Failure. + * + * @link https://redis.io/commands/lpushx + * @example + *
+     * $redis->del('key1');
+     * $redis->lPushx('key1', 'A');     // returns 0
+     * $redis->lPush('key1', 'A');      // returns 1
+     * $redis->lPushx('key1', 'B');     // returns 2
+     * $redis->lPushx('key1', 'C');     // returns 3
+     * // key1 now points to the following list: [ 'A', 'B', 'C' ]
+     * 
+ */ + public function lPushx($key, $value) + { + } + + /** + * Adds the string value to the tail (right) of the list if the ist exists. FALSE in case of Failure. + * + * @param string $key + * @param string|mixed $value String, value to push in key + * + * @return int|bool The new length of the list in case of success, FALSE in case of Failure. + * + * @link https://redis.io/commands/rpushx + * @example + *
+     * $redis->del('key1');
+     * $redis->rPushx('key1', 'A'); // returns 0
+     * $redis->rPush('key1', 'A'); // returns 1
+     * $redis->rPushx('key1', 'B'); // returns 2
+     * $redis->rPushx('key1', 'C'); // returns 3
+     * // key1 now points to the following list: [ 'A', 'B', 'C' ]
+     * 
+ */ + public function rPushx($key, $value) + { + } + + /** + * Returns and removes the first element of the list. + * + * @param string $key + * + * @return mixed|bool if command executed successfully BOOL FALSE in case of failure (empty list) + * + * @link https://redis.io/commands/lpop + * @example + *
+     * $redis->rPush('key1', 'A');
+     * $redis->rPush('key1', 'B');
+     * $redis->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
+     * $redis->lPop('key1');        // key1 => [ 'B', 'C' ]
+     * 
+ */ + public function lPop($key) + { + } + + /** + * Returns and removes the last element of the list. + * + * @param string $key + * + * @return mixed|bool if command executed successfully BOOL FALSE in case of failure (empty list) + * + * @link https://redis.io/commands/rpop + * @example + *
+     * $redis->rPush('key1', 'A');
+     * $redis->rPush('key1', 'B');
+     * $redis->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
+     * $redis->rPop('key1');        // key1 => [ 'A', 'B' ]
+     * 
+ */ + public function rPop($key) + { + } + + /** + * Is a blocking lPop primitive. If at least one of the lists contains at least one element, + * the element will be popped from the head of the list and returned to the caller. + * Il all the list identified by the keys passed in arguments are empty, blPop will block + * during the specified timeout until an element is pushed to one of those lists. This element will be popped. + * + * @param string|string[] $keys String array containing the keys of the lists OR variadic list of strings + * @param int $timeout Timeout is always the required final parameter + * + * @return array ['listName', 'element'] + * + * @link https://redis.io/commands/blpop + * @example + *
+     * // Non blocking feature
+     * $redis->lPush('key1', 'A');
+     * $redis->del('key2');
+     *
+     * $redis->blPop('key1', 'key2', 10);        // array('key1', 'A')
+     * // OR
+     * $redis->blPop(['key1', 'key2'], 10);      // array('key1', 'A')
+     *
+     * $redis->brPop('key1', 'key2', 10);        // array('key1', 'A')
+     * // OR
+     * $redis->brPop(['key1', 'key2'], 10); // array('key1', 'A')
+     *
+     * // Blocking feature
+     *
+     * // process 1
+     * $redis->del('key1');
+     * $redis->blPop('key1', 10);
+     * // blocking for 10 seconds
+     *
+     * // process 2
+     * $redis->lPush('key1', 'A');
+     *
+     * // process 1
+     * // array('key1', 'A') is returned
+     * 
+ */ + public function blPop($keys, $timeout) + { + } + + /** + * Is a blocking rPop primitive. If at least one of the lists contains at least one element, + * the element will be popped from the head of the list and returned to the caller. + * Il all the list identified by the keys passed in arguments are empty, brPop will + * block during the specified timeout until an element is pushed to one of those lists. T + * his element will be popped. + * + * @param string|string[] $keys String array containing the keys of the lists OR variadic list of strings + * @param int $timeout Timeout is always the required final parameter + * + * @return array ['listName', 'element'] + * + * @link https://redis.io/commands/brpop + * @example + *
+     * // Non blocking feature
+     * $redis->lPush('key1', 'A');
+     * $redis->del('key2');
+     *
+     * $redis->blPop('key1', 'key2', 10); // array('key1', 'A')
+     * // OR
+     * $redis->blPop(array('key1', 'key2'), 10); // array('key1', 'A')
+     *
+     * $redis->brPop('key1', 'key2', 10); // array('key1', 'A')
+     * // OR
+     * $redis->brPop(array('key1', 'key2'), 10); // array('key1', 'A')
+     *
+     * // Blocking feature
+     *
+     * // process 1
+     * $redis->del('key1');
+     * $redis->blPop('key1', 10);
+     * // blocking for 10 seconds
+     *
+     * // process 2
+     * $redis->lPush('key1', 'A');
+     *
+     * // process 1
+     * // array('key1', 'A') is returned
+     * 
+ */ + public function brPop(array $keys, $timeout) + { + } + + /** + * Returns the size of a list identified by Key. If the list didn't exist or is empty, + * the command returns 0. If the data type identified by Key is not a list, the command return FALSE. + * + * @param string $key + * + * @return int|bool The size of the list identified by Key exists. + * bool FALSE if the data type identified by Key is not list + * + * @link https://redis.io/commands/llen + * @example + *
+     * $redis->rPush('key1', 'A');
+     * $redis->rPush('key1', 'B');
+     * $redis->rPush('key1', 'C'); // key1 => [ 'A', 'B', 'C' ]
+     * $redis->lLen('key1');       // 3
+     * $redis->rPop('key1');
+     * $redis->lLen('key1');       // 2
+     * 
+ */ + public function lLen($key) + { + } + + /** + * @see lLen() + * @link https://redis.io/commands/llen + * @deprecated use Redis::lLen() + * + * @param string $key + * + * @return int The size of the list identified by Key exists + */ + public function lSize($key) + { + } + + /** + * Return the specified element of the list stored at the specified key. + * 0 the first element, 1 the second ... -1 the last element, -2 the penultimate ... + * Return FALSE in case of a bad index or a key that doesn't point to a list. + * + * @param string $key + * @param int $index + * + * @return mixed|bool the element at this index + * + * Bool FALSE if the key identifies a non-string data type, or no value corresponds to this index in the list Key. + * + * @link https://redis.io/commands/lindex + * @example + *
+     * $redis->rPush('key1', 'A');
+     * $redis->rPush('key1', 'B');
+     * $redis->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
+     * $redis->lIndex('key1', 0);     // 'A'
+     * $redis->lIndex('key1', -1);    // 'C'
+     * $redis->lIndex('key1', 10);    // `FALSE`
+     * 
+ */ + public function lIndex($key, $index) + { + } + + /** + * @see lIndex() + * @link https://redis.io/commands/lindex + * @deprecated use Redis::lIndex() + * + * @param string $key + * @param int $index + * @return mixed|bool the element at this index + */ + public function lGet($key, $index) + { + } + + /** + * Set the list at index with the new value. + * + * @param string $key + * @param int $index + * @param string $value + * + * @return bool TRUE if the new value is setted. + * FALSE if the index is out of range, or data type identified by key is not a list. + * + * @link https://redis.io/commands/lset + * @example + *
+     * $redis->rPush('key1', 'A');
+     * $redis->rPush('key1', 'B');
+     * $redis->rPush('key1', 'C');    // key1 => [ 'A', 'B', 'C' ]
+     * $redis->lIndex('key1', 0);     // 'A'
+     * $redis->lSet('key1', 0, 'X');
+     * $redis->lIndex('key1', 0);     // 'X'
+     * 
+ */ + public function lSet($key, $index, $value) + { + } + + /** + * Returns the specified elements of the list stored at the specified key in + * the range [start, end]. start and stop are interpretated as indices: 0 the first element, + * 1 the second ... -1 the last element, -2 the penultimate ... + * + * @param string $key + * @param int $start + * @param int $end + * + * @return array containing the values in specified range. + * + * @link https://redis.io/commands/lrange + * @example + *
+     * $redis->rPush('key1', 'A');
+     * $redis->rPush('key1', 'B');
+     * $redis->rPush('key1', 'C');
+     * $redis->lRange('key1', 0, -1); // array('A', 'B', 'C')
+     * 
+ */ + public function lRange($key, $start, $end) + { + } + + /** + * @see lRange() + * @link https://redis.io/commands/lrange + * @deprecated use Redis::lRange() + * + * @param string $key + * @param int $start + * @param int $end + * @return array + */ + public function lGetRange($key, $start, $end) + { + } + + /** + * Trims an existing list so that it will contain only a specified range of elements. + * + * @param string $key + * @param int $start + * @param int $stop + * + * @return array|bool Bool return FALSE if the key identify a non-list value + * + * @link https://redis.io/commands/ltrim + * @example + *
+     * $redis->rPush('key1', 'A');
+     * $redis->rPush('key1', 'B');
+     * $redis->rPush('key1', 'C');
+     * $redis->lRange('key1', 0, -1); // array('A', 'B', 'C')
+     * $redis->lTrim('key1', 0, 1);
+     * $redis->lRange('key1', 0, -1); // array('A', 'B')
+     * 
+ */ + public function lTrim($key, $start, $stop) + { + } + + /** + * @see lTrim() + * @link https://redis.io/commands/ltrim + * @deprecated use Redis::lTrim() + * + * @param string $key + * @param int $start + * @param int $stop + */ + public function listTrim($key, $start, $stop) + { + } + + /** + * Removes the first count occurrences of the value element from the list. + * If count is zero, all the matching elements are removed. If count is negative, + * elements are removed from tail to head. + * + * @param string $key + * @param string $value + * @param int $count + * + * @return int|bool the number of elements to remove + * bool FALSE if the value identified by key is not a list. + * + * @link https://redis.io/commands/lrem + * @example + *
+     * $redis->lPush('key1', 'A');
+     * $redis->lPush('key1', 'B');
+     * $redis->lPush('key1', 'C');
+     * $redis->lPush('key1', 'A');
+     * $redis->lPush('key1', 'A');
+     *
+     * $redis->lRange('key1', 0, -1);   // array('A', 'A', 'C', 'B', 'A')
+     * $redis->lRem('key1', 'A', 2);    // 2
+     * $redis->lRange('key1', 0, -1);   // array('C', 'B', 'A')
+     * 
+ */ + public function lRem($key, $value, $count) + { + } + + /** + * @see lRem + * @link https://redis.io/commands/lremove + * @deprecated use Redis::lRem() + * + * @param string $key + * @param string $value + * @param int $count + */ + public function lRemove($key, $value, $count) + { + } + + /** + * Insert value in the list before or after the pivot value. the parameter options + * specify the position of the insert (before or after). If the list didn't exists, + * or the pivot didn't exists, the value is not inserted. + * + * @param string $key + * @param int $position Redis::BEFORE | Redis::AFTER + * @param string $pivot + * @param string|mixed $value + * + * @return int The number of the elements in the list, -1 if the pivot didn't exists. + * + * @link https://redis.io/commands/linsert + * @example + *
+     * $redis->del('key1');
+     * $redis->lInsert('key1', Redis::AFTER, 'A', 'X');     // 0
+     *
+     * $redis->lPush('key1', 'A');
+     * $redis->lPush('key1', 'B');
+     * $redis->lPush('key1', 'C');
+     *
+     * $redis->lInsert('key1', Redis::BEFORE, 'C', 'X');    // 4
+     * $redis->lRange('key1', 0, -1);                       // array('A', 'B', 'X', 'C')
+     *
+     * $redis->lInsert('key1', Redis::AFTER, 'C', 'Y');     // 5
+     * $redis->lRange('key1', 0, -1);                       // array('A', 'B', 'X', 'C', 'Y')
+     *
+     * $redis->lInsert('key1', Redis::AFTER, 'W', 'value'); // -1
+     * 
+ */ + public function lInsert($key, $position, $pivot, $value) + { + } + + /** + * Adds a values to the set value stored at key. + * + * @param string $key Required key + * @param string|mixed ...$value1 Variadic list of values + * + * @return int|bool The number of elements added to the set. + * If this value is already in the set, FALSE is returned + * + * @link https://redis.io/commands/sadd + * @example + *
+     * $redis->sAdd('k', 'v1');                // int(1)
+     * $redis->sAdd('k', 'v1', 'v2', 'v3');    // int(2)
+     * 
+ */ + public function sAdd($key, ...$value1) + { + } + + /** + * Removes the specified members from the set value stored at key. + * + * @param string $key + * @param string|mixed ...$member1 Variadic list of members + * + * @return int The number of elements removed from the set + * + * @link https://redis.io/commands/srem + * @example + *
+     * var_dump( $redis->sAdd('k', 'v1', 'v2', 'v3') );    // int(3)
+     * var_dump( $redis->sRem('k', 'v2', 'v3') );          // int(2)
+     * var_dump( $redis->sMembers('k') );
+     * //// Output:
+     * // array(1) {
+     * //   [0]=> string(2) "v1"
+     * // }
+     * 
+ */ + public function sRem($key, ...$member1) + { + } + + /** + * @see sRem() + * @link https://redis.io/commands/srem + * @deprecated use Redis::sRem() + * + * @param string $key + * @param string|mixed ...$member1 + */ + public function sRemove($key, ...$member1) + { + } + + /** + * Moves the specified member from the set at srcKey to the set at dstKey. + * + * @param string $srcKey + * @param string $dstKey + * @param string|mixed $member + * + * @return bool If the operation is successful, return TRUE. + * If the srcKey and/or dstKey didn't exist, and/or the member didn't exist in srcKey, FALSE is returned. + * + * @link https://redis.io/commands/smove + * @example + *
+     * $redis->sAdd('key1' , 'set11');
+     * $redis->sAdd('key1' , 'set12');
+     * $redis->sAdd('key1' , 'set13');          // 'key1' => {'set11', 'set12', 'set13'}
+     * $redis->sAdd('key2' , 'set21');
+     * $redis->sAdd('key2' , 'set22');          // 'key2' => {'set21', 'set22'}
+     * $redis->sMove('key1', 'key2', 'set13');  // 'key1' =>  {'set11', 'set12'}
+     *                                          // 'key2' =>  {'set21', 'set22', 'set13'}
+     * 
+ */ + public function sMove($srcKey, $dstKey, $member) + { + } + + /** + * Checks if value is a member of the set stored at the key key. + * + * @param string $key + * @param string|mixed $value + * + * @return bool TRUE if value is a member of the set at key key, FALSE otherwise + * + * @link https://redis.io/commands/sismember + * @example + *
+     * $redis->sAdd('key1' , 'set1');
+     * $redis->sAdd('key1' , 'set2');
+     * $redis->sAdd('key1' , 'set3'); // 'key1' => {'set1', 'set2', 'set3'}
+     *
+     * $redis->sIsMember('key1', 'set1'); // TRUE
+     * $redis->sIsMember('key1', 'setX'); // FALSE
+     * 
+ */ + public function sIsMember($key, $value) + { + } + + /** + * @see sIsMember() + * @link https://redis.io/commands/sismember + * @deprecated use Redis::sIsMember() + * + * @param string $key + * @param string|mixed $value + */ + public function sContains($key, $value) + { + } + + /** + * Returns the cardinality of the set identified by key. + * + * @param string $key + * + * @return int the cardinality of the set identified by key, 0 if the set doesn't exist. + * + * @link https://redis.io/commands/scard + * @example + *
+     * $redis->sAdd('key1' , 'set1');
+     * $redis->sAdd('key1' , 'set2');
+     * $redis->sAdd('key1' , 'set3');   // 'key1' => {'set1', 'set2', 'set3'}
+     * $redis->sCard('key1');           // 3
+     * $redis->sCard('keyX');           // 0
+     * 
+ */ + public function sCard($key) + { + } + + /** + * Removes and returns a random element from the set value at Key. + * + * @param string $key + * @param int $count [optional] + * + * @return string|mixed|array|bool "popped" values + * bool FALSE if set identified by key is empty or doesn't exist. + * + * @link https://redis.io/commands/spop + * @example + *
+     * $redis->sAdd('key1' , 'set1');
+     * $redis->sAdd('key1' , 'set2');
+     * $redis->sAdd('key1' , 'set3');   // 'key1' => {'set3', 'set1', 'set2'}
+     * $redis->sPop('key1');            // 'set1', 'key1' => {'set3', 'set2'}
+     * $redis->sPop('key1');            // 'set3', 'key1' => {'set2'}
+     *
+     * // With count
+     * $redis->sAdd('key2', 'set1', 'set2', 'set3');
+     * var_dump( $redis->sPop('key2', 3) ); // Will return all members but in no particular order
+     *
+     * // array(3) {
+     * //   [0]=> string(4) "set2"
+     * //   [1]=> string(4) "set3"
+     * //   [2]=> string(4) "set1"
+     * // }
+     * 
+ */ + public function sPop($key, $count = 1) + { + } + + /** + * Returns a random element(s) from the set value at Key, without removing it. + * + * @param string $key + * @param int $count [optional] + * + * @return string|mixed|array|bool value(s) from the set + * bool FALSE if set identified by key is empty or doesn't exist and count argument isn't passed. + * + * @link https://redis.io/commands/srandmember + * @example + *
+     * $redis->sAdd('key1' , 'one');
+     * $redis->sAdd('key1' , 'two');
+     * $redis->sAdd('key1' , 'three');              // 'key1' => {'one', 'two', 'three'}
+     *
+     * var_dump( $redis->sRandMember('key1') );     // 'key1' => {'one', 'two', 'three'}
+     *
+     * // string(5) "three"
+     *
+     * var_dump( $redis->sRandMember('key1', 2) );  // 'key1' => {'one', 'two', 'three'}
+     *
+     * // array(2) {
+     * //   [0]=> string(2) "one"
+     * //   [1]=> string(5) "three"
+     * // }
+     * 
+ */ + public function sRandMember($key, $count = 1) + { + } + + /** + * Returns the members of a set resulting from the intersection of all the sets + * held at the specified keys. If just a single key is specified, then this command + * produces the members of this set. If one of the keys is missing, FALSE is returned. + * + * @param string $key1 keys identifying the different sets on which we will apply the intersection. + * @param string ...$otherKeys variadic list of keys + * + * @return array contain the result of the intersection between those keys + * If the intersection between the different sets is empty, the return value will be empty array. + * + * @link https://redis.io/commands/sinter + * @example + *
+     * $redis->sAdd('key1', 'val1');
+     * $redis->sAdd('key1', 'val2');
+     * $redis->sAdd('key1', 'val3');
+     * $redis->sAdd('key1', 'val4');
+     *
+     * $redis->sAdd('key2', 'val3');
+     * $redis->sAdd('key2', 'val4');
+     *
+     * $redis->sAdd('key3', 'val3');
+     * $redis->sAdd('key3', 'val4');
+     *
+     * var_dump($redis->sInter('key1', 'key2', 'key3'));
+     *
+     * //array(2) {
+     * //  [0]=>
+     * //  string(4) "val4"
+     * //  [1]=>
+     * //  string(4) "val3"
+     * //}
+     * 
+ */ + public function sInter($key1, ...$otherKeys) + { + } + + /** + * Performs a sInter command and stores the result in a new set. + * + * @param string $dstKey the key to store the diff into. + * @param string $key1 keys identifying the different sets on which we will apply the intersection. + * @param string ...$otherKeys variadic list of keys + * + * @return int|bool The cardinality of the resulting set, or FALSE in case of a missing key + * + * @link https://redis.io/commands/sinterstore + * @example + *
+     * $redis->sAdd('key1', 'val1');
+     * $redis->sAdd('key1', 'val2');
+     * $redis->sAdd('key1', 'val3');
+     * $redis->sAdd('key1', 'val4');
+     *
+     * $redis->sAdd('key2', 'val3');
+     * $redis->sAdd('key2', 'val4');
+     *
+     * $redis->sAdd('key3', 'val3');
+     * $redis->sAdd('key3', 'val4');
+     *
+     * var_dump($redis->sInterStore('output', 'key1', 'key2', 'key3'));
+     * var_dump($redis->sMembers('output'));
+     *
+     * //int(2)
+     * //
+     * //array(2) {
+     * //  [0]=>
+     * //  string(4) "val4"
+     * //  [1]=>
+     * //  string(4) "val3"
+     * //}
+     * 
+ */ + public function sInterStore($dstKey, $key1, ...$otherKeys) + { + } + + /** + * Performs the union between N sets and returns it. + * + * @param string $key1 first key for union + * @param string ...$otherKeys variadic list of keys corresponding to sets in redis + * + * @return array string[] The union of all these sets + * + * @link https://redis.io/commands/sunionstore + * @example + *
+     * $redis->sAdd('s0', '1');
+     * $redis->sAdd('s0', '2');
+     * $redis->sAdd('s1', '3');
+     * $redis->sAdd('s1', '1');
+     * $redis->sAdd('s2', '3');
+     * $redis->sAdd('s2', '4');
+     *
+     * var_dump($redis->sUnion('s0', 's1', 's2'));
+     *
+     * array(4) {
+     * //  [0]=>
+     * //  string(1) "3"
+     * //  [1]=>
+     * //  string(1) "4"
+     * //  [2]=>
+     * //  string(1) "1"
+     * //  [3]=>
+     * //  string(1) "2"
+     * //}
+     * 
+ */ + public function sUnion($key1, ...$otherKeys) + { + } + + /** + * Performs the same action as sUnion, but stores the result in the first key + * + * @param string $dstKey the key to store the diff into. + * @param string $key1 first key for union + * @param string ...$otherKeys variadic list of keys corresponding to sets in redis + * + * @return int Any number of keys corresponding to sets in redis + * + * @link https://redis.io/commands/sunionstore + * @example + *
+     * $redis->del('s0', 's1', 's2');
+     *
+     * $redis->sAdd('s0', '1');
+     * $redis->sAdd('s0', '2');
+     * $redis->sAdd('s1', '3');
+     * $redis->sAdd('s1', '1');
+     * $redis->sAdd('s2', '3');
+     * $redis->sAdd('s2', '4');
+     *
+     * var_dump($redis->sUnionStore('dst', 's0', 's1', 's2'));
+     * var_dump($redis->sMembers('dst'));
+     *
+     * //int(4)
+     * //array(4) {
+     * //  [0]=>
+     * //  string(1) "3"
+     * //  [1]=>
+     * //  string(1) "4"
+     * //  [2]=>
+     * //  string(1) "1"
+     * //  [3]=>
+     * //  string(1) "2"
+     * //}
+     * 
+ */ + public function sUnionStore($dstKey, $key1, ...$otherKeys) + { + } + + /** + * Performs the difference between N sets and returns it. + * + * @param string $key1 first key for diff + * @param string ...$otherKeys variadic list of keys corresponding to sets in redis + * + * @return array string[] The difference of the first set will all the others + * + * @link https://redis.io/commands/sdiff + * @example + *
+     * $redis->del('s0', 's1', 's2');
+     *
+     * $redis->sAdd('s0', '1');
+     * $redis->sAdd('s0', '2');
+     * $redis->sAdd('s0', '3');
+     * $redis->sAdd('s0', '4');
+     *
+     * $redis->sAdd('s1', '1');
+     * $redis->sAdd('s2', '3');
+     *
+     * var_dump($redis->sDiff('s0', 's1', 's2'));
+     *
+     * //array(2) {
+     * //  [0]=>
+     * //  string(1) "4"
+     * //  [1]=>
+     * //  string(1) "2"
+     * //}
+     * 
+ */ + public function sDiff($key1, ...$otherKeys) + { + } + + /** + * Performs the same action as sDiff, but stores the result in the first key + * + * @param string $dstKey the key to store the diff into. + * @param string $key1 first key for diff + * @param string ...$otherKeys variadic list of keys corresponding to sets in redis + * + * @return int|bool The cardinality of the resulting set, or FALSE in case of a missing key + * + * @link https://redis.io/commands/sdiffstore + * @example + *
+     * $redis->del('s0', 's1', 's2');
+     *
+     * $redis->sAdd('s0', '1');
+     * $redis->sAdd('s0', '2');
+     * $redis->sAdd('s0', '3');
+     * $redis->sAdd('s0', '4');
+     *
+     * $redis->sAdd('s1', '1');
+     * $redis->sAdd('s2', '3');
+     *
+     * var_dump($redis->sDiffStore('dst', 's0', 's1', 's2'));
+     * var_dump($redis->sMembers('dst'));
+     *
+     * //int(2)
+     * //array(2) {
+     * //  [0]=>
+     * //  string(1) "4"
+     * //  [1]=>
+     * //  string(1) "2"
+     * //}
+     * 
+ */ + public function sDiffStore($dstKey, $key1, ...$otherKeys) + { + } + + /** + * Returns the contents of a set. + * + * @param string $key + * + * @return array An array of elements, the contents of the set + * + * @link https://redis.io/commands/smembers + * @example + *
+     * $redis->del('s');
+     * $redis->sAdd('s', 'a');
+     * $redis->sAdd('s', 'b');
+     * $redis->sAdd('s', 'a');
+     * $redis->sAdd('s', 'c');
+     * var_dump($redis->sMembers('s'));
+     *
+     * //array(3) {
+     * //  [0]=>
+     * //  string(1) "c"
+     * //  [1]=>
+     * //  string(1) "a"
+     * //  [2]=>
+     * //  string(1) "b"
+     * //}
+     * // The order is random and corresponds to redis' own internal representation of the set structure.
+     * 
+ */ + public function sMembers($key) + { + } + + /** + * @see sMembers() + * @link https://redis.io/commands/smembers + * @deprecated use Redis::sMembers() + * + * @param string $key + * @return array An array of elements, the contents of the set + */ + public function sGetMembers($key) + { + } + + /** + * Scan a set for members + * + * @param string $key The set to search. + * @param int $iterator LONG (reference) to the iterator as we go. + * @param string $pattern String, optional pattern to match against. + * @param int $count How many members to return at a time (Redis might return a different amount) + * + * @return array|bool PHPRedis will return an array of keys or FALSE when we're done iterating + * + * @link https://redis.io/commands/sscan + * @example + *
+     * $iterator = null;
+     * while ($members = $redis->sScan('set', $iterator)) {
+     *     foreach ($members as $member) {
+     *         echo $member . PHP_EOL;
+     *     }
+     * }
+     * 
+ */ + public function sScan($key, &$iterator, $pattern = null, $count = 0) + { + } + + /** + * Sets a value and returns the previous entry at that key. + * + * @param string $key + * @param string|mixed $value + * + * @return string|mixed A string (mixed, if used serializer), the previous value located at this key + * + * @link https://redis.io/commands/getset + * @example + *
+     * $redis->set('x', '42');
+     * $exValue = $redis->getSet('x', 'lol');   // return '42', replaces x by 'lol'
+     * $newValue = $redis->get('x')'            // return 'lol'
+     * 
+ */ + public function getSet($key, $value) + { + } + + /** + * Returns a random key + * + * @return string an existing key in redis + * + * @link https://redis.io/commands/randomkey + * @example + *
+     * $key = $redis->randomKey();
+     * $surprise = $redis->get($key);  // who knows what's in there.
+     * 
+ */ + public function randomKey() + { + } + + /** + * Switches to a given database + * + * @param int $dbIndex + * + * @return bool TRUE in case of success, FALSE in case of failure + * + * @link https://redis.io/commands/select + * @example + *
+     * $redis->select(0);       // switch to DB 0
+     * $redis->set('x', '42');  // write 42 to x
+     * $redis->move('x', 1);    // move to DB 1
+     * $redis->select(1);       // switch to DB 1
+     * $redis->get('x');        // will return 42
+     * 
+ */ + public function select($dbIndex) + { + } + + /** + * Moves a key to a different database. + * + * @param string $key + * @param int $dbIndex + * + * @return bool TRUE in case of success, FALSE in case of failure + * + * @link https://redis.io/commands/move + * @example + *
+     * $redis->select(0);       // switch to DB 0
+     * $redis->set('x', '42');  // write 42 to x
+     * $redis->move('x', 1);    // move to DB 1
+     * $redis->select(1);       // switch to DB 1
+     * $redis->get('x');        // will return 42
+     * 
+ */ + public function move($key, $dbIndex) + { + } + + /** + * Renames a key + * + * @param string $srcKey + * @param string $dstKey + * + * @return bool TRUE in case of success, FALSE in case of failure + * + * @link https://redis.io/commands/rename + * @example + *
+     * $redis->set('x', '42');
+     * $redis->rename('x', 'y');
+     * $redis->get('y');   // → 42
+     * $redis->get('x');   // → `FALSE`
+     * 
+ */ + public function rename($srcKey, $dstKey) + { + } + + /** + * @see rename() + * @link https://redis.io/commands/rename + * @deprecated use Redis::rename() + * + * @param string $srcKey + * @param string $dstKey + */ + public function renameKey($srcKey, $dstKey) + { + } + + /** + * Renames a key + * + * Same as rename, but will not replace a key if the destination already exists. + * This is the same behaviour as setNx. + * + * @param string $srcKey + * @param string $dstKey + * + * @return bool TRUE in case of success, FALSE in case of failure + * + * @link https://redis.io/commands/renamenx + * @example + *
+     * $redis->set('x', '42');
+     * $redis->rename('x', 'y');
+     * $redis->get('y');   // → 42
+     * $redis->get('x');   // → `FALSE`
+     * 
+ */ + public function renameNx($srcKey, $dstKey) + { + } + + /** + * Sets an expiration date (a timeout) on an item + * + * @param string $key The key that will disappear + * @param int $ttl The key's remaining Time To Live, in seconds + * + * @return bool TRUE in case of success, FALSE in case of failure + * + * @link https://redis.io/commands/expire + * @example + *
+     * $redis->set('x', '42');
+     * $redis->expire('x', 3);  // x will disappear in 3 seconds.
+     * sleep(5);                    // wait 5 seconds
+     * $redis->get('x');            // will return `FALSE`, as 'x' has expired.
+     * 
+ */ + public function expire($key, $ttl) + { + } + + /** + * Sets an expiration date (a timeout in milliseconds) on an item + * + * @param string $key The key that will disappear. + * @param int $ttl The key's remaining Time To Live, in milliseconds + * + * @return bool TRUE in case of success, FALSE in case of failure + * + * @link https://redis.io/commands/pexpire + * @example + *
+     * $redis->set('x', '42');
+     * $redis->pExpire('x', 11500); // x will disappear in 11500 milliseconds.
+     * $redis->ttl('x');            // 12
+     * $redis->pttl('x');           // 11500
+     * 
+ */ + public function pExpire($key, $ttl) + { + } + + /** + * @see expire() + * @link https://redis.io/commands/expire + * @deprecated use Redis::expire() + * + * @param string $key + * @param int $ttl + * @return bool + */ + public function setTimeout($key, $ttl) + { + } + + /** + * Sets an expiration date (a timestamp) on an item. + * + * @param string $key The key that will disappear. + * @param int $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time. + * + * @return bool TRUE in case of success, FALSE in case of failure + * + * @link https://redis.io/commands/expireat + * @example + *
+     * $redis->set('x', '42');
+     * $now = time(NULL);               // current timestamp
+     * $redis->expireAt('x', $now + 3); // x will disappear in 3 seconds.
+     * sleep(5);                        // wait 5 seconds
+     * $redis->get('x');                // will return `FALSE`, as 'x' has expired.
+     * 
+ */ + public function expireAt($key, $timestamp) + { + } + + /** + * Sets an expiration date (a timestamp) on an item. Requires a timestamp in milliseconds + * + * @param string $key The key that will disappear + * @param int $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time + * + * @return bool TRUE in case of success, FALSE in case of failure + * + * @link https://redis.io/commands/pexpireat + * @example + *
+     * $redis->set('x', '42');
+     * $redis->pExpireAt('x', 1555555555005);
+     * echo $redis->ttl('x');                       // 218270121
+     * echo $redis->pttl('x');                      // 218270120575
+     * 
+ */ + public function pExpireAt($key, $timestamp) + { + } + + /** + * Returns the keys that match a certain pattern. + * + * @param string $pattern pattern, using '*' as a wildcard + * + * @return array string[] The keys that match a certain pattern. + * + * @link https://redis.io/commands/keys + * @example + *
+     * $allKeys = $redis->keys('*');   // all keys will match this.
+     * $keyWithUserPrefix = $redis->keys('user*');
+     * 
+ */ + public function keys($pattern) + { + } + + /** + * @see keys() + * @deprecated use Redis::keys() + * + * @param string $pattern + * @link https://redis.io/commands/keys + */ + public function getKeys($pattern) + { + } + + /** + * Returns the current database's size + * + * @return int DB size, in number of keys + * + * @link https://redis.io/commands/dbsize + * @example + *
+     * $count = $redis->dbSize();
+     * echo "Redis has $count keys\n";
+     * 
+ */ + public function dbSize() + { + } + + /** + * Authenticate the connection using a password. + * Warning: The password is sent in plain-text over the network. + * + * @param string $password + * + * @return bool TRUE if the connection is authenticated, FALSE otherwise + * + * @link https://redis.io/commands/auth + * @example $redis->auth('foobared'); + */ + public function auth($password) + { + } + + /** + * Starts the background rewrite of AOF (Append-Only File) + * + * @return bool TRUE in case of success, FALSE in case of failure + * + * @link https://redis.io/commands/bgrewriteaof + * @example $redis->bgrewriteaof(); + */ + public function bgrewriteaof() + { + } + + /** + * Changes the slave status + * Either host and port, or no parameter to stop being a slave. + * + * @param string $host [optional] + * @param int $port [optional] + * + * @return bool TRUE in case of success, FALSE in case of failure + * + * @link https://redis.io/commands/slaveof + * @example + *
+     * $redis->slaveof('10.0.1.7', 6379);
+     * // ...
+     * $redis->slaveof();
+     * 
+ */ + public function slaveof($host = '127.0.0.1', $port = 6379) + { + } + + /** + * Access the Redis slowLog + * + * @param string $operation This can be either GET, LEN, or RESET + * @param int|null $length If executing a SLOWLOG GET command, you can pass an optional length. + * + * @return mixed The return value of SLOWLOG will depend on which operation was performed. + * - SLOWLOG GET: Array of slowLog entries, as provided by Redis + * - SLOGLOG LEN: Integer, the length of the slowLog + * - SLOWLOG RESET: Boolean, depending on success + * + * @example + *
+     * // Get ten slowLog entries
+     * $redis->slowLog('get', 10);
+     * // Get the default number of slowLog entries
+     *
+     * $redis->slowLog('get');
+     * // Reset our slowLog
+     * $redis->slowLog('reset');
+     *
+     * // Retrieve slowLog length
+     * $redis->slowLog('len');
+     * 
+ * + * @link https://redis.io/commands/slowlog + */ + public function slowLog(string $operation, int $length = null) + { + } + + + /** + * Describes the object pointed to by a key. + * The information to retrieve (string) and the key (string). + * Info can be one of the following: + * - "encoding" + * - "refcount" + * - "idletime" + * + * @param string $string + * @param string $key + * + * @return string|int|bool for "encoding", int for "refcount" and "idletime", FALSE if the key doesn't exist. + * + * @link https://redis.io/commands/object + * @example + *
+     * $redis->lPush('l', 'Hello, world!');
+     * $redis->object("encoding", "l"); // → ziplist
+     * $redis->object("refcount", "l"); // → 1
+     * $redis->object("idletime", "l"); // → 400 (in seconds, with a precision of 10 seconds).
+     * 
+ */ + public function object($string = '', $key = '') + { + } + + /** + * Performs a synchronous save. + * + * @return bool TRUE in case of success, FALSE in case of failure + * If a save is already running, this command will fail and return FALSE. + * + * @link https://redis.io/commands/save + * @example $redis->save(); + */ + public function save() + { + } + + /** + * Performs a background save. + * + * @return bool TRUE in case of success, FALSE in case of failure + * If a save is already running, this command will fail and return FALSE + * + * @link https://redis.io/commands/bgsave + * @example $redis->bgSave(); + */ + public function bgsave() + { + } + + /** + * Returns the timestamp of the last disk save. + * + * @return int timestamp + * + * @link https://redis.io/commands/lastsave + * @example $redis->lastSave(); + */ + public function lastSave() + { + } + + /** + * Blocks the current client until all the previous write commands are successfully transferred and + * acknowledged by at least the specified number of slaves. + * + * @param int $numSlaves Number of slaves that need to acknowledge previous write commands. + * @param int $timeout Timeout in milliseconds. + * + * @return int The command returns the number of slaves reached by all the writes performed in the + * context of the current connection + * + * @link https://redis.io/commands/wait + * @example $redis->wait(2, 1000); + */ + public function wait($numSlaves, $timeout) + { + } + + /** + * Returns the type of data pointed by a given key. + * + * @param string $key + * + * @return int + * Depending on the type of the data pointed by the key, + * this method will return the following value: + * - string: Redis::REDIS_STRING + * - set: Redis::REDIS_SET + * - list: Redis::REDIS_LIST + * - zset: Redis::REDIS_ZSET + * - hash: Redis::REDIS_HASH + * - other: Redis::REDIS_NOT_FOUND + * + * @link https://redis.io/commands/type + * @example $redis->type('key'); + */ + public function type($key) + { + } + + /** + * Append specified string to the string stored in specified key. + * + * @param string $key + * @param string|mixed $value + * + * @return int Size of the value after the append + * + * @link https://redis.io/commands/append + * @example + *
+     * $redis->set('key', 'value1');
+     * $redis->append('key', 'value2'); // 12
+     * $redis->get('key');              // 'value1value2'
+     * 
+ */ + public function append($key, $value) + { + } + + /** + * Return a substring of a larger string + * + * @param string $key + * @param int $start + * @param int $end + * + * @return string the substring + * + * @link https://redis.io/commands/getrange + * @example + *
+     * $redis->set('key', 'string value');
+     * $redis->getRange('key', 0, 5);   // 'string'
+     * $redis->getRange('key', -5, -1); // 'value'
+     * 
+ */ + public function getRange($key, $start, $end) + { + } + + /** + * Return a substring of a larger string + * + * @deprecated + * @param string $key + * @param int $start + * @param int $end + */ + public function substr($key, $start, $end) + { + } + + /** + * Changes a substring of a larger string. + * + * @param string $key + * @param int $offset + * @param string $value + * + * @return int the length of the string after it was modified + * + * @link https://redis.io/commands/setrange + * @example + *
+     * $redis->set('key', 'Hello world');
+     * $redis->setRange('key', 6, "redis"); // returns 11
+     * $redis->get('key');                  // "Hello redis"
+     * 
+ */ + public function setRange($key, $offset, $value) + { + } + + /** + * Get the length of a string value. + * + * @param string $key + * @return int + * + * @link https://redis.io/commands/strlen + * @example + *
+     * $redis->set('key', 'value');
+     * $redis->strlen('key'); // 5
+     * 
+ */ + public function strlen($key) + { + } + + /** + * Return the position of the first bit set to 1 or 0 in a string. The position is returned, thinking of the + * string as an array of bits from left to right, where the first byte's most significant bit is at position 0, + * the second byte's most significant bit is at position 8, and so forth. + * + * @param string $key + * @param int $bit + * @param int $start + * @param int $end + * + * @return int The command returns the position of the first bit set to 1 or 0 according to the request. + * If we look for set bits (the bit argument is 1) and the string is empty or composed of just + * zero bytes, -1 is returned. If we look for clear bits (the bit argument is 0) and the string + * only contains bit set to 1, the function returns the first bit not part of the string on the + * right. So if the string is three bytes set to the value 0xff the command BITPOS key 0 will + * return 24, since up to bit 23 all the bits are 1. Basically, the function considers the right + * of the string as padded with zeros if you look for clear bits and specify no range or the + * start argument only. However, this behavior changes if you are looking for clear bits and + * specify a range with both start and end. If no clear bit is found in the specified range, the + * function returns -1 as the user specified a clear range and there are no 0 bits in that range. + * + * @link https://redis.io/commands/bitpos + * @example + *
+     * $redis->set('key', '\xff\xff');
+     * $redis->bitpos('key', 1); // int(0)
+     * $redis->bitpos('key', 1, 1); // int(8)
+     * $redis->bitpos('key', 1, 3); // int(-1)
+     * $redis->bitpos('key', 0); // int(16)
+     * $redis->bitpos('key', 0, 1); // int(16)
+     * $redis->bitpos('key', 0, 1, 5); // int(-1)
+     * 
+ */ + public function bitpos($key, $bit, $start = 0, $end = null) + { + } + + /** + * Return a single bit out of a larger string + * + * @param string $key + * @param int $offset + * + * @return int the bit value (0 or 1) + * + * @link https://redis.io/commands/getbit + * @example + *
+     * $redis->set('key', "\x7f");  // this is 0111 1111
+     * $redis->getBit('key', 0);    // 0
+     * $redis->getBit('key', 1);    // 1
+     * 
+ */ + public function getBit($key, $offset) + { + } + + /** + * Changes a single bit of a string. + * + * @param string $key + * @param int $offset + * @param bool|int $value bool or int (1 or 0) + * + * @return int 0 or 1, the value of the bit before it was set + * + * @link https://redis.io/commands/setbit + * @example + *
+     * $redis->set('key', "*");     // ord("*") = 42 = 0x2f = "0010 1010"
+     * $redis->setBit('key', 5, 1); // returns 0
+     * $redis->setBit('key', 7, 1); // returns 0
+     * $redis->get('key');          // chr(0x2f) = "/" = b("0010 1111")
+     * 
+ */ + public function setBit($key, $offset, $value) + { + } + + /** + * Count bits in a string + * + * @param string $key + * + * @return int The number of bits set to 1 in the value behind the input key + * + * @link https://redis.io/commands/bitcount + * @example + *
+     * $redis->set('bit', '345'); // // 11 0011  0011 0100  0011 0101
+     * var_dump( $redis->bitCount('bit', 0, 0) ); // int(4)
+     * var_dump( $redis->bitCount('bit', 1, 1) ); // int(3)
+     * var_dump( $redis->bitCount('bit', 2, 2) ); // int(4)
+     * var_dump( $redis->bitCount('bit', 0, 2) ); // int(11)
+     * 
+ */ + public function bitCount($key) + { + } + + /** + * Bitwise operation on multiple keys. + * + * @param string $operation either "AND", "OR", "NOT", "XOR" + * @param string $retKey return key + * @param string $key1 first key + * @param string ...$otherKeys variadic list of keys + * + * @return int The size of the string stored in the destination key + * + * @link https://redis.io/commands/bitop + * @example + *
+     * $redis->set('bit1', '1'); // 11 0001
+     * $redis->set('bit2', '2'); // 11 0010
+     *
+     * $redis->bitOp('AND', 'bit', 'bit1', 'bit2'); // bit = 110000
+     * $redis->bitOp('OR',  'bit', 'bit1', 'bit2'); // bit = 110011
+     * $redis->bitOp('NOT', 'bit', 'bit1', 'bit2'); // bit = 110011
+     * $redis->bitOp('XOR', 'bit', 'bit1', 'bit2'); // bit = 11
+     * 
+ */ + public function bitOp($operation, $retKey, $key1, ...$otherKeys) + { + } + + /** + * Removes all entries from the current database. + * + * @return bool Always TRUE + * @link https://redis.io/commands/flushdb + * @example $redis->flushDB(); + */ + public function flushDB() + { + } + + /** + * Removes all entries from all databases. + * + * @return bool Always TRUE + * + * @link https://redis.io/commands/flushall + * @example $redis->flushAll(); + */ + public function flushAll() + { + } + + /** + * Sort + * + * @param string $key + * @param array $option array(key => value, ...) - optional, with the following keys and values: + * - 'by' => 'some_pattern_*', + * - 'limit' => array(0, 1), + * - 'get' => 'some_other_pattern_*' or an array of patterns, + * - 'sort' => 'asc' or 'desc', + * - 'alpha' => TRUE, + * - 'store' => 'external-key' + * + * @return array + * An array of values, or a number corresponding to the number of elements stored if that was used + * + * @link https://redis.io/commands/sort + * @example + *
+     * $redis->del('s');
+     * $redis->sadd('s', 5);
+     * $redis->sadd('s', 4);
+     * $redis->sadd('s', 2);
+     * $redis->sadd('s', 1);
+     * $redis->sadd('s', 3);
+     *
+     * var_dump($redis->sort('s')); // 1,2,3,4,5
+     * var_dump($redis->sort('s', array('sort' => 'desc'))); // 5,4,3,2,1
+     * var_dump($redis->sort('s', array('sort' => 'desc', 'store' => 'out'))); // (int)5
+     * 
+ */ + public function sort($key, $option = null) + { + } + + /** + * Returns an associative array of strings and integers + * + * @param string $option Optional. The option to provide redis. + * SERVER | CLIENTS | MEMORY | PERSISTENCE | STATS | REPLICATION | CPU | CLASTER | KEYSPACE | COMANDSTATS + * + * Returns an associative array of strings and integers, with the following keys: + * - redis_version + * - redis_git_sha1 + * - redis_git_dirty + * - arch_bits + * - multiplexing_api + * - process_id + * - uptime_in_seconds + * - uptime_in_days + * - lru_clock + * - used_cpu_sys + * - used_cpu_user + * - used_cpu_sys_children + * - used_cpu_user_children + * - connected_clients + * - connected_slaves + * - client_longest_output_list + * - client_biggest_input_buf + * - blocked_clients + * - used_memory + * - used_memory_human + * - used_memory_peak + * - used_memory_peak_human + * - mem_fragmentation_ratio + * - mem_allocator + * - loading + * - aof_enabled + * - changes_since_last_save + * - bgsave_in_progress + * - last_save_time + * - total_connections_received + * - total_commands_processed + * - expired_keys + * - evicted_keys + * - keyspace_hits + * - keyspace_misses + * - hash_max_zipmap_entries + * - hash_max_zipmap_value + * - pubsub_channels + * - pubsub_patterns + * - latest_fork_usec + * - vm_enabled + * - role + * + * @return string + * + * @link https://redis.io/commands/info + * @example + *
+     * $redis->info();
+     *
+     * or
+     *
+     * $redis->info("COMMANDSTATS"); //Information on the commands that have been run (>=2.6 only)
+     * $redis->info("CPU"); // just CPU information from Redis INFO
+     * 
+ */ + public function info($option = null) + { + } + + /** + * Resets the statistics reported by Redis using the INFO command (`info()` function). + * These are the counters that are reset: + * - Keyspace hits + * - Keyspace misses + * - Number of commands processed + * - Number of connections received + * - Number of expired keys + * + * @return bool `TRUE` in case of success, `FALSE` in case of failure. + * + * @example $redis->resetStat(); + * @link https://redis.io/commands/config-resetstat + */ + public function resetStat() + { + } + + /** + * Returns the time to live left for a given key, in seconds. If the key doesn't exist, FALSE is returned. + * + * @param string $key + * + * @return int|bool the time left to live in seconds + * + * @link https://redis.io/commands/ttl + * @example + *
+     * $redis->setex('key', 123, 'test');
+     * $redis->ttl('key'); // int(123)
+     * 
+ */ + public function ttl($key) + { + } + + /** + * Returns a time to live left for a given key, in milliseconds. + * + * If the key doesn't exist, FALSE is returned. + * + * @param string $key + * + * @return int|bool the time left to live in milliseconds + * + * @link https://redis.io/commands/pttl + * @example + *
+     * $redis->setex('key', 123, 'test');
+     * $redis->pttl('key'); // int(122999)
+     * 
+ */ + public function pttl($key) + { + } + + /** + * Remove the expiration timer from a key. + * + * @param string $key + * + * @return bool TRUE if a timeout was removed, FALSE if the key didn’t exist or didn’t have an expiration timer. + * + * @link https://redis.io/commands/persist + * @example $redis->persist('key'); + */ + public function persist($key) + { + } + + /** + * Sets multiple key-value pairs in one atomic command. + * MSETNX only returns TRUE if all the keys were set (see SETNX). + * + * @param array $array Pairs: array(key => value, ...) + * + * @return bool TRUE in case of success, FALSE in case of failure + * + * @link https://redis.io/commands/mset + * @example + *
+     * $redis->mset(array('key0' => 'value0', 'key1' => 'value1'));
+     * var_dump($redis->get('key0'));
+     * var_dump($redis->get('key1'));
+     * // Output:
+     * // string(6) "value0"
+     * // string(6) "value1"
+     * 
+ */ + public function mset(array $array) + { + } + + /** + * Get the values of all the specified keys. + * If one or more keys dont exist, the array will contain FALSE at the position of the key. + * + * @param array $keys Array containing the list of the keys + * + * @return array Array containing the values related to keys in argument + * + * @deprecated use Redis::mGet() + * @example + *
+     * $redis->set('key1', 'value1');
+     * $redis->set('key2', 'value2');
+     * $redis->set('key3', 'value3');
+     * $redis->getMultiple(array('key1', 'key2', 'key3')); // array('value1', 'value2', 'value3');
+     * $redis->getMultiple(array('key0', 'key1', 'key5')); // array(`FALSE`, 'value2', `FALSE`);
+     * 
+ */ + public function getMultiple(array $keys) + { + } + + /** + * Returns the values of all specified keys. + * + * For every key that does not hold a string value or does not exist, + * the special value false is returned. Because of this, the operation never fails. + * + * @param array $array + * + * @return array + * + * @link https://redis.io/commands/mget + * @example + *
+     * $redis->del('x', 'y', 'z', 'h');  // remove x y z
+     * $redis->mset(array('x' => 'a', 'y' => 'b', 'z' => 'c'));
+     * $redis->hset('h', 'field', 'value');
+     * var_dump($redis->mget(array('x', 'y', 'z', 'h')));
+     * // Output:
+     * // array(3) {
+     * //   [0]=> string(1) "a"
+     * //   [1]=> string(1) "b"
+     * //   [2]=> string(1) "c"
+     * //   [3]=> bool(false)
+     * // }
+     * 
+ */ + public function mget(array $array) + { + } + + /** + * @see mset() + * @param array $array + * @return int 1 (if the keys were set) or 0 (no key was set) + * + * @link https://redis.io/commands/msetnx + */ + public function msetnx(array $array) + { + } + + /** + * Pops a value from the tail of a list, and pushes it to the front of another list. + * Also return this value. + * + * @since redis >= 1.1 + * + * @param string $srcKey + * @param string $dstKey + * + * @return string|mixed|bool The element that was moved in case of success, FALSE in case of failure. + * + * @link https://redis.io/commands/rpoplpush + * @example + *
+     * $redis->del('x', 'y');
+     *
+     * $redis->lPush('x', 'abc');
+     * $redis->lPush('x', 'def');
+     * $redis->lPush('y', '123');
+     * $redis->lPush('y', '456');
+     *
+     * // move the last of x to the front of y.
+     * var_dump($redis->rpoplpush('x', 'y'));
+     * var_dump($redis->lRange('x', 0, -1));
+     * var_dump($redis->lRange('y', 0, -1));
+     *
+     * //Output:
+     * //
+     * //string(3) "abc"
+     * //array(1) {
+     * //  [0]=>
+     * //  string(3) "def"
+     * //}
+     * //array(3) {
+     * //  [0]=>
+     * //  string(3) "abc"
+     * //  [1]=>
+     * //  string(3) "456"
+     * //  [2]=>
+     * //  string(3) "123"
+     * //}
+     * 
+ */ + public function rpoplpush($srcKey, $dstKey) + { + } + + /** + * A blocking version of rpoplpush, with an integral timeout in the third parameter. + * + * @param string $srcKey + * @param string $dstKey + * @param int $timeout + * + * @return string|mixed|bool The element that was moved in case of success, FALSE in case of timeout + * + * @link https://redis.io/commands/brpoplpush + */ + public function brpoplpush($srcKey, $dstKey, $timeout) + { + } + + /** + * Adds the specified member with a given score to the sorted set stored at key + * + * @param string $key Required key + * @param array|float $options Options if needed or score if omitted + * @param float|string|mixed $score1 Required score or value if options omitted + * @param string|float|mixed $value1 Required value or optional score if options omitted + * @param float|string|mixed $score2 Optional score or value if options omitted + * @param string|float|mixed $value2 Optional value or score if options omitted + * @param float|string|mixed $scoreN Optional score or value if options omitted + * @param string|float|mixed $valueN Optional value or score if options omitted + * + * @return int Number of values added + * + * @link https://redis.io/commands/zadd + * @example + *
+     * 
+     * $redis->zAdd('z', 1, 'v1', 2, 'v2', 3, 'v3', 4, 'v4' );  // int(2)
+     * $redis->zRem('z', 'v2', 'v3');                           // int(2)
+     * $redis->zAdd('z', ['NX'], 5, 'v5');                      // int(1)
+     * $redis->zAdd('z', ['NX'], 6, 'v5');                      // int(0)
+     * $redis->zAdd('z', 7, 'v6');                              // int(1)
+     * $redis->zAdd('z', 8, 'v6');                              // int(0)
+     *
+     * var_dump( $redis->zRange('z', 0, -1) );
+     * // Output:
+     * // array(4) {
+     * //   [0]=> string(2) "v1"
+     * //   [1]=> string(2) "v4"
+     * //   [2]=> string(2) "v5"
+     * //   [3]=> string(2) "v8"
+     * // }
+     *
+     * var_dump( $redis->zRange('z', 0, -1, true) );
+     * // Output:
+     * // array(4) {
+     * //   ["v1"]=> float(1)
+     * //   ["v4"]=> float(4)
+     * //   ["v5"]=> float(5)
+     * //   ["v6"]=> float(8)
+     * 
+ *
+ */ + public function zAdd($key, $options, $score1, $value1 = null, $score2 = null, $value2 = null, $scoreN = null, $valueN = null) + { + } + + /** + * Returns a range of elements from the ordered set stored at the specified key, + * with values in the range [start, end]. start and stop are interpreted as zero-based indices: + * 0 the first element, + * 1 the second ... + * -1 the last element, + * -2 the penultimate ... + * + * @param string $key + * @param int $start + * @param int $end + * @param bool $withscores + * + * @return array Array containing the values in specified range. + * + * @link https://redis.io/commands/zrange + * @example + *
+     * $redis->zAdd('key1', 0, 'val0');
+     * $redis->zAdd('key1', 2, 'val2');
+     * $redis->zAdd('key1', 10, 'val10');
+     * $redis->zRange('key1', 0, -1); // array('val0', 'val2', 'val10')
+     * // with scores
+     * $redis->zRange('key1', 0, -1, true); // array('val0' => 0, 'val2' => 2, 'val10' => 10)
+     * 
+ */ + public function zRange($key, $start, $end, $withscores = null) + { + } + + /** + * Deletes a specified member from the ordered set. + * + * @param string $key + * @param string|mixed $member1 + * @param string|mixed ...$otherMembers + * + * @return int Number of deleted values + * + * @link https://redis.io/commands/zrem + * @example + *
+     * $redis->zAdd('z', 1, 'v1', 2, 'v2', 3, 'v3', 4, 'v4' );  // int(2)
+     * $redis->zRem('z', 'v2', 'v3');                           // int(2)
+     * var_dump( $redis->zRange('z', 0, -1) );
+     * //// Output:
+     * // array(2) {
+     * //   [0]=> string(2) "v1"
+     * //   [1]=> string(2) "v4"
+     * // }
+     * 
+ */ + public function zRem($key, $member1, ...$otherMembers) + { + } + + /** + * @see zRem() + * @link https://redis.io/commands/zrem + * @deprecated use Redis::zRem() + * + * @param string $key + * @param string|mixed $member1 + * @param string|mixed ...$otherMembers + * + * @return int Number of deleted values + */ + public function zDelete($key, $member1, ...$otherMembers) + { + } + + /** + * Returns the elements of the sorted set stored at the specified key in the range [start, end] + * in reverse order. start and stop are interpretated as zero-based indices: + * 0 the first element, + * 1 the second ... + * -1 the last element, + * -2 the penultimate ... + * + * @param string $key + * @param int $start + * @param int $end + * @param bool $withscore + * + * @return array Array containing the values in specified range. + * + * @link https://redis.io/commands/zrevrange + * @example + *
+     * $redis->zAdd('key', 0, 'val0');
+     * $redis->zAdd('key', 2, 'val2');
+     * $redis->zAdd('key', 10, 'val10');
+     * $redis->zRevRange('key', 0, -1); // array('val10', 'val2', 'val0')
+     *
+     * // with scores
+     * $redis->zRevRange('key', 0, -1, true); // array('val10' => 10, 'val2' => 2, 'val0' => 0)
+     * 
+ */ + public function zRevRange($key, $start, $end, $withscore = null) + { + } + + /** + * Returns the elements of the sorted set stored at the specified key which have scores in the + * range [start,end]. Adding a parenthesis before start or end excludes it from the range. + * +inf and -inf are also valid limits. + * + * zRevRangeByScore returns the same items in reverse order, when the start and end parameters are swapped. + * + * @param string $key + * @param int $start + * @param int $end + * @param array $options Two options are available: + * - withscores => TRUE, + * - and limit => array($offset, $count) + * + * @return array Array containing the values in specified range. + * + * @link https://redis.io/commands/zrangebyscore + * @example + *
+     * $redis->zAdd('key', 0, 'val0');
+     * $redis->zAdd('key', 2, 'val2');
+     * $redis->zAdd('key', 10, 'val10');
+     * $redis->zRangeByScore('key', 0, 3);                                          // array('val0', 'val2')
+     * $redis->zRangeByScore('key', 0, 3, array('withscores' => TRUE);              // array('val0' => 0, 'val2' => 2)
+     * $redis->zRangeByScore('key', 0, 3, array('limit' => array(1, 1));                        // array('val2')
+     * $redis->zRangeByScore('key', 0, 3, array('withscores' => TRUE, 'limit' => array(1, 1));  // array('val2' => 2)
+     * 
+ */ + public function zRangeByScore($key, $start, $end, array $options = array()) + { + } + + /** + * @see zRangeByScore() + * @param string $key + * @param int $start + * @param int $end + * @param array $options + * + * @return array + */ + public function zRevRangeByScore($key, $start, $end, array $options = array()) + { + } + + /** + * Returns a lexigraphical range of members in a sorted set, assuming the members have the same score. The + * min and max values are required to start with '(' (exclusive), '[' (inclusive), or be exactly the values + * '-' (negative inf) or '+' (positive inf). The command must be called with either three *or* five + * arguments or will return FALSE. + * + * @param string $key The ZSET you wish to run against. + * @param int $min The minimum alphanumeric value you wish to get. + * @param int $max The maximum alphanumeric value you wish to get. + * @param int $offset Optional argument if you wish to start somewhere other than the first element. + * @param int $limit Optional argument if you wish to limit the number of elements returned. + * + * @return array|bool Array containing the values in the specified range. + * + * @link https://redis.io/commands/zrangebylex + * @example + *
+     * foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $char) {
+     *     $redis->zAdd('key', $char);
+     * }
+     *
+     * $redis->zRangeByLex('key', '-', '[c'); // array('a', 'b', 'c')
+     * $redis->zRangeByLex('key', '-', '(c'); // array('a', 'b')
+     * $redis->zRangeByLex('key', '-', '[c'); // array('b', 'c')
+     * 
+ */ + public function zRangeByLex($key, $min, $max, $offset = null, $limit = null) + { + } + + /** + * @see zRangeByLex() + * @param string $key + * @param int $min + * @param int $max + * @param int $offset + * @param int $limit + * + * @return array + * + * @link https://redis.io/commands/zrevrangebylex + */ + public function zRevRangeByLex($key, $min, $max, $offset = null, $limit = null) + { + } + + /** + * Returns the number of elements of the sorted set stored at the specified key which have + * scores in the range [start,end]. Adding a parenthesis before start or end excludes it + * from the range. +inf and -inf are also valid limits. + * + * @param string $key + * @param string $start + * @param string $end + * + * @return int the size of a corresponding zRangeByScore + * + * @link https://redis.io/commands/zcount + * @example + *
+     * $redis->zAdd('key', 0, 'val0');
+     * $redis->zAdd('key', 2, 'val2');
+     * $redis->zAdd('key', 10, 'val10');
+     * $redis->zCount('key', 0, 3); // 2, corresponding to array('val0', 'val2')
+     * 
+ */ + public function zCount($key, $start, $end) + { + } + + /** + * Deletes the elements of the sorted set stored at the specified key which have scores in the range [start,end]. + * + * @param string $key + * @param float|string $start double or "+inf" or "-inf" string + * @param float|string $end double or "+inf" or "-inf" string + * + * @return int The number of values deleted from the sorted set + * + * @link https://redis.io/commands/zremrangebyscore + * @example + *
+     * $redis->zAdd('key', 0, 'val0');
+     * $redis->zAdd('key', 2, 'val2');
+     * $redis->zAdd('key', 10, 'val10');
+     * $redis->zRemRangeByScore('key', 0, 3); // 2
+     * 
+ */ + public function zRemRangeByScore($key, $start, $end) + { + } + + /** + * @see zRemRangeByScore() + * @deprecated use Redis::zRemRangeByScore() + * + * @param string $key + * @param float $start + * @param float $end + */ + public function zDeleteRangeByScore($key, $start, $end) + { + } + + /** + * Deletes the elements of the sorted set stored at the specified key which have rank in the range [start,end]. + * + * @param string $key + * @param int $start + * @param int $end + * + * @return int The number of values deleted from the sorted set + * + * @link https://redis.io/commands/zremrangebyrank + * @example + *
+     * $redis->zAdd('key', 1, 'one');
+     * $redis->zAdd('key', 2, 'two');
+     * $redis->zAdd('key', 3, 'three');
+     * $redis->zRemRangeByRank('key', 0, 1); // 2
+     * $redis->zRange('key', 0, -1, array('withscores' => TRUE)); // array('three' => 3)
+     * 
+ */ + public function zRemRangeByRank($key, $start, $end) + { + } + + /** + * @see zRemRangeByRank() + * @link https://redis.io/commands/zremrangebyscore + * @deprecated use Redis::zRemRangeByRank() + * + * @param string $key + * @param int $start + * @param int $end + */ + public function zDeleteRangeByRank($key, $start, $end) + { + } + + /** + * Returns the cardinality of an ordered set. + * + * @param string $key + * + * @return int the set's cardinality + * + * @link https://redis.io/commands/zsize + * @example + *
+     * $redis->zAdd('key', 0, 'val0');
+     * $redis->zAdd('key', 2, 'val2');
+     * $redis->zAdd('key', 10, 'val10');
+     * $redis->zCard('key');            // 3
+     * 
+ */ + public function zCard($key) + { + } + + /** + * @see zCard() + * @deprecated use Redis::zCard() + * + * @param string $key + * @return int + */ + public function zSize($key) + { + } + + /** + * Returns the score of a given member in the specified sorted set. + * + * @param string $key + * @param string|mixed $member + * + * @return float|bool false if member or key not exists + * + * @link https://redis.io/commands/zscore + * @example + *
+     * $redis->zAdd('key', 2.5, 'val2');
+     * $redis->zScore('key', 'val2'); // 2.5
+     * 
+ */ + public function zScore($key, $member) + { + } + + /** + * Returns the rank of a given member in the specified sorted set, starting at 0 for the item + * with the smallest score. zRevRank starts at 0 for the item with the largest score. + * + * @param string $key + * @param string|mixed $member + * + * @return int|bool the item's score, or false if key or member is not exists + * + * @link https://redis.io/commands/zrank + * @example + *
+     * $redis->del('z');
+     * $redis->zAdd('key', 1, 'one');
+     * $redis->zAdd('key', 2, 'two');
+     * $redis->zRank('key', 'one');     // 0
+     * $redis->zRank('key', 'two');     // 1
+     * $redis->zRevRank('key', 'one');  // 1
+     * $redis->zRevRank('key', 'two');  // 0
+     * 
+ */ + public function zRank($key, $member) + { + } + + /** + * @see zRank() + * @param string $key + * @param string|mixed $member + * + * @return int|bool the item's score, false - if key or member is not exists + * + * @link https://redis.io/commands/zrevrank + */ + public function zRevRank($key, $member) + { + } + + /** + * Increments the score of a member from a sorted set by a given amount. + * + * @param string $key + * @param float $value (double) value that will be added to the member's score + * @param string $member + * + * @return float the new value + * + * @link https://redis.io/commands/zincrby + * @example + *
+     * $redis->del('key');
+     * $redis->zIncrBy('key', 2.5, 'member1');  // key or member1 didn't exist, so member1's score is to 0
+     *                                          // before the increment and now has the value 2.5
+     * $redis->zIncrBy('key', 1, 'member1');    // 3.5
+     * 
+ */ + public function zIncrBy($key, $value, $member) + { + } + + /** + * Creates an union of sorted sets given in second argument. + * The result of the union will be stored in the sorted set defined by the first argument. + * The third optionnel argument defines weights to apply to the sorted sets in input. + * In this case, the weights will be multiplied by the score of each element in the sorted set + * before applying the aggregation. The forth argument defines the AGGREGATE option which + * specify how the results of the union are aggregated. + * + * @param string $output + * @param array $zSetKeys + * @param array $weights + * @param string $aggregateFunction Either "SUM", "MIN", or "MAX": defines the behaviour to use on + * duplicate entries during the zUnionStore + * + * @return int The number of values in the new sorted set + * + * @link https://redis.io/commands/zunionstore + * @example + *
+     * $redis->del('k1');
+     * $redis->del('k2');
+     * $redis->del('k3');
+     * $redis->del('ko1');
+     * $redis->del('ko2');
+     * $redis->del('ko3');
+     *
+     * $redis->zAdd('k1', 0, 'val0');
+     * $redis->zAdd('k1', 1, 'val1');
+     *
+     * $redis->zAdd('k2', 2, 'val2');
+     * $redis->zAdd('k2', 3, 'val3');
+     *
+     * $redis->zUnionStore('ko1', array('k1', 'k2')); // 4, 'ko1' => array('val0', 'val1', 'val2', 'val3')
+     *
+     * // Weighted zUnionStore
+     * $redis->zUnionStore('ko2', array('k1', 'k2'), array(1, 1)); // 4, 'ko2' => array('val0', 'val1', 'val2', 'val3')
+     * $redis->zUnionStore('ko3', array('k1', 'k2'), array(5, 1)); // 4, 'ko3' => array('val0', 'val2', 'val3', 'val1')
+     * 
+ */ + public function zUnionStore($output, $zSetKeys, array $weights = null, $aggregateFunction = 'SUM') + { + } + + /** + * @see zUnionStore + * @deprecated use Redis::zUnionStore() + * + * @param string $Output + * @param array $ZSetKeys + * @param array|null $Weights + * @param string $aggregateFunction + */ + public function zUnion($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM') + { + } + + /** + * Creates an intersection of sorted sets given in second argument. + * The result of the union will be stored in the sorted set defined by the first argument. + * The third optional argument defines weights to apply to the sorted sets in input. + * In this case, the weights will be multiplied by the score of each element in the sorted set + * before applying the aggregation. The forth argument defines the AGGREGATE option which + * specify how the results of the union are aggregated. + * + * @param string $output + * @param array $zSetKeys + * @param array $weights + * @param string $aggregateFunction Either "SUM", "MIN", or "MAX": + * defines the behaviour to use on duplicate entries during the zInterStore. + * + * @return int The number of values in the new sorted set. + * + * @link https://redis.io/commands/zinterstore + * @example + *
+     * $redis->del('k1');
+     * $redis->del('k2');
+     * $redis->del('k3');
+     *
+     * $redis->del('ko1');
+     * $redis->del('ko2');
+     * $redis->del('ko3');
+     * $redis->del('ko4');
+     *
+     * $redis->zAdd('k1', 0, 'val0');
+     * $redis->zAdd('k1', 1, 'val1');
+     * $redis->zAdd('k1', 3, 'val3');
+     *
+     * $redis->zAdd('k2', 2, 'val1');
+     * $redis->zAdd('k2', 3, 'val3');
+     *
+     * $redis->zInterStore('ko1', array('k1', 'k2'));               // 2, 'ko1' => array('val1', 'val3')
+     * $redis->zInterStore('ko2', array('k1', 'k2'), array(1, 1));  // 2, 'ko2' => array('val1', 'val3')
+     *
+     * // Weighted zInterStore
+     * $redis->zInterStore('ko3', array('k1', 'k2'), array(1, 5), 'min'); // 2, 'ko3' => array('val1', 'val3')
+     * $redis->zInterStore('ko4', array('k1', 'k2'), array(1, 5), 'max'); // 2, 'ko4' => array('val3', 'val1')
+     * 
+ */ + public function zInterStore($output, $zSetKeys, array $weights = null, $aggregateFunction = 'SUM') + { + } + + /** + * @see zInterStore + * @deprecated use Redis::zInterStore() + * + * @param $Output + * @param $ZSetKeys + * @param array|null $Weights + * @param string $aggregateFunction + */ + public function zInter($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM') + { + } + + /** + * Scan a sorted set for members, with optional pattern and count + * + * @param string $key String, the set to scan. + * @param int $iterator Long (reference), initialized to NULL. + * @param string $pattern String (optional), the pattern to match. + * @param int $count How many keys to return per iteration (Redis might return a different number). + * + * @return array|bool PHPRedis will return matching keys from Redis, or FALSE when iteration is complete + * + * @link https://redis.io/commands/zscan + * @example + *
+     * $iterator = null;
+     * while ($members = $redis-zscan('zset', $iterator)) {
+     *     foreach ($members as $member => $score) {
+     *         echo $member . ' => ' . $score . PHP_EOL;
+     *     }
+     * }
+     * 
+ */ + public function zScan($key, &$iterator, $pattern = null, $count = 0) + { + } + + /** + * Block until Redis can pop the highest or lowest scoring members from one or more ZSETs. + * There are two commands (BZPOPMIN and BZPOPMAX for popping the lowest and highest scoring elements respectively.) + * + * @param string|array $key1 + * @param string|array $key2 ... + * @param int $timeout + * + * @return array Either an array with the key member and score of the highest or lowest element or an empty array + * if the timeout was reached without an element to pop. + * + * @since >= 5.0 + * @link https://redis.io/commands/bzpopmax + * @example + *
+     * // Wait up to 5 seconds to pop the *lowest* scoring member from sets `zs1` and `zs2`.
+     * $redis->bzPopMin(['zs1', 'zs2'], 5);
+     * $redis->bzPopMin('zs1', 'zs2', 5);
+     *
+     * // Wait up to 5 seconds to pop the *highest* scoring member from sets `zs1` and `zs2`
+     * $redis->bzPopMax(['zs1', 'zs2'], 5);
+     * $redis->bzPopMax('zs1', 'zs2', 5);
+     * 
+ */ + public function bzPopMax($key1, $key2, $timeout) + { + } + + /** + * @param string|array $key1 + * @param string|array $key2 ... + * @param int $timeout + * + * @return array Either an array with the key member and score of the highest or lowest element or an empty array + * if the timeout was reached without an element to pop. + * + * @see bzPopMax + * @since >= 5.0 + * @link https://redis.io/commands/bzpopmin + */ + public function bzPopMin($key1, $key2, $timeout) + { + } + + /** + * Can pop the highest scoring members from one ZSET. + * + * @param string $key + * @param int $count + * + * @return array Either an array with the key member and score of the highest element or an empty array + * if there is no element to pop. + * + * @since >= 5.0 + * @link https://redis.io/commands/zpopmax + * @example + *
+     * // Pop the *lowest* scoring member from set `zs1`.
+     * $redis->zPopMax('zs1');
+     * // Pop the *lowest* 3 scoring member from set `zs1`.
+     * $redis->zPopMax('zs1', 3);
+     * 
+ */ + public function zPopMax($key, $count = 1) + { + } + + /** + * Can pop the lowest scoring members from one ZSET. + * + * @param string $key + * @param int $count + * + * @return array Either an array with the key member and score of the lowest element or an empty array + * if there is no element to pop. + * + * @since >= 5.0 + * @link https://redis.io/commands/zpopmin + * @example + *
+     * // Pop the *lowest* scoring member from set `zs1`.
+     * $redis->zPopMin('zs1');
+     * // Pop the *lowest* 3 scoring member from set `zs1`.
+     * $redis->zPopMin('zs1', 3);
+     * 
+ */ + public function zPopMin($key, $count = 1) + { + } + + /** + * Adds a value to the hash stored at key. If this value is already in the hash, FALSE is returned. + * + * @param string $key + * @param string $hashKey + * @param string $value + * + * @return int|bool + * - 1 if value didn't exist and was added successfully, + * - 0 if the value was already present and was replaced, FALSE if there was an error. + * + * @link https://redis.io/commands/hset + * @example + *
+     * $redis->del('h')
+     * $redis->hSet('h', 'key1', 'hello');  // 1, 'key1' => 'hello' in the hash at "h"
+     * $redis->hGet('h', 'key1');           // returns "hello"
+     *
+     * $redis->hSet('h', 'key1', 'plop');   // 0, value was replaced.
+     * $redis->hGet('h', 'key1');           // returns "plop"
+     * 
+ */ + public function hSet($key, $hashKey, $value) + { + } + + /** + * Adds a value to the hash stored at key only if this field isn't already in the hash. + * + * @param string $key + * @param string $hashKey + * @param string $value + * + * @return bool TRUE if the field was set, FALSE if it was already present. + * + * @link https://redis.io/commands/hsetnx + * @example + *
+     * $redis->del('h')
+     * $redis->hSetNx('h', 'key1', 'hello'); // TRUE, 'key1' => 'hello' in the hash at "h"
+     * $redis->hSetNx('h', 'key1', 'world'); // FALSE, 'key1' => 'hello' in the hash at "h". No change since the field
+     * wasn't replaced.
+     * 
+ */ + public function hSetNx($key, $hashKey, $value) + { + } + + /** + * Gets a value from the hash stored at key. + * If the hash table doesn't exist, or the key doesn't exist, FALSE is returned. + * + * @param string $key + * @param string $hashKey + * + * @return string The value, if the command executed successfully BOOL FALSE in case of failure + * + * @link https://redis.io/commands/hget + */ + public function hGet($key, $hashKey) + { + } + + /** + * Returns the length of a hash, in number of items + * + * @param string $key + * + * @return int|bool the number of items in a hash, FALSE if the key doesn't exist or isn't a hash + * + * @link https://redis.io/commands/hlen + * @example + *
+     * $redis->del('h')
+     * $redis->hSet('h', 'key1', 'hello');
+     * $redis->hSet('h', 'key2', 'plop');
+     * $redis->hLen('h'); // returns 2
+     * 
+ */ + public function hLen($key) + { + } + + /** + * Removes a values from the hash stored at key. + * If the hash table doesn't exist, or the key doesn't exist, FALSE is returned. + * + * @param string $key + * @param string $hashKey1 + * @param string ...$otherHashKeys + * + * @return int|bool Number of deleted fields + * + * @link https://redis.io/commands/hdel + * @example + *
+     * $redis->hMSet('h',
+     *               array(
+     *                    'f1' => 'v1',
+     *                    'f2' => 'v2',
+     *                    'f3' => 'v3',
+     *                    'f4' => 'v4',
+     *               ));
+     *
+     * var_dump( $redis->hDel('h', 'f1') );        // int(1)
+     * var_dump( $redis->hDel('h', 'f2', 'f3') );  // int(2)
+     * s
+     * var_dump( $redis->hGetAll('h') );
+     * //// Output:
+     * //  array(1) {
+     * //    ["f4"]=> string(2) "v4"
+     * //  }
+     * 
+ */ + public function hDel($key, $hashKey1, ...$otherHashKeys) + { + } + + /** + * Returns the keys in a hash, as an array of strings. + * + * @param string $key + * + * @return array An array of elements, the keys of the hash. This works like PHP's array_keys(). + * + * @link https://redis.io/commands/hkeys + * @example + *
+     * $redis->del('h');
+     * $redis->hSet('h', 'a', 'x');
+     * $redis->hSet('h', 'b', 'y');
+     * $redis->hSet('h', 'c', 'z');
+     * $redis->hSet('h', 'd', 't');
+     * var_dump($redis->hKeys('h'));
+     *
+     * // Output:
+     * // array(4) {
+     * // [0]=>
+     * // string(1) "a"
+     * // [1]=>
+     * // string(1) "b"
+     * // [2]=>
+     * // string(1) "c"
+     * // [3]=>
+     * // string(1) "d"
+     * // }
+     * // The order is random and corresponds to redis' own internal representation of the set structure.
+     * 
+ */ + public function hKeys($key) + { + } + + /** + * Returns the values in a hash, as an array of strings. + * + * @param string $key + * + * @return array An array of elements, the values of the hash. This works like PHP's array_values(). + * + * @link https://redis.io/commands/hvals + * @example + *
+     * $redis->del('h');
+     * $redis->hSet('h', 'a', 'x');
+     * $redis->hSet('h', 'b', 'y');
+     * $redis->hSet('h', 'c', 'z');
+     * $redis->hSet('h', 'd', 't');
+     * var_dump($redis->hVals('h'));
+     *
+     * // Output
+     * // array(4) {
+     * //   [0]=>
+     * //   string(1) "x"
+     * //   [1]=>
+     * //   string(1) "y"
+     * //   [2]=>
+     * //   string(1) "z"
+     * //   [3]=>
+     * //   string(1) "t"
+     * // }
+     * // The order is random and corresponds to redis' own internal representation of the set structure.
+     * 
+ */ + public function hVals($key) + { + } + + /** + * Returns the whole hash, as an array of strings indexed by strings. + * + * @param string $key + * + * @return array An array of elements, the contents of the hash. + * + * @link https://redis.io/commands/hgetall + * @example + *
+     * $redis->del('h');
+     * $redis->hSet('h', 'a', 'x');
+     * $redis->hSet('h', 'b', 'y');
+     * $redis->hSet('h', 'c', 'z');
+     * $redis->hSet('h', 'd', 't');
+     * var_dump($redis->hGetAll('h'));
+     *
+     * // Output:
+     * // array(4) {
+     * //   ["a"]=>
+     * //   string(1) "x"
+     * //   ["b"]=>
+     * //   string(1) "y"
+     * //   ["c"]=>
+     * //   string(1) "z"
+     * //   ["d"]=>
+     * //   string(1) "t"
+     * // }
+     * // The order is random and corresponds to redis' own internal representation of the set structure.
+     * 
+ */ + public function hGetAll($key) + { + } + + /** + * Verify if the specified member exists in a key. + * + * @param string $key + * @param string $hashKey + * + * @return bool If the member exists in the hash table, return TRUE, otherwise return FALSE. + * + * @link https://redis.io/commands/hexists + * @example + *
+     * $redis->hSet('h', 'a', 'x');
+     * $redis->hExists('h', 'a');               //  TRUE
+     * $redis->hExists('h', 'NonExistingKey');  // FALSE
+     * 
+ */ + public function hExists($key, $hashKey) + { + } + + /** + * Increments the value of a member from a hash by a given amount. + * + * @param string $key + * @param string $hashKey + * @param int $value (integer) value that will be added to the member's value + * + * @return int the new value + * + * @link https://redis.io/commands/hincrby + * @example + *
+     * $redis->del('h');
+     * $redis->hIncrBy('h', 'x', 2); // returns 2: h[x] = 2 now.
+     * $redis->hIncrBy('h', 'x', 1); // h[x] ← 2 + 1. Returns 3
+     * 
+ */ + public function hIncrBy($key, $hashKey, $value) + { + } + + /** + * Increment the float value of a hash field by the given amount + * + * @param string $key + * @param string $field + * @param float $increment + * + * @return float + * + * @link https://redis.io/commands/hincrbyfloat + * @example + *
+     * $redis = new Redis();
+     * $redis->connect('127.0.0.1');
+     * $redis->hset('h', 'float', 3);
+     * $redis->hset('h', 'int',   3);
+     * var_dump( $redis->hIncrByFloat('h', 'float', 1.5) ); // float(4.5)
+     *
+     * var_dump( $redis->hGetAll('h') );
+     *
+     * // Output
+     *  array(2) {
+     *    ["float"]=>
+     *    string(3) "4.5"
+     *    ["int"]=>
+     *    string(1) "3"
+     *  }
+     * 
+ */ + public function hIncrByFloat($key, $field, $increment) + { + } + + /** + * Fills in a whole hash. Non-string values are converted to string, using the standard (string) cast. + * NULL values are stored as empty strings + * + * @param string $key + * @param array $hashKeys key → value array + * + * @return bool + * + * @link https://redis.io/commands/hmset + * @example + *
+     * $redis->del('user:1');
+     * $redis->hMSet('user:1', array('name' => 'Joe', 'salary' => 2000));
+     * $redis->hIncrBy('user:1', 'salary', 100); // Joe earns 100 more now.
+     * 
+ */ + public function hMSet($key, $hashKeys) + { + } + + /** + * Retirieve the values associated to the specified fields in the hash. + * + * @param string $key + * @param array $hashKeys + * + * @return array Array An array of elements, the values of the specified fields in the hash, + * with the hash keys as array keys. + * + * @link https://redis.io/commands/hmget + * @example + *
+     * $redis->del('h');
+     * $redis->hSet('h', 'field1', 'value1');
+     * $redis->hSet('h', 'field2', 'value2');
+     * $redis->hmGet('h', array('field1', 'field2')); // returns array('field1' => 'value1', 'field2' => 'value2')
+     * 
+ */ + public function hMGet($key, $hashKeys) + { + } + + /** + * Scan a HASH value for members, with an optional pattern and count. + * + * @param string $key + * @param int $iterator + * @param string $pattern Optional pattern to match against. + * @param int $count How many keys to return in a go (only a sugestion to Redis). + * + * @return array An array of members that match our pattern. + * + * @link https://redis.io/commands/hscan + * @example + *
+     * // $iterator = null;
+     * // while($elements = $redis->hscan('hash', $iterator)) {
+     * //     foreach($elements as $key => $value) {
+     * //         echo $key . ' => ' . $value . PHP_EOL;
+     * //     }
+     * // }
+     * 
+ */ + public function hScan($key, &$iterator, $pattern = null, $count = 0) + { + } + + /** + * Get the string length of the value associated with field in the hash stored at key + * + * @param string $key + * @param string $field + * + * @return int the string length of the value associated with field, or zero when field is not present in the hash + * or key does not exist at all. + * + * @link https://redis.io/commands/hstrlen + * @since >= 3.2 + */ + public function hStrLen(string $key, string $field) + { + } + + /** + * Add one or more geospatial items to the specified key. + * This function must be called with at least one longitude, latitude, member triplet. + * + * @param string $key + * @param float $longitude + * @param float $latitude + * @param string $member + * + * @return int The number of elements added to the geospatial key + * + * @link https://redis.io/commands/geoadd + * @since >=3.2 + * + * @example + *
+     * $redis->del("myplaces");
+     *
+     * // Since the key will be new, $result will be 2
+     * $result = $redis->geoAdd(
+     *   "myplaces",
+     *   -122.431, 37.773, "San Francisco",
+     *   -157.858, 21.315, "Honolulu"
+     * ); // 2
+     * 
+ */ + public function geoadd($key, $longitude, $latitude, $member) + { + } + + /** + * Retrieve Geohash strings for one or more elements of a geospatial index. + + * @param string $key + * @param string ...$member variadic list of members + * + * @return array One or more Redis Geohash encoded strings + * + * @link https://redis.io/commands/geohash + * @since >=3.2 + * + * @example + *
+     * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
+     * $hashes = $redis->geoHash("hawaii", "Honolulu", "Maui");
+     * var_dump($hashes);
+     * // Output: array(2) {
+     * //   [0]=>
+     * //   string(11) "87z9pyek3y0"
+     * //   [1]=>
+     * //   string(11) "8e8y6d5jps0"
+     * // }
+     * 
+ */ + public function geohash($key, ...$member) + { + } + + /** + * Return longitude, latitude positions for each requested member. + * + * @param string $key + * @param string $member + * @return array One or more longitude/latitude positions + * + * @link https://redis.io/commands/geopos + * @since >=3.2 + * + * @example + *
+     * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
+     * $positions = $redis->geoPos("hawaii", "Honolulu", "Maui");
+     * var_dump($positions);
+     *
+     * // Output:
+     * array(2) {
+     *  [0]=> array(2) {
+     *      [0]=> string(22) "-157.85800248384475708"
+     *      [1]=> string(19) "21.3060004581273077"
+     *  }
+     *  [1]=> array(2) {
+     *      [0]=> string(22) "-156.33099943399429321"
+     *      [1]=> string(20) "20.79799924753607598"
+     *  }
+     * }
+     * 
+ */ + public function geopos(string $key, string $member) + { + } + + /** + * Return the distance between two members in a geospatial set. + * + * If units are passed it must be one of the following values: + * - 'm' => Meters + * - 'km' => Kilometers + * - 'mi' => Miles + * - 'ft' => Feet + * + * @param string $key + * @param string $member1 + * @param string $member2 + * @param string|null $unit + * + * @return float The distance between the two passed members in the units requested (meters by default) + * + * @link https://redis.io/commands/geodist + * @since >=3.2 + * + * @example + *
+     * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
+     *
+     * $meters = $redis->geoDist("hawaii", "Honolulu", "Maui");
+     * $kilometers = $redis->geoDist("hawaii", "Honolulu", "Maui", 'km');
+     * $miles = $redis->geoDist("hawaii", "Honolulu", "Maui", 'mi');
+     * $feet = $redis->geoDist("hawaii", "Honolulu", "Maui", 'ft');
+     *
+     * echo "Distance between Honolulu and Maui:\n";
+     * echo "  meters    : $meters\n";
+     * echo "  kilometers: $kilometers\n";
+     * echo "  miles     : $miles\n";
+     * echo "  feet      : $feet\n";
+     *
+     * // Bad unit
+     * $inches = $redis->geoDist("hawaii", "Honolulu", "Maui", 'in');
+     * echo "Invalid unit returned:\n";
+     * var_dump($inches);
+     *
+     * // Output
+     * Distance between Honolulu and Maui:
+     * meters    : 168275.204
+     * kilometers: 168.2752
+     * miles     : 104.5616
+     * feet      : 552084.0028
+     * Invalid unit returned:
+     * bool(false)
+     * 
+ */ + public function geodist($key, $member1, $member2, $unit = null) + { + } + + /** + * Return members of a set with geospatial information that are within the radius specified by the caller. + * + * @param $key + * @param $longitude + * @param $latitude + * @param $radius + * @param $unit + * @param array|null $options + *
+     * |Key         |Value          |Description                                        |
+     * |------------|---------------|---------------------------------------------------|
+     * |COUNT       |integer > 0    |Limit how many results are returned                |
+     * |            |WITHCOORD      |Return longitude and latitude of matching members  |
+     * |            |WITHDIST       |Return the distance from the center                |
+     * |            |WITHHASH       |Return the raw geohash-encoded score               |
+     * |            |ASC            |Sort results in ascending order                    |
+     * |            |DESC           |Sort results in descending order                   |
+     * |STORE       |key            |Store results in key                               |
+     * |STOREDIST   |key            |Store the results as distances in key              |
+     * 
+ * Note: It doesn't make sense to pass both ASC and DESC options but if both are passed + * the last one passed will be used. + * Note: When using STORE[DIST] in Redis Cluster, the store key must has to the same slot as + * the query key or you will get a CROSSLOT error. + * @return mixed When no STORE option is passed, this function returns an array of results. + * If it is passed this function returns the number of stored entries. + * + * @link https://redis.io/commands/georadius + * @since >= 3.2 + * @example + *
+     * // Add some cities
+     * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
+     *
+     * echo "Within 300 miles of Honolulu:\n";
+     * var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi'));
+     *
+     * echo "\nWithin 300 miles of Honolulu with distances:\n";
+     * $options = ['WITHDIST'];
+     * var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options));
+     *
+     * echo "\nFirst result within 300 miles of Honolulu with distances:\n";
+     * $options['count'] = 1;
+     * var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options));
+     *
+     * echo "\nFirst result within 300 miles of Honolulu with distances in descending sort order:\n";
+     * $options[] = 'DESC';
+     * var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options));
+     *
+     * // Output
+     * Within 300 miles of Honolulu:
+     * array(2) {
+     *  [0]=> string(8) "Honolulu"
+     *  [1]=> string(4) "Maui"
+     * }
+     *
+     * Within 300 miles of Honolulu with distances:
+     * array(2) {
+     *     [0]=>
+     *   array(2) {
+     *         [0]=>
+     *     string(8) "Honolulu"
+     *         [1]=>
+     *     string(6) "0.0002"
+     *   }
+     *   [1]=>
+     *   array(2) {
+     *         [0]=>
+     *     string(4) "Maui"
+     *         [1]=>
+     *     string(8) "104.5615"
+     *   }
+     * }
+     *
+     * First result within 300 miles of Honolulu with distances:
+     * array(1) {
+     *     [0]=>
+     *   array(2) {
+     *         [0]=>
+     *     string(8) "Honolulu"
+     *         [1]=>
+     *     string(6) "0.0002"
+     *   }
+     * }
+     *
+     * First result within 300 miles of Honolulu with distances in descending sort order:
+     * array(1) {
+     *     [0]=>
+     *   array(2) {
+     *         [0]=>
+     *     string(4) "Maui"
+     *         [1]=>
+     *     string(8) "104.5615"
+     *   }
+     * }
+     * 
+ */ + public function georadius($key, $longitude, $latitude, $radius, $unit, array $options = null) + { + } + + /** + * This method is identical to geoRadius except that instead of passing a longitude and latitude as the "source" + * you pass an existing member in the geospatial set + * + * @param string $key + * @param string $member + * @param $radius + * @param $units + * @param array|null $options see georadius + * + * @return array The zero or more entries that are close enough to the member given the distance and radius specified + * + * @link https://redis.io/commands/georadiusbymember + * @since >= 3.2 + * @see georadius + * @example + *
+     * $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
+     *
+     * echo "Within 300 miles of Honolulu:\n";
+     * var_dump($redis->geoRadiusByMember("hawaii", "Honolulu", 300, 'mi'));
+     *
+     * echo "\nFirst match within 300 miles of Honolulu:\n";
+     * var_dump($redis->geoRadiusByMember("hawaii", "Honolulu", 300, 'mi', ['count' => 1]));
+     *
+     * // Output
+     * Within 300 miles of Honolulu:
+     * array(2) {
+     *  [0]=> string(8) "Honolulu"
+     *  [1]=> string(4) "Maui"
+     * }
+     *
+     * First match within 300 miles of Honolulu:
+     * array(1) {
+     *  [0]=> string(8) "Honolulu"
+     * }
+     * 
+ */ + public function georadiusbymember($key, $member, $radius, $units, array $options = null) + { + } + + /** + * Get or Set the redis config keys. + * + * @param string $operation either `GET` or `SET` + * @param string $key for `SET`, glob-pattern for `GET` + * @param string|mixed $value optional string (only for `SET`) + * + * @return array Associative array for `GET`, key -> value + * + * @link https://redis.io/commands/config-get + * @example + *
+     * $redis->config("GET", "*max-*-entries*");
+     * $redis->config("SET", "dir", "/var/run/redis/dumps/");
+     * 
+ */ + public function config($operation, $key, $value) + { + } + + /** + * Evaluate a LUA script serverside + * + * @param string $script + * @param array $args + * @param int $numKeys + * + * @return mixed What is returned depends on what the LUA script itself returns, which could be a scalar value + * (int/string), or an array. Arrays that are returned can also contain other arrays, if that's how it was set up in + * your LUA script. If there is an error executing the LUA script, the getLastError() function can tell you the + * message that came back from Redis (e.g. compile error). + * + * @link https://redis.io/commands/eval + * @example + *
+     * $redis->eval("return 1"); // Returns an integer: 1
+     * $redis->eval("return {1,2,3}"); // Returns Array(1,2,3)
+     * $redis->del('mylist');
+     * $redis->rpush('mylist','a');
+     * $redis->rpush('mylist','b');
+     * $redis->rpush('mylist','c');
+     * // Nested response:  Array(1,2,3,Array('a','b','c'));
+     * $redis->eval("return {1,2,3,redis.call('lrange','mylist',0,-1)}}");
+     * 
+ */ + public function eval($script, $args = array(), $numKeys = 0) + { + } + + /** + * @see eval() + * @deprecated use Redis::eval() + * + * @param string $script + * @param array $args + * @param int $numKeys + * @return mixed @see eval() + */ + public function evaluate($script, $args = array(), $numKeys = 0) + { + } + + /** + * Evaluate a LUA script serverside, from the SHA1 hash of the script instead of the script itself. + * In order to run this command Redis will have to have already loaded the script, either by running it or via + * the SCRIPT LOAD command. + * + * @param string $scriptSha + * @param array $args + * @param int $numKeys + * + * @return mixed @see eval() + * + * @see eval() + * @link https://redis.io/commands/evalsha + * @example + *
+     * $script = 'return 1';
+     * $sha = $redis->script('load', $script);
+     * $redis->evalSha($sha); // Returns 1
+     * 
+ */ + public function evalSha($scriptSha, $args = array(), $numKeys = 0) + { + } + + /** + * @see evalSha() + * @deprecated use Redis::evalSha() + * + * @param string $scriptSha + * @param array $args + * @param int $numKeys + */ + public function evaluateSha($scriptSha, $args = array(), $numKeys = 0) + { + } + + /** + * Execute the Redis SCRIPT command to perform various operations on the scripting subsystem. + * @param string $command load | flush | kill | exists + * @param string $script + * + * @return mixed + * + * @link https://redis.io/commands/script-load + * @link https://redis.io/commands/script-kill + * @link https://redis.io/commands/script-flush + * @link https://redis.io/commands/script-exists + * @example + *
+     * $redis->script('load', $script);
+     * $redis->script('flush');
+     * $redis->script('kill');
+     * $redis->script('exists', $script1, [$script2, $script3, ...]);
+     * 
+ * + * SCRIPT LOAD will return the SHA1 hash of the passed script on success, and FALSE on failure. + * SCRIPT FLUSH should always return TRUE + * SCRIPT KILL will return true if a script was able to be killed and false if not + * SCRIPT EXISTS will return an array with TRUE or FALSE for each passed script + */ + public function script($command, $script) + { + } + + /** + * The last error message (if any) + * + * @return string|null A string with the last returned script based error message, or NULL if there is no error + * + * @example + *
+     * $redis->eval('this-is-not-lua');
+     * $err = $redis->getLastError();
+     * // "ERR Error compiling script (new function): user_script:1: '=' expected near '-'"
+     * 
+ */ + public function getLastError() + { + } + + /** + * Clear the last error message + * + * @return bool true + * + * @example + *
+     * $redis->set('x', 'a');
+     * $redis->incr('x');
+     * $err = $redis->getLastError();
+     * // "ERR value is not an integer or out of range"
+     * $redis->clearLastError();
+     * $err = $redis->getLastError();
+     * // NULL
+     * 
+ */ + public function clearLastError() + { + } + + /** + * Issue the CLIENT command with various arguments. + * The Redis CLIENT command can be used in four ways: + * - CLIENT LIST + * - CLIENT GETNAME + * - CLIENT SETNAME [name] + * - CLIENT KILL [ip:port] + * + * @param string $command + * @param string $value + * @return mixed This will vary depending on which client command was executed: + * - CLIENT LIST will return an array of arrays with client information. + * - CLIENT GETNAME will return the client name or false if none has been set + * - CLIENT SETNAME will return true if it can be set and false if not + * - CLIENT KILL will return true if the client can be killed, and false if not + * + * Note: phpredis will attempt to reconnect so you can actually kill your own connection but may not notice losing it! + * + * @link https://redis.io/commands/client-list + * @link https://redis.io/commands/client-getname + * @link https://redis.io/commands/client-setname + * @link https://redis.io/commands/client-kill + * + * @example + *
+     * $redis->client('list'); // Get a list of clients
+     * $redis->client('getname'); // Get the name of the current connection
+     * $redis->client('setname', 'somename'); // Set the name of the current connection
+     * $redis->client('kill', ); // Kill the process at ip:port
+     * 
+ */ + public function client($command, $value = '') + { + } + + /** + * A utility method to prefix the value with the prefix setting for phpredis. + * + * @param mixed $value The value you wish to prefix + * + * @return string If a prefix is set up, the value now prefixed. + * If there is no prefix, the value will be returned unchanged. + * + * @example + *
+     * $redis->setOption(Redis::OPT_PREFIX, 'my-prefix:');
+     * $redis->_prefix('my-value'); // Will return 'my-prefix:my-value'
+     * 
+ */ + public function _prefix($value) + { + } + + /** + * A utility method to unserialize data with whatever serializer is set up. If there is no serializer set, the + * value will be returned unchanged. If there is a serializer set up, and the data passed in is malformed, an + * exception will be thrown. This can be useful if phpredis is serializing values, and you return something from + * redis in a LUA script that is serialized. + * + * @param string $value The value to be unserialized + * + * @return mixed + * @example + *
+     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
+     * $redis->_unserialize('a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}'); // Will return Array(1,2,3)
+     * 
+ */ + public function _unserialize($value) + { + } + + /** + * A utility method to serialize values manually. This method allows you to serialize a value with whatever + * serializer is configured, manually. This can be useful for serialization/unserialization of data going in + * and out of EVAL commands as phpredis can't automatically do this itself. Note that if no serializer is + * set, phpredis will change Array values to 'Array', and Objects to 'Object'. + * + * @param mixed $value The value to be serialized. + * + * @return mixed + * @example + *
+     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE);
+     * $redis->_serialize("foo"); // returns "foo"
+     * $redis->_serialize(Array()); // Returns "Array"
+     * $redis->_serialize(new stdClass()); // Returns "Object"
+     *
+     * $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
+     * $redis->_serialize("foo"); // Returns 's:3:"foo";'
+     * 
+ */ + public function _serialize($value) + { + } + + /** + * Dump a key out of a redis database, the value of which can later be passed into redis using the RESTORE command. + * The data that comes out of DUMP is a binary representation of the key as Redis stores it. + * @param string $key + * + * @return string|bool The Redis encoded value of the key, or FALSE if the key doesn't exist + * + * @link https://redis.io/commands/dump + * @example + *
+     * $redis->set('foo', 'bar');
+     * $val = $redis->dump('foo'); // $val will be the Redis encoded key value
+     * 
+ */ + public function dump($key) + { + } + + /** + * Restore a key from the result of a DUMP operation. + * + * @param string $key The key name + * @param int $ttl How long the key should live (if zero, no expire will be set on the key) + * @param string $value (binary). The Redis encoded key value (from DUMP) + * + * @return bool + * + * @link https://redis.io/commands/restore + * @example + *
+     * $redis->set('foo', 'bar');
+     * $val = $redis->dump('foo');
+     * $redis->restore('bar', 0, $val); // The key 'bar', will now be equal to the key 'foo'
+     * 
+ */ + public function restore($key, $ttl, $value) + { + } + + /** + * Migrates a key to a different Redis instance. + * + * @param string $host The destination host + * @param int $port The TCP port to connect to. + * @param string $key The key to migrate. + * @param int $db The target DB. + * @param int $timeout The maximum amount of time given to this transfer. + * @param bool $copy Should we send the COPY flag to redis. + * @param bool $replace Should we send the REPLACE flag to redis. + * + * @return bool + * + * @link https://redis.io/commands/migrate + * @example + *
+     * $redis->migrate('backup', 6379, 'foo', 0, 3600);
+     * 
+ */ + public function migrate($host, $port, $key, $db, $timeout, $copy = false, $replace = false) + { + } + + /** + * Return the current Redis server time. + * + * @return array If successful, the time will come back as an associative array with element zero being the + * unix timestamp, and element one being microseconds. + * + * @link https://redis.io/commands/time + * @example + *
+     * var_dump( $redis->time() );
+     * // array(2) {
+     * //   [0] => string(10) "1342364352"
+     * //   [1] => string(6) "253002"
+     * // }
+     * 
+ */ + public function time() + { + } + + /** + * Scan the keyspace for keys + * + * @param int $iterator Iterator, initialized to NULL. + * @param string $pattern Pattern to match. + * @param int $count Count of keys per iteration (only a suggestion to Redis). + * + * @return array|bool This function will return an array of keys or FALSE if there are no more keys. + * + * @link https://redis.io/commands/scan + * @example + *
+     * $iterator = null;
+     * while(false !== ($keys = $redis->scan($iterator))) {
+     *     foreach($keys as $key) {
+     *         echo $key . PHP_EOL;
+     *     }
+     * }
+     * 
+ */ + public function scan(&$iterator, $pattern = null, $count = 0) + { + } + + /** + * Adds all the element arguments to the HyperLogLog data structure stored at the key. + * + * @param string $key + * @param array $elements + * + * @return bool + * + * @link https://redis.io/commands/pfadd + * @example $redis->pfAdd('key', array('elem1', 'elem2')) + */ + public function pfAdd($key, array $elements) + { + } + + /** + * When called with a single key, returns the approximated cardinality computed by the HyperLogLog data + * structure stored at the specified variable, which is 0 if the variable does not exist. + * + * @param string|array $key + * + * @return int + * + * @link https://redis.io/commands/pfcount + * @example + *
+     * $redis->pfAdd('key1', array('elem1', 'elem2'));
+     * $redis->pfAdd('key2', array('elem3', 'elem2'));
+     * $redis->pfCount('key1'); // int(2)
+     * $redis->pfCount(array('key1', 'key2')); // int(3)
+     */
+    public function pfCount($key)
+    {
+    }
+
+    /**
+     * Merge multiple HyperLogLog values into an unique value that will approximate the cardinality
+     * of the union of the observed Sets of the source HyperLogLog structures.
+     *
+     * @param string $destKey
+     * @param array  $sourceKeys
+     *
+     * @return bool
+     *
+     * @link    https://redis.io/commands/pfmerge
+     * @example
+     * 
+     * $redis->pfAdd('key1', array('elem1', 'elem2'));
+     * $redis->pfAdd('key2', array('elem3', 'elem2'));
+     * $redis->pfMerge('key3', array('key1', 'key2'));
+     * $redis->pfCount('key3'); // int(3)
+     */
+    public function pfMerge($destKey, array $sourceKeys)
+    {
+    }
+
+    /**
+     * Send arbitrary things to the redis server.
+     *
+     * @param string $command   Required command to send to the server.
+     * @param mixed  $arguments Optional variable amount of arguments to send to the server.
+     *
+     * @return mixed
+     *
+     * @example
+     * 
+     * $redis->rawCommand('SET', 'key', 'value'); // bool(true)
+     * $redis->rawCommand('GET", 'key'); // string(5) "value"
+     * 
+ */ + public function rawCommand($command, $arguments) + { + } + + /** + * Detect whether we're in ATOMIC/MULTI/PIPELINE mode. + * + * @return int Either Redis::ATOMIC, Redis::MULTI or Redis::PIPELINE + * + * @example $redis->getMode(); + */ + public function getMode() + { + } + + /** + * Acknowledge one or more messages on behalf of a consumer group. + * + * @param string $stream + * @param string $group + * @param array $messages + * + * @return int The number of messages Redis reports as acknowledged. + * + * @link https://redis.io/commands/xack + * @example + *
+     * $redis->xAck('stream', 'group1', ['1530063064286-0', '1530063064286-1']);
+     * 
+ */ + public function xAck($stream, $group, $messages) + { + } + + /** + * Add a message to a stream + * + * @param string $key + * @param string $id + * @param array $messages + * @param int $maxLen + * @param bool $isApproximate + * + * @return string The added message ID. + * + * @link https://redis.io/commands/xadd + * @example + *
+     * $redis->xAdd('mystream', "*", ['field' => 'value']);
+     * $redis->xAdd('mystream', "*", ['field' => 'value'], 10);
+     * $redis->xAdd('mystream', "*", ['field' => 'value'], 10, true);
+     * 
+ */ + public function xAdd($key, $id, $messages, $maxLen = 0, $isApproximate = false) + { + } + + /** + * Claim ownership of one or more pending messages + * + * @param string $key + * @param string $group + * @param string $consumer + * @param int $minIdleTime + * @param array $ids + * @param array $options ['IDLE' => $value, 'TIME' => $value, 'RETRYCOUNT' => $value, 'FORCE', 'JUSTID'] + * + * @return array Either an array of message IDs along with corresponding data, or just an array of IDs + * (if the 'JUSTID' option was passed). + * + * @link https://redis.io/commands/xclaim + * @example + *
+     * $ids = ['1530113681011-0', '1530113681011-1', '1530113681011-2'];
+     *
+     * // Without any options
+     * $redis->xClaim('mystream', 'group1', 'myconsumer1', 0, $ids);
+     *
+     * // With options
+     * $redis->xClaim(
+     *     'mystream', 'group1', 'myconsumer2', 0, $ids,
+     *     [
+     *         'IDLE' => time() * 1000,
+     *         'RETRYCOUNT' => 5,
+     *         'FORCE',
+     *         'JUSTID'
+     *     ]
+     * );
+     * 
+ */ + public function xClaim($key, $group, $consumer, $minIdleTime, $ids, $options = []) + { + } + + /** + * Delete one or more messages from a stream + * + * @param string $key + * @param array $ids + * + * @return int The number of messages removed + * + * @link https://redis.io/commands/xdel + * @example + *
+     * $redis->xDel('mystream', ['1530115304877-0', '1530115305731-0']);
+     * 
+ */ + public function xDel($key, $ids) + { + } + + /** + * @param string $operation e.g.: 'HELP', 'SETID', 'DELGROUP', 'CREATE', 'DELCONSUMER' + * @param string $key + * @param string $group + * @param string $msgId + * @param bool $mkStream + * + * @return mixed This command returns different types depending on the specific XGROUP command executed. + * + * @link https://redis.io/commands/xgroup + * @example + *
+     * $redis->xGroup('CREATE', 'mystream', 'mygroup', 0);
+     * $redis->xGroup('CREATE', 'mystream', 'mygroup', 0, true); // create stream
+     * $redis->xGroup('DESTROY', 'mystream', 'mygroup');
+     * 
+ */ + public function xGroup($operation, $key, $group, $msgId = '', $mkStream = false) + { + } + + /** + * Get information about a stream or consumer groups + * + * @param string $operation e.g.: 'CONSUMERS', 'GROUPS', 'STREAM', 'HELP' + * @param string $stream + * @param string $group + * + * @return mixed This command returns different types depending on which subcommand is used. + * + * @link https://redis.io/commands/xinfo + * @example + *
+     * $redis->xInfo('STREAM', 'mystream');
+     * 
+ */ + public function xInfo($operation, $stream, $group) + { + } + + /** + * Get the length of a given stream. + * + * @param string $stream + * + * @return int The number of messages in the stream. + * + * @link https://redis.io/commands/xlen + * @example + *
+     * $redis->xLen('mystream');
+     * 
+ */ + public function xLen($stream) + { + } + + /** + * Get information about pending messages in a given stream + * + * @param string $stream + * @param string $group + * @param string $start + * @param string $end + * @param int $count + * @param string $consumer + * + * @return array Information about the pending messages, in various forms depending on + * the specific invocation of XPENDING. + * + * @link https://redis.io/commands/xpending + * @example + *
+     * $redis->xPending('mystream', 'mygroup');
+     * $redis->xPending('mystream', 'mygroup', '-', '+', 1, 'consumer-1');
+     * 
+ */ + public function xPending($stream, $group, $start = null, $end = null, $count = null, $consumer = null) + { + } + + /** + * Get a range of messages from a given stream + * + * @param string $stream + * @param string $start + * @param string $end + * @param int $count + * + * @return array The messages in the stream within the requested range. + * + * @link https://redis.io/commands/xrange + * @example + *
+     * // Get everything in this stream
+     * $redis->xRange('mystream', '-', '+');
+     * // Only the first two messages
+     * $redis->xRange('mystream', '-', '+', 2);
+     * 
+ */ + public function xRange($stream, $start, $end, $count = null) + { + } + + /** + * Read data from one or more streams and only return IDs greater than sent in the command. + * + * @param array $streams + * @param int|string $count + * @param int|string $block + * + * @return array The messages in the stream newer than the IDs passed to Redis (if any) + * + * @link https://redis.io/commands/xread + * @example + *
+     * $redis->xRead(['stream1' => '1535222584555-0', 'stream2' => '1535222584555-0']);
+     * 
+ */ + public function xRead($streams, $count = null, $block = null) + { + } + + /** + * This method is similar to xRead except that it supports reading messages for a specific consumer group. + * + * @param string $group + * @param string $consumer + * @param array $streams + * @param int|null $count + * @param int|null $block + * + * @return array The messages delivered to this consumer group (if any). + * + * @link https://redis.io/commands/xreadgroup + * @example + *
+     * // Consume messages for 'mygroup', 'consumer1'
+     * $redis->xReadGroup('mygroup', 'consumer1', ['s1' => 0, 's2' => 0]);
+     * // Read a single message as 'consumer2' for up to a second until a message arrives.
+     * $redis->xReadGroup('mygroup', 'consumer2', ['s1' => 0, 's2' => 0], 1, 1000);
+     * 
+ */ + public function xReadGroup($group, $consumer, $streams, $count = null, $block = null) + { + } + + /** + * This is identical to xRange except the results come back in reverse order. + * Also note that Redis reverses the order of "start" and "end". + * + * @param string $stream + * @param string $end + * @param string $start + * @param int $count + * + * @return array The messages in the range specified + * + * @link https://redis.io/commands/xrevrange + * @example + *
+     * $redis->xRevRange('mystream', '+', '-');
+     * 
+ */ + public function xRevRange($stream, $end, $start, $count = null) + { + } + + /** + * Trim the stream length to a given maximum. + * If the "approximate" flag is pasesed, Redis will use your size as a hint but only trim trees in whole nodes + * (this is more efficient) + * + * @param string $stream + * @param int $maxLen + * @param bool $isApproximate + * + * @return int The number of messages trimed from the stream. + * + * @link https://redis.io/commands/xtrim + * @example + *
+     * // Trim to exactly 100 messages
+     * $redis->xTrim('mystream', 100);
+     * // Let Redis approximate the trimming
+     * $redis->xTrim('mystream', 100, true);
+     * 
+ */ + public function xTrim($stream, $maxLen, $isApproximate) + { + } + + /** + * Adds a values to the set value stored at key. + * + * @param string $key Required key + * @param array $values Required values + * + * @return int|bool The number of elements added to the set. + * If this value is already in the set, FALSE is returned + * + * @link https://redis.io/commands/sadd + * @link https://github.com/phpredis/phpredis/commit/3491b188e0022f75b938738f7542603c7aae9077 + * @since phpredis 2.2.8 + * @example + *
+     * $redis->sAddArray('k', array('v1'));                // boolean
+     * $redis->sAddArray('k', array('v1', 'v2', 'v3'));    // boolean
+     * 
+ */ + public function sAddArray($key, array $values) + { + } +} + +class RedisException extends Exception +{ +} + +/** + * @mixin \Redis + */ +class RedisArray +{ + /** + * Constructor + * + * @param string|array $hosts Name of the redis array from redis.ini or array of hosts to construct the array with + * @param array $opts Array of options + * + * @link https://github.com/nicolasff/phpredis/blob/master/arrays.markdown + */ + public function __construct($hosts, array $opts = null) + { + } + + /** + * @return array list of hosts for the selected array + */ + public function _hosts() + { + } + + /** + * @return string the name of the function used to extract key parts during consistent hashing + */ + public function _function() + { + } + + /** + * @param string $key The key for which you want to lookup the host + * + * @return string the host to be used for a certain key + */ + public function _target($key) + { + } + + /** + * Use this function when a new node is added and keys need to be rehashed. + */ + public function _rehash() + { + } + + /** + * Returns an associative array of strings and integers, with the following keys: + * - redis_version + * - redis_git_sha1 + * - redis_git_dirty + * - redis_build_id + * - redis_mode + * - os + * - arch_bits + * - multiplexing_api + * - atomicvar_api + * - gcc_version + * - process_id + * - run_id + * - tcp_port + * - uptime_in_seconds + * - uptime_in_days + * - hz + * - lru_clock + * - executable + * - config_file + * - connected_clients + * - client_longest_output_list + * - client_biggest_input_buf + * - blocked_clients + * - used_memory + * - used_memory_human + * - used_memory_rss + * - used_memory_rss_human + * - used_memory_peak + * - used_memory_peak_human + * - used_memory_peak_perc + * - used_memory_peak + * - used_memory_overhead + * - used_memory_startup + * - used_memory_dataset + * - used_memory_dataset_perc + * - total_system_memory + * - total_system_memory_human + * - used_memory_lua + * - used_memory_lua_human + * - maxmemory + * - maxmemory_human + * - maxmemory_policy + * - mem_fragmentation_ratio + * - mem_allocator + * - active_defrag_running + * - lazyfree_pending_objects + * - mem_fragmentation_ratio + * - loading + * - rdb_changes_since_last_save + * - rdb_bgsave_in_progress + * - rdb_last_save_time + * - rdb_last_bgsave_status + * - rdb_last_bgsave_time_sec + * - rdb_current_bgsave_time_sec + * - rdb_last_cow_size + * - aof_enabled + * - aof_rewrite_in_progress + * - aof_rewrite_scheduled + * - aof_last_rewrite_time_sec + * - aof_current_rewrite_time_sec + * - aof_last_bgrewrite_status + * - aof_last_write_status + * - aof_last_cow_size + * - changes_since_last_save + * - aof_current_size + * - aof_base_size + * - aof_pending_rewrite + * - aof_buffer_length + * - aof_rewrite_buffer_length + * - aof_pending_bio_fsync + * - aof_delayed_fsync + * - loading_start_time + * - loading_total_bytes + * - loading_loaded_bytes + * - loading_loaded_perc + * - loading_eta_seconds + * - total_connections_received + * - total_commands_processed + * - instantaneous_ops_per_sec + * - total_net_input_bytes + * - total_net_output_bytes + * - instantaneous_input_kbps + * - instantaneous_output_kbps + * - rejected_connections + * - maxclients + * - sync_full + * - sync_partial_ok + * - sync_partial_err + * - expired_keys + * - evicted_keys + * - keyspace_hits + * - keyspace_misses + * - pubsub_channels + * - pubsub_patterns + * - latest_fork_usec + * - migrate_cached_sockets + * - slave_expires_tracked_keys + * - active_defrag_hits + * - active_defrag_misses + * - active_defrag_key_hits + * - active_defrag_key_misses + * - role + * - master_replid + * - master_replid2 + * - master_repl_offset + * - second_repl_offset + * - repl_backlog_active + * - repl_backlog_size + * - repl_backlog_first_byte_offset + * - repl_backlog_histlen + * - master_host + * - master_port + * - master_link_status + * - master_last_io_seconds_ago + * - master_sync_in_progress + * - slave_repl_offset + * - slave_priority + * - slave_read_only + * - master_sync_left_bytes + * - master_sync_last_io_seconds_ago + * - master_link_down_since_seconds + * - connected_slaves + * - min-slaves-to-write + * - min-replicas-to-write + * - min_slaves_good_slaves + * - used_cpu_sys + * - used_cpu_user + * - used_cpu_sys_children + * - used_cpu_user_children + * - cluster_enabled + * + * @link https://redis.io/commands/info + * @return array + * @example + *
+     * $redis->info();
+     * 
+ */ + public function info() { + } +} diff --git a/build/stubs/redis_cluster.php b/build/stubs/redis_cluster.php new file mode 100644 index 0000000000..5e14570f3b --- /dev/null +++ b/build/stubs/redis_cluster.php @@ -0,0 +1,3563 @@ + + * @link https://github.com/zgb7mtr/phpredis_cluster_phpdoc + * + * @method mixed eval($script, $args = array(), $numKeys = 0) + * + */ +class RedisCluster { + const AFTER = 'after'; + const BEFORE = 'before'; + + /** + * Options + */ + const OPT_SERIALIZER = 1; + const OPT_PREFIX = 2; + const OPT_READ_TIMEOUT = 3; + const OPT_SCAN = 4; + const OPT_SLAVE_FAILOVER = 5; + + /** + * Cluster options + */ + const FAILOVER_NONE = 0; + const FAILOVER_ERROR = 1; + const FAILOVER_DISTRIBUTE = 2; + const FAILOVER_DISTRIBUTE_SLAVES = 3; + + /** + * SCAN options + */ + const SCAN_NORETRY = 0; + const SCAN_RETRY = 1; + + /** + * Serializers + */ + const SERIALIZER_NONE = 0; + const SERIALIZER_PHP = 1; + const SERIALIZER_IGBINARY = 2; + const SERIALIZER_MSGPACK = 3; + const SERIALIZER_JSON = 4; + + /** + * Multi + */ + const ATOMIC = 0; + const MULTI = 1; + const PIPELINE = 2; + + /** + * Type + */ + const REDIS_NOT_FOUND = 0; + const REDIS_STRING = 1; + const REDIS_SET = 2; + const REDIS_LIST = 3; + const REDIS_ZSET = 4; + const REDIS_HASH = 5; + + /** + * Creates a Redis Cluster client + * + * @param string|null $name + * @param array $seeds + * @param float $timeout + * @param float $readTimeout + * @param bool $persistent + * @param string|null $auth + * @throws RedisClusterException + * + * @example + *
+     * // Declaring a cluster with an array of seeds
+     * $redisCluster = new RedisCluster(null,['127.0.0.1:6379']);
+     *
+     * // Loading a cluster configuration by name
+     * // In order to load a named array, one must first define the seed nodes in redis.ini.
+     * // The following lines would define the cluster 'mycluster', and be loaded automatically by phpredis.
+     *
+     * // # In redis.ini
+     * // redis.clusters.seeds = "mycluster[]=localhost:7000&test[]=localhost:7001"
+     * // redis.clusters.timeout = "mycluster=5"
+     * // redis.clusters.read_timeout = "mycluster=10"
+     *
+     * //Then, this cluster can be loaded by doing the following
+     *
+     * $redisClusterPro = new RedisCluster('mycluster');
+     * $redisClusterDev = new RedisCluster('test');
+     * 
+ */ + public function __construct($name, $seeds, $timeout = null, $readTimeout = null, $persistent = false, $auth = null) { } + + /** + * Disconnects from the Redis instance, except when pconnect is used. + */ + public function close() { } + + /** + * Get the value related to the specified key + * + * @param string $key + * + * @return string|false If key didn't exist, FALSE is returned. Otherwise, the value related to this key is + * returned. + * + * @link https://redis.io/commands/get + * @example + *
+     * $redisCluster->get('key');
+     * 
+ */ + public function get($key) { } + + /** + * Set the string value in argument as value of the key. + * + * @since If you're using Redis >= 2.6.12, you can pass extended options as explained in example + * + * @param string $key + * @param string $value + * @param int|array $timeout If you pass an integer, phpredis will redirect to SETEX, and will try to use Redis + * >= 2.6.12 extended options if you pass an array with valid values. + * + * @return bool TRUE if the command is successful. + * + * @link https://redis.io/commands/set + * @example + *
+     * // Simple key -> value set
+     * $redisCluster->set('key', 'value');
+     *
+     * // Will redirect, and actually make an SETEX call
+     * $redisCluster->set('key','value', 10);
+     *
+     * // Will set the key, if it doesn't exist, with a ttl of 10 seconds
+     * $redisCluster->set('key', 'value', Array('nx', 'ex'=>10));
+     *
+     * // Will set a key, if it does exist, with a ttl of 1000 milliseconds
+     * $redisCluster->set('key', 'value', Array('xx', 'px'=>1000));
+     * 
+ */ + public function set($key, $value, $timeout = null) { } + + /** + * Returns the values of all specified keys. + * + * For every key that does not hold a string value or does not exist, + * the special value false is returned. Because of this, the operation never fails. + * + * @param array $array + * + * @return array + * + * @link https://redis.io/commands/mget + * @example + *
+     * $redisCluster->del('x', 'y', 'z', 'h');    // remove x y z
+     * $redisCluster->mset(array('x' => 'a', 'y' => 'b', 'z' => 'c'));
+     * $redisCluster->hset('h', 'field', 'value');
+     * var_dump($redisCluster->mget(array('x', 'y', 'z', 'h')));
+     * // Output:
+     * // array(3) {
+     * // [0]=>
+     * // string(1) "a"
+     * // [1]=>
+     * // string(1) "b"
+     * // [2]=>
+     * // string(1) "c"
+     * // [3]=>
+     * // bool(false)
+     * // }
+     * 
+ */ + public function mget(array $array) { } + + /** + * Sets multiple key-value pairs in one atomic command. + * MSETNX only returns TRUE if all the keys were set (see SETNX). + * + * @param array $array Pairs: array(key => value, ...) + * + * @return bool TRUE in case of success, FALSE in case of failure. + * @link https://redis.io/commands/mset + * @example + *
+     * $redisCluster->mset(array('key0' => 'value0', 'key1' => 'value1'));
+     * var_dump($redisCluster->get('key0'));
+     * var_dump($redisCluster->get('key1'));
+     * // Output:
+     * // string(6) "value0"
+     * // string(6) "value1"
+     * 
+ */ + public function mset(array $array) { } + + /** + * @see mset() + * + * @param array $array + * + * @return int 1 (if the keys were set) or 0 (no key was set) + * @link https://redis.io/commands/msetnx + */ + public function msetnx(array $array) { } + + /** + * Remove specified keys. + * + * @param int|string|array $key1 An array of keys, or an undefined number of parameters, each a key: key1 key2 key3 + * ... keyN + * @param int|string ...$otherKeys + * + * @return int Number of keys deleted. + * @link https://redis.io/commands/del + * @example + *
+     * $redisCluster->set('key1', 'val1');
+     * $redisCluster->set('key2', 'val2');
+     * $redisCluster->set('key3', 'val3');
+     * $redisCluster->set('key4', 'val4');
+     * $redisCluster->del('key1', 'key2');          // return 2
+     * $redisCluster->del(array('key3', 'key4'));   // return 2
+     * 
+ */ + public function del($key1, ...$otherKeys) { } + + /** + * Set the string value in argument as value of the key, with a time to live. + * + * @param string $key + * @param int $ttl + * @param string $value + * + * @return bool TRUE if the command is successful. + * @link https://redis.io/commands/setex + * @example + *
+     * $redisCluster->setex('key', 3600, 'value'); // sets key → value, with 1h TTL.
+     * 
+ */ + public function setex($key, $ttl, $value) { } + + /** + * PSETEX works exactly like SETEX with the sole difference that the expire time is specified in milliseconds + * instead of seconds. + * + * @param string $key + * @param int $ttl + * @param string $value + * + * @return bool TRUE if the command is successful. + * @link https://redis.io/commands/psetex + * @example + *
+     * $redisCluster->psetex('key', 1000, 'value'); // sets key → value, with 1s TTL.
+     * 
+ */ + public function psetex($key, $ttl, $value) { } + + /** + * Set the string value in argument as value of the key if the key doesn't already exist in the database. + * + * @param string $key + * @param string $value + * + * @return bool TRUE in case of success, FALSE in case of failure. + * @link https://redis.io/commands/setnx + * @example + *
+     * $redisCluster->setnx('key', 'value');   // return TRUE
+     * $redisCluster->setnx('key', 'value');   // return FALSE
+     * 
+ */ + public function setnx($key, $value) { } + + /** + * Sets a value and returns the previous entry at that key. + * + * @param string $key + * @param string $value + * + * @return string A string, the previous value located at this key. + * @link https://redis.io/commands/getset + * @example + *
+     * $redisCluster->set('x', '42');
+     * $exValue = $redisCluster->getSet('x', 'lol');   // return '42', replaces x by 'lol'
+     * $newValue = $redisCluster->get('x');            // return 'lol'
+     * 
+ */ + public function getSet($key, $value) { } + + /** + * Verify if the specified key exists. + * + * @param string $key + * + * @return bool If the key exists, return TRUE, otherwise return FALSE. + * @link https://redis.io/commands/exists + * @example + *
+     * $redisCluster->set('key', 'value');
+     * $redisCluster->exists('key');               //  TRUE
+     * $redisCluster->exists('NonExistingKey');    // FALSE
+     * 
+ */ + public function exists($key) { } + + /** + * Returns the keys that match a certain pattern. + * + * @param string $pattern pattern, using '*' as a wildcard. + * + * @return array of STRING: The keys that match a certain pattern. + * @link https://redis.io/commands/keys + * @example + *
+     * $allKeys = $redisCluster->keys('*');   // all keys will match this.
+     * $keyWithUserPrefix = $redisCluster->keys('user*');
+     * 
+ */ + public function keys($pattern) { } + + /** + * Returns the type of data pointed by a given key. + * + * @param string $key + * + * @return int + * + * Depending on the type of the data pointed by the key, + * this method will return the following value: + * - string: RedisCluster::REDIS_STRING + * - set: RedisCluster::REDIS_SET + * - list: RedisCluster::REDIS_LIST + * - zset: RedisCluster::REDIS_ZSET + * - hash: RedisCluster::REDIS_HASH + * - other: RedisCluster::REDIS_NOT_FOUND + * @link https://redis.io/commands/type + * @example $redisCluster->type('key'); + */ + public function type($key) { } + + /** + * Returns and removes the first element of the list. + * + * @param string $key + * + * @return string|false if command executed successfully BOOL FALSE in case of failure (empty list) + * @link https://redis.io/commands/lpop + * @example + *
+     * $redisCluster->rPush('key1', 'A');
+     * $redisCluster->rPush('key1', 'B');
+     * $redisCluster->rPush('key1', 'C');
+     * var_dump( $redisCluster->lRange('key1', 0, -1) );
+     * // Output:
+     * // array(3) {
+     * //   [0]=> string(1) "A"
+     * //   [1]=> string(1) "B"
+     * //   [2]=> string(1) "C"
+     * // }
+     * $redisCluster->lPop('key1');
+     * var_dump( $redisCluster->lRange('key1', 0, -1) );
+     * // Output:
+     * // array(2) {
+     * //   [0]=> string(1) "B"
+     * //   [1]=> string(1) "C"
+     * // }
+     * 
+ */ + public function lPop($key) { } + + /** + * Returns and removes the last element of the list. + * + * @param string $key + * + * @return string|false if command executed successfully BOOL FALSE in case of failure (empty list) + * @link https://redis.io/commands/rpop + * @example + *
+     * $redisCluster->rPush('key1', 'A');
+     * $redisCluster->rPush('key1', 'B');
+     * $redisCluster->rPush('key1', 'C');
+     * var_dump( $redisCluster->lRange('key1', 0, -1) );
+     * // Output:
+     * // array(3) {
+     * //   [0]=> string(1) "A"
+     * //   [1]=> string(1) "B"
+     * //   [2]=> string(1) "C"
+     * // }
+     * $redisCluster->rPop('key1');
+     * var_dump( $redisCluster->lRange('key1', 0, -1) );
+     * // Output:
+     * // array(2) {
+     * //   [0]=> string(1) "A"
+     * //   [1]=> string(1) "B"
+     * // }
+     * 
+ */ + public function rPop($key) { } + + /** + * Set the list at index with the new value. + * + * @param string $key + * @param int $index + * @param string $value + * + * @return bool TRUE if the new value is setted. FALSE if the index is out of range, or data type identified by key + * is not a list. + * @link https://redis.io/commands/lset + * @example + *
+     * $redisCluster->rPush('key1', 'A');
+     * $redisCluster->rPush('key1', 'B');
+     * $redisCluster->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
+     * $redisCluster->lGet('key1', 0);     // 'A'
+     * $redisCluster->lSet('key1', 0, 'X');
+     * $redisCluster->lGet('key1', 0);     // 'X'
+     * 
+ */ + public function lSet($key, $index, $value) { } + + /** + * Removes and returns a random element from the set value at Key. + * + * @param string $key + * + * @return string "popped" value + * bool FALSE if set identified by key is empty or doesn't exist. + * @link https://redis.io/commands/spop + * @example + *
+     * $redisCluster->sAdd('key1' , 'set1');
+     * $redisCluster->sAdd('key1' , 'set2');
+     * $redisCluster->sAdd('key1' , 'set3');
+     * var_dump($redisCluster->sMembers('key1'));// 'key1' => {'set3', 'set1', 'set2'}
+     * $redisCluster->sPop('key1');// 'set1'
+     * var_dump($redisCluster->sMembers('key1'));// 'key1' => {'set3', 'set2'}
+     * $redisCluster->sPop('key1');// 'set3',
+     * var_dump($redisCluster->sMembers('key1'));// 'key1' => {'set2'}
+     * 
+ */ + public function sPop($key) { } + + /** + * Adds the string values to the head (left) of the list. Creates the list if the key didn't exist. + * If the key exists and is not a list, FALSE is returned. + * + * @param string $key + * @param string $value1 String, value to push in key + * @param string $value2 Optional + * @param string $valueN Optional + * + * @return int|false The new length of the list in case of success, FALSE in case of Failure. + * @link https://redis.io/commands/lpush + * @example + *
+     * $redisCluster->lPush('l', 'v1', 'v2', 'v3', 'v4')   // int(4)
+     * var_dump( $redisCluster->lRange('l', 0, -1) );
+     * //// Output:
+     * // array(4) {
+     * //   [0]=> string(2) "v4"
+     * //   [1]=> string(2) "v3"
+     * //   [2]=> string(2) "v2"
+     * //   [3]=> string(2) "v1"
+     * // }
+     * 
+ */ + public function lPush($key, $value1, $value2 = null, $valueN = null) { } + + /** + * Adds the string values to the tail (right) of the list. Creates the list if the key didn't exist. + * If the key exists and is not a list, FALSE is returned. + * + * @param string $key + * @param string $value1 String, value to push in key + * @param string $value2 Optional + * @param string $valueN Optional + * + * @return int|false The new length of the list in case of success, FALSE in case of Failure. + * @link https://redis.io/commands/rpush + * @example + *
+     * $redisCluster->rPush('r', 'v1', 'v2', 'v3', 'v4');    // int(4)
+     * var_dump( $redisCluster->lRange('r', 0, -1) );
+     * //// Output:
+     * // array(4) {
+     * //   [0]=> string(2) "v1"
+     * //   [1]=> string(2) "v2"
+     * //   [2]=> string(2) "v3"
+     * //   [3]=> string(2) "v4"
+     * // }
+     * 
+ */ + public function rPush($key, $value1, $value2 = null, $valueN = null) { } + + /** + * BLPOP is a blocking list pop primitive. + * It is the blocking version of LPOP because it blocks the connection when + * there are no elements to pop from any of the given lists. + * An element is popped from the head of the first list that is non-empty, + * with the given keys being checked in the order that they are given. + * + * @param array $keys Array containing the keys of the lists + * Or STRING Key1 STRING Key2 STRING Key3 ... STRING Keyn + * @param int $timeout Timeout + * + * @return array array('listName', 'element') + * @link https://redis.io/commands/blpop + * @example + *
+     * // Non blocking feature
+     * $redisCluster->lPush('key1', 'A');
+     * $redisCluster->del('key2');
+     *
+     * $redisCluster->blPop('key1', 'key2', 10); // array('key1', 'A')
+     * // OR
+     * $redisCluster->blPop(array('key1', 'key2'), 10); // array('key1', 'A')
+     *
+     * $redisCluster->brPop('key1', 'key2', 10); // array('key1', 'A')
+     * // OR
+     * $redisCluster->brPop(array('key1', 'key2'), 10); // array('key1', 'A')
+     *
+     * // Blocking feature
+     *
+     * // process 1
+     * $redisCluster->del('key1');
+     * $redisCluster->blPop('key1', 10);
+     * // blocking for 10 seconds
+     *
+     * // process 2
+     * $redisCluster->lPush('key1', 'A');
+     *
+     * // process 1
+     * // array('key1', 'A') is returned
+     * 
+ */ + public function blPop(array $keys, $timeout) { } + + /** + * BRPOP is a blocking list pop primitive. + * It is the blocking version of RPOP because it blocks the connection when + * there are no elements to pop from any of the given lists. + * An element is popped from the tail of the first list that is non-empty, + * with the given keys being checked in the order that they are given. + * See the BLPOP documentation(https://redis.io/commands/blpop) for the exact semantics, + * since BRPOP is identical to BLPOP with the only difference being that + * it pops elements from the tail of a list instead of popping from the head. + * + * @param array $keys Array containing the keys of the lists + * Or STRING Key1 STRING Key2 STRING Key3 ... STRING Keyn + * @param int $timeout Timeout + * + * @return array array('listName', 'element') + * @link https://redis.io/commands/brpop + * @example + *
+     * // Non blocking feature
+     * $redisCluster->lPush('key1', 'A');
+     * $redisCluster->del('key2');
+     *
+     * $redisCluster->blPop('key1', 'key2', 10); // array('key1', 'A')
+     * // OR
+     * $redisCluster->blPop(array('key1', 'key2'), 10); // array('key1', 'A')
+     *
+     * $redisCluster->brPop('key1', 'key2', 10); // array('key1', 'A')
+     * // OR
+     * $redisCluster->brPop(array('key1', 'key2'), 10); // array('key1', 'A')
+     *
+     * // Blocking feature
+     *
+     * // process 1
+     * $redisCluster->del('key1');
+     * $redisCluster->blPop('key1', 10);
+     * // blocking for 10 seconds
+     *
+     * // process 2
+     * $redisCluster->lPush('key1', 'A');
+     *
+     * // process 1
+     * // array('key1', 'A') is returned
+     * 
+ */ + public function brPop(array $keys, $timeout) { } + + /** + * Adds the string value to the tail (right) of the list if the ist exists. FALSE in case of Failure. + * + * @param string $key + * @param string $value String, value to push in key + * + * @return int|false The new length of the list in case of success, FALSE in case of Failure. + * @link https://redis.io/commands/rpushx + * @example + *
+     * $redisCluster->del('key1');
+     * $redisCluster->rPushx('key1', 'A'); // returns 0
+     * $redisCluster->rPush('key1', 'A'); // returns 1
+     * $redisCluster->rPushx('key1', 'B'); // returns 2
+     * $redisCluster->rPushx('key1', 'C'); // returns 3
+     * // key1 now points to the following list: [ 'A', 'B', 'C' ]
+     * 
+ */ + public function rPushx($key, $value) { } + + /** + * Adds the string value to the head (left) of the list if the list exists. + * + * @param string $key + * @param string $value String, value to push in key + * + * @return int|false The new length of the list in case of success, FALSE in case of Failure. + * @link https://redis.io/commands/lpushx + * @example + *
+     * $redisCluster->del('key1');
+     * $redisCluster->lPushx('key1', 'A');     // returns 0
+     * $redisCluster->lPush('key1', 'A');      // returns 1
+     * $redisCluster->lPushx('key1', 'B');     // returns 2
+     * $redisCluster->lPushx('key1', 'C');     // returns 3
+     * // key1 now points to the following list: [ 'C', 'B', 'A' ]
+     * 
+ */ + public function lPushx($key, $value) { } + + /** + * Insert value in the list before or after the pivot value. the parameter options + * specify the position of the insert (before or after). If the list didn't exists, + * or the pivot didn't exists, the value is not inserted. + * + * @param string $key + * @param int $position RedisCluster::BEFORE | RedisCluster::AFTER + * @param string $pivot + * @param string $value + * + * @return int The number of the elements in the list, -1 if the pivot didn't exists. + * @link https://redis.io/commands/linsert + * @example + *
+     * $redisCluster->del('key1');
+     * $redisCluster->lInsert('key1', RedisCluster::AFTER, 'A', 'X');    // 0
+     *
+     * $redisCluster->lPush('key1', 'A');
+     * $redisCluster->lPush('key1', 'B');
+     * $redisCluster->lPush('key1', 'C');
+     *
+     * $redisCluster->lInsert('key1', RedisCluster::BEFORE, 'C', 'X');   // 4
+     * $redisCluster->lRange('key1', 0, -1);                      // array('X', 'C', 'B', 'A')
+     *
+     * $redisCluster->lInsert('key1', RedisCluster::AFTER, 'C', 'Y');    // 5
+     * $redisCluster->lRange('key1', 0, -1);                      // array('X', 'C', 'Y', 'B', 'A')
+     *
+     * $redisCluster->lInsert('key1', RedisCluster::AFTER, 'W', 'value'); // -1
+     * 
+ */ + public function lInsert($key, $position, $pivot, $value) { } + + /** + * Return the specified element of the list stored at the specified key. + * 0 the first element, 1 the second ... -1 the last element, -2 the penultimate ... + * Return FALSE in case of a bad index or a key that doesn't point to a list. + * + * @param string $key + * @param int $index + * + * @return string|false the element at this index + * Bool FALSE if the key identifies a non-string data type, or no value corresponds to this index in the list Key. + * @link https://redis.io/commands/lindex + * @example + *
+     * $redisCluster->rPush('key1', 'A');
+     * $redisCluster->rPush('key1', 'B');
+     * $redisCluster->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
+     * $redisCluster->lGet('key1', 0);     // 'A'
+     * $redisCluster->lGet('key1', -1);    // 'C'
+     * $redisCluster->lGet('key1', 10);    // `FALSE`
+     * 
+ */ + public function lIndex($key, $index) { } + + /** + * Removes the first count occurrences of the value element from the list. + * If count is zero, all the matching elements are removed. If count is negative, + * elements are removed from tail to head. + * + * @param string $key + * @param string $value + * @param int $count + * + * @return int the number of elements to remove + * bool FALSE if the value identified by key is not a list. + * @link https://redis.io/commands/lrem + * @example + *
+     * $redisCluster->lPush('key1', 'A');
+     * $redisCluster->lPush('key1', 'B');
+     * $redisCluster->lPush('key1', 'C');
+     * $redisCluster->lPush('key1', 'A');
+     * $redisCluster->lPush('key1', 'A');
+     *
+     * $redisCluster->lRange('key1', 0, -1);   // array('A', 'A', 'C', 'B', 'A')
+     * $redisCluster->lRem('key1', 'A', 2);    // 2
+     * $redisCluster->lRange('key1', 0, -1);   // array('C', 'B', 'A')
+     * 
+ */ + public function lRem($key, $value, $count) { } + + /** + * A blocking version of rpoplpush, with an integral timeout in the third parameter. + * + * @param string $srcKey + * @param string $dstKey + * @param int $timeout + * + * @return string|false The element that was moved in case of success, FALSE in case of timeout. + * @link https://redis.io/commands/brpoplpush + */ + public function brpoplpush($srcKey, $dstKey, $timeout) { } + + /** + * Pops a value from the tail of a list, and pushes it to the front of another list. + * Also return this value. + * + * @since redis >= 1.2 + * + * @param string $srcKey + * @param string $dstKey + * + * @return string|false The element that was moved in case of success, FALSE in case of failure. + * @link https://redis.io/commands/rpoplpush + * @example + *
+     * $redisCluster->del('x', 'y');
+     *
+     * $redisCluster->lPush('x', 'abc');
+     * $redisCluster->lPush('x', 'def');
+     * $redisCluster->lPush('y', '123');
+     * $redisCluster->lPush('y', '456');
+     *
+     * // move the last of x to the front of y.
+     * var_dump($redisCluster->rpoplpush('x', 'y'));
+     * var_dump($redisCluster->lRange('x', 0, -1));
+     * var_dump($redisCluster->lRange('y', 0, -1));
+     *
+     * ////Output:
+     * //
+     * //string(3) "abc"
+     * //array(1) {
+     * //  [0]=>
+     * //  string(3) "def"
+     * //}
+     * //array(3) {
+     * //  [0]=>
+     * //  string(3) "abc"
+     * //  [1]=>
+     * //  string(3) "456"
+     * //  [2]=>
+     * //  string(3) "123"
+     * //}
+     * 
+ */ + public function rpoplpush($srcKey, $dstKey) { } + + /** + * Returns the size of a list identified by Key. If the list didn't exist or is empty, + * the command returns 0. If the data type identified by Key is not a list, the command return FALSE. + * + * @param string $key + * + * @return int The size of the list identified by Key exists. + * bool FALSE if the data type identified by Key is not list + * @link https://redis.io/commands/llen + * @example + *
+     * $redisCluster->rPush('key1', 'A');
+     * $redisCluster->rPush('key1', 'B');
+     * $redisCluster->rPush('key1', 'C');  // key1 => [ 'A', 'B', 'C' ]
+     * $redisCluster->lLen('key1');       // 3
+     * $redisCluster->rPop('key1');
+     * $redisCluster->lLen('key1');       // 2
+     * 
+ */ + public function lLen($key) { } + + /** + * Returns the set cardinality (number of elements) of the set stored at key. + * + * @param string $key + * + * @return int the cardinality (number of elements) of the set, or 0 if key does not exist. + * @link https://redis.io/commands/scard + * @example + *
+     * $redisCluster->sAdd('key1' , 'set1');
+     * $redisCluster->sAdd('key1' , 'set2');
+     * $redisCluster->sAdd('key1' , 'set3');   // 'key1' => {'set1', 'set2', 'set3'}
+     * $redisCluster->sCard('key1');           // 3
+     * $redisCluster->sCard('keyX');           // 0
+     * 
+ */ + public function sCard($key) { } + + /** + * Returns all the members of the set value stored at key. + * This has the same effect as running SINTER with one argument key. + * + * @param string $key + * + * @return array All elements of the set. + * @link https://redis.io/commands/smembers + * @example + *
+     * $redisCluster->del('s');
+     * $redisCluster->sAdd('s', 'a');
+     * $redisCluster->sAdd('s', 'b');
+     * $redisCluster->sAdd('s', 'a');
+     * $redisCluster->sAdd('s', 'c');
+     * var_dump($redisCluster->sMembers('s'));
+     *
+     * ////Output:
+     * //
+     * //array(3) {
+     * //  [0]=>
+     * //  string(1) "b"
+     * //  [1]=>
+     * //  string(1) "c"
+     * //  [2]=>
+     * //  string(1) "a"
+     * //}
+     * // The order is random and corresponds to redis' own internal representation of the set structure.
+     * 
+ */ + public function sMembers($key) { } + + /** + * Returns if member is a member of the set stored at key. + * + * @param string $key + * @param string $value + * + * @return bool TRUE if value is a member of the set at key key, FALSE otherwise. + * @link https://redis.io/commands/sismember + * @example + *
+     * $redisCluster->sAdd('key1' , 'set1');
+     * $redisCluster->sAdd('key1' , 'set2');
+     * $redisCluster->sAdd('key1' , 'set3'); // 'key1' => {'set1', 'set2', 'set3'}
+     *
+     * $redisCluster->sIsMember('key1', 'set1'); // TRUE
+     * $redisCluster->sIsMember('key1', 'setX'); // FALSE
+     * 
+ */ + public function sIsMember($key, $value) { } + + /** + * Adds a values to the set value stored at key. + * If this value is already in the set, FALSE is returned. + * + * @param string $key Required key + * @param string $value1 Required value + * @param string $value2 Optional value + * @param string $valueN Optional value + * + * @return int|false The number of elements added to the set + * @link https://redis.io/commands/sadd + * @example + *
+     * $redisCluster->sAdd('k', 'v1');                // int(1)
+     * $redisCluster->sAdd('k', 'v1', 'v2', 'v3');    // int(2)
+     * 
+ */ + public function sAdd($key, $value1, $value2 = null, $valueN = null) { } + + /** + * Adds a values to the set value stored at key. + * If this value is already in the set, FALSE is returned. + * + * @param string $key Required key + * @param array $valueArray + * + * @return int|false The number of elements added to the set + * @example + *
+     * $redisCluster->sAddArray('k', ['v1', 'v2', 'v3']);
+     * //This is a feature in php only. Same as $redisCluster->sAdd('k', 'v1', 'v2', 'v3');
+     * 
+ */ + public function sAddArray($key, array $valueArray) { } + + /** + * Removes the specified members from the set value stored at key. + * + * @param string $key + * @param string $member1 + * @param string $member2 + * @param string $memberN + * + * @return int The number of elements removed from the set. + * @link https://redis.io/commands/srem + * @example + *
+     * var_dump( $redisCluster->sAdd('k', 'v1', 'v2', 'v3') );    // int(3)
+     * var_dump( $redisCluster->sRem('k', 'v2', 'v3') );          // int(2)
+     * var_dump( $redisCluster->sMembers('k') );
+     * //// Output:
+     * // array(1) {
+     * //   [0]=> string(2) "v1"
+     * // }
+     * 
+ */ + public function sRem($key, $member1, $member2 = null, $memberN = null) { } + + /** + * Performs the union between N sets and returns it. + * + * @param string $key1 Any number of keys corresponding to sets in redis. + * @param string $key2 ... + * @param string $keyN ... + * + * @return array of strings: The union of all these sets. + * @link https://redis.io/commands/sunionstore + * @example + *
+     * $redisCluster->del('s0', 's1', 's2');
+     *
+     * $redisCluster->sAdd('s0', '1');
+     * $redisCluster->sAdd('s0', '2');
+     * $redisCluster->sAdd('s1', '3');
+     * $redisCluster->sAdd('s1', '1');
+     * $redisCluster->sAdd('s2', '3');
+     * $redisCluster->sAdd('s2', '4');
+     *
+     * var_dump($redisCluster->sUnion('s0', 's1', 's2'));
+     *
+     * //// Output:
+     * //
+     * //array(4) {
+     * //  [0]=>
+     * //  string(1) "3"
+     * //  [1]=>
+     * //  string(1) "4"
+     * //  [2]=>
+     * //  string(1) "1"
+     * //  [3]=>
+     * //  string(1) "2"
+     * //}
+     * 
+ */ + public function sUnion($key1, $key2, $keyN = null) { } + + /** + * Performs the same action as sUnion, but stores the result in the first key + * + * @param string $dstKey the key to store the diff into. + * @param string $key1 Any number of keys corresponding to sets in redis. + * @param string $key2 ... + * @param string $keyN ... + * + * @return int Any number of keys corresponding to sets in redis. + * @link https://redis.io/commands/sunionstore + * @example + *
+     * $redisCluster->del('s0', 's1', 's2');
+     *
+     * $redisCluster->sAdd('s0', '1');
+     * $redisCluster->sAdd('s0', '2');
+     * $redisCluster->sAdd('s1', '3');
+     * $redisCluster->sAdd('s1', '1');
+     * $redisCluster->sAdd('s2', '3');
+     * $redisCluster->sAdd('s2', '4');
+     *
+     * var_dump($redisCluster->sUnionStore('dst', 's0', 's1', 's2'));
+     * var_dump($redisCluster->sMembers('dst'));
+     *
+     * //// Output:
+     * //
+     * //int(4)
+     * //array(4) {
+     * //  [0]=>
+     * //  string(1) "3"
+     * //  [1]=>
+     * //  string(1) "4"
+     * //  [2]=>
+     * //  string(1) "1"
+     * //  [3]=>
+     * //  string(1) "2"
+     * //}
+     * 
+ */ + public function sUnionStore($dstKey, $key1, $key2, $keyN = null) { } + + /** + * Returns the members of a set resulting from the intersection of all the sets + * held at the specified keys. If just a single key is specified, then this command + * produces the members of this set. If one of the keys is missing, FALSE is returned. + * + * @param string $key1 keys identifying the different sets on which we will apply the intersection. + * @param string $key2 ... + * @param string $keyN ... + * + * @return array contain the result of the intersection between those keys. + * If the intersection between the different sets is empty, the return value will be empty array. + * @link https://redis.io/commands/sinterstore + * @example + *
+     * $redisCluster->sAdd('key1', 'val1');
+     * $redisCluster->sAdd('key1', 'val2');
+     * $redisCluster->sAdd('key1', 'val3');
+     * $redisCluster->sAdd('key1', 'val4');
+     *
+     * $redisCluster->sAdd('key2', 'val3');
+     * $redisCluster->sAdd('key2', 'val4');
+     *
+     * $redisCluster->sAdd('key3', 'val3');
+     * $redisCluster->sAdd('key3', 'val4');
+     *
+     * var_dump($redisCluster->sInter('key1', 'key2', 'key3'));
+     *
+     * // Output:
+     * //
+     * //array(2) {
+     * //  [0]=>
+     * //  string(4) "val4"
+     * //  [1]=>
+     * //  string(4) "val3"
+     * //}
+     * 
+ */ + public function sInter($key1, $key2, $keyN = null) { } + + /** + * Performs a sInter command and stores the result in a new set. + * + * @param string $dstKey the key to store the diff into. + * @param string $key1 are intersected as in sInter. + * @param string $key2 ... + * @param string $keyN ... + * + * @return int|false The cardinality of the resulting set, or FALSE in case of a missing key. + * @link https://redis.io/commands/sinterstore + * @example + *
+     * $redisCluster->sAdd('key1', 'val1');
+     * $redisCluster->sAdd('key1', 'val2');
+     * $redisCluster->sAdd('key1', 'val3');
+     * $redisCluster->sAdd('key1', 'val4');
+     *
+     * $redisCluster->sAdd('key2', 'val3');
+     * $redisCluster->sAdd('key2', 'val4');
+     *
+     * $redisCluster->sAdd('key3', 'val3');
+     * $redisCluster->sAdd('key3', 'val4');
+     *
+     * var_dump($redisCluster->sInterStore('output', 'key1', 'key2', 'key3'));
+     * var_dump($redisCluster->sMembers('output'));
+     *
+     * //// Output:
+     * //
+     * //int(2)
+     * //array(2) {
+     * //  [0]=>
+     * //  string(4) "val4"
+     * //  [1]=>
+     * //  string(4) "val3"
+     * //}
+     * 
+ */ + public function sInterStore($dstKey, $key1, $key2, $keyN = null) { } + + /** + * Performs the difference between N sets and returns it. + * + * @param string $key1 Any number of keys corresponding to sets in redis. + * @param string $key2 ... + * @param string $keyN ... + * + * @return array of strings: The difference of the first set will all the others. + * @link https://redis.io/commands/sdiff + * @example + *
+     * $redisCluster->del('s0', 's1', 's2');
+     *
+     * $redisCluster->sAdd('s0', '1');
+     * $redisCluster->sAdd('s0', '2');
+     * $redisCluster->sAdd('s0', '3');
+     * $redisCluster->sAdd('s0', '4');
+     *
+     * $redisCluster->sAdd('s1', '1');
+     * $redisCluster->sAdd('s2', '3');
+     *
+     * var_dump($redisCluster->sDiff('s0', 's1', 's2'));
+     *
+     * //// Output:
+     * //
+     * //array(2) {
+     * //  [0]=>
+     * //  string(1) "4"
+     * //  [1]=>
+     * //  string(1) "2"
+     * //}
+     * 
+ */ + public function sDiff($key1, $key2, $keyN = null) { } + + /** + * Performs the same action as sDiff, but stores the result in the first key + * + * @param string $dstKey the key to store the diff into. + * @param string $key1 Any number of keys corresponding to sets in redis + * @param string $key2 ... + * @param string $keyN ... + * + * @return int|false The cardinality of the resulting set, or FALSE in case of a missing key. + * @link https://redis.io/commands/sdiffstore + * @example + *
+     * $redisCluster->del('s0', 's1', 's2');
+     *
+     * $redisCluster->sAdd('s0', '1');
+     * $redisCluster->sAdd('s0', '2');
+     * $redisCluster->sAdd('s0', '3');
+     * $redisCluster->sAdd('s0', '4');
+     *
+     * $redisCluster->sAdd('s1', '1');
+     * $redisCluster->sAdd('s2', '3');
+     *
+     * var_dump($redisCluster->sDiffStore('dst', 's0', 's1', 's2'));
+     * var_dump($redisCluster->sMembers('dst'));
+     *
+     * //// Output:
+     * //
+     * //int(2)
+     * //array(2) {
+     * //  [0]=>
+     * //  string(1) "4"
+     * //  [1]=>
+     * //  string(1) "2"
+     * //}
+     * 
+ */ + public function sDiffStore($dstKey, $key1, $key2, $keyN = null) { } + + /** + * Returns a random element(s) from the set value at Key, without removing it. + * + * @param string $key + * @param int $count [optional] + * + * @return string|array value(s) from the set + * bool FALSE if set identified by key is empty or doesn't exist and count argument isn't passed. + * @link https://redis.io/commands/srandmember + * @example + *
+     * $redisCluster->sAdd('key1' , 'one');
+     * $redisCluster->sAdd('key1' , 'two');
+     * $redisCluster->sAdd('key1' , 'three');              // 'key1' => {'one', 'two', 'three'}
+     *
+     * var_dump( $redisCluster->sRandMember('key1') );     // 'key1' => {'one', 'two', 'three'}
+     *
+     * // string(5) "three"
+     *
+     * var_dump( $redisCluster->sRandMember('key1', 2) );  // 'key1' => {'one', 'two', 'three'}
+     *
+     * // array(2) {
+     * //   [0]=> string(2) "one"
+     * //   [1]=> string(2) "three"
+     * // }
+     * 
+ */ + public function sRandMember($key, $count = null) { } + + /** + * Get the length of a string value. + * + * @param string $key + * + * @return int + * @link https://redis.io/commands/strlen + * @example + *
+     * $redisCluster->set('key', 'value');
+     * $redisCluster->strlen('key'); // 5
+     * 
+ */ + public function strlen($key) { } + + /** + * Remove the expiration timer from a key. + * + * @param string $key + * + * @return bool TRUE if a timeout was removed, FALSE if the key didn’t exist or didn’t have an expiration timer. + * @link https://redis.io/commands/persist + * @example $redisCluster->persist('key'); + */ + public function persist($key) { } + + /** + * Returns the remaining time to live of a key that has a timeout. + * This introspection capability allows a Redis client to check how many seconds a given key will continue to be + * part of the dataset. In Redis 2.6 or older the command returns -1 if the key does not exist or if the key exist + * but has no associated expire. Starting with Redis 2.8 the return value in case of error changed: Returns -2 if + * the key does not exist. Returns -1 if the key exists but has no associated expire. + * + * @param string $key + * + * @return int the time left to live in seconds. + * @link https://redis.io/commands/ttl + * @example $redisCluster->ttl('key'); + */ + public function ttl($key) { } + + /** + * Returns the remaining time to live of a key that has an expire set, + * with the sole difference that TTL returns the amount of remaining time in seconds while PTTL returns it in + * milliseconds. In Redis 2.6 or older the command returns -1 if the key does not exist or if the key exist but has + * no associated expire. Starting with Redis 2.8 the return value in case of error changed: Returns -2 if the key + * does not exist. Returns -1 if the key exists but has no associated expire. + * + * @param string $key + * + * @return int the time left to live in milliseconds. + * @link https://redis.io/commands/pttl + * @example $redisCluster->pttl('key'); + */ + public function pttl($key) { } + + /** + * Returns the cardinality of an ordered set. + * + * @param string $key + * + * @return int the set's cardinality + * @link https://redis.io/commands/zsize + * @example + *
+     * $redisCluster->zAdd('key', 0, 'val0');
+     * $redisCluster->zAdd('key', 2, 'val2');
+     * $redisCluster->zAdd('key', 10, 'val10');
+     * $redisCluster->zCard('key');            // 3
+     * 
+ */ + public function zCard($key) { } + + /** + * Returns the number of elements of the sorted set stored at the specified key which have + * scores in the range [start,end]. Adding a parenthesis before start or end excludes it + * from the range. +inf and -inf are also valid limits. + * + * @param string $key + * @param string $start + * @param string $end + * + * @return int the size of a corresponding zRangeByScore. + * @link https://redis.io/commands/zcount + * @example + *
+     * $redisCluster->zAdd('key', 0, 'val0');
+     * $redisCluster->zAdd('key', 2, 'val2');
+     * $redisCluster->zAdd('key', 10, 'val10');
+     * $redisCluster->zCount('key', 0, 3); // 2, corresponding to array('val0', 'val2')
+     * 
+ */ + public function zCount($key, $start, $end) { } + + /** + * Deletes the elements of the sorted set stored at the specified key which have scores in the range [start,end]. + * + * @param string $key + * @param float|string $start double or "+inf" or "-inf" string + * @param float|string $end double or "+inf" or "-inf" string + * + * @return int The number of values deleted from the sorted set + * @link https://redis.io/commands/zremrangebyscore + * @example + *
+     * $redisCluster->zAdd('key', 0, 'val0');
+     * $redisCluster->zAdd('key', 2, 'val2');
+     * $redisCluster->zAdd('key', 10, 'val10');
+     * $redisCluster->zRemRangeByScore('key', 0, 3); // 2
+     * 
+ */ + public function zRemRangeByScore($key, $start, $end) { } + + /** + * Returns the score of a given member in the specified sorted set. + * + * @param string $key + * @param string $member + * + * @return float + * @link https://redis.io/commands/zscore + * @example + *
+     * $redisCluster->zAdd('key', 2.5, 'val2');
+     * $redisCluster->zScore('key', 'val2'); // 2.5
+     * 
+ */ + public function zScore($key, $member) { } + + /** + * Adds the specified member with a given score to the sorted set stored at key. + * + * @param string $key Required key + * @param float $score1 Required score + * @param string $value1 Required value + * @param float $score2 Optional score + * @param string $value2 Optional value + * @param float $scoreN Optional score + * @param string $valueN Optional value + * + * @return int Number of values added + * @link https://redis.io/commands/zadd + * @example + *
+     * $redisCluster->zAdd('z', 1, 'v2', 2, 'v2', 3, 'v3', 4, 'v4' );  // int(3)
+     * $redisCluster->zRem('z', 'v2', 'v3');                           // int(2)
+     * var_dump( $redisCluster->zRange('z', 0, -1) );
+     *
+     * //// Output:
+     * // array(1) {
+     * //   [0]=> string(2) "v4"
+     * // }
+     * 
+ */ + public function zAdd($key, $score1, $value1, $score2 = null, $value2 = null, $scoreN = null, $valueN = null) { } + + /** + * Increments the score of a member from a sorted set by a given amount. + * + * @param string $key + * @param float $value (double) value that will be added to the member's score + * @param string $member + * + * @return float the new value + * @link https://redis.io/commands/zincrby + * @example + *
+     * $redisCluster->del('key');
+     * $redisCluster->zIncrBy('key', 2.5, 'member1');// key or member1 didn't exist, so member1's score is to 0 ;
+     *                                              //before the increment and now has the value 2.5
+     * $redisCluster->zIncrBy('key', 1, 'member1');    // 3.5
+     * 
+ */ + public function zIncrBy($key, $value, $member) { } + + /** + * Returns the length of a hash, in number of items + * + * @param string $key + * + * @return int|false the number of items in a hash, FALSE if the key doesn't exist or isn't a hash. + * @link https://redis.io/commands/hlen + * @example + *
+     * $redisCluster->del('h');
+     * $redisCluster->hSet('h', 'key1', 'hello');
+     * $redisCluster->hSet('h', 'key2', 'plop');
+     * $redisCluster->hLen('h'); // returns 2
+     * 
+ */ + public function hLen($key) { } + + /** + * Returns the keys in a hash, as an array of strings. + * + * @param string $key + * + * @return array An array of elements, the keys of the hash. This works like PHP's array_keys(). + * @link https://redis.io/commands/hkeys + * @example + *
+     * $redisCluster->del('h');
+     * $redisCluster->hSet('h', 'a', 'x');
+     * $redisCluster->hSet('h', 'b', 'y');
+     * $redisCluster->hSet('h', 'c', 'z');
+     * $redisCluster->hSet('h', 'd', 't');
+     * var_dump($redisCluster->hKeys('h'));
+     *
+     * //// Output:
+     * //
+     * // array(4) {
+     * // [0]=>
+     * // string(1) "a"
+     * // [1]=>
+     * // string(1) "b"
+     * // [2]=>
+     * // string(1) "c"
+     * // [3]=>
+     * // string(1) "d"
+     * // }
+     * // The order is random and corresponds to redis' own internal representation of the set structure.
+     * 
+ */ + public function hKeys($key) { } + + /** + * Returns the values in a hash, as an array of strings. + * + * @param string $key + * + * @return array An array of elements, the values of the hash. This works like PHP's array_values(). + * @link https://redis.io/commands/hvals + * @example + *
+     * $redisCluster->del('h');
+     * $redisCluster->hSet('h', 'a', 'x');
+     * $redisCluster->hSet('h', 'b', 'y');
+     * $redisCluster->hSet('h', 'c', 'z');
+     * $redisCluster->hSet('h', 'd', 't');
+     * var_dump($redisCluster->hVals('h'));
+     *
+     * //// Output:
+     * //
+     * // array(4) {
+     * //   [0]=>
+     * //   string(1) "x"
+     * //   [1]=>
+     * //   string(1) "y"
+     * //   [2]=>
+     * //   string(1) "z"
+     * //   [3]=>
+     * //   string(1) "t"
+     * // }
+     * // The order is random and corresponds to redis' own internal representation of the set structure.
+     * 
+ */ + public function hVals($key) { } + + /** + * Gets a value from the hash stored at key. + * If the hash table doesn't exist, or the key doesn't exist, FALSE is returned. + * + * @param string $key + * @param string $hashKey + * + * @return string|false The value, if the command executed successfully BOOL FALSE in case of failure + * @link https://redis.io/commands/hget + * @example + *
+     * $redisCluster->del('h');
+     * $redisCluster->hSet('h', 'a', 'x');
+     * $redisCluster->hGet('h', 'a'); // 'X'
+     * 
+ */ + public function hGet($key, $hashKey) { } + + /** + * Returns the whole hash, as an array of strings indexed by strings. + * + * @param string $key + * + * @return array An array of elements, the contents of the hash. + * @link https://redis.io/commands/hgetall + * @example + *
+     * $redisCluster->del('h');
+     * $redisCluster->hSet('h', 'a', 'x');
+     * $redisCluster->hSet('h', 'b', 'y');
+     * $redisCluster->hSet('h', 'c', 'z');
+     * $redisCluster->hSet('h', 'd', 't');
+     * var_dump($redisCluster->hGetAll('h'));
+     *
+     * //// Output:
+     * //
+     * // array(4) {
+     * //   ["a"]=>
+     * //   string(1) "x"
+     * //   ["b"]=>
+     * //   string(1) "y"
+     * //   ["c"]=>
+     * //   string(1) "z"
+     * //   ["d"]=>
+     * //   string(1) "t"
+     * // }
+     * // The order is random and corresponds to redis' own internal representation of the set structure.
+     * 
+ */ + public function hGetAll($key) { } + + /** + * Verify if the specified member exists in a key. + * + * @param string $key + * @param string $hashKey + * + * @return bool If the member exists in the hash table, return TRUE, otherwise return FALSE. + * @link https://redis.io/commands/hexists + * @example + *
+     * $redisCluster->hSet('h', 'a', 'x');
+     * $redisCluster->hExists('h', 'a');               //  TRUE
+     * $redisCluster->hExists('h', 'NonExistingKey');  // FALSE
+     * 
+ */ + public function hExists($key, $hashKey) { } + + /** + * Increments the value of a member from a hash by a given amount. + * + * @param string $key + * @param string $hashKey + * @param int $value (integer) value that will be added to the member's value + * + * @return int the new value + * @link https://redis.io/commands/hincrby + * @example + *
+     * $redisCluster->del('h');
+     * $redisCluster->hIncrBy('h', 'x', 2); // returns 2: h[x] = 2 now.
+     * $redisCluster->hIncrBy('h', 'x', 1); // h[x] ← 2 + 1. Returns 3
+     * 
+ */ + public function hIncrBy($key, $hashKey, $value) { } + + /** + * Adds a value to the hash stored at key. If this value is already in the hash, FALSE is returned. + * + * @param string $key + * @param string $hashKey + * @param string $value + * + * @return int + * 1 if value didn't exist and was added successfully, + * 0 if the value was already present and was replaced, FALSE if there was an error. + * @link https://redis.io/commands/hset + * @example + *
+     * $redisCluster->del('h')
+     * $redisCluster->hSet('h', 'key1', 'hello');  // 1, 'key1' => 'hello' in the hash at "h"
+     * $redisCluster->hGet('h', 'key1');           // returns "hello"
+     *
+     * $redisCluster->hSet('h', 'key1', 'plop');   // 0, value was replaced.
+     * $redisCluster->hGet('h', 'key1');           // returns "plop"
+     * 
+ */ + public function hSet($key, $hashKey, $value) { } + + /** + * Adds a value to the hash stored at key only if this field isn't already in the hash. + * + * @param string $key + * @param string $hashKey + * @param string $value + * + * @return bool TRUE if the field was set, FALSE if it was already present. + * @link https://redis.io/commands/hsetnx + * @example + *
+     * $redisCluster->del('h')
+     * $redisCluster->hSetNx('h', 'key1', 'hello'); // TRUE, 'key1' => 'hello' in the hash at "h"
+     * $redisCluster->hSetNx('h', 'key1', 'world'); // FALSE, 'key1' => 'hello' in the hash at "h". No change since the
+     * field wasn't replaced.
+     * 
+ */ + public function hSetNx($key, $hashKey, $value) { } + + /** + * Retirieve the values associated to the specified fields in the hash. + * + * @param string $key + * @param array $hashKeys + * + * @return array Array An array of elements, the values of the specified fields in the hash, + * with the hash keys as array keys. + * @link https://redis.io/commands/hmget + * @example + *
+     * $redisCluster->del('h');
+     * $redisCluster->hSet('h', 'field1', 'value1');
+     * $redisCluster->hSet('h', 'field2', 'value2');
+     * $redisCluster->hMGet('h', array('field1', 'field2')); // returns array('field1' => 'value1', 'field2' =>
+     * 'value2')
+     * 
+ */ + public function hMGet($key, $hashKeys) { } + + /** + * Fills in a whole hash. Non-string values are converted to string, using the standard (string) cast. + * NULL values are stored as empty strings + * + * @param string $key + * @param array $hashKeys key → value array + * + * @return bool + * @link https://redis.io/commands/hmset + * @example + *
+     * $redisCluster->del('user:1');
+     * $redisCluster->hMSet('user:1', array('name' => 'Joe', 'salary' => 2000));
+     * $redisCluster->hIncrBy('user:1', 'salary', 100); // Joe earns 100 more now.
+     * 
+ */ + public function hMSet($key, $hashKeys) { } + + /** + * Removes a values from the hash stored at key. + * If the hash table doesn't exist, or the key doesn't exist, FALSE is returned. + * + * @param string $key + * @param string $hashKey1 + * @param string $hashKey2 + * @param string $hashKeyN + * + * @return int Number of deleted fields + * @link https://redis.io/commands/hdel + * @example + *
+     * $redisCluster->hMSet('h',
+     *               array(
+     *                    'f1' => 'v1',
+     *                    'f2' => 'v2',
+     *                    'f3' => 'v3',
+     *                    'f4' => 'v4',
+     *               ));
+     *
+     * var_dump( $redisCluster->hDel('h', 'f1') );        // int(1)
+     * var_dump( $redisCluster->hDel('h', 'f2', 'f3') );  // int(2)
+     *
+     * var_dump( $redisCluster->hGetAll('h') );
+     *
+     * //// Output:
+     * //
+     * //  array(1) {
+     * //    ["f4"]=> string(2) "v4"
+     * //  }
+     * 
+ */ + public function hDel($key, $hashKey1, $hashKey2 = null, $hashKeyN = null) { } + + /** + * Increment the float value of a hash field by the given amount + * + * @param string $key + * @param string $field + * @param float $increment + * + * @return float + * @link https://redis.io/commands/hincrbyfloat + * @example + *
+     * $redisCluster->hset('h', 'float', 3);
+     * $redisCluster->hset('h', 'int',   3);
+     * var_dump( $redisCluster->hIncrByFloat('h', 'float', 1.5) ); // float(4.5)
+     *
+     * var_dump( $redisCluster->hGetAll('h') );
+     *
+     * //// Output:
+     * //
+     * // array(2) {
+     * //   ["float"]=>
+     * //   string(3) "4.5"
+     * //   ["int"]=>
+     * //   string(1) "3"
+     * // }
+     * 
+ */ + public function hIncrByFloat($key, $field, $increment) { } + + /** + * Dump a key out of a redis database, the value of which can later be passed into redis using the RESTORE command. + * The data that comes out of DUMP is a binary representation of the key as Redis stores it. + * + * @param string $key + * + * @return string|false The Redis encoded value of the key, or FALSE if the key doesn't exist + * @link https://redis.io/commands/dump + * @example + *
+     * $redisCluster->set('foo', 'bar');
+     * $val = $redisCluster->dump('foo'); // $val will be the Redis encoded key value
+     * 
+ */ + public function dump($key) { } + + /** + * Returns the rank of a given member in the specified sorted set, starting at 0 for the item + * with the smallest score. zRevRank starts at 0 for the item with the largest score. + * + * @param string $key + * @param string $member + * + * @return int the item's score. + * @link https://redis.io/commands/zrank + * @example + *
+     * $redisCluster->del('z');
+     * $redisCluster->zAdd('key', 1, 'one');
+     * $redisCluster->zAdd('key', 2, 'two');
+     * $redisCluster->zRank('key', 'one');     // 0
+     * $redisCluster->zRank('key', 'two');     // 1
+     * $redisCluster->zRevRank('key', 'one');  // 1
+     * $redisCluster->zRevRank('key', 'two');  // 0
+     * 
+ */ + public function zRank($key, $member) { } + + /** + * @see zRank() + * + * @param string $key + * @param string $member + * + * @return int the item's score + * @link https://redis.io/commands/zrevrank + */ + public function zRevRank($key, $member) { } + + /** + * Increment the number stored at key by one. + * + * @param string $key + * + * @return int the new value + * @link https://redis.io/commands/incr + * @example + *
+     * $redisCluster->incr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value 1
+     * $redisCluster->incr('key1'); // 2
+     * $redisCluster->incr('key1'); // 3
+     * $redisCluster->incr('key1'); // 4
+     * 
+ */ + public function incr($key) { } + + /** + * Decrement the number stored at key by one. + * + * @param string $key + * + * @return int the new value + * @link https://redis.io/commands/decr + * @example + *
+     * $redisCluster->decr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value -1
+     * $redisCluster->decr('key1'); // -2
+     * $redisCluster->decr('key1'); // -3
+     * 
+ */ + public function decr($key) { } + + /** + * Increment the number stored at key by one. If the second argument is filled, it will be used as the integer + * value of the increment. + * + * @param string $key key + * @param int $value value that will be added to key (only for incrBy) + * + * @return int the new value + * @link https://redis.io/commands/incrby + * @example + *
+     * $redisCluster->incr('key1');        // key1 didn't exists, set to 0 before the increment and now has the value 1
+     * $redisCluster->incr('key1');        // 2
+     * $redisCluster->incr('key1');        // 3
+     * $redisCluster->incr('key1');        // 4
+     * $redisCluster->incrBy('key1', 10);  // 14
+     * 
+ */ + public function incrBy($key, $value) { } + + /** + * Decrement the number stored at key by one. If the second argument is filled, it will be used as the integer + * value of the decrement. + * + * @param string $key + * @param int $value that will be subtracted to key (only for decrBy) + * + * @return int the new value + * @link https://redis.io/commands/decrby + * @example + *
+     * $redisCluster->decr('key1');        // key1 didn't exists, set to 0 before the increment and now has the value -1
+     * $redisCluster->decr('key1');        // -2
+     * $redisCluster->decr('key1');        // -3
+     * $redisCluster->decrBy('key1', 10);  // -13
+     * 
+ */ + public function decrBy($key, $value) { } + + /** + * Increment the float value of a key by the given amount + * + * @param string $key + * @param float $increment + * + * @return float + * @link https://redis.io/commands/incrbyfloat + * @example + *
+     * $redisCluster->set('x', 3);
+     * var_dump( $redisCluster->incrByFloat('x', 1.5) );   // float(4.5)
+     *
+     * var_dump( $redisCluster->get('x') );                // string(3) "4.5"
+     * 
+ */ + public function incrByFloat($key, $increment) { } + + /** + * Sets an expiration date (a timeout) on an item. + * + * @param string $key The key that will disappear. + * @param int $ttl The key's remaining Time To Live, in seconds. + * + * @return bool TRUE in case of success, FALSE in case of failure. + * @link https://redis.io/commands/expire + * @example + *
+     * $redisCluster->set('x', '42');
+     * $redisCluster->expire('x', 3);  // x will disappear in 3 seconds.
+     * sleep(5);                    // wait 5 seconds
+     * $redisCluster->get('x');            // will return `FALSE`, as 'x' has expired.
+     * 
+ */ + public function expire($key, $ttl) { } + + /** + * Sets an expiration date (a timeout in milliseconds) on an item. + * + * @param string $key The key that will disappear. + * @param int $ttl The key's remaining Time To Live, in milliseconds. + * + * @return bool TRUE in case of success, FALSE in case of failure. + * @link https://redis.io/commands/pexpire + * @example + *
+     * $redisCluster->set('x', '42');
+     * $redisCluster->pExpire('x', 11500); // x will disappear in 11500 milliseconds.
+     * $redisCluster->ttl('x');            // 12
+     * $redisCluster->pttl('x');           // 11500
+     * 
+ */ + public function pExpire($key, $ttl) { } + + /** + * Sets an expiration date (a timestamp) on an item. + * + * @param string $key The key that will disappear. + * @param int $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time. + * + * @return bool TRUE in case of success, FALSE in case of failure. + * @link https://redis.io/commands/expireat + * @example + *
+     * $redisCluster->set('x', '42');
+     * $now = time();               // current timestamp
+     * $redisCluster->expireAt('x', $now + 3); // x will disappear in 3 seconds.
+     * sleep(5);                        // wait 5 seconds
+     * $redisCluster->get('x');                // will return `FALSE`, as 'x' has expired.
+     * 
+ */ + public function expireAt($key, $timestamp) { } + + /** + * Sets an expiration date (a timestamp) on an item. Requires a timestamp in milliseconds + * + * @param string $key The key that will disappear. + * @param int $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time. + * + * @return bool TRUE in case of success, FALSE in case of failure. + * @link https://redis.io/commands/pexpireat + * @example + *
+     * $redisCluster->set('x', '42');
+     * $redisCluster->pExpireAt('x', 1555555555005);
+     * $redisCluster->ttl('x');                       // 218270121
+     * $redisCluster->pttl('x');                      // 218270120575
+     * 
+ */ + public function pExpireAt($key, $timestamp) { } + + /** + * Append specified string to the string stored in specified key. + * + * @param string $key + * @param string $value + * + * @return int Size of the value after the append + * @link https://redis.io/commands/append + * @example + *
+     * $redisCluster->set('key', 'value1');
+     * $redisCluster->append('key', 'value2'); // 12
+     * $redisCluster->get('key');              // 'value1value2'
+     * 
+ */ + public function append($key, $value) { } + + /** + * Return a single bit out of a larger string + * + * @param string $key + * @param int $offset + * + * @return int the bit value (0 or 1) + * @link https://redis.io/commands/getbit + * @example + *
+     * $redisCluster->set('key', "\x7f");  // this is 0111 1111
+     * $redisCluster->getBit('key', 0);    // 0
+     * $redisCluster->getBit('key', 1);    // 1
+     * 
+ */ + public function getBit($key, $offset) { } + + /** + * Changes a single bit of a string. + * + * @param string $key + * @param int $offset + * @param bool|int $value bool or int (1 or 0) + * + * @return int 0 or 1, the value of the bit before it was set. + * @link https://redis.io/commands/setbit + * @example + *
+     * $redisCluster->set('key', "*");     // ord("*") = 42 = 0x2f = "0010 1010"
+     * $redisCluster->setBit('key', 5, 1); // returns 0
+     * $redisCluster->setBit('key', 7, 1); // returns 0
+     * $redisCluster->get('key');          // chr(0x2f) = "/" = b("0010 1111")
+     * 
+ */ + public function setBit($key, $offset, $value) { } + + /** + * Bitwise operation on multiple keys. + * + * @param string $operation either "AND", "OR", "NOT", "XOR" + * @param string $retKey return key + * @param string $key1 + * @param string $key2 + * @param string $key3 + * + * @return int The size of the string stored in the destination key. + * @link https://redis.io/commands/bitop + * @example + *
+     * $redisCluster->set('bit1', '1'); // 11 0001
+     * $redisCluster->set('bit2', '2'); // 11 0010
+     *
+     * $redisCluster->bitOp('AND', 'bit', 'bit1', 'bit2'); // bit = 110000
+     * $redisCluster->bitOp('OR',  'bit', 'bit1', 'bit2'); // bit = 110011
+     * $redisCluster->bitOp('NOT', 'bit', 'bit1', 'bit2'); // bit = 110011
+     * $redisCluster->bitOp('XOR', 'bit', 'bit1', 'bit2'); // bit = 11
+     * 
+ */ + public function bitOp($operation, $retKey, $key1, $key2, $key3 = null) { } + + /** + * Return the position of the first bit set to 1 or 0 in a string. The position is returned, thinking of the + * string as an array of bits from left to right, where the first byte's most significant bit is at position 0, + * the second byte's most significant bit is at position 8, and so forth. + * + * @param string $key + * @param int $bit + * @param int $start + * @param int $end + * + * @return int The command returns the position of the first bit set to 1 or 0 according to the request. + * If we look for set bits (the bit argument is 1) and the string is empty or composed of just + * zero bytes, -1 is returned. If we look for clear bits (the bit argument is 0) and the string + * only contains bit set to 1, the function returns the first bit not part of the string on the + * right. So if the string is three bytes set to the value 0xff the command BITPOS key 0 will + * return 24, since up to bit 23 all the bits are 1. Basically, the function considers the right + * of the string as padded with zeros if you look for clear bits and specify no range or the + * start argument only. However, this behavior changes if you are looking for clear bits and + * specify a range with both start and end. If no clear bit is found in the specified range, the + * function returns -1 as the user specified a clear range and there are no 0 bits in that range. + * @link https://redis.io/commands/bitpos + * @example + *
+     * $redisCluster->set('key', '\xff\xff');
+     * $redisCluster->bitpos('key', 1); // int(0)
+     * $redisCluster->bitpos('key', 1, 1); // int(8)
+     * $redisCluster->bitpos('key', 1, 3); // int(-1)
+     * $redisCluster->bitpos('key', 0); // int(16)
+     * $redisCluster->bitpos('key', 0, 1); // int(16)
+     * $redisCluster->bitpos('key', 0, 1, 5); // int(-1)
+     * 
+ */ + public function bitpos($key, $bit, $start = 0, $end = null) { } + + /** + * Count bits in a string. + * + * @param string $key + * + * @return int The number of bits set to 1 in the value behind the input key. + * @link https://redis.io/commands/bitcount + * @example + *
+     * $redisCluster->set('bit', '345'); // // 11 0011  0011 0100  0011 0101
+     * var_dump( $redisCluster->bitCount('bit', 0, 0) ); // int(4)
+     * var_dump( $redisCluster->bitCount('bit', 1, 1) ); // int(3)
+     * var_dump( $redisCluster->bitCount('bit', 2, 2) ); // int(4)
+     * var_dump( $redisCluster->bitCount('bit', 0, 2) ); // int(11)
+     * 
+ */ + public function bitCount($key) { } + + /** + * @see lIndex() + * + * @param string $key + * @param int $index + * + * @link https://redis.io/commands/lindex + */ + public function lGet($key, $index) { } + + /** + * Return a substring of a larger string + * + * @param string $key + * @param int $start + * @param int $end + * + * @return string the substring + * @link https://redis.io/commands/getrange + * @example + *
+     * $redisCluster->set('key', 'string value');
+     * $redisCluster->getRange('key', 0, 5);   // 'string'
+     * $redisCluster->getRange('key', -5, -1); // 'value'
+     * 
+ */ + public function getRange($key, $start, $end) { } + + /** + * Trims an existing list so that it will contain only a specified range of elements. + * + * @param string $key + * @param int $start + * @param int $stop + * + * @return array|false Bool return FALSE if the key identify a non-list value. + * @link https://redis.io/commands/ltrim + * @example + *
+     * $redisCluster->rPush('key1', 'A');
+     * $redisCluster->rPush('key1', 'B');
+     * $redisCluster->rPush('key1', 'C');
+     * $redisCluster->lRange('key1', 0, -1); // array('A', 'B', 'C')
+     * $redisCluster->lTrim('key1', 0, 1);
+     * $redisCluster->lRange('key1', 0, -1); // array('A', 'B')
+     * 
+ */ + public function lTrim($key, $start, $stop) { } + + /** + * Returns the specified elements of the list stored at the specified key in + * the range [start, end]. start and stop are interpretated as indices: 0 the first element, + * 1 the second ... -1 the last element, -2 the penultimate ... + * + * @param string $key + * @param int $start + * @param int $end + * + * @return array containing the values in specified range. + * @link https://redis.io/commands/lrange + * @example + *
+     * $redisCluster->rPush('key1', 'A');
+     * $redisCluster->rPush('key1', 'B');
+     * $redisCluster->rPush('key1', 'C');
+     * $redisCluster->lRange('key1', 0, -1); // array('A', 'B', 'C')
+     * 
+ */ + public function lRange($key, $start, $end) { } + + /** + * Deletes the elements of the sorted set stored at the specified key which have rank in the range [start,end]. + * + * @param string $key + * @param int $start + * @param int $end + * + * @return int The number of values deleted from the sorted set + * @link https://redis.io/commands/zremrangebyrank + * @example + *
+     * $redisCluster->zAdd('key', 1, 'one');
+     * $redisCluster->zAdd('key', 2, 'two');
+     * $redisCluster->zAdd('key', 3, 'three');
+     * $redisCluster->zRemRangeByRank('key', 0, 1); // 2
+     * $redisCluster->zRange('key', 0, -1, true); // array('three' => 3)
+     * 
+ */ + public function zRemRangeByRank($key, $start, $end) { } + + /** + * Publish messages to channels. Warning: this function will probably change in the future. + * + * @param string $channel a channel to publish to + * @param string $message string + * + * @link https://redis.io/commands/publish + * @return int Number of clients that received the message + * @example $redisCluster->publish('chan-1', 'hello, world!'); // send message. + */ + public function publish($channel, $message) { } + + /** + * Renames a key. + * + * @param string $srcKey + * @param string $dstKey + * + * @return bool TRUE in case of success, FALSE in case of failure. + * @link https://redis.io/commands/rename + * @example + *
+     * $redisCluster->set('x', '42');
+     * $redisCluster->rename('x', 'y');
+     * $redisCluster->get('y');   // → 42
+     * $redisCluster->get('x');   // → `FALSE`
+     * 
+ */ + public function rename($srcKey, $dstKey) { } + + /** + * Renames a key. + * + * Same as rename, but will not replace a key if the destination already exists. + * This is the same behaviour as setNx. + * + * @param string $srcKey + * @param string $dstKey + * + * @return bool TRUE in case of success, FALSE in case of failure. + * @link https://redis.io/commands/renamenx + * @example + *
+     * $redisCluster->set('x', '42');
+     * $redisCluster->renameNx('x', 'y');
+     * $redisCluster->get('y');   // → 42
+     * $redisCluster->get('x');   // → `FALSE`
+     * 
+ */ + public function renameNx($srcKey, $dstKey) { } + + /** + * When called with a single key, returns the approximated cardinality computed by the HyperLogLog data + * structure stored at the specified variable, which is 0 if the variable does not exist. + * + * @param string|array $key + * + * @return int + * @link https://redis.io/commands/pfcount + * @example + *
+     * $redisCluster->pfAdd('key1', array('elem1', 'elem2'));
+     * $redisCluster->pfAdd('key2', array('elem3', 'elem2'));
+     * $redisCluster->pfCount('key1'); // int(2)
+     * $redisCluster->pfCount(array('key1', 'key2')); // int(3)
+     */
+    public function pfCount($key) { }
+
+    /**
+     * Adds all the element arguments to the HyperLogLog data structure stored at the key.
+     *
+     * @param   string $key
+     * @param   array  $elements
+     *
+     * @return  bool
+     * @link    https://redis.io/commands/pfadd
+     * @example $redisCluster->pfAdd('key', array('elem1', 'elem2'))
+     */
+    public function pfAdd($key, array $elements) { }
+
+    /**
+     * Merge multiple HyperLogLog values into an unique value that will approximate the cardinality
+     * of the union of the observed Sets of the source HyperLogLog structures.
+     *
+     * @param   string $destKey
+     * @param   array  $sourceKeys
+     *
+     * @return  bool
+     * @link    https://redis.io/commands/pfmerge
+     * @example
+     * 
+     * $redisCluster->pfAdd('key1', array('elem1', 'elem2'));
+     * $redisCluster->pfAdd('key2', array('elem3', 'elem2'));
+     * $redisCluster->pfMerge('key3', array('key1', 'key2'));
+     * $redisCluster->pfCount('key3'); // int(3)
+     */
+    public function pfMerge($destKey, array $sourceKeys) { }
+
+    /**
+     * Changes a substring of a larger string.
+     *
+     * @param   string $key
+     * @param   int    $offset
+     * @param   string $value
+     *
+     * @return  string the length of the string after it was modified.
+     * @link    https://redis.io/commands/setrange
+     * @example
+     * 
+     * $redisCluster->set('key', 'Hello world');
+     * $redisCluster->setRange('key', 6, "redis"); // returns 11
+     * $redisCluster->get('key');                  // "Hello redis"
+     * 
+ */ + public function setRange($key, $offset, $value) { } + + /** + * Restore a key from the result of a DUMP operation. + * + * @param string $key The key name + * @param int $ttl How long the key should live (if zero, no expire will be set on the key) + * @param string $value (binary). The Redis encoded key value (from DUMP) + * + * @return bool + * @link https://redis.io/commands/restore + * @example + *
+     * $redisCluster->set('foo', 'bar');
+     * $val = $redisCluster->dump('foo');
+     * $redisCluster->restore('bar', 0, $val); // The key 'bar', will now be equal to the key 'foo'
+     * 
+ */ + public function restore($key, $ttl, $value) { } + + /** + * Moves the specified member from the set at srcKey to the set at dstKey. + * + * @param string $srcKey + * @param string $dstKey + * @param string $member + * + * @return bool If the operation is successful, return TRUE. + * If the srcKey and/or dstKey didn't exist, and/or the member didn't exist in srcKey, FALSE is returned. + * @link https://redis.io/commands/smove + * @example + *
+     * $redisCluster->sAdd('key1' , 'set11');
+     * $redisCluster->sAdd('key1' , 'set12');
+     * $redisCluster->sAdd('key1' , 'set13');          // 'key1' => {'set11', 'set12', 'set13'}
+     * $redisCluster->sAdd('key2' , 'set21');
+     * $redisCluster->sAdd('key2' , 'set22');          // 'key2' => {'set21', 'set22'}
+     * $redisCluster->sMove('key1', 'key2', 'set13');  // 'key1' =>  {'set11', 'set12'}
+     *                                          // 'key2' =>  {'set21', 'set22', 'set13'}
+     * 
+ */ + public function sMove($srcKey, $dstKey, $member) { } + + /** + * Returns a range of elements from the ordered set stored at the specified key, + * with values in the range [start, end]. start and stop are interpreted as zero-based indices: + * 0 the first element, + * 1 the second ... + * -1 the last element, + * -2 the penultimate ... + * + * @param string $key + * @param int $start + * @param int $end + * @param bool $withscores + * + * @return array Array containing the values in specified range. + * @link https://redis.io/commands/zrange + * @example + *
+     * $redisCluster->zAdd('key1', 0, 'val0');
+     * $redisCluster->zAdd('key1', 2, 'val2');
+     * $redisCluster->zAdd('key1', 10, 'val10');
+     * $redisCluster->zRange('key1', 0, -1); // array('val0', 'val2', 'val10')
+     * // with scores
+     * $redisCluster->zRange('key1', 0, -1, true); // array('val0' => 0, 'val2' => 2, 'val10' => 10)
+     * 
+ */ + public function zRange($key, $start, $end, $withscores = null) { } + + /** + * Returns the elements of the sorted set stored at the specified key in the range [start, end] + * in reverse order. start and stop are interpretated as zero-based indices: + * 0 the first element, + * 1 the second ... + * -1 the last element, + * -2 the penultimate ... + * + * @param string $key + * @param int $start + * @param int $end + * @param bool $withscore + * + * @return array Array containing the values in specified range. + * @link https://redis.io/commands/zrevrange + * @example + *
+     * $redisCluster->zAdd('key', 0, 'val0');
+     * $redisCluster->zAdd('key', 2, 'val2');
+     * $redisCluster->zAdd('key', 10, 'val10');
+     * $redisCluster->zRevRange('key', 0, -1); // array('val10', 'val2', 'val0')
+     *
+     * // with scores
+     * $redisCluster->zRevRange('key', 0, -1, true); // array('val10' => 10, 'val2' => 2, 'val0' => 0)
+     * 
+ */ + public function zRevRange($key, $start, $end, $withscore = null) { } + + /** + * Returns the elements of the sorted set stored at the specified key which have scores in the + * range [start,end]. Adding a parenthesis before start or end excludes it from the range. + * +inf and -inf are also valid limits. + * + * zRevRangeByScore returns the same items in reverse order, when the start and end parameters are swapped. + * + * @param string $key + * @param int $start + * @param int $end + * @param array $options Two options are available: + * - withscores => TRUE, + * - and limit => array($offset, $count) + * + * @return array Array containing the values in specified range. + * @link https://redis.io/commands/zrangebyscore + * @example + *
+     * $redisCluster->zAdd('key', 0, 'val0');
+     * $redisCluster->zAdd('key', 2, 'val2');
+     * $redisCluster->zAdd('key', 10, 'val10');
+     * $redisCluster->zRangeByScore('key', 0, 3);
+     * // array('val0', 'val2')
+     * $redisCluster->zRangeByScore('key', 0, 3, array('withscores' => TRUE);
+     * // array('val0' => 0, 'val2' => 2)
+     * $redisCluster->zRangeByScore('key', 0, 3, array('limit' => array(1, 1));
+     * // array('val2' => 2)
+     * $redisCluster->zRangeByScore('key', 0, 3, array('limit' => array(1, 1));
+     * // array('val2')
+     * $redisCluster->zRangeByScore('key', 0, 3, array('withscores' => TRUE, 'limit' => array(1, 1));
+     * // array('val2'=> 2)
+     * 
+ */ + public function zRangeByScore($key, $start, $end, array $options = array()) { } + + /** + * @see zRangeByScore() + * + * @param string $key + * @param int $start + * @param int $end + * @param array $options + * + * @return array + */ + public function zRevRangeByScore($key, $start, $end, array $options = array()) { } + + /** + * Returns a range of members in a sorted set, by lexicographical range + * + * @param string $key The ZSET you wish to run against. + * @param int $min The minimum alphanumeric value you wish to get. + * @param int $max The maximum alphanumeric value you wish to get. + * @param int $offset Optional argument if you wish to start somewhere other than the first element. + * @param int $limit Optional argument if you wish to limit the number of elements returned. + * + * @return array Array containing the values in the specified range. + * @link https://redis.io/commands/zrangebylex + * @example + *
+     * foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $k => $char) {
+     *     $redisCluster->zAdd('key', $k, $char);
+     * }
+     *
+     * $redisCluster->zRangeByLex('key', '-', '[c'); // array('a', 'b', 'c')
+     * $redisCluster->zRangeByLex('key', '-', '(c'); // array('a', 'b')
+     * $redisCluster->zRevRangeByLex('key', '(c','-'); // array('b', 'a')
+     * 
+ */ + public function zRangeByLex($key, $min, $max, $offset = null, $limit = null) { } + + /** + * @see zRangeByLex() + * + * @param string $key + * @param int $min + * @param int $max + * @param int $offset + * @param int $limit + * + * @return array + * @link https://redis.io/commands/zrevrangebylex + */ + public function zRevRangeByLex($key, $min, $max, $offset = null, $limit = null) { } + + /** + * Count the number of members in a sorted set between a given lexicographical range. + * + * @param string $key + * @param int $min + * @param int $max + * + * @return int The number of elements in the specified score range. + * @link https://redis.io/commands/zlexcount + * @example + *
+     * foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $k => $char) {
+     *     $redisCluster->zAdd('key', $k, $char);
+     * }
+     * $redisCluster->zLexCount('key', '[b', '[f'); // 5
+     * 
+ */ + public function zLexCount($key, $min, $max) { } + + /** + * Remove all members in a sorted set between the given lexicographical range. + * + * @param string $key The ZSET you wish to run against. + * @param int $min The minimum alphanumeric value you wish to get. + * @param int $max The maximum alphanumeric value you wish to get. + * + * @return array the number of elements removed. + * @link https://redis.io/commands/zremrangebylex + * @example + *
+     * foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $k => $char) {
+     *     $redisCluster->zAdd('key', $k, $char);
+     * }
+     * $redisCluster->zRemRangeByLex('key', '(b','[d'); // 2 , remove element 'c' and 'd'
+     * $redisCluster->zRange('key',0,-1);// array('a','b','e','f','g')
+     * 
+ */ + public function zRemRangeByLex($key, $min, $max) { + } + + /** + * Add multiple sorted sets and store the resulting sorted set in a new key + * + * @param string $Output + * @param array $ZSetKeys + * @param array $Weights + * @param string $aggregateFunction Either "SUM", "MIN", or "MAX": defines the behaviour to use on + * duplicate entries during the zUnion. + * + * @return int The number of values in the new sorted set. + * @link https://redis.io/commands/zunionstore + * @example + *
+     * $redisCluster->del('k1');
+     * $redisCluster->del('k2');
+     * $redisCluster->del('k3');
+     * $redisCluster->del('ko1');
+     * $redisCluster->del('ko2');
+     * $redisCluster->del('ko3');
+     *
+     * $redisCluster->zAdd('k1', 0, 'val0');
+     * $redisCluster->zAdd('k1', 1, 'val1');
+     *
+     * $redisCluster->zAdd('k2', 2, 'val2');
+     * $redisCluster->zAdd('k2', 3, 'val3');
+     *
+     * $redisCluster->zUnionStore('ko1', array('k1', 'k2')); // 4, 'ko1' => array('val0', 'val1', 'val2', 'val3')
+     *
+     * // Weighted zUnionStore
+     * $redisCluster->zUnionStore('ko2', array('k1', 'k2'), array(1, 1)); // 4, 'ko2' => array('val0', 'val1', 'val2','val3')
+     * $redisCluster->zUnionStore('ko3', array('k1', 'k2'), array(5, 1)); // 4, 'ko3' => array('val0', 'val2', 'val3','val1')
+     * 
+ */ + public function zUnionStore($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM') { } + + /** + * Intersect multiple sorted sets and store the resulting sorted set in a new key + * + * @param string $Output + * @param array $ZSetKeys + * @param array $Weights + * @param string $aggregateFunction Either "SUM", "MIN", or "MAX": + * defines the behaviour to use on duplicate entries during the zInterStore. + * + * @return int The number of values in the new sorted set. + * @link https://redis.io/commands/zinterstore + * @example + *
+     * $redisCluster->del('k1');
+     * $redisCluster->del('k2');
+     * $redisCluster->del('k3');
+     *
+     * $redisCluster->del('ko1');
+     * $redisCluster->del('ko2');
+     * $redisCluster->del('ko3');
+     * $redisCluster->del('ko4');
+     *
+     * $redisCluster->zAdd('k1', 0, 'val0');
+     * $redisCluster->zAdd('k1', 1, 'val1');
+     * $redisCluster->zAdd('k1', 3, 'val3');
+     *
+     * $redisCluster->zAdd('k2', 2, 'val1');
+     * $redisCluster->zAdd('k2', 3, 'val3');
+     *
+     * $redisCluster->zInterStore('ko1', array('k1', 'k2'));               // 2, 'ko1' => array('val1', 'val3')
+     * $redisCluster->zInterStore('ko2', array('k1', 'k2'), array(1, 1));  // 2, 'ko2' => array('val1', 'val3')
+     *
+     * // Weighted zInterStore
+     * $redisCluster->zInterStore('ko3', array('k1', 'k2'), array(1, 5), 'min'); // 2, 'ko3' => array('val1', 'val3')
+     * $redisCluster->zInterStore('ko4', array('k1', 'k2'), array(1, 5), 'max'); // 2, 'ko4' => array('val3', 'val1')
+     * 
+ */ + public function zInterStore($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM') { } + + /** + * Deletes a specified member from the ordered set. + * + * @param string $key + * @param string $member1 + * @param string $member2 + * @param string $memberN + * + * @return int Number of deleted values + * @link https://redis.io/commands/zrem + * @example + *
+     * $redisCluster->zAdd('z', 1, 'v1', 2, 'v2', 3, 'v3', 4, 'v4' );  // int(2)
+     * $redisCluster->zRem('z', 'v2', 'v3');                           // int(2)
+     * var_dump( $redisCluster->zRange('z', 0, -1) );
+     * //// Output:
+     * //
+     * // array(2) {
+     * //   [0]=> string(2) "v1"
+     * //   [1]=> string(2) "v4"
+     * // }
+     * 
+ */ + public function zRem($key, $member1, $member2 = null, $memberN = null) { } + + /** + * Sort + * + * @param string $key + * @param array $option array(key => value, ...) - optional, with the following keys and values: + * - 'by' => 'some_pattern_*', + * - 'limit' => array(0, 1), + * - 'get' => 'some_other_pattern_*' or an array of patterns, + * - 'sort' => 'asc' or 'desc', + * - 'alpha' => TRUE, + * - 'store' => 'external-key' + * + * @return array + * An array of values, or a number corresponding to the number of elements stored if that was used. + * @link https://redis.io/commands/sort + * @example + *
+     * $redisCluster->del('s');
+     * $redisCluster->sadd('s', 5);
+     * $redisCluster->sadd('s', 4);
+     * $redisCluster->sadd('s', 2);
+     * $redisCluster->sadd('s', 1);
+     * $redisCluster->sadd('s', 3);
+     *
+     * var_dump($redisCluster->sort('s')); // 1,2,3,4,5
+     * var_dump($redisCluster->sort('s', array('sort' => 'desc'))); // 5,4,3,2,1
+     * var_dump($redisCluster->sort('s', array('sort' => 'desc', 'store' => 'out'))); // (int)5
+     * 
+ */ + public function sort($key, $option = null) { } + + /** + * Describes the object pointed to by a key. + * The information to retrieve (string) and the key (string). + * Info can be one of the following: + * - "encoding" + * - "refcount" + * - "idletime" + * + * @param string $string + * @param string $key + * + * @return string|false for "encoding", int for "refcount" and "idletime", FALSE if the key doesn't exist. + * @link https://redis.io/commands/object + * @example + *
+     * $redisCluster->object("encoding", "l"); // → ziplist
+     * $redisCluster->object("refcount", "l"); // → 1
+     * $redisCluster->object("idletime", "l"); // → 400 (in seconds, with a precision of 10 seconds).
+     * 
+ */ + public function object($string = '', $key = '') { } + + /** + * Subscribe to channels. Warning: this function will probably change in the future. + * + * @param array $channels an array of channels to subscribe to + * @param string|array $callback either a string or an array($instance, 'method_name'). + * The callback function receives 3 parameters: the redis instance, the channel + * name, and the message. + * + * @return mixed Any non-null return value in the callback will be returned to the caller. + * @link https://redis.io/commands/subscribe + * @example + *
+     * function f($redisCluster, $chan, $msg) {
+     *  switch($chan) {
+     *      case 'chan-1':
+     *          ...
+     *          break;
+     *
+     *      case 'chan-2':
+     *                     ...
+     *          break;
+     *
+     *      case 'chan-2':
+     *          ...
+     *          break;
+     *      }
+     * }
+     *
+     * $redisCluster->subscribe(array('chan-1', 'chan-2', 'chan-3'), 'f'); // subscribe to 3 chans
+     * 
+ */ + public function subscribe($channels, $callback) { } + + /** + * Subscribe to channels by pattern + * + * @param array $patterns The number of elements removed from the set. + * @param string|array $callback Either a string or an array with an object and method. + * The callback will get four arguments ($redis, $pattern, $channel, $message) + * + * @return mixed Any non-null return value in the callback will be returned to the caller. + * + * @link https://redis.io/commands/psubscribe + * @example + *
+     * function psubscribe($redisCluster, $pattern, $chan, $msg) {
+     *  echo "Pattern: $pattern\n";
+     *  echo "Channel: $chan\n";
+     *  echo "Payload: $msg\n";
+     * }
+     * 
+ */ + public function psubscribe($patterns, $callback) { } + + /** + * Unsubscribes the client from the given channels, or from all of them if none is given. + * + * @param $channels + * @param $callback + */ + public function unSubscribe($channels, $callback) { } + + /** + * Unsubscribes the client from the given patterns, or from all of them if none is given. + * + * @param $channels + * @param $callback + */ + public function punSubscribe($channels, $callback) { } + + /** + * Evaluate a LUA script serverside, from the SHA1 hash of the script instead of the script itself. + * In order to run this command Redis will have to have already loaded the script, either by running it or via + * the SCRIPT LOAD command. + * + * @param string $scriptSha + * @param array $args + * @param int $numKeys + * + * @return mixed @see eval() + * @see eval() + * @link https://redis.io/commands/evalsha + * @example + *
+     * $script = 'return 1';
+     * $sha = $redisCluster->script('load', $script);
+     * $redisCluster->evalSha($sha); // Returns 1
+     * 
+ */ + public function evalSha($scriptSha, $args = array(), $numKeys = 0) { } + + /** + * Scan the keyspace for keys. + * + * @param int &$iterator Iterator, initialized to NULL. + * @param string|array $node Node identified by key or host/port array + * @param string $pattern Pattern to match. + * @param int $count Count of keys per iteration (only a suggestion to Redis). + * + * @return array|false This function will return an array of keys or FALSE if there are no more keys. + * @link https://redis.io/commands/scan + * @example + *
+     * $iterator = null;
+     * while($keys = $redisCluster->scan($iterator)) {
+     *     foreach($keys as $key) {
+     *         echo $key . PHP_EOL;
+     *     }
+     * }
+     * 
+ */ + public function scan(&$iterator, $node, $pattern = null, $count = 0) { } + + /** + * Scan a set for members. + * + * @param string $key The set to search. + * @param int $iterator LONG (reference) to the iterator as we go. + * @param null $pattern String, optional pattern to match against. + * @param int $count How many members to return at a time (Redis might return a different amount). + * + * @return array|false PHPRedis will return an array of keys or FALSE when we're done iterating. + * @link https://redis.io/commands/sscan + * @example + *
+     * $iterator = null;
+     * while ($members = $redisCluster->sScan('set', $iterator)) {
+     *     foreach ($members as $member) {
+     *         echo $member . PHP_EOL;
+     *     }
+     * }
+     * 
+ */ + public function sScan($key, &$iterator, $pattern = null, $count = 0) { } + + /** + * Scan a sorted set for members, with optional pattern and count. + * + * @param string $key String, the set to scan. + * @param int $iterator Long (reference), initialized to NULL. + * @param string $pattern String (optional), the pattern to match. + * @param int $count How many keys to return per iteration (Redis might return a different number). + * + * @return array|false PHPRedis will return matching keys from Redis, or FALSE when iteration is complete. + * @link https://redis.io/commands/zscan + * @example + *
+     * $iterator = null;
+     * while ($members = $redis-zscan('zset', $iterator)) {
+     *     foreach ($members as $member => $score) {
+     *         echo $member . ' => ' . $score . PHP_EOL;
+     *     }
+     * }
+     * 
+ */ + public function zScan($key, &$iterator, $pattern = null, $count = 0) { } + + /** + * Scan a HASH value for members, with an optional pattern and count. + * + * @param string $key + * @param int $iterator + * @param string $pattern Optional pattern to match against. + * @param int $count How many keys to return in a go (only a sugestion to Redis). + * + * @return array An array of members that match our pattern. + * @link https://redis.io/commands/hscan + * @example + *
+     * $iterator = null;
+     * while($elements = $redisCluster->hscan('hash', $iterator)) {
+     *    foreach($elements as $key => $value) {
+     *         echo $key . ' => ' . $value . PHP_EOL;
+     *     }
+     * }
+     * 
+ */ + public function hScan($key, &$iterator, $pattern = null, $count = 0) { } + + /** + * Detect whether we're in ATOMIC/MULTI/PIPELINE mode. + * + * @return int Either RedisCluster::ATOMIC, RedisCluster::MULTI or RedisCluster::PIPELINE + * @example $redisCluster->getMode(); + */ + public function getMode() { } + + /** + * The last error message (if any) + * + * @return string|null A string with the last returned script based error message, or NULL if there is no error + * @example + *
+     * $redisCluster->eval('this-is-not-lua');
+     * $err = $redisCluster->getLastError();
+     * // "ERR Error compiling script (new function): user_script:1: '=' expected near '-'"
+     * 
+ */ + public function getLastError() { } + + /** + * Clear the last error message + * + * @return bool true + * @example + *
+     * $redisCluster->set('x', 'a');
+     * $redisCluster->incr('x');
+     * $err = $redisCluster->getLastError();
+     * // "ERR value is not an integer or out of range"
+     * $redisCluster->clearLastError();
+     * $err = $redisCluster->getLastError();
+     * // NULL
+     * 
+ */ + public function clearLastError() { } + + /** + * Get client option + * + * @param string $name parameter name + * + * @return int Parameter value. + * @example + * // return RedisCluster::SERIALIZER_NONE, RedisCluster::SERIALIZER_PHP, or RedisCluster::SERIALIZER_IGBINARY. + * $redisCluster->getOption(RedisCluster::OPT_SERIALIZER); + */ + public function getOption($name) { } + + /** + * Set client option. + * + * @param string $name parameter name + * @param string $value parameter value + * + * @return bool TRUE on success, FALSE on error. + * @example + *
+     * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_NONE);        // don't serialize data
+     * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_PHP);         // use built-in serialize/unserialize
+     * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_IGBINARY);    // use igBinary serialize/unserialize
+     * $redisCluster->setOption(RedisCluster::OPT_PREFIX, 'myAppName:');                             // use custom prefix on all keys
+     * 
+ */ + public function setOption($name, $value) { } + + /** + * A utility method to prefix the value with the prefix setting for phpredis. + * + * @param mixed $value The value you wish to prefix + * + * @return string If a prefix is set up, the value now prefixed. If there is no prefix, the value will be returned unchanged. + * @example + *
+     * $redisCluster->setOption(RedisCluster::OPT_PREFIX, 'my-prefix:');
+     * $redisCluster->_prefix('my-value'); // Will return 'my-prefix:my-value'
+     * 
+ */ + public function _prefix($value) { } + + /** + * A utility method to serialize values manually. This method allows you to serialize a value with whatever + * serializer is configured, manually. This can be useful for serialization/unserialization of data going in + * and out of EVAL commands as phpredis can't automatically do this itself. Note that if no serializer is + * set, phpredis will change Array values to 'Array', and Objects to 'Object'. + * + * @param mixed $value The value to be serialized. + * + * @return mixed + * @example + *
+     * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_NONE);
+     * $redisCluster->_serialize("foo"); // returns "foo"
+     * $redisCluster->_serialize(Array()); // Returns "Array"
+     * $redisCluster->_serialize(new stdClass()); // Returns "Object"
+     *
+     * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_PHP);
+     * $redisCluster->_serialize("foo"); // Returns 's:3:"foo";'
+     * 
+ */ + public function _serialize($value) { } + + /** + * A utility method to unserialize data with whatever serializer is set up. If there is no serializer set, the + * value will be returned unchanged. If there is a serializer set up, and the data passed in is malformed, an + * exception will be thrown. This can be useful if phpredis is serializing values, and you return something from + * redis in a LUA script that is serialized. + * + * @param string $value The value to be unserialized + * + * @return mixed + * @example + *
+     * $redisCluster->setOption(RedisCluster::OPT_SERIALIZER, RedisCluster::SERIALIZER_PHP);
+     * $redisCluster->_unserialize('a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}'); // Will return Array(1,2,3)
+     * 
+ */ + public function _unserialize($value) { } + + /** + * Return all redis master nodes + * + * @return array + * @example + *
+     * $redisCluster->_masters(); // Will return [[0=>'127.0.0.1','6379'],[0=>'127.0.0.1','6380']]
+     * 
+ */ + public function _masters() { } + + /** + * Enter and exit transactional mode. + * + * @param int $mode RedisCluster::MULTI|RedisCluster::PIPELINE + * Defaults to RedisCluster::MULTI. + * A RedisCluster::MULTI block of commands runs as a single transaction; + * a RedisCluster::PIPELINE block is simply transmitted faster to the server, but without any guarantee + * of atomicity. discard cancels a transaction. + * + * @return Redis returns the Redis instance and enters multi-mode. + * Once in multi-mode, all subsequent method calls return the same object until exec() is called. + * @link https://redis.io/commands/multi + * @example + *
+     * $ret = $redisCluster->multi()
+     *      ->set('key1', 'val1')
+     *      ->get('key1')
+     *      ->set('key2', 'val2')
+     *      ->get('key2')
+     *      ->exec();
+     *
+     * //$ret == array (
+     * //    0 => TRUE,
+     * //    1 => 'val1',
+     * //    2 => TRUE,
+     * //    3 => 'val2');
+     * 
+ */ + public function multi($mode = RedisCluster::MULTI) { } + + /** + * @see multi() + * @return void|array + * @link https://redis.io/commands/exec + */ + public function exec() { } + + /** + * @see multi() + * @link https://redis.io/commands/discard + */ + public function discard() { } + + /** + * Watches a key for modifications by another client. If the key is modified between WATCH and EXEC, + * the MULTI/EXEC transaction will fail (return FALSE). unwatch cancels all the watching of all keys by this client. + * + * @param string|array $key : a list of keys + * + * @return void + * @link https://redis.io/commands/watch + * @example + *
+     * $redisCluster->watch('x');
+     * // long code here during the execution of which other clients could well modify `x`
+     * $ret = $redisCluster->multi()
+     *          ->incr('x')
+     *          ->exec();
+     * // $ret = FALSE if x has been modified between the call to WATCH and the call to EXEC.
+     * 
+ */ + public function watch($key) { } + + /** + * @see watch() + * @link https://redis.io/commands/unwatch + */ + public function unwatch() { } + + /** + * Performs a synchronous save at a specific node. + * + * @param string|array $nodeParams key or [host,port] + * + * @return bool TRUE in case of success, FALSE in case of failure. + * If a save is already running, this command will fail and return FALSE. + * @link https://redis.io/commands/save + * @example + * $redisCluster->save('x'); //key + * $redisCluster->save(['127.0.0.1',6379]); //[host,port] + */ + public function save($nodeParams) { } + + /** + * Performs a background save at a specific node. + * + * @param string|array $nodeParams key or [host,port] + * + * @return bool TRUE in case of success, FALSE in case of failure. + * If a save is already running, this command will fail and return FALSE. + * @link https://redis.io/commands/bgsave + */ + public function bgsave($nodeParams) { } + + /** + * Removes all entries from the current database at a specific node. + * + * @param string|array $nodeParams key or [host,port] + * + * @return bool Always TRUE. + * @link https://redis.io/commands/flushdb + */ + public function flushDB($nodeParams) { } + + /** + * Removes all entries from all databases at a specific node. + * + * @param string|array $nodeParams key or [host,port] + * + * @return bool Always TRUE. + * @link https://redis.io/commands/flushall + */ + public function flushAll($nodeParams) { } + + /** + * Returns the current database's size at a specific node. + * + * @param string|array $nodeParams key or [host,port] + * + * @return int DB size, in number of keys. + * @link https://redis.io/commands/dbsize + * @example + *
+     * $count = $redisCluster->dbSize('x');
+     * echo "Redis has $count keys\n";
+     * 
+ */ + public function dbSize($nodeParams) { } + + /** + * Starts the background rewrite of AOF (Append-Only File) at a specific node. + * + * @param string|array $nodeParams key or [host,port] + * + * @return bool TRUE in case of success, FALSE in case of failure. + * @link https://redis.io/commands/bgrewriteaof + * @example $redisCluster->bgrewriteaof('x'); + */ + public function bgrewriteaof($nodeParams) { } + + /** + * Returns the timestamp of the last disk save at a specific node. + * + * @param string|array $nodeParams key or [host,port] + * + * @return int timestamp. + * @link https://redis.io/commands/lastsave + * @example $redisCluster->lastSave('x'); + */ + public function lastSave($nodeParams) { } + + /** + * Returns an associative array of strings and integers + * + * @param string $option Optional. The option to provide redis. + * SERVER | CLIENTS | MEMORY | PERSISTENCE | STATS | REPLICATION | CPU | CLASTER | KEYSPACE + * | COMANDSTATS + * + * Returns an associative array of strings and integers, with the following keys: + * - redis_version + * - redis_git_sha1 + * - redis_git_dirty + * - redis_build_id + * - redis_mode + * - os + * - arch_bits + * - multiplexing_api + * - atomicvar_api + * - gcc_version + * - process_id + * - run_id + * - tcp_port + * - uptime_in_seconds + * - uptime_in_days + * - hz + * - lru_clock + * - executable + * - config_file + * - connected_clients + * - client_longest_output_list + * - client_biggest_input_buf + * - blocked_clients + * - used_memory + * - used_memory_human + * - used_memory_rss + * - used_memory_rss_human + * - used_memory_peak + * - used_memory_peak_human + * - used_memory_peak_perc + * - used_memory_peak + * - used_memory_overhead + * - used_memory_startup + * - used_memory_dataset + * - used_memory_dataset_perc + * - total_system_memory + * - total_system_memory_human + * - used_memory_lua + * - used_memory_lua_human + * - maxmemory + * - maxmemory_human + * - maxmemory_policy + * - mem_fragmentation_ratio + * - mem_allocator + * - active_defrag_running + * - lazyfree_pending_objects + * - mem_fragmentation_ratio + * - loading + * - rdb_changes_since_last_save + * - rdb_bgsave_in_progress + * - rdb_last_save_time + * - rdb_last_bgsave_status + * - rdb_last_bgsave_time_sec + * - rdb_current_bgsave_time_sec + * - rdb_last_cow_size + * - aof_enabled + * - aof_rewrite_in_progress + * - aof_rewrite_scheduled + * - aof_last_rewrite_time_sec + * - aof_current_rewrite_time_sec + * - aof_last_bgrewrite_status + * - aof_last_write_status + * - aof_last_cow_size + * - changes_since_last_save + * - aof_current_size + * - aof_base_size + * - aof_pending_rewrite + * - aof_buffer_length + * - aof_rewrite_buffer_length + * - aof_pending_bio_fsync + * - aof_delayed_fsync + * - loading_start_time + * - loading_total_bytes + * - loading_loaded_bytes + * - loading_loaded_perc + * - loading_eta_seconds + * - total_connections_received + * - total_commands_processed + * - instantaneous_ops_per_sec + * - total_net_input_bytes + * - total_net_output_bytes + * - instantaneous_input_kbps + * - instantaneous_output_kbps + * - rejected_connections + * - maxclients + * - sync_full + * - sync_partial_ok + * - sync_partial_err + * - expired_keys + * - evicted_keys + * - keyspace_hits + * - keyspace_misses + * - pubsub_channels + * - pubsub_patterns + * - latest_fork_usec + * - migrate_cached_sockets + * - slave_expires_tracked_keys + * - active_defrag_hits + * - active_defrag_misses + * - active_defrag_key_hits + * - active_defrag_key_misses + * - role + * - master_replid + * - master_replid2 + * - master_repl_offset + * - second_repl_offset + * - repl_backlog_active + * - repl_backlog_size + * - repl_backlog_first_byte_offset + * - repl_backlog_histlen + * - master_host + * - master_port + * - master_link_status + * - master_last_io_seconds_ago + * - master_sync_in_progress + * - slave_repl_offset + * - slave_priority + * - slave_read_only + * - master_sync_left_bytes + * - master_sync_last_io_seconds_ago + * - master_link_down_since_seconds + * - connected_slaves + * - min-slaves-to-write + * - min-replicas-to-write + * - min_slaves_good_slaves + * - used_cpu_sys + * - used_cpu_user + * - used_cpu_sys_children + * - used_cpu_user_children + * - cluster_enabled + * + * @link https://redis.io/commands/info + * @return array + * @example + *
+     * $redisCluster->info();
+     *
+     * or
+     *
+     * $redisCluster->info("COMMANDSTATS"); //Information on the commands that have been run (>=2.6 only)
+     * $redisCluster->info("CPU"); // just CPU information from Redis INFO
+     * 
+ */ + public function info($option = null) { } + + /** + * @since redis >= 2.8.12. + * Returns the role of the instance in the context of replication + * + * @param string|array $nodeParams key or [host,port] + * + * @return array + * @link https://redis.io/commands/role + * @example + *
+     * $redisCluster->role(['127.0.0.1',6379]);
+     * // [ 0=>'master',1 => 3129659, 2 => [ ['127.0.0.1','9001','3129242'], ['127.0.0.1','9002','3129543'] ] ]
+     * 
+ */ + public function role($nodeParams) { } + + /** + * Returns a random key at the specified node + * + * @param string|array $nodeParams key or [host,port] + * + * @return string an existing key in redis. + * @link https://redis.io/commands/randomkey + * @example + *
+     * $key = $redisCluster->randomKey('x');
+     * $surprise = $redisCluster->get($key);  // who knows what's in there.
+     * 
+ */ + public function randomKey($nodeParams) { } + + /** + * Return the specified node server time. + * + * @param string|array $nodeParams key or [host,port] + * + * @return array If successfully, the time will come back as an associative array with element zero being the + * unix timestamp, and element one being microseconds. + * @link https://redis.io/commands/time + * @example + *
+     * var_dump( $redisCluster->time('x') );
+     * //// Output:
+     * //
+     * // array(2) {
+     * //   [0] => string(10) "1342364352"
+     * //   [1] => string(6) "253002"
+     * // }
+     * 
+ */ + public function time($nodeParams) { } + + /** + * Check the specified node status + * + * @param string|array $nodeParams key or [host,port] + * + * @return string STRING: +PONG on success. Throws a RedisException object on connectivity error, as described + * above. + * @link https://redis.io/commands/ping + */ + public function ping($nodeParams) { } + + /** + * Returns message. + * + * @param string|array $nodeParams key or [host,port] + * @param string $msg + * + * @return mixed + */ + public function echo ($nodeParams, $msg) { } + + /** + * Returns Array reply of details about all Redis Cluster commands. + * + * @return mixed array | bool + */ + public function command() { } + + /** + * Send arbitrary things to the redis server at the specified node + * + * @param string|array $nodeParams key or [host,port] + * @param string $command Required command to send to the server. + * @param mixed $arguments Optional variable amount of arguments to send to the server. + * + * @return mixed + */ + public function rawCommand($nodeParams, $command, $arguments) { } + + /** + * @since redis >= 3.0 + * Executes cluster command + * + * @param string|array $nodeParams key or [host,port] + * @param string $command Required command to send to the server. + * @param mixed $arguments Optional variable amount of arguments to send to the server. + * + * @return mixed + * @link https://redis.io/commands#cluster + * @example + *
+     * $redisCluster->cluster(['127.0.0.1',6379],'INFO');
+     * 
+ */ + public function cluster($nodeParams, $command, $arguments) { } + + /** + * Allows you to get information of the cluster client + * + * @param string|array $nodeParams key or [host,port] + * @param string $subCmd can be: 'LIST', 'KILL', 'GETNAME', or 'SETNAME' + * @param string $args optional arguments + */ + public function client($nodeParams, $subCmd, $args) { } + + /** + * Get or Set the redis config keys. + * + * @param string|array $nodeParams key or [host,port] + * @param string $operation either `GET` or `SET` + * @param string $key for `SET`, glob-pattern for `GET`. See https://redis.io/commands/config-get for examples. + * @param string $value optional string (only for `SET`) + * + * @return array Associative array for `GET`, key -> value + * @link https://redis.io/commands/config-get + * @link https://redis.io/commands/config-set + * @example + *
+     * $redisCluster->config(['127.0.0.1',6379], "GET", "*max-*-entries*");
+     * $redisCluster->config(['127.0.0.1',6379], "SET", "dir", "/var/run/redis/dumps/");
+     * 
+ */ + public function config($nodeParams, $operation, $key, $value) { } + + /** + * A command allowing you to get information on the Redis pub/sub system. + * + * @param string|array $nodeParams key or [host,port] + * + * @param string $keyword String, which can be: "channels", "numsub", or "numpat" + * @param string|array $argument Optional, variant. + * For the "channels" subcommand, you can pass a string pattern. + * For "numsub" an array of channel names + * + * @return array|int Either an integer or an array. + * - channels Returns an array where the members are the matching channels. + * - numsub Returns a key/value array where the keys are channel names and + * values are their counts. + * - numpat Integer return containing the number active pattern subscriptions. + * @link https://redis.io/commands/pubsub + * @example + *
+     * $redisCluster->pubsub(['127.0.0.1',6379], 'channels'); // All channels
+     * $redisCluster->pubsub(['127.0.0.1',6379], 'channels', '*pattern*'); // Just channels matching your pattern
+     * $redisCluster->pubsub(['127.0.0.1',6379], 'numsub', array('chan1', 'chan2')); // Get subscriber counts for
+     * 'chan1' and 'chan2'
+     * $redisCluster->pubsub(['127.0.0.1',6379], 'numpat'); // Get the number of pattern subscribers
+     * 
+ */ + public function pubsub($nodeParams, $keyword, $argument) { } + + /** + * Execute the Redis SCRIPT command to perform various operations on the scripting subsystem. + * + * @param string|array $nodeParams key or [host,port] + * @param string $command load | flush | kill | exists + * @param string $script + * + * @return mixed + * @link https://redis.io/commands/script-load + * @link https://redis.io/commands/script-kill + * @link https://redis.io/commands/script-flush + * @link https://redis.io/commands/script-exists + * @example + *
+     * $redisCluster->script(['127.0.0.1',6379], 'load', $script);
+     * $redisCluster->script(['127.0.0.1',6379], 'flush');
+     * $redisCluster->script(['127.0.0.1',6379], 'kill');
+     * $redisCluster->script(['127.0.0.1',6379], 'exists', $script1, [$script2, $script3, ...]);
+     * 
+ * + * SCRIPT LOAD will return the SHA1 hash of the passed script on success, and FALSE on failure. + * SCRIPT FLUSH should always return TRUE + * SCRIPT KILL will return true if a script was able to be killed and false if not + * SCRIPT EXISTS will return an array with TRUE or FALSE for each passed script + */ + public function script($nodeParams, $command, $script) { } + + /** + * This function is used in order to read and reset the Redis slow queries log. + * + * @param string|array $nodeParams key or [host,port] + * @param string $command + * @param mixed $argument + * + * @link https://redis.io/commands/slowlog + * @example + *
+     * $redisCluster->slowLog(['127.0.0.1',6379],'get','2');
+     * 
+ */ + public function slowLog($nodeParams, $command, $argument) { } + + /** + * Add one or more geospatial items in the geospatial index represented using a sorted set + * + * @param string $key + * @param float $longitude + * @param float $latitude + * @param string $member + * + * @link https://redis.io/commands/geoadd + * @example + *
+     * $redisCluster->geoAdd('Sicily', 13.361389, 38.115556, 'Palermo'); // int(1)
+     * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
+     * 
+ */ + public function geoAdd($key, $longitude, $latitude, $member) { } + + /** + * Returns members of a geospatial index as standard geohash strings + * + * @param $key string + * @param $member1 string + * @param $member2 string + * @param $memberN string + * + * @example + *
+     * $redisCluster->geoAdd('Sicily', 13.361389, 38.115556, 'Palermo'); // int(1)
+     * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
+     * $redisCluster->geohash('Sicily','Palermo','Catania');//['sqc8b49rny0','sqdtr74hyu0']
+     * 
+ */ + public function geohash($key, $member1, $member2 = null, $memberN = null) { } + + /** + * Returns longitude and latitude of members of a geospatial index + * + * @param $key string + * @param $member1 string + * @param $member2 string + * @param $memberN string + * + * @example + *
+     * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
+     * $redisCluster->geopos('Sicily','Palermo');//[['13.36138933897018433','38.11555639549629859']]
+     * 
+ */ + public function geopos($key, $member1, $member2 = null, $memberN = null) { } + + /** + * + * Returns the distance between two members of a geospatial index + * + * @param string $key + * @param string $member1 + * @param string $member2 + * @param string $unit The unit must be one of the following, and defaults to meters: + * m for meters. + * km for kilometers. + * mi for miles. + * ft for feet. + * + * @link https://redis.io/commands/geoadd + * @example + *
+     * $redisCluster->geoAdd('Sicily', 13.361389, 38.115556, 'Palermo'); // int(1)
+     * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
+     * $redisCluster->geoDist('Sicily', 'Palermo' ,'Catania'); // float(166274.1516)
+     * $redisCluster->geoDist('Sicily', 'Palermo','Catania', 'km'); // float(166.2742)
+     * 
+ */ + public function geoDist($key, $member1, $member2, $unit = 'm') { } + + /** + * Query a sorted set representing a geospatial index to fetch members matching a given maximum distance from a point + * + * @param string $key + * @param float $longitude + * @param float $latitude + * @param float $radius + * @param string $radiusUnit String can be: "m" for meters; "km" for kilometers , "mi" for miles, or "ft" for feet. + * @param array $options + * + * @link https://redis.io/commands/georadius + * @example + *
+     * $redisCluster->del('Sicily');
+     * $redisCluster->geoAdd('Sicily', 12.361389, 35.115556, 'Palermo'); // int(1)
+     * $redisCluster->geoAdd('Sicily', 15.087269, 37.502669, "Catania"); // int(1)
+     * $redisCluster->geoAdd('Sicily', 13.3585, 35.330022, "Agrigento"); // int(1)
+     *
+     * var_dump( $redisCluster->geoRadius('Sicily',13.3585, 35.330022, 300, 'km', ['WITHDIST' ,'DESC']) );
+     *
+     * array(3) {
+     *    [0]=>
+     *   array(2) {
+     *        [0]=>
+     *     string(7) "Catania"
+     *        [1]=>
+     *     string(8) "286.9362"
+     *   }
+     *   [1]=>
+     *   array(2) {
+     *        [0]=>
+     *     string(7) "Palermo"
+     *        [1]=>
+     *     string(7) "93.6874"
+     *   }
+     *   [2]=>
+     *   array(2) {
+     *        [0]=>
+     *     string(9) "Agrigento"
+     *        [1]=>
+     *     string(6) "0.0002"
+     *   }
+     * }
+     * var_dump( $redisCluster->geoRadiusByMember('Sicily','Agrigento', 100, 'km', ['WITHDIST' ,'DESC']) );
+     *
+     * * array(2) {
+     *    [0]=>
+     *   array(2) {
+     *        [0]=>
+     *     string(7) "Palermo"
+     *        [1]=>
+     *     string(7) "93.6872"
+     *   }
+     *   [1]=>
+     *   array(2) {
+     *        [0]=>
+     *     string(9) "Agrigento"
+     *        [1]=>
+     *     string(6) "0.0000"
+     *   }
+     * }
+     *
+     * 
+     */
+    public function geoRadius($key, $longitude, $latitude, $radius, $radiusUnit, array $options) { }
+
+    /**
+     * Query a sorted set representing a geospatial index to fetch members matching a given maximum distance from a member
+     *
+     * @see geoRadius
+     *
+     * @param string $key
+     * @param string $member
+     * @param float  $radius
+     * @param string $radiusUnit
+     * @param array  $options
+     */
+    public function geoRadiusByMember($key, $member, $radius, $radiusUnit, array $options) { }
+
+}
+
+class RedisClusterException extends Exception {}
diff --git a/psalm.xml b/psalm.xml
new file mode 100644
index 0000000000..47825b3164
--- /dev/null
+++ b/psalm.xml
@@ -0,0 +1,38 @@
+
+
+	
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+			
+			
+			
+			
+		
+	
+	
+		
+	
+	
+		
+		
+		
+		
+		
+	
+

From 8b3b5ae5bebc045e241108b32751f976feae7ecb Mon Sep 17 00:00:00 2001
From: Daniel Kesselberg 
Date: Fri, 10 Jul 2020 12:30:38 +0200
Subject: [PATCH 02/16] Add stubs for phpseclib

Signed-off-by: Daniel Kesselberg 
---
 build/stubs/sftp.php | 83 ++++++++++++++++++++++++++++++++++++++++++++
 build/stubs/ssh2.php | 69 ++++++++++++++++++++++++++++++++++++
 psalm.xml            |  5 ++-
 3 files changed, 156 insertions(+), 1 deletion(-)
 create mode 100644 build/stubs/sftp.php
 create mode 100644 build/stubs/ssh2.php

diff --git a/build/stubs/sftp.php b/build/stubs/sftp.php
new file mode 100644
index 0000000000..77b9a7c93b
--- /dev/null
+++ b/build/stubs/sftp.php
@@ -0,0 +1,83 @@
+
 			
 			
+			
 			
 			
 		
 	
 	
 		
+		
 	
 	
 		
 		
 		
 		
-		
+		
+		
 	
 

From fd6cdbcb042bdee432b41bdca7db59a59f25a3ad Mon Sep 17 00:00:00 2001
From: Daniel Kesselberg 
Date: Fri, 10 Jul 2020 13:44:29 +0200
Subject: [PATCH 03/16] Add template functions

for some reason they are not loaded by default.

Signed-off-by: Daniel Kesselberg 
---
 psalm.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/psalm.xml b/psalm.xml
index 42c8142cf4..06cdf30031 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -14,6 +14,7 @@
 		
 		
 		
+		
 		
 		
 		

From 6ba55d78dcc786e7e4fffdb746086d8be4fbef19 Mon Sep 17 00:00:00 2001
From: Daniel Kesselberg 
Date: Fri, 10 Jul 2020 13:48:46 +0200
Subject: [PATCH 04/16] Add psalm as composer dependency

Signed-off-by: Daniel Kesselberg 
---
 composer.json |  5 +++--
 composer.lock | 47 +++++++++++++++++++++++++++++++++++++++++------
 2 files changed, 44 insertions(+), 8 deletions(-)

diff --git a/composer.json b/composer.json
index 27be9530b3..088ee20e10 100644
--- a/composer.json
+++ b/composer.json
@@ -16,11 +16,12 @@
         "ext-pdo": "*"
     },
     "require-dev": {
-        "nextcloud/coding-standard": "^0.3.0"
+        "nextcloud/coding-standard": "^0.3.0",
+        "psalm/phar": "^3.12"
     },
     "scripts": {
         "cs:fix": "php-cs-fixer fix",
         "cs:check": "php-cs-fixer fix --dry-run --diff",
-        "lint": "find . -name \\*.php -not -path './lib/composer/*' -not -path './build/.phan/*' -print0 | xargs -0 -n1 php -l"
+        "lint": "find . -name \\*.php -not -path './lib/composer/*' -not -path './build/.phan/*' -not -path './build/stubs/*' -print0 | xargs -0 -n1 php -l"
     }
 }
diff --git a/composer.lock b/composer.lock
index dc8943a6de..68eda63cb7 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "0178ca2eb2f23b2588e729ff6a6f6c8f",
+    "content-hash": "e1676a14f39c8f5768692980f6e53dcb",
     "packages": [],
     "packages-dev": [
         {
@@ -501,6 +501,37 @@
             ],
             "time": "2018-02-15T16:58:55+00:00"
         },
+        {
+            "name": "psalm/phar",
+            "version": "3.12.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/psalm/phar.git",
+                "reference": "19957cf3088ffc9d7c02f9e692f9c0a7522fe3ff"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/psalm/phar/zipball/19957cf3088ffc9d7c02f9e692f9c0a7522fe3ff",
+                "reference": "19957cf3088ffc9d7c02f9e692f9c0a7522fe3ff",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.1"
+            },
+            "conflict": {
+                "vimeo/psalm": "*"
+            },
+            "bin": [
+                "psalm.phar"
+            ],
+            "type": "library",
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "Composer-based Psalm Phar",
+            "time": "2020-07-03T19:29:42+00:00"
+        },
         {
             "name": "psr/container",
             "version": "1.0.0",
@@ -1831,16 +1862,16 @@
         },
         {
             "name": "symfony/service-contracts",
-            "version": "v2.1.2",
+            "version": "v2.1.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/service-contracts.git",
-                "reference": "66a8f0957a3ca54e4f724e49028ab19d75a8918b"
+                "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/service-contracts/zipball/66a8f0957a3ca54e4f724e49028ab19d75a8918b",
-                "reference": "66a8f0957a3ca54e4f724e49028ab19d75a8918b",
+                "url": "https://api.github.com/repos/symfony/service-contracts/zipball/58c7475e5457c5492c26cc740cc0ad7464be9442",
+                "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442",
                 "shasum": ""
             },
             "require": {
@@ -1854,6 +1885,10 @@
             "extra": {
                 "branch-alias": {
                     "dev-master": "2.1-dev"
+                },
+                "thanks": {
+                    "name": "symfony/contracts",
+                    "url": "https://github.com/symfony/contracts"
                 }
             },
             "autoload": {
@@ -1899,7 +1934,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2020-05-20T17:43:50+00:00"
+            "time": "2020-07-06T13:23:11+00:00"
         },
         {
             "name": "symfony/stopwatch",

From dd721fc5de51afa535cfdf8405672d5e2335038a Mon Sep 17 00:00:00 2001
From: Daniel Kesselberg 
Date: Fri, 10 Jul 2020 14:08:32 +0200
Subject: [PATCH 05/16] Fix: UndefinedFunction Function x does not exist in
 templates

Signed-off-by: Daniel Kesselberg 
---
 psalm.xml | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/psalm.xml b/psalm.xml
index 06cdf30031..f70591ea2f 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -14,7 +14,6 @@
 		
 		
 		
-		
 		
 		
 		
@@ -39,4 +38,16 @@
 		
 		
 	
+	
+		
+			
+				
+				
+				
+				
+				
+				
+			
+		
+	
 

From 87d738d9fa53d77e8b26ab1c54d59978ce8ceea7 Mon Sep 17 00:00:00 2001
From: Daniel Kesselberg 
Date: Wed, 15 Jul 2020 22:38:09 +0200
Subject: [PATCH 06/16] Exclude stubs from code style check

Signed-off-by: Daniel Kesselberg 
---
 .php_cs.dist | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.php_cs.dist b/.php_cs.dist
index 0442348cd9..59781f0f83 100644
--- a/.php_cs.dist
+++ b/.php_cs.dist
@@ -13,6 +13,7 @@ $config
 	->exclude('config')
 	->exclude('data')
 	->notPath('3rdparty')
+	->notPath('build/stubs')
 	->notPath('composer')
 	->notPath('vendor')
 	->in(__DIR__);

From 238f181dbf65f17b8090ec997802074c3834d98d Mon Sep 17 00:00:00 2001
From: Daniel Kesselberg 
Date: Mon, 10 Aug 2020 22:25:51 +0200
Subject: [PATCH 07/16] Suppress warning for $_ and $l

Signed-off-by: Daniel Kesselberg 
---
 psalm.xml | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/psalm.xml b/psalm.xml
index f70591ea2f..ae05956655 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -4,7 +4,7 @@
 	resolveFromConfigFile="true"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xmlns="https://getpsalm.org/schema/config"
-	xsi:schemaLocation="https://getpsalm.org/schema/config lib/composer/vimeo/psalm/config.xsd"
+	xsi:schemaLocation="https://getpsalm.org/schema/config"
 >
 	
 		
@@ -49,5 +49,13 @@
 				
 			
 		
+		
+			
+				
+				
+				
+				
+			
+		
 	
 

From 568e1f6d3a823d91ddeef1c20c01d64ee8bd65fa Mon Sep 17 00:00:00 2001
From: Daniel Kesselberg 
Date: Fri, 14 Aug 2020 14:31:31 +0200
Subject: [PATCH 08/16] Remove directory/file element.

It will suppress any error of that kind in the file. That was not intended.

Signed-off-by: Daniel Kesselberg 
---
 psalm.xml | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/psalm.xml b/psalm.xml
index ae05956655..53ffa8974b 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -45,16 +45,12 @@
 				
 				
 				
-				
-				
 			
 		
 		
 			
 				
 				
-				
-				
 			
 		
 	

From fe3a628470d0c348ed65ee27c3f2e4d46b00c315 Mon Sep 17 00:00:00 2001
From: Daniel Kesselberg 
Date: Fri, 14 Aug 2020 14:37:05 +0200
Subject: [PATCH 09/16] Supress UndefinedGlobalVariable for
 register_command.php

Signed-off-by: Daniel Kesselberg 
---
 psalm.xml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/psalm.xml b/psalm.xml
index 53ffa8974b..fd5d9bfcbe 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -51,6 +51,9 @@
 			
 				
 				
+				
+				
+				
 			
 		
 	

From 90aa451447c6013f3e70ff1c256a4074301c45f8 Mon Sep 17 00:00:00 2001
From: Daniel Kesselberg 
Date: Fri, 14 Aug 2020 16:06:33 +0200
Subject: [PATCH 10/16] Fix variable name for referenced variable.

Signed-off-by: Daniel Kesselberg 
---
 psalm.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/psalm.xml b/psalm.xml
index fd5d9bfcbe..289fc1f084 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -49,8 +49,8 @@
 		
 		
 			
-				
-				
+				
+				
 				
 				
 				

From 8d18f0a7d736594e77191f3139610833212b0ecf Mon Sep 17 00:00:00 2001
From: Daniel Kesselberg 
Date: Fri, 14 Aug 2020 16:18:23 +0200
Subject: [PATCH 11/16] Suppress warning for template functions.

https://github.com/nextcloud/server/blob/6e8e34fef920a073118c22111f0f31eb3b3a91dc/lib/private/legacy/template/functions.php
Signed-off-by: Daniel Kesselberg 
---
 psalm.xml | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/psalm.xml b/psalm.xml
index 289fc1f084..0beffd3571 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -41,16 +41,36 @@
 	
 		
 			
+				
 				
+				
+				
+				
+				
 				
 				
+				
 				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
 			
 		
 		
 			
-				
 				
+				
+				
 				
 				
 				

From 4efca69f8d411ac906f94301b4a2c5ae58858f04 Mon Sep 17 00:00:00 2001
From: Morris Jobke 
Date: Tue, 18 Aug 2020 09:02:31 +0200
Subject: [PATCH 12/16] Add psalm baseline

Signed-off-by: Morris Jobke 
---
 build/psalm-baseline.xml | 6295 ++++++++++++++++++++++++++++++++++++++
 psalm.xml                |    1 +
 2 files changed, 6296 insertions(+)
 create mode 100644 build/psalm-baseline.xml

diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml
new file mode 100644
index 0000000000..5a2d3ab43b
--- /dev/null
+++ b/build/psalm-baseline.xml
@@ -0,0 +1,6295 @@
+
+
+  
+    
+      string|null
+    
+  
+  
+    
+      $calendarData
+    
+  
+  
+    
+      $data
+    
+  
+  
+    
+      $data
+    
+  
+  
+    
+      array
+    
+    
+      $vcardData
+    
+  
+  
+    
+      $principalUri
+    
+    
+      $data
+    
+  
+  
+    
+      array
+    
+  
+  
+    
+      $this->appRoot
+    
+    
+      $this->appRoot
+      $this->appRoot
+    
+  
+  
+    
+      listen
+      listen
+      listen
+    
+  
+  
+    
+      $e->getCode()
+    
+    
+      is_array($notification)
+    
+  
+  
+    
+      10
+    
+  
+  
+    
+      (int) $comment->getId()
+    
+  
+  
+    
+      \Sabre\Uri\split($this->principalUri)
+    
+  
+  
+    
+      run
+    
+  
+  
+    
+      $propQuery->createFunction($addressbooksQuery->getSQL())
+      $cardQuery->createFunction($propQuery->getSQL())
+      $cardQuery->createFunction($addressbooksQuery->getSQL())
+    
+  
+  
+    
+      new \Sabre\DAV\Auth\Plugin($authBackend, 'ownCloud')
+    
+    
+      $baseuri
+    
+  
+  
+    
+      new \Sabre\DAV\Auth\Plugin($authBackend, 'ownCloud')
+    
+    
+      $baseuri
+    
+  
+  
+    
+      \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false)
+      \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog)
+    
+    
+      $baseuri
+    
+  
+  
+    
+      'OCA\DAV\Connector\Sabre::addPlugin'
+    
+    
+      dispatch
+    
+    
+      $baseuri
+    
+  
+  
+    
+      $baseuri
+    
+  
+  
+    
+      $baseuri
+    
+  
+  
+    
+      $argv[5]
+    
+    
+      require '../../../../3rdparty/autoload.php'
+    
+  
+  
+    
+      \Sabre\Uri\split($principalUri)
+    
+    
+      getAppDataDir
+    
+  
+  
+    
+      Uri\split($this->principalInfo['uri'])
+    
+  
+  
+    
+      run
+    
+  
+  
+    
+      run
+    
+  
+  
+    
+      File
+    
+  
+  
+    
+      $user['uri']
+    
+    
+      setDateTime
+      setDateTime
+    
+    
+      $newCalendarData->VEVENT->DTSTART
+      $existingBirthday->VEVENT->DTSTART
+      $newCalendarData->VEVENT->SUMMARY
+      $existingBirthday->VEVENT->SUMMARY
+    
+  
+  
+    
+      array
+    
+    
+      $calendarData
+    
+  
+  
+    
+      string|void
+    
+    
+      $this->objectData['calendardata']
+    
+  
+  
+    
+      $query->createParameter('principaluri')
+      $query->createNamedParameter(self::ACCESS_PUBLIC)
+      $query->createNamedParameter(self::ACCESS_PUBLIC)
+      $query->createNamedParameter($value)
+      $query->createParameter('uri')
+      $outerQuery->createFunction($innerQuery->getSQL())
+      $calendarObjectIdQuery->createNamedParameter($componentTypes, IQueryBuilder::PARAM_STR_ARRAY)
+      $query->createNamedParameter($matches, IQueryBuilder::PARAM_INT_ARRAY)
+    
+    
+      '\OCA\DAV\CalDAV\CalDavBackend::createCalendar'
+      '\OCA\DAV\CalDAV\CalDavBackend::updateCalendar'
+      '\OCA\DAV\CalDAV\CalDavBackend::deleteCalendar'
+      '\OCA\DAV\CalDAV\CalDavBackend::createCalendarObject'
+      '\OCA\DAV\CalDAV\CalDavBackend::createCachedCalendarObject'
+      '\OCA\DAV\CalDAV\CalDavBackend::updateCalendarObject'
+      '\OCA\DAV\CalDAV\CalDavBackend::updateCachedCalendarObject'
+      '\OCA\DAV\CalDAV\CalDavBackend::deleteCalendarObject'
+      '\OCA\DAV\CalDAV\CalDavBackend::deleteCachedCalendarObject'
+      '\OCA\DAV\CalDAV\CalDavBackend::createSubscription'
+      '\OCA\DAV\CalDAV\CalDavBackend::updateSubscription'
+      '\OCA\DAV\CalDAV\CalDavBackend::deleteSubscription'
+      '\OCA\DAV\CalDAV\CalDavBackend::updateShares'
+      '\OCA\DAV\CalDAV\CalDavBackend::publishCalendar'
+    
+    
+      array
+      array
+    
+    
+      $objectData
+      $uris
+    
+    
+      null
+      null
+    
+    
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      purgeProperties
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+    
+    
+      Uri\split($row['principaluri'])
+      Uri\split($row['principaluri'])
+      Uri\split($row['principaluri'])
+      Uri\split($principalUri)
+    
+  
+  
+    
+      parent::getOwner()
+    
+  
+  
+    
+      \Sabre\CalDAv\Notifications\Collection
+    
+    
+      new Inbox($this->caldavBackend, $this->principalInfo['uri'])
+      new Outbox($this->config, $this->principalInfo['uri'])
+      new \Sabre\CalDAv\Notifications\Collection($this->caldavBackend, $this->principalInfo['uri'])
+      new Subscription($this->caldavBackend, $subscription)
+      $calendarPlugin->getCalendarInCalendarHome($this->principalInfo['uri'], $calendarUri)
+    
+    
+      getChild
+    
+    
+      $calendarPlugin->getCalendarInCalendarHome($this->principalInfo['uri'], $calendarUri)
+    
+    
+      calendarSearch
+    
+  
+  
+    
+      $acl->defaultUsernamePath
+    
+  
+  
+    
+      string|null
+    
+    
+      \Sabre\Uri\split($principalUrl)
+      \Sabre\Uri\split($principalUrl)
+      \Sabre\Uri\split($principalUrl)
+    
+  
+  
+    
+      $paths
+    
+  
+  
+    
+      checkPrivileges
+      checkPrivileges
+    
+  
+  
+    
+      isFloating
+      hasTime
+      isFloating
+    
+  
+  
+    
+      $l10n->l('weekdayName', $dt, ['width' => 'abbreviated'])
+      $l10n->l('date', $dt, ['width' => 'medium'])
+      $l10n->l('datetime', $dt, ['width' => 'medium|short'])
+      $l10n->l('time', $dt, ['width' => 'short'])
+    
+    
+      [$organizerEMail => $name]
+      $l10n->l('weekdayName', $dt, ['width' => 'abbreviated'])
+      $l10n->l('date', $dt, ['width' => 'medium'])
+      $l10n->l('datetime', $dt, ['width' => 'medium|short'])
+      $l10n->l('time', $dt, ['width' => 'short'])
+    
+    
+      array|null
+      string
+      string
+      string
+      string
+    
+    
+      getDateTime
+      isFloating
+      getDateTime
+    
+  
+  
+    
+      $this->l10n->l('weekdayName', $dt, ['width' => 'abbreviated'])
+      $this->l10n->l('date', $dt, ['width' => 'medium'])
+      $this->l10n->l('datetime', $dt, ['width' => 'medium|short'])
+      $this->l10n->l('time', $dt, ['width' => 'short'])
+    
+    
+      $this->l10n->l('weekdayName', $dt, ['width' => 'abbreviated'])
+      $this->l10n->l('date', $dt, ['width' => 'medium'])
+      $this->l10n->l('datetime', $dt, ['width' => 'medium|short'])
+      $this->l10n->l('time', $dt, ['width' => 'short'])
+    
+    
+      string
+      string
+      string
+      string
+    
+  
+  
+    
+      getDateInterval
+      getDateTime
+      getDateTime
+    
+    
+      $valarm->parent->UID
+    
+  
+  
+    
+      null|string
+    
+    
+      array
+    
+    
+      $principals
+    
+    
+      string[]
+    
+    
+      null
+      null
+    
+    
+      \Sabre\Uri\split($path)
+      \Sabre\Uri\split($path)
+    
+  
+  
+    
+      $meetingLocation
+      $meetingDescription
+      $meetingUrl
+    
+    
+      string
+    
+    
+      [$sender => $senderName]
+      [$recipient => $recipientName]
+    
+    
+      $lang->getValue()
+    
+    
+      isFloating
+      getDateTime
+      setDateTime
+      hasTime
+      isFloating
+      getDateTime
+      setDateTime
+      getDateTime
+      getDateTime
+      getDateTime
+      hasTime
+      getDateTime
+      getDateTime
+      getDateTime
+      isFloating
+    
+    
+      $iTipMessage->message->VEVENT->SUMMARY
+    
+  
+  
+    
+      [$aclPlugin, 'propFind']
+      [$aclPlugin, 'propFind']
+    
+    
+      split($principalUrl)
+    
+    
+      getChildren
+      get
+    
+    
+      getDateTime
+      isFloating
+      hasTime
+      isFloating
+      principalSearch
+    
+  
+  
+    
+      bool
+    
+  
+  
+    
+    
+      string
+    
+  
+  
+    
+      is_array($newProps['filters']['comps'])
+      is_array($newProps['filters']['props'])
+      is_array($newProps['filters']['params'])
+    
+  
+  
+    
+      $webcalData
+    
+  
+  
+    
+      parent::getOwner()
+    
+  
+  
+    
+      $id
+    
+    
+      $this->getKey()
+      $this->getKey()
+    
+  
+  
+    
+      false
+    
+    
+      $query->createParameter('principaluri')
+      $query->createParameter('uri')
+      $query->createNamedParameter($matches, IQueryBuilder::PARAM_INT_ARRAY)
+    
+    
+      '\OCA\DAV\CardDAV\CardDavBackend::createCard'
+      '\OCA\DAV\CardDAV\CardDavBackend::updateCard'
+      '\OCA\DAV\CardDAV\CardDavBackend::deleteCard'
+    
+    
+      array
+    
+    
+      $uris
+    
+    
+      null
+    
+    
+      dispatch
+      dispatch
+      dispatch
+    
+    
+      $addressBooks[$row['id']][$readOnlyPropertyName] === 0
+    
+    
+      \Sabre\Uri\split($row['principaluri'])
+      \Sabre\Uri\split($principalUri)
+    
+  
+  
+    
+      bool
+    
+  
+  
+    
+      string
+    
+    
+      $type
+    
+    
+      \Sabre\URI\parse($val)
+    
+  
+  
+    
+      string|null
+    
+    
+      \Sabre\Uri\split($principal)
+      \Sabre\Uri\split($principal)
+      \Sabre\Uri\split($principal)
+    
+  
+  
+    
+      $targetBookId
+    
+    
+      null
+    
+  
+  
+    
+      $shareEnumeration && $restrictShareEnumeration
+    
+  
+  
+    
+      $this->principalUri
+      $this->principalUri
+    
+  
+  
+    
+      $groups
+    
+  
+  
+    
+      int
+    
+    
+      null
+    
+  
+  
+    
+      $args['datetime']
+      200
+    
+    
+      null
+    
+    
+      \Sabre\HTTP\toDate($value)
+    
+  
+  
+    
+      $value
+    
+  
+  
+    
+      is_string($name)
+    
+  
+  
+    
+      CommentsEntityEvent::EVENT_ENTITY
+    
+    
+      \Sabre\DAV\INode[]
+      int
+    
+    
+      $this->entityTypeCollections
+      null
+    
+    
+      dispatch
+    
+  
+  
+    
+      \Sabre\Uri\split($principal)
+    
+  
+  
+    
+      'DummyBasic realm="' . $this->realm . '"'
+    
+  
+  
+    
+      bool
+    
+  
+  
+    
+      bool
+    
+  
+  
+    
+      tryTokenLogin
+    
+  
+  
+    
+      $node->getId()
+    
+    
+      \Sabre\Uri\split($node->getPath())
+    
+  
+  
+    
+      $nodes
+    
+    
+      $this->dirContent
+    
+    
+      \Sabre\DAV\INode[]
+    
+    
+      $e->getCode()
+    
+    
+      null
+      null
+      null
+    
+    
+      \Sabre\Uri\split($sourceNode->getPath())
+    
+    
+      $info
+    
+  
+  
+    
+      new SupportedLock(true)
+    
+  
+  
+    
+      $data
+    
+    
+      \Sabre\Uri\split($this->path)
+    
+    
+      writeStream
+    
+  
+  
+    
+      \Sabre\Uri\split($source)
+      \Sabre\Uri\split($destination)
+      \Sabre\Uri\split($filePath)
+    
+  
+  
+    
+      bool
+    
+    
+      0
+      200
+    
+    
+      $resultFileIds
+    
+    
+      new PreconditionFailed('Cannot filter by non-existing tag', 0, $e)
+    
+    
+      \OCA\Circles\Api\v1\Circles
+    
+    
+      getPath
+      getById
+    
+  
+  
+    
+      $this
+    
+    
+      int
+      integer
+    
+    
+      $this->info->getId()
+      $this->info->getId()
+    
+    
+      \Sabre\Uri\split($this->path)
+      \Sabre\Uri\split($name)
+    
+  
+  
+    
+      \Sabre\Uri\split($path)
+      \Sabre\Uri\split($destination)
+      \Sabre\Uri\split($destination)
+    
+  
+  
+    
+      array
+    
+    
+      $principals
+    
+    
+      string[]
+    
+    
+      null
+      $this->circleToPrincipal($name)
+      null
+      null
+      null
+      null
+      null
+      null
+      null
+    
+    
+      \OCA\Circles\Api\v1\Circles
+      \OCA\Circles\Api\v1\Circles
+    
+    
+      \Sabre\Uri\split($path)
+      \Sabre\Uri\split($prefix)
+      \Sabre\Uri\split($principal)
+      \Sabre\Uri\split($principal)
+    
+  
+  
+    
+      \Sabre\Uri\split($path)
+    
+    
+      getPath
+      getPath
+    
+  
+  
+    
+      new \OCA\DAV\Connector\Sabre\QuotaPlugin($view, true)
+    
+  
+  
+    
+      $shareType
+    
+  
+  
+    
+      $share->getShareType()
+    
+  
+  
+    
+      $shares
+    
+    
+      array
+    
+    
+      \Sabre\Uri\split($sabreNode->getPath())
+    
+    
+      getId
+      getId
+      getPath
+      getPath
+      getId
+    
+    
+      $server->xml->namespacesMap
+    
+    
+      $server->xml->namespacesMap
+    
+  
+  
+    
+      null
+    
+    
+      getId
+    
+  
+  
+    
+      $guests
+    
+    
+      $vEvent->DTSTAMP
+    
+    
+      $vEvent->{'ATTENDEE'}
+    
+  
+  
+    
+      $whereValues
+    
+  
+  
+    
+      array
+      string
+    
+    
+      $principals
+    
+    
+      string[]
+      string[]
+    
+    
+      $members
+    
+    
+      null
+      null
+      null
+      null
+      null
+      null
+      null
+    
+  
+  
+    
+      $element['href']
+      $element['href']
+      $element['href']
+      $element['readOnly']
+    
+  
+  
+    
+      array
+    
+    
+      null
+    
+    
+      \Sabre\Uri\split($principal)
+    
+  
+  
+    
+      $this->enablePropfindDepthInfinityf
+    
+  
+  
+    
+      $body
+    
+  
+  
+    
+      $operator->arguments
+      $argument
+    
+    
+      $value
+    
+    
+      ?string
+    
+    
+      $operator->arguments[0]->name
+    
+  
+  
+    
+      \Sabre\Uri\split($this->principalInfo['uri'])
+    
+  
+  
+    
+      $this->backend->getArbiterPath()
+    
+    
+      isValidScope
+    
+  
+  
+    
+      \Sabre\Uri\split($principalInfo['uri'])
+    
+  
+  
+    
+      $this->usersToDelete
+      $this->usersToDelete
+    
+  
+  
+    
+      $qb->createParameter('ids')
+    
+  
+  
+    
+      $publicCalendarRoot->disableListing
+    
+  
+  
+    
+      $this->l10n->l('date', $startDateTime, ['width' => 'medium'])
+    
+    
+    
+      $this->l10n->l('date', $startDateTime, ['width' => 'medium'])
+    
+    
+      string
+    
+    
+      getDateTime
+      getDateTime
+      isFloating
+      getDateTime
+      setDateTime
+      hasTime
+      isFloating
+      getDateTime
+      setDateTime
+    
+  
+  
+    
+      getDateTime
+      getDateTime
+      hasTime
+    
+  
+  
+    
+      'OCA\DAV\Connector\Sabre::authInit'
+      'OCA\DAV\Connector\Sabre::addPlugin'
+    
+    
+      dispatch
+      dispatch
+      new QuotaPlugin($view, false)
+    
+    
+      $acl->defaultUsernamePath
+    
+  
+  
+    
+      int
+    
+    
+      null
+    
+  
+  
+    
+      int
+    
+    
+      null
+    
+  
+  
+    
+      int
+    
+    
+      null
+    
+  
+  
+    
+      SystemTagsEntityEvent::EVENT_ENTITY
+    
+    
+      dispatch
+    
+  
+  
+    
+      $members
+    
+    
+      \Sabre\Uri\split($principal)
+      \Sabre\Uri\split($principal)
+      \Sabre\Uri\split($principalUri)
+      \Sabre\Uri\split($member)
+      \Sabre\Uri\split($principalUri)
+      \Sabre\Uri\split($realPrincipalUri)
+      \Sabre\Uri\split($principalUri)
+      \Sabre\Uri\split($principalUri)
+      \Sabre\Uri\split($principalUri)
+    
+  
+  
+    
+      false
+    
+    
+      $this->currentStream
+    
+    
+      $context
+    
+    
+      array
+    
+    
+      null
+    
+  
+  
+    
+      \Sabre\Uri\split($this->principalInfo['uri'])
+    
+  
+  
+    
+      $userSession && $userSession->isLoggedIn()
+    
+  
+  
+    
+      [$to => $recipientDisplayName]
+    
+    
+      setSubject
+      setHtmlBody
+      setPlainBody
+    
+  
+  
+    
+      $result
+    
+    
+      $position
+      $position
+      $position
+    
+    
+      boolean
+    
+  
+  
+    
+      $keyPair['publicKey']
+      $keyPair['privateKey']
+    
+    
+      time()
+      time()
+      time()
+    
+    
+      throw $exception;
+    
+    
+      $userSession && $userSession->isLoggedIn()
+      $encryptedFileKey && $shareKey
+    
+  
+  
+    
+      1
+      0
+      0
+    
+    
+      $userSession && $userSession->isLoggedIn()
+    
+  
+  
+    
+      new Exceptions\PrivateKeyMissingException('please try to log-out and log-in again', 0)
+    
+  
+  
+    
+      $this->crypt->createKeyPair()
+    
+    
+      $userSession && $userSession->isLoggedIn()
+    
+  
+  
+    
+      $userSession && $userSession->isLoggedIn()
+    
+  
+  
+    
+      $jobList
+    
+    
+  
+  
+    
+      $remoteId
+      $id
+      $id
+      $id
+      $id
+      $id
+      $id
+    
+    
+    
+      $permission === null
+      $remoteId === null
+    
+  
+  
+    
+      $qb->createNamedParameter($shareType)
+      $qb->createNamedParameter($itemType)
+      $qb->createNamedParameter($itemSource)
+      $qb->createNamedParameter($itemSource)
+      $qb->createNamedParameter($shareWith)
+      $qb->createNamedParameter($uidOwner)
+      $qb->createNamedParameter($sharedBy)
+      $qb->createNamedParameter($permissions)
+      $qb->createNamedParameter($token)
+      $qb->createNamedParameter(time())
+      $qb->createNamedParameter('')
+      $qb->createNamedParameter($this->supportedShareType, IQueryBuilder::PARAM_INT_ARRAY)
+      $qb->createNamedParameter($this->supportedShareType, IQueryBuilder::PARAM_INT_ARRAY)
+      $qb->createNamedParameter($this->supportedShareType, IQueryBuilder::PARAM_INT_ARRAY)
+      $qb->createNamedParameter($this->supportedShareType, IQueryBuilder::PARAM_INT_ARRAY)
+      $qb->createNamedParameter($this->supportedShareType, IQueryBuilder::PARAM_INT_ARRAY)
+      $qb->createNamedParameter($ids, IQueryBuilder::PARAM_INT_ARRAY)
+    
+    
+      $token
+      $remoteId
+    
+    
+      list($token, $remoteId)
+    
+    
+      $shares
+    
+    
+      getSharesInFolder
+    
+    
+      $shareId
+      $shareId
+      $shareId
+      $shareId
+      $share->getId()
+      (int)$data['id']
+    
+  
+  
+    
+      [$ocmResult['token'], $ocmResult['providerId']]
+    
+    
+      bool
+      bool
+      bool
+      bool
+    
+  
+  
+    
+      $shareId
+    
+    
+      string
+    
+    
+      $remoteId
+      $id
+      $id
+      $id
+      (int)$share['id']
+      $id
+      $id
+    
+  
+  
+    
+      string
+    
+    
+      null
+    
+  
+  
+    
+      $jobList
+    
+  
+  
+    
+      $jobList
+    
+  
+  
+    
+      'OCP\Federation\TrustedServerEvent::remove'
+    
+    
+      dbHandler
+    
+    
+      dispatch
+    
+  
+  
+    
+      $files_list
+    
+  
+  
+    
+      !$dirInfo->getType() === 'dir'
+    
+  
+  
+    
+      $this
+      $this
+    
+  
+  
+    
+      $query->createNamedParameter($favorites['items'], IQueryBuilder::PARAM_STR_ARRAY)
+    
+  
+  
+    
+      $this->fileEncrypted[$fileId]
+    
+    
+      $id
+    
+    
+      $this->fileIsEncrypted
+      $this->fileIsEncrypted
+      $this->fileIsEncrypted
+      $this->fileIsEncrypted
+      $this->fileIsEncrypted
+      $this->fileIsEncrypted
+      $this->fileIsEncrypted
+    
+  
+  
+    
+      10 * 1024 * 1024
+    
+  
+  
+    
+      0
+      $offset
+      $offset
+    
+  
+  
+    
+      $connection
+    
+    
+      \OCP\IDBConnection
+    
+    
+      null
+    
+  
+  
+    
+      $connection
+    
+    
+      \OCP\IDBConnection
+    
+    
+      null
+      null
+    
+  
+  
+    
+      $e->getCode() !== 0 ? $e->getCode() : 1
+    
+    
+      int
+    
+  
+  
+    
+      $templateId
+      'Failed to create file: ' . $e->getMessage()
+      'Failed to open file: ' . $e->getMessage()
+      'Failed to obtain template list: ' . $e->getMessage()
+    
+    
+      open
+      getTemplates
+    
+  
+  
+    
+      $fileId
+    
+    
+      getById
+      getRelativePath
+      getRelativePath
+    
+  
+  
+    
+      $file
+      $i
+      $i
+      $i
+      $i
+      $i
+      $i
+      $i
+      $i
+      $i
+      $i
+      $i
+      $i
+    
+  
+  
+    
+      $legacyEvent
+    
+  
+  
+    
+      getEditors
+    
+  
+  
+    
+      $encryptedFiles
+    
+    
+      empty($encryptedFiles)
+    
+    
+      isReadyForUser
+    
+  
+  
+    
+      self::class . '::' . $eventName
+    
+    
+      dispatch
+    
+  
+  
+    
+      $this
+      $this
+    
+  
+  
+    
+      run
+    
+  
+  
+    
+      $mountId
+    
+  
+  
+    
+      $mountId
+    
+  
+  
+    
+      $mountId
+      $mountId
+    
+    
+      null
+    
+  
+  
+    
+      $qb->createNamedParameter($storageIds, IQueryBuilder::PARAM_INT_ARRAY, ':storage_ids')
+    
+    
+      $input->getArgument('mount_id')
+      $storage
+    
+    
+    
+      int
+    
+    
+      \OC_Util::normalizeUnicode($parent)
+    
+    
+      isConnected
+    
+  
+  
+    
+      $mountId
+    
+    
+      $status
+      $e->getCode()
+    
+  
+  
+    
+      new $objectClass($objectStore)
+    
+  
+  
+    
+      $this->service->getVisibilityType()
+      $this->service->getVisibilityType()
+      $status
+      $e->getCode()
+    
+  
+  
+    
+      getUniqueStorages
+    
+  
+  
+    
+      self
+    
+  
+  
+    
+    
+      string
+    
+  
+  
+    
+      FrontendDefinitionTrait
+      FrontendDefinitionTrait
+    
+  
+  
+    
+      IdentifierTrait
+      $this->deprecateTo
+    
+  
+  
+    
+      new MissingDependency($module, $this)
+    
+  
+  
+    
+      PriorityTrait
+      PriorityTrait
+    
+  
+  
+    
+      clearBucket
+    
+  
+  
+    
+      put
+    
+  
+  
+    
+      false
+      false
+    
+    
+      $this->handle
+      $this->handle
+    
+    
+      stream_close
+    
+    
+      substr($response, 4)
+    
+    
+      $context
+    
+    
+      array
+    
+  
+  
+    
+      false
+      false
+      false
+    
+    
+      $this->handle
+      $this->handle
+    
+    
+      stream_close
+    
+    
+      substr($response, 4)
+    
+    
+      $context
+    
+    
+      array
+    
+  
+  
+    
+      false
+    
+    
+      $files
+    
+    
+      \Icewind\SMB\IFileInfo
+    
+    
+      new CappedMemoryCache()
+    
+    
+      \Icewind\SMB\IFileInfo[]
+    
+    
+      $e->getCode()
+      $e->getCode()
+      $e->getCode()
+      $e->getCode()
+      $e->getCode()
+      $e->getCode()
+      $e->getCode()
+    
+    
+      null
+    
+    
+      rename
+      rename
+    
+  
+  
+    
+      $object->lastModified
+    
+    
+      filetype
+      fopen
+    
+    
+      $content
+    
+  
+  
+    
+      login
+    
+  
+  
+    
+      setIV
+      encrypt
+      setIV
+      decrypt
+    
+    
+      string
+    
+    
+      $message
+    
+    
+      test
+    
+    
+      Exception
+    
+    
+      Exception
+    
+  
+  
+    
+      'OCA\\Files_External::loadAdditionalBackends'
+    
+    
+      dispatch
+    
+  
+  
+    
+      $builder->createNamedParameter($groupIds, IQueryBuilder::PARAM_STR_ARRAY)
+      $builder->createNamedParameter($mountId, IQueryBuilder::PARAM_INT)
+      $builder->createNamedParameter($key, IQueryBuilder::PARAM_STR)
+      $builder->createNamedParameter($value, IQueryBuilder::PARAM_STR)
+      $builder->createNamedParameter($mountId, IQueryBuilder::PARAM_INT)
+      $builder->createNamedParameter($key, IQueryBuilder::PARAM_STR)
+      $builder->createNamedParameter(json_encode($value), IQueryBuilder::PARAM_STR)
+      $builder->createNamedParameter($mountId)
+      $builder->createNamedParameter($type)
+      $builder->createNamedParameter($value)
+    
+    
+      null
+    
+  
+  
+    
+      BackendService::VISIBILITY_ADMIN
+    
+    
+      string
+    
+  
+  
+    
+      $configId
+    
+  
+  
+    
+      $this->getVisibilityType()
+      $this->getVisibilityType()
+    
+    
+      getStorageCache
+    
+  
+  
+    
+      BackendService::VISIBILITY_PERSONAL
+    
+    
+      string
+    
+  
+  
+    
+      $_
+    
+  
+  
+    
+      false
+    
+    
+      null
+    
+    
+      $entry
+      $entry
+      $entry
+      $entry
+      $entry
+      $entry
+      $entry
+      $entry
+      $entry
+    
+  
+  
+    
+      Constants::PERMISSION_ALL
+    
+  
+  
+    
+      getUserFolder
+    
+  
+  
+    
+      $this->getRoomShareHelper()
+      \OCA\Talk\Share\Helper\DeletedShareAPIController
+    
+  
+  
+    
+      'https'
+      'http'
+    
+  
+  
+    
+      Constants::PERMISSION_ALL
+      $code
+      $code
+    
+    
+      null
+    
+    
+      $date === false
+    
+    
+      \OCA\Circles\Api\v1\Circles
+      \OCA\Circles\Api\v1\Circles
+    
+    
+      $this->getRoomShareHelper()
+      $this->getRoomShareHelper()
+      $this->getRoomShareHelper()
+      \OCA\Talk\Share\Helper\ShareAPIController
+    
+  
+  
+    
+      'Share is read-only'
+      $files_list
+    
+    
+      $maxUploadFilesize
+      $maxUploadFilesize
+      $freeSpace
+    
+    
+      null
+    
+  
+  
+    
+      $password
+    
+  
+  
+    
+      null
+    
+  
+  
+    
+      $result
+      $result
+      $result
+      $file
+    
+  
+  
+    
+      $query->createFunction('(' . $select . ')')
+    
+    
+      (int) $remoteShare
+    
+  
+  
+    
+      public function removeMount() {
+    
+  
+  
+    
+      scan
+      array
+    
+    
+      $recursive
+    
+    
+      $cacheData
+    
+    
+      $existingChild
+      $existingChild
+    
+  
+  
+    
+      $this->getPermissions($path) & Constants::PERMISSION_SHARE
+    
+    
+      isSharable
+    
+    
+      $response['{http://open-collaboration-services.org/ns}share-permissions']
+    
+  
+  
+    
+      $legacyEvent
+    
+  
+  
+    
+      $exception->getMessage()
+    
+    
+      new JSONResponse($exception->getMessage(), 405)
+    
+    
+      NotFoundResponse
+    
+  
+  
+    
+      $query->createNamedParameter([IShare::TYPE_USER, IShare::TYPE_GROUP, IShare::TYPE_USERGROUP], IQueryBuilder::PARAM_INT_ARRAY)
+    
+  
+  
+    
+      array
+    
+    
+      null
+    
+  
+  
+    
+      $itemSource
+      $itemSource
+    
+    
+      $shareWith
+    
+  
+  
+    
+      fetchRow
+    
+  
+  
+    
+      bool
+    
+  
+  
+    
+      $this->sourceRootInfo
+      false
+      false
+      false
+      $this->nonMaskedStorage->fopen($this->getUnjailedPath($path), $mode)
+      false
+    
+    
+      ICacheEntry
+    
+    
+      $this->getPermissions($path) & \OCP\Constants::PERMISSION_CREATE
+      $this->getPermissions($path) & \OCP\Constants::PERMISSION_UPDATE
+      $this->getPermissions($path) & \OCP\Constants::PERMISSION_DELETE
+      $this->getPermissions($path) & \OCP\Constants::PERMISSION_SHARE
+      new FailedCache()
+    
+    
+      isCreatable
+      isUpdatable
+      isDeletable
+      isSharable
+    
+    
+      $this->sourceRootInfo
+    
+    
+      new \OCA\Files_Sharing\Cache($storage, $sourceRoot, $this->superShare)
+    
+    
+      $this->mountOptions
+    
+  
+  
+    
+      moveMount
+    
+  
+  
+    
+      '\OCP\Collaboration\Resources::loadAdditionalScripts'
+      LoadAdditionalScriptsEvent::class
+      LoadSidebar::class
+      LoadViewer::class
+    
+    
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+    
+  
+  
+    
+      int
+    
+    
+      $this->data->getId()
+    
+  
+  
+    
+      ITrash
+    
+    
+      $entry
+    
+    
+      ITrash
+    
+  
+  
+    
+      getChild
+    
+    
+      null
+    
+  
+  
+    
+      INode
+    
+  
+  
+    
+      \Sabre\Uri\split($this->principalInfo['uri'])
+    
+  
+  
+    
+      ITrash
+    
+    
+      $entry
+    
+    
+      ITrash
+    
+  
+  
+    
+      'OCA\Files_Trashbin::moveToTrash'
+    
+    
+      $this->mountPoint
+    
+    
+      dispatch
+    
+  
+  
+    
+      null
+    
+    
+      $trashFiles
+    
+    
+      $file
+      getById
+    
+  
+  
+    
+      false
+    
+    
+      $ma
+    
+    
+      $query->execute([$uid])
+    
+    
+      bool
+    
+    
+      $timestamp
+      $timestamp
+    
+  
+  
+    
+      $this
+      $this
+    
+  
+  
+    
+      $maxAge
+    
+  
+  
+    
+      getChild
+    
+    
+      null
+    
+  
+  
+    
+      \Sabre\Uri\split($principalInfo['uri'])
+    
+  
+  
+    
+      getChild
+    
+    
+      \Sabre\Uri\split($this->principalInfo['uri'])
+    
+  
+  
+    
+      'OCA\Files_Versions::createVersion'
+    
+    
+      $timestamp
+    
+    
+      dispatch
+      getURLGenerator
+    
+  
+  
+    
+      $publicData[IAccountManager::PROPERTY_DISPLAYNAME]['value']
+      $publicData[IAccountManager::PROPERTY_EMAIL]['value']
+      $publicData[IAccountManager::PROPERTY_ADDRESS]['value']
+      $publicData[IAccountManager::PROPERTY_WEBSITE]['value']
+      $publicData[IAccountManager::PROPERTY_TWITTER]['value']
+      $publicData[IAccountManager::PROPERTY_PHONE]['value']
+      $publicData[IAccountManager::PROPERTY_TWITTER]['signature']
+      $publicData[IAccountManager::PROPERTY_WEBSITE]['signature']
+      $publicData[IAccountManager::PROPERTY_WEBSITE]['verified']
+      $publicData[IAccountManager::PROPERTY_TWITTER]['verified']
+    
+    
+      $this->retries + 1
+    
+  
+  
+    
+      ['user' => $appToken->getUID()]
+    
+    
+      $this->request->server
+    
+  
+  
+    
+      getName
+      getRedirectUri
+      getClientIdentifier
+      getSecret
+    
+  
+  
+    
+  
+  
+    
+  
+  
+    
+      getSubAdmin
+    
+  
+  
+    
+      $quota
+    
+    
+      $groupid === null || trim($groupid) === ''
+    
+    
+      $groupid === null
+    
+    
+      getSubAdmin
+    
+  
+  
+    
+      \OC_User::getUser()
+    
+    
+      getSettingsManager
+    
+  
+  
+    
+      $jobList
+    
+  
+  
+    
+      ignoreNextcloudRequirementForApp
+    
+  
+  
+    
+      getSubAdmin
+    
+  
+  
+    
+      IDBConnection::CHECK_MISSING_INDEXES_EVENT
+      IDBConnection::CHECK_MISSING_COLUMNS_EVENT
+    
+    
+      $lastCronRun
+    
+    
+      new DataDisplayResponse('Integrity checker has been disabled. Integrity cannot be verified.')
+      $response
+    
+    
+      DataResponse
+    
+    
+      0
+      $lastCronRun
+    
+    
+      dispatch
+      dispatch
+    
+  
+  
+    
+      $this->l10n->t('Invalid SMTP password.')
+      $this->l10n->t('A problem occurred while sending the email. Please revise your settings. (Error: %s)', [$e->getMessage()])
+      $this->l10n->t('You need to set your user email before being able to send test emails.')
+    
+  
+  
+    
+      'OC\Settings\Users::loadAdditionalScripts'
+    
+    
+      countUsersOfGroups
+      countDisabledUsersOfGroups
+      getLanguages
+    
+  
+  
+    
+      [$user->getEMailAddress() => $user->getDisplayName()]
+    
+  
+  
+    
+      [$user->getEMailAddress() => $user->getDisplayName()]
+    
+  
+  
+    
+      isReady
+    
+  
+  
+    
+      Constants::PERMISSION_ALL
+    
+    
+      null
+    
+  
+  
+    
+      '5'
+    
+    
+      int
+    
+  
+  
+    
+      $uid
+    
+    
+      getLanguages
+    
+  
+  
+    
+      ?string
+    
+    
+      null
+    
+  
+  
+    
+      string
+    
+    
+      null
+    
+  
+  
+    
+      $qb->createNamedParameter(IShare::TYPE_EMAIL)
+      $qb->createNamedParameter($itemType)
+      $qb->createNamedParameter($itemSource)
+      $qb->createNamedParameter($itemSource)
+      $qb->createNamedParameter($shareWith)
+      $qb->createNamedParameter($uidOwner)
+      $qb->createNamedParameter($sharedBy)
+      $qb->createNamedParameter($permissions)
+      $qb->createNamedParameter($token)
+      $qb->createNamedParameter($password)
+      $qb->createNamedParameter($sendPasswordByTalk, IQueryBuilder::PARAM_BOOL)
+      $qb->createNamedParameter(time())
+      $qb->createNamedParameter((int)$hideDownload, IQueryBuilder::PARAM_INT)
+      $qb->createNamedParameter('')
+      $qb->createNamedParameter($ids, IQueryBuilder::PARAM_INT_ARRAY)
+    
+    
+      $shares
+    
+    
+      getSharesInFolder
+    
+    
+      $shareId
+      $shareId
+      $share->getId()
+      (int)$data['id']
+    
+  
+  
+    
+      $event->getObjectId()
+      $event->getObjectId()
+    
+  
+  
+    
+      $type
+      $type
+      $this->config->getAppValue('testing', $lock)
+      $this->config->getAppValue('testing', $lock)
+      $this->config->getAppValue('testing', $lock)
+    
+  
+  
+    
+      $response
+    
+    
+      FileDisplayResponse|NotFoundResponse
+    
+    
+      $iconFile !== false
+      $iconFile !== false
+      $iconFile !== false
+    
+  
+  
+    
+      'r'
+      $newHeight
+      'r'
+      'r'
+    
+  
+  
+    
+      $offset_w
+      $offset_h
+    
+  
+  
+    
+      string
+    
+  
+  
+    
+      \OCP\Util::sanitizeHTML($this->config->getAppValue('theming', 'slogan', parent::getSlogan($lang)))
+    
+    
+      getSlogan
+    
+    
+      (int)$cacheBusterKey+1
+    
+    
+      null
+      null
+    
+  
+  
+    
+      0
+    
+    
+      int[]
+    
+    
+      $folder !== null
+    
+  
+  
+    
+      $registry
+    
+    
+      run
+    
+    
+      getProviderStates
+    
+  
+  
+    
+      bool
+    
+  
+  
+    
+      bool
+    
+  
+  
+    
+      $newToken
+    
+    
+      0
+      $this->timeFactory->getTime()
+    
+  
+  
+    
+      $this->users
+    
+    
+      0
+      $errors
+      0
+    
+  
+  
+    
+      0
+    
+  
+  
+    
+      $this->config->getAppValue('core', 'updater.secret.created', $this->timeFactory->getTime())
+    
+    
+      $this->timeFactory->getTime()
+    
+  
+  
+    
+      $lastUpdateCheckTimestamp
+    
+  
+  
+    
+      $ln+1
+    
+  
+  
+    
+      $this
+    
+  
+  
+    
+      $this->countUsers($filter)
+    
+    
+      $record
+    
+    
+      $values
+      $uuid
+    
+    
+      string[]
+    
+    
+      [$attr => $result['values']]
+      $key
+      $key
+      $e->getCode()
+      $nameAttribute
+      $filter
+      $this->connection->ldapLoginFilter
+      $this->connection->ldapLoginFilter
+      $this->connection->ldapUserDisplayName
+      $this->connection->ldapUserDisplayName
+      $this->connection->ldapGroupDisplayName
+      $filter
+    
+    
+      $cookie
+    
+    
+      !isset($ldapName[0]) && empty($ldapName[0])
+      is_null($limit)
+      !is_null($limit) && (int)$this->connection->ldapPagingSize !== 0
+      is_array($result)
+      $limit === 0 && !empty($this->lastCookie)
+    
+    
+      is_null($findings)
+      !$attribute === null
+    
+    
+      is_array($attr)
+      !is_null($attr) && !is_array($attr)
+      isset($ldapRecord[$this->connection->$uuidAttr])
+    
+    
+      $uidsByDn
+    
+  
+  
+    
+      'OCA\\User_LDAP\\User\\User::postLDAPBackendAdded'
+    
+    
+      dispatch
+    
+  
+  
+    
+      time()
+    
+  
+  
+    
+      string
+    
+    
+      LDAP_OPT_PROTOCOL_VERSION
+      LDAP_OPT_REFERRALS
+    
+    
+      null
+    
+    
+  
+  
+    
+      $this->cachedGroupMembers[$gid]
+      'dn'
+      $this->cachedGroupsByMember[$uid]
+    
+    
+      new CappedMemoryCache()
+      new CappedMemoryCache()
+      new CappedMemoryCache()
+      $this->cachedGroupMembers
+      $this->cachedNestedGroups
+      $this->cachedGroupsByMember
+    
+    
+      $groupName
+    
+    
+      bool
+    
+    
+      $gAssoc
+      $this->access->connection->ldapLoginFilter
+      $this->access->connection->ldapDynamicGroupMemberURL
+      $this->access->connection->ldapGroupFilter
+      $this->access->connection->ldapGroupMemberAssocAttr
+      $this->access->connection->ldapGidNumber
+      $groupID
+      $groupID
+      $this->access->connection->ldapDynamicGroupMemberURL
+      $this->access->connection->ldapGroupFilter
+      $this->access->connection->ldapUserDisplayName
+      $this->access->connection->ldapGroupMemberAssocAttr
+      [strtolower($this->access->connection->ldapGroupMemberAssocAttr), $this->access->connection->ldapGroupDisplayName, 'dn']
+      $this->access->connection->ldapLoginFilter
+      $this->access->connection->ldapUserDisplayName
+      $this->access->connection->ldapLoginFilter
+      $this->access->connection->ldapUserDisplayName
+      [$this->access->connection->ldapGroupDisplayName, 'dn']
+      $this->access->connection->ldapGroupFilter
+      $this->access->connection->ldapGroupDisplayName
+    
+    
+      !is_array($members) || count($members) === 0
+      is_array($members)
+      is_array($list)
+      is_array($groupDNs)
+    
+    
+      is_array($members)
+    
+  
+  
+    
+      protected function walkBackends($gid, $method, $parameters) {
+      protected function callOnLastSeenOn($gid, $method, $parameters, $passOnWhen) {
+    
+  
+  
+    
+      $lastNumber + 1
+    
+  
+  
+    
+      Resource
+    
+  
+  
+    
+      0
+      $newOffset
+      50
+    
+  
+  
+    
+      $lastChange
+      $i
+    
+    
+      self::MIN_INTERVAL
+      $interval
+      0
+      0
+    
+    
+      $argument
+    
+    
+      null
+    
+  
+  
+    
+      \OC::$server->getConfig()->getAppValue('user_ldap', 'bgjRefreshInterval', 3600)
+    
+    
+      int
+    
+    
+      3600
+    
+  
+  
+    
+      $link
+      $link
+      $result
+      $link
+      $link
+      $link
+      $result
+      $link
+      $result
+      $link
+      $result
+      $link
+      $result
+      $link
+      $link
+      $baseDN
+      $link
+      $baseDN
+      $link
+      $link
+      $link
+      $resource
+    
+    
+      $baseDN
+    
+    
+      bool|mixed
+      mixed|true
+      mixed
+      mixed
+      array|mixed
+      mixed|string
+      array|mixed
+      mixed
+      mixed
+      mixed
+      bool|mixed
+      mixed|true
+      bool|mixed
+    
+    
+      Resource
+    
+  
+  
+    
+      OCP\LDAP\ILDAPProvider
+    
+    
+    
+      OCP\LDAP\ILDAPProvider
+    
+    
+      OCP\LDAP\ILDAPProvider
+    
+  
+  
+    
+      bool
+    
+  
+  
+    
+      $qb->createNamedParameter($fdns, QueryBuilder::PARAM_STR_ARRAY)
+    
+  
+  
+    
+      protected function handleRequest($id, $method, $parameters, $passOnWhen = false) {
+    
+  
+  
+    
+      public function setLdapAccess(Access $access) {
+    
+    
+      $homeRule
+      $homeRule
+    
+  
+  
+    
+      $this->avatarImage
+    
+    
+      $this->refreshedFeatures
+    
+    
+      null
+      null
+    
+    
+      $this->connection->ldapQuotaAttribute
+      $this->connection->ldapUserDisplayName
+      $this->connection->ldapUserDisplayName2
+      $this->connection->ldapEmailAttribute
+      $this->connection->homeFolderNamingRule
+      $this->connection->homeFolderNamingRule
+      $this->getHomePath($ldapEntry[$attr][0])
+      $this->connection->ldapExtStorageHomeAttribute
+      $this->access->connection->homeFolderNamingRule
+      $this->access->connection->homeFolderNamingRule
+      true
+      1
+      time()
+      86400
+      $emailAttribute
+      $quotaAttribute
+      $this->connection->ldapExtStorageHomeAttribute
+    
+  
+  
+    
+      string|false
+    
+    
+      $this->access->connection->ldapUserFilter
+      $this->access->connection->ldapUserFilter
+      $path
+      $additionalAttribute
+      $this->access->connection->ldapUserDisplayName
+      $limit
+      $offset
+    
+    
+      $limit
+      $offset
+    
+    
+      null
+    
+  
+  
+    
+      $users
+    
+  
+  
+    
+      false
+      false
+    
+    
+      $er
+      $er
+      $er
+      $attributes
+    
+    
+      private function detectGroupMemberAssoc() {
+      private function checkAgentRequirements() {
+      private function getAttributeValuesFromEntry($result, $attribute, &$known) {
+    
+    
+      $port
+      $port
+      LDAP_OPT_PROTOCOL_VERSION
+      LDAP_OPT_REFERRALS
+      LDAP_OPT_NETWORK_TIMEOUT
+      LDAP_OPT_PROTOCOL_VERSION
+      LDAP_OPT_REFERRALS
+      LDAP_OPT_NETWORK_TIMEOUT
+    
+    
+      is_array($item['cn'])
+      !isset($item['cn']) && !is_array($item['cn']) && !isset($item['cn'][0])
+    
+    
+      $total === false
+    
+  
+  
+    
+      registerProvider
+    
+  
+  
+    
+      run
+    
+  
+  
+    
+      $qb->createNamedParameter($userIds, IQueryBuilder::PARAM_STR_ARRAY)
+    
+    
+  
+  
+    
+      string|null
+    
+  
+  
+    
+      null
+    
+  
+  
+    
+      $this->size
+    
+    
+      $size
+    
+    
+      $this->size
+    
+    
+      string
+    
+  
+  
+    
+      $decodedValue[1]
+      $decodedValue[1]
+      $decodedValue[1]
+      $decodedValue[1]
+    
+  
+  
+    
+      $hour1
+      $minute1
+    
+  
+  
+    
+      ['app' => Application::APP_ID, 'class' => get_class($subject)]
+    
+  
+  
+    
+      $deleted
+    
+    
+      $e->getCode()
+      $e->getCode()
+      $e->getCode()
+    
+  
+  
+    
+      string
+    
+  
+  
+    
+      $query->createNamedParameter($checkIds, IQueryBuilder::PARAM_INT_ARRAY)
+    
+    
+      IManager::EVENT_NAME_REG_ENTITY
+      IManager::EVENT_NAME_REG_OPERATION
+      IManager::EVENT_NAME_REG_CHECK
+    
+    
+      []
+    
+    
+      array_merge($this->getBuildInChecks(), $this->registeredChecks)
+    
+    
+      ICheck[]
+    
+    
+      $missingCheck
+    
+    
+      dispatch
+      dispatch
+      dispatch
+    
+  
+  
+    
+      $selectQuery->execute()
+    
+    
+      Statement
+    
+  
+  
+    
+      isUserScopeEnabled
+      getOperations
+      getAllConfiguredScopesForOperation
+      getOperations
+      getChecks
+    
+  
+  
+    
+      getSection
+    
+    
+      $this->manager->isUserScopeEnabled() ? 'workflow' : null
+    
+  
+  
+    
+      run
+    
+  
+  
+    
+  
+  
+    
+      null|int
+    
+    
+      null|int
+    
+  
+  
+    
+      $result === false
+    
+  
+  
+    
+      array
+    
+  
+  
+    
+      null|int
+    
+    
+      null|int
+    
+  
+  
+    
+      0
+      1
+    
+  
+  
+    
+      $this->appConfig->getValues($app, false)
+    
+    
+      getFilteredValues
+    
+  
+  
+    
+      null|int
+    
+    
+      null|int
+    
+  
+  
+    
+      IDBConnection::ADD_MISSING_COLUMNS_EVENT
+    
+    
+      dispatch
+    
+  
+  
+    
+      IDBConnection::ADD_MISSING_INDEXES_EVENT
+    
+    
+      dispatch
+    
+  
+  
+    
+      $insertQuery->createParameter($key)
+    
+    
+      setFilterSchemaAssetsExpression
+    
+    
+      $chunkSize
+      $chunk * $chunkSize
+    
+    
+      0
+      1
+    
+  
+  
+    
+      $column->getLength()
+    
+  
+  
+    
+      null
+    
+  
+  
+    
+      [0]
+    
+    
+      string[]
+    
+  
+  
+    
+      \DateTimeZone::listIdentifiers()
+    
+    
+      $levelNum
+    
+  
+  
+    
+      $this->timeFactory->getTime()
+    
+  
+  
+    
+      $k[0]
+    
+  
+  
+    
+      getAllMappings
+      updateFilecache
+    
+  
+  
+    
+      getAllAliases
+    
+  
+  
+    
+      0
+      0
+      0
+      0
+      0
+      0
+    
+  
+  
+    
+      section
+      section
+    
+  
+  
+    
+      0
+      1
+      1
+      1
+      0
+      1
+      0
+      0
+      0
+      0
+      0
+    
+    
+      $this->installer
+    
+    
+      $this->installer
+    
+  
+  
+    
+      $input->getOption('default-value')
+    
+  
+  
+    
+      'app_password_created'
+    
+    
+      dispatch
+    
+  
+  
+    
+      'app_password_created'
+    
+    
+      dispatch
+    
+  
+  
+    
+      !is_string($stateToken) || !is_string($currentToken)
+      is_string($stateToken)
+    
+    
+      is_string($stateToken)
+    
+  
+  
+    
+      searchCollections
+    
+  
+  
+    
+      $svg === null
+    
+  
+  
+    
+      null
+    
+    
+      findMatchingRoute
+    
+  
+  
+    
+      $this->request->server
+    
+  
+  
+    
+      $qb->func()->lower('uid')
+    
+  
+  
+    
+      0
+      1
+      0
+      1
+      0
+      1
+      0
+      1
+      0
+      0
+      0
+      0
+    
+  
+  
+    
+      null
+      null
+      null
+    
+  
+  
+    
+      $this
+      $this
+    
+  
+  
+    
+      getIcon
+    
+  
+  
+    
+      getIncompatibleApps
+      getAppsNeedingUpgrade
+    
+    
+      ['user' => $uid]
+      $restrictions
+    
+    
+      true
+    
+    
+      ((array)$request->getParam('appid')) !== ''
+    
+  
+  
+    
+      'OC\AccountManager::userUpdated'
+    
+    
+      dispatch
+    
+  
+  
+    
+      $this->filterClasses
+      $this->providerClasses
+      $this->settingsClasses
+    
+    
+      !is_string($currentUserId) && $currentUserId !== null
+    
+  
+  
+    
+      $key
+    
+  
+  
+    
+      ManagerEvent::EVENT_APP_ENABLE
+      ManagerEvent::EVENT_APP_ENABLE_FOR_GROUPS
+      ManagerEvent::EVENT_APP_DISABLE
+    
+    
+      array
+      array
+    
+    
+      dispatch
+      dispatch
+      dispatch
+    
+    
+      $group === null
+    
+  
+  
+    
+      'version_compare'
+    
+  
+  
+    
+      fetch
+    
+  
+  
+    
+      $this->tableVariableNames
+      $this->tableVariableNames
+    
+  
+  
+    
+      $node->alias
+    
+  
+  
+    
+      bool
+    
+    
+      version_compare($first, $second, $operator)
+    
+  
+  
+    
+      $array[$element][]
+      $array[$element][]
+    
+    
+      (string)$xml
+    
+    
+      array
+    
+  
+  
+    
+      $this->config
+    
+    
+      $this->config
+    
+  
+  
+    
+      null
+    
+    
+      $this->packages
+    
+  
+  
+    
+      $values
+    
+    
+      $default
+    
+  
+  
+    
+      $this->bootedApps
+    
+  
+  
+    
+      boolean|null
+    
+    
+      $this->server
+    
+    
+      \OCP\IServerContainer
+      mixed
+    
+    
+      getAppDataDir
+    
+  
+  
+    
+      $throwable->getCode()
+    
+    
+      $this->request->method
+    
+    
+      null
+    
+  
+  
+    
+      @readfile($path)
+      http_response_code()
+    
+    
+      bool
+      int
+    
+  
+  
+    
+      $this->server[$name]
+      $this->method
+      isset($this->files[$key]) ? $this->files[$key] : null
+      isset($this->env[$key]) ? $this->env[$key] : null
+      isset($this->cookies[$key]) ? $this->cookies[$key] : null
+      $this->server['UNIQUE_ID']
+      $remoteAddress
+      $uri
+      $name
+      $this->getOverwriteHost()
+      $host
+    
+    
+      \is_array($params)
+    
+    
+      \Sabre\Uri\split($scriptName)
+    
+  
+  
+    
+      log
+    
+  
+  
+    
+      TemplateResponse::EVENT_LOAD_ADDITIONAL_SCRIPTS
+      TemplateResponse::EVENT_LOAD_ADDITIONAL_SCRIPTS_LOGGEDIN
+    
+    
+      dispatch
+      dispatch
+    
+  
+  
+    
+      setOCSVersion
+    
+    
+      $code
+    
+  
+  
+    
+      $exception->getCode()
+    
+    
+      $this->request->server
+      $this->request->server
+      $this->request->server
+    
+  
+  
+    
+      $userLimit
+      $userPeriod
+      $anonLimit
+      $anonPeriod
+      $exception->getCode()
+      $exception->getCode()
+    
+  
+  
+    
+      $exception->getCode()
+      $exception->getCode()
+    
+    
+      $this->request->server
+    
+    
+      \OCA\Talk\Controller\PageController
+    
+  
+  
+    
+      $meta
+    
+  
+  
+    
+      $meta
+    
+  
+  
+    
+      $action['url-postfix']
+    
+    
+      strtolower
+    
+  
+  
+    
+  
+  
+    
+      $default
+    
+  
+  
+    
+      $closure
+    
+  
+  
+    
+      false
+    
+    
+      $this->tar->extractInString($path)
+    
+    
+      string
+    
+    
+      $this->tar->extractInString($path)
+    
+  
+  
+    
+      boolean|null
+      boolean|null
+    
+  
+  
+    
+      $trySession && $this->session->exists('login_credentials')
+    
+  
+  
+    
+      parent::getLoginName()
+      parent::getPassword()
+      parent::getLastCheck()
+      parent::setLastCheck($time)
+      parent::getScope()
+      parent::setScope(json_encode($scope))
+      parent::setScope((string)$scope)
+      parent::getName()
+      parent::setName($name)
+      parent::getRemember()
+      parent::setToken($token)
+      parent::setPassword($password)
+      parent::setExpires($expires)
+      parent::getExpires()
+    
+  
+  
+    
+      $token
+    
+  
+  
+    
+      parent::getLoginName()
+      parent::getPassword()
+      parent::getLastCheck()
+      parent::setLastCheck($time)
+      parent::getScope()
+      parent::setScope(json_encode($scope))
+      parent::setScope((string)$scope)
+      parent::getName()
+      parent::setName($name)
+      parent::getRemember()
+      parent::setToken($token)
+      parent::setPassword($password)
+      parent::setExpires($expires)
+      parent::getExpires()
+      parent::setPasswordInvalid($invalid)
+      parent::setType(IToken::WIPE_TOKEN)
+    
+  
+  
+    
+      $providers
+    
+    
+      string[]
+      int[]
+    
+  
+  
+    
+      IProvider::EVENT_SUCCESS
+      IProvider::EVENT_FAILED
+      $tokenId
+    
+    
+      $providerStates
+    
+    
+      string[]
+    
+    
+      $tokenId
+      $token->getId()
+      $this->timeFactory->getTime()
+    
+    
+      dispatch
+      dispatch
+    
+  
+  
+    
+      $this->providers
+    
+    
+      []
+      $this->providers
+    
+    
+      $this->providers
+    
+    
+      IProvider[]
+    
+    
+      $this->providers
+    
+  
+  
+    
+      $provider['provider_id']
+    
+  
+  
+    
+  
+  
+    
+      Color
+    
+    
+      $finalPalette[$this->hashToInt($hash, $steps * 3)]
+    
+    
+      Color
+    
+  
+  
+    
+      InMemoryFile
+    
+  
+  
+    
+      ISimpleFile
+    
+    
+      (int) $this->config->getUserValue($this->user->getUID(), 'avatar', 'version', 0) + 1
+      $data
+      $data
+    
+  
+  
+    
+      $job->getId()
+    
+  
+  
+    
+      $jobList
+    
+  
+  
+    
+      set
+    
+  
+  
+    
+      bool|mixed
+      bool|mixed
+    
+  
+  
+    
+      $this->shareeEnumerationInGroupOnly
+    
+    
+      $this->shareeEnumerationInGroupOnly
+      $this->shareeEnumerationInGroupOnly
+    
+  
+  
+    
+      $this->shareeEnumerationInGroupOnly
+    
+    
+      $this->shareeEnumerationInGroupOnly
+    
+  
+  
+    
+      search
+    
+  
+  
+    
+    
+      $user instanceof IUser
+    
+    
+      ''
+    
+  
+  
+    
+      \DateTime|null
+    
+  
+  
+    
+    
+      public function getForObjectSince(
+    
+    
+      null
+    
+  
+  
+    
+      $needsUpdate
+    
+  
+  
+    
+      ConsoleEvent::EVENT_RUN
+    
+    
+      $this->request->server
+    
+    
+      dispatch
+    
+    
+      $this->application
+    
+    
+      $this->application
+      $this->application
+      $this->application
+      $this->application
+    
+  
+  
+    
+      !isset($info['contactsmenu']) || !isset($info['contactsmenu'])
+    
+  
+  
+    
+      $mailAddresses
+    
+  
+  
+    
+      string
+    
+    
+      string
+    
+    
+      $this->emailAddresses
+    
+    
+      string
+    
+    
+      $this->avatar
+    
+  
+  
+    
+      IEntry
+    
+    
+      $entry
+    
+  
+  
+    
+      IAddressBook[]
+    
+    
+      bool
+      array
+      IAddressBook
+    
+    
+      null
+      null
+      null
+      null
+      null
+    
+  
+  
+    
+      $builder->createNamedParameter($value)
+    
+    
+      $builder->execute()
+    
+    
+      int
+    
+  
+  
+    
+      $this->conn->fetchColumn('SELECT lastval()')
+    
+    
+      $builder->createNamedParameter($value)
+    
+  
+  
+    
+      string
+    
+    
+      $this->adapter->lastInsertId($seqName)
+      $insertQb->execute()
+    
+    
+      string
+      int
+    
+    
+      $e->getCode()
+    
+  
+  
+    
+      new Configuration()
+    
+  
+  
+    
+      $options['default']
+    
+  
+  
+    
+      setFilterSchemaAssetsExpression
+    
+    
+      $column->getLength()
+    
+  
+  
+    
+      $offset
+      $offset
+    
+    
+      $this->migrationsPath
+      $this->migrationsNamespace
+      $this->migrationsPath
+      $this->migrationsNamespace
+    
+    
+      $this->migrationsPath
+      $this->migrationsNamespace
+      $this->migrationsNamespace
+      $this->migrationsPath
+    
+  
+  
+    
+      setFilterSchemaAssetsExpression
+      setFilterSchemaAssetsExpression
+      setFilterSchemaAssetsExpression
+    
+    
+      '\OC\DB\Migrator::executeSql'
+      '\OC\DB\Migrator::checkTable'
+    
+    
+      dispatch
+      dispatch
+    
+  
+  
+    
+      $key[0]
+    
+  
+  
+    
+      setFilterSchemaAssetsExpression
+    
+  
+  
+    
+      $this->functionBuilder->lower($x)
+    
+    
+      $connection
+    
+    
+      $y
+      $y
+    
+  
+  
+    
+      parent::castColumn($column, $type)
+    
+    
+      IQueryFunction
+    
+  
+  
+    
+      $this->functionBuilder->lower($x)
+    
+  
+  
+    
+      $this->connection
+    
+    
+      string
+    
+    
+      $alias
+    
+  
+  
+    
+      string
+    
+    
+      $string
+    
+  
+  
+    
+    
+      public function formatDateSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {
+      public function formatTimeSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {
+    
+    
+    
+      string
+    
+  
+  
+    
+      $timestamp
+    
+  
+  
+    
+      float
+    
+  
+  
+    
+      microtime(true)
+    
+  
+  
+    
+      $query->execute()
+    
+    
+      TemplateResponse
+      int
+    
+    
+      $template
+      $template
+    
+  
+  
+    
+      getShareForToken
+    
+  
+  
+    
+      new CappedMemoryCache()
+    
+  
+  
+    
+      deleteUserKey
+    
+    
+      null
+      null
+      null
+    
+  
+  
+    
+      bool
+    
+  
+  
+    
+      dispatch
+    
+  
+  
+    
+      $this->event->offsetSet($key, $value)
+      $this->event->offsetUnset($key)
+    
+  
+  
+    
+      $eventName
+    
+    
+      void
+    
+    
+      $eventName
+    
+    
+      dispatch
+    
+  
+  
+    
+      $pos !== false
+    
+  
+  
+    
+      $builder->createNamedParameter($value)
+      $fun->md5($newPathFunction)
+      $newPathFunction
+    
+    
+      $parentData
+    
+    
+      array
+    
+    
+      $path
+      $path
+      \OC_Util::normalizeUnicode($path)
+    
+    
+      null
+      null
+    
+    
+      $sourceData
+      $sourceData
+      $parentData
+      $parentData
+      $entry
+    
+  
+  
+    
+      []
+    
+    
+      put
+      insert
+      getIncomplete
+    
+  
+  
+    
+      $data
+    
+    
+      $path
+    
+    
+      $entry
+      $entry
+      $entry
+      $filesData
+      $data
+    
+    
+      closeCursor
+    
+  
+  
+    
+      scanFile
+      scan
+    
+    
+      null
+      null
+    
+  
+  
+    
+      $builder->func()->greatest('mtime', $builder->createNamedParameter((int)$time, IQueryBuilder::PARAM_INT))
+      $query->createFunction('GREATEST(' . $query->getColumnName('mtime') . ', ' . $query->createParameter('time') . ')')
+      $sizeQuery->func()->add('size', $sizeQuery->createParameter('size'))
+    
+  
+  
+    
+      $value
+      $value
+      $value
+      $value
+    
+  
+  
+    
+      array
+    
+    
+      $existingChildren
+    
+    
+      array[]
+    
+    
+      $path
+      self::SCAN_RECURSIVE_INCOMPLETE
+    
+    
+      null
+      null
+      null
+      null
+    
+    
+      $data ?? $this->getData($file)
+    
+    
+      $child
+    
+  
+  
+    
+      array
+    
+    
+      self::getGlobalCache()->getStorageInfo($storageId)
+    
+  
+  
+    
+      $builder->createNamedParameter(array_values($storageIds), IQueryBuilder::PARAM_STR_ARRAY)
+    
+  
+  
+    
+      $this->cache instanceof Cache
+    
+  
+  
+    
+      $cachedData
+      $entry
+      $entry
+    
+  
+  
+    
+      array
+    
+    
+      $entry
+    
+    
+      array
+    
+    
+      array
+      array
+    
+    
+      $entry
+    
+  
+  
+    
+      $entry
+    
+    
+      formatCacheEntry
+    
+    
+      $entry
+    
+  
+  
+    
+      array
+    
+  
+  
+    
+      Node
+    
+    
+      null
+    
+  
+  
+    
+      $user
+    
+    
+      get_class($provider) !== 'OCA\Files_Sharing\MountProvider'
+    
+    
+      get_class($provider) === 'OCA\Files_Sharing\MountProvider'
+    
+  
+  
+    
+      $builder->createNamedParameter($userIds, IQueryBuilder::PARAM_STR_ARRAY)
+    
+    
+    
+      removeUserStorageMount
+      remoteStorageMounts
+    
+    
+      array
+    
+    
+      $this->mountsForUsers
+      $this->mountsForUsers
+      $this->mountsForUsers
+      $this->mountsForUsers
+      $this->mountsForUsers
+      $this->mountsForUsers
+      $this->cacheInfoCache
+      $this->cacheInfoCache
+      $this->cacheInfoCache
+    
+  
+  
+    
+      $this->data
+      $data
+      $data
+      $data
+    
+  
+  
+    
+      string
+    
+    
+      self::$defaultInstance->toTmpFile($path)
+    
+    
+      string
+    
+    
+      $user
+      $user
+      \OC_User::getUser()
+    
+    
+      null
+    
+    
+      $userObject
+    
+    
+      addStorageWrapper
+    
+  
+  
+    
+      $exception->getCode()
+    
+    
+      null
+    
+    
+      wrap
+    
+  
+  
+    
+      public function removeMount();
+    
+  
+  
+    
+      \OCP\Files\Mount\IMountPoint
+    
+    
+      null
+    
+  
+  
+    
+      new NonExistingFile($this->root, $this->view, $path)
+      $this->view->hash($type, $this->path, $raw)
+    
+    
+      string
+      string
+    
+    
+      $this->view->hash($type, $this->path, $raw)
+    
+    
+      $this->exists
+    
+  
+  
+    
+    
+      string
+    
+    
+      new NonExistingFolder($this->root, $this->view, $path)
+      $this->root->get($this->getFullPath($path))
+    
+    
+      string
+      \OC\Files\Node\Node
+    
+    
+      $node
+    
+    
+      null
+    
+    
+      getUnJailedPath
+      getSourceStorage
+    
+    
+      $this->exists
+    
+  
+  
+    
+      '\OCP\Files::preWrite'
+      '\OCP\Files::postWrite'
+      '\OCP\Files::preCreate'
+      '\OCP\Files::postCreate'
+      '\OCP\Files::preDelete'
+      '\OCP\Files::postDelete'
+      '\OCP\Files::preTouch'
+      '\OCP\Files::postTouch'
+      '\OCP\Files::preRename'
+      '\OCP\Files::postRename'
+      '\OCP\Files::preCopy'
+      '\OCP\Files::postCopy'
+      '\OCP\Files::read'
+    
+    
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+    
+    
+      emit
+      emit
+      emit
+      emit
+      emit
+      emit
+      emit
+      emit
+      emit
+      emit
+      emit
+      emit
+      emit
+    
+  
+  
+    
+      $this->__call(__FUNCTION__, func_get_args())
+    
+  
+  
+    
+      Node
+    
+    
+      '\OCP\Files::' . $hook
+    
+    
+      int
+    
+    
+      $this->root->get($newPath)
+      $targetNode
+      $targetNode
+    
+    
+      Node
+      getChecksum
+      \OC\Files\Node\Node
+      \OC\Files\Node\Node
+    
+    
+      $this->getFileInfo()->getId()
+    
+    
+      dispatch
+    
+    
+      $this->fileInfo
+    
+  
+  
+    
+      string
+      Node
+    
+    
+      \OC\User\User
+      \OC\Files\Mount\MountPoint
+      int
+      array
+      int
+      int
+      string
+    
+    
+      $this->createNode($fullPath, $fileInfo)
+    
+    
+      string
+    
+    
+      $this->user
+      $this->mountManager->find($mountPoint)
+      null
+      null
+      null
+      null
+      null
+    
+    
+      remove
+    
+  
+  
+    
+      false|string
+    
+  
+  
+    
+      $folderData
+    
+    
+      $cacheData
+    
+  
+  
+    
+      $child
+      $child
+      $child
+      $file
+    
+  
+  
+    
+      ClientResolver::_default_signature_provider()
+    
+    
+      ClientResolver::_default_signature_provider()
+    
+    
+      \Aws\or_chain([self::class, 'legacySignatureProvider'], ClientResolver::_default_signature_provider())
+    
+  
+  
+    
+      upload
+    
+    
+      \Aws\serialize($command)
+    
+  
+  
+    
+      null
+    
+    
+      Psr7\modify_request($request, $modify)
+      Psr7\parse_query($query)
+    
+  
+  
+    
+      string
+    
+  
+  
+    
+      stream_for($handle)
+      stream_for($handle)
+    
+  
+  
+    
+      $this->params['url']
+    
+  
+  
+    
+      string|false
+    
+    
+      getMetaData
+      array
+    
+    
+      !$permissions
+    
+    
+      $count
+    
+    
+      file_put_contents
+    
+    
+      $storage->cache
+      $storage->cache
+      $storage->scanner
+      $storage->scanner
+      $storage->propagator
+      $storage->propagator
+      $storage->updater
+      $storage->updater
+    
+    
+      null
+      $this->getStorageCache()->getAvailability()
+    
+  
+  
+    
+      int
+    
+    
+      ArrayCache
+      ArrayCache
+    
+    
+      getETag
+    
+    
+      $response->getBody()
+      $result
+    
+    
+      fopen
+      int
+    
+    
+      null
+    
+    
+      null
+    
+    
+      $cachedData
+      $cachedData
+      $cachedData
+    
+  
+  
+    
+      true
+      new FailedCache()
+    
+    
+      verifyPath
+      getCache
+    
+    
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+      $this->e->getCode()
+    
+  
+  
+    
+      $this->flysystem->getTimestamp($this->buildPath($path))
+    
+    
+      filemtime
+    
+  
+  
+    
+      $file
+    
+    
+      getMetaData
+    
+    
+      $helper->getFileSize($fullPath)
+      file_put_contents($this->getSourcePath($path), $data)
+      $space
+    
+    
+      filesize
+      file_put_contents
+      free_space
+    
+    
+      null
+      $helper->getFileSize($fullPath)
+    
+    
+      is_null($space)
+      $space === false || is_null($space)
+    
+    
+      $stat === false
+    
+  
+  
+    
+      $storage->scanner
+      $storage->scanner
+    
+  
+  
+    
+      mkdir
+      rmdir
+      opendir
+      is_dir
+      is_file
+      stat
+      filesize
+      isCreatable
+      isReadable
+      isUpdatable
+      isDeletable
+      isSharable
+      getPermissions
+      file_exists
+      filemtime
+      file_get_contents
+      file_put_contents
+      unlink
+      rename
+      copy
+      fopen
+      getMimeType
+      hash
+      free_space
+      search
+      touch
+      getLocalFile
+      hasUpdated
+      getOwner
+      getETag
+      getDirectDownload
+      copyFromStorage
+      moveFromStorage
+      getMetaData
+    
+    
+      \Traversable
+    
+  
+  
+    
+      $this->storage->opendir($this->findPathToUse($path))
+      $this->storage->stat($this->findPathToUse($path))
+      $this->storage->filesize($this->findPathToUse($path))
+      $this->storage->filemtime($this->findPathToUse($path))
+      $this->storage->file_get_contents($this->findPathToUse($path))
+      $result
+      $this->storage->getMimeType($this->findPathToUse($path))
+      $this->storage->hash($type, $this->findPathToUse($path), $raw)
+      $this->storage->free_space($this->findPathToUse($path))
+      $this->storage->search($query)
+      $this->storage->getLocalFile($this->findPathToUse($path))
+      $this->storage->getETag($this->findPathToUse($path))
+    
+    
+      bool
+    
+    
+      $this->storage->filetype($this->findPathToUse($path))
+    
+    
+      bool
+    
+    
+      $this->namesCache
+      $this->namesCache
+      $this->namesCache
+      $this->namesCache
+      $this->namesCache
+      $this->namesCache
+      $this->namesCache
+      $this->namesCache
+      $this->namesCache
+      $this->namesCache
+      $this->namesCache
+      $this->namesCache
+      $this->namesCache
+    
+  
+  
+    
+      $this->storage->filesize($path)
+      false
+      $this->storage->file_get_contents($path)
+      $this->storage->getLocalFile($path)
+      $stat
+    
+    
+      resource|bool
+    
+    
+      $source
+      $target
+    
+    
+      array
+    
+    
+      $written
+      $newUnencryptedSize
+    
+    
+      bool
+      int
+    
+    
+      $lastChunkPos
+      $newUnencryptedSize
+    
+    
+      null
+    
+    
+      $info
+      $info
+      $info
+      $entry
+      $sourceStorage->getCache()->get($sourceInternalPath)
+      $info
+      $info
+    
+  
+  
+    
+      $this->getWrapperStorage()->opendir($this->getUnjailedPath($path))
+      $this->getWrapperStorage()->stat($this->getUnjailedPath($path))
+      $this->getWrapperStorage()->filesize($this->getUnjailedPath($path))
+      $this->getWrapperStorage()->filemtime($this->getUnjailedPath($path))
+      $this->getWrapperStorage()->file_get_contents($this->getUnjailedPath($path))
+      $this->getWrapperStorage()->fopen($this->getUnjailedPath($path), $mode)
+      $this->getWrapperStorage()->getMimeType($this->getUnjailedPath($path))
+      $this->getWrapperStorage()->hash($type, $this->getUnjailedPath($path), $raw)
+      $this->getWrapperStorage()->free_space($this->getUnjailedPath($path))
+      $this->getWrapperStorage()->search($query)
+      $this->getWrapperStorage()->getLocalFile($this->getUnjailedPath($path))
+      $this->getWrapperStorage()->getETag($this->getUnjailedPath($path))
+    
+    
+      bool
+    
+    
+      $this->getWrapperStorage()->filetype($this->getUnjailedPath($path))
+    
+    
+      bool
+    
+  
+  
+    
+      $this->checkMask($permissions) ? parent::fopen($path, $mode) : false
+    
+  
+  
+    
+      $this->storage->free_space($path)
+      $source
+    
+    
+      $extension === 'part'
+    
+    
+      string
+    
+    
+      'ext'
+    
+    
+      $data
+    
+  
+  
+    
+      $this->getWrapperStorage()->opendir($path)
+      $this->getWrapperStorage()->stat($path)
+      $this->getWrapperStorage()->filesize($path)
+      $this->getWrapperStorage()->filemtime($path)
+      $this->getWrapperStorage()->file_get_contents($path)
+      $this->getWrapperStorage()->fopen($path, $mode)
+      $this->getWrapperStorage()->getMimeType($path)
+      $this->getWrapperStorage()->hash($type, $path, $raw)
+      $this->getWrapperStorage()->free_space($path)
+      $this->getWrapperStorage()->search($query)
+      $this->getWrapperStorage()->getLocalFile($path)
+      $this->getWrapperStorage()->getETag($path)
+      $this->getWrapperStorage()->getDirectDownload($path)
+    
+    
+      bool
+    
+    
+      $this->getWrapperStorage()->filetype($path)
+      $this->getWrapperStorage()->test()
+    
+    
+      bool
+      true
+    
+  
+  
+    
+      $newFilePosition
+      $newFilePosition
+      $position
+    
+    
+      $cacheEntry
+    
+  
+  
+    
+      false
+      false
+      false
+    
+    
+      $this->current
+      $this->current
+    
+    
+      stream_close
+      stream_flush
+    
+  
+  
+    
+      $update->func()->lower('name')
+    
+    
+      $update->execute()
+    
+    
+      int
+    
+  
+  
+    
+      $mounts
+    
+    
+      \OC\Files\Mount\MountPoint[]
+    
+  
+  
+    
+      $mount
+      $mount
+    
+    
+      string
+      \OCP\Files\Mount\IMountPoint
+    
+    
+      $results
+    
+    
+      \OC\Files\Mount\MountPoint
+    
+    
+      $mtime
+      $user
+      $fileId
+    
+    
+      null
+      Filesystem::getMountManager()->find($this->getAbsolutePath($path))
+      null
+      null
+      null
+      $mount
+    
+    
+      $storage1
+      is_resource($source)
+      $result && in_array('delete', $hooks) and $result
+    
+    
+      list($storage, $internalPath)
+      $storage
+    
+    
+      $data
+      $data
+      $data
+      $data
+      $content
+      $content
+      $content
+      $content
+      $content
+      $rootEntry
+      $rootEntry
+      $rootEntry
+      $rootEntry
+      $rootEntry
+      $rootEntry
+      $rootEntry
+      $rootEntry
+      $rootEntry
+      $rootEntry
+      $rootEntry
+    
+  
+  
+    
+      is_null($this->getContent())
+    
+  
+  
+    
+      $builder->createNamedParameter($gid)
+      $builder->createNamedParameter($gid)
+      $qb->createNamedParameter($uid)
+      $qb->createNamedParameter($gid)
+    
+    
+    
+      $this->groupCache[$gid]['displayname']
+    
+    
+      $this->groupCache
+      $this->groupCache
+      $this->groupCache
+    
+  
+  
+    
+      IGroup::class . '::preAddUser'
+      IGroup::class . '::postAddUser'
+      IGroup::class . '::preRemoveUser'
+      IGroup::class . '::postRemoveUser'
+      IGroup::class . '::preDelete'
+      IGroup::class . '::postDelete'
+    
+    
+      $hide
+    
+    
+      $user
+    
+    
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+    
+    
+      addToGroup
+      removeFromGroup
+      countUsersInGroup
+      deleteGroup
+    
+  
+  
+    
+      $groupId
+    
+    
+      $groupId
+    
+    
+      $groups
+    
+    
+      \OC\Group\Group[]
+    
+    
+      getGroupDetails
+      createGroup
+      isAdmin
+    
+  
+  
+    
+      $sortMode
+      self::SORT_NONE
+    
+    
+      getSubAdmin
+    
+  
+  
+    
+      string|resource
+    
+    
+  
+  
+    
+      false
+    
+    
+      $app['path']
+      $app['path']
+    
+    
+      null
+    
+    
+      $archive
+    
+  
+  
+    
+      $x509->getDN(X509::DN_OPENSSL)['CN']
+      $x509->getDN(X509::DN_OPENSSL)['CN']
+      $x509->getDN(true)['CN']
+    
+    
+      getAllAliases
+      getOnlyDefaultAliases
+    
+  
+  
+    
+      null|string
+    
+    
+      array
+      array|mixed
+    
+  
+  
+    
+    
+      $this->pluralFormFunction
+    
+    
+      \Closure
+    
+  
+  
+    
+      $matches[1]
+      $result
+    
+    
+      $data
+    
+  
+  
+    
+      $query->func()->subtract('lock', $query->createNamedParameter(1))
+      $builder->func()->subtract('lock', $builder->expr()->literal(1))
+      $builder->createNamedParameter($chunk, IQueryBuilder::PARAM_STR_ARRAY)
+    
+  
+  
+    
+      get
+    
+    
+      []
+    
+    
+      getIncomplete
+    
+    
+  
+  
+    
+      getPermissions
+      getOwner
+    
+    
+      new IteratorDirectory([])
+      new NullCache()
+    
+    
+      opendir
+      getCache
+    
+    
+      null
+      null
+    
+    
+      new IteratorDirectory([])
+    
+  
+  
+    
+      $callback()
+    
+    
+      $sessionCallback
+    
+  
+  
+    
+      $request && hash_equals($logCondition['shared_secret'], $logSecretRequest)
+    
+  
+  
+    
+      $limit === null ||$entriesCount < $limit
+    
+  
+  
+    
+      is_string($request->getMethod())
+    
+  
+  
+    
+      $this->c->resolve(Syslog::class)
+      $this->c->resolve(Systemdlog::class)
+    
+    
+      IWriter
+    
+  
+  
+    
+  
+  
+    
+      string[]
+    
+    
+      $failedRecipients
+    
+    
+      getSwiftMessage
+      getTo
+      getSubject
+    
+  
+  
+    
+      apcu_store($this->getPrefix() . $key, $value, $ttl)
+      apcu_exists($this->getPrefix() . $key)
+      apcu_delete($this->getPrefix() . $key)
+      apcu_delete($iter)
+      apcu_add($this->getPrefix() . $key, $value, $ttl)
+    
+    
+      set
+      hasKey
+      remove
+      clear
+      bool
+    
+  
+  
+    
+      mixed
+      mixed
+      mixed
+      mixed
+    
+  
+  
+    
+      $lockingCacheClass && class_exists($distributedCacheClass) && $lockingCacheClass::isAvailable()
+    
+  
+  
+    
+      method_exists(self::$cache, 'deleteMulti')
+    
+    
+      \Memcached::HAVE_IGBINARY
+    
+  
+  
+    
+      exec
+      exec
+    
+    
+      self::$cache->exists($this->getNameSpace() . $key)
+    
+    
+      hasKey
+    
+  
+  
+    
+      $jobList
+    
+  
+  
+    
+      !($notification instanceof INotification) || !$notification->isValidParsed()
+      !($notification instanceof INotification) || !$notification->isValidParsed()
+    
+  
+  
+    
+      []
+    
+  
+  
+    
+      $bp
+    
+  
+  
+    
+      IPreview::EVENT
+      $maxPreviewImage
+    
+    
+      ISimpleFile
+    
+    
+      $file->getId()
+      $file->getId()
+    
+    
+      ISimpleFile
+    
+    
+      $preview
+    
+    
+      dispatch
+    
+    
+      valid
+      height
+      width
+      width
+      height
+      preciseResizeCopy
+      resizeCopy
+    
+  
+  
+    
+      bool|IImage
+    
+    
+      $provider->getThumbnail($file, $maxWidth, $maxHeight)
+    
+  
+  
+    
+      $bp
+    
+  
+  
+    
+      $second
+      $second
+    
+  
+  
+    
+      shell_exec($exec)
+      shell_exec('command -v libreoffice')
+      shell_exec('command -v openoffice')
+    
+    
+      $png
+    
+  
+  
+    
+      $thumbnail === false ? null: $thumbnail
+    
+    
+      ?IImage
+    
+  
+  
+    
+      $file->getStorage()->getLocalFile($file->getInternalPath())
+    
+  
+  
+    
+      $svg
+    
+  
+  
+    
+      shell_exec('command -v libreoffice')
+      shell_exec('command -v openoffice')
+    
+  
+  
+    
+      new \RedisCluster(null, $config['seeds'], $timeout, $readTimeout, false, $config['password'])
+      new \RedisCluster(null, $config['seeds'], $timeout, $readTimeout)
+    
+    
+      \RedisCluster::OPT_SLAVE_FAILOVER
+    
+  
+  
+    
+      array
+    
+  
+  
+    
+      $request->getBody()
+    
+    
+      bool|string
+    
+    
+      $response
+    
+  
+  
+    
+      "$scope::$method"
+    
+    
+      dispatch
+    
+  
+  
+    
+      $query->createNamedParameter($users, IQueryBuilder::PARAM_STR_ARRAY)
+      $qb->createParameter('ids')
+    
+  
+  
+    
+      $subQuery->createFunction('(' . $subSubQuery->getSQL() . ')')
+      $query->createFunction('(' . $subQuery->getSQL() . ')')
+      $query->createFunction('(' . $subQuery->getSQL() . ')')
+    
+    
+      $this->userToNotify
+    
+    
+      $query->execute()
+    
+    
+      \Doctrine\DBAL\Driver\Statement
+    
+  
+  
+    
+      $permsFunc
+    
+  
+  
+    
+      \OC_DB::executeAudited(self::updateByNameStmt(), [$mimetypeId, $this->folderMimeTypeId, $mimetypeId, '%.' . $extension])
+    
+  
+  
+    
+      \OC_APP
+    
+    
+      string
+    
+    
+      $this->collectionName
+    
+    
+      $file !== false
+    
+  
+  
+    
+      $provider instanceof Provider
+    
+  
+  
+    
+      $data->getId()
+      $data->getPermissions()
+      $data->getMtime()
+      $this->hasPreview($data)
+    
+  
+  
+    
+      $qb->createNamedParameter($value)
+    
+    
+      null
+    
+  
+  
+    
+      $this->request->server
+    
+  
+  
+    
+      string|null
+      string|null
+      string|null
+    
+  
+  
+    
+      null
+    
+  
+  
+    
+      $qb->execute()
+      $qb->execute()
+    
+    
+      int
+      int
+    
+  
+  
+    
+      setPassword
+      setIV
+      encrypt
+      setPassword
+      setIV
+      decrypt
+    
+  
+  
+    
+      \OCP\Calendar\Resource\IManager
+      \OCP\Calendar\Room\IManager
+      \OCP\Files\Folder|null
+    
+    
+      setSQLLogger
+    
+    
+      'OCP\IUser::preDelete'
+    
+    
+    
+      $uid
+    
+    
+      $userId
+    
+    
+      dispatch
+    
+    
+      \OC\OCSClient
+    
+  
+  
+    
+      $this->hasNoAppContainer
+    
+  
+  
+    
+      $value
+    
+  
+  
+    
+      $value
+    
+  
+  
+    
+      microtime(true)
+      microtime(true)
+    
+    
+      $content !== ''
+    
+  
+  
+    
+      $this->dbprettyname
+      $this->dbprettyname
+      $this->dbprettyname
+      $this->dbprettyname
+    
+  
+  
+    
+      array
+    
+  
+  
+    
+      false
+    
+    
+      $arguments
+    
+    
+      !self::isResharingAllowed()
+    
+    
+      \OC_User::getUser()
+      $shareWith
+      \OC_User::getUser()
+    
+    
+      getParents
+      getParents
+    
+  
+  
+    
+      $qb->createNamedParameter($share->getShareType())
+      $qb->createNamedParameter($share->getSharedWith())
+      $qb->createNamedParameter(IShare::STATUS_PENDING)
+      $qb->createNamedParameter($share->getExpirationDate(), 'datetime')
+      $qb->createNamedParameter($share->getSharedWith())
+      $qb->createNamedParameter($share->getExpirationDate(), 'datetime')
+      $qb->createNamedParameter($share->getLabel())
+      $qb->createNamedParameter($share->getToken())
+      $qb->createNamedParameter($share->getPassword())
+      $qb->createNamedParameter($share->getSendPasswordByTalk(), IQueryBuilder::PARAM_BOOL)
+      $qb->createNamedParameter($share->getExpirationDate(), 'datetime')
+      $qb->createNamedParameter($share->getParent())
+      $qb->createParameter('itemType')
+      $qb->createNamedParameter($share->getNode()->getId())
+      $qb->createNamedParameter($share->getNode()->getId())
+      $qb->createNamedParameter($share->getPermissions())
+      $qb->createNamedParameter($share->getSharedBy())
+      $qb->createNamedParameter($share->getShareOwner())
+      $qb->createNamedParameter($share->getTarget())
+      $qb->createNamedParameter(time())
+      $qb->createNamedParameter($ids, IQueryBuilder::PARAM_INT_ARRAY)
+      $qb->createNamedParameter($chunk, IQueryBuilder::PARAM_INT_ARRAY)
+      $qb->createNamedParameter($chunk, IQueryBuilder::PARAM_INT_ARRAY)
+      $qb->createNamedParameter($ids, IQueryBuilder::PARAM_INT_ARRAY)
+    
+    
+      $shares
+    
+    
+      getSharesInFolder
+    
+    
+      $share->getId()
+      $share->getId()
+      (int)$data['id']
+    
+    
+      set
+    
+    
+      getParent
+    
+  
+  
+    
+      'OCP\Share::preShare'
+      'OCP\Share::postShare'
+      'OCP\Share::postAcceptShare'
+      'OCP\Share::preUnshare'
+      'OCP\Share::postUnshare'
+      'OCP\Share::postUnshareFromSelf'
+      $data
+    
+    
+      $this->shareApiLinkDefaultExpireDays()
+      $this->shareApiLinkDefaultExpireDays()
+      $id
+    
+    
+      dispatch
+      dispatch
+      update
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+    
+    
+      \OCA\Circles\Api\v1\Circles
+    
+    
+      getChildren
+    
+  
+  
+    
+      FederatedShareProvider
+      ShareByMailProvider
+    
+    
+      $this->shareByCircleProvider
+      $this->roomShareProvider
+      $provider
+      $provider
+      $shares
+    
+    
+      getProvider
+      getProviderForType
+      getAllProviders
+    
+    
+      null
+      null
+      null
+      null
+      null
+      null
+    
+    
+      \OCA\Circles\ShareByCircleProvider
+    
+    
+      \OCA\Circles\ShareByCircleProvider
+      \OCA\Talk\Share\RoomShareProvider
+      RoomShareProvider
+      private $shareByCircleProvider = null;
+      private $roomShareProvider = null;
+    
+    
+      getLazyRootFolder
+      getLazyRootFolder
+      getLazyRootFolder
+      getLazyRootFolder
+    
+  
+  
+    
+      $fh
+    
+    
+      get
+    
+  
+  
+    
+      listen
+      listen
+    
+  
+  
+    
+      getSupportedApps
+    
+  
+  
+    
+      false
+      false
+      false
+    
+    
+      $query->createParameter('tagids')
+      $query->createParameter('tagids')
+      $query->createParameter('tagids')
+    
+    
+      ManagerEvent::EVENT_CREATE
+      ManagerEvent::EVENT_UPDATE
+      ManagerEvent::EVENT_DELETE
+    
+    
+      bool
+      bool
+    
+    
+      dispatch
+      dispatch
+      dispatch
+    
+  
+  
+    
+      $query->createParameter('objectids')
+      $query->createNamedParameter($tagIds, IQueryBuilder::PARAM_INT_ARRAY)
+      $query->createParameter('tagids')
+      $query->createParameter('objectids')
+    
+    
+      MapperEvent::EVENT_ASSIGN
+      MapperEvent::EVENT_UNASSIGN
+    
+    
+      dispatch
+      dispatch
+    
+  
+  
+    
+      \OCP\ITags
+    
+    
+      null
+    
+  
+  
+    
+      [$this->user, $this->type, $chunk]
+    
+    
+      $from
+      $names
+    
+    
+      $tag
+    
+  
+  
+    
+      false
+      false
+    
+  
+  
+    
+      null
+      null
+    
+  
+  
+    
+      $this->appendIfExist($this->serverroot, 'core/'.$script.'.js')
+      $this->appendIfExist($this->serverroot, $theme_dir.'core/'.$script.'.js')
+      $this->appendIfExist($this->serverroot, $script.'.js')
+      $this->appendIfExist($this->serverroot, $theme_dir.$script.'.js')
+      $this->appendIfExist($this->serverroot, 'apps/'.$script.'.js')
+      $this->appendIfExist($this->serverroot, $theme_dir.'apps/'.$script.'.js')
+    
+    
+      $found
+    
+  
+  
+    
+      Compiler::LINE_COMMENTS
+    
+  
+  
+    
+      string
+      string
+    
+    
+      \OC_User::getUser()
+      \OC_User::getUser()
+      $appName
+      $appName
+    
+    
+      Util::addScript('dist/unified-search', null, true)
+    
+    
+      getInitialStates
+    
+  
+  
+    
+      $path
+    
+  
+  
+    
+      0
+      0
+      1
+      0
+      1
+      1
+      0
+      1
+      0
+      0
+      0
+      0
+      0
+    
+    
+      \OC_DB::simulateUpdateDbFromStructure(\OC_App::getAppPath($appId) . '/appinfo/database.xml')
+    
+  
+  
+    
+      time()
+      microtime(true)
+    
+  
+  
+    
+      $limit
+      $offset
+    
+  
+  
+    
+      false
+    
+    
+      $query->func()->lower('displayname')
+    
+    
+    
+      $offset
+      $offset
+    
+  
+  
+    
+      array|int
+    
+    
+      $queryBuilder->createNamedParameter($groups, IQueryBuilder::PARAM_STR_ARRAY)
+    
+    
+      bool|IUser
+    
+    
+      $limit
+      $offset
+    
+    
+      $this->createUserFromBackend($uid, $password, $backend)
+      $this->createUserFromBackend($uid, $password, $backend)
+    
+    
+      checkPassword
+      createUser
+      countUsers
+      getUsersForUserValueCaseInsensitive
+    
+  
+  
+    
+      boolean|null
+    
+    
+      IUser::class . '::firstLogin'
+    
+    
+      $this->timeFactory->getTime()
+      $this->timeFactory->getTime()
+    
+    
+      $request->server
+      $request->server
+    
+    
+      null
+    
+    
+      dispatch
+    
+  
+  
+    
+      IUser::class . '::preDelete'
+      IUser::class . '::postDelete'
+      IUser::class . '::preSetPassword'
+      IUser::class . '::postSetPassword'
+      IUser::class . '::changeUser'
+    
+    
+      getBackend
+    
+    
+      $this->config->getUserValue($uid, 'login', 'lastLogin', 0)
+    
+    
+      $image
+    
+    
+      IImage|null
+    
+    
+      $this->lastLogin
+      $quota
+    
+    
+      $this->backend
+    
+    
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+      dispatch
+    
+    
+      setDisplayName
+      deleteUserAvatar
+      setPassword
+      getHome
+      canChangeAvatar
+    
+  
+  
+    
+    
+      $class
+    
+  
+  
+    
+      int
+    
+    
+      null
+    
+  
+  
+    
+      $groupsList
+      ManagerEvent::EVENT_APP_UPDATE
+    
+    
+      $dir['path']
+      $dir['url']
+    
+    
+      null
+    
+    
+      null
+    
+    
+      $appId === null || trim($appId) === ''
+    
+    
+      dispatch
+    
+    
+      $appId === null
+    
+  
+  
+    
+      $result
+    
+    
+      OC_DB_StatementWrapper
+    
+  
+  
+    
+      $this->statement->fetchColumn($column)
+    
+  
+  
+    
+      $this->fallback
+    
+  
+  
+    
+      \OC\InsufficientStorageException
+    
+  
+  
+    
+      $fileInfos
+      [$fileInfo]
+      $fh
+    
+    
+      mt_rand()
+    
+    
+      $getType === self::ZIP_DIR
+      $getType === self::ZIP_DIR
+    
+    
+      get
+      get
+    
+  
+  
+    
+      (INF > 0)? INF: PHP_INT_MAX
+      INF
+      max($upload_max_filesize, $post_max_size)
+      min($upload_max_filesize, $post_max_size)
+    
+    
+      int
+    
+    
+      $path
+      $includeExtStorage ? 'ext' : false
+      $quota
+      'ext'
+    
+    
+      count($obd_values) > 0 and $obd_values[0]
+    
+    
+      getSourceStorage
+    
+  
+  
+    
+      $this->valid() ? imagesx($this->resource) : -1
+      $this->valid() ? imagesy($this->resource) : -1
+      $this->resource
+    
+    
+      null|string
+    
+    
+      $data[floor($p)]
+      $data[floor($p)]
+    
+    
+      bool
+    
+    
+      $bits
+      $lastIndex
+      $this->bitDepth
+      90
+      $imagePath
+      $imagePath
+      $imagePath
+      $imagePath
+      $imagePath
+      $imagePath
+      $imagePath
+      $imagePath
+      $imagePath
+      $imagePath
+      $imagePath
+      $imagePath
+      $imagePath
+      $x
+      $y
+    
+    
+      bool
+    
+    
+      $isWritable && file_exists($filePath)
+    
+  
+  
+    
+      OC_User::getUser()
+    
+  
+  
+    
+      boolean|string
+    
+  
+  
+    
+      \Test\Util\User\Dummy
+    
+  
+  
+    
+      \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false)
+      \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($prevLogging)
+    
+    
+      $version
+      $version
+      $version
+      $version
+    
+    
+      OC_Helper::computerFileSize($userQuota)
+    
+    
+      float
+    
+    
+      $user
+      OC_User::getUser()
+    
+    
+      is_string($expected)
+      'off'
+    
+    
+      is_bool($expected)
+      is_int($expected)
+      is_bool($setting[1])
+    
+    
+      clearCache
+    
+  
+  
+    
+      $this->request->server
+    
+  
+  
+    
+      ContainerExceptionInterface
+    
+  
+  
+    
+      string
+    
+    
+      $column
+    
+  
+  
+    
+      $qb->createNamedParameter($value, $type)
+    
+  
+  
+    
+      $this->data
+    
+    
+      array
+    
+  
+  
+    
+      $this->data
+    
+    
+      array
+    
+  
+  
+    
+  
+  
+    
+      $template->fetchPage($this->params)
+    
+    
+      string
+    
+  
+  
+    
+      $resource['size']
+      $resource['resource']
+      $resource['internalName']
+      $resource['size']
+      $resource['time']
+    
+    
+      $this->resources
+    
+  
+  
+    
+      Closure
+    
+    
+      Closure
+    
+  
+  
+    
+      $jobList
+    
+  
+  
+    
+      IAddressBook[]
+    
+  
+  
+    
+      WidgetSetting
+    
+    
+      null
+    
+  
+  
+    
+      mixed
+    
+  
+  
+    
+      \OC_App::getStorage($app)
+    
+  
+  
+    
+      string|false
+    
+  
+  
+    
+      array
+    
+    
+      string|false
+    
+  
+  
+    
+      IsearchRequest
+    
+  
+  
+    
+      public function getUri(): string;
+    
+  
+  
+    
+      Color
+    
+  
+  
+    
+      ContainerExceptionInterface
+      ContainerExceptionInterface
+    
+  
+  
+    
+      PreconditionNotMetException
+    
+  
+  
+    
+      $cursor
+    
+  
+  
+    
+      array
+      array|bool
+      mixed
+    
+  
+  
+    
+      \OC_User::getUser()
+    
+    
+      string
+    
+  
+  
+    
+      \OC_Helper::computerFileSize($str)
+    
+    
+      float
+    
+  
+  
+    
+      $e->getCode()
+    
+  
+
diff --git a/psalm.xml b/psalm.xml
index 0beffd3571..2766d40746 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -5,6 +5,7 @@
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xmlns="https://getpsalm.org/schema/config"
 	xsi:schemaLocation="https://getpsalm.org/schema/config"
+    errorBaseline="build/psalm-baseline.xml"
 >
 	
 		

From 80056e081a567c46f931342adf5801735905dacd Mon Sep 17 00:00:00 2001
From: Morris Jobke 
Date: Tue, 18 Aug 2020 09:09:59 +0200
Subject: [PATCH 13/16] Add a check for fixes in the psalm baseline

Signed-off-by: Morris Jobke 
---
 .github/workflows/static-code-analysis.yml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/static-code-analysis.yml b/.github/workflows/static-code-analysis.yml
index 5633c3abc2..bd7476df1e 100644
--- a/.github/workflows/static-code-analysis.yml
+++ b/.github/workflows/static-code-analysis.yml
@@ -19,4 +19,7 @@ jobs:
             - name: Psalm
               uses: docker://jakzal/phpqa:php7.4-alpine
               with:
-                  args: psalm --monochrome --no-progress --output-format=text
+                args: psalm --monochrome --no-progress --output-format=text --update-baseline
+            - name: Check for changes in Psalm baseline
+              run: |
+                bash -c "[[ ! \"`git status --porcelain `\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff && exit 1 )"

From b70792aa6ac85ab95157f3f2de8ececc34292531 Mon Sep 17 00:00:00 2001
From: Morris Jobke 
Date: Tue, 18 Aug 2020 10:10:38 +0200
Subject: [PATCH 14/16] Add stubs for gd, intl, IntlChar, ldap, redis_cluster
 and xsl

Signed-off-by: Morris Jobke 
---
 build/stubs/IntlChar.php | 1368 ++++++++
 build/stubs/gd.php       | 3015 +++++++++++++++++
 build/stubs/intl.php     | 6846 ++++++++++++++++++++++++++++++++++++++
 build/stubs/ldap.php     | 1560 +++++++++
 build/stubs/xsl.php      |  192 ++
 psalm.xml                |    6 +
 6 files changed, 12987 insertions(+)
 create mode 100644 build/stubs/IntlChar.php
 create mode 100644 build/stubs/gd.php
 create mode 100644 build/stubs/intl.php
 create mode 100644 build/stubs/ldap.php
 create mode 100644 build/stubs/xsl.php

diff --git a/build/stubs/IntlChar.php b/build/stubs/IntlChar.php
new file mode 100644
index 0000000000..ea9e1653bd
--- /dev/null
+++ b/build/stubs/IntlChar.php
@@ -0,0 +1,1368 @@
+IntlChar provides access to a number of utility methods that can be used to access information about Unicode characters.

+ *

The methods and constants adhere closely to the names and behavior used by the underlying ICU library.

+ * @since 7.0 + */ +class IntlChar { + const UNICODE_VERSION = 6.3; + const CODEPOINT_MIN = 0; + const CODEPOINT_MAX = 1114111; + const FOLD_CASE_DEFAULT = 0; + const FOLD_CASE_EXCLUDE_SPECIAL_I = 1; + const PROPERTY_ALPHABETIC = 0; + const PROPERTY_BINARY_START = 0; + const PROPERTY_ASCII_HEX_DIGIT = 1; + const PROPERTY_BIDI_CONTROL = 2; + const PROPERTY_BIDI_MIRRORED = 3; + const PROPERTY_DASH = 4; + const PROPERTY_DEFAULT_IGNORABLE_CODE_POINT = 5; + const PROPERTY_DEPRECATED = 6; + const PROPERTY_DIACRITIC = 7; + const PROPERTY_EXTENDER = 8; + const PROPERTY_FULL_COMPOSITION_EXCLUSION = 9; + const PROPERTY_GRAPHEME_BASE = 10; + const PROPERTY_GRAPHEME_EXTEND = 11; + const PROPERTY_GRAPHEME_LINK = 12; + const PROPERTY_HEX_DIGIT = 13; + const PROPERTY_HYPHEN = 14; + const PROPERTY_ID_CONTINUE = 15; + const PROPERTY_ID_START = 16; + const PROPERTY_IDEOGRAPHIC = 17; + const PROPERTY_IDS_BINARY_OPERATOR = 18; + const PROPERTY_IDS_TRINARY_OPERATOR = 19; + const PROPERTY_JOIN_CONTROL = 20; + const PROPERTY_LOGICAL_ORDER_EXCEPTION = 21; + const PROPERTY_LOWERCASE = 22; + const PROPERTY_MATH = 23; + const PROPERTY_NONCHARACTER_CODE_POINT = 24; + const PROPERTY_QUOTATION_MARK = 25; + const PROPERTY_RADICAL = 26; + const PROPERTY_SOFT_DOTTED = 27; + const PROPERTY_TERMINAL_PUNCTUATION = 28; + const PROPERTY_UNIFIED_IDEOGRAPH = 29; + const PROPERTY_UPPERCASE = 30; + const PROPERTY_WHITE_SPACE = 31; + const PROPERTY_XID_CONTINUE = 32; + const PROPERTY_XID_START = 33; + const PROPERTY_CASE_SENSITIVE = 34; + const PROPERTY_S_TERM = 35; + const PROPERTY_VARIATION_SELECTOR = 36; + const PROPERTY_NFD_INERT = 37; + const PROPERTY_NFKD_INERT = 38; + const PROPERTY_NFC_INERT = 39; + const PROPERTY_NFKC_INERT = 40; + const PROPERTY_SEGMENT_STARTER = 41; + const PROPERTY_PATTERN_SYNTAX = 42; + const PROPERTY_PATTERN_WHITE_SPACE = 43; + const PROPERTY_POSIX_ALNUM = 44; + const PROPERTY_POSIX_BLANK = 45; + const PROPERTY_POSIX_GRAPH = 46; + const PROPERTY_POSIX_PRINT = 47; + const PROPERTY_POSIX_XDIGIT = 48; + const PROPERTY_CASED = 49; + const PROPERTY_CASE_IGNORABLE = 50; + const PROPERTY_CHANGES_WHEN_LOWERCASED = 51; + const PROPERTY_CHANGES_WHEN_UPPERCASED = 52; + const PROPERTY_CHANGES_WHEN_TITLECASED = 53; + const PROPERTY_CHANGES_WHEN_CASEFOLDED = 54; + const PROPERTY_CHANGES_WHEN_CASEMAPPED = 55; + const PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED = 56; + const PROPERTY_BINARY_LIMIT = 57; + const PROPERTY_BIDI_CLASS = 4096; + const PROPERTY_INT_START = 4096; + const PROPERTY_BLOCK = 4097; + const PROPERTY_CANONICAL_COMBINING_CLASS = 4098; + const PROPERTY_DECOMPOSITION_TYPE = 4099; + const PROPERTY_EAST_ASIAN_WIDTH = 4100; + const PROPERTY_GENERAL_CATEGORY = 4101; + const PROPERTY_JOINING_GROUP = 4102; + const PROPERTY_JOINING_TYPE = 4103; + const PROPERTY_LINE_BREAK = 4104; + const PROPERTY_NUMERIC_TYPE = 4105; + const PROPERTY_SCRIPT = 4106; + const PROPERTY_HANGUL_SYLLABLE_TYPE = 4107; + const PROPERTY_NFD_QUICK_CHECK = 4108; + const PROPERTY_NFKD_QUICK_CHECK = 4109; + const PROPERTY_NFC_QUICK_CHECK = 4110; + const PROPERTY_NFKC_QUICK_CHECK = 4111; + const PROPERTY_LEAD_CANONICAL_COMBINING_CLASS = 4112; + const PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS = 4113; + const PROPERTY_GRAPHEME_CLUSTER_BREAK = 4114; + const PROPERTY_SENTENCE_BREAK = 4115; + const PROPERTY_WORD_BREAK = 4116; + const PROPERTY_BIDI_PAIRED_BRACKET_TYPE = 4117; + const PROPERTY_INT_LIMIT = 4118; + const PROPERTY_GENERAL_CATEGORY_MASK = 8192; + const PROPERTY_MASK_START = 8192; + const PROPERTY_MASK_LIMIT = 8193; + const PROPERTY_NUMERIC_VALUE = 12288; + const PROPERTY_DOUBLE_START = 12288; + const PROPERTY_DOUBLE_LIMIT = 12289; + const PROPERTY_AGE = 16384; + const PROPERTY_STRING_START = 16384; + const PROPERTY_BIDI_MIRRORING_GLYPH = 16385; + const PROPERTY_CASE_FOLDING = 16386; + const PROPERTY_ISO_COMMENT = 16387; + const PROPERTY_LOWERCASE_MAPPING = 16388; + const PROPERTY_NAME = 16389; + const PROPERTY_SIMPLE_CASE_FOLDING = 16390; + const PROPERTY_SIMPLE_LOWERCASE_MAPPING = 16391; + const PROPERTY_SIMPLE_TITLECASE_MAPPING = 16392; + const PROPERTY_SIMPLE_UPPERCASE_MAPPING = 16393; + const PROPERTY_TITLECASE_MAPPING = 16394; + const PROPERTY_UNICODE_1_NAME = 16395; + const PROPERTY_UPPERCASE_MAPPING = 16396; + const PROPERTY_BIDI_PAIRED_BRACKET = 16397; + const PROPERTY_STRING_LIMIT = 16398; + const PROPERTY_SCRIPT_EXTENSIONS = 28672; + const PROPERTY_OTHER_PROPERTY_START = 28672; + const PROPERTY_OTHER_PROPERTY_LIMIT = 28673; + const PROPERTY_INVALID_CODE = -1; + const CHAR_CATEGORY_UNASSIGNED = 0; + const CHAR_CATEGORY_GENERAL_OTHER_TYPES = 0; + const CHAR_CATEGORY_UPPERCASE_LETTER = 1; + const CHAR_CATEGORY_LOWERCASE_LETTER = 2; + const CHAR_CATEGORY_TITLECASE_LETTER = 3; + const CHAR_CATEGORY_MODIFIER_LETTER = 4; + const CHAR_CATEGORY_OTHER_LETTER = 5; + const CHAR_CATEGORY_NON_SPACING_MARK = 6; + const CHAR_CATEGORY_ENCLOSING_MARK = 7; + const CHAR_CATEGORY_COMBINING_SPACING_MARK = 8; + const CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER = 9; + const CHAR_CATEGORY_LETTER_NUMBER = 10; + const CHAR_CATEGORY_OTHER_NUMBER = 11; + const CHAR_CATEGORY_SPACE_SEPARATOR = 12; + const CHAR_CATEGORY_LINE_SEPARATOR = 13; + const CHAR_CATEGORY_PARAGRAPH_SEPARATOR = 14; + const CHAR_CATEGORY_CONTROL_CHAR = 15; + const CHAR_CATEGORY_FORMAT_CHAR = 16; + const CHAR_CATEGORY_PRIVATE_USE_CHAR = 17; + const CHAR_CATEGORY_SURROGATE = 18; + const CHAR_CATEGORY_DASH_PUNCTUATION = 19; + const CHAR_CATEGORY_START_PUNCTUATION = 20; + const CHAR_CATEGORY_END_PUNCTUATION = 21; + const CHAR_CATEGORY_CONNECTOR_PUNCTUATION = 22; + const CHAR_CATEGORY_OTHER_PUNCTUATION = 23; + const CHAR_CATEGORY_MATH_SYMBOL = 24; + const CHAR_CATEGORY_CURRENCY_SYMBOL = 25; + const CHAR_CATEGORY_MODIFIER_SYMBOL = 26; + const CHAR_CATEGORY_OTHER_SYMBOL = 27; + const CHAR_CATEGORY_INITIAL_PUNCTUATION = 28; + const CHAR_CATEGORY_FINAL_PUNCTUATION = 29; + const CHAR_CATEGORY_CHAR_CATEGORY_COUNT = 30; + const CHAR_DIRECTION_LEFT_TO_RIGHT = 0; + const CHAR_DIRECTION_RIGHT_TO_LEFT = 1; + const CHAR_DIRECTION_EUROPEAN_NUMBER = 2; + const CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR = 3; + const CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR = 4; + const CHAR_DIRECTION_ARABIC_NUMBER = 5; + const CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR = 6; + const CHAR_DIRECTION_BLOCK_SEPARATOR = 7; + const CHAR_DIRECTION_SEGMENT_SEPARATOR = 8; + const CHAR_DIRECTION_WHITE_SPACE_NEUTRAL = 9; + const CHAR_DIRECTION_OTHER_NEUTRAL = 10; + const CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING = 11; + const CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE = 12; + const CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC = 13; + const CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING = 14; + const CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE = 15; + const CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT = 16; + const CHAR_DIRECTION_DIR_NON_SPACING_MARK = 17; + const CHAR_DIRECTION_BOUNDARY_NEUTRAL = 18; + const CHAR_DIRECTION_FIRST_STRONG_ISOLATE = 19; + const CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE = 20; + const CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE = 21; + const CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE = 22; + const CHAR_DIRECTION_CHAR_DIRECTION_COUNT = 23; + const BLOCK_CODE_NO_BLOCK = 0; + const BLOCK_CODE_BASIC_LATIN = 1; + const BLOCK_CODE_LATIN_1_SUPPLEMENT = 2; + const BLOCK_CODE_LATIN_EXTENDED_A = 3; + const BLOCK_CODE_LATIN_EXTENDED_B = 4; + const BLOCK_CODE_IPA_EXTENSIONS = 5; + const BLOCK_CODE_SPACING_MODIFIER_LETTERS = 6; + const BLOCK_CODE_COMBINING_DIACRITICAL_MARKS = 7; + const BLOCK_CODE_GREEK = 8; + const BLOCK_CODE_CYRILLIC = 9; + const BLOCK_CODE_ARMENIAN = 10; + const BLOCK_CODE_HEBREW = 11; + const BLOCK_CODE_ARABIC = 12; + const BLOCK_CODE_SYRIAC = 13; + const BLOCK_CODE_THAANA = 14; + const BLOCK_CODE_DEVANAGARI = 15; + const BLOCK_CODE_BENGALI = 16; + const BLOCK_CODE_GURMUKHI = 17; + const BLOCK_CODE_GUJARATI = 18; + const BLOCK_CODE_ORIYA = 19; + const BLOCK_CODE_TAMIL = 20; + const BLOCK_CODE_TELUGU = 21; + const BLOCK_CODE_KANNADA = 22; + const BLOCK_CODE_MALAYALAM = 23; + const BLOCK_CODE_SINHALA = 24; + const BLOCK_CODE_THAI = 25; + const BLOCK_CODE_LAO = 26; + const BLOCK_CODE_TIBETAN = 27; + const BLOCK_CODE_MYANMAR = 28; + const BLOCK_CODE_GEORGIAN = 29; + const BLOCK_CODE_HANGUL_JAMO = 30; + const BLOCK_CODE_ETHIOPIC = 31; + const BLOCK_CODE_CHEROKEE = 32; + const BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS = 33; + const BLOCK_CODE_OGHAM = 34; + const BLOCK_CODE_RUNIC = 35; + const BLOCK_CODE_KHMER = 36; + const BLOCK_CODE_MONGOLIAN = 37; + const BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL = 38; + const BLOCK_CODE_GREEK_EXTENDED = 39; + const BLOCK_CODE_GENERAL_PUNCTUATION = 40; + const BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS = 41; + const BLOCK_CODE_CURRENCY_SYMBOLS = 42; + const BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS = 43; + const BLOCK_CODE_LETTERLIKE_SYMBOLS = 44; + const BLOCK_CODE_NUMBER_FORMS = 45; + const BLOCK_CODE_ARROWS = 46; + const BLOCK_CODE_MATHEMATICAL_OPERATORS = 47; + const BLOCK_CODE_MISCELLANEOUS_TECHNICAL = 48; + const BLOCK_CODE_CONTROL_PICTURES = 49; + const BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION = 50; + const BLOCK_CODE_ENCLOSED_ALPHANUMERICS = 51; + const BLOCK_CODE_BOX_DRAWING = 52; + const BLOCK_CODE_BLOCK_ELEMENTS = 53; + const BLOCK_CODE_GEOMETRIC_SHAPES = 54; + const BLOCK_CODE_MISCELLANEOUS_SYMBOLS = 55; + const BLOCK_CODE_DINGBATS = 56; + const BLOCK_CODE_BRAILLE_PATTERNS = 57; + const BLOCK_CODE_CJK_RADICALS_SUPPLEMENT = 58; + const BLOCK_CODE_KANGXI_RADICALS = 59; + const BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS = 60; + const BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION = 61; + const BLOCK_CODE_HIRAGANA = 62; + const BLOCK_CODE_KATAKANA = 63; + const BLOCK_CODE_BOPOMOFO = 64; + const BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO = 65; + const BLOCK_CODE_KANBUN = 66; + const BLOCK_CODE_BOPOMOFO_EXTENDED = 67; + const BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS = 68; + const BLOCK_CODE_CJK_COMPATIBILITY = 69; + const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A = 70; + const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS = 71; + const BLOCK_CODE_YI_SYLLABLES = 72; + const BLOCK_CODE_YI_RADICALS = 73; + const BLOCK_CODE_HANGUL_SYLLABLES = 74; + const BLOCK_CODE_HIGH_SURROGATES = 75; + const BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES = 76; + const BLOCK_CODE_LOW_SURROGATES = 77; + const BLOCK_CODE_PRIVATE_USE_AREA = 78; + const BLOCK_CODE_PRIVATE_USE = 78; + const BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS = 79; + const BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS = 80; + const BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A = 81; + const BLOCK_CODE_COMBINING_HALF_MARKS = 82; + const BLOCK_CODE_CJK_COMPATIBILITY_FORMS = 83; + const BLOCK_CODE_SMALL_FORM_VARIANTS = 84; + const BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B = 85; + const BLOCK_CODE_SPECIALS = 86; + const BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS = 87; + const BLOCK_CODE_OLD_ITALIC = 88; + const BLOCK_CODE_GOTHIC = 89; + const BLOCK_CODE_DESERET = 90; + const BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS = 91; + const BLOCK_CODE_MUSICAL_SYMBOLS = 92; + const BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93; + const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94; + const BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95; + const BLOCK_CODE_TAGS = 96; + const BLOCK_CODE_CYRILLIC_SUPPLEMENT = 97; + const BLOCK_CODE_CYRILLIC_SUPPLEMENTARY = 97; + const BLOCK_CODE_TAGALOG = 98; + const BLOCK_CODE_HANUNOO = 99; + const BLOCK_CODE_BUHID = 100; + const BLOCK_CODE_TAGBANWA = 101; + const BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102; + const BLOCK_CODE_SUPPLEMENTAL_ARROWS_A = 103; + const BLOCK_CODE_SUPPLEMENTAL_ARROWS_B = 104; + const BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105; + const BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106; + const BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS = 107; + const BLOCK_CODE_VARIATION_SELECTORS = 108; + const BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109; + const BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110; + const BLOCK_CODE_LIMBU = 111; + const BLOCK_CODE_TAI_LE = 112; + const BLOCK_CODE_KHMER_SYMBOLS = 113; + const BLOCK_CODE_PHONETIC_EXTENSIONS = 114; + const BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115; + const BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS = 116; + const BLOCK_CODE_LINEAR_B_SYLLABARY = 117; + const BLOCK_CODE_LINEAR_B_IDEOGRAMS = 118; + const BLOCK_CODE_AEGEAN_NUMBERS = 119; + const BLOCK_CODE_UGARITIC = 120; + const BLOCK_CODE_SHAVIAN = 121; + const BLOCK_CODE_OSMANYA = 122; + const BLOCK_CODE_CYPRIOT_SYLLABARY = 123; + const BLOCK_CODE_TAI_XUAN_JING_SYMBOLS = 124; + const BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT = 125; + const BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION = 126; + const BLOCK_CODE_ANCIENT_GREEK_NUMBERS = 127; + const BLOCK_CODE_ARABIC_SUPPLEMENT = 128; + const BLOCK_CODE_BUGINESE = 129; + const BLOCK_CODE_CJK_STROKES = 130; + const BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131; + const BLOCK_CODE_COPTIC = 132; + const BLOCK_CODE_ETHIOPIC_EXTENDED = 133; + const BLOCK_CODE_ETHIOPIC_SUPPLEMENT = 134; + const BLOCK_CODE_GEORGIAN_SUPPLEMENT = 135; + const BLOCK_CODE_GLAGOLITIC = 136; + const BLOCK_CODE_KHAROSHTHI = 137; + const BLOCK_CODE_MODIFIER_TONE_LETTERS = 138; + const BLOCK_CODE_NEW_TAI_LUE = 139; + const BLOCK_CODE_OLD_PERSIAN = 140; + const BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT = 141; + const BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION = 142; + const BLOCK_CODE_SYLOTI_NAGRI = 143; + const BLOCK_CODE_TIFINAGH = 144; + const BLOCK_CODE_VERTICAL_FORMS = 145; + const BLOCK_CODE_NKO = 146; + const BLOCK_CODE_BALINESE = 147; + const BLOCK_CODE_LATIN_EXTENDED_C = 148; + const BLOCK_CODE_LATIN_EXTENDED_D = 149; + const BLOCK_CODE_PHAGS_PA = 150; + const BLOCK_CODE_PHOENICIAN = 151; + const BLOCK_CODE_CUNEIFORM = 152; + const BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153; + const BLOCK_CODE_COUNTING_ROD_NUMERALS = 154; + const BLOCK_CODE_SUNDANESE = 155; + const BLOCK_CODE_LEPCHA = 156; + const BLOCK_CODE_OL_CHIKI = 157; + const BLOCK_CODE_CYRILLIC_EXTENDED_A = 158; + const BLOCK_CODE_VAI = 159; + const BLOCK_CODE_CYRILLIC_EXTENDED_B = 160; + const BLOCK_CODE_SAURASHTRA = 161; + const BLOCK_CODE_KAYAH_LI = 162; + const BLOCK_CODE_REJANG = 163; + const BLOCK_CODE_CHAM = 164; + const BLOCK_CODE_ANCIENT_SYMBOLS = 165; + const BLOCK_CODE_PHAISTOS_DISC = 166; + const BLOCK_CODE_LYCIAN = 167; + const BLOCK_CODE_CARIAN = 168; + const BLOCK_CODE_LYDIAN = 169; + const BLOCK_CODE_MAHJONG_TILES = 170; + const BLOCK_CODE_DOMINO_TILES = 171; + const BLOCK_CODE_SAMARITAN = 172; + const BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173; + const BLOCK_CODE_TAI_THAM = 174; + const BLOCK_CODE_VEDIC_EXTENSIONS = 175; + const BLOCK_CODE_LISU = 176; + const BLOCK_CODE_BAMUM = 177; + const BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS = 178; + const BLOCK_CODE_DEVANAGARI_EXTENDED = 179; + const BLOCK_CODE_HANGUL_JAMO_EXTENDED_A = 180; + const BLOCK_CODE_JAVANESE = 181; + const BLOCK_CODE_MYANMAR_EXTENDED_A = 182; + const BLOCK_CODE_TAI_VIET = 183; + const BLOCK_CODE_MEETEI_MAYEK = 184; + const BLOCK_CODE_HANGUL_JAMO_EXTENDED_B = 185; + const BLOCK_CODE_IMPERIAL_ARAMAIC = 186; + const BLOCK_CODE_OLD_SOUTH_ARABIAN = 187; + const BLOCK_CODE_AVESTAN = 188; + const BLOCK_CODE_INSCRIPTIONAL_PARTHIAN = 189; + const BLOCK_CODE_INSCRIPTIONAL_PAHLAVI = 190; + const BLOCK_CODE_OLD_TURKIC = 191; + const BLOCK_CODE_RUMI_NUMERAL_SYMBOLS = 192; + const BLOCK_CODE_KAITHI = 193; + const BLOCK_CODE_EGYPTIAN_HIEROGLYPHS = 194; + const BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195; + const BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196; + const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197; + const BLOCK_CODE_MANDAIC = 198; + const BLOCK_CODE_BATAK = 199; + const BLOCK_CODE_ETHIOPIC_EXTENDED_A = 200; + const BLOCK_CODE_BRAHMI = 201; + const BLOCK_CODE_BAMUM_SUPPLEMENT = 202; + const BLOCK_CODE_KANA_SUPPLEMENT = 203; + const BLOCK_CODE_PLAYING_CARDS = 204; + const BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205; + const BLOCK_CODE_EMOTICONS = 206; + const BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS = 207; + const BLOCK_CODE_ALCHEMICAL_SYMBOLS = 208; + const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209; + const BLOCK_CODE_ARABIC_EXTENDED_A = 210; + const BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211; + const BLOCK_CODE_CHAKMA = 212; + const BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS = 213; + const BLOCK_CODE_MEROITIC_CURSIVE = 214; + const BLOCK_CODE_MEROITIC_HIEROGLYPHS = 215; + const BLOCK_CODE_MIAO = 216; + const BLOCK_CODE_SHARADA = 217; + const BLOCK_CODE_SORA_SOMPENG = 218; + const BLOCK_CODE_SUNDANESE_SUPPLEMENT = 219; + const BLOCK_CODE_TAKRI = 220; + const BLOCK_CODE_BASSA_VAH = 221; + const BLOCK_CODE_CAUCASIAN_ALBANIAN = 222; + const BLOCK_CODE_COPTIC_EPACT_NUMBERS = 223; + const BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED = 224; + const BLOCK_CODE_DUPLOYAN = 225; + const BLOCK_CODE_ELBASAN = 226; + const BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED = 227; + const BLOCK_CODE_GRANTHA = 228; + const BLOCK_CODE_KHOJKI = 229; + const BLOCK_CODE_KHUDAWADI = 230; + const BLOCK_CODE_LATIN_EXTENDED_E = 231; + const BLOCK_CODE_LINEAR_A = 232; + const BLOCK_CODE_MAHAJANI = 233; + const BLOCK_CODE_MANICHAEAN = 234; + const BLOCK_CODE_MENDE_KIKAKUI = 235; + const BLOCK_CODE_MODI = 236; + const BLOCK_CODE_MRO = 237; + const BLOCK_CODE_MYANMAR_EXTENDED_B = 238; + const BLOCK_CODE_NABATAEAN = 239; + const BLOCK_CODE_OLD_NORTH_ARABIAN = 240; + const BLOCK_CODE_OLD_PERMIC = 241; + const BLOCK_CODE_ORNAMENTAL_DINGBATS = 242; + const BLOCK_CODE_PAHAWH_HMONG = 243; + const BLOCK_CODE_PALMYRENE = 244; + const BLOCK_CODE_PAU_CIN_HAU = 245; + const BLOCK_CODE_PSALTER_PAHLAVI = 246; + const BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS = 247; + const BLOCK_CODE_SIDDHAM = 248; + const BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS = 249; + const BLOCK_CODE_SUPPLEMENTAL_ARROWS_C = 250; + const BLOCK_CODE_TIRHUTA = 251; + const BLOCK_CODE_WARANG_CITI = 252; + const BLOCK_CODE_COUNT = 263; + const BLOCK_CODE_INVALID_CODE = -1; + const BPT_NONE = 0; + const BPT_OPEN = 1; + const BPT_CLOSE = 2; + const BPT_COUNT = 3; + const EA_NEUTRAL = 0; + const EA_AMBIGUOUS = 1; + const EA_HALFWIDTH = 2; + const EA_FULLWIDTH = 3; + const EA_NARROW = 4; + const EA_WIDE = 5; + const EA_COUNT = 6; + const UNICODE_CHAR_NAME = 0; + const UNICODE_10_CHAR_NAME = 1; + const EXTENDED_CHAR_NAME = 2; + const CHAR_NAME_ALIAS = 3; + const CHAR_NAME_CHOICE_COUNT = 4; + const SHORT_PROPERTY_NAME = 0; + const LONG_PROPERTY_NAME = 1; + const PROPERTY_NAME_CHOICE_COUNT = 2; + const DT_NONE = 0; + const DT_CANONICAL = 1; + const DT_COMPAT = 2; + const DT_CIRCLE = 3; + const DT_FINAL = 4; + const DT_FONT = 5; + const DT_FRACTION = 6; + const DT_INITIAL = 7; + const DT_ISOLATED = 8; + const DT_MEDIAL = 9; + const DT_NARROW = 10; + const DT_NOBREAK = 11; + const DT_SMALL = 12; + const DT_SQUARE = 13; + const DT_SUB = 14; + const DT_SUPER = 15; + const DT_VERTICAL = 16; + const DT_WIDE = 17; + const DT_COUNT = 18; + const JT_NON_JOINING = 0; + const JT_JOIN_CAUSING = 1; + const JT_DUAL_JOINING = 2; + const JT_LEFT_JOINING = 3; + const JT_RIGHT_JOINING = 4; + const JT_TRANSPARENT = 5; + const JT_COUNT = 6; + const JG_NO_JOINING_GROUP = 0; + const JG_AIN = 1; + const JG_ALAPH = 2; + const JG_ALEF = 3; + const JG_BEH = 4; + const JG_BETH = 5; + const JG_DAL = 6; + const JG_DALATH_RISH = 7; + const JG_E = 8; + const JG_FEH = 9; + const JG_FINAL_SEMKATH = 10; + const JG_GAF = 11; + const JG_GAMAL = 12; + const JG_HAH = 13; + const JG_TEH_MARBUTA_GOAL = 14; + const JG_HAMZA_ON_HEH_GOAL = 14; + const JG_HE = 15; + const JG_HEH = 16; + const JG_HEH_GOAL = 17; + const JG_HETH = 18; + const JG_KAF = 19; + const JG_KAPH = 20; + const JG_KNOTTED_HEH = 21; + const JG_LAM = 22; + const JG_LAMADH = 23; + const JG_MEEM = 24; + const JG_MIM = 25; + const JG_NOON = 26; + const JG_NUN = 27; + const JG_PE = 28; + const JG_QAF = 29; + const JG_QAPH = 30; + const JG_REH = 31; + const JG_REVERSED_PE = 32; + const JG_SAD = 33; + const JG_SADHE = 34; + const JG_SEEN = 35; + const JG_SEMKATH = 36; + const JG_SHIN = 37; + const JG_SWASH_KAF = 38; + const JG_SYRIAC_WAW = 39; + const JG_TAH = 40; + const JG_TAW = 41; + const JG_TEH_MARBUTA = 42; + const JG_TETH = 43; + const JG_WAW = 44; + const JG_YEH = 45; + const JG_YEH_BARREE = 46; + const JG_YEH_WITH_TAIL = 47; + const JG_YUDH = 48; + const JG_YUDH_HE = 49; + const JG_ZAIN = 50; + const JG_FE = 51; + const JG_KHAPH = 52; + const JG_ZHAIN = 53; + const JG_BURUSHASKI_YEH_BARREE = 54; + const JG_FARSI_YEH = 55; + const JG_NYA = 56; + const JG_ROHINGYA_YEH = 57; + const JG_MANICHAEAN_ALEPH = 58; + const JG_MANICHAEAN_AYIN = 59; + const JG_MANICHAEAN_BETH = 60; + const JG_MANICHAEAN_DALETH = 61; + const JG_MANICHAEAN_DHAMEDH = 62; + const JG_MANICHAEAN_FIVE = 63; + const JG_MANICHAEAN_GIMEL = 64; + const JG_MANICHAEAN_HETH = 65; + const JG_MANICHAEAN_HUNDRED = 66; + const JG_MANICHAEAN_KAPH = 67; + const JG_MANICHAEAN_LAMEDH = 68; + const JG_MANICHAEAN_MEM = 69; + const JG_MANICHAEAN_NUN = 70; + const JG_MANICHAEAN_ONE = 71; + const JG_MANICHAEAN_PE = 72; + const JG_MANICHAEAN_QOPH = 73; + const JG_MANICHAEAN_RESH = 74; + const JG_MANICHAEAN_SADHE = 75; + const JG_MANICHAEAN_SAMEKH = 76; + const JG_MANICHAEAN_TAW = 77; + const JG_MANICHAEAN_TEN = 78; + const JG_MANICHAEAN_TETH = 79; + const JG_MANICHAEAN_THAMEDH = 80; + const JG_MANICHAEAN_TWENTY = 81; + const JG_MANICHAEAN_WAW = 82; + const JG_MANICHAEAN_YODH = 83; + const JG_MANICHAEAN_ZAYIN = 84; + const JG_STRAIGHT_WAW = 85; + const JG_COUNT = 86; + const GCB_OTHER = 0; + const GCB_CONTROL = 1; + const GCB_CR = 2; + const GCB_EXTEND = 3; + const GCB_L = 4; + const GCB_LF = 5; + const GCB_LV = 6; + const GCB_LVT = 7; + const GCB_T = 8; + const GCB_V = 9; + const GCB_SPACING_MARK = 10; + const GCB_PREPEND = 11; + const GCB_REGIONAL_INDICATOR = 12; + const GCB_COUNT = 13; + const WB_OTHER = 0; + const WB_ALETTER = 1; + const WB_FORMAT = 2; + const WB_KATAKANA = 3; + const WB_MIDLETTER = 4; + const WB_MIDNUM = 5; + const WB_NUMERIC = 6; + const WB_EXTENDNUMLET = 7; + const WB_CR = 8; + const WB_EXTEND = 9; + const WB_LF = 10; + const WB_MIDNUMLET = 11; + const WB_NEWLINE = 12; + const WB_REGIONAL_INDICATOR = 13; + const WB_HEBREW_LETTER = 14; + const WB_SINGLE_QUOTE = 15; + const WB_DOUBLE_QUOTE = 16; + const WB_COUNT = 17; + const SB_OTHER = 0; + const SB_ATERM = 1; + const SB_CLOSE = 2; + const SB_FORMAT = 3; + const SB_LOWER = 4; + const SB_NUMERIC = 5; + const SB_OLETTER = 6; + const SB_SEP = 7; + const SB_SP = 8; + const SB_STERM = 9; + const SB_UPPER = 10; + const SB_CR = 11; + const SB_EXTEND = 12; + const SB_LF = 13; + const SB_SCONTINUE = 14; + const SB_COUNT = 15; + const LB_UNKNOWN = 0; + const LB_AMBIGUOUS = 1; + const LB_ALPHABETIC = 2; + const LB_BREAK_BOTH = 3; + const LB_BREAK_AFTER = 4; + const LB_BREAK_BEFORE = 5; + const LB_MANDATORY_BREAK = 6; + const LB_CONTINGENT_BREAK = 7; + const LB_CLOSE_PUNCTUATION = 8; + const LB_COMBINING_MARK = 9; + const LB_CARRIAGE_RETURN = 10; + const LB_EXCLAMATION = 11; + const LB_GLUE = 12; + const LB_HYPHEN = 13; + const LB_IDEOGRAPHIC = 14; + const LB_INSEPARABLE = 15; + const LB_INSEPERABLE = 15; + const LB_INFIX_NUMERIC = 16; + const LB_LINE_FEED = 17; + const LB_NONSTARTER = 18; + const LB_NUMERIC = 19; + const LB_OPEN_PUNCTUATION = 20; + const LB_POSTFIX_NUMERIC = 21; + const LB_PREFIX_NUMERIC = 22; + const LB_QUOTATION = 23; + const LB_COMPLEX_CONTEXT = 24; + const LB_SURROGATE = 25; + const LB_SPACE = 26; + const LB_BREAK_SYMBOLS = 27; + const LB_ZWSPACE = 28; + const LB_NEXT_LINE = 29; + const LB_WORD_JOINER = 30; + const LB_H2 = 31; + const LB_H3 = 32; + const LB_JL = 33; + const LB_JT = 34; + const LB_JV = 35; + const LB_CLOSE_PARENTHESIS = 36; + const LB_CONDITIONAL_JAPANESE_STARTER = 37; + const LB_HEBREW_LETTER = 38; + const LB_REGIONAL_INDICATOR = 39; + const LB_COUNT = 40; + const NT_NONE = 0; + const NT_DECIMAL = 1; + const NT_DIGIT = 2; + const NT_NUMERIC = 3; + const NT_COUNT = 4; + const HST_NOT_APPLICABLE = 0; + const HST_LEADING_JAMO = 1; + const HST_VOWEL_JAMO = 2; + const HST_TRAILING_JAMO = 3; + const HST_LV_SYLLABLE = 4; + const HST_LVT_SYLLABLE = 5; + const HST_COUNT = 6; + + /** + * Check a binary Unicode property for a code point + * @link https://php.net/manual/ru/intlchar.hasbinaryproperty.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @param int $property The Unicode property to lookup (see the IntlChar::PROPERTY_* constants). + * @return bool|null Returns TRUE or FALSE according to the binary Unicode property value for codepoint. + * Also FALSE if property is out of bounds or if the Unicode version does not have data for the property at all, or not for this code point. + * Or NULL if codepoint is out of bounds. + * @since 7.0 + */ + static public function hasBinaryProperty($codepoint, $property){} + + /** + * @link https://php.net/manual/ru/intlchar.charage.php + * Get the "age" of the code point + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return array|null The Unicode version number, as an array. For example, version 1.3.31.2 would be represented as [1, 3, 31, 2]. + * Or NULL if codepoint is out of bounds. + * @since 7.0 + */ + public static function charAge($codepoint) {} + + /** + * @link https://php.net/manual/ru/intlchar.chardigitvalue.php + * Get the decimal digit value of a decimal digit character + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return int|null The decimal digit value of codepoint, or -1 if it is not a decimal digit character. + * Or NULL if codepoint is out of bounds. + * @since 7.0 + */ + public static function charDigitValue($codepoint){} + + /** + * Get bidirectional category value for a code point + * @link https://php.net/manual/ru/intlchar.chardirection.php + * @param int|string $codepoint

The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")

+ * @return int|null

The bidirectional category value; one of the following constants: + *

+ *
    + *
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT
  • + *
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT
  • + *
  • IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER
  • + *
  • IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR
  • + *
  • IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR
  • + *
  • IntlChar::CHAR_DIRECTION_ARABIC_NUMBER
  • + *
  • IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR
  • + *
  • IntlChar::CHAR_DIRECTION_BLOCK_SEPARATOR
  • + *
  • IntlChar::CHAR_DIRECTION_SEGMENT_SEPARATOR
  • + *
  • IntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRAL
  • + *
  • IntlChar::CHAR_DIRECTION_OTHER_NEUTRAL
  • + *
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING
  • + *
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE
  • + *
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC
  • + *
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING
  • + *
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE
  • + *
  • IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT
  • + *
  • IntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARK
  • + *
  • IntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRAL
  • + *
  • IntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATE
  • + *
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE
  • + *
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE
  • + *
  • IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE
  • + *
  • IntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNT
  • + *
+ * Or NULL if codepoint is out of bounds. + * @since 7.0 + */ + public static function charDirection($codepoint) {} + + /** + * @link https://php.net/manual/en/intlchar.charfromname.php + * Find Unicode character by name and return its code point value + * @param string $characterName

Full name of the Unicode character.

+ * @param int $nameChoice [optional]

+ * Which set of names to use for the lookup. Can be any of these constants: + *

    + *
  • IntlChar::UNICODE_CHAR_NAME (default)
  • + *
  • IntlChar::UNICODE_10_CHAR_NAME
  • + *
  • IntlChar::EXTENDED_CHAR_NAME
  • + *
  • IntlChar::CHAR_NAME_ALIAS
  • + *
  • IntlChar::CHAR_NAME_CHOICE_COUNT
  • + *
+ * @return int|null The Unicode value of the code point with the given name (as an integer), or NULL if there is no such code point. + * @since 7.0 + */ + public static function charFromName($characterName, $nameChoice = IntlChar::UNICODE_CHAR_NAME) {} + + /** + * @link https://php.net/manual/ru/intlchar.charmirror.php + * Get the "mirror-image" character for a code point + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return int|string|null Returns another Unicode code point that may serve as a mirror-image substitute, or codepoint itself if there is no such mapping or codepoint does not have the Bidi_Mirrored property. + * The return type will be integer unless the code point was passed as a UTF-8 string, in which case a string will be returned. + * Or NULL if codepoint will be out of bound. + */ + public static function charMirror($codepoint) {} + + /** + * Retrieve the name of a Unicode character + * @link https://php.net/manual/ru/intlchar.charname.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @param int $nameChoice [optional] Which set of names to use for the lookup. Can be any of these constants:

+ *
    + *
  • IntlChar::UNICODE_CHAR_NAME (default)
  • + *
  • IntlChar::UNICODE_10_CHAR_NAME
  • + *
  • IntlChar::EXTENDED_CHAR_NAME
  • + *
  • IntlChar::CHAR_NAME_ALIAS
  • + *
  • IntlChar::CHAR_NAME_CHOICE_COUNT
  • + *
+ * @return string|null The corresponding name, or an empty string if there is no name for this character, or NULL if codepoint is out of bounds. + * @since 7.0 + */ + public static function charName($codepoint, $nameChoice = IntlChar::UNICODE_CHAR_NAME) {} + + /** + * Get the general category value for a code point + * @link https://php.net/manual/ru/intlchar.chartype.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return int|null Returns the general category type, which may be one of the following constants: + *

    + *
  • IntlChar::CHAR_CATEGORY_UNASSIGNED
  • + *
  • IntlChar::CHAR_CATEGORY_GENERAL_OTHER_TYPES
  • + *
  • IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER
  • + *
  • IntlChar::CHAR_CATEGORY_LOWERCASE_LETTER
  • + *
  • IntlChar::CHAR_CATEGORY_TITLECASE_LETTER
  • + *
  • IntlChar::CHAR_CATEGORY_MODIFIER_LETTER
  • + *
  • IntlChar::CHAR_CATEGORY_OTHER_LETTER
  • + *
  • IntlChar::CHAR_CATEGORY_NON_SPACING_MARK
  • + *
  • IntlChar::CHAR_CATEGORY_ENCLOSING_MARK
  • + *
  • IntlChar::CHAR_CATEGORY_COMBINING_SPACING_MARK
  • + *
  • IntlChar::CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER
  • + *
  • IntlChar::CHAR_CATEGORY_LETTER_NUMBER
  • + *
  • IntlChar::CHAR_CATEGORY_OTHER_NUMBER
  • + *
  • IntlChar::CHAR_CATEGORY_SPACE_SEPARATOR
  • + *
  • IntlChar::CHAR_CATEGORY_LINE_SEPARATOR
  • + *
  • IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR
  • + *
  • IntlChar::CHAR_CATEGORY_CONTROL_CHAR
  • + *
  • IntlChar::CHAR_CATEGORY_FORMAT_CHAR
  • + *
  • IntlChar::CHAR_CATEGORY_PRIVATE_USE_CHAR
  • + *
  • IntlChar::CHAR_CATEGORY_SURROGATE
  • + *
  • IntlChar::CHAR_CATEGORY_DASH_PUNCTUATION
  • + *
  • IntlChar::CHAR_CATEGORY_START_PUNCTUATION
  • + *
  • IntlChar::CHAR_CATEGORY_END_PUNCTUATION
  • + *
  • IntlChar::CHAR_CATEGORY_CONNECTOR_PUNCTUATION
  • + *
  • IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION
  • + *
  • IntlChar::CHAR_CATEGORY_MATH_SYMBOL
  • + *
  • IntlChar::CHAR_CATEGORY_CURRENCY_SYMBOL
  • + *
  • IntlChar::CHAR_CATEGORY_MODIFIER_SYMBOL
  • + *
  • IntlChar::CHAR_CATEGORY_OTHER_SYMBOL
  • + *
  • IntlChar::CHAR_CATEGORY_INITIAL_PUNCTUATION
  • + *
  • IntlChar::CHAR_CATEGORY_FINAL_PUNCTUATION
  • + *
  • IntlChar::CHAR_CATEGORY_CHAR_CATEGORY_COUNT
+ *

Or NULL if codepoint is out of bound.

The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")

+ * @return string|null A string containing the single character specified by the Unicode code point value. + * Or NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function chr ($codepoint) + { + + } + + /** + * Get the decimal digit value of a code point for a given radix + * @link https://php.net/manual/ru/intlchar.digit.php + * @param int|string $codepoint

The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")

+ * @param int $radix

The radix (defaults to 10).

+ * @return int|false|null Returns the numeric value represented by the character in the specified radix, + * or FALSE if there is no value or if the value exceeds the radix, + * or NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function digit ($codepoint,$radix = 10 ) {} + + /** + * Enumerate all assigned Unicode characters within a range + * @link https://php.net/manual/ru/intlchar.enumcharnames.php + * @param int|string $start The first code point in the enumeration range. + * @param int|string $limit One more than the last code point in the enumeration range (the first one after the range). + * @param callable $callback

+ * The function that is to be called for each character name. The following three arguments will be passed into it: + *

    + *
  • integer $codepoint - The numeric code point value
  • + *
  • integer $nameChoice - The same value as the nameChoice parameter below
  • + *
  • string $name - The name of the character
  • + *
+ * @param int $nameChoice [optional]

+ * Selector for which kind of names to enumerate. Can be any of these constants: + *

    + *
  • IntlChar::UNICODE_CHAR_NAME (default)
  • + *
  • IntlChar::UNICODE_10_CHAR_NAME
  • + *
  • IntlChar::EXTENDED_CHAR_NAME
  • + *
  • IntlChar::CHAR_NAME_ALIAS
  • + *
  • IntlChar::CHAR_NAME_CHOICE_COUNT
  • + *
+ * @since 7.0 + */ + public static function enumCharNames ($start, $limit, $callback, $nameChoice = IntlChar::UNICODE_CHAR_NAME) {} + + /** + * Enumerate all code points with their Unicode general categories + * @link https://php.net/manual/ru/intlchar.enumchartypes.php + * @param callable $callable

+ * The function that is to be called for each contiguous range of code points with the same general category. + * The following three arguments will be passed into it: + *

    + *
  • integer $start - The starting code point of the range
  • + *
  • integer $end - The ending code point of the range
  • + *
  • integer $name - The category type (one of the IntlChar::CHAR_CATEGORY_* constants)
  • + *
+ * @since 7.0 + */ + public static function enumCharTypes ($callable) {} + + /** + * Perform case folding on a code point + * @link https://php.net/manual/en/intlchar.foldcase.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @param int $options [optional] Either IntlChar::FOLD_CASE_DEFAULT (default) or IntlChar::FOLD_CASE_EXCLUDE_SPECIAL_I. + * @return int|string|null Returns the Simple_Case_Folding of the code point, if any; otherwise the code point itself. + * Returns NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function foldCase ($codepoint, $options = IntlChar::FOLD_CASE_DEFAULT ) {} + + /** + * Get character representation for a given digit and radix + * @link https://php.net/manual/ru/intlchar.fordigit.php + * @param int $digit

The number to convert to a character.

+ * @param int $radix [optional]

The radix (defaults to 10).

+ * @return int The character representation (as a string) of the specified digit in the specified radix. + * @since 7.0 + */ + public static function forDigit ($digit, $radix = 10) {} + + /** + * Get the paired bracket character for a code point + * @link https://php.net/manual/ru/intlchar.getbidipairedbracket.php + * @param int|string $codepoint

The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")

+ * @return int|string|null Returns the paired bracket code point, or codepoint itself if there is no such mapping. + * The return type will be integer unless the code point was passed as a UTF-8 string, in which case a string will be returned. + * Or NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function getBidiPairedBracket($codepoint) {} + + /** + * Get the Unicode allocation block containing a code point + * @link https://php.net/manual/ru/intlchar.getblockcode.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return int|null Returns the block value for codepoint, or NULL if codepoint is out of bound. + * See the IntlChar::BLOCK_CODE_* constants for possible return values. + * @since 7.0 + */ + public static function getBlockCode($codepoint) {} + + /** + * Get the combining class of a code point + * @link https://php.net/manual/ru/intlchar.getcombiningclass.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return int|null Returns the combining class of the character. + * Or NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function getCombiningClass ($codepoint) {} + + /** + * Get the FC_NFKC_Closure property for a code point + * @link https://php.net/manual/ru/intlchar.getfc-nfkc-closure.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return string|false|null Returns the FC_NFKC_Closure property string for the codepoint, or an empty string if there is none, + * or NULL if codepoint is out of bound, + * or FALSE if there was an error. + * @since 7.0 + */ + public static function getFC_NFKC_Closure ($codepoint) {} + + /** + * Get the max value for a Unicode property + * @link https://php.net/manual/ru/intlchar.getintpropertymaxvalue.php + * @param int $property The Unicode property to lookup (see the IntlChar::PROPERTY_* constants). + * @return int The maximum value returned by {@see IntlChar::getIntPropertyValue()} for a Unicode property. <=0 if the property selector is out of range. + * @since 7.0 + */ + public static function getIntPropertyMaxValue ($property) {} + + /** + * Get the min value for a Unicode property + * @link https://php.net/manual/ru/intlchar.getintpropertyminvalue.php + * @param int $property The Unicode property to lookup (see the IntlChar::PROPERTY_* constants). + * @return int The minimum value returned by {@see IntlChar::getIntPropertyValue()} for a Unicode property. 0 if the property selector is out of range. + * @since 7.0 + */ + public static function getIntPropertyMinValue ($property) {} + + /** + * Get the value for a Unicode property for a code point + * @link https://php.net/manual/ru/intlchar.getintpropertyvalue.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @param int $property The Unicode property to lookup (see the IntlChar::PROPERTY_* constants). + * @return int|null

+ * Returns the numeric value that is directly the property value or, for enumerated properties, corresponds to the + * numeric value of the enumerated constant of the respective property value enumeration type. + *

+ *

+ * Returns 0 or 1 (for FALSE/TRUE) for binary Unicode properties. + *

+ *

+ * Returns a bit-mask for mask properties. + *

+ *

+ * Returns 0 if property is out of bounds or if the Unicode version does not + * have data for the property at all, or not for this code point. + *

+ *

+ * Returns NULL if codepoint is out of bound. + *

+ * @since 7.0 + */ + public static function getIntPropertyValue ($codepoint, $property ) {} + + /** + * Get the numeric value for a Unicode code point + * @link https://php.net/manual/ru/intlchar.getnumericvalue.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return float|null Numeric value of codepoint, or float(-123456789) if none is defined, or NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function getNumericValue ($codepoint) {} + + /** + * Get the property constant value for a given property name + * @link https://php.net/manual/ru/intlchar.getpropertyenum.php + * @param string $alias The property name to be matched. The name is compared using "loose matching" as described in PropertyAliases.txt. + * @return int Returns an IntlChar::PROPERTY_ constant value, or IntlChar::PROPERTY_INVALID_CODE if the given name does not match any property. + * @since 7.0 + */ + public static function getPropertyEnum ($alias ) {} + + /** + * Get the Unicode name for a property + * @link https://php.net/manual/ru/intlchar.getpropertyname.php + * @param int $property

The Unicode property to lookup (see the IntlChar::PROPERTY_* constants).

+ *

IntlChar::PROPERTY_INVALID_CODE should not be used. Also, if property is out of range, FALSE is returned.

+ * @param int $nameChoice

Selector for which name to get. If out of range, FALSE is returned.

+ *

All properties have a long name. Most have a short name, but some do not. Unicode allows for additional names; if present these will be returned by adding 1, 2, etc. to IntlChar::LONG_PROPERTY_NAME.

+ * @return string|false

+ * Returns the name, or FALSE if either the property or the nameChoice + * is out of range. + *

+ *

+ * If a given nameChoice returns FALSE, then all larger values of + * nameChoice will return FALSE, with one exception: if FALSE is returned for + * IntlChar::SHORT_PROPERTY_NAME, then IntlChar::LONG_PROPERTY_NAME + * (and higher) may still return a non-FALSE value. + *

+ * @since 7.0 + */ + public static function getPropertyName ($property, $nameChoice = IntlChar::LONG_PROPERTY_NAME) {} + + /** + * Get the property value for a given value name + * @link https://php.net/manual/ru/intlchar.getpropertyvalueenum.php + * @param int $property

The Unicode property to lookup (see the IntlChar::PROPERTY_* constants). + * If out of range, or this method doesn't work with the given value, IntlChar::PROPERTY_INVALID_CODE is returned

+ * @param string $name

The value name to be matched. The name is compared using "loose matching" as described in PropertyValueAliases.txt.

+ * @return int Returns the corresponding value integer, or IntlChar::PROPERTY_INVALID_CODE if the given name does not match any value of the given property, or if the property is invalid. + * @since 7.0 + */ + public static function getPropertyValueEnum ($property, $name) {} + + /** + * Get the Unicode name for a property value + * @link https://php.net/manual/ru/intlchar.getpropertyvaluename.php + * @param int $property

+ * The Unicode property to lookup (see the IntlChar::PROPERTY_* constants). + * If out of range, or this method doesn't work with the given value, FALSE is returned. + *

+ * @param int $value

+ * Selector for a value for the given property. If out of range, FALSE is returned. + *

+ *

+ * In general, valid values range from 0 up to some maximum. There are a couple exceptions: + *

    + *
  • + * IntlChar::PROPERTY_BLOCK values begin at the non-zero value IntlChar::BLOCK_CODE_BASIC_LATIN + *
  • + *
  • + * IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS values are not contiguous and range from 0..240. + *
  • + *
+ * @param int $nameChoice [optional]

+ * Selector for which name to get. If out of range, FALSE is returned. + * All values have a long name. Most have a short name, but some do not. Unicode allows for additional names; if present these will be returned by adding 1, 2, etc. to IntlChar::LONG_PROPERTY_NAME. + *

+ * @return string|false Returns the name, or FALSE if either the property or the nameChoice is out of range. + * If a given nameChoice returns FALSE, then all larger values of nameChoice will return FALSE, with one exception: if FALSE is returned for IntlChar::SHORT_PROPERTY_NAME, then IntlChar::LONG_PROPERTY_NAME (and higher) may still return a non-FALSE value. + * @since 7.0 + */ + public static function getPropertyValueName ($property, $value, $nameChoice = IntlChar::LONG_PROPERTY_NAME) {} + + /** + * Get the Unicode version + * @link https://php.net/manual/ru/intlchar.getunicodeversion.php + * @return array An array containing the Unicode version number. + * @since 7.0 + */ + public static function getUnicodeVersion() {} + + /** + * Check if code point is an alphanumeric character + * @link https://php.net/manual/ru/intlchar.isalnum.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is an alphanumeric character, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isalnum ($codepoint) {} + + /** + * Check if code point is a letter character + * @link https://php.net/manual/ru/intlchar.isalpha.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is a letter character, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isalpha ($codepoint) {} + /** + * Check if code point is a base character + * @link https://php.net/manual/ru/intlchar.isbase.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is a base character, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isbase ($codepoint ){} + /** + * Check if code point is a "blank" or "horizontal space" character + * @link https://php.net/manual/ru/intlchar.isblank.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is either a "blank" or "horizontal space" character, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isblank ($codepoint){} + + /** + * Check if code point is a control character + * @link https://php.net/manual/ru/intlchar.iscntrl.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is a control character, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function iscntrl ($codepoint ) {} + + /** + * Check whether the code point is defined + * @link https://php.net/manual/ru/intlchar.isdefined.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is a defined character, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isdefined ($codepoint ) {} + + /** + * Check if code point is a digit character + * @link https://php.net/manual/ru/intlchar.isdigit.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is a digit character, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isdigit ($codepoint) {} + /** + * Check if code point is a graphic character + * @link https://php.net/manual/ru/intlchar.isgraph.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is a "graphic" character, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isgraph ($codepoint ) {} + /** + * Check if code point is an ignorable character + * @link https://php.net/manual/ru/intlchar.isidignorable.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is ignorable in identifiers, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isIDIgnorable ($codepoint ) {} + /** + * Check if code point is permissible in an identifier + * @link https://php.net/manual/ru/intlchar.isidpart.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is the code point may occur in an identifier, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isIDPart ($codepoint ) {} + + /** + * Check if code point is permissible as the first character in an identifier + * @link https://php.net/manual/ru/intlchar.isidstart.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint may start an identifier, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isIDStart ($codepoint ) {} + /** + * Check if code point is an ISO control code + * @link https://php.net/manual/ru/intlchar.isisocontrol.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is an ISO control code, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isISOControl ($codepoint ) {} + /** + * Check if code point is permissible in a Java identifier + * @link https://php.net/manual/ru/intlchar.isjavaidpart.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint may occur in a Java identifier, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isJavaIDPart ($codepoint ) {} + /** + * Check if code point is permissible as the first character in a Java identifier + * @link https://php.net/manual/ru/intlchar.isjavaidstart.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint may start a Java identifier, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isJavaIDStart ($codepoint ) {} + /** + * Check if code point is a space character according to Java + * @link https://php.net/manual/ru/intlchar.isjavaspacechar.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is a space character according to Java, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isJavaSpaceChar ($codepoint ) {} + + /** + * Check if code point is a lowercase letter + * @link https://php.net/manual/ru/intlchar.islower.php + * @param int|string $codepoint

The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), + * or the character encoded as a UTF-8 string (e.g. "\u{2603}")

+ * @return bool|null Returns TRUE if codepoint is an Ll lowercase letter, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function islower ($codepoint ) {} + /** + * Check if code point has the Bidi_Mirrored property + * @link https://php.net/manual/ru/intlchar.ismirrored.php + * @param int|string $codepoint

The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")

+ * @return bool|null Returns TRUE if codepoint has the Bidi_Mirrored property, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isMirrored ($codepoint ) {} + + /** + * Check if code point is a printable character + * @link https://php.net/manual/ru/intlchar.isprint.php + * @param int|string $codepoint

The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")

+ * @return bool|null Returns TRUE if codepoint is a printable character, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isprint ($codepoint ) {} + + /** + * Check if code point is punctuation character + * @link https://php.net/manual/ru/intlchar.ispunct.php + * @param int|string $codepoint

The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), + * or the character encoded as a UTF-8 string (e.g. "\u{2603}")

+ * @return bool|null Returns TRUE if codepoint is a punctuation character, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function ispunct ($codepoint ) {} + /** + * Check if code point is a space character + * @link https://php.net/manual/ru/intlchar.isspace.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is a space character, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isspace ($codepoint ) {} + /** + * Check if code point is a titlecase letter + * @link https://php.net/manual/ru/intlchar.istitle.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is a titlecase letter, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function istitle ($codepoint ){} + + /** + * Check if code point has the Alphabetic Unicode property + * @link https://php.net/manual/ru/intlchar.isualphabetic.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint has the Alphabetic Unicode property, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isUAlphabetic ($codepoint ) {} + /** + * Check if code point has the Lowercase Unicode property + * @link https://php.net/manual/ru/intlchar.isulowercase.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint has the Lowercase Unicode property, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isULowercase ($codepoint ) {} + /** + * Check if code point has the general category "Lu" (uppercase letter) + * @link https://php.net/manual/ru/intlchar.isupper.php + * @param int|string $codepoint

The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), + * or the character encoded as a UTF-8 string (e.g. "\u{2603}")

+ * @return bool|null Returns TRUE if codepoint is an Lu uppercase letter, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isupper ($codepoint) {} + /** + * Check if code point has the Uppercase Unicode property + * @link https://php.net/manual/ru/intlchar.isuuppercase.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint has the Uppercase Unicode property, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isUUppercase ($codepoint) {} + /** + * Check if code point has the White_Space Unicode property + * @link https://php.net/manual/ru/intlchar.isuwhitespace.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint has the White_Space Unicode property, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isUWhiteSpace ($codepoint ) {} + /** + * Check if code point is a whitespace character according to ICU + * @link https://php.net/manual/ru/intlchar.iswhitespace.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is a whitespace character according to ICU, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isWhitespace($codepoint) {} + + /** + * Check if code point is a hexadecimal digit + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return bool|null Returns TRUE if codepoint is a hexadecimal character, FALSE if not, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function isxdigit ($codepoint){} + + /** + * Return Unicode code point value of character + * @link https://php.net/manual/ru/intlchar.ord.php + * @param int|string $character

A Unicode character.

+ * @return int|null Returns the Unicode code point value as an integer, NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function ord ($character) {} + + /** + * Make Unicode character lowercase + * @link https://php.net/manual/en/intlchar.tolower.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return int|string|null Returns the Simple_Lowercase_Mapping of the code point, if any; otherwise the code point itself. + * The return type will be integer unless the code point was passed as a UTF-8 string, in which case a string will be returned. + * Or NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function tolower($codepoint) {} + /** + * Make Unicode character titlecase + * @link https://php.net/manual/ru/intlchar.totitle.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return int|string|null Returns the Simple_Titlecase_Mapping of the code point, if any; otherwise the code point itself. + * The return type will be integer unless the code point was passed as a UTF-8 string, in which case a string will be returned. + * Or NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function totitle ($codepoint ) {} + + /** + * Make Unicode character uppercase + * @link https://php.net/manual/ru/intlchar.toupper.php + * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}") + * @return int|string|null Returns the Simple_Uppercase_Mapping of the code point, if any; otherwise the code point itself. + * The return type will be integer unless the code point was passed as a UTF-8 string, in which case a string will be returned. + * Or NULL if codepoint is out of bound. + * @since 7.0 + */ + public static function toupper ($codepoint ) {} +} diff --git a/build/stubs/gd.php b/build/stubs/gd.php new file mode 100644 index 0000000000..b7e9419f7e --- /dev/null +++ b/build/stubs/gd.php @@ -0,0 +1,3015 @@ + + *

+ * + * Elements of array returned by gd_info + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
AttributeMeaning
GD Versionstring value describing the installed + * libgd version.
FreeType Supportboolean value. TRUE + * if FreeType Support is installed.
FreeType Linkagestring value describing the way in which + * FreeType was linked. Expected values are: 'with freetype', + * 'with TTF library', and 'with unknown library'. This element will + * only be defined if FreeType Support evaluated to + * TRUE.
T1Lib Supportboolean value. TRUE + * if T1Lib support is included.
GIF Read Supportboolean value. TRUE + * if support for reading GIF + * images is included.
GIF Create Supportboolean value. TRUE + * if support for creating GIF + * images is included.
JPEG Supportboolean value. TRUE + * if JPEG support is included.
PNG Supportboolean value. TRUE + * if PNG support is included.
WBMP Supportboolean value. TRUE + * if WBMP support is included.
XBM Supportboolean value. TRUE + * if XBM support is included.
WebP Supportboolean value. TRUE + * if WebP support is included.
+ *

+ *

+ * Previous to PHP 5.3.0, the JPEG Support attribute was named + * JPG Support. + */ +function gd_info () {} + +/** + * Draws an arc + * @link https://php.net/manual/en/function.imagearc.php + * @param resource $image + * @param int $cx

+ * x-coordinate of the center. + *

+ * @param int $cy

+ * y-coordinate of the center. + *

+ * @param int $width

+ * The arc width. + *

+ * @param int $height

+ * The arc height. + *

+ * @param int $start

+ * The arc start angle, in degrees. + *

+ * @param int $end

+ * The arc end angle, in degrees. + * 0° is located at the three-o'clock position, and the arc is drawn + * clockwise. + *

+ * @param int $color

+ * A color identifier created with + * imagecolorallocate. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function imagearc ($image, $cx, $cy, $width, $height, $start, $end, $color) {} + +/** + * Draw an ellipse + * @link https://php.net/manual/en/function.imageellipse.php + * @param resource $image + * @param int $cx

+ * x-coordinate of the center. + *

+ * @param int $cy

+ * y-coordinate of the center. + *

+ * @param int $width

+ * The ellipse width. + *

+ * @param int $height

+ * The ellipse height. + *

+ * @param int $color

+ * The color of the ellipse. A color identifier created with + * imagecolorallocate. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function imageellipse ($image, $cx, $cy, $width, $height, $color) {} + +/** + * Draw a character horizontally + * @link https://php.net/manual/en/function.imagechar.php + * @param resource $image + * @param int $font + * @param int $x

+ * x-coordinate of the start. + *

+ * @param int $y

+ * y-coordinate of the start. + *

+ * @param string $c

+ * The character to draw. + *

+ * @param int $color

+ * A color identifier created with + * imagecolorallocate. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function imagechar ($image, $font, $x, $y, $c, $color) {} + +/** + * Draw a character vertically + * @link https://php.net/manual/en/function.imagecharup.php + * @param resource $image + * @param int $font + * @param int $x

+ * x-coordinate of the start. + *

+ * @param int $y

+ * y-coordinate of the start. + *

+ * @param string $c

+ * The character to draw. + *

+ * @param int $color

+ * A color identifier created with + * imagecolorallocate. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function imagecharup ($image, $font, $x, $y, $c, $color) {} + +/** + * Get the index of the color of a pixel + * @link https://php.net/manual/en/function.imagecolorat.php + * @param resource $image + * @param int $x

+ * x-coordinate of the point. + *

+ * @param int $y

+ * y-coordinate of the point. + *

+ * @return int|false the index of the color or FALSE on failure + */ +function imagecolorat ($image, $x, $y) {} + +/** + * Allocate a color for an image + * @link https://php.net/manual/en/function.imagecolorallocate.php + * @param resource $image + * @param int $red

Value of red component.

+ * @param int $green

Value of green component.

+ * @param int $blue

Value of blue component.

+ * @return int|false A color identifier or FALSE if the allocation failed. + */ +function imagecolorallocate ($image, $red, $green, $blue) {} + +/** + * Copy the palette from one image to another + * @link https://php.net/manual/en/function.imagepalettecopy.php + * @param resource $destination

+ * The destination image resource. + *

+ * @param resource $source

+ * The source image resource. + *

+ * @return void No value is returned. + */ +function imagepalettecopy ($destination, $source) {} + +/** + * Create a new image from the image stream in the string + * @link https://php.net/manual/en/function.imagecreatefromstring.php + * @param string $image

+ * A string containing the image data. + *

+ * @return resource|false An image resource will be returned on success. FALSE is returned if + * the image type is unsupported, the data is not in a recognised format, + * or the image is corrupt and cannot be loaded. + */ +function imagecreatefromstring ($image) {} + +/** + * Get the index of the closest color to the specified color + * @link https://php.net/manual/en/function.imagecolorclosest.php + * @param resource $image + * @param int $red

Value of red component.

+ * @param int $green

Value of green component.

+ * @param int $blue

Value of blue component.

+ * @return int|false the index of the closest color, in the palette of the image, to + * the specified one or FALSE on failure + */ +function imagecolorclosest ($image, $red, $green, $blue) {} + +/** + * Get the index of the color which has the hue, white and blackness + * @link https://php.net/manual/en/function.imagecolorclosesthwb.php + * @param resource $image + * @param int $red

Value of red component.

+ * @param int $green

Value of green component.

+ * @param int $blue

Value of blue component.

+ * @return int|false an integer with the index of the color which has + * the hue, white and blackness nearest the given color or FALSE on failure + */ +function imagecolorclosesthwb ($image, $red, $green, $blue) {} + +/** + * De-allocate a color for an image + * @link https://php.net/manual/en/function.imagecolordeallocate.php + * @param resource $image + * @param int $color

+ * The color identifier. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function imagecolordeallocate ($image, $color) {} + +/** + * Get the index of the specified color or its closest possible alternative + * @link https://php.net/manual/en/function.imagecolorresolve.php + * @param resource $image + * @param int $red

Value of red component.

+ * @param int $green

Value of green component.

+ * @param int $blue

Value of blue component.

+ * @return int|false a color index or FALSE on failure + */ +function imagecolorresolve ($image, $red, $green, $blue) {} + +/** + * Get the index of the specified color + * @link https://php.net/manual/en/function.imagecolorexact.php + * @param resource $image + * @param int $red

Value of red component.

+ * @param int $green

Value of green component.

+ * @param int $blue

Value of blue component.

+ * @return int|false the index of the specified color in the palette, -1 if the + * color does not exist, or FALSE on failure + */ +function imagecolorexact ($image, $red, $green, $blue) {} + +/** + * Set the color for the specified palette index + * @link https://php.net/manual/en/function.imagecolorset.php + * @param resource $image + * @param int $index

+ * An index in the palette. + *

+ * @param int $red

Value of red component.

+ * @param int $green

Value of green component.

+ * @param int $blue

Value of blue component.

+ * @param int $alpha [optional]

+ * Value of alpha component. + *

+ * @return void No value is returned. + */ +function imagecolorset ($image, $index, $red, $green, $blue, $alpha = 0) {} + +/** + * Define a color as transparent + * @link https://php.net/manual/en/function.imagecolortransparent.php + * @param resource $image + * @param int $color [optional]

+ * A color identifier created with + * imagecolorallocate. + *

+ * @return int|false The identifier of the new (or current, if none is specified) + * transparent color is returned. If color + * is not specified, and the image has no transparent color, the + * returned identifier will be -1. If an error occurs, FALSE is returned. + */ +function imagecolortransparent ($image, $color = null) {} + +/** + * Find out the number of colors in an image's palette + * @link https://php.net/manual/en/function.imagecolorstotal.php + * @param resource $image

+ * An image resource, returned by one of the image creation functions, such + * as imagecreatefromgif. + *

+ * @return int|false the number of colors in the specified image's palette, 0 for + * truecolor images, or FALSE on failure + */ +function imagecolorstotal ($image) {} + +/** + * Get the colors for an index + * @link https://php.net/manual/en/function.imagecolorsforindex.php + * @param resource $image + * @param int $index

+ * The color index. + *

+ * @return array|false an associative array with red, green, blue and alpha keys that + * contain the appropriate values for the specified color index or FALSE on failure + */ +function imagecolorsforindex ($image, $index) {} + +/** + * Copy part of an image + * @link https://php.net/manual/en/function.imagecopy.php + * @param resource $dst_im

+ * Destination image link resource. + *

+ * @param resource $src_im

+ * Source image link resource. + *

+ * @param int $dst_x

+ * x-coordinate of destination point. + *

+ * @param int $dst_y

+ * y-coordinate of destination point. + *

+ * @param int $src_x

+ * x-coordinate of source point. + *

+ * @param int $src_y

+ * y-coordinate of source point. + *

+ * @param int $src_w

+ * Source width. + *

+ * @param int $src_h

+ * Source height. + *

+ * @return bool true on success or false on failure. + */ +function imagecopy ($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h) {} + +/** + * Copy and merge part of an image + * @link https://php.net/manual/en/function.imagecopymerge.php + * @param resource $dst_im

+ * Destination image link resource. + *

+ * @param resource $src_im

+ * Source image link resource. + *

+ * @param int $dst_x

+ * x-coordinate of destination point. + *

+ * @param int $dst_y

+ * y-coordinate of destination point. + *

+ * @param int $src_x

+ * x-coordinate of source point. + *

+ * @param int $src_y

+ * y-coordinate of source point. + *

+ * @param int $src_w

+ * Source width. + *

+ * @param int $src_h

+ * Source height. + *

+ * @param int $pct

+ * The two images will be merged according to pct + * which can range from 0 to 100. When pct = 0, + * no action is taken, when 100 this function behaves identically + * to imagecopy for pallete images, while it + * implements alpha transparency for true colour images. + *

+ * @return bool true on success or false on failure. + */ +function imagecopymerge ($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct) {} + +/** + * Copy and merge part of an image with gray scale + * @link https://php.net/manual/en/function.imagecopymergegray.php + * @param resource $dst_im

+ * Destination image link resource. + *

+ * @param resource $src_im

+ * Source image link resource. + *

+ * @param int $dst_x

+ * x-coordinate of destination point. + *

+ * @param int $dst_y

+ * y-coordinate of destination point. + *

+ * @param int $src_x

+ * x-coordinate of source point. + *

+ * @param int $src_y

+ * y-coordinate of source point. + *

+ * @param int $src_w

+ * Source width. + *

+ * @param int $src_h

+ * Source height. + *

+ * @param int $pct

+ * The src_im will be changed to grayscale according + * to pct where 0 is fully grayscale and 100 is + * unchanged. When pct = 100 this function behaves + * identically to imagecopy for pallete images, while + * it implements alpha transparency for true colour images. + *

+ * @return bool true on success or false on failure. + */ +function imagecopymergegray ($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct) {} + +/** + * Copy and resize part of an image + * @link https://php.net/manual/en/function.imagecopyresized.php + * @param resource $dst_image + * @param resource $src_image + * @param int $dst_x

+ * x-coordinate of destination point. + *

+ * @param int $dst_y

+ * y-coordinate of destination point. + *

+ * @param int $src_x

+ * x-coordinate of source point. + *

+ * @param int $src_y

+ * y-coordinate of source point. + *

+ * @param int $dst_w

+ * Destination width. + *

+ * @param int $dst_h

+ * Destination height. + *

+ * @param int $src_w

+ * Source width. + *

+ * @param int $src_h

+ * Source height. + *

+ * @return bool true on success or false on failure. + */ +function imagecopyresized ($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) {} + +/** + * Create a new palette based image + * @link https://php.net/manual/en/function.imagecreate.php + * @param int $width

+ * The image width. + *

+ * @param int $height

+ * The image height. + *

+ * @return resource|false an image resource identifier on success, false on errors. + */ +function imagecreate ($width, $height) {} + +/** + * Create a new true color image + * @link https://php.net/manual/en/function.imagecreatetruecolor.php + * @param int $width

+ * Image width. + *

+ * @param int $height

+ * Image height. + *

+ * @return resource|false an image resource identifier on success, false on errors. + */ +function imagecreatetruecolor ($width, $height) {} + +/** + * Finds whether an image is a truecolor image + * @link https://php.net/manual/en/function.imageistruecolor.php + * @param resource $image + * @return bool true if the image is truecolor, false + * otherwise. + */ +function imageistruecolor ($image) {} + +/** + * Convert a true color image to a palette image + * @link https://php.net/manual/en/function.imagetruecolortopalette.php + * @param resource $image + * @param bool $dither

+ * Indicates if the image should be dithered - if it is true then + * dithering will be used which will result in a more speckled image but + * with better color approximation. + *

+ * @param int $ncolors

+ * Sets the maximum number of colors that should be retained in the palette. + *

+ * @return bool true on success or false on failure. + */ +function imagetruecolortopalette ($image, $dither, $ncolors) {} + +/** + * Set the thickness for line drawing + * @link https://php.net/manual/en/function.imagesetthickness.php + * @param resource $image + * @param int $thickness

+ * Thickness, in pixels. + *

+ * @return bool true on success or false on failure. + */ +function imagesetthickness ($image, $thickness) {} + +/** + * Draw a partial arc and fill it + * @link https://php.net/manual/en/function.imagefilledarc.php + * @param resource $image + * @param int $cx

+ * x-coordinate of the center. + *

+ * @param int $cy

+ * y-coordinate of the center. + *

+ * @param int $width

+ * The arc width. + *

+ * @param int $height

+ * The arc height. + *

+ * @param int $start

+ * The arc start angle, in degrees. + *

+ * @param int $end

+ * The arc end angle, in degrees. + * 0° is located at the three-o'clock position, and the arc is drawn + * clockwise. + *

+ * @param int $color

+ * A color identifier created with + * imagecolorallocate. + *

+ * @param int $style

+ * A bitwise OR of the following possibilities: + * IMG_ARC_PIE + * @return bool true on success or false on failure. + */ +function imagefilledarc ($image, $cx, $cy, $width, $height, $start, $end, $color, $style) {} + +/** + * Draw a filled ellipse + * @link https://php.net/manual/en/function.imagefilledellipse.php + * @param resource $image + * @param int $cx

+ * x-coordinate of the center. + *

+ * @param int $cy

+ * y-coordinate of the center. + *

+ * @param int $width

+ * The ellipse width. + *

+ * @param int $height

+ * The ellipse height. + *

+ * @param int $color

+ * The fill color. A color identifier created with + * imagecolorallocate. + *

+ * @return bool true on success or false on failure. + */ +function imagefilledellipse ($image, $cx, $cy, $width, $height, $color) {} + +/** + * Set the blending mode for an image + * @link https://php.net/manual/en/function.imagealphablending.php + * @param resource $image + * @param bool $blendmode

+ * Whether to enable the blending mode or not. On true color images + * the default value is true otherwise the default value is false + *

+ * @return bool true on success or false on failure. + */ +function imagealphablending ($image, $blendmode) {} + +/** + * Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images + * @link https://php.net/manual/en/function.imagesavealpha.php + * @param resource $image + * @param bool $saveflag

+ * Whether to save the alpha channel or not. Default to false. + *

+ * @return bool true on success or false on failure. + */ +function imagesavealpha ($image, $saveflag) {} + +/** + * Allocate a color for an image + * @link https://php.net/manual/en/function.imagecolorallocatealpha.php + * @param resource $image + * @param int $red

+ * Value of red component. + *

+ * @param int $green

+ * Value of green component. + *

+ * @param int $blue

+ * Value of blue component. + *

+ * @param int $alpha

+ * A value between 0 and 127. + * 0 indicates completely opaque while + * 127 indicates completely transparent. + *

+ * @return int|false A color identifier or false if the allocation failed. + */ +function imagecolorallocatealpha ($image, $red, $green, $blue, $alpha) {} + +/** + * Get the index of the specified color + alpha or its closest possible alternative + * @link https://php.net/manual/en/function.imagecolorresolvealpha.php + * @param resource $image + * @param int $red

+ * Value of red component. + *

+ * @param int $green

+ * Value of green component. + *

+ * @param int $blue

+ * Value of blue component. + *

+ * @param int $alpha

+ * A value between 0 and 127. + * 0 indicates completely opaque while + * 127 indicates completely transparent. + *

+ * @return int|false a color index or FALSE on failure + */ +function imagecolorresolvealpha ($image, $red, $green, $blue, $alpha) {} + +/** + * Get the index of the closest color to the specified color + alpha + * @link https://php.net/manual/en/function.imagecolorclosestalpha.php + * @param resource $image + * @param int $red

+ * Value of red component. + *

+ * @param int $green

+ * Value of green component. + *

+ * @param int $blue

+ * Value of blue component. + *

+ * @param int $alpha

+ * A value between 0 and 127. + * 0 indicates completely opaque while + * 127 indicates completely transparent. + *

+ * @return int|false the index of the closest color in the palette or + * FALSE on failure + */ +function imagecolorclosestalpha ($image, $red, $green, $blue, $alpha) {} + +/** + * Get the index of the specified color + alpha + * @link https://php.net/manual/en/function.imagecolorexactalpha.php + * @param resource $image + * @param int $red

+ * Value of red component. + *

+ * @param int $green

+ * Value of green component. + *

+ * @param int $blue

+ * Value of blue component. + *

+ * @param int $alpha

+ * A value between 0 and 127. + * 0 indicates completely opaque while + * 127 indicates completely transparent. + *

+ * @return int|false the index of the specified color+alpha in the palette of the + * image, -1 if the color does not exist in the image's palette, or FALSE + * on failure + */ +function imagecolorexactalpha ($image, $red, $green, $blue, $alpha) {} + +/** + * Copy and resize part of an image with resampling + * @link https://php.net/manual/en/function.imagecopyresampled.php + * @param resource $dst_image + * @param resource $src_image + * @param int $dst_x

+ * x-coordinate of destination point. + *

+ * @param int $dst_y

+ * y-coordinate of destination point. + *

+ * @param int $src_x

+ * x-coordinate of source point. + *

+ * @param int $src_y

+ * y-coordinate of source point. + *

+ * @param int $dst_w

+ * Destination width. + *

+ * @param int $dst_h

+ * Destination height. + *

+ * @param int $src_w

+ * Source width. + *

+ * @param int $src_h

+ * Source height. + *

+ * @return bool true on success or false on failure. + */ +function imagecopyresampled ($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) {} + +/** + * Rotate an image with a given angle + * @link https://php.net/manual/en/function.imagerotate.php + * @param resource $image + * @param float $angle

+ * Rotation angle, in degrees. + *

+ * @param int $bgd_color

+ * Specifies the color of the uncovered zone after the rotation + *

+ * @param int $ignore_transparent [optional]

+ * If set and non-zero, transparent colors are ignored (otherwise kept). + *

+ * @return resource|false the rotated image or FALSE on failure + */ +function imagerotate ($image, $angle, $bgd_color, $ignore_transparent = null) {} + +/** + * Should antialias functions be used or not.
+ * Before 7.2.0 it's only available if PHP iscompiled with the bundled version of the GD library. + * @link https://php.net/manual/en/function.imageantialias.php + * @param resource $image + * @param bool $enabled

+ * Whether to enable antialiasing or not. + *

+ * @return bool true on success or false on failure. + */ +function imageantialias ($image, $enabled) {} + +/** + * Set the tile image for filling + * @link https://php.net/manual/en/function.imagesettile.php + * @param resource $image + * @param resource $tile

+ * The image resource to be used as a tile. + *

+ * @return bool true on success or false on failure. + */ +function imagesettile ($image, $tile) {} + +/** + * Set the brush image for line drawing + * @link https://php.net/manual/en/function.imagesetbrush.php + * @param resource $image + * @param resource $brush

+ * An image resource. + *

+ * @return bool true on success or false on failure. + */ +function imagesetbrush ($image, $brush) {} + +/** + * Set the style for line drawing + * @link https://php.net/manual/en/function.imagesetstyle.php + * @param resource $image + * @param array $style

+ * An array of pixel colors. You can use the + * IMG_COLOR_TRANSPARENT constant to add a + * transparent pixel. + *

+ * @return bool true on success or false on failure. + */ +function imagesetstyle ($image, array $style) {} + +/** + * Create a new image from file or URL + * @link https://php.net/manual/en/function.imagecreatefrompng.php + * @param string $filename

+ * Path to the PNG image. + *

+ * @return resource|false an image resource identifier on success, false on errors. + */ +function imagecreatefrompng ($filename) {} + +/** + * Create a new image from file or URL + * @link https://php.net/manual/en/function.imagecreatefromgif.php + * @param string $filename

+ * Path to the GIF image. + *

+ * @return resource|false an image resource identifier on success, false on errors. + */ +function imagecreatefromgif ($filename) {} + +/** + * Create a new image from file or URL + * @link https://php.net/manual/en/function.imagecreatefromjpeg.php + * @param string $filename

+ * Path to the JPEG image. + *

+ * @return resource|false an image resource identifier on success, false on errors. + */ +function imagecreatefromjpeg ($filename) {} + +/** + * Create a new image from file or URL + * @link https://php.net/manual/en/function.imagecreatefromwbmp.php + * @param string $filename

+ * Path to the WBMP image. + *

+ * @return resource|false an image resource identifier on success, false on errors. + */ +function imagecreatefromwbmp ($filename) {} + +/** + * Create a new image from file or URL + * @link https://php.net/manual/en/function.imagecreatefromwebp.php + * @param string $filename

+ * Path to the WebP image. + *

+ * @return resource|false an image resource identifier on success, false on errors. + * @since 5.4 + */ +function imagecreatefromwebp ($filename) {} + +/** + * Create a new image from file or URL + * @link https://php.net/manual/en/function.imagecreatefromxbm.php + * @param string $filename

+ * Path to the XBM image. + *

+ * @return resource|false an image resource identifier on success, false on errors. + */ +function imagecreatefromxbm ($filename) {} + +/** + * Create a new image from file or URL + * @link https://php.net/manual/en/function.imagecreatefromxpm.php + * @param string $filename

+ * Path to the XPM image. + *

+ * @return resource|false an image resource identifier on success, false on errors. + */ +function imagecreatefromxpm ($filename) {} + +/** + * Create a new image from GD file or URL + * @link https://php.net/manual/en/function.imagecreatefromgd.php + * @param string $filename

+ * Path to the GD file. + *

+ * @return resource|false an image resource identifier on success, false on errors. + */ +function imagecreatefromgd ($filename) {} + +/** + * Create a new image from GD2 file or URL + * @link https://php.net/manual/en/function.imagecreatefromgd2.php + * @param string $filename

+ * Path to the GD2 image. + *

+ * @return resource|false an image resource identifier on success, false on errors. + */ +function imagecreatefromgd2 ($filename) {} + +/** + * Create a new image from a given part of GD2 file or URL + * @link https://php.net/manual/en/function.imagecreatefromgd2part.php + * @param string $filename

+ * Path to the GD2 image. + *

+ * @param int $srcX

+ * x-coordinate of source point. + *

+ * @param int $srcY

+ * y-coordinate of source point. + *

+ * @param int $width

+ * Source width. + *

+ * @param int $height

+ * Source height. + *

+ * @return resource|false an image resource identifier on success, false on errors. + */ +function imagecreatefromgd2part ($filename, $srcX, $srcY, $width, $height) {} + +/** + * Output a PNG image to either the browser or a file + * @link https://php.net/manual/en/function.imagepng.php + * @param resource $image + * @param string $filename [optional]

+ * The path to save the file to. If not set or &null;, the raw image stream + * will be outputted directly. + *

+ *

+ * &null; is invalid if the quality and + * filters arguments are not used. + *

+ * @param int $quality [optional]

+ * Compression level: from 0 (no compression) to 9. + *

+ * @param int $filters [optional]

+ * Allows reducing the PNG file size. It is a bitmask field which may be + * set to any combination of the PNG_FILTER_XXX + * constants. PNG_NO_FILTER or + * PNG_ALL_FILTERS may also be used to respectively + * disable or activate all filters. + *

+ * @return bool true on success or false on failure. + */ +function imagepng ($image, $filename = null, $quality = null, $filters = null) {} + +/** + * Output a WebP image to browser or file + * @link https://php.net/manual/en/function.imagewebp.php + * @param resource $image + * @param string $to [optional]

+ * The path to save the file to. If not set or &null;, the raw image stream + * will be outputted directly. + *

+ * @param int $quality [optional]

+ * quality ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). + *

+ * @return bool true on success or false on failure. + * @since 5.4 + */ +function imagewebp ($image, $to = null, $quality = 80) {} + +/** + * Output image to browser or file + * @link https://php.net/manual/en/function.imagegif.php + * @param resource $image + * @param string $filename [optional]

+ * The path to save the file to. If not set or &null;, the raw image stream + * will be outputted directly. + *

+ * @return bool true on success or false on failure. + */ +function imagegif ($image, $filename = null) {} + +/** + * Output image to browser or file + * @link https://php.net/manual/en/function.imagejpeg.php + * @param resource $image + * @param string $filename [optional]

+ * The path to save the file to. If not set or &null;, the raw image stream + * will be outputted directly. + *

+ *

+ * To skip this argument in order to provide the + * quality parameter, use &null;. + *

+ * @param int $quality [optional]

+ * quality is optional, and ranges from 0 (worst + * quality, smaller file) to 100 (best quality, biggest file). The + * default is the default IJG quality value (about 75). + *

+ * @return bool true on success or false on failure. + */ +function imagejpeg ($image, $filename = null, $quality = null) {} + +/** + * Output image to browser or file + * @link https://php.net/manual/en/function.imagewbmp.php + * @param resource $image + * @param string $filename [optional]

+ * The path to save the file to. If not set or &null;, the raw image stream + * will be outputted directly. + *

+ * @param int $foreground [optional]

+ * You can set the foreground color with this parameter by setting an + * identifier obtained from imagecolorallocate. + * The default foreground color is black. + *

+ * @return bool true on success or false on failure. + */ +function imagewbmp ($image, $filename = null, $foreground = null) {} + +/** + * Output GD image to browser or file.
+ * Since 7.2.0 allows to output truecolor images. + * @link https://php.net/manual/en/function.imagegd.php + * @param resource $image + * @param string $filename [optional]

+ * The path to save the file to. If not set or &null;, the raw image stream + * will be outputted directly. + *

+ * @return bool true on success or false on failure. + */ +function imagegd ($image, $filename = null) {} + +/** + * Output GD2 image to browser or file + * @link https://php.net/manual/en/function.imagegd2.php + * @param resource $image + * @param string $filename [optional]

+ * The path to save the file to. If not set or &null;, the raw image stream + * will be outputted directly. + *

+ * @param int $chunk_size [optional]

+ * Chunk size. + *

+ * @param int $type [optional]

+ * Either IMG_GD2_RAW or + * IMG_GD2_COMPRESSED. Default is + * IMG_GD2_RAW. + *

+ * @return bool true on success or false on failure. + */ +function imagegd2 ($image, $filename = null, $chunk_size = null, $type = null) {} + +/** + * Destroy an image + * @link https://php.net/manual/en/function.imagedestroy.php + * @param resource $image + * @return bool true on success or false on failure. + */ +function imagedestroy ($image) {} + +/** + * Apply a gamma correction to a GD image + * @link https://php.net/manual/en/function.imagegammacorrect.php + * @param resource $image + * @param float $inputgamma

+ * The input gamma. + *

+ * @param float $outputgamma

+ * The output gamma. + *

+ * @return bool true on success or false on failure. + */ +function imagegammacorrect ($image, $inputgamma, $outputgamma) {} + +/** + * Flood fill + * @link https://php.net/manual/en/function.imagefill.php + * @param resource $image + * @param int $x

+ * x-coordinate of start point. + *

+ * @param int $y

+ * y-coordinate of start point. + *

+ * @param int $color

+ * The fill color. A color identifier created with + * imagecolorallocate. + *

+ * @return bool true on success or false on failure. + */ +function imagefill ($image, $x, $y, $color) {} + +/** + * Draw a filled polygon + * @link https://php.net/manual/en/function.imagefilledpolygon.php + * @param resource $image + * @param array $points

+ * An array containing the x and y + * coordinates of the polygons vertices consecutively. + *

+ * @param int $num_points [optional]

+ * Total number of vertices, which must be at least 3. + *

+ * @param int $color

+ * A color identifier created with + * imagecolorallocate. + *

+ * @return bool true on success or false on failure. + */ +function imagefilledpolygon ($image, array $points, $num_points, $color) {} + +/** + * Draw a filled rectangle + * @link https://php.net/manual/en/function.imagefilledrectangle.php + * @param resource $image + * @param int $x1

+ * x-coordinate for point 1. + *

+ * @param int $y1

+ * y-coordinate for point 1. + *

+ * @param int $x2

+ * x-coordinate for point 2. + *

+ * @param int $y2

+ * y-coordinate for point 2. + *

+ * @param int $color

+ * The fill color. A color identifier created with + * imagecolorallocate. + *

+ * @return bool true on success or false on failure. + */ +function imagefilledrectangle ($image, $x1, $y1, $x2, $y2, $color) {} + +/** + * Flood fill to specific color + * @link https://php.net/manual/en/function.imagefilltoborder.php + * @param resource $image + * @param int $x

+ * x-coordinate of start. + *

+ * @param int $y

+ * y-coordinate of start. + *

+ * @param int $border

+ * The border color. A color identifier created with + * imagecolorallocate. + *

+ * @param int $color

+ * The fill color. A color identifier created with + * imagecolorallocate. + *

+ * @return bool true on success or false on failure. + */ +function imagefilltoborder ($image, $x, $y, $border, $color) {} + +/** + * Get font width + * @link https://php.net/manual/en/function.imagefontwidth.php + * @param int $font + * @return int the width of the pixel + */ +function imagefontwidth ($font) {} + +/** + * Get font height + * @link https://php.net/manual/en/function.imagefontheight.php + * @param int $font + * @return int the height of the pixel. + */ +function imagefontheight ($font) {} + +/** + * Enable or disable interlace + * @link https://php.net/manual/en/function.imageinterlace.php + * @param resource $image + * @param int $interlace [optional]

+ * If non-zero, the image will be interlaced, else the interlace bit is + * turned off. + *

+ * @return int|false 1 if the interlace bit is set for the image, + * 0 if it is not, or FALSE on failure + */ +function imageinterlace ($image, $interlace = null) {} + +/** + * Draw a line + * @link https://php.net/manual/en/function.imageline.php + * @param resource $image + * @param int $x1

+ * x-coordinate for first point. + *

+ * @param int $y1

+ * y-coordinate for first point. + *

+ * @param int $x2

+ * x-coordinate for second point. + *

+ * @param int $y2

+ * y-coordinate for second point. + *

+ * @param int $color

+ * The line color. A color identifier created with + * imagecolorallocate. + *

+ * @return bool true on success or false on failure. + */ +function imageline ($image, $x1, $y1, $x2, $y2, $color) {} + +/** + * Load a new font + * @link https://php.net/manual/en/function.imageloadfont.php + * @param string $file

+ * The font file format is currently binary and architecture + * dependent. This means you should generate the font files on the + * same type of CPU as the machine you are running PHP on. + *

+ *

+ * + * Font file format + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
byte positionC data typedescription
byte 0-3intnumber of characters in the font
byte 4-7int + * value of first character in the font (often 32 for space) + *
byte 8-11intpixel width of each character
byte 12-15intpixel height of each character
byte 16-char + * array with character data, one byte per pixel in each + * character, for a total of (nchars*width*height) bytes. + *
+ *

+ * @return int|false The font identifier which is always bigger than 5 to avoid conflicts with + * built-in fonts or false on errors. + */ +function imageloadfont ($file) {} + +/** + * Draws a polygon + * @link https://php.net/manual/en/function.imagepolygon.php + * @param resource $image + * @param array $points

+ * An array containing the polygon's vertices, e.g.: + * + * points[0] + * = x0 + * + * + * points[1] + * = y0 + * + * + * points[2] + * = x1 + * + * + * points[3] + * = y1 + * + *

+ * @param int $num_points [optional]

+ * Total number of points (vertices). + *

+ * @param int $color

+ * A color identifier created with + * imagecolorallocate. + *

+ * @return bool true on success or false on failure. + */ +function imagepolygon ($image, array $points, $num_points, $color) {} + +/** + * Draw a rectangle + * @link https://php.net/manual/en/function.imagerectangle.php + * @param resource $image + * @param int $x1

+ * Upper left x coordinate. + *

+ * @param int $y1

+ * Upper left y coordinate + * 0, 0 is the top left corner of the image. + *

+ * @param int $x2

+ * Bottom right x coordinate. + *

+ * @param int $y2

+ * Bottom right y coordinate. + *

+ * @param int $color

+ * A color identifier created with + * imagecolorallocate. + *

+ * @return bool true on success or false on failure. + */ +function imagerectangle ($image, $x1, $y1, $x2, $y2, $color) {} + +/** + * Set a single pixel + * @link https://php.net/manual/en/function.imagesetpixel.php + * @param resource $image + * @param int $x

+ * x-coordinate. + *

+ * @param int $y

+ * y-coordinate. + *

+ * @param int $color

+ * A color identifier created with + * imagecolorallocate. + *

+ * @return bool true on success or false on failure. + */ +function imagesetpixel ($image, $x, $y, $color) {} + +/** + * Draw a string horizontally + * @link https://php.net/manual/en/function.imagestring.php + * @param resource $image + * @param int $font + * @param int $x

+ * x-coordinate of the upper left corner. + *

+ * @param int $y

+ * y-coordinate of the upper left corner. + *

+ * @param string $string

+ * The string to be written. + *

+ * @param int $color

+ * A color identifier created with + * imagecolorallocate. + *

+ * @return bool true on success or false on failure. + */ +function imagestring ($image, $font, $x, $y, $string, $color) {} + +/** + * Draw a string vertically + * @link https://php.net/manual/en/function.imagestringup.php + * @param resource $image + * @param int $font + * @param int $x

+ * x-coordinate of the upper left corner. + *

+ * @param int $y

+ * y-coordinate of the upper left corner. + *

+ * @param string $string

+ * The string to be written. + *

+ * @param int $color

+ * A color identifier created with + * imagecolorallocate. + *

+ * @return bool true on success or false on failure. + */ +function imagestringup ($image, $font, $x, $y, $string, $color) {} + +/** + * Get image width + * @link https://php.net/manual/en/function.imagesx.php + * @param resource $image + * @return int|false Return the width of the image or false on + * errors. + */ +function imagesx ($image) {} + +/** + * Get image height + * @link https://php.net/manual/en/function.imagesy.php + * @param resource $image + * @return int|false Return the height of the image or false on + * errors. + */ +function imagesy ($image) {} + +/** + * Draw a dashed line + * @link https://php.net/manual/en/function.imagedashedline.php + * @param resource $image + * @param int $x1

+ * Upper left x coordinate. + *

+ * @param int $y1

+ * Upper left y coordinate 0, 0 is the top left corner of the image. + *

+ * @param int $x2

+ * Bottom right x coordinate. + *

+ * @param int $y2

+ * Bottom right y coordinate. + *

+ * @param int $color

+ * The fill color. A color identifier created with + * imagecolorallocate. + *

+ * @return bool TRUE on success or FALSE on failure. + * @deprecated Use combination of imagesetstyle() and imageline() instead + */ +function imagedashedline ($image, $x1, $y1, $x2, $y2, $color) {} + +/** + * Give the bounding box of a text using TrueType fonts + * @link https://php.net/manual/en/function.imagettfbbox.php + * @param float $size

+ * The font size. Depending on your version of GD, this should be + * specified as the pixel size (GD1) or point size (GD2). + *

+ * @param float $angle

+ * Angle in degrees in which text will be measured. + *

+ * @param string $fontfile

+ * The name of the TrueType font file (can be a URL). Depending on + * which version of the GD library that PHP is using, it may attempt to + * search for files that do not begin with a leading '/' by appending + * '.ttf' to the filename and searching along a library-defined font path. + *

+ * @param string $text

+ * The string to be measured. + *

+ * @return array|false imagettfbbox returns an array with 8 + * elements representing four points making the bounding box of the + * text on success and false on error. + * + * key + * contents + * + * + * 0 + * lower left corner, X position + * + * + * 1 + * lower left corner, Y position + * + * + * 2 + * lower right corner, X position + * + * + * 3 + * lower right corner, Y position + * + * + * 4 + * upper right corner, X position + * + * + * 5 + * upper right corner, Y position + * + * + * 6 + * upper left corner, X position + * + * + * 7 + * upper left corner, Y position + * + *

+ *

+ * The points are relative to the text regardless of the + * angle, so "upper left" means in the top left-hand + * corner seeing the text horizontally. + */ +function imagettfbbox ($size, $angle, $fontfile, $text) {} + +/** + * Write text to the image using TrueType fonts + * @link https://php.net/manual/en/function.imagettftext.php + * @param resource $image + * @param float $size

+ * The font size. Depending on your version of GD, this should be + * specified as the pixel size (GD1) or point size (GD2). + *

+ * @param float $angle

+ * The angle in degrees, with 0 degrees being left-to-right reading text. + * Higher values represent a counter-clockwise rotation. For example, a + * value of 90 would result in bottom-to-top reading text. + *

+ * @param int $x

+ * The coordinates given by x and + * y will define the basepoint of the first + * character (roughly the lower-left corner of the character). This + * is different from the imagestring, where + * x and y define the + * upper-left corner of the first character. For example, "top left" + * is 0, 0. + *

+ * @param int $y

+ * The y-ordinate. This sets the position of the fonts baseline, not the + * very bottom of the character. + *

+ * @param int $color

+ * The color index. Using the negative of a color index has the effect of + * turning off antialiasing. See imagecolorallocate. + *

+ * @param string $fontfile

+ * The path to the TrueType font you wish to use. + *

+ *

+ * Depending on which version of the GD library PHP is using, when + * fontfile does not begin with a leading + * / then .ttf will be appended + * to the filename and the library will attempt to search for that + * filename along a library-defined font path. + *

+ *

+ * When using versions of the GD library lower than 2.0.18, a space character, + * rather than a semicolon, was used as the 'path separator' for different font files. + * Unintentional use of this feature will result in the warning message: + * Warning: Could not find/open font. For these affected versions, the + * only solution is moving the font to a path which does not contain spaces. + *

+ *

+ * In many cases where a font resides in the same directory as the script using it + * the following trick will alleviate any include problems. + *

+ *
+ * 
+ * 
+ *

+ * Note: + * open_basedir does not apply to fontfile. + *

+ * @param string $text

+ * The text string in UTF-8 encoding. + *

+ *

+ * May include decimal numeric character references (of the form: + * &#8364;) to access characters in a font beyond position 127. + * The hexadecimal format (like &#xA9;) is supported. + * Strings in UTF-8 encoding can be passed directly. + *

+ *

+ * Named entities, such as &copy;, are not supported. Consider using + * html_entity_decode + * to decode these named entities into UTF-8 strings (html_entity_decode() + * supports this as of PHP 5.0.0). + *

+ *

+ * If a character is used in the string which is not supported by the + * font, a hollow rectangle will replace the character. + *

+ * @return array|false an array with 8 elements representing four points making the + * bounding box of the text. The order of the points is lower left, lower + * right, upper right, upper left. The points are relative to the text + * regardless of the angle, so "upper left" means in the top left-hand + * corner when you see the text horizontally. + * Returns false on error. + */ +function imagettftext ($image, $size, $angle, $x, $y, $color, $fontfile, $text) {} + +/** + * Give the bounding box of a text using fonts via freetype2 + * @link https://php.net/manual/en/function.imageftbbox.php + * @param float $size

+ * The font size. Depending on your version of GD, this should be + * specified as the pixel size (GD1) or point size (GD2). + *

+ * @param float $angle

+ * Angle in degrees in which text will be + * measured. + *

+ * @param string $fontfile

+ * The name of the TrueType font file (can be a URL). Depending on + * which version of the GD library that PHP is using, it may attempt to + * search for files that do not begin with a leading '/' by appending + * '.ttf' to the filename and searching along a library-defined font path. + *

+ * @param string $text

+ * The string to be measured. + *

+ * @param array $extrainfo [optional]

+ * + * Possible array indexes for extrainfo + * + * + * + * + * + * + * + * + * + * + *
KeyTypeMeaning
linespacingfloatDefines drawing linespacing
+ *

+ * @return array|false imageftbbox returns an array with 8 + * elements representing four points making the bounding box of the + * text: + * + * 0 + * lower left corner, X position + * + * + * 1 + * lower left corner, Y position + * + * + * 2 + * lower right corner, X position + * + * + * 3 + * lower right corner, Y position + * + * + * 4 + * upper right corner, X position + * + * + * 5 + * upper right corner, Y position + * + * + * 6 + * upper left corner, X position + * + * + * 7 + * upper left corner, Y position + * + *

+ *

+ * The points are relative to the text regardless of the + * angle, so "upper left" means in the top left-hand + * corner seeing the text horizontally. + * Returns false on error. + */ +function imageftbbox ($size, $angle, $fontfile, $text, $extrainfo = null ) {} + +/** + * Write text to the image using fonts using FreeType 2 + * @link https://php.net/manual/en/function.imagefttext.php + * @param resource $image + * @param float $size

+ * The font size to use in points. + *

+ * @param float $angle

+ * The angle in degrees, with 0 degrees being left-to-right reading text. + * Higher values represent a counter-clockwise rotation. For example, a + * value of 90 would result in bottom-to-top reading text. + *

+ * @param int $x

+ * The coordinates given by x and + * y will define the basepoint of the first + * character (roughly the lower-left corner of the character). This + * is different from the imagestring, where + * x and y define the + * upper-left corner of the first character. For example, "top left" + * is 0, 0. + *

+ * @param int $y

+ * The y-ordinate. This sets the position of the fonts baseline, not the + * very bottom of the character. + *

+ * @param int $color

+ * The index of the desired color for the text, see + * imagecolorexact. + *

+ * @param string $fontfile

+ * The path to the TrueType font you wish to use. + *

+ *

+ * Depending on which version of the GD library PHP is using, when + * fontfile does not begin with a leading + * / then .ttf will be appended + * to the filename and the library will attempt to search for that + * filename along a library-defined font path. + *

+ *

+ * When using versions of the GD library lower than 2.0.18, a space character, + * rather than a semicolon, was used as the 'path separator' for different font files. + * Unintentional use of this feature will result in the warning message: + * Warning: Could not find/open font. For these affected versions, the + * only solution is moving the font to a path which does not contain spaces. + *

+ *

+ * In many cases where a font resides in the same directory as the script using it + * the following trick will alleviate any include problems. + *

+ *
+ * 
+ * 
+ *

+ * Note: + * open_basedir does not apply to fontfile. + *

+ * @param string $text

+ * Text to be inserted into image. + *

+ * @param array $extrainfo [optional]

+ * + * Possible array indexes for extrainfo + * + * + * + * + * + * + * + * + * + * + *
KeyTypeMeaning
linespacingfloatDefines drawing linespacing
+ *

+ * @return array|false This function returns an array defining the four points of the box, starting in the lower left and moving counter-clockwise: + * + * 0 + * lower left x-coordinate + * + * + * 1 + * lower left y-coordinate + * + * + * 2 + * lower right x-coordinate + * + * + * 3 + * lower right y-coordinate + * + * + * 4 + * upper right x-coordinate + * + * + * 5 + * upper right y-coordinate + * + * + * 6 + * upper left x-coordinate + * + * + * 7 + * upper left y-coordinate + * + * Returns false on error. + */ +function imagefttext ($image, $size, $angle, $x, $y, $color, $fontfile, $text, $extrainfo = null ) {} + +/** + * Load a PostScript Type 1 font from file + * @link https://php.net/manual/en/function.imagepsloadfont.php + * @param string $filename

+ * Path to the Postscript font file. + *

+ * @return resource|false In the case everything went right, a valid font index will be returned and + * can be used for further purposes. Otherwise the function returns false. + * @removed 7.0 This function was REMOVED in PHP 7.0.0. + */ +function imagepsloadfont ($filename) {} + +/** + * Free memory used by a PostScript Type 1 font + * @link https://php.net/manual/en/function.imagepsfreefont.php + * @param resource $font_index

+ * A font resource, returned by imagepsloadfont. + *

+ * @return bool true on success or false on failure. + * @removed 7.0 + */ +function imagepsfreefont ($font_index) {} + +/** + * Change the character encoding vector of a font + * @link https://php.net/manual/en/function.imagepsencodefont.php + * @param resource $font_index

+ * A font resource, returned by imagepsloadfont. + *

+ * @param string $encodingfile

+ * The exact format of this file is described in T1libs documentation. + * T1lib comes with two ready-to-use files, + * IsoLatin1.enc and + * IsoLatin2.enc. + *

+ * @return bool true on success or false on failure. + * @removed 7.0 + */ +function imagepsencodefont ($font_index, $encodingfile) {} + +/** + * Extend or condense a font + * @link https://php.net/manual/en/function.imagepsextendfont.php + * @param resource $font_index

+ * A font resource, returned by imagepsloadfont. + *

+ * @param float $extend

+ * Extension value, must be greater than 0. + *

+ * @return bool true on success or false on failure. + * @removed 7.0 + */ +function imagepsextendfont ($font_index, $extend) {} + +/** + * Slant a font + * @link https://php.net/manual/en/function.imagepsslantfont.php + * @param resource $font_index

+ * A font resource, returned by imagepsloadfont. + *

+ * @param float $slant

+ * Slant level. + *

+ * @return bool true on success or false on failure. + * @removed 7.0 This function was REMOVED in PHP 7.0.0. + */ +function imagepsslantfont ($font_index, $slant) {} + +/** + * Draws a text over an image using PostScript Type1 fonts + * @link https://php.net/manual/en/function.imagepstext.php + * @param resource $image + * @param string $text

+ * The text to be written. + *

+ * @param resource $font_index

+ * A font resource, returned by imagepsloadfont. + *

+ * @param int $size

+ * size is expressed in pixels. + *

+ * @param int $foreground

+ * The color in which the text will be painted. + *

+ * @param int $background

+ * The color to which the text will try to fade in with antialiasing. + * No pixels with the color background are + * actually painted, so the background image does not need to be of solid + * color. + *

+ * @param int $x

+ * x-coordinate for the lower-left corner of the first character. + *

+ * @param int $y

+ * y-coordinate for the lower-left corner of the first character. + *

+ * @param int $space [optional]

+ * Allows you to change the default value of a space in a font. This + * amount is added to the normal value and can also be negative. + * Expressed in character space units, where 1 unit is 1/1000th of an + * em-square. + *

+ * @param int $tightness [optional]

+ * tightness allows you to control the amount + * of white space between characters. This amount is added to the + * normal character width and can also be negative. + * Expressed in character space units, where 1 unit is 1/1000th of an + * em-square. + *

+ * @param float $angle [optional]

+ * angle is in degrees. + *

+ * @param int $antialias_steps [optional]

+ * Allows you to control the number of colours used for antialiasing + * text. Allowed values are 4 and 16. The higher value is recommended + * for text sizes lower than 20, where the effect in text quality is + * quite visible. With bigger sizes, use 4. It's less computationally + * intensive. + *

+ * @return array|false This function returns an array containing the following elements: + * + * 0 + * lower left x-coordinate + * + * + * 1 + * lower left y-coordinate + * + * + * 2 + * upper right x-coordinate + * + * + * 3 + * upper right y-coordinate + * + * Returns false on error. + * @removed 7.0 This function was REMOVED in PHP 7.0.0. + */ +function imagepstext ($image, $text, $font_index, $size, $foreground, $background, $x, $y, $space = null, $tightness = null, $angle = null, $antialias_steps = null) {} + +/** + * Give the bounding box of a text rectangle using PostScript Type1 fonts + * @link https://php.net/manual/en/function.imagepsbbox.php + * @param string $text

+ * The text to be written. + *

+ * @param resource $font + * @param int $size

+ * size is expressed in pixels. + *

+ * @return array|false an array containing the following elements: + * + * 0 + * left x-coordinate + * + * + * 1 + * upper y-coordinate + * + * + * 2 + * right x-coordinate + * + * + * 3 + * lower y-coordinate + * + * Returns false on error. + * @removed 7.0 + */ +function imagepsbbox ($text, $font, $size) {} + +/** + * Return the image types supported by this PHP build + * @link https://php.net/manual/en/function.imagetypes.php + * @return int a bit-field corresponding to the image formats supported by the + * version of GD linked into PHP. The following bits are returned, + * IMG_BMP | IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM | IMG_WEBP + */ +function imagetypes () {} + +/** + * Convert JPEG image file to WBMP image file + * @link https://php.net/manual/en/function.jpeg2wbmp.php + * @param string $jpegname

+ * Path to JPEG file. + *

+ * @param string $wbmpname

+ * Path to destination WBMP file. + *

+ * @param int $dest_height

+ * Destination image height. + *

+ * @param int $dest_width

+ * Destination image width. + *

+ * @param int $threshold

+ * Threshold value, between 0 and 8 (inclusive). + *

+ * @return bool true on success or false on failure. + * @deprecated 7.2 Use imagecreatefromjpeg() and imagewbmp() instead + * @removed 8.0 + */ +function jpeg2wbmp ($jpegname, $wbmpname, $dest_height, $dest_width, $threshold) {} + +/** + * Convert PNG image file to WBMP image file + * @link https://php.net/manual/en/function.png2wbmp.php + * @param string $pngname

+ * Path to PNG file. + *

+ * @param string $wbmpname

+ * Path to destination WBMP file. + *

+ * @param int $dest_height

+ * Destination image height. + *

+ * @param int $dest_width

+ * Destination image width. + *

+ * @param int $threshold

+ * Threshold value, between 0 and 8 (inclusive). + *

+ * @return bool true on success or false on failure. + * @deprecated 7.2 Use imagecreatefrompng() and imagewbmp() instead + * @removed 8.0 + */ +function png2wbmp ($pngname, $wbmpname, $dest_height, $dest_width, $threshold) {} + +/** + * Output image to browser or file + * @link https://php.net/manual/en/function.image2wbmp.php + * @param resource $image + * @param string $filename [optional]

+ * Path to the saved file. If not given, the raw image stream will be + * outputted directly. + *

+ * @param int $threshold [optional]

+ * Threshold value, between 0 and 255 (inclusive). + *

+ * @return bool true on success or false on failure. + * @deprecated 7.3 Use imagewbmp() instead + * @removed 8.0 + */ +function image2wbmp ($image, $filename = null, $threshold = null) {} + +/** + * Set the alpha blending flag to use the bundled libgd layering effects + * @link https://php.net/manual/en/function.imagelayereffect.php + * @param resource $image + * @param int $effect

+ * One of the following constants: + * IMG_EFFECT_REPLACE + * Use pixel replacement (equivalent of passing true to + * imagealphablending) + * @return bool true on success or false on failure. + */ +function imagelayereffect ($image, $effect) {} + +/** + * Makes the colors of the palette version of an image more closely match the true color version + * @link https://php.net/manual/en/function.imagecolormatch.php + * @param $image1 resource

+ * A truecolor image link resource. + *

+ * @param $image2 resource

+ * A palette image link resource pointing to an image that has the same + * size as image1. + *

+ * @return bool true on success or false on failure. + */ +function imagecolormatch ($image1, $image2) {} + +/** + * Output XBM image to browser or file + * @link https://php.net/manual/en/function.imagexbm.php + * @param resource $image + * @param string $filename

+ * The path to save the file to. If not set or &null;, the raw image stream + * will be outputted directly. + *

+ * @param int $foreground [optional]

+ * You can set the foreground color with this parameter by setting an + * identifier obtained from imagecolorallocate. + * The default foreground color is black. + *

+ * @return bool true on success or false on failure. + */ +function imagexbm ($image, $filename, $foreground = null) {} + +/** + * Applies a filter to an image + * @link https://php.net/manual/en/function.imagefilter.php + * @param resource $image + * @param int $filtertype

+ * filtertype can be one of the following: + * IMG_FILTER_NEGATE: Reverses all colors of + * the image. + * @param int $arg1 [optional]

+ * IMG_FILTER_BRIGHTNESS: Brightness level. + * @param int $arg2 [optional]

+ * IMG_FILTER_COLORIZE: Value of green component. + * @param int $arg3 [optional]

+ * IMG_FILTER_COLORIZE: Value of blue component. + * @param int $arg4 [optional]

+ * IMG_FILTER_COLORIZE: Alpha channel, A value + * between 0 and 127. 0 indicates completely opaque while 127 indicates + * completely transparent. + * @return bool true on success or false on failure. + */ +function imagefilter ($image, $filtertype, $arg1 = null, $arg2 = null, $arg3 = null, $arg4 = null) {} + +/** + * Apply a 3x3 convolution matrix, using coefficient and offset + * @link https://php.net/manual/en/function.imageconvolution.php + * @param resource $image + * @param array $matrix

+ * A 3x3 matrix: an array of three arrays of three floats. + *

+ * @param float $div

+ * The divisor of the result of the convolution, used for normalization. + *

+ * @param float $offset

+ * Color offset. + *

+ * @return bool true on success or false on failure. + */ +function imageconvolution ($image, array $matrix, $div, $offset) {} + +/** + * @param resource $im An image resource, returned by one of the image creation functions, such as {@see imagecreatetruecolor()}. + * @param int $res_x [optional] The horizontal resolution in DPI. + * @param int $res_y [optional] The vertical resolution in DPI. + * @return array|bool When used as getter (that is without the optional parameters), it returns TRUE on success, or FALSE on failure. When used as setter (that is with one or both optional parameters given), it returns an indexed array of the horizontal and vertical resolution on success, or FALSE on failure. + * @link https://php.net/manual/en/function.imageresolution.php + * @since 7.2 + */ +function imageresolution ($im, $res_x = 96, $res_y = 96) {} + + +/** + * imagesetclip() sets the current clipping rectangle, i.e. the area beyond which no pixels will be drawn. + * @param resource $im An image resource, returned by one of the image creation functions, such as {@see imagecreatetruecolor()}. + * @param int $x1 The x-coordinate of the upper left corner. + * @param int $y1 The y-coordinate of the upper left corner. + * @param int $x2 The x-coordinate of the lower right corner. + * @param int $y2 The y-coordinate of the lower right corner. + * @return bool Returns TRUE on success or FALSE on failure. + * @link https://php.net/manual/en/function.imagesetclip.php + * @see imagegetclip() + * @since 7.2 + */ +function imagesetclip ($im, $x1, $y1, $x2, $y2) {} + +/** + * imagegetclip() retrieves the current clipping rectangle, i.e. the area beyond which no pixels will be drawn. + * @param resource $im An image resource, returned by one of the image creation functions, such as {@see imagecreatetruecolor()} + * @return array|false an indexed array with the coordinates of the clipping rectangle which has the following entries: + *
    + *
  • x-coordinate of the upper left corner
  • + *
  • y-coordinate of the upper left corner
  • + *
  • x-coordinate of the lower right corner
  • + *
  • y-coordinate of the lower right corner
  • + *
+ * Returns FALSE on error. + * @link https://php.net/manual/en/function.imagegetclip.php + * @see imagesetclip() + * @since 7.2 + */ +function imagegetclip ($im) {} + +/** + * imageopenpolygon() draws an open polygon on the given image. Contrary to {@see imagepolygon()}, no line is drawn between the last and the first point. + * @param resource $image An image resource, returned by one of the image creation functions, such as {@see imagecreatetruecolor()}. + * @param array $points An array containing the polygon's vertices, e.g.: + *
+ * points[0]	= x0
+ * points[1]	= y0
+ * points[2]	= x1
+ * points[3]	= y1
+ * 
+ * @param int $num_points [optional] Total number of points (vertices). + * @param int $color A color identifier created with {@see imagecolorallocate()}. + * @return bool Returns TRUE on success or FALSE on failure. + * @link https://php.net/manual/en/function.imageopenpolygon.php + * @since 7.2 + * @see imageplygon() + */ +function imageopenpolygon ($image , $points, $num_points, $color) {} + +/** + * imagecreatefrombmp() returns an image identifier representing the image obtained from the given filename. + * TIP A URL can be used as a filename with this function if the fopen wrappers have been enabled. See {@see fopen()} for more details on how to specify the filename. See the Supported Protocols and Wrappers for links to information about what abilities the various wrappers have, notes on their usage, and information on any predefined variables they may provide. + * @param string $filename Path to the BMP image. + * @return resource|false Returns an image resource identifier on success, FALSE on errors. + * @link https://php.net/manual/en/function.imagecreatefrombmp.php + * @since 7.2 + */ +function imagecreatefrombmp($filename){} + +/** + * Outputs or saves a BMP version of the given image. + * @param resource $image An image resource, returned by one of the image creation functions, such as {@see imagecreatetruecolor()}. + * @param mixed $to The path or an open stream resource (which is automatically being closed after this function returns) to save the file to. If not set or NULL, the raw image stream will be outputted directly. + *
+ * Note: NULL is invalid if the compressed arguments is not used. + * @param bool $compressed Whether the BMP should be compressed with run-length encoding (RLE), or not. + * @return bool Returns TRUE on success or FALSE on failure. + *
+ * Caution However, if libgd fails to output the image, this function returns TRUE. + * @link https://php.net/manual/en/function.imagebmp.php + * @since 7.2 + */ +function imagebmp ($image, $to = null, $compressed = true) {} + +/** + * @param string $filename + * @return resource|false + */ +function imagecreatefromtga($filename) {} + +/** + * Captures the whole screen + * + * https://www.php.net/manual/en/function.imagegrabscreen.php + * + * @return resource|false + */ +function imagegrabscreen() {} + +/** + * Captures a window + * + * @link https://www.php.net/manual/en/function.imagegrabwindow.php + * + * @param int $handle + * @param int|null $client_area + * @return resource|false + */ +function imagegrabwindow($handle, $client_area = null) {} + +/** + * Used as a return value by {@see imagetypes()} + * @link https://php.net/manual/en/image.constants.php#constant.img-gif + */ +define ('IMG_GIF', 1); + +/** + * Used as a return value by {@see imagetypes()} + * @link https://php.net/manual/en/image.constants.php#constant.img-jpg + */ +define ('IMG_JPG', 2); + +/** + * Used as a return value by {@see imagetypes()} + *

+ * This constant has the same value as {@see IMG_JPG} + *

+ * @link https://php.net/manual/en/image.constants.php#constant.img-jpeg + */ +define ('IMG_JPEG', 2); + +/** + * Used as a return value by {@see imagetypes()} + * @link https://php.net/manual/en/image.constants.php#constant.img-png + */ +define ('IMG_PNG', 4); + +/** + * Used as a return value by {@see imagetypes()} + * @link https://php.net/manual/en/image.constants.php#constant.img-wbmp + */ +define ('IMG_WBMP', 8); + +/** + * Used as a return value by {@see imagetypes()} + * @link https://php.net/manual/en/image.constants.php#constant.img-xpm + */ +define ('IMG_XPM', 16); + +/** + * Used as a return value by {@see imagetypes()} + * @since 5.6.25 + * @since 7.0.10 + * @link https://php.net/manual/en/image.constants.php#constant.img-webp + */ +define('IMG_WEBP', 32); + +/** + * Used as a return value by {@see imagetypes()} + * @since 7.2 + * @link https://php.net/manual/en/image.constants.php#constant.img-bmp + */ +define('IMG_BMP', 64); + +/** + * Special color option which can be used instead of color allocated with + * {@see imagecolorallocate()} or {@see imagecolorallocatealpha()} + * @link https://php.net/manual/en/image.constants.php#constant.img-color-tiled + */ +define ('IMG_COLOR_TILED', -5); + +/** + * Special color option which can be used instead of color allocated with + * {@see imagecolorallocate()} or {@see imagecolorallocatealpha()} + * @link https://php.net/manual/en/image.constants.php#constant.img-color-styled + */ +define ('IMG_COLOR_STYLED', -2); + +/** + * Special color option which can be used instead of color allocated with + * {@see imagecolorallocate()} or {@see imagecolorallocatealpha()} + * @link https://php.net/manual/en/image.constants.php#constant.img-color-brushed + */ +define ('IMG_COLOR_BRUSHED', -3); + +/** + * Special color option which can be used instead of color allocated with + * {@see imagecolorallocate()} or {@see imagecolorallocatealpha()} + * @link https://php.net/manual/en/image.constants.php#constant.img-color-styledbrushed + */ +define ('IMG_COLOR_STYLEDBRUSHED', -4); + +/** + * Special color option which can be used instead of color allocated with + * {@see imagecolorallocate()} or {@see imagecolorallocatealpha()} + * @link https://php.net/manual/en/image.constants.php#constant.img-color-transparent + */ +define ('IMG_COLOR_TRANSPARENT', -6); + +/** + * A style constant used by the {@see imagefilledarc()} function. + *

+ * This constant has the same value as {@see IMG_ARC_PIE} + *

+ * @link https://php.net/manual/en/image.constants.php#constant.img-arc-rounded + */ +define ('IMG_ARC_ROUNDED', 0); + +/** + * A style constant used by the {@see imagefilledarc()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-arc-pie + */ +define ('IMG_ARC_PIE', 0); + +/** + * A style constant used by the {@see imagefilledarc()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-arc-chord + */ +define ('IMG_ARC_CHORD', 1); + +/** + * A style constant used by the {@see imagefilledarc()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-arc-nofill + */ +define ('IMG_ARC_NOFILL', 2); + +/** + * A style constant used by the {@see imagefilledarc()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-arc-edged + */ +define ('IMG_ARC_EDGED', 4); + +/** + * A type constant used by the {@see imagegd2()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-gd2-raw + */ +define ('IMG_GD2_RAW', 1); + +/** + * A type constant used by the {@see imagegd2()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-gd2-compressed + */ +define ('IMG_GD2_COMPRESSED', 2); + +/** + * Alpha blending effect used by the {@see imagelayereffect()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-effect-replace + */ +define ('IMG_EFFECT_REPLACE', 0); + +/** + * Alpha blending effect used by the {@see imagelayereffect()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-effect-alphablend + */ +define ('IMG_EFFECT_ALPHABLEND', 1); + +/** + * Alpha blending effect used by the {@see imagelayereffect()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-effect-normal + */ +define ('IMG_EFFECT_NORMAL', 2); + +/** + * Alpha blending effect used by the {@see imagelayereffect()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-effect-overlay + */ +define ('IMG_EFFECT_OVERLAY', 3); + +/** + * Alpha blending effect used by the {@see imagelayereffect()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-effect-multiply + * @since 7.2 + */ +define ('IMG_EFFECT_MULTIPLY', 4); + +/** + * When the bundled version of GD is used this is 1 otherwise + * it's set to 0. + * @link https://php.net/manual/en/image.constants.php + */ +define ('GD_BUNDLED', 1); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-negate + */ +define ('IMG_FILTER_NEGATE', 0); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-grayscale + */ +define ('IMG_FILTER_GRAYSCALE', 1); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-brightness + */ +define ('IMG_FILTER_BRIGHTNESS', 2); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-contrast + */ +define ('IMG_FILTER_CONTRAST', 3); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-colorize + */ +define ('IMG_FILTER_COLORIZE', 4); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-edgedetect + */ +define ('IMG_FILTER_EDGEDETECT', 5); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-gaussian-blur + */ +define ('IMG_FILTER_GAUSSIAN_BLUR', 7); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-selective-blur + */ +define ('IMG_FILTER_SELECTIVE_BLUR', 8); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-emboss + */ +define ('IMG_FILTER_EMBOSS', 6); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-mean-removal + */ +define ('IMG_FILTER_MEAN_REMOVAL', 9); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-smooth + */ +define ('IMG_FILTER_SMOOTH', 10); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-pixelate + */ +define ('IMG_FILTER_PIXELATE', 11); + +/** + * Special GD filter used by the {@see imagefilter()} function. + * @link https://php.net/manual/en/image.constants.php#constant.img-filter-scatter + * @since 7.4 + */ +define ('IMG_FILTER_SCATTER', 12); + +/** + * The GD version PHP was compiled against. + * @since 5.2.4 + * @link https://php.net/manual/en/image.constants.php#constant.gd-version + */ +define ('GD_VERSION', "2.0.35"); + +/** + * The GD major version PHP was compiled against. + * @since 5.2.4 + * @link https://php.net/manual/en/image.constants.php#constant.gd-major-version + */ +define ('GD_MAJOR_VERSION', 2); + +/** + * The GD minor version PHP was compiled against. + * @since 5.2.4 + * @link https://php.net/manual/en/image.constants.php#constant.gd-minor-version + */ +define ('GD_MINOR_VERSION', 0); + +/** + * The GD release version PHP was compiled against. + * @since 5.2.4 + * @link https://php.net/manual/en/image.constants.php#constant.gd-release-version + */ +define ('GD_RELEASE_VERSION', 35); + +/** + * The GD "extra" version (beta/rc..) PHP was compiled against. + * @since 5.2.4 + * @link https://php.net/manual/en/image.constants.php#constant.gd-extra-version + */ +define ('GD_EXTRA_VERSION', ""); + + +/** + * A special PNG filter, used by the {@see imagepng()} function. + * @link https://php.net/manual/en/image.constants.php#constant.png-no-filter + */ +define ('PNG_NO_FILTER', 0); + +/** + * A special PNG filter, used by the {@see imagepng()} function. + * @link https://php.net/manual/en/image.constants.php#constant.png-filter-none + */ +define ('PNG_FILTER_NONE', 8); + +/** + * A special PNG filter, used by the {@see imagepng()} function. + * @link https://php.net/manual/en/image.constants.php#constant.png-filter-sub + */ +define ('PNG_FILTER_SUB', 16); + +/** + * A special PNG filter, used by the {@see imagepng()} function. + * @link https://php.net/manual/en/image.constants.php#constant.png-filter-up + */ +define ('PNG_FILTER_UP', 32); + +/** + * A special PNG filter, used by the {@see imagepng()} function. + * @link https://php.net/manual/en/image.constants.php#constant.png-filter-avg + */ +define ('PNG_FILTER_AVG', 64); + +/** + * A special PNG filter, used by the {@see imagepng()} function. + * @link https://php.net/manual/en/image.constants.php#constant.png-filter-paeth + */ +define ('PNG_FILTER_PAETH', 128); + +/** + * A special PNG filter, used by the {@see imagepng()} function. + * @link https://php.net/manual/en/image.constants.php#constant.png-all-filters + */ +define ('PNG_ALL_FILTERS', 248); + +/** + * An affine transformation type constant used by the {@see imageaffinematrixget()} function. + * @since 5.5 + * @link https://php.net/manual/en/image.constants.php#constant.img-affine-translate + */ +define('IMG_AFFINE_TRANSLATE', 0); + +/** + * An affine transformation type constant used by the {@see imageaffinematrixget()} function. + * @since 5.5 + * @link https://php.net/manual/en/image.constants.php#constant.img-affine-scale + */ +define('IMG_AFFINE_SCALE', 1); + +/** + * An affine transformation type constant used by the {@see imageaffinematrixget()} function. + * @since 5.5 + * @link https://php.net/manual/en/image.constants.php#constant.img-affine-rotate + */ +define('IMG_AFFINE_ROTATE', 2); + +/** + * An affine transformation type constant used by the {@see imageaffinematrixget()} function. + * @since 5.5 + * @link https://php.net/manual/en/image.constants.php#constant.img-affine-shear-horizontal + */ +define('IMG_AFFINE_SHEAR_HORIZONTAL', 3); + +/** + * An affine transformation type constant used by the {@see imageaffinematrixget()} function. + * @since 5.5 + * @link https://php.net/manual/en/image.constants.php#constant.img-affine-shear-vertical + */ +define('IMG_AFFINE_SHEAR_VERTICAL', 4); + +/** + * Same as {@see IMG_CROP_TRANSPARENT}. Before PHP 7.4.0, the bundled libgd fell back to + * {@see IMG_CROP_SIDES}, if the image had no transparent color. + * Used together with {@see imagecropauto()}. + * @since 5.5 + */ +define('IMG_CROP_DEFAULT', 0); + +/** + * Crops out a transparent background. + * Used together with {@see imagecropauto()}. + * @since 5.5 + */ +define('IMG_CROP_TRANSPARENT', 1); + +/** + * Crops out a black background. + * Used together with {@see imagecropauto()}. + * @since 5.5 + */ +define('IMG_CROP_BLACK', 2); + +/** + * Crops out a white background. + * Used together with {@see imagecropauto()}. + * @since 5.5 + */ +define('IMG_CROP_WHITE', 3); + +/** + * Uses the 4 corners of the image to attempt to detect the background to crop. + * Used together with {@see imagecropauto()}. + * @since 5.5 + */ +define('IMG_CROP_SIDES', 4); + +/** + * Crops an image using the given threshold and color. + * Used together with {@see imagecropauto()}. + * @since 5.5 + */ +define('IMG_CROP_THRESHOLD', 5); + +/** + * Used together with {@see imageflip()} + * @since 5.5 + * @link https://php.net/manual/en/image.constants.php#constant.img-flip-both + */ +define('IMG_FLIP_BOTH', 3); + +/** + * Used together with {@see imageflip()} + * @since 5.5 + * @link https://php.net/manual/en/image.constants.php#constant.img-flip-horizontal + */ +define('IMG_FLIP_HORIZONTAL', 1); + +/** + * Used together with {@see imageflip()} + * @since 5.5 + * @link https://php.net/manual/en/image.constants.php#constant.img-flip-vertical + */ +define('IMG_FLIP_VERTICAL', 2); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-bell + * @since 5.5 + */ +define('IMG_BELL', 1); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-bessel + * @since 5.5 + */ +define('IMG_BESSEL', 2); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-bicubic + * @since 5.5 + */ +define('IMG_BICUBIC', 4); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-bicubic-fixed + * @since 5.5 + */ +define('IMG_BICUBIC_FIXED', 5); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-bilinear-fixed + * @since 5.5 + */ +define('IMG_BILINEAR_FIXED', 3); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-blackman + * @since 5.5 + */ +define('IMG_BLACKMAN', 6); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-box + * @since 5.5 + */ +define('IMG_BOX', 7); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-bspline + * @since 5.5 + */ +define('IMG_BSPLINE', 8); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-catmullrom + * @since 5.5 + */ +define('IMG_CATMULLROM', 9); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-gaussian + * @since 5.5 + */ +define('IMG_GAUSSIAN', 10); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-generalized-cubic + * @since 5.5 + */ +define('IMG_GENERALIZED_CUBIC', 11); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-hermite + * @since 5.5 + */ +define('IMG_HERMITE', 12); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-hamming + * @since 5.5 + */ +define('IMG_HAMMING', 13); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-hanning + * @since 5.5 + */ +define('IMG_HANNING', 14); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-mitchell + * @since 5.5 + */ +define('IMG_MITCHELL', 15); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-power + * @since 5.5 + */ +define('IMG_POWER', 17); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-quadratic + * @since 5.5 + */ +define('IMG_QUADRATIC', 18); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-sinc + * @since 5.5 + */ +define('IMG_SINC', 19); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-nearest-neighbour + * @since 5.5 + */ +define('IMG_NEAREST_NEIGHBOUR', 16); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-weighted4 + * @since 5.5 + */ +define('IMG_WEIGHTED4', 21); + +/** + * Used together with {@see imagesetinterpolation()}. + * @link https://php.net/manual/en/image.constants.php#constant.img-triangle + * @since 5.5 + */ +define('IMG_TRIANGLE', 20); + +define('IMG_TGA', 128); + +/** + * Return an image containing the affine tramsformed src image, using an optional clipping area + * @link https://secure.php.net/manual/en/function.imageaffine.php + * @param resource $image

An image resource, returned by one of the image creation functions, + * such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}.

+ * @param array $affine

Array with keys 0 to 5.

+ * @param array $clip [optional]

Array with keys "x", "y", "width" and "height".

+ * @return resource|bool Return affined image resource on success or FALSE on failure. + */ +function imageaffine($image, $affine, $clip = null) {} + +/** + * Concat two matrices (as in doing many ops in one go) + * @link https://secure.php.net/manual/en/function.imageaffinematrixconcat.php + * @param array $m1

Array with keys 0 to 5.

+ * @param array $m2

Array with keys 0 to 5.

+ * @return array|bool Array with keys 0 to 5 and float values or FALSE on failure. + * @since 5.5 + */ +function imageaffinematrixconcat(array $m1, array $m2) {} + +/** + * Return an image containing the affine tramsformed src image, using an optional clipping area + * @link https://secure.php.net/manual/en/function.imageaffinematrixget.php + * @param int $type

One of IMG_AFFINE_* constants. + * @param mixed $options [optional] + * @return array|bool Array with keys 0 to 5 and float values or FALSE on failure. + * @since 5.5 + */ + +function imageaffinematrixget ($type, $options = null) {} + +/** + * Crop an image using the given coordinates and size, x, y, width and height + * @link https://secure.php.net/manual/en/function.imagecrop.php + * @param resource $image

+ * An image resource, returned by one of the image creation functions, such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}. + *

+ * @param array $rect

Array with keys "x", "y", "width" and "height".

+ * @return resource|bool Return cropped image resource on success or FALSE on failure. + * @since 5.5 + */ +function imagecrop ($image, $rect) {} + +/** + * Crop an image automatically using one of the available modes + * @link https://secure.php.net/manual/en/function.imagecropauto.php + * @param resource $image

+ * An image resource, returned by one of the image creation functions, such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}. + *

+ * @param int $mode [optional]

+ * One of IMG_CROP_* constants. + *

+ * @param float $threshold [optional]

+ * Used IMG_CROP_THRESHOLD mode. + *

+ * @param int $color [optional] + *

+ * Used in IMG_CROP_THRESHOLD mode. + *

+ * @return resource|bool Return cropped image resource on success or FALSE on failure. + * @since 5.5 + */ +function imagecropauto ($image, $mode = IMG_CROP_DEFAULT, $threshold = .5, $color = -1) {} + +/** + * Flips an image using a given mode + * @link https://secure.php.net/manual/en/function.imageflip.php + * @param resource $image

+ * An image resource, returned by one of the image creation functions, such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}. + *

+ * @param int $mode

+ * Flip mode, this can be one of the IMG_FLIP_* constants: + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
ConstantMeaning
IMG_FLIP_HORIZONTAL + * Flips the image horizontally. + *
IMG_FLIP_VERTICAL + * Flips the image vertically. + *
IMG_FLIP_BOTH + * Flips the image both horizontally and vertically. + *
+ * @return bool Returns TRUE on success or FALSE on failure. + * @since 5.5 + */ +function imageflip ($image, $mode) {} + +/** + * Converts a palette based image to true color + * @link https://secure.php.net/manual/en/function.imagepalettetotruecolor.php + * @param resource $image

+ * An image resource, returnd by one of the image creation functions, such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}. + *

+ * @return bool Returns TRUE if the convertion was complete, or if the source image already is a true color image, otherwise FALSE is returned. + * @since 5.5 + */ +function imagepalettetotruecolor ($image) {} + +/** + * @since 5.5 + * Scale an image using the given new width and height + * @link https://secure.php.net/manual/en/function.imagescale.php + * @param resource $image

+ * An image resource, returnd by one of the image creation functions, such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}. + *

+ * @param int $new_width + * @param int $new_height [optional] + * @param int $mode [optional] One of IMG_NEAREST_NEIGHBOUR, IMG_BILINEAR_FIXED, IMG_BICUBIC, IMG_BICUBIC_FIXED or anything else (will use two pass). + * @return resource|bool Return scaled image resource on success or FALSE on failure. + */ + +function imagescale ($image, $new_width, $new_height = -1, $mode = IMG_BILINEAR_FIXED) {} + +/** + * Set the interpolation method + * @link https://secure.php.net/manual/en/function.imagesetinterpolation.php + * @param resource $image

+ * An image resource, returned by one of the image creation functions, such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}. + *

+ * @param int $method

+ * The interpolation method, which can be one of the following: + *

    + *
  • + * IMG_BELL: Bell filter. + *
  • + *
  • + * IMG_BESSEL: Bessel filter. + *
  • + *
  • + * IMG_BICUBIC: Bicubic interpolation. + *
  • + *
  • + * IMG_BICUBIC_FIXED: Fixed point implementation of the bicubic interpolation. + *
  • + *
  • + * IMG_BILINEAR_FIXED: Fixed point implementation of the bilinear interpolation (default (also on image creation)). + *
  • + *
  • + * IMG_BLACKMAN: Blackman window function. + *
  • + *
  • + * IMG_BOX: Box blur filter. + *
  • + *
  • + * IMG_BSPLINE: Spline interpolation. + *
  • + *
  • + * IMG_CATMULLROM: Cubbic Hermite spline interpolation. + *
  • + *
  • + * IMG_GAUSSIAN: Gaussian function. + *
  • + *
  • + * IMG_GENERALIZED_CUBIC: Generalized cubic spline fractal interpolation. + *
  • + *
  • + * IMG_HERMITE: Hermite interpolation. + *
  • + *
  • + * IMG_HAMMING: Hamming filter. + *
  • + *
  • + * IMG_HANNING: Hanning filter. + *
  • + *
  • + * IMG_MITCHELL: Mitchell filter. + *
  • + *
  • + * IMG_POWER: Power interpolation. + *
  • + *
  • + * IMG_QUADRATIC: Inverse quadratic interpolation. + *
  • + *
  • + * IMG_SINC: Sinc function. + *
  • + *
  • + * IMG_NEAREST_NEIGHBOUR: Nearest neighbour interpolation. + *
  • + *
  • + * IMG_WEIGHTED4: Weighting filter. + *
  • + *
  • + * IMG_TRIANGLE: Triangle interpolation. + *
  • + *
+ *

+ * @return bool Returns TRUE on success or FALSE on failure. + * @since 5.5 + */ +function imagesetinterpolation ($image, $method = IMG_BILINEAR_FIXED) {} diff --git a/build/stubs/intl.php b/build/stubs/intl.php new file mode 100644 index 0000000000..329f848efc --- /dev/null +++ b/build/stubs/intl.php @@ -0,0 +1,6846 @@ + + * Sort strings with different accents from the back of the string. This + * attribute is automatically set to + * On + * for the French locales and a few others. Users normally would not need + * to explicitly set this attribute. There is a string comparison + * performance cost when it is set On, + * but sort key length is unaffected. Possible values are: + * Collator::ON + * Collator::OFF(default) + * Collator::DEFAULT_VALUE + *

+ *

+ * FRENCH_COLLATION rules + *

+ * F=OFF cote < coté < côte < côté + * F=ON cote < côte < coté < côté + *

+ *

+ * @link https://php.net/manual/en/intl.collator-constants.php + */ + const FRENCH_COLLATION = 0; + + /** + *

+ * The Alternate attribute is used to control the handling of the so called + * variable characters in the UCA: whitespace, punctuation and symbols. If + * Alternate is set to NonIgnorable + * (N), then differences among these characters are of the same importance + * as differences among letters. If Alternate is set to + * Shifted + * (S), then these characters are of only minor importance. The + * Shifted value is often used in combination with + * Strength + * set to Quaternary. In such a case, whitespace, punctuation, and symbols + * are considered when comparing strings, but only if all other aspects of + * the strings (base letters, accents, and case) are identical. If + * Alternate is not set to Shifted, then there is no difference between a + * Strength of 3 and a Strength of 4. For more information and examples, + * see Variable_Weighting in the + * UCA. + * The reason the Alternate values are not simply + * On and Off + * is that additional Alternate values may be added in the future. The UCA + * option Blanked is expressed with Strength set to 3, and Alternate set to + * Shifted. The default for most locales is NonIgnorable. If Shifted is + * selected, it may be slower if there are many strings that are the same + * except for punctuation; sort key length will not be affected unless the + * strength level is also increased. + *

+ *

+ * Possible values are: + * Collator::NON_IGNORABLE(default) + * Collator::SHIFTED + * Collator::DEFAULT_VALUE + *

+ *

+ * ALTERNATE_HANDLING rules + *

+ * S=3, A=N di Silva < Di Silva < diSilva < U.S.A. < USA + * S=3, A=S di Silva = diSilva < Di Silva < U.S.A. = USA + * S=4, A=S di Silva < diSilva < Di Silva < U.S.A. < USA + *

+ *

+ * @link https://php.net/manual/en/intl.collator-constants.php + */ + const ALTERNATE_HANDLING = 1; + + /** + *

+ * The Case_First attribute is used to control whether uppercase letters + * come before lowercase letters or vice versa, in the absence of other + * differences in the strings. The possible values are + * Uppercase_First + * (U) and Lowercase_First + * (L), plus the standard Default + * and Off. + * There is almost no difference between the Off and Lowercase_First + * options in terms of results, so typically users will not use + * Lowercase_First: only Off or Uppercase_First. (People interested in the + * detailed differences between X and L should consult the Collation + * Customization). Specifying either L or U won't affect string comparison + * performance, but will affect the sort key length. + *

+ *

+ * Possible values are: + * Collator::OFF(default) + * Collator::LOWER_FIRST + * Collator::UPPER_FIRST + * Collator:DEFAULT + *

+ *

+ * CASE_FIRST rules + *

+ * C=X or C=L "china" < "China" < "denmark" < "Denmark" + * C=U "China" < "china" < "Denmark" < "denmark" + *

+ *

+ * @link https://php.net/manual/en/intl.collator-constants.php + */ + const CASE_FIRST = 2; + + /** + *

+ * The Case_Level attribute is used when ignoring accents but not case. In + * such a situation, set Strength to be Primary, + * and Case_Level to be On. + * In most locales, this setting is Off by default. There is a small + * string comparison performance and sort key impact if this attribute is + * set to be On. + *

+ *

+ * Possible values are: + * Collator::OFF(default) + * Collator::ON + * Collator::DEFAULT_VALUE + *

+ *

+ * CASE_LEVEL rules + *

+ * S=1, E=X role = Role = rôle + * S=1, E=O role = rôle < Role + *

+ *

+ * @link https://php.net/manual/en/intl.collator-constants.php + */ + const CASE_LEVEL = 3; + + /** + *

+ * The Normalization setting determines whether text is thoroughly + * normalized or not in comparison. Even if the setting is off (which is + * the default for many locales), text as represented in common usage will + * compare correctly (for details, see UTN #5). Only if the accent marks + * are in noncanonical order will there be a problem. If the setting is + * On, + * then the best results are guaranteed for all possible text input. + * There is a medium string comparison performance cost if this attribute + * is On, + * depending on the frequency of sequences that require normalization. + * There is no significant effect on sort key length. If the input text is + * known to be in NFD or NFKD normalization forms, there is no need to + * enable this Normalization option. + *

+ *

+ * Possible values are: + * Collator::OFF(default) + * Collator::ON + * Collator::DEFAULT_VALUE + *

+ * @link https://php.net/manual/en/intl.collator-constants.php + */ + const NORMALIZATION_MODE = 4; + + /** + *

+ * The ICU Collation Service supports many levels of comparison (named + * "Levels", but also known as "Strengths"). Having these categories + * enables ICU to sort strings precisely according to local conventions. + * However, by allowing the levels to be selectively employed, searching + * for a string in text can be performed with various matching conditions. + * For more detailed information, see + * collator_set_strength chapter. + *

+ *

+ * Possible values are: + * Collator::PRIMARY + * Collator::SECONDARY + * Collator::TERTIARY(Collator::QUATERNARY + * Collator::IDENTICAL + * Collator::DEFAULT_VALUE + *

+ * @link https://php.net/manual/en/intl.collator-constants.php + */ + const STRENGTH = 5; + + /** + *

+ * Compatibility with JIS x 4061 requires the introduction of an additional + * level to distinguish Hiragana and Katakana characters. If compatibility + * with that standard is required, then this attribute should be set + * On, + * and the strength set to Quaternary. This will affect sort key length + * and string comparison string comparison performance. + *

+ *

+ * Possible values are: + * Collator::OFF(default) + * Collator::ON + * Collator::DEFAULT_VALUE + *

+ * @link https://php.net/manual/en/intl.collator-constants.php + */ + const HIRAGANA_QUATERNARY_MODE = 6; + + /** + *

+ * When turned on, this attribute generates a collation key for the numeric + * value of substrings of digits. This is a way to get '100' to sort AFTER + * '2'. + *

+ *

+ * Possible values are: + * Collator::OFF(default) + * Collator::ON + * Collator::DEFAULT_VALUE + *

+ * @link https://php.net/manual/en/intl.collator-constants.php + */ + const NUMERIC_COLLATION = 7; + const SORT_REGULAR = 0; + const SORT_STRING = 1; + const SORT_NUMERIC = 2; + + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Create a collator + * @link https://php.net/manual/en/collator.construct.php + * @param string $locale + */ + public function __construct($locale) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Create a collator + * @link https://php.net/manual/en/collator.create.php + * @param string $locale

+ * The locale containing the required collation rules. Special values for + * locales can be passed in - if null is passed for the locale, the + * default locale collation rules will be used. If empty string ("") or + * "root" are passed, UCA rules will be used. + *

+ * @return Collator Return new instance of Collator object, or NULL + * on error. + */ + public static function create($locale) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Compare two Unicode strings + * @link https://php.net/manual/en/collator.compare.php + * @param string $str1

+ * The first string to compare. + *

+ * @param string $str2

+ * The second string to compare. + *

+ * @return int Return comparison result:

+ *

+ *

+ * 1 if str1 is greater than + * str2 ; + *

+ *

+ * 0 if str1 is equal to + * str2; + *

+ *

+ * -1 if str1 is less than + * str2 . + *

+ * On error + * boolean + * FALSE + * is returned. + */ + public function compare($str1, $str2) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Sort array using specified collator + * @link https://php.net/manual/en/collator.sort.php + * @param array $arr

+ * Array of strings to sort. + *

+ * @param int $sort_flag [optional]

+ * Optional sorting type, one of the following: + *

+ *

+ *

+ * Collator::SORT_REGULAR + * - compare items normally (don't change types) + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function sort(array &$arr, $sort_flag = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Sort array using specified collator and sort keys + * @link https://php.net/manual/en/collator.sortwithsortkeys.php + * @param array $arr

Array of strings to sort

+ * @return bool TRUE on success or FALSE on failure. + */ + public function sortWithSortKeys(array &$arr) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Sort array maintaining index association + * @link https://php.net/manual/en/collator.asort.php + * @param array $arr

Array of strings to sort.

+ * @param int $sort_flag [optional]

+ * Optional sorting type, one of the following: + *

+ * Collator::SORT_REGULAR + * - compare items normally (don't change types) + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function asort(array &$arr, $sort_flag = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get collation attribute value + * @link https://php.net/manual/en/collator.getattribute.php + * @param int $attr

+ * Attribute to get value for. + *

+ * @return int|false Attribute value, or boolean FALSE on error. + */ + public function getAttribute($attr) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set collation attribute + * @link https://php.net/manual/en/collator.setattribute.php + * @param int $attr

Attribute.

+ * @param int $val

+ * Attribute value. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setAttribute($attr, $val) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get current collation strength + * @link https://php.net/manual/en/collator.getstrength.php + * @return int|false current collation strength, or boolean FALSE on error. + */ + public function getStrength() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set collation strength + * @link https://php.net/manual/en/collator.setstrength.php + * @param int $strength

Strength to set.

+ *

+ * Possible values are: + *

+ * Collator::PRIMARY + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setStrength($strength) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the locale name of the collator + * @link https://php.net/manual/en/collator.getlocale.php + * @param int $type [optional]

+ * You can choose between valid and actual locale ( + * Locale::VALID_LOCALE and + * Locale::ACTUAL_LOCALE, + * respectively). The default is the actual locale. + *

+ * @return string Real locale name from which the collation data comes. If the collator was + * instantiated from rules or an error occurred, returns + * boolean FALSE. + */ + public function getLocale($type = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get collator's last error code + * @link https://php.net/manual/en/collator.geterrorcode.php + * @return int Error code returned by the last Collator API function call. + */ + public function getErrorCode() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get text for collator's last error code + * @link https://php.net/manual/en/collator.geterrormessage.php + * @return string Description of an error occurred in the last Collator API function call. + */ + public function getErrorMessage() { } + + /** + * (No version information available, might only be in SVN)
+ * Get sorting key for a string + * @link https://php.net/manual/en/collator.getsortkey.php + * @param string $str

+ * The string to produce the key from. + *

+ * @return string the collation key for the string. Collation keys can be compared directly instead of strings. + */ + public function getSortKey($str) { } +} + +class NumberFormatter { + + /** + * Decimal format defined by pattern + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PATTERN_DECIMAL = 0; + + /** + * Decimal format + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const DECIMAL = 1; + + /** + * Currency format + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const CURRENCY = 2; + + /** + * Percent format + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PERCENT = 3; + + /** + * Scientific format + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const SCIENTIFIC = 4; + + /** + * Spellout rule-based format + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const SPELLOUT = 5; + + /** + * Ordinal rule-based format + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const ORDINAL = 6; + + /** + * Duration rule-based format + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const DURATION = 7; + + /** + * Rule-based format defined by pattern + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PATTERN_RULEBASED = 9; + + /** + * Alias for PATTERN_DECIMAL + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const IGNORE = 0; + + /** + * Default format for the locale + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const DEFAULT_STYLE = 1; + + /** + * Rounding mode to round towards positive infinity. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const ROUND_CEILING = 0; + + /** + * Rounding mode to round towards negative infinity. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const ROUND_FLOOR = 1; + + /** + * Rounding mode to round towards zero. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const ROUND_DOWN = 2; + + /** + * Rounding mode to round away from zero. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const ROUND_UP = 3; + + /** + * Rounding mode to round towards the "nearest neighbor" unless both + * neighbors are equidistant, in which case, round towards the even + * neighbor. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const ROUND_HALFEVEN = 4; + + /** + * Rounding mode to round towards "nearest neighbor" unless both neighbors + * are equidistant, in which case round down. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const ROUND_HALFDOWN = 5; + + /** + * Rounding mode to round towards "nearest neighbor" unless both neighbors + * are equidistant, in which case round up. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const ROUND_HALFUP = 6; + + /** + * Pad characters inserted before the prefix. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PAD_BEFORE_PREFIX = 0; + + /** + * Pad characters inserted after the prefix. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PAD_AFTER_PREFIX = 1; + + /** + * Pad characters inserted before the suffix. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PAD_BEFORE_SUFFIX = 2; + + /** + * Pad characters inserted after the suffix. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PAD_AFTER_SUFFIX = 3; + + /** + * Parse integers only. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PARSE_INT_ONLY = 0; + + /** + * Use grouping separator. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const GROUPING_USED = 1; + + /** + * Always show decimal point. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const DECIMAL_ALWAYS_SHOWN = 2; + + /** + * Maximum integer digits. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const MAX_INTEGER_DIGITS = 3; + + /** + * Minimum integer digits. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const MIN_INTEGER_DIGITS = 4; + + /** + * Integer digits. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const INTEGER_DIGITS = 5; + + /** + * Maximum fraction digits. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const MAX_FRACTION_DIGITS = 6; + + /** + * Minimum fraction digits. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const MIN_FRACTION_DIGITS = 7; + + /** + * Fraction digits. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const FRACTION_DIGITS = 8; + + /** + * Multiplier. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const MULTIPLIER = 9; + + /** + * Grouping size. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const GROUPING_SIZE = 10; + + /** + * Rounding Mode. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const ROUNDING_MODE = 11; + + /** + * Rounding increment. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const ROUNDING_INCREMENT = 12; + + /** + * The width to which the output of format() is padded. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const FORMAT_WIDTH = 13; + + /** + * The position at which padding will take place. See pad position + * constants for possible argument values. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PADDING_POSITION = 14; + + /** + * Secondary grouping size. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const SECONDARY_GROUPING_SIZE = 15; + + /** + * Use significant digits. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const SIGNIFICANT_DIGITS_USED = 16; + + /** + * Minimum significant digits. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const MIN_SIGNIFICANT_DIGITS = 17; + + /** + * Maximum significant digits. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const MAX_SIGNIFICANT_DIGITS = 18; + + /** + * Lenient parse mode used by rule-based formats. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const LENIENT_PARSE = 19; + + /** + * Positive prefix. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const POSITIVE_PREFIX = 0; + + /** + * Positive suffix. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const POSITIVE_SUFFIX = 1; + + /** + * Negative prefix. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const NEGATIVE_PREFIX = 2; + + /** + * Negative suffix. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const NEGATIVE_SUFFIX = 3; + + /** + * The character used to pad to the format width. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PADDING_CHARACTER = 4; + + /** + * The ISO currency code. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const CURRENCY_CODE = 5; + + /** + * The default rule set. This is only available with rule-based + * formatters. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const DEFAULT_RULESET = 6; + + /** + * The public rule sets. This is only available with rule-based + * formatters. This is a read-only attribute. The public rulesets are + * returned as a single string, with each ruleset name delimited by ';' + * (semicolon). + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PUBLIC_RULESETS = 7; + + /** + * The decimal separator. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const DECIMAL_SEPARATOR_SYMBOL = 0; + + /** + * The grouping separator. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const GROUPING_SEPARATOR_SYMBOL = 1; + + /** + * The pattern separator. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PATTERN_SEPARATOR_SYMBOL = 2; + + /** + * The percent sign. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PERCENT_SYMBOL = 3; + + /** + * Zero. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const ZERO_DIGIT_SYMBOL = 4; + + /** + * Character representing a digit in the pattern. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const DIGIT_SYMBOL = 5; + + /** + * The minus sign. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const MINUS_SIGN_SYMBOL = 6; + + /** + * The plus sign. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PLUS_SIGN_SYMBOL = 7; + + /** + * The currency symbol. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const CURRENCY_SYMBOL = 8; + + /** + * The international currency symbol. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const INTL_CURRENCY_SYMBOL = 9; + + /** + * The monetary separator. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const MONETARY_SEPARATOR_SYMBOL = 10; + + /** + * The exponential symbol. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const EXPONENTIAL_SYMBOL = 11; + + /** + * Per mill symbol. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PERMILL_SYMBOL = 12; + + /** + * Escape padding character. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const PAD_ESCAPE_SYMBOL = 13; + + /** + * Infinity symbol. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const INFINITY_SYMBOL = 14; + + /** + * Not-a-number symbol. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const NAN_SYMBOL = 15; + + /** + * Significant digit symbol. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const SIGNIFICANT_DIGIT_SYMBOL = 16; + + /** + * The monetary grouping separator. + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const MONETARY_GROUPING_SEPARATOR_SYMBOL = 17; + + /** + * Derive the type from variable type + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const TYPE_DEFAULT = 0; + + /** + * Format/parse as 32-bit integer + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const TYPE_INT32 = 1; + + /** + * Format/parse as 64-bit integer + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const TYPE_INT64 = 2; + + /** + * Format/parse as floating point value + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const TYPE_DOUBLE = 3; + + /** + * Format/parse as currency value + * @link https://php.net/manual/en/intl.numberformatter-constants.php + */ + const TYPE_CURRENCY = 4; + + + /** + * @param $locale + * @param $style + * @param $pattern [optional] + */ + public function __construct($locale, $style, $pattern = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Create a number formatter + * @link https://php.net/manual/en/numberformatter.create.php + * @param string $locale

+ * Locale in which the number would be formatted (locale name, e.g. en_CA). + *

+ * @param int $style

+ * Style of the formatting, one of the + * format style constants. If + * NumberFormatter::PATTERN_DECIMAL + * or NumberFormatter::PATTERN_RULEBASED + * is passed then the number format is opened using the given pattern, + * which must conform to the syntax described in + * ICU DecimalFormat + * documentation or + * ICU RuleBasedNumberFormat + * documentation, respectively. + *

+ * @param string $pattern [optional]

+ * Pattern string if the chosen style requires a pattern. + *

+ * @return NumberFormatter|false NumberFormatter object or FALSE on error. + */ + public static function create($locale, $style, $pattern = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Format a number + * @link https://php.net/manual/en/numberformatter.format.php + * @param int|float $value

+ * The value to format. Can be integer or float, + * other values will be converted to a numeric value. + *

+ * @param int $type [optional]

+ * The + * formatting type to use. + *

+ * @return string|false the string containing formatted value, or FALSE on error. + */ + public function format($value, $type = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Parse a number + * @link https://php.net/manual/en/numberformatter.parse.php + * @param string $value + * @param int $type [optional]

+ * The + * formatting type to use. By default, + * NumberFormatter::TYPE_DOUBLE is used. + *

+ * @param int $position [optional]

+ * Offset in the string at which to begin parsing. On return, this value + * will hold the offset at which parsing ended. + *

+ * @return mixed The value of the parsed number or FALSE on error. + */ + public function parse($value, $type = null, &$position = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Format a currency value + * @link https://php.net/manual/en/numberformatter.formatcurrency.php + * @param float $value

+ * The numeric currency value. + *

+ * @param string $currency

+ * The 3-letter ISO 4217 currency code indicating the currency to use. + *

+ * @return string String representing the formatted currency value. + */ + public function formatCurrency($value, $currency) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Parse a currency number + * @link https://php.net/manual/en/numberformatter.parsecurrency.php + * @param string $value + * @param string $currency

+ * Parameter to receive the currency name (3-letter ISO 4217 currency + * code). + *

+ * @param int $position [optional]

+ * Offset in the string at which to begin parsing. On return, this value + * will hold the offset at which parsing ended. + *

+ * @return float|false The parsed numeric value or FALSE on error. + */ + public function parseCurrency($value, &$currency, &$position = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set an attribute + * @link https://php.net/manual/en/numberformatter.setattribute.php + * @param int $attr

+ * Attribute specifier - one of the + * numeric attribute constants. + *

+ * @param int $value

+ * The attribute value. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setAttribute($attr, $value) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get an attribute + * @link https://php.net/manual/en/numberformatter.getattribute.php + * @param int $attr

+ * Attribute specifier - one of the + * numeric attribute constants. + *

+ * @return int|false Return attribute value on success, or FALSE on error. + */ + public function getAttribute($attr) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set a text attribute + * @link https://php.net/manual/en/numberformatter.settextattribute.php + * @param int $attr

+ * Attribute specifier - one of the + * text attribute + * constants. + *

+ * @param string $value

+ * Text for the attribute value. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setTextAttribute($attr, $value) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get a text attribute + * @link https://php.net/manual/en/numberformatter.gettextattribute.php + * @param int $attr

+ * Attribute specifier - one of the + * text attribute constants. + *

+ * @return string|false Return attribute value on success, or FALSE on error. + */ + public function getTextAttribute($attr) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set a symbol value + * @link https://php.net/manual/en/numberformatter.setsymbol.php + * @param int $attr

+ * Symbol specifier, one of the + * format symbol constants. + *

+ * @param string $value

+ * Text for the symbol. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setSymbol($attr, $value) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get a symbol value + * @link https://php.net/manual/en/numberformatter.getsymbol.php + * @param int $attr

+ * Symbol specifier, one of the + * format symbol constants. + *

+ * @return string|false The symbol string or FALSE on error. + */ + public function getSymbol($attr) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set formatter pattern + * @link https://php.net/manual/en/numberformatter.setpattern.php + * @param string $pattern

+ * Pattern in syntax described in + * ICU DecimalFormat + * documentation. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setPattern($pattern) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get formatter pattern + * @link https://php.net/manual/en/numberformatter.getpattern.php + * @return string|false Pattern string that is used by the formatter, or FALSE if an error happens. + */ + public function getPattern() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get formatter locale + * @link https://php.net/manual/en/numberformatter.getlocale.php + * @param int $type [optional]

+ * You can choose between valid and actual locale ( + * Locale::VALID_LOCALE, + * Locale::ACTUAL_LOCALE, + * respectively). The default is the actual locale. + *

+ * @return string The locale name used to create the formatter. + */ + public function getLocale($type = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get formatter's last error code. + * @link https://php.net/manual/en/numberformatter.geterrorcode.php + * @return int error code from last formatter call. + */ + public function getErrorCode() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get formatter's last error message. + * @link https://php.net/manual/en/numberformatter.geterrormessage.php + * @return string error message from last formatter call. + */ + public function getErrorMessage() { } +} + +class Normalizer { + + /** + * Default normalization options + * @link https://secure.php.net/manual/en/class.normalizer.php + */ + const OPTION_DEFAULT = ""; + + /** + * No decomposition/composition + * @link https://secure.php.net/manual/en/class.normalizer.php + * @removed 8.0 + */ + const NONE = "1"; + + /** + * Normalization Form D (NFD) - Canonical Decomposition + * @link https://secure.php.net/manual/en/class.normalizer.php + */ + const FORM_D = "2"; + const NFD = 2; + + /** + * Normalization Form KD (NFKD) - Compatibility Decomposition + * @link https://secure.php.net/manual/en/class.normalizer.php + */ + const FORM_KD = "3"; + const NFKD = 3; + + /** + * Normalization Form C (NFC) - Canonical Decomposition followed by + * Canonical Composition + * @link https://secure.php.net/manual/en/class.normalizer.php + */ + const FORM_C = "4"; + const NFC = 4; + + /** + * Normalization Form KC (NFKC) - Compatibility Decomposition, followed by + * Canonical Composition + * @link https://secure.php.net/manual/en/class.normalizer.php + */ + const FORM_KC = "5"; + const NFKC = 5; + + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Normalizes the input provided and returns the normalized string + * @link https://php.net/manual/en/normalizer.normalize.php + * @param string $input

The input string to normalize

+ * @param string $form [optional]

One of the normalization forms.

+ * @return string The normalized string or NULL if an error occurred. + */ + public static function normalize($input, $form = Normalizer::FORM_C) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Checks if the provided string is already in the specified normalization form. + * @link https://php.net/manual/en/normalizer.isnormalized.php + * @param string $input

The input string to normalize

+ * @param string $form [optional]

+ * One of the normalization forms. + *

+ * @return bool TRUE if normalized, FALSE otherwise or if there an error + */ + public static function isNormalized($input, $form = Normalizer::FORM_C) { } +} + +class Locale { + + /** + * This is locale the data actually comes from. + * @link https://php.net/manual/en/intl.locale-constants.php + */ + const ACTUAL_LOCALE = 0; + + /** + * This is the most specific locale supported by ICU. + * @link https://php.net/manual/en/intl.locale-constants.php + */ + const VALID_LOCALE = 1; + + /** + * Used as locale parameter with the methods of the various locale affected classes, + * such as NumberFormatter. This constant would make the methods to use default + * locale. + * @link https://php.net/manual/en/intl.locale-constants.php + */ + const DEFAULT_LOCALE = null; + + /** + * Language subtag + * @link https://php.net/manual/en/intl.locale-constants.php + */ + const LANG_TAG = "language"; + + /** + * Extended language subtag + * @link https://php.net/manual/en/intl.locale-constants.php + */ + const EXTLANG_TAG = "extlang"; + + /** + * Script subtag + * @link https://php.net/manual/en/intl.locale-constants.php + */ + const SCRIPT_TAG = "script"; + + /** + * Region subtag + * @link https://php.net/manual/en/intl.locale-constants.php + */ + const REGION_TAG = "region"; + + /** + * Variant subtag + * @link https://php.net/manual/en/intl.locale-constants.php + */ + const VARIANT_TAG = "variant"; + + /** + * Grandfathered Language subtag + * @link https://php.net/manual/en/intl.locale-constants.php + */ + const GRANDFATHERED_LANG_TAG = "grandfathered"; + + /** + * Private subtag + * @link https://php.net/manual/en/intl.locale-constants.php + */ + const PRIVATE_TAG = "private"; + + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Gets the default locale value from the INTL global 'default_locale' + * @link https://php.net/manual/en/locale.getdefault.php + * @return string The current runtime locale + */ + public static function getDefault() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * sets the default runtime locale + * @link https://php.net/manual/en/locale.setdefault.php + * @param string $locale

+ * Is a BCP 47 compliant language tag containing the + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public static function setDefault($locale) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Gets the primary language for the input locale + * @link https://php.net/manual/en/locale.getprimarylanguage.php + * @param string $locale

+ * The locale to extract the primary language code from + *

+ * @return string The language code associated with the language or NULL in case of error. + */ + public static function getPrimaryLanguage($locale) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Gets the script for the input locale + * @link https://php.net/manual/en/locale.getscript.php + * @param string $locale

+ * The locale to extract the script code from + *

+ * @return string The script subtag for the locale or NULL if not present + */ + public static function getScript($locale) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Gets the region for the input locale + * @link https://php.net/manual/en/locale.getregion.php + * @param string $locale

+ * The locale to extract the region code from + *

+ * @return string The region subtag for the locale or NULL if not present + */ + public static function getRegion($locale) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Gets the keywords for the input locale + * @link https://php.net/manual/en/locale.getkeywords.php + * @param string $locale

+ * The locale to extract the keywords from + *

+ * @return array Associative array containing the keyword-value pairs for this locale + */ + public static function getKeywords($locale) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns an appropriately localized display name for script of the input locale + * @link https://php.net/manual/en/locale.getdisplayscript.php + * @param string $locale

+ * The locale to return a display script for + *

+ * @param string $in_locale [optional]

+ * Optional format locale to use to display the script name + *

+ * @return string Display name of the script for the $locale in the format appropriate for + * $in_locale. + */ + public static function getDisplayScript($locale, $in_locale = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns an appropriately localized display name for region of the input locale + * @link https://php.net/manual/en/locale.getdisplayregion.php + * @param string $locale

+ * The locale to return a display region for. + *

+ * @param string $in_locale [optional]

+ * Optional format locale to use to display the region name + *

+ * @return string display name of the region for the $locale in the format appropriate for + * $in_locale. + */ + public static function getDisplayRegion($locale, $in_locale = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns an appropriately localized display name for the input locale + * @link https://php.net/manual/en/locale.getdisplayname.php + * @param string $locale

+ * The locale to return a display name for. + *

+ * @param string $in_locale [optional]

optional format locale

+ * @return string Display name of the locale in the format appropriate for $in_locale. + */ + public static function getDisplayName($locale, $in_locale = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns an appropriately localized display name for language of the inputlocale + * @link https://php.net/manual/en/locale.getdisplaylanguage.php + * @param string $locale

+ * The locale to return a display language for + *

+ * @param string $in_locale [optional]

+ * Optional format locale to use to display the language name + *

+ * @return string display name of the language for the $locale in the format appropriate for + * $in_locale. + */ + public static function getDisplayLanguage($locale, $in_locale = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns an appropriately localized display name for variants of the input locale + * @link https://php.net/manual/en/locale.getdisplayvariant.php + * @param string $locale

+ * The locale to return a display variant for + *

+ * @param string $in_locale [optional]

+ * Optional format locale to use to display the variant name + *

+ * @return string Display name of the variant for the $locale in the format appropriate for + * $in_locale. + */ + public static function getDisplayVariant($locale, $in_locale = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns a correctly ordered and delimited locale ID + * @link https://php.net/manual/en/locale.composelocale.php + * @param array $subtags

+ * an array containing a list of key-value pairs, where the keys identify + * the particular locale ID subtags, and the values are the associated + * subtag values. + *

+ * The 'variant' and 'private' subtags can take maximum 15 values + * whereas 'extlang' can take maximum 3 values.e.g. Variants are allowed + * with the suffix ranging from 0-14. Hence the keys for the input array + * can be variant0, variant1, ...,variant14. In the returned locale id, + * the subtag is ordered by suffix resulting in variant0 followed by + * variant1 followed by variant2 and so on. + *

+ *

+ * The 'variant', 'private' and 'extlang' multiple values can be specified both + * as array under specific key (e.g. 'variant') and as multiple numbered keys + * (e.g. 'variant0', 'variant1', etc.). + *

+ *

+ * @return string The corresponding locale identifier. + */ + public static function composeLocale(array $subtags) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns a key-value array of locale ID subtag elements. + * @link https://php.net/manual/en/locale.parselocale.php + * @param string $locale

+ * The locale to extract the subtag array from. Note: The 'variant' and + * 'private' subtags can take maximum 15 values whereas 'extlang' can take + * maximum 3 values. + *

+ * @return array an array containing a list of key-value pairs, where the keys + * identify the particular locale ID subtags, and the values are the + * associated subtag values. The array will be ordered as the locale id + * subtags e.g. in the locale id if variants are '-varX-varY-varZ' then the + * returned array will have variant0=>varX , variant1=>varY , + * variant2=>varZ + */ + public static function parseLocale($locale) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Gets the variants for the input locale + * @link https://php.net/manual/en/locale.getallvariants.php + * @param string $locale

+ * The locale to extract the variants from + *

+ * @return array The array containing the list of all variants subtag for the locale + * or NULL if not present + */ + public static function getAllVariants($locale) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Checks if a language tag filter matches with locale + * @link https://php.net/manual/en/locale.filtermatches.php + * @param string $langtag

+ * The language tag to check + *

+ * @param string $locale

+ * The language range to check against + *

+ * @param bool $canonicalize [optional]

+ * If true, the arguments will be converted to canonical form before + * matching. + *

+ * @return bool TRUE if $locale matches $langtag FALSE otherwise. + */ + public static function filterMatches($langtag, $locale, $canonicalize = false) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Searches the language tag list for the best match to the language + * @link https://php.net/manual/en/locale.lookup.php + * @param array $langtag

+ * An array containing a list of language tags to compare to + * locale. Maximum 100 items allowed. + *

+ * @param string $locale

+ * The locale to use as the language range when matching. + *

+ * @param bool $canonicalize [optional]

+ * If true, the arguments will be converted to canonical form before + * matching. + *

+ * @param string $default [optional]

+ * The locale to use if no match is found. + *

+ * @return string The closest matching language tag or default value. + */ + public static function lookup(array $langtag, $locale, $canonicalize = false, $default = null) { } + + /** + * @link https://php.net/manual/en/locale.canonicalize.php + * @param string $locale + * @return string + */ + public static function canonicalize($locale) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Tries to find out best available locale based on HTTP "Accept-Language" header + * @link https://php.net/manual/en/locale.acceptfromhttp.php + * @param string $header

+ * The string containing the "Accept-Language" header according to format in RFC 2616. + *

+ * @return string The corresponding locale identifier. + */ + public static function acceptFromHttp($header) { } +} + +class MessageFormatter { + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Constructs a new Message Formatter + * @link https://php.net/manual/en/messageformatter.create.php + * @param string $locale

+ * The locale to use when formatting arguments + *

+ * @param string $pattern

+ * The pattern string to stick arguments into. + * The pattern uses an 'apostrophe-friendly' syntax; it is run through + * umsg_autoQuoteApostrophe + * before being interpreted. + *

+ */ + public function __construct($locale, $pattern) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Constructs a new Message Formatter + * @link https://php.net/manual/en/messageformatter.create.php + * @param string $locale

+ * The locale to use when formatting arguments + *

+ * @param string $pattern

+ * The pattern string to stick arguments into. + * The pattern uses an 'apostrophe-friendly' syntax; it is run through + * umsg_autoQuoteApostrophe + * before being interpreted. + *

+ * @return MessageFormatter The formatter object + */ + public static function create($locale, $pattern) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Format the message + * @link https://php.net/manual/en/messageformatter.format.php + * @param array $args

+ * Arguments to insert into the format string + *

+ * @return string|false The formatted string, or FALSE if an error occurred + */ + public function format(array $args) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Quick format message + * @link https://php.net/manual/en/messageformatter.formatmessage.php + * @param string $locale

+ * The locale to use for formatting locale-dependent parts + *

+ * @param string $pattern

+ * The pattern string to insert things into. + * The pattern uses an 'apostrophe-friendly' syntax; it is run through + * umsg_autoQuoteApostrophe + * before being interpreted. + *

+ * @param array $args

+ * The array of values to insert into the format string + *

+ * @return string|false The formatted pattern string or FALSE if an error occurred + */ + public static function formatMessage($locale, $pattern, array $args) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Parse input string according to pattern + * @link https://php.net/manual/en/messageformatter.parse.php + * @param string $value

+ * The string to parse + *

+ * @return array|false An array containing the items extracted, or FALSE on error + */ + public function parse($value) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Quick parse input string + * @link https://php.net/manual/en/messageformatter.parsemessage.php + * @param string $locale

+ * The locale to use for parsing locale-dependent parts + *

+ * @param string $pattern

+ * The pattern with which to parse the value. + *

+ * @param string $source

+ * The string to parse, conforming to the pattern. + *

+ * @return array|false An array containing items extracted, or FALSE on error + */ + public static function parseMessage($locale, $pattern, $source) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set the pattern used by the formatter + * @link https://php.net/manual/en/messageformatter.setpattern.php + * @param string $pattern

+ * The pattern string to use in this message formatter. + * The pattern uses an 'apostrophe-friendly' syntax; it is run through + * umsg_autoQuoteApostrophe + * before being interpreted. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setPattern($pattern) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the pattern used by the formatter + * @link https://php.net/manual/en/messageformatter.getpattern.php + * @return string The pattern string for this message formatter + */ + public function getPattern() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the locale for which the formatter was created. + * @link https://php.net/manual/en/messageformatter.getlocale.php + * @return string The locale name + */ + public function getLocale() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the error code from last operation + * @link https://php.net/manual/en/messageformatter.geterrorcode.php + * @return int The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR. + */ + public function getErrorCode() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the error text from the last operation + * @link https://php.net/manual/en/messageformatter.geterrormessage.php + * @return string Description of the last error. + */ + public function getErrorMessage() { } +} + +class IntlDateFormatter { + + /** + * Completely specified style (Tuesday, April 12, 1952 AD or 3:30:42pm PST) + * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants + */ + const FULL = 0; + + /** + * Long style (January 12, 1952 or 3:30:32pm) + * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants + */ + const LONG = 1; + + /** + * Medium style (Jan 12, 1952) + * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants + */ + const MEDIUM = 2; + + /** + * Most abbreviated style, only essential data (12/13/52 or 3:30pm) + * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants + */ + const SHORT = 3; + + /** + * Do not include this element + * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants + */ + const NONE = -1; + + /** + * Gregorian Calendar + * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants + */ + const GREGORIAN = 1; + + /** + * Non-Gregorian Calendar + * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants + */ + const TRADITIONAL = 0; + + const RELATIVE_FULL = 0; + const RELATIVE_LONG = 1; + const RELATIVE_MEDIUM = 2; + const RELATIVE_SHORT = 3; + + + /** + * @param string|null $locale + * @param int $datetype + * @param int $timetype + * @param mixed|null $timezone [optional] + * @param mixed|null $calendar [optional] + * @param string $pattern [optional] + */ + public function __construct($locale, $datetype, $timetype, $timezone = null, $calendar = null, $pattern = '') { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Create a date formatter + * @link https://php.net/manual/en/intldateformatter.create.php + * @param string $locale

+ * Locale to use when formatting or parsing; default is specified in the ini setting intl.default_locale. + *

+ * @param int $datetype

+ * Date type to use (none, + * short, medium, + * long, full). + * This is one of the + * IntlDateFormatter constants. + *

+ * @param int $timetype

+ * Time type to use (none, + * short, medium, + * long, full). + * This is one of the + * IntlDateFormatter constants. + *

+ * @param string $timezone [optional]

+ * Time zone ID, default is system default. + *

+ * @param int $calendar [optional]

+ * Calendar to use for formatting or parsing; default is Gregorian. + * This is one of the + * IntlDateFormatter calendar constants. + *

+ * @param string $pattern [optional]

+ * Optional pattern to use when formatting or parsing. + * Possible patterns are documented at http://userguide.icu-project.org/formatparse/datetime. + *

+ * @return IntlDateFormatter + */ + public static function create($locale, $datetype, $timetype, $timezone = null, $calendar = null, $pattern = '') { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the datetype used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.getdatetype.php + * @return int The current date type value of the formatter. + */ + public function getDateType() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the timetype used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.gettimetype.php + * @return int The current date type value of the formatter. + */ + public function getTimeType() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the calendar used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.getcalendar.php + * @return int The calendar being used by the formatter. + */ + public function getCalendar() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * sets the calendar used to the appropriate calendar, which must be + * @link https://php.net/manual/en/intldateformatter.setcalendar.php + * @param int $which

+ * The calendar to use. + * Default is IntlDateFormatter::GREGORIAN. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setCalendar($which) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the timezone-id used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.gettimezoneid.php + * @return string ID string for the time zone used by this formatter. + */ + public function getTimeZoneId() { } + + /** + * (PHP 5 >= 5.5.0, PECL intl >= 3.0.0)
+ * Get copy of formatter's calendar object + * @link https://secure.php.net/manual/en/intldateformatter.getcalendarobject.php + * @return IntlCalendar A copy of the internal calendar object used by this formatter. + */ + public function getCalendarObject() { } + + /** + * (PHP 5 >= 5.5.0, PECL intl >= 3.0.0)
+ * Get formatter's timezone + * @link https://secure.php.net/manual/en/intldateformatter.gettimezone.php + * @return IntlTimeZone|false The associated IntlTimeZone object or FALSE on failure. + */ + public function getTimeZone() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Sets the time zone to use + * @link https://php.net/manual/en/intldateformatter.settimezoneid.php + * @param string $zone

+ * The time zone ID string of the time zone to use. + * If NULL or the empty string, the default time zone for the runtime is used. + *

+ * @return bool TRUE on success or FALSE on failure. + * @deprecated 5.5 https://secure.php.net/manual/en/migration55.deprecated.php + * @removed 7.0 + */ + public function setTimeZoneId($zone) { } + + /** + * (PHP 5 >= 5.5.0, PECL intl >= 3.0.0)
+ * Sets formatter's timezone + * @link https://php.net/manual/en/intldateformatter.settimezone.php + * @param mixed $zone

+ * The timezone to use for this formatter. This can be specified in the + * following forms: + *

    + *
  • + *

    + * NULL, in which case the default timezone will be used, as specified in + * the ini setting {@link "https://secure.php.net/manual/en/datetime.configuration.php#ini.date.timezone" date.timezone} or + * through the function {@link "https://secure.php.net/manual/en/function.date-default-timezone-set.php" date_default_timezone_set()} and as + * returned by {@link "https://secure.php.net/manual/en/function.date-default-timezone-get.php" date_default_timezone_get()}. + *

    + *
  • + *
  • + *

    + * An {@link "https://secure.php.net/manual/en/class.intltimezone.php" IntlTimeZone}, which will be used directly. + *

    + *
  • + *
  • + *

    + * A {@link "https://secure.php.net/manual/en/class.datetimezone.php" DateTimeZone}. Its identifier will be extracted + * and an ICU timezone object will be created; the timezone will be backed + * by ICU's database, not PHP's. + *

    + *
  • + *
  • + *

    + * A {@link "https://secure.php.net/manual/en/language.types.string.php" string}, which should be a valid ICU timezone identifier. + * See IntlTimeZone::createTimeZoneIDEnumeration(). Raw offsets such as "GMT+08:30" are also accepted. + *

    + *
  • + *
+ *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setTimeZone($zone) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set the pattern used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.setpattern.php + * @param string $pattern

+ * New pattern string to use. + * Possible patterns are documented at http://userguide.icu-project.org/formatparse/datetime. + *

+ * @return bool TRUE on success or FALSE on failure. + * Bad formatstrings are usually the cause of the failure. + */ + public function setPattern($pattern) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the pattern used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.getpattern.php + * @return string The pattern string being used to format/parse. + */ + public function getPattern() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the locale used by formatter + * @link https://php.net/manual/en/intldateformatter.getlocale.php + * @param int $which [optional] + * @return string|false the locale of this formatter or 'false' if error + */ + public function getLocale($which = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set the leniency of the parser + * @link https://php.net/manual/en/intldateformatter.setlenient.php + * @param bool $lenient

+ * Sets whether the parser is lenient or not, default is TRUE (lenient). + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setLenient($lenient) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the lenient used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.islenient.php + * @return bool TRUE if parser is lenient, FALSE if parser is strict. By default the parser is lenient. + */ + public function isLenient() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Format the date/time value as a string + * @link https://php.net/manual/en/intldateformatter.format.php + * @param mixed $value

+ * Value to format. This may be a DateTime object, + * an integer representing a Unix timestamp value (seconds + * since epoch, UTC) or an array in the format output by + * localtime. + *

+ * @return string|false The formatted string or, if an error occurred, FALSE. + */ + public function format($value) { } + + /** + * (PHP 5 >= 5.5.0, PECL intl >= 3.0.0)
+ * Formats an object + * @link https://secure.php.net/manual/en/intldateformatter.formatobject.php + * @param object $object

+ * An object of type {@link "https://secure.php.net/manual/en/class.intlcalendar.php" IntlCalendar} or {@link "https://secure.php.net/manual/en/class.datetime.php" DateTime}. The timezone information in the object will be used. + *

+ * @param mixed $format [optional]

+ * How to format the date/time. This can either be an {@link "https://secure.php.net/manual/en/language.types.array.php" array} with + * two elements (first the date style, then the time style, these being one + * of the constants IntlDateFormatter::NONE, + * IntlDateFormatter::SHORT, + * IntlDateFormatter::MEDIUM, + * IntlDateFormatter::LONG, + * IntlDateFormatter::FULL), a long with + * the value of one of these constants (in which case it will be used both + * for the time and the date) or a {@link "https://secure.php.net/manual/en/language.types.string.php" string} with the format + * described in {@link "http://www.icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details" the ICU documentation}. + * If
NULL
, the default style will be used. + *

+ * @param string $locale [optional]

+ * The locale to use, or NULL to use the {@link "https://secure.php.net/manual/en/intl.configuration.php#ini.intl.default-locale"default one}.

+ * @return string|false A string with result or FALSE on failure. + */ + public static function formatObject($object, $format = null, $locale = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Parse string to a timestamp value + * @link https://php.net/manual/en/intldateformatter.parse.php + * @param string $value

+ * string to convert to a time + *

+ * @param int $position [optional]

+ * Position at which to start the parsing in $value (zero-based). + * If no error occurs before $value is consumed, $parse_pos will contain -1 + * otherwise it will contain the position at which parsing ended (and the error occurred). + * This variable will contain the end position if the parse fails. + * If $parse_pos > strlen($value), the parse fails immediately. + *

+ * @return int timestamp parsed value + */ + public function parse($value, &$position = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Parse string to a field-based time value + * @link https://php.net/manual/en/intldateformatter.localtime.php + * @param string $value

+ * string to convert to a time + *

+ * @param int $position [optional]

+ * Position at which to start the parsing in $value (zero-based). + * If no error occurs before $value is consumed, $parse_pos will contain -1 + * otherwise it will contain the position at which parsing ended . + * If $parse_pos > strlen($value), the parse fails immediately. + *

+ * @return array Localtime compatible array of integers : contains 24 hour clock value in tm_hour field + */ + public function localtime($value, &$position = null) { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the error code from last operation + * @link https://php.net/manual/en/intldateformatter.geterrorcode.php + * @return int The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR. + */ + public function getErrorCode() { } + + /** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the error text from the last operation. + * @link https://php.net/manual/en/intldateformatter.geterrormessage.php + * @return string Description of the last error. + */ + public function getErrorMessage() { } +} + +class ResourceBundle implements IteratorAggregate { + + /** + * @param $locale + * @param $bundlename + * @param $fallback [optional] + */ + public function __construct($locale, $bundlename, $fallback) { } + + /** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Create a resource bundle + * @link https://php.net/manual/en/resourcebundle.create.php + * @param string $locale

+ * Locale for which the resources should be loaded (locale name, e.g. en_CA). + *

+ * @param string $bundlename

+ * The directory where the data is stored or the name of the .dat file. + *

+ * @param bool $fallback [optional]

+ * Whether locale should match exactly or fallback to parent locale is allowed. + *

+ * @return ResourceBundle|false ResourceBundle object or FALSE on error. + */ + public static function create($locale, $bundlename, $fallback = null) { } + + /** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Get data from the bundle + * @link https://php.net/manual/en/resourcebundle.get.php + * @param string|int $index

+ * Data index, must be string or integer. + *

+ * @return mixed the data located at the index or NULL on error. Strings, integers and binary data strings + * are returned as corresponding PHP types, integer array is returned as PHP array. Complex types are + * returned as ResourceBundle object. + */ + public function get($index) { } + + /** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Get number of elements in the bundle + * @link https://php.net/manual/en/resourcebundle.count.php + * @return int number of elements in the bundle. + */ + public function count() { } + + /** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Get supported locales + * @link https://php.net/manual/en/resourcebundle.locales.php + * @param string $bundlename

+ * Path of ResourceBundle for which to get available locales, or + * empty string for default locales list. + *

+ * @return array the list of locales supported by the bundle. + */ + public static function getLocales($bundlename) { } + + /** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Get bundle's last error code. + * @link https://php.net/manual/en/resourcebundle.geterrorcode.php + * @return int error code from last bundle object call. + */ + public function getErrorCode() { } + + /** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Get bundle's last error message. + * @link https://php.net/manual/en/resourcebundle.geterrormessage.php + * @return string error message from last bundle object's call. + */ + public function getErrorMessage() { } + + /** + * @since 8.0 + */ + public function getIterator(){} +} + +/** + * @since 5.4 + */ +class Transliterator { + const FORWARD = 0; + const REVERSE = 1; + + public $id; + + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Private constructor to deny instantiation + * @link https://php.net/manual/en/transliterator.construct.php + */ + final private function __construct() { } + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Create a transliterator + * @link https://php.net/manual/en/transliterator.create.php + * @param string $id

+ * The id. + *

+ * @param int $direction [optional]

+ * The direction, defaults to + * >Transliterator::FORWARD. + * May also be set to + * Transliterator::REVERSE. + *

+ * @return Transliterator a Transliterator object on success, + * or NULL on failure. + */ + public static function create($id, $direction = null) { } + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Create transliterator from rules + * @link https://php.net/manual/en/transliterator.createfromrules.php + * @param string $rules

+ * The rules. + *

+ * @param string $direction [optional]

+ * The direction, defaults to + * >Transliterator::FORWARD. + * May also be set to + * Transliterator::REVERSE. + *

+ * @return Transliterator a Transliterator object on success, + * or NULL on failure. + */ + public static function createFromRules($rules, $direction = null) { } + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Create an inverse transliterator + * @link https://php.net/manual/en/transliterator.createinverse.php + * @return Transliterator a Transliterator object on success, + * or NULL on failure + */ + public function createInverse() { } + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Get transliterator IDs + * @link https://php.net/manual/en/transliterator.listids.php + * @return array An array of registered transliterator IDs on success, + * or FALSE on failure. + */ + public static function listIDs() { } + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Transliterate a string + * @link https://php.net/manual/en/transliterator.transliterate.php + * @param string $subject

+ * The string to be transformed. + *

+ * @param int $start [optional]

+ * The start index (in UTF-16 code units) from which the string will start + * to be transformed, inclusive. Indexing starts at 0. The text before will + * be left as is. + *

+ * @param int $end [optional]

+ * The end index (in UTF-16 code units) until which the string will be + * transformed, exclusive. Indexing starts at 0. The text after will be + * left as is. + *

+ * @return string|false The transfomed string on success, or FALSE on failure. + */ + public function transliterate($subject, $start = null, $end = null) { } + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Get last error code + * @link https://php.net/manual/en/transliterator.geterrorcode.php + * @return int The error code on success, + * or FALSE if none exists, or on failure. + */ + public function getErrorCode() { } + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Get last error message + * @link https://php.net/manual/en/transliterator.geterrormessage.php + * @return string The error code on success, + * or FALSE if none exists, or on failure. + */ + public function getErrorMessage() { } +} + +/** + * @link https://php.net/manual/en/class.spoofchecker.php + */ +class Spoofchecker { + const SINGLE_SCRIPT_CONFUSABLE = 1; + const MIXED_SCRIPT_CONFUSABLE = 2; + const WHOLE_SCRIPT_CONFUSABLE = 4; + const ANY_CASE = 8; + const SINGLE_SCRIPT = 16; + const INVISIBLE = 32; + const CHAR_LIMIT = 64; + + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Constructor + * @link https://php.net/manual/en/spoofchecker.construct.php + */ + public function __construct() { } + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Checks if a given text contains any suspicious characters + * @link https://php.net/manual/en/spoofchecker.issuspicious.php + * @param string $text

+ *

+ * @param string $error [optional]

+ *

+ * @return bool + */ + public function isSuspicious($text, &$error = null) { } + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Checks if a given text contains any confusable characters + * @link https://php.net/manual/en/spoofchecker.areconfusable.php + * @param string $s1

+ *

+ * @param string $s2

+ *

+ * @param string $error [optional]

+ *

+ * @return bool + */ + public function areConfusable($s1, $s2, &$error = null) { } + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Locales to use when running checks + * @link https://php.net/manual/en/spoofchecker.setallowedlocales.php + * @param string $locale_list

+ *

+ * @return void + */ + public function setAllowedLocales($locale_list) { } + + /** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Set the checks to run + * @link https://php.net/manual/en/spoofchecker.setchecks.php + * @param string $checks

+ *

+ * @return void + */ + public function setChecks($checks) { } +} + +/** + * @since 5.5 + */ +class IntlGregorianCalendar extends IntlCalendar { + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * @param mixed $timeZone + * @param string $locale + * @return IntlGregorianCalendar + */ + public static function createInstance($timeZone = null, $locale = null) { } + + /** + * @param double $change + * + */ + public function setGregorianChange($change) { } + + /** + * @return double $change + */ + public function getGregorianChange() { } + + /** + * @param int $year + * @return bool + */ + public function isLeapYear($year) { } +} + +/** + * @since 5.5 + */ +class IntlCalendar { + /* Constants */ + const FIELD_ERA = 0; + const FIELD_YEAR = 1; + const FIELD_MONTH = 2; + const FIELD_WEEK_OF_YEAR = 3; + const FIELD_WEEK_OF_MONTH = 4; + const FIELD_DATE = 5; + const FIELD_DAY_OF_YEAR = 6; + const FIELD_DAY_OF_WEEK = 7; + const FIELD_DAY_OF_WEEK_IN_MONTH = 8; + const FIELD_AM_PM = 9; + const FIELD_HOUR = 10; + const FIELD_HOUR_OF_DAY = 11; + const FIELD_MINUTE = 12; + const FIELD_SECOND = 13; + const FIELD_MILLISECOND = 14; + const FIELD_ZONE_OFFSET = 15; + const FIELD_DST_OFFSET = 16; + const FIELD_YEAR_WOY = 17; + const FIELD_DOW_LOCAL = 18; + const FIELD_EXTENDED_YEAR = 19; + const FIELD_JULIAN_DAY = 20; + const FIELD_MILLISECONDS_IN_DAY = 21; + const FIELD_IS_LEAP_MONTH = 22; + const FIELD_FIELD_COUNT = 23; + const FIELD_DAY_OF_MONTH = 5; + const DOW_SUNDAY = 1; + const DOW_MONDAY = 2; + const DOW_TUESDAY = 3; + const DOW_WEDNESDAY = 4; + const DOW_THURSDAY = 5; + const DOW_FRIDAY = 6; + const DOW_SATURDAY = 7; + const DOW_TYPE_WEEKDAY = 0; + const DOW_TYPE_WEEKEND = 1; + const DOW_TYPE_WEEKEND_OFFSET = 2; + const DOW_TYPE_WEEKEND_CEASE = 3; + const WALLTIME_FIRST = 1; + const WALLTIME_LAST = 0; + const WALLTIME_NEXT_VALID = 2; + + /* Methods */ + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Add a (signed) amount of time to a field + * @link https://secure.php.net/manual/en/intlcalendar.add.php + * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. + * These are integer values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @param int $amount

The signed amount to add to the current field. If the amount is positive, the instant will be moved forward; if it is negative, the instant wil be moved into the past. The unit is implicit to the field type. + * For instance, hours for IntlCalendar::FIELD_HOUR_OF_DAY.

+ * @return bool Returns TRUE on success or FALSE on failure. + */ + public function add($field, $amount) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether this object's time is after that of the passed object + * https://secure.php.net/manual/en/intlcalendar.after.php + * @param IntlCalendar $calendar

The calendar whose time will be checked against this object's time.

+ * @return bool + * Returns TRUE if this object's current time is after that of the + * calendar argument's time. Returns FALSE otherwise. + * Also returns FALSE on failure. You can use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or + * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to detect error conditions. + */ + public function after(IntlCalendar $calendar) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether this object's time is before that of the passed object + * @link https://secure.php.net/manual/en/intlcalendar.before.php + * @param IntlCalendar $calendar

The calendar whose time will be checked against this object's time.

+ * @return bool + * Returns TRUE if this object's current time is before that of the + * calendar argument's time. Returns FALSE otherwise. + * Also returns FALSE on failure. You can use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or + * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to detect error conditions. + *

+ */ + public function before(IntlCalendar $calendar) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Clear a field or all fields + * @link https://secure.php.net/manual/en/intlcalendar.clear.php + * @param int $field [optional]

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return bool Returns TRUE on success or FALSE on failure. Failure can only occur is invalid arguments are provided. + */ + public function clear($field = null) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Private constructor for disallowing instantiation + * @link https://secure.php.net/manual/en/intlcalendar.construct.php + * + */ + private function __construct() { } + + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Create a new IntlCalendar + * @link https://secure.php.net/manual/en/intlcalendar.createinstance.php + * @param mixed $timeZone [optional]

+ * The timezone to use. + *

+ * + *
    + *
  • + *

    + * NULL, in which case the default timezone will be used, as specified in + * the ini setting {@link https://secure.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone} or + * through the function {@link https://secure.php.net/manual/en/function.date-default-timezone-set.php date_default_timezone_set()} and as + * returned by {@link https://secure.php.net/manual/en/function.date-default-timezone-get.php date_default_timezone_get()}. + *

    + *
  • + *
  • + *

    + * An {@link https://secure.php.net/manual/en/class.intltimezone.php IntlTimeZone}, which will be used directly. + *

    + *
  • + *
  • + *

    + * A {@link https://secure.php.net/manual/en/class.datetimezone.php DateTimeZone}. Its identifier will be extracted + * and an ICU timezone object will be created; the timezone will be backed + * by ICU's database, not PHP's. + *

    + *
  • + *
  • + *

    + * A {@link https://secure.php.net/manual/en/language.types.string.php string}, which should be a valid ICU timezone identifier. + * See IntlTimeZone::createTimeZoneIDEnumeration(). Raw + * offsets such as "GMT+08:30" are also accepted. + *

    + *
  • + *
+ *

+ * @param string $locale [optional]

+ * A locale to use or NULL to use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.default-locale the default locale}. + *

+ * @return IntlCalendar + * The created {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} instance or NULL on + * failure. + */ + public static function createInstance($timeZone = null, $locale = null) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Compare time of two IntlCalendar objects for equality + * @link https://secure.php.net/manual/en/intlcalendar.equals.php + * @param IntlCalendar $calendar + * @return bool

+ * Returns TRUE if the current time of both this and the passed in + * {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} object are the same, or FALSE + * otherwise. The value FALSE can also be returned on failure. This can only + * happen if bad arguments are passed in. In any case, the two cases can be + * distinguished by calling {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()}. + *

+ */ + public function equals($calendar) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Calculate difference between given time and this object's time + * @link https://secure.php.net/manual/en/intlcalendar.fielddifference.php + * @param float $when

+ * The time against which to compare the quantity represented by the + * field. For the result to be positive, the time + * given for this parameter must be ahead of the time of the object the + * method is being invoked on. + *

+ * @param int $field

+ * The field that represents the quantity being compared. + *

+ * + *

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return int Returns a (signed) difference of time in the unit associated with the + * specified field or FALSE on failure. + * + */ + public function fieldDifference($when, $field) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a2)
+ * Create an IntlCalendar from a DateTime object or string + * @link https://secure.php.net/manual/en/intlcalendar.fromdatetime.php + * @param mixed $dateTime

+ * A {@link https://secure.php.net/manual/en/class.datetime.php DateTime} object or a {@link https://secure.php.net/manual/en/language.types.string.php string} that + * can be passed to {@link https://secure.php.net/manual/en/datetime.construct.php DateTime::__construct()}. + *

+ * @return IntlCalendar + * The created {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} object or NULL in case of + * failure. If a {@link https://secure.php.net/manual/en/language.types.string.php string} is passed, any exception that occurs + * inside the {@link https://secure.php.net/manual/en/class.datetime.php DateTime} constructor is propagated. + */ + public static function fromDateTime($dateTime) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the value for a field + * @link https://secure.php.net/manual/en/intlcalendar.get.php + * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return int An integer with the value of the time field. + */ + public function get($field) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * The maximum value for a field, considering the object's current time + * @link https://secure.php.net/manual/en/intlcalendar.getactualmaximum.php + * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return int + * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing the maximum value in the units associated + * with the given field or FALSE on failure. + */ + public function getActualMaximum($field) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * The minimum value for a field, considering the object's current time + * @link https://secure.php.net/manual/en/intlcalendar.getactualminimum.php + * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. + * These are integer values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return int + * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing the minimum value in the field's + * unit or FALSE on failure. + */ + public function getActualMinimum($field) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get array of locales for which there is data + * @link https://secure.php.net/manual/en/intlcalendar.getavailablelocales.php + * @return array An array of strings, one for which locale. + */ + + public static function getAvailableLocales() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Tell whether a day is a weekday, weekend or a day that has a transition between the two + * @param int $dayOfWeek

+ * One of the constants IntlCalendar::DOW_SUNDAY, + * IntlCalendar::DOW_MONDAY, ..., + * IntlCalendar::DOW_SATURDAY. + *

+ * @return int + * Returns one of the constants + * IntlCalendar::DOW_TYPE_WEEKDAY, + * IntlCalendar::DOW_TYPE_WEEKEND, + * IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or + * IntlCalendar::DOW_TYPE_WEEKEND_CEASE or FALSE on failure. + * + */ + public function getDayOfWeekType($dayOfWeek) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get last error code on the object + * @link https://secure.php.net/manual/en/intlcalendar.geterrorcode.php + * @return int An ICU error code indicating either success, failure or a warning. + * + */ + public function getErrorCode() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get last error message on the object + * @link https://secure.php.net/manual/en/intlcalendar.geterrormessage.php + * @return string The error message associated with last error that occurred in a function call on this object, or a string indicating the non-existance of an error. + */ + public function getErrorMessage() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the first day of the week for the calendar's locale + * @link https://secure.php.net/manual/en/intlcalendar.getfirstdayofweek.php + * @return int + * One of the constants IntlCalendar::DOW_SUNDAY, + * IntlCalendar::DOW_MONDAY, ..., + * IntlCalendar::DOW_SATURDAY or FALSE on failure. + * + */ + public function getFirstDayOfWeek() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the largest local minimum value for a field + * @link https://secure.php.net/manual/en/intlcalendar.getgreatestminimum.php + * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + * @return int + * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing a field value, in the field's + * unit, or FALSE on failure. + */ + public function getGreatestMinimum($field) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get set of locale keyword values + * @param string $key

+ * The locale keyword for which relevant values are to be queried. Only + * 'calendar' is supported. + *

+ * @param string $locale

+ * The locale onto which the keyword/value pair are to be appended. + *

+ * @param bool $commonlyUsed + *

+ * Whether to show only the values commonly used for the specified locale. + *

+ * @return Iterator|false An iterator that yields strings with the locale keyword values or FALSE on failure. + */ + public static function getKeywordValuesForLocale($key, $locale, $commonlyUsed) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the smallest local maximum for a field + * @link https://secure.php.net/manual/en/intlcalendar.getleastmaximum.php + * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return int + * An {@link https://secure.php.net/manual/en/language.types.integer.ph int} representing a field value in the field's + * unit or FALSE on failure. + *

+ */ + public function getLeastMaximum($field) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the locale associated with the object + * @link https://secure.php.net/manual/en/intlcalendar.getlocale.php + * @param int $localeType

+ * Whether to fetch the actual locale (the locale from which the calendar + * data originates, with Locale::ACTUAL_LOCALE) or the + * valid locale, i.e., the most specific locale supported by ICU relatively + * to the requested locale – see Locale::VALID_LOCALE. + * From the most general to the most specific, the locales are ordered in + * this fashion – actual locale, valid locale, requested locale. + *

+ * @return string + * A locale string or FALSE on failure. + * + */ + public function getLocale($localeType) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the global maximum value for a field + * @link https://secure.php.net/manual/en/intlcalendar.getmaximum.php + * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return string + * A locale string or FALSE on failure. + */ + public function getMaximum($field) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get minimal number of days the first week in a year or month can have + * @link https://secure.php.net/manual/en/intlcalendar.getminimaldaysinfirstweek.php + * @return int + * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing a number of days or FALSE on failure. + */ + public function getMinimalDaysInFirstWeek() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the global minimum value for a field + * @link https://secure.php.net/manual/en/intlcalendar.getminimum.php + * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return int + * An int representing a value for the given field in the field's unit or FALSE on failure. + */ + public function getMinimum($field) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get number representing the current time + * @return float A float representing a number of milliseconds since the epoch, not counting leap seconds. + */ + public static function getNow() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get behavior for handling repeating wall time + * @link https://secure.php.net/manual/en/intlcalendar.getrepeatedwalltimeoption.php + * @return int + * One of the constants IntlCalendar::WALLTIME_FIRST or + * IntlCalendar::WALLTIME_LAST. + * + */ + public function getRepeatedWallTimeOption() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get behavior for handling skipped wall time + * @link https://secure.php.net/manual/en/intlcalendar.getskippedwalltimeoption.php + * @return int + * One of the constants IntlCalendar::WALLTIME_FIRST, + * IntlCalendar::WALLTIME_LAST or + * IntlCalendar::WALLTIME_NEXT_VALID. + */ + public function getSkippedWallTimeOption() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get time currently represented by the object + * @return float + * A {@link https://secure.php.net/manual/en/language.types.float.php float} representing the number of milliseconds elapsed since the + * reference time (1 Jan 1970 00:00:00 UTC). + */ + public function getTime() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the object's timezone + * @link https://secure.php.net/manual/en/intlcalendar.gettimezone.php + * @return IntlTimeZone + * An {@link https://secure.php.net/manual/en/class.intltimezone.php IntlTimeZone} object corresponding to the one used + * internally in this object. + */ + public function getTimeZone() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the calendar type + * @link https://secure.php.net/manual/en/intlcalendar.gettype.php + * @return string + * A {@link https://secure.php.net/manual/en/language.types.string.php string} representing the calendar type, such as + * 'gregorian', 'islamic', etc. + */ + public function getType() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get time of the day at which weekend begins or ends + * @link https://secure.php.net/manual/en/intlcalendar.getweekendtransition.php + * @param string $dayOfWeek

+ * One of the constants IntlCalendar::DOW_SUNDAY, + * IntlCalendar::DOW_MONDAY, ..., + * IntlCalendar::DOW_SATURDAY. + *

+ * @return int + * The number of milliseconds into the day at which the the weekend begins or + * ends or FALSE on failure. + */ + public function getWeekendTransition($dayOfWeek) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether the object's time is in Daylight Savings Time + * @link https://secure.php.net/manual/en/intlcalendar.indaylighttime.php + * @return bool + * Returns TRUE if the date is in Daylight Savings Time, FALSE otherwise. + * The value FALSE may also be returned on failure, for instance after + * specifying invalid field values on non-lenient mode; use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or query + * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to disambiguate. + */ + public function inDaylightTime() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether another calendar is equal but for a different time + * @link https://secure.php.net/manual/en/intlcalendar.isequivalentto.php + * @param IntlCalendar $calendar The other calendar against which the comparison is to be made. + * @return bool + * Assuming there are no argument errors, returns TRUE iif the calendars are equivalent except possibly for their set time. + */ + public function isEquivalentTo(IntlCalendar $calendar) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether date/time interpretation is in lenient mode + * @link https://secure.php.net/manual/en/intlcalendar.islenient.php + * @return bool + * A {@link https://secure.php.net/manual/en/language.types.boolean.php bool} representing whether the calendar is set to lenient mode. + */ + public function isLenient() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether a certain date/time is in the weekend + * @link https://secure.php.net/manual/en/intlcalendar.isweekend.php + * @param float|null $date [optional]

+ * An optional timestamp representing the number of milliseconds since the + * epoch, excluding leap seconds. If NULL, this object's current time is + * used instead. + *

+ * @return bool + *

A {@link https://secure.php.net/manual/en/language.types.boolean.php bool} indicating whether the given or this object's time occurs + * in a weekend. + *

+ *

+ * The value FALSE may also be returned on failure, for instance after giving + * a date out of bounds on non-lenient mode; use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or query + * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to disambiguate.

+ */ + public function isWeekend($date = null) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Add value to field without carrying into more significant fields + * @link https://secure.php.net/manual/en/intlcalendar.roll.php + * @param int $field + *

One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time + * {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @param mixed $amountOrUpOrDown

+ * The (signed) amount to add to the field, TRUE for rolling up (adding + * 1), or FALSE for rolling down (subtracting + * 1). + *

+ * @return bool Returns TRUE on success or FALSE on failure. + */ + public function roll($field, $amountOrUpOrDown) { } + + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether a field is set + * @link https://secure.php.net/manual/en/intlcalendar.isset.php + * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time + * {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. + * These are integer values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return bool Assuming there are no argument errors, returns TRUE iif the field is set. + */ + public function PS_UNRESERVE_PREFIX_isSet($field) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set a time field or several common fields at once + * @link https://secure.php.net/manual/en/intlcalendar.set.php + * @param int $year

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @param int $month

+ * The new value for IntlCalendar::FIELD_MONTH. + *

+ * @param int $dayOfMonth [optional]

+ * The new value for IntlCalendar::FIELD_DAY_OF_MONTH. + * The month sequence is zero-based, i.e., January is represented by 0, + * February by 1, ..., December is 11 and Undecember (if the calendar has + * it) is 12. + *

+ * @param int $hour [optional] + *

+ * The new value for IntlCalendar::FIELD_HOUR_OF_DAY. + *

+ * @param int $minute [optional] + *

+ * The new value for IntlCalendar::FIELD_MINUTE. + *

+ * @param int $second [optional]

+ * The new value for IntlCalendar::FIELD_SECOND. + *

+ * @return bool Returns TRUE on success and FALSE on failure. + */ + public function set($year, $month, $dayOfMonth = null, $hour = null, $minute = null, $second = null) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set a time field or several common fields at once + * @link https://secure.php.net/manual/en/intlcalendar.set.php + * @param int $field One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT. + * @param int $value The new value of the given field. + * @return bool Returns TRUE on success and FALSE on failure. + * @since 5.5 + */ + public function set($field, $value) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set the day on which the week is deemed to start + * @link https://secure.php.net/manual/en/intlcalendar.setfirstdayofweek.php + * @param int $dayOfWeek

+ * One of the constants IntlCalendar::DOW_SUNDAY, + * IntlCalendar::DOW_MONDAY, ..., + * IntlCalendar::DOW_SATURDAY. + *

+ * @return bool Returns TRUE on success. Failure can only happen due to invalid parameters. + */ + public function setFirstDayOfWeek($dayOfWeek) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set whether date/time interpretation is to be lenient + * @link https://secure.php.net/manual/en/intlcalendar.setlenient.php + * @param string $isLenient

+ * Use TRUE to activate the lenient mode; FALSE otherwise. + *

+ * @return bool Returns TRUE on success. Failure can only happen due to invalid parameters. + */ + public function setLenient($isLenient) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set behavior for handling repeating wall times at negative timezone offset transitions + * @link https://secure.php.net/manual/en/intlcalendar.setrepeatedwalltimeoption.php + * @param int $wallTimeOption

+ * One of the constants IntlCalendar::WALLTIME_FIRST or + * IntlCalendar::WALLTIME_LAST. + *

+ * @return bool + * Returns TRUE on success. Failure can only happen due to invalid parameters. + * + */ + public function setRepeatedWallTimeOption($wallTimeOption) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set behavior for handling skipped wall times at positive timezone offset transitions + * @link https://secure.php.net/manual/en/intlcalendar.setskippedwalltimeoption.php + * @param int $wallTimeOption

+ * One of the constants IntlCalendar::WALLTIME_FIRST, + * IntlCalendar::WALLTIME_LAST or + * IntlCalendar::WALLTIME_NEXT_VALID. + *

+ * @return bool + *

+ * Returns TRUE on success. Failure can only happen due to invalid parameters. + *

+ */ + public function setSkippedWallTimeOption($wallTimeOption) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set the calendar time in milliseconds since the epoch + * @link https://secure.php.net/manual/en/intlcalendar.settime.php + * @param float $date

+ * An instant represented by the number of number of milliseconds between + * such instant and the epoch, ignoring leap seconds. + *

+ * @return bool + * Returns TRUE on success and FALSE on failure. + */ + public function setTime($date) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set the timezone used by this calendar + * @link https://secure.php.net/manual/en/intlcalendar.settimezone.php + * @param mixed $timeZone

+ * The new timezone to be used by this calendar. It can be specified in the + * following ways: + * + *

    + *
  • + *

    + * NULL, in which case the default timezone will be used, as specified in + * the ini setting {@link https://secure.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone} or + * through the function {@link https://secure.php.net/manual/en/function.date-default-timezone-set.php date_default_timezone_set()} and as + * returned by {@link https://secure.php.net/manual/en/function.date-default-timezone-get.php date_default_timezone_get()}. + *

    + *
  • + *
  • + *

    + * An {@link https://secure.php.net/manual/en/class.intltimezone.php IntlTimeZone}, which will be used directly. + *

    + *
  • + *
  • + *

    + * A {@link https://secure.php.net/manual/en/class.datetimezone.php DateTimeZone}. Its identifier will be extracted + * and an ICU timezone object will be created; the timezone will be backed + * by ICU's database, not PHP's. + *

    + *
  • + *
  • + *

    + * A {@link https://secure.php.net/manual/en/language.types.string.php string}, which should be a valid ICU timezone identifier. + * See b>IntlTimeZone::createTimeZoneIDEnumeration(). Raw + * offsets such as "GMT+08:30" are also accepted. + *

    + *
  • + *
+ * @return bool Returns TRUE on success and FALSE on failure. + */ + public function setTimeZone($timeZone) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a2)
+ * Convert an IntlCalendar into a DateTime object + * @link https://secure.php.net/manual/en/intlcalendar.todatetime.php + * @return DateTime|false + * A {@link https://secure.php.net/manual/en/class.datetime.php DateTime} object with the same timezone as this + * object (though using PHP's database instead of ICU's) and the same time, + * except for the smaller precision (second precision instead of millisecond). + * Returns FALSE on failure. + */ + public function toDateTime() { } +} + +/** + * @since 5.5 + */ +class IntlIterator implements Iterator { + + public function current() { } + + public function key() { } + + public function next() { } + + public function rewind() { } + + public function valid() { } +} + +/** + * @since 5.5 + */ +class IntlException extends Exception { + +} + +/** + * @since 5.5 + */ +class IntlTimeZone { + /* Constants */ + const DISPLAY_SHORT = 1; + const DISPLAY_LONG = 2; + + /* Methods */ + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the number of IDs in the equivalency group that includes the given ID + * @link https://secure.php.net/manual/en/intltimezone.countequivalentids.php + * @param string $zoneId + * @return int|false number of IDs or FALSE on failure + */ + public static function countEquivalentIDs($zoneId) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Create a new copy of the default timezone for this host + * @link https://secure.php.net/manual/en/intltimezone.createdefault.php + * @return IntlTimeZone + */ + public static function createDefault() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get an enumeration over time zone IDs associated with the given country or offset + * @link https://secure.php.net/manual/en/intltimezone.createenumeration.php + * @param mixed $countryOrRawOffset [optional] + * @return IntlIterator|false an iterator or FALSE on failure + */ + public static function createEnumeration($countryOrRawOffset) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Create a timezone object for the given ID + * @link https://secure.php.net/manual/en/intltimezone.createtimezone.php + * @param string $zoneId + * @return IntlTimeZone|null a timezone object or NULL on failure + */ + public static function createTimeZone($zoneId) { } + + /** + * (PHP 5 >=5.5.0)
+ * Get an enumeration over system time zone IDs with the given filter conditions + * @link https://secure.php.net/manual/en/intltimezone.createtimezoneidenumeration.php + * @param int $zoneType + * @param string|null $region [optional] + * @param int $rawOffset [optional] + * @return IntlIterator|false an iterator or FALSE on failure + */ + public static function createTimeZoneIDEnumeration($zoneType, $region = null, $rawOffset = 0) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Create a timezone object from DateTimeZone + * @link https://secure.php.net/manual/en/intltimezone.fromdatetimezone.php + * @param DateTimeZone $zoneId + * @return IntlTimeZone|null a timezone object or NULL on failure + */ + public static function fromDateTimeZone($zoneId) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID + * @link https://secure.php.net/manual/en/intltimezone.getcanonicalid.php + * @param string $zoneId + * @param bool $isSystemID [optional] + * @return string|false the timezone ID or FALSE on failure + */ + public static function getCanonicalID($zoneId, &$isSystemID) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get a name of this time zone suitable for presentation to the user + * @param bool $isDaylight [optional] + * @param int $style [optional] + * @param string $locale [optional] + * @return string|false the timezone name or FALSE on failure + */ + public function getDisplayName($isDaylight, $style, $locale) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the amount of time to be added to local standard time to get local wall clock time + * @link https://secure.php.net/manual/en/intltimezone.getequivalentid.php + * @return int + */ + public function getDSTSavings() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get an ID in the equivalency group that includes the given ID + * @link https://secure.php.net/manual/en/intltimezone.getequivalentid.php + * @param string $zoneId + * @param int $index + * @return string|false the time zone ID or FALSE on failure + */ + public static function getEquivalentID($zoneId, $index) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get last error code on the object + * @link https://secure.php.net/manual/en/intltimezone.geterrorcode.php + * @return int + */ + public function getErrorCode() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get last error message on the object + * @link https://secure.php.net/manual/en/intltimezone.geterrormessage.php + * @return string + */ + public function getErrorMessage() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Create GMT (UTC) timezone + * @link https://secure.php.net/manual/en/intltimezone.getgmt.php + * @return IntlTimeZone + */ + public static function getGMT() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get timezone ID + * @return string + */ + public function getID() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the time zone raw and GMT offset for the given moment in time + * @link https://secure.php.net/manual/en/intltimezone.getoffset.php + * @param float $date + * moment in time for which to return offsets, in units of milliseconds from + * January 1, 1970 0:00 GMT, either GMT time or local wall time, depending on + * `local'. + * @param bool $local + * if true, `date' is local wall time; otherwise it is in GMT time. + * @param int &$rawOffset + * output parameter to receive the raw offset, that is, the offset not + * including DST adjustments + * @param int &$dstOffset + * output parameter to receive the DST offset, that is, the offset to be added + * to `rawOffset' to obtain the total offset between local and GMT time. If + * DST is not in effect, this value is zero; otherwise it is a positive value, + * typically one hour. + * @return bool boolean indication of success + */ + public function getOffset($date, $local, &$rawOffset, &$dstOffset) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the raw GMT offset (before taking daylight savings time into account + * @link https://secure.php.net/manual/en/intltimezone.getrawoffset.php + * @return int + */ + public function getRawOffset() { } + + /** + * (PHP 5 >=5.5.0)
+ * Get the region code associated with the given system time zone ID + * @link https://secure.php.net/manual/en/intltimezone.getregion.php + * @param string $zoneId + * @return string|false region or FALSE on failure + */ + public static function getRegion($zoneId) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the timezone data version currently used by ICU + * @link https://secure.php.net/manual/en/intltimezone.gettzdataversion.php + * @return string + */ + public static function getTZDataVersion() { } + + /** + * (PHP 5 >=5.5.0)
+ * Get the "unknown" time zone + * @link https://secure.php.net/manual/en/intltimezone.getunknown.php + * @return IntlTimeZone + */ + public static function getUnknown() { } + + /** + * (PHP 7 >=7.1.0)
+ * Translates a system timezone (e.g. "America/Los_Angeles") into a Windows + * timezone (e.g. "Pacific Standard Time"). + * @link https://secure.php.net/manual/en/intltimezone.getwindowsid.php + * @param string $timezone + * @return string|false the Windows timezone or FALSE on failure + * @since 7.1 + */ + public static function getWindowsID($timezone) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Check if this zone has the same rules and offset as another zone + * @link https://secure.php.net/manual/en/intltimezone.hassamerules.php + * @param IntlTimeZone $otherTimeZone + * @return bool + */ + public function hasSameRules(IntlTimeZone $otherTimeZone) { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Convert to DateTimeZone object + * @link https://secure.php.net/manual/ru/intltimezone.todatetimezone.php + * @return DateTimeZone|false the DateTimeZone object or FALSE on failure + */ + public function toDateTimeZone() { } + + /** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Check if this time zone uses daylight savings time + * @link https://secure.php.net/manual/ru/intltimezone.usedaylighttime.php + * @return bool + */ + public function useDaylightTime() { } +} + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Create a collator + * @link https://php.net/manual/en/collator.create.php + * @param string $locale

+ * The locale containing the required collation rules. Special values for + * locales can be passed in - if null is passed for the locale, the + * default locale collation rules will be used. If empty string ("") or + * "root" are passed, UCA rules will be used. + *

+ * @return Collator Return new instance of Collator object, or NULL + * on error. + */ +function collator_create($locale) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Compare two Unicode strings + * @link https://php.net/manual/en/collator.compare.php + * @param Collator $object + * @param string $str1

+ * The first string to compare. + *

+ * @param string $str2

+ * The second string to compare. + *

+ * @return int Return comparison result:

+ *

+ *

+ * 1 if str1 is greater than + * str2 ; + *

+ *

+ * 0 if str1 is equal to + * str2; + *

+ *

+ * -1 if str1 is less than + * str2 . + *

+ * On error + * boolean + * FALSE + * is returned. + */ +function collator_compare(Collator $object, $str1, $str2) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get collation attribute value + * @link https://php.net/manual/en/collator.getattribute.php + * @param Collator $object + * @param int $attr

+ * Attribute to get value for. + *

+ * @return int|false Attribute value, or boolean FALSE on error. + */ +function collator_get_attribute(Collator $object, $attr) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set collation attribute + * @link https://php.net/manual/en/collator.setattribute.php + * @param Collator $object + * @param int $attr

Attribute.

+ * @param int $val

+ * Attribute value. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function collator_set_attribute(Collator $object, $attr, $val) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get current collation strength + * @link https://php.net/manual/en/collator.getstrength.php + * @param Collator $object + * @return int|false current collation strength, or boolean FALSE on error. + */ +function collator_get_strength(Collator $object) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set collation strength + * @link https://php.net/manual/en/collator.setstrength.php + * @param Collator $object + * @param int $strength

Strength to set.

+ *

+ * Possible values are: + *

+ * Collator::PRIMARY + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function collator_set_strength(Collator $object, $strength) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Sort array using specified collator + * @link https://php.net/manual/en/collator.sort.php + * @param Collator $object + * @param array $arr

+ * Array of strings to sort. + *

+ * @param int $sort_flag [optional]

+ * Optional sorting type, one of the following: + *

+ *

+ *

+ * Collator::SORT_REGULAR + * - compare items normally (don't change types) + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function collator_sort(Collator $object, array &$arr, $sort_flag = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Sort array using specified collator and sort keys + * @link https://php.net/manual/en/collator.sortwithsortkeys.php + * @param Collator $object + * @param array $arr

Array of strings to sort

+ * @return bool TRUE on success or FALSE on failure. + */ +function collator_sort_with_sort_keys(Collator $object, array &$arr) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Sort array maintaining index association + * @link https://php.net/manual/en/collator.asort.php + * @param Collator $object + * @param array $arr

Array of strings to sort.

+ * @param int $sort_flag [optional]

+ * Optional sorting type, one of the following: + *

+ * Collator::SORT_REGULAR + * - compare items normally (don't change types) + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function collator_asort(Collator $object, array &$arr, $sort_flag = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the locale name of the collator + * @link https://php.net/manual/en/collator.getlocale.php + * @param Collator $object + * @param int $type [optional]

+ * You can choose between valid and actual locale ( + * Locale::VALID_LOCALE and + * Locale::ACTUAL_LOCALE, + * respectively). The default is the actual locale. + *

+ * @return string Real locale name from which the collation data comes. If the collator was + * instantiated from rules or an error occurred, returns + * boolean FALSE. + */ +function collator_get_locale(Collator $object, $type = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get collator's last error code + * @link https://php.net/manual/en/collator.geterrorcode.php + * @param Collator $object + * @return int Error code returned by the last Collator API function call. + */ +function collator_get_error_code(Collator $object) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get text for collator's last error code + * @link https://php.net/manual/en/collator.geterrormessage.php + * @param Collator $object + * @return string Description of an error occurred in the last Collator API function call. + */ +function collator_get_error_message(Collator $object) { } + +/** + * (No version information available, might only be in SVN)
+ * Get sorting key for a string + * @link https://php.net/manual/en/collator.getsortkey.php + * @param Collator $object + * @param string $str

+ * The string to produce the key from. + *

+ * @return string the collation key for the string. Collation keys can be compared directly instead of strings. + */ +function collator_get_sort_key(Collator $object, $str) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Create a number formatter + * @link https://php.net/manual/en/numberformatter.create.php + * @param string $locale

+ * Locale in which the number would be formatted (locale name, e.g. en_CA). + *

+ * @param int $style

+ * Style of the formatting, one of the + * format style constants. If + * NumberFormatter::PATTERN_DECIMAL + * or NumberFormatter::PATTERN_RULEBASED + * is passed then the number format is opened using the given pattern, + * which must conform to the syntax described in + * ICU DecimalFormat + * documentation or + * ICU RuleBasedNumberFormat + * documentation, respectively. + *

+ * @param string $pattern [optional]

+ * Pattern string if the chosen style requires a pattern. + *

+ * @return NumberFormatter|false NumberFormatter object or FALSE on error. + */ +function numfmt_create($locale, $style, $pattern = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Format a number + * @link https://php.net/manual/en/numberformatter.format.php + * @param NumberFormatter $fmt + * @param int|float $value

+ * The value to format. Can be integer or float, + * other values will be converted to a numeric value. + *

+ * @param int $type [optional]

+ * The + * formatting type to use. + *

+ * @return string|false the string containing formatted value, or FALSE on error. + */ +function numfmt_format(NumberFormatter $fmt, $value, $type = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Parse a number + * @link https://php.net/manual/en/numberformatter.parse.php + * @param NumberFormatter $fmt + * @param string $value + * @param int $type [optional]

+ * The + * formatting type to use. By default, + * NumberFormatter::TYPE_DOUBLE is used. + *

+ * @param int $position [optional]

+ * Offset in the string at which to begin parsing. On return, this value + * will hold the offset at which parsing ended. + *

+ * @return mixed The value of the parsed number or FALSE on error. + */ +function numfmt_parse(NumberFormatter $fmt, $value, $type = null, &$position = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Format a currency value + * @link https://php.net/manual/en/numberformatter.formatcurrency.php + * @param NumberFormatter $fmt + * @param float $value

+ * The numeric currency value. + *

+ * @param string $currency

+ * The 3-letter ISO 4217 currency code indicating the currency to use. + *

+ * @return string String representing the formatted currency value. + */ +function numfmt_format_currency(NumberFormatter $fmt, $value, $currency) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Parse a currency number + * @link https://php.net/manual/en/numberformatter.parsecurrency.php + * @param NumberFormatter $fmt + * @param string $value + * @param string $currency

+ * Parameter to receive the currency name (3-letter ISO 4217 currency + * code). + *

+ * @param int $position [optional]

+ * Offset in the string at which to begin parsing. On return, this value + * will hold the offset at which parsing ended. + *

+ * @return float|false The parsed numeric value or FALSE on error. + */ +function numfmt_parse_currency(NumberFormatter $fmt, $value, &$currency, &$position = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set an attribute + * @link https://php.net/manual/en/numberformatter.setattribute.php + * @param NumberFormatter $fmt + * @param int $attr

+ * Attribute specifier - one of the + * numeric attribute constants. + *

+ * @param int $value

+ * The attribute value. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function numfmt_set_attribute(NumberFormatter $fmt, $attr, $value) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get an attribute + * @link https://php.net/manual/en/numberformatter.getattribute.php + * @param NumberFormatter $fmt + * @param int $attr

+ * Attribute specifier - one of the + * numeric attribute constants. + *

+ * @return int|false Return attribute value on success, or FALSE on error. + */ +function numfmt_get_attribute(NumberFormatter $fmt, $attr) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set a text attribute + * @link https://php.net/manual/en/numberformatter.settextattribute.php + * @param NumberFormatter $fmt + * @param int $attr

+ * Attribute specifier - one of the + * text attribute + * constants. + *

+ * @param string $value

+ * Text for the attribute value. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function numfmt_set_text_attribute(NumberFormatter $fmt, $attr, $value) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get a text attribute + * @link https://php.net/manual/en/numberformatter.gettextattribute.php + * @param NumberFormatter $fmt + * @param int $attr

+ * Attribute specifier - one of the + * text attribute constants. + *

+ * @return string|false Return attribute value on success, or FALSE on error. + */ +function numfmt_get_text_attribute(NumberFormatter $fmt, $attr) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set a symbol value + * @link https://php.net/manual/en/numberformatter.setsymbol.php + * @param NumberFormatter $fmt + * @param int $attr

+ * Symbol specifier, one of the + * format symbol constants. + *

+ * @param string $value

+ * Text for the symbol. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function numfmt_set_symbol(NumberFormatter $fmt, $attr, $value) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get a symbol value + * @link https://php.net/manual/en/numberformatter.getsymbol.php + * @param NumberFormatter $fmt + * @param int $attr

+ * Symbol specifier, one of the + * format symbol constants. + *

+ * @return string|false The symbol string or FALSE on error. + */ +function numfmt_get_symbol(NumberFormatter $fmt, $attr) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set formatter pattern + * @link https://php.net/manual/en/numberformatter.setpattern.php + * @param NumberFormatter $fmt + * @param string $pattern

+ * Pattern in syntax described in + * ICU DecimalFormat + * documentation. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function numfmt_set_pattern(NumberFormatter $fmt, $pattern) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get formatter pattern + * @link https://php.net/manual/en/numberformatter.getpattern.php + * @param NumberFormatter $fmt + * @param $nf + * @return string|false Pattern string that is used by the formatter, or FALSE if an error happens. + */ +function numfmt_get_pattern(NumberFormatter $fmt, $nf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get formatter locale + * @link https://php.net/manual/en/numberformatter.getlocale.php + * @param NumberFormatter $fmt + * @param int $type [optional]

+ * You can choose between valid and actual locale ( + * Locale::VALID_LOCALE, + * Locale::ACTUAL_LOCALE, + * respectively). The default is the actual locale. + *

+ * @return string The locale name used to create the formatter. + */ +function numfmt_get_locale(NumberFormatter $fmt, $type = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get formatter's last error code. + * @link https://php.net/manual/en/numberformatter.geterrorcode.php + * @param NumberFormatter $fmt + * @param $nf + * @return int error code from last formatter call. + */ +function numfmt_get_error_code(NumberFormatter $fmt, $nf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get formatter's last error message. + * @link https://php.net/manual/en/numberformatter.geterrormessage.php + * @param NumberFormatter $fmt + * @param $nf + * @return string error message from last formatter call. + */ +function numfmt_get_error_message(NumberFormatter $fmt, $nf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Normalizes the input provided and returns the normalized string + * @link https://php.net/manual/en/normalizer.normalize.php + * @param string $input

The input string to normalize

+ * @param string $form [optional]

One of the normalization forms.

+ * @return string The normalized string or NULL if an error occurred. + */ +function normalizer_normalize($input, $form = Normalizer::FORM_C) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Checks if the provided string is already in the specified normalization +form. + * @link https://php.net/manual/en/normalizer.isnormalized.php + * @param string $input

The input string to normalize

+ * @param string $form [optional]

+ * One of the normalization forms. + *

+ * @return bool TRUE if normalized, FALSE otherwise or if there an error + */ +function normalizer_is_normalized($input, $form = Normalizer::FORM_C) { } + +/** + * Get the default Locale + * @link https://php.net/manual/en/function.locale-get-default.php + * @return string a string with the current Locale. + */ +function locale_get_default() { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set the default Locale + * @link https://php.net/manual/en/function.locale-set-default.php + * @param string $name

+ * The new Locale name. A comprehensive list of the supported locales is + * available at . + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function locale_set_default($name) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Gets the primary language for the input locale + * @link https://php.net/manual/en/locale.getprimarylanguage.php + * @param string $locale

+ * The locale to extract the primary language code from + *

+ * @return string The language code associated with the language or NULL in case of error. + */ +function locale_get_primary_language($locale) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Gets the script for the input locale + * @link https://php.net/manual/en/locale.getscript.php + * @param string $locale

+ * The locale to extract the script code from + *

+ * @return string The script subtag for the locale or NULL if not present + */ +function locale_get_script($locale) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Gets the region for the input locale + * @link https://php.net/manual/en/locale.getregion.php + * @param string $locale

+ * The locale to extract the region code from + *

+ * @return string The region subtag for the locale or NULL if not present + */ +function locale_get_region($locale) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Gets the keywords for the input locale + * @link https://php.net/manual/en/locale.getkeywords.php + * @param string $locale

+ * The locale to extract the keywords from + *

+ * @return array Associative array containing the keyword-value pairs for this locale + */ +function locale_get_keywords($locale) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns an appropriately localized display name for script of the input locale + * @link https://php.net/manual/en/locale.getdisplayscript.php + * @param string $locale

+ * The locale to return a display script for + *

+ * @param string $in_locale [optional]

+ * Optional format locale to use to display the script name + *

+ * @return string Display name of the script for the $locale in the format appropriate for + * $in_locale. + */ +function locale_get_display_script($locale, $in_locale = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns an appropriately localized display name for region of the input locale + * @link https://php.net/manual/en/locale.getdisplayregion.php + * @param string $locale

+ * The locale to return a display region for. + *

+ * @param string $in_locale [optional]

+ * Optional format locale to use to display the region name + *

+ * @return string display name of the region for the $locale in the format appropriate for + * $in_locale. + */ +function locale_get_display_region($locale, $in_locale = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns an appropriately localized display name for the input locale + * @link https://php.net/manual/en/locale.getdisplayname.php + * @param string $locale

+ * The locale to return a display name for. + *

+ * @param string $in_locale [optional]

optional format locale

+ * @return string Display name of the locale in the format appropriate for $in_locale. + */ +function locale_get_display_name($locale, $in_locale = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns an appropriately localized display name for language of the inputlocale + * @link https://php.net/manual/en/locale.getdisplaylanguage.php + * @param string $locale

+ * The locale to return a display language for + *

+ * @param string $in_locale [optional]

+ * Optional format locale to use to display the language name + *

+ * @return string display name of the language for the $locale in the format appropriate for + * $in_locale. + */ +function locale_get_display_language($locale, $in_locale = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns an appropriately localized display name for variants of the input locale + * @link https://php.net/manual/en/locale.getdisplayvariant.php + * @param string $locale

+ * The locale to return a display variant for + *

+ * @param string $in_locale [optional]

+ * Optional format locale to use to display the variant name + *

+ * @return string Display name of the variant for the $locale in the format appropriate for + * $in_locale. + */ +function locale_get_display_variant($locale, $in_locale = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns a correctly ordered and delimited locale ID + * @link https://php.net/manual/en/locale.composelocale.php + * @param array $subtags

+ * an array containing a list of key-value pairs, where the keys identify + * the particular locale ID subtags, and the values are the associated + * subtag values. + *

+ * The 'variant' and 'private' subtags can take maximum 15 values + * whereas 'extlang' can take maximum 3 values.e.g. Variants are allowed + * with the suffix ranging from 0-14. Hence the keys for the input array + * can be variant0, variant1, ...,variant14. In the returned locale id, + * the subtag is ordered by suffix resulting in variant0 followed by + * variant1 followed by variant2 and so on. + *

+ *

+ * The 'variant', 'private' and 'extlang' multiple values can be specified both + * as array under specific key (e.g. 'variant') and as multiple numbered keys + * (e.g. 'variant0', 'variant1', etc.). + *

+ *

+ * @return string The corresponding locale identifier. + */ +function locale_compose(array $subtags) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns a key-value array of locale ID subtag elements. + * @link https://php.net/manual/en/locale.parselocale.php + * @param string $locale

+ * The locale to extract the subtag array from. Note: The 'variant' and + * 'private' subtags can take maximum 15 values whereas 'extlang' can take + * maximum 3 values. + *

+ * @return array an array containing a list of key-value pairs, where the keys + * identify the particular locale ID subtags, and the values are the + * associated subtag values. The array will be ordered as the locale id + * subtags e.g. in the locale id if variants are '-varX-varY-varZ' then the + * returned array will have variant0=>varX , variant1=>varY , + * variant2=>varZ + */ +function locale_parse($locale) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Gets the variants for the input locale + * @link https://php.net/manual/en/locale.getallvariants.php + * @param string $locale

+ * The locale to extract the variants from + *

+ * @return array The array containing the list of all variants subtag for the locale + * or NULL if not present + */ +function locale_get_all_variants($locale) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Checks if a language tag filter matches with locale + * @link https://php.net/manual/en/locale.filtermatches.php + * @param string $langtag

+ * The language tag to check + *

+ * @param string $locale

+ * The language range to check against + *

+ * @param bool $canonicalize [optional]

+ * If true, the arguments will be converted to canonical form before + * matching. + *

+ * @return bool TRUE if $locale matches $langtag FALSE otherwise. + */ +function locale_filter_matches($langtag, $locale, $canonicalize = false) { } + +/** + * @param $arg1 + */ +function locale_canonicalize($arg1) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Searches the language tag list for the best match to the language + * @link https://php.net/manual/en/locale.lookup.php + * @param array $langtag

+ * An array containing a list of language tags to compare to + * locale. Maximum 100 items allowed. + *

+ * @param string $locale

+ * The locale to use as the language range when matching. + *

+ * @param bool $canonicalize [optional]

+ * If true, the arguments will be converted to canonical form before + * matching. + *

+ * @param string $default [optional]

+ * The locale to use if no match is found. + *

+ * @return string The closest matching language tag or default value. + */ +function locale_lookup(array $langtag, $locale, $canonicalize = false, $default = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Tries to find out best available locale based on HTTP "Accept-Language" header + * @link https://php.net/manual/en/locale.acceptfromhttp.php + * @param string $header

+ * The string containing the "Accept-Language" header according to format in RFC 2616. + *

+ * @return string The corresponding locale identifier. + */ +function locale_accept_from_http($header) { } + +/** + * @param $locale + * @param $pattern + */ +function msgfmt_create($locale, $pattern) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Format the message + * @link https://php.net/manual/en/messageformatter.format.php + * @param MessageFormatter $fmt + * @param array $args

+ * Arguments to insert into the format string + *

+ * @return string|false The formatted string, or FALSE if an error occurred + */ +function msgfmt_format(MessageFormatter $fmt, array $args) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Quick format message + * @link https://php.net/manual/en/messageformatter.formatmessage.php + * @param string $locale

+ * The locale to use for formatting locale-dependent parts + *

+ * @param string $pattern

+ * The pattern string to insert things into. + * The pattern uses an 'apostrophe-friendly' syntax; it is run through + * umsg_autoQuoteApostrophe + * before being interpreted. + *

+ * @param array $args

+ * The array of values to insert into the format string + *

+ * @return string|false The formatted pattern string or FALSE if an error occurred + */ +function msgfmt_format_message(string $locale, string $pattern, array $args) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Parse input string according to pattern + * @link https://php.net/manual/en/messageformatter.parse.php + * @param MessageFormatter $fmt + * @param string $value

+ * The string to parse + *

+ * @return array|false An array containing the items extracted, or FALSE on error + */ +function msgfmt_parse(MessageFormatter $fmt, $value) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Quick parse input string + * @link https://php.net/manual/en/messageformatter.parsemessage.php + * @param MessageFormatter $fmt + * @param string $locale

+ * The locale to use for parsing locale-dependent parts + *

+ * @param string $pattern

+ * The pattern with which to parse the value. + *

+ * @param string $source

+ * The string to parse, conforming to the pattern. + *

+ * @return array|false An array containing items extracted, or FALSE on error + */ +function msgfmt_parse_message(MessageFormatter $fmt, $locale, $pattern, $source) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set the pattern used by the formatter + * @link https://php.net/manual/en/messageformatter.setpattern.php + * @param MessageFormatter $fmt + * @param string $pattern

+ * The pattern string to use in this message formatter. + * The pattern uses an 'apostrophe-friendly' syntax; it is run through + * umsg_autoQuoteApostrophe + * before being interpreted. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function msgfmt_set_pattern(MessageFormatter $fmt, $pattern) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the pattern used by the formatter + * @link https://php.net/manual/en/messageformatter.getpattern.php + * @param MessageFormatter $fmt + * @param $mf + * @return string The pattern string for this message formatter + */ +function msgfmt_get_pattern(MessageFormatter $fmt, $mf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the locale for which the formatter was created. + * @link https://php.net/manual/en/messageformatter.getlocale.php + * @param MessageFormatter $fmt + * @param $mf + * @return string The locale name + */ +function msgfmt_get_locale(MessageFormatter $fmt, $mf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the error code from last operation + * @link https://php.net/manual/en/messageformatter.geterrorcode.php + * @param MessageFormatter $fmt + * @param $nf + * @return int The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR. + */ +function msgfmt_get_error_code(MessageFormatter $fmt, $nf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the error text from the last operation + * @link https://php.net/manual/en/messageformatter.geterrormessage.php + * @param MessageFormatter $fmt + * @param $coll + * @return string Description of the last error. + */ +function msgfmt_get_error_message(MessageFormatter $fmt, $coll) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Create a date formatter + * @link https://php.net/manual/en/intldateformatter.create.php + * @param string|null $locale

+ * Locale to use when formatting or parsing. + *

+ * @param int $datetype

+ * Date type to use (none, + * short, medium, + * long, full). + * This is one of the + * IntlDateFormatter constants. + *

+ * @param int $timetype

+ * Time type to use (none, + * short, medium, + * long, full). + * This is one of the + * IntlDateFormatter constants. + *

+ * @param string|null $timezone [optional]

+ * Time zone ID, default is system default. + *

+ * @param int|null $calendar [optional]

+ * Calendar to use for formatting or parsing; default is Gregorian. + * This is one of the + * IntlDateFormatter calendar constants. + *

+ * @param string $pattern [optional]

+ * Optional pattern to use when formatting or parsing. + * Possible patterns are documented at http://userguide.icu-project.org/formatparse/datetime. + *

+ * @return IntlDateFormatter + */ +function datefmt_create($locale, $datetype, $timetype, $timezone = null, $calendar = null, $pattern = '') { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the datetype used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.getdatetype.php + * @param $mf + * @return int The current date type value of the formatter. + */ +function datefmt_get_datetype(MessageFormatter $mf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the timetype used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.gettimetype.php + * @param $mf + * @return int The current date type value of the formatter. + */ +function datefmt_get_timetype(MessageFormatter $mf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the calendar used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.getcalendar.php + * @param $mf + * @return int The calendar being used by the formatter. + */ +function datefmt_get_calendar(MessageFormatter $mf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * sets the calendar used to the appropriate calendar, which must be + * @link https://php.net/manual/en/intldateformatter.setcalendar.php + * @param MessageFormatter $mf + * @param int $which

+ * The calendar to use. + * Default is IntlDateFormatter::GREGORIAN. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function datefmt_set_calendar(MessageFormatter $mf, $which) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the locale used by formatter + * @link https://php.net/manual/en/intldateformatter.getlocale.php + * @param MessageFormatter $mf + * @param int $which [optional] + * @return string|false the locale of this formatter or 'false' if error + */ +function datefmt_get_locale(MessageFormatter $mf, $which = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the timezone-id used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.gettimezoneid.php + * @param $mf + * @return string ID string for the time zone used by this formatter. + */ +function datefmt_get_timezone_id(MessageFormatter $mf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 3.0.0)
+ * Get copy of formatter's calendar object + * @link https://secure.php.net/manual/en/intldateformatter.getcalendarobject.php + * @return IntlCalendar A copy of the internal calendar object used by this formatter. + */ +function datefmt_get_calendar_object() { } + +/** + * (PHP 5 >= 5.5.0, PECL intl >= 3.0.0)
+ * Get formatter's timezone + * @link https://secure.php.net/manual/en/intldateformatter.gettimezone.php + * @return IntlTimeZone|false The associated IntlTimeZone object or FALSE on failure. + */ +function datefmt_get_timezone() { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Sets the time zone to use + * @link https://php.net/manual/en/intldateformatter.settimezoneid.php + * @param MessageFormatter $mf + * @param string $zone

+ * The time zone ID string of the time zone to use. + * If NULL or the empty string, the default time zone for the runtime is used. + *

+ * @return bool TRUE on success or FALSE on failure. + * @deprecated 5.5 https://secure.php.net/manual/en/migration55.deprecated.php + * @removed 7.0 + */ +function datefmt_set_timezone_id(MessageFormatter $mf, $zone) { } + +/** + * (PHP 5 >= 5.5.0, PECL intl >= 3.0.0)
+ * Sets formatter's timezone + * @link https://php.net/manual/en/intldateformatter.settimezone.php + * @param MessageFormatter $mf + * @param mixed $zone

+ * The timezone to use for this formatter. This can be specified in the + * following forms: + *

    + *
  • + *

    + * NULL, in which case the default timezone will be used, as specified in + * the ini setting {@link "https://secure.php.net/manual/en/datetime.configuration.php#ini.date.timezone" date.timezone} or + * through the function {@link "https://secure.php.net/manual/en/function.date-default-timezone-set.php" date_default_timezone_set()} and as + * returned by {@link "https://secure.php.net/manual/en/function.date-default-timezone-get.php" date_default_timezone_get()}. + *

    + *
  • + *
  • + *

    + * An {@link "https://secure.php.net/manual/en/class.intltimezone.php" IntlTimeZone}, which will be used directly. + *

    + *
  • + *
  • + *

    + * A {@link "https://secure.php.net/manual/en/class.datetimezone.php" DateTimeZone}. Its identifier will be extracted + * and an ICU timezone object will be created; the timezone will be backed + * by ICU's database, not PHP's. + *

    + *
  • + *
  • + *

    + * A {@link "https://secure.php.net/manual/en/language.types.string.php" string}, which should be a valid ICU timezone identifier. + * See IntlTimeZone::createTimeZoneIDEnumeration(). Raw offsets such as "GMT+08:30" are also accepted. + *

    + *
  • + *
+ *

+ * @return bool TRUE on success or FALSE on failure. + */ +function datefmt_set_timezone(MessageFormatter $mf, $zone) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the pattern used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.getpattern.php + * @param $mf + * @return string The pattern string being used to format/parse. + */ +function datefmt_get_pattern(MessageFormatter $mf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set the pattern used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.setpattern.php + * @param MessageFormatter $mf + * @param string $pattern

+ * New pattern string to use. + * Possible patterns are documented at http://userguide.icu-project.org/formatparse/datetime. + *

+ * @return bool TRUE on success or FALSE on failure. + * Bad formatstrings are usually the cause of the failure. + */ +function datefmt_set_pattern(MessageFormatter $mf, $pattern) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the lenient used for the IntlDateFormatter + * @link https://php.net/manual/en/intldateformatter.islenient.php + * @param $mf + * @return bool TRUE if parser is lenient, FALSE if parser is strict. By default the parser is lenient. + */ +function datefmt_is_lenient(MessageFormatter $mf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Set the leniency of the parser + * @link https://php.net/manual/en/intldateformatter.setlenient.php + * @param MessageFormatter $mf + * @param bool $lenient

+ * Sets whether the parser is lenient or not, default is TRUE (lenient). + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function datefmt_set_lenient(MessageFormatter $mf, $lenient) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Format the date/time value as a string + * @link https://php.net/manual/en/intldateformatter.format.php + * @param MessageFormatter $mf + * @param mixed $value

+ * Value to format. This may be a DateTime object, + * an integer representing a Unix timestamp value (seconds + * since epoch, UTC) or an array in the format output by + * localtime. + *

+ * @return string|false The formatted string or, if an error occurred, FALSE. + */ +function datefmt_format(MessageFormatter $mf, $value) { } + +/** + * (PHP 5 >= 5.5.0, PECL intl >= 3.0.0)
+ * Formats an object + * @link https://secure.php.net/manual/en/intldateformatter.formatobject.php + * @param object $object

+ * An object of type IntlCalendar or DateTime. The timezone information in the object will be used. + *

+ * @param mixed $format [optional]

+ * How to format the date/time. This can either be an {https://secure.php.net/manual/en/language.types.array.php array} with + * two elements (first the date style, then the time style, these being one + * of the constants IntlDateFormatter::NONE, + * IntlDateFormatter::SHORT, + * IntlDateFormatter::MEDIUM, + * IntlDateFormatter::LONG, + * IntlDateFormatter::FULL), a long with + * the value of one of these constants (in which case it will be used both + * for the time and the date) or a {@link https://secure.php.net/manual/en/language.types.string.php} with the format + * described in {@link http://www.icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details the ICU documentation} + * documentation. If NULL, the default style will be used. + *

+ * @param string|null $locale [optional]

+ * The locale to use, or NULL to use the default one.

+ * @return string|false The formatted string or, if an error occurred, FALSE. + */ +function datefmt_format_object($object, $format = null, $locale = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Parse string to a timestamp value + * @link https://php.net/manual/en/intldateformatter.parse.php + * @param MessageFormatter $mf + * @param string $value

+ * string to convert to a time + *

+ * @param int $position [optional]

+ * Position at which to start the parsing in $value (zero-based). + * If no error occurs before $value is consumed, $parse_pos will contain -1 + * otherwise it will contain the position at which parsing ended (and the error occurred). + * This variable will contain the end position if the parse fails. + * If $parse_pos > strlen($value), the parse fails immediately. + *

+ * @return int timestamp parsed value + */ +function datefmt_parse(MessageFormatter $mf, $value, &$position = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Parse string to a field-based time value + * @link https://php.net/manual/en/intldateformatter.localtime.php + * @param MessageFormatter $mf + * @param string $value

+ * string to convert to a time + *

+ * @param int $position [optional]

+ * Position at which to start the parsing in $value (zero-based). + * If no error occurs before $value is consumed, $parse_pos will contain -1 + * otherwise it will contain the position at which parsing ended . + * If $parse_pos > strlen($value), the parse fails immediately. + *

+ * @return array Localtime compatible array of integers : contains 24 hour clock value in tm_hour field + */ +function datefmt_localtime(MessageFormatter $mf, $value, &$position = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the error code from last operation + * @link https://php.net/manual/en/intldateformatter.geterrorcode.php + * @param MessageFormatter $mf + * @return int The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR. + */ +function datefmt_get_error_code(MessageFormatter $mf) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the error text from the last operation. + * @link https://php.net/manual/en/intldateformatter.geterrormessage.php + * @param MessageFormatter $mf + * @param $coll + * @return string Description of the last error. + */ +function datefmt_get_error_message(MessageFormatter $mf, $coll) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get string length in grapheme units + * @link https://php.net/manual/en/function.grapheme-strlen.php + * @param string $input

+ * The string being measured for length. It must be a valid UTF-8 string. + *

+ * @return int|false|null The length of the string on success, and 0 if the string is empty. + */ +function grapheme_strlen($input) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Find position (in grapheme units) of first occurrence of a string + * @link https://php.net/manual/en/function.grapheme-strpos.php + * @param string $haystack

+ * The string to look in. Must be valid UTF-8. + *

+ * @param string $needle

+ * The string to look for. Must be valid UTF-8. + *

+ * @param int $offset [optional]

+ * The optional $offset parameter allows you to specify where in $haystack to + * start searching as an offset in grapheme units (not bytes or characters). + * The position returned is still relative to the beginning of haystack + * regardless of the value of $offset. + *

+ * @return int|false the position as an integer. If needle is not found, strpos() will return boolean FALSE. + */ +function grapheme_strpos($haystack, $needle, $offset = 0) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Find position (in grapheme units) of first occurrence of a case-insensitive string + * @link https://php.net/manual/en/function.grapheme-stripos.php + * @param string $haystack

+ * The string to look in. Must be valid UTF-8. + *

+ * @param string $needle

+ * The string to look for. Must be valid UTF-8. + *

+ * @param int $offset [optional]

+ * The optional $offset parameter allows you to specify where in haystack to + * start searching as an offset in grapheme units (not bytes or characters). + * The position returned is still relative to the beginning of haystack + * regardless of the value of $offset. + *

+ * @return int|false the position as an integer. If needle is not found, grapheme_stripos() will return boolean FALSE. + */ +function grapheme_stripos($haystack, $needle, $offset = 0) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Find position (in grapheme units) of last occurrence of a string + * @link https://php.net/manual/en/function.grapheme-strrpos.php + * @param string $haystack

+ * The string to look in. Must be valid UTF-8. + *

+ * @param string $needle

+ * The string to look for. Must be valid UTF-8. + *

+ * @param int $offset [optional]

+ * The optional $offset parameter allows you to specify where in $haystack to + * start searching as an offset in grapheme units (not bytes or characters). + * The position returned is still relative to the beginning of haystack + * regardless of the value of $offset. + *

+ * @return int|false the position as an integer. If needle is not found, grapheme_strrpos() will return boolean FALSE. + */ +function grapheme_strrpos($haystack, $needle, $offset = 0) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Find position (in grapheme units) of last occurrence of a case-insensitive string + * @link https://php.net/manual/en/function.grapheme-strripos.php + * @param string $haystack

+ * The string to look in. Must be valid UTF-8. + *

+ * @param string $needle

+ * The string to look for. Must be valid UTF-8. + *

+ * @param int $offset [optional]

+ * The optional $offset parameter allows you to specify where in $haystack to + * start searching as an offset in grapheme units (not bytes or characters). + * The position returned is still relative to the beginning of haystack + * regardless of the value of $offset. + *

+ * @return int|false the position as an integer. If needle is not found, grapheme_strripos() will return boolean FALSE. + */ +function grapheme_strripos($haystack, $needle, $offset = 0) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Return part of a string + * @link https://php.net/manual/en/function.grapheme-substr.php + * @param string $string

+ * The input string. Must be valid UTF-8. + *

+ * @param int $start

+ * Start position in default grapheme units. + * If $start is non-negative, the returned string will start at the + * $start'th position in $string, counting from zero. If $start is negative, + * the returned string will start at the $start'th grapheme unit from the + * end of string. + *

+ * @param int $length [optional]

+ * Length in grapheme units. + * If $length is given and is positive, the string returned will contain + * at most $length grapheme units beginning from $start (depending on the + * length of string). If $length is given and is negative, then + * that many grapheme units will be omitted from the end of string (after the + * start position has been calculated when a start is negative). If $start + * denotes a position beyond this truncation, FALSE will be returned. + *

+ * @return string|false

the extracted part of $string,
+ or FALSE if $length is negative and $start denotes a position beyond truncation $length,
+ or also FALSE if $start denotes a position beyond $string length

+ */ +function grapheme_substr($string, $start, $length = null) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns part of haystack string from the first occurrence of needle to the end of haystack. + * @link https://php.net/manual/en/function.grapheme-strstr.php + * @param string $haystack

+ * The input string. Must be valid UTF-8. + *

+ * @param string $needle

+ * The string to look for. Must be valid UTF-8. + *

+ * @param bool $before_needle [optional]

+ * If TRUE, grapheme_strstr() returns the part of the + * haystack before the first occurrence of the needle (excluding the needle). + *

+ * @return string|false the portion of string, or FALSE if needle is not found. + */ +function grapheme_strstr($haystack, $needle, $before_needle = false) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack. + * @link https://php.net/manual/en/function.grapheme-stristr.php + * @param string $haystack

+ * The input string. Must be valid UTF-8. + *

+ * @param string $needle

+ * The string to look for. Must be valid UTF-8. + *

+ * @param bool $before_needle [optional]

+ * If TRUE, grapheme_strstr() returns the part of the + * haystack before the first occurrence of the needle (excluding needle). + *

+ * @return string|false the portion of $haystack, or FALSE if $needle is not found. + */ +function grapheme_stristr($haystack, $needle, $before_needle = false) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8. + * @link https://php.net/manual/en/function.grapheme-extract.php + * @param string $haystack

+ * String to search. + *

+ * @param int $size

+ * Maximum number items - based on the $extract_type - to return. + *

+ * @param int $extract_type [optional]

+ * Defines the type of units referred to by the $size parameter: + *

+ *

+ * GRAPHEME_EXTR_COUNT (default) - $size is the number of default + * grapheme clusters to extract. + * GRAPHEME_EXTR_MAXBYTES - $size is the maximum number of bytes + * returned. + * GRAPHEME_EXTR_MAXCHARS - $size is the maximum number of UTF-8 + * characters returned. + *

+ * @param int $start [optional]

+ * Starting position in $haystack in bytes - if given, it must be zero or a + * positive value that is less than or equal to the length of $haystack in + * bytes. If $start does not point to the first byte of a UTF-8 + * character, the start position is moved to the next character boundary. + *

+ * @param int $next [optional]

+ * Reference to a value that will be set to the next starting position. + * When the call returns, this may point to the first byte position past the end of the string. + *

+ * @return string|false A string starting at offset $start and ending on a default grapheme cluster + * boundary that conforms to the $size and $extract_type specified. + */ +function grapheme_extract($haystack, $size, $extract_type = null, $start = 0, &$next = null) { } + +/** + * (PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.2, PHP 7, PECL idn >= 0.1)
+ * Convert domain name to IDNA ASCII form. + * @link https://php.net/manual/en/function.idn-to-ascii.php + * @param string $domain

+ * Domain to convert. In PHP 5 must be UTF-8 encoded. + * If e.g. an ISO-8859-1 (aka Western Europe latin1) encoded string is + * passed it will be converted into an ACE encoded "xn--" string. + * It will not be the one you expected though! + *

+ * @param int $options [optional]

+ * Conversion options - combination of IDNA_* constants (except IDNA_ERROR_* constants). + *

+ * @param int $variant [optional]

+ * Either INTL_IDNA_VARIANT_2003 for IDNA 2003 or INTL_IDNA_VARIANT_UTS46 for UTS #46. + *

+ * @param array $idna_info [optional]

+ * This parameter can be used only if INTL_IDNA_VARIANT_UTS46 was used for variant. + * In that case, it will be filled with an array with the keys 'result', + * the possibly illegal result of the transformation, 'isTransitionalDifferent', + * a boolean indicating whether the usage of the transitional mechanisms of UTS #46 + * either has or would have changed the result and 'errors', + * which is an int representing a bitset of the error constants IDNA_ERROR_*. + *

+ * @return string|false The ACE encoded version of the domain name or FALSE on failure. + */ +function idn_to_ascii($domain, $options = 0, $variant = INTL_IDNA_VARIANT_2003, array &$idna_info) { } + +/** + * (PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.2, PHP 7, PECL idn >= 0.1)
+ * Convert domain name from IDNA ASCII to Unicode. + * @link https://php.net/manual/en/function.idn-to-utf8.php + * @param string $domain

+ * Domain to convert in IDNA ASCII-compatible format. + * The ASCII encoded domain name. Looks like "xn--..." if the it originally contained non-ASCII characters. + *

+ * @param int $options [optional]

+ * Conversion options - combination of IDNA_* constants (except IDNA_ERROR_* constants). + *

+ * @param int $variant [optional]

+ * Either INTL_IDNA_VARIANT_2003 for IDNA 2003 or INTL_IDNA_VARIANT_UTS46 for UTS #46. + *

+ * @param int &$idna_info [optional]

+ * This parameter can be used only if INTL_IDNA_VARIANT_UTS46 was used for variant. + * In that case, it will be filled with an array with the keys 'result', + * the possibly illegal result of the transformation, 'isTransitionalDifferent', + * a boolean indicating whether the usage of the transitional mechanisms of UTS #46 + * either has or would have changed the result and 'errors', + * which is an int representing a bitset of the error constants IDNA_ERROR_*. + *

+ * @return string|false The UTF-8 encoded version of the domain name or FALSE on failure. + * RFC 3490 4.2 states though "ToUnicode never fails. If any step fails, then the original input + * sequence is returned immediately in that step." + */ +function idn_to_utf8($domain, $options = 0, $variant = INTL_IDNA_VARIANT_2003, array &$idna_info) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Create a new IntlCalendar + * @link https://secure.php.net/manual/en/intlcalendar.createinstance.php + * @param mixed $timeZone [optional]

+ * The timezone to use. + *

+ * + *
    + *
  • + *

    + * NULL, in which case the default timezone will be used, as specified in + * the ini setting {@link https://secure.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone} or + * through the function {@link https://secure.php.net/manual/en/function.date-default-timezone-set.php date_default_timezone_set()} and as + * returned by {@link https://secure.php.net/manual/en/function.date-default-timezone-get.php date_default_timezone_get()}. + *

    + *
  • + *
  • + *

    + * An {@link https://secure.php.net/manual/en/class.intltimezone.php IntlTimeZone}, which will be used directly. + *

    + *
  • + *
  • + *

    + * A {@link https://secure.php.net/manual/en/class.datetimezone.php DateTimeZone}. Its identifier will be extracted + * and an ICU timezone object will be created; the timezone will be backed + * by ICU's database, not PHP's. + *

    + *
  • + *
  • + *

    + * A {@link https://secure.php.net/manual/en/language.types.string.php string}, which should be a valid ICU timezone identifier. + * See IntlTimeZone::createTimeZoneIDEnumeration(). Raw + * offsets such as "GMT+08:30" are also accepted. + *

    + *
  • + *
+ *

+ * @param string $locale [optional]

+ * A locale to use or NULL to use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.default-locale the default locale}. + *

+ * @return IntlCalendar + * The created {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} instance or NULL on + * failure. + * @since 5.5 + */ +function intlcal_create_instance($timeZone = null, $locale = null) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get set of locale keyword values + * @param string $key

+ * The locale keyword for which relevant values are to be queried. Only + * 'calendar' is supported. + *

+ * @param string $locale

+ * The locale onto which the keyword/value pair are to be appended. + *

+ * @param bool $commonlyUsed + *

+ * Whether to show only the values commonly used for the specified locale. + *

+ * @return Iterator|false An iterator that yields strings with the locale keyword values or FALSE on failure. + * @since 5.5 + */ +function intlcal_get_keyword_values_for_locale($key, $locale, $commonlyUsed) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get number representing the current time + * @link https://secure.php.net/manual/en/intlcalendar.getnow.php + * @return float A float representing a number of milliseconds since the epoch, not counting leap seconds. + * @since 5.5 + */ +function intlcal_get_now() { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get array of locales for which there is data + * @link https://secure.php.net/manual/en/intlcalendar.getavailablelocales.php + * @return array An array of strings, one for which locale. + * @since 5.5 + */ + +function intlcal_get_available_locales() { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the value for a field + * @link https://secure.php.net/manual/en/intlcalendar.get.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return int An integer with the value of the time field. + * @since 5.5 + */ +function intl_get($calendar, $field) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get time currently represented by the object + * @param IntlCalendar $calendar

The calendar whose time will be checked against this object's time.

+ * @return float + * A {@link https://secure.php.net/manual/en/language.types.float.php float} representing the number of milliseconds elapsed since the + * reference time (1 Jan 1970 00:00:00 UTC). + * @since 5.5 + */ +function intlcal_get_time($calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set the calendar time in milliseconds since the epoch + * @link https://secure.php.net/manual/en/intlcalendar.settime.php + * @param float $date

+ * An instant represented by the number of number of milliseconds between + * such instant and the epoch, ignoring leap seconds. + *

+ * @return bool + * Returns TRUE on success and FALSE on failure. + * @since 5.5 + */ +function intlcal_set_time($date) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Add a (signed) amount of time to a field + * @link https://secure.php.net/manual/en/intlcalendar.add.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. + * These are integer values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @param int $amount

The signed amount to add to the current field. If the amount is positive, the instant will be moved forward; if it is negative, the instant wil be moved into the past. The unit is implicit to the field type. + * For instance, hours for IntlCalendar::FIELD_HOUR_OF_DAY.

+ * @return bool Returns TRUE on success or FALSE on failure. + * @since 5.5 + */ +function intlcal_add($calendar, $field, $amount) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set the timezone used by this calendar + * @link https://secure.php.net/manual/en/intlcalendar.settimezone.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param mixed $timeZone

+ * The new timezone to be used by this calendar. It can be specified in the + * following ways: + * + *

    + *
  • + *

    + * NULL, in which case the default timezone will be used, as specified in + * the ini setting {@link https://secure.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone} or + * through the function {@link https://secure.php.net/manual/en/function.date-default-timezone-set.php date_default_timezone_set()} and as + * returned by {@link https://secure.php.net/manual/en/function.date-default-timezone-get.php date_default_timezone_get()}. + *

    + *
  • + *
  • + *

    + * An {@link https://secure.php.net/manual/en/class.intltimezone.php IntlTimeZone}, which will be used directly. + *

    + *
  • + *
  • + *

    + * A {@link https://secure.php.net/manual/en/class.datetimezone.php DateTimeZone}. Its identifier will be extracted + * and an ICU timezone object will be created; the timezone will be backed + * by ICU's database, not PHP's. + *

    + *
  • + *
  • + *

    + * A {@link https://secure.php.net/manual/en/language.types.string.php string}, which should be a valid ICU timezone identifier. + * See IntlTimeZone::createTimeZoneIDEnumeration(). Raw + * offsets such as "GMT+08:30" are also accepted. + *

    + *
  • + *
+ * @return bool Returns TRUE on success and FALSE on failure. + * @since 5.5 + */ +function intlcal_set_time_zone($calendar, $timeZone) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether this object's time is after that of the passed object + * https://secure.php.net/manual/en/intlcalendar.after.php + * @param IntlCalendar $calendarObject

+ * The calendar object, on the procedural style interface. + *

+ * @param IntlCalendar $calendar

The calendar whose time will be checked against this object's time.

+ * @return bool + * Returns TRUE if this object's current time is after that of the + * calendar argument's time. Returns FALSE otherwise. + * Also returns FALSE on failure. You can use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or + * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to detect error conditions. + * @since 5.5 + */ +function intlcal_after(IntlCalendar $calendarObject, IntlCalendar $calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether this object's time is before that of the passed object + * @link https://secure.php.net/manual/en/intlcalendar.before.php + * @param IntlCalendar $calendarObject

+ * The calendar object, on the procedural style interface. + *

+ * @param IntlCalendar $calendar

The calendar whose time will be checked against this object's time.

+ * @return bool + * Returns TRUE if this object's current time is before that of the + * calendar argument's time. Returns FALSE otherwise. + * Also returns FALSE on failure. You can use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or + * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to detect error conditions. + *

+ * @since 5.5 + */ +function intlcal_before(IntlCalendar $calendarObject, IntlCalendar $calendar) { } + + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set a time field or several common fields at once + * @link https://secure.php.net/manual/en/intlcalendar.set.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $year

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @param int $month

+ * The new value for IntlCalendar::FIELD_MONTH. + *

+ * @param int $dayOfMonth [optional]

+ * The new value for IntlCalendar::FIELD_DAY_OF_MONTH. + * The month sequence is zero-based, i.e., January is represented by 0, + * February by 1, ..., December is 11 and Undecember (if the calendar has + * it) is 12. + *

+ * @param int $hour [optional] + *

+ * The new value for IntlCalendar::FIELD_HOUR_OF_DAY. + *

+ * @param int $minute [optional] + *

+ * The new value for IntlCalendar::FIELD_MINUTE. + *

+ * @param int $second [optional]

+ * The new value for IntlCalendar::FIELD_SECOND. + *

+ * @return bool Returns TRUE on success and FALSE on failure. + * @since 5.5 + */ +function intlcal_set($calendar, $year, $month, $dayOfMonth = null, $hour = null, $minute = null, $second = null) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Add value to field without carrying into more significant fields + * @link https://secure.php.net/manual/en/intlcalendar.roll.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field

One of the + * {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time + * {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. + * These are integer values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @param mixed $amountOrUpOrDown

+ * The (signed) amount to add to the field, TRUE for rolling up (adding + * 1), or FALSE for rolling down (subtracting + * 1). + *

+ * @return bool Returns TRUE on success or FALSE on failure. + * @since 5.5 + */ +function intlcal_roll($calendar, $field, $amountOrUpOrDown) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Clear a field or all fields + * @link https://secure.php.net/manual/en/intlcalendar.clear.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field [optional]

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return bool Returns TRUE on success or FALSE on failure. Failure can only occur is invalid arguments are provided. + * @since 5.5 + */ +function intlcal_clear($calendar, $field = null) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Calculate difference between given time and this object's time + * @link https://secure.php.net/manual/en/intlcalendar.fielddifference.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param float $when

+ * The time against which to compare the quantity represented by the + * field. For the result to be positive, the time + * given for this parameter must be ahead of the time of the object the + * method is being invoked on. + *

+ * @param int $field

+ * The field that represents the quantity being compared. + *

+ * + *

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return int Returns a (signed) difference of time in the unit associated with the + * specified field or FALSE on failure. + * @since 5.5 + */ +function intlcal_field_difference($calendar, $when, $field) { } + + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * The maximum value for a field, considering the object's current time + * @link https://secure.php.net/manual/en/intlcalendar.getactualmaximum.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return int + * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing the maximum value in the units associated + * with the given field or FALSE on failure. + * @since 5.5 + */ +function intlcal_get_actual_maximum($calendar, $field) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * The minimum value for a field, considering the object's current time + * @link https://secure.php.net/manual/en/intlcalendar.getactualminimum.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. + * These are integer values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return int + * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing the minimum value in the field's + * unit or FALSE on failure. + * @since 5.5 + */ +function intlcal_get_actual_minimum($calendar, $field) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * @link https://secure.php.net/manual/en/intlcalendar.getdayofweektype.php + * Tell whether a day is a weekday, weekend or a day that has a transition between the two + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $dayOfWeek

+ * One of the constants IntlCalendar::DOW_SUNDAY, + * IntlCalendar::DOW_MONDAY, ..., + * IntlCalendar::DOW_SATURDAY. + *

+ * @return int + * Returns one of the constants + * IntlCalendar::DOW_TYPE_WEEKDAY, + * IntlCalendar::DOW_TYPE_WEEKEND, + * IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or + * IntlCalendar::DOW_TYPE_WEEKEND_CEASE or FALSE on failure. + * @since 5.5 + */ +function intlcal_get_day_of_week_type($calendar, $dayOfWeek) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the first day of the week for the calendar's locale + * @link https://secure.php.net/manual/en/intlcalendar.getfirstdayofweek.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @return int + * One of the constants IntlCalendar::DOW_SUNDAY, + * IntlCalendar::DOW_MONDAY, ..., + * IntlCalendar::DOW_SATURDAY or FALSE on failure. + * @since 5.5 + */ +function intlcal_get_first_day_of_week($calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the largest local minimum value for a field + * @link https://secure.php.net/manual/en/intlcalendar.getgreatestminimum.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + * @return int + * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing a field value, in the field's + * unit, or FALSE on failure. + * @since 5.5 + */ +function intlcal_greates_minimum($calendar, $field) { } + +/** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Get data from the bundle + * @link https://php.net/manual/en/resourcebundle.get.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param string|int $index

+ * Data index, must be string or integer. + *

+ * @return mixed the data located at the index or NULL on error. Strings, integers and binary data strings + * are returned as corresponding PHP types, integer array is returned as PHP array. Complex types are + * returned as ResourceBundle object. + */ +function intlcal_get($calendar, $index) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the smallest local maximum for a field + * @link https://secure.php.net/manual/en/intlcalendar.getleastmaximum.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return int + * An {@link https://secure.php.net/manual/en/language.types.integer.ph int} representing a field value in the field's + * unit or FALSE on failure. + *

+ * @since 5.5 + */ +function intlcal_get_least_maximum($calendar, $field) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the largest local minimum value for a field + * @link https://secure.php.net/manual/en/intlcalendar.getgreatestminimum.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + * @return int + * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing a field value, in the field's + * unit, or FALSE on failure. + * @since 5.5 + */ +function intlcal_get_greatest_minimum($calendar, $field) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the locale associated with the object + * @link https://secure.php.net/manual/en/intlcalendar.getlocale.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $localeType

+ * Whether to fetch the actual locale (the locale from which the calendar + * data originates, with Locale::ACTUAL_LOCALE) or the + * valid locale, i.e., the most specific locale supported by ICU relatively + * to the requested locale – see Locale::VALID_LOCALE. + * From the most general to the most specific, the locales are ordered in + * this fashion – actual locale, valid locale, requested locale. + *

+ * @return string + * A locale string or FALSE on failure. + * @since 5.5 + */ +function intlcal_get_locale($calendar, $localeType) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the global maximum value for a field + * @link https://secure.php.net/manual/en/intlcalendar.getmaximum.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return string + * A locale string or FALSE on failure. + * @since 5.5 + */ +function intcal_get_maximum($calendar, $field) { } + + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * @link https://secure.php.net/manual/en/intlcalendar.getminimaldaysinfirstweek.php + * Get minimal number of days the first week in a year or month can have + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @return int + * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing a number of days or FALSE on failure. + * @since 5.5 + */ +function intlcal_get_minimal_days_in_first_week($calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the global minimum value for a field + * @link https://secure.php.net/manual/en/intlcalendar.getminimum.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return int + * An int representing a value for the given field in the field's unit or FALSE on failure. + * @since 5.5 + */ +function intlcal_get_minimum($calendar, $field) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the object's timezone + * @link https://secure.php.net/manual/en/intlcalendar.gettimezone.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @return IntlTimeZone + * An {@link https://secure.php.net/manual/en/class.intltimezone.php IntlTimeZone} object corresponding to the one used + * internally in this object. + * @since 5.5 + */ +function intlcal_get_time_zone($calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the calendar type + * @link https://secure.php.net/manual/en/intlcalendar.gettype.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @return string + * A {@link https://secure.php.net/manual/en/language.types.string.php string} representing the calendar type, such as + * 'gregorian', 'islamic', etc. + * @since 5.5 + */ +function intlcal_get_type($calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get time of the day at which weekend begins or ends + * @link https://secure.php.net/manual/en/intlcalendar.getweekendtransition.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param string $dayOfWeek

+ * One of the constants IntlCalendar::DOW_SUNDAY, + * IntlCalendar::DOW_MONDAY, ..., + * IntlCalendar::DOW_SATURDAY. + *

+ * @return int + * The number of milliseconds into the day at which the the weekend begins or + * ends or FALSE on failure. + * @since 5.5 + */ +function intlcal_get_weekend_transition($calendar, $dayOfWeek) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether the object's time is in Daylight Savings Time + * @link https://secure.php.net/manual/en/intlcalendar.indaylighttime.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @return bool + * Returns TRUE if the date is in Daylight Savings Time, FALSE otherwise. + * The value FALSE may also be returned on failure, for instance after + * specifying invalid field values on non-lenient mode; use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or query + * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to disambiguate. + * @since 5.5 + */ +function intlcal_in_daylight_time($calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether date/time interpretation is in lenient mode + * @link https://secure.php.net/manual/en/intlcalendar.islenient.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @return bool + * A {@link https://secure.php.net/manual/en/language.types.boolean.php bool} representing whether the calendar is set to lenient mode. + * @since 5.5 + */ +function intlcal_is_lenient($calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether a field is set + * @link https://secure.php.net/manual/en/intlcalendar.isset.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return bool Assuming there are no argument errors, returns TRUE iif the field is set. + * @since 5.5 + */ +function intlcal_is_set($calendar, $field) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the global maximum value for a field + * @link https://secure.php.net/manual/en/intlcalendar.getmaximum.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $field

+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer + * values between 0 and + * IntlCalendar::FIELD_COUNT. + *

+ * @return string + * A locale string or FALSE on failure. + * @since 5.5 + */ +function intlcal_get_maximum($calendar, $field) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether another calendar is equal but for a different time + * @link https://secure.php.net/manual/en/intlcalendar.isequivalentto.php + * @param IntlCalendar $calendarObject

+ * The calendar object, on the procedural style interface. + *

+ * @param IntlCalendar $calendar The other calendar against which the comparison is to be made. + * @return bool + * Assuming there are no argument errors, returns TRUE iif the calendars are equivalent except possibly for their set time. + * @since 5.5 + */ +function intlcal_is_equivalent_to(IntlCalendar $calendarObject, IntlCalendar $calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Whether a certain date/time is in the weekend + * @link https://secure.php.net/manual/en/intlcalendar.isweekend.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param float|null $date [optional]

+ * An optional timestamp representing the number of milliseconds since the + * epoch, excluding leap seconds. If NULL, this object's current time is + * used instead. + *

+ * @return bool + *

A {@link https://secure.php.net/manual/en/language.types.boolean.php bool} indicating whether the given or this object's time occurs + * in a weekend. + *

+ *

+ * The value FALSE may also be returned on failure, for instance after giving + * a date out of bounds on non-lenient mode; use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or query + * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to disambiguate.

+ * @since 5.5 + */ +function intlcal_is_weekend($calendar, $date = null) { } + + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set the day on which the week is deemed to start + * @link https://secure.php.net/manual/en/intlcalendar.setfirstdayofweek.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $dayOfWeek

+ * One of the constants IntlCalendar::DOW_SUNDAY, + * IntlCalendar::DOW_MONDAY, ..., + * IntlCalendar::DOW_SATURDAY. + *

+ * @return bool Returns TRUE on success. Failure can only happen due to invalid parameters. + * @since 5.5 + */ +function intlcal_set_first_day_of_week($calendar, $dayOfWeek) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set whether date/time interpretation is to be lenient + * @link https://secure.php.net/manual/en/intlcalendar.setlenient.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param string $isLenient

+ * Use TRUE to activate the lenient mode; FALSE otherwise. + *

+ * @return bool Returns TRUE on success. Failure can only happen due to invalid parameters. + * @since 5.5 + */ +function intlcal_set_lenient($calendar, $isLenient) { } + + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get behavior for handling repeating wall time + * @link https://secure.php.net/manual/en/intlcalendar.getrepeatedwalltimeoption.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @return int + * One of the constants IntlCalendar::WALLTIME_FIRST or + * IntlCalendar::WALLTIME_LAST. + * @since 5.5 + */ +function intlcal_get_repeated_wall_time_option($calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Compare time of two IntlCalendar objects for equality + * @link https://secure.php.net/manual/en/intlcalendar.equals.php + * @param IntlCalendar $calendarObject

+ * The calendar object, on the procedural style interface. + *

+ * @param IntlCalendar $calendar + * @return bool

+ * Returns TRUE if the current time of both this and the passed in + * {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} object are the same, or FALSE + * otherwise. The value FALSE can also be returned on failure. This can only + * happen if bad arguments are passed in. In any case, the two cases can be + * distinguished by calling {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()}. + *

+ * @since 5.5 + */ +function intlcal_equals($calendarObject, $calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get behavior for handling skipped wall time + * @link https://secure.php.net/manual/en/intlcalendar.getskippedwalltimeoption.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @return int + * One of the constants IntlCalendar::WALLTIME_FIRST, + * IntlCalendar::WALLTIME_LAST or + * IntlCalendar::WALLTIME_NEXT_VALID. + * @since 5.5 + */ +function intlcal_get_skipped_wall_time_option($calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set behavior for handling repeating wall times at negative timezone offset transitions + * @link https://secure.php.net/manual/en/intlcalendar.setrepeatedwalltimeoption.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $wallTimeOption

+ * One of the constants IntlCalendar::WALLTIME_FIRST or + * IntlCalendar::WALLTIME_LAST. + *

+ * @return bool + * Returns TRUE on success. Failure can only happen due to invalid parameters. + * @since 5.5 + */ +function intlcal_set_repeated_wall_time_option($calendar, $wallTimeOption) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Set behavior for handling skipped wall times at positive timezone offset transitions + * @link https://secure.php.net/manual/en/intlcalendar.setskippedwalltimeoption.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @param int $wallTimeOption

+ * One of the constants IntlCalendar::WALLTIME_FIRST, + * IntlCalendar::WALLTIME_LAST or + * IntlCalendar::WALLTIME_NEXT_VALID. + *

+ * @return bool + *

+ * Returns TRUE on success. Failure can only happen due to invalid parameters. + *

+ * @since 5.5 + */ +function intlcal_set_skipped_wall_time_option($calendar, $wallTimeOption) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a2)
+ * Create an IntlCalendar from a DateTime object or string + * @link https://secure.php.net/manual/en/intlcalendar.fromdatetime.php + * @param mixed $dateTime

+ * A {@link https://secure.php.net/manual/en/class.datetime.php DateTime} object or a {@link https://secure.php.net/manual/en/language.types.string.php string} that + * can be passed to {@link https://secure.php.net/manual/en/datetime.construct.php DateTime::__construct()}. + *

+ * @return IntlCalendar + * The created {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} object or NULL in case of + * failure. If a {@link https://secure.php.net/manual/en/language.types.string.php string} is passed, any exception that occurs + * inside the {@link https://secure.php.net/manual/en/class.datetime.php DateTime} constructor is propagated. + * @since 5.5 + */ +function intlcal_from_date_time($dateTime) { } + + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a2)
+ * Convert an IntlCalendar into a DateTime object + * @link https://secure.php.net/manual/en/intlcalendar.todatetime.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @return DateTime|false + * A {@link https://secure.php.net/manual/en/class.datetime.php DateTime} object with the same timezone as this + * object (though using PHP's database instead of ICU's) and the same time, + * except for the smaller precision (second precision instead of millisecond). + * Returns FALSE on failure. + * @since 5.5 + */ +function intlcal_to_date_time($calendar) { } + + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get last error code on the object + * @link https://secure.php.net/manual/en/intlcalendar.geterrorcode.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @return int An ICU error code indicating either success, failure or a warning. + * @since 5.5 + */ +function intlcal_get_error_code($calendar) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get last error message on the object + * @link https://secure.php.net/manual/en/intlcalendar.geterrormessage.php + * @param IntlCalendar $calendar

+ * The calendar object, on the procedural style interface. + *

+ * @return string The error message associated with last error that occurred in a function call on this object, or a string indicating the non-existance of an error. + * @since 5.5 + */ +function intlcal_get_error_message($calendar) { } + + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the number of IDs in the equivalency group that includes the given ID + * @link https://secure.php.net/manual/en/intltimezone.countequivalentids.php + * @param string $zoneId + * @return int + * @since 5.5 + */ +function intltz_count_equivalent_ids($zoneId) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Create a new copy of the default timezone for this host + * @link https://secure.php.net/manual/en/intltimezone.createdefault.php + * @return IntlTimeZone + * @since 5.5 + */ +function intlz_create_default() { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * @link https://secure.php.net/manual/en/intltimezone.createenumeration.php + * @param mixed $countryOrRawOffset [optional] + * @return IntlIterator + * @since 5.5 + */ +function intltz_create_enumeration($countryOrRawOffset) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * @link https://secure.php.net/manual/en/intltimezone.createtimezone.php + * @param string $zoneId + * @return IntlTimeZone + * @since 5.5 + */ +function intltz_create_time_zone($zoneId) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * @link https://secure.php.net/manual/en/intltimezone.fromdatetimezone.php + * @param DateTimeZone $zoneId + * @return IntlTimeZone + * @since 5.5 + */ +function intltz_from_date_time_zone($zoneId) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID + * @link https://secure.php.net/manual/en/intltimezone.getcanonicalid.php + * @param string $zoneId + * @param bool $isSystemID [optional] + * @return string + * @since 5.5 + */ +function intltz_get_canonical_id($zoneId, &$isSystemID) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get a name of this time zone suitable for presentation to the user + * @param IntlTimeZone $obj -

+ * The time zone object, on the procedural style interface. + *

+ * @param bool $isDaylight [optional] + * @param int $style [optional] + * @param string $locale [optional] + * @return string + * @since 5.5 + */ +function intltz_get_display_name($obj, $isDaylight, $style, $locale) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the amount of time to be added to local standard time to get local wall clock time + * @param IntlTimeZone $obj -

+ * The time zone object, on the procedural style interface. + *

+ * @link https://secure.php.net/manual/en/intltimezone.getequivalentid.php + * @return int + * @since 5.5 + */ +function intltz_get_dst_savings($obj) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get an ID in the equivalency group that includes the given ID + * @link https://secure.php.net/manual/en/intltimezone.getequivalentid.php + * @param string $zoneId + * @param int $index + * @return string + * @since 5.5 + */ +function intltz_get_equivalent_id($zoneId, $index) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get last error code on the object + * @link https://secure.php.net/manual/en/intltimezone.geterrorcode.php + * @param IntlTimeZone $obj -

+ * The time zone object, on the procedural style interface. + *

+ * @return int + * @since 5.5 + */ +function intltz_get_error_code($obj) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get last error message on the object + * @link https://secure.php.net/manual/en/intltimezone.geterrormessage.php + * @param IntlTimeZone $obj -

+ * The time zone object, on the procedural style interface. + *

+ * @return string + * @since 5.5 + */ +function intltz_get_error_message($obj) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Create GMT (UTC) timezone + * @link https://secure.php.net/manual/en/intltimezone.getgmt.php + * @return IntlTimeZone + * @since 5.5 + */ +function intltz_getGMT() { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get timezone ID + * @link https://secure.php.net/manual/en/intltimezone.getid.php + * @param IntlTimeZone $obj + * @return string + * @since 5.5 + */ +function intltz_get_id($obj) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the time zone raw and GMT offset for the given moment in time + * @link https://secure.php.net/manual/en/intltimezone.getoffset.php + * @param IntlTimeZone $obj + * @param float $date + * @param bool $local + * @param int $rawOffset + * @param int $dstOffset + * @return int + * @since 5.5 + */ +function intltz_get_offset($obj, $date, $local, &$rawOffset, &$dstOffset) { } + +/** + * Get the raw GMT offset (before taking daylight savings time into account + * @link https://secure.php.net/manual/en/intltimezone.getrawoffset.php + * @param IntlTimeZone $obj + * @return int + */ +function intltz_get_raw_offset($obj) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Get the timezone data version currently used by ICU + * @link https://secure.php.net/manual/en/intltimezone.gettzdataversion.php + * @param IntlTimeZone $obj + * @return string + * @since 5.5 + */ +function intltz_get_tz_data_version($obj) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Check if this zone has the same rules and offset as another zone + * @link https://secure.php.net/manual/en/intltimezone.hassamerules.php + * @param IntlTimeZone $obj + * @param IntlTimeZone $otherTimeZone + * @return bool + * @since 5.5 + */ +function intltz_has_same_rules($obj, $otherTimeZone) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Convert to DateTimeZone object + * @link https://secure.php.net/manual/ru/intltimezone.todatetimezone.php + * @param $obj + * @return DateTimeZone + * @since 5.5 + */ +function intltz_to_date_time_zone($obj) { } + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * Check if this time zone uses daylight savings time + * @link https://secure.php.net/manual/ru/intltimezone.usedaylighttime.php + * @param $obj + * @return bool + * @since 5.5 + */ +function intltz_use_daylight_time($obj) { } + + +/** + * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)
+ * @param mixed $timeZone + * @param string $locale + * @return IntlGregorianCalendar + * @since 5.5 + */ +function intlgregcal_create_instance($timeZone = null, $locale = null) { } + +/** + * @param IntlGregorianCalendar $obj + * @param double $change + * + */ +function intlgregcal_set_gregorian_change($obj, $change) { } + +/** + * @param IntlGregorianCalendar $obj + * @return double $change + */ +function intlgregcal_get_gregorian_change($obj) { } + +/** + * @param int $year + * @return bool + */ +function intlgregcal_is_leap_year($year) { } + + +/** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Create a resource bundle + * @link https://php.net/manual/en/resourcebundle.create.php + * @param string $locale

+ * Locale for which the resources should be loaded (locale name, e.g. en_CA). + *

+ * @param string $bundlename

+ * The directory where the data is stored or the name of the .dat file. + *

+ * @param bool $fallback [optional]

+ * Whether locale should match exactly or fallback to parent locale is allowed. + *

+ * @return ResourceBundle|false ResourceBundle object or FALSE on error. + */ +function resourcebundle_create($locale, $bundlename, $fallback = null) { } + +/** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Get data from the bundle + * @link https://php.net/manual/en/resourcebundle.get.php + * @param ResourceBundle $r + * @param string|int $index

+ * Data index, must be string or integer. + *

+ * @return mixed the data located at the index or NULL on error. Strings, integers and binary data strings + * are returned as corresponding PHP types, integer array is returned as PHP array. Complex types are + * returned as ResourceBundle object. + */ +function resourcebundle_get(ResourceBundle $r, $index) { } + +/** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Get number of elements in the bundle + * @link https://php.net/manual/en/resourcebundle.count.php + * @param ResourceBundle $r + * @param $bundle + * @return int number of elements in the bundle. + */ +function resourcebundle_count(ResourceBundle $r, $bundle) { } + +/** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Get supported locales + * @link https://php.net/manual/en/resourcebundle.locales.php + * @param string $bundlename

+ * Path of ResourceBundle for which to get available locales, or + * empty string for default locales list. + *

+ * @return array the list of locales supported by the bundle. + */ +function resourcebundle_locales($bundlename) { } + +/** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Get bundle's last error code. + * @link https://php.net/manual/en/resourcebundle.geterrorcode.php + * @param $bundle + * @return int error code from last bundle object call. + */ +function resourcebundle_get_error_code(ResourceBundle $bundle) { } + +/** + * (PHP >= 5.3.2, PECL intl >= 2.0.0)
+ * Get bundle's last error message. + * @link https://php.net/manual/en/resourcebundle.geterrormessage.php + * @param $bundle + * @return string error message from last bundle object's call. + */ +function resourcebundle_get_error_message(ResourceBundle $bundle) { } + +/** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Create a transliterator + * @link https://php.net/manual/en/transliterator.create.php + * @param string $id

+ * The id. + *

+ * @param int $direction [optional]

+ * The direction, defaults to + * >Transliterator::FORWARD. + * May also be set to + * Transliterator::REVERSE. + *

+ * @return Transliterator|null a Transliterator object on success, + * or NULL on failure. + * @since 5.4 + */ +function transliterator_create($id, $direction = null) { } + +/** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Create transliterator from rules + * @link https://php.net/manual/en/transliterator.createfromrules.php + * @param string $rules

+ * The rules. + *

+ * @param string $direction [optional]

+ * The direction, defaults to + * >Transliterator::FORWARD. + * May also be set to + * Transliterator::REVERSE. + *

+ * @return Transliterator a Transliterator object on success, + * or NULL on failure. + * @since 5.4 + */ +function transliterator_create_from_rules($rules, $direction = null) { } + +/** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Get transliterator IDs + * @link https://php.net/manual/en/transliterator.listids.php + * @return array An array of registered transliterator IDs on success, + * or FALSE on failure. + * @since 5.4 + */ +function transliterator_list_ids() { } + +/** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Create an inverse transliterator + * @link https://php.net/manual/en/transliterator.createinverse.php + * @param Transliterator $orig_trans + * @return Transliterator a Transliterator object on success, + * or NULL on failure + * @since 5.4 + */ +function transliterator_create_inverse(Transliterator $orig_trans) { } + +/** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Transliterate a string + * @link https://php.net/manual/en/transliterator.transliterate.php + * @param Transliterator|string $transliterator + * @param string $subject

+ * The string to be transformed. + *

+ * @param int $start [optional]

+ * The start index (in UTF-16 code units) from which the string will start + * to be transformed, inclusive. Indexing starts at 0. The text before will + * be left as is. + *

+ * @param int $end [optional]

+ * The end index (in UTF-16 code units) until which the string will be + * transformed, exclusive. Indexing starts at 0. The text after will be + * left as is. + *

+ * @return string|false The transfomed string on success, or FALSE on failure. + * @since 5.4 + */ +function transliterator_transliterate($transliterator, $subject, $start = null, $end = null) { } + +/** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Get last error code + * @link https://php.net/manual/en/transliterator.geterrorcode.php + * @param Transliterator $trans + * @return int The error code on success, + * or FALSE if none exists, or on failure. + * @since 5.4 + */ +function transliterator_get_error_code(Transliterator $trans) { } + +/** + * (PHP >= 5.4.0, PECL intl >= 2.0.0)
+ * Get last error message + * @link https://php.net/manual/en/transliterator.geterrormessage.php + * @param Transliterator $trans + * @return string The error code on success, + * or FALSE if none exists, or on failure. + * @since 5.4 + */ +function transliterator_get_error_message(Transliterator $trans) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get the last error code + * @link https://php.net/manual/en/function.intl-get-error-code.php + * @return int Error code returned by the last API function call. + */ +function intl_get_error_code() { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get description of the last error + * @link https://php.net/manual/en/function.intl-get-error-message.php + * @return string Description of an error occurred in the last API function call. + */ +function intl_get_error_message() { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Check whether the given error code indicates failure + * @link https://php.net/manual/en/function.intl-is-failure.php + * @param int $error_code

+ * is a value that returned by functions: + * intl_get_error_code, + * collator_get_error_code . + *

+ * @return bool TRUE if it the code indicates some failure, and FALSE + * in case of success or a warning. + */ +function intl_is_failure($error_code) { } + +/** + * (PHP 5 >= 5.3.0, PECL intl >= 1.0.0)
+ * Get symbolic name for a given error code + * @link https://php.net/manual/en/function.intl-error-name.php + * @param int $error_code

+ * ICU error code. + *

+ * @return string The returned string will be the same as the name of the error code + * constant. + */ +function intl_error_name($error_code) { } + +/** + * Gets the Decomposition_Mapping property for the given UTF-8 encoded code point + * + * @link https://www.php.net/manual/en/normalizer.getrawdecomposition.php + * + * @param string $input + * @return string|null + * + * @since 7.3 + */ +function normalizer_get_raw_decomposition($input) { } + +/** + * @since 5.5 + */ +function intltz_create_default() { } + +/** + * @since 5.5 + */ +function intltz_get_gmt() { } + +/** + * @since 5.5 + */ +function intltz_get_unknown() { } + +/** + * @since 5.5 + */ +function intltz_create_time_zone_id_enumeration($zoneType, $region = null, $rawOffset = null) { } + +/** + * @since 5.5 + */ +function intltz_get_region($zoneId) { } + +/** + * Set minimal number of days the first week in a year or month can have + * + * @link https://www.php.net/manual/en/intlcalendar.setminimaldaysinfirstweek.php + * + * @param IntlCalendar $calendar + * @param int $numberOfDays + * @return bool + * + * @since 5.5.1 + */ +function intlcal_set_minimal_days_in_first_week(IntlCalendar $calendar, $numberOfDays) { } + +/** + * Limit on locale length, set to 80 in PHP code. Locale names longer + * than this limit will not be accepted. + * @link https://php.net/manual/en/intl.constants.php + */ +define ('INTL_MAX_LOCALE_LEN', 80); +define ('INTL_ICU_VERSION', "4.8.1.1"); +define ('INTL_ICU_DATA_VERSION', "4.8.1"); +define ('ULOC_ACTUAL_LOCALE', 0); +define ('ULOC_VALID_LOCALE', 1); +define ('GRAPHEME_EXTR_COUNT', 0); +define ('GRAPHEME_EXTR_MAXBYTES', 1); +define ('GRAPHEME_EXTR_MAXCHARS', 2); +define ('U_USING_FALLBACK_WARNING', -128); +define ('U_ERROR_WARNING_START', -128); +define ('U_USING_DEFAULT_WARNING', -127); +define ('U_SAFECLONE_ALLOCATED_WARNING', -126); +define ('U_STATE_OLD_WARNING', -125); +define ('U_STRING_NOT_TERMINATED_WARNING', -124); +define ('U_SORT_KEY_TOO_SHORT_WARNING', -123); +define ('U_AMBIGUOUS_ALIAS_WARNING', -122); +define ('U_DIFFERENT_UCA_VERSION', -121); +define ('U_ERROR_WARNING_LIMIT', -119); +define ('U_ZERO_ERROR', 0); +define ('U_ILLEGAL_ARGUMENT_ERROR', 1); +define ('U_MISSING_RESOURCE_ERROR', 2); +define ('U_INVALID_FORMAT_ERROR', 3); +define ('U_FILE_ACCESS_ERROR', 4); +define ('U_INTERNAL_PROGRAM_ERROR', 5); +define ('U_MESSAGE_PARSE_ERROR', 6); +define ('U_MEMORY_ALLOCATION_ERROR', 7); +define ('U_INDEX_OUTOFBOUNDS_ERROR', 8); +define ('U_PARSE_ERROR', 9); +define ('U_INVALID_CHAR_FOUND', 10); +define ('U_TRUNCATED_CHAR_FOUND', 11); +define ('U_ILLEGAL_CHAR_FOUND', 12); +define ('U_INVALID_TABLE_FORMAT', 13); +define ('U_INVALID_TABLE_FILE', 14); +define ('U_BUFFER_OVERFLOW_ERROR', 15); +define ('U_UNSUPPORTED_ERROR', 16); +define ('U_RESOURCE_TYPE_MISMATCH', 17); +define ('U_ILLEGAL_ESCAPE_SEQUENCE', 18); +define ('U_UNSUPPORTED_ESCAPE_SEQUENCE', 19); +define ('U_NO_SPACE_AVAILABLE', 20); +define ('U_CE_NOT_FOUND_ERROR', 21); +define ('U_PRIMARY_TOO_LONG_ERROR', 22); +define ('U_STATE_TOO_OLD_ERROR', 23); +define ('U_TOO_MANY_ALIASES_ERROR', 24); +define ('U_ENUM_OUT_OF_SYNC_ERROR', 25); +define ('U_INVARIANT_CONVERSION_ERROR', 26); +define ('U_INVALID_STATE_ERROR', 27); +define ('U_COLLATOR_VERSION_MISMATCH', 28); +define ('U_USELESS_COLLATOR_ERROR', 29); +define ('U_NO_WRITE_PERMISSION', 30); +define ('U_STANDARD_ERROR_LIMIT', 31); +define ('U_BAD_VARIABLE_DEFINITION', 65536); +define ('U_PARSE_ERROR_START', 65536); +define ('U_MALFORMED_RULE', 65537); +define ('U_MALFORMED_SET', 65538); +define ('U_MALFORMED_SYMBOL_REFERENCE', 65539); +define ('U_MALFORMED_UNICODE_ESCAPE', 65540); +define ('U_MALFORMED_VARIABLE_DEFINITION', 65541); +define ('U_MALFORMED_VARIABLE_REFERENCE', 65542); +define ('U_MISMATCHED_SEGMENT_DELIMITERS', 65543); +define ('U_MISPLACED_ANCHOR_START', 65544); +define ('U_MISPLACED_CURSOR_OFFSET', 65545); +define ('U_MISPLACED_QUANTIFIER', 65546); +define ('U_MISSING_OPERATOR', 65547); +define ('U_MISSING_SEGMENT_CLOSE', 65548); +define ('U_MULTIPLE_ANTE_CONTEXTS', 65549); +define ('U_MULTIPLE_CURSORS', 65550); +define ('U_MULTIPLE_POST_CONTEXTS', 65551); +define ('U_TRAILING_BACKSLASH', 65552); +define ('U_UNDEFINED_SEGMENT_REFERENCE', 65553); +define ('U_UNDEFINED_VARIABLE', 65554); +define ('U_UNQUOTED_SPECIAL', 65555); +define ('U_UNTERMINATED_QUOTE', 65556); +define ('U_RULE_MASK_ERROR', 65557); +define ('U_MISPLACED_COMPOUND_FILTER', 65558); +define ('U_MULTIPLE_COMPOUND_FILTERS', 65559); +define ('U_INVALID_RBT_SYNTAX', 65560); +define ('U_INVALID_PROPERTY_PATTERN', 65561); +define ('U_MALFORMED_PRAGMA', 65562); +define ('U_UNCLOSED_SEGMENT', 65563); +define ('U_ILLEGAL_CHAR_IN_SEGMENT', 65564); +define ('U_VARIABLE_RANGE_EXHAUSTED', 65565); +define ('U_VARIABLE_RANGE_OVERLAP', 65566); +define ('U_ILLEGAL_CHARACTER', 65567); +define ('U_INTERNAL_TRANSLITERATOR_ERROR', 65568); +define ('U_INVALID_ID', 65569); +define ('U_INVALID_FUNCTION', 65570); +define ('U_PARSE_ERROR_LIMIT', 65571); +define ('U_UNEXPECTED_TOKEN', 65792); +define ('U_FMT_PARSE_ERROR_START', 65792); +define ('U_MULTIPLE_DECIMAL_SEPARATORS', 65793); +define ('U_MULTIPLE_DECIMAL_SEPERATORS', 65793); +define ('U_MULTIPLE_EXPONENTIAL_SYMBOLS', 65794); +define ('U_MALFORMED_EXPONENTIAL_PATTERN', 65795); +define ('U_MULTIPLE_PERCENT_SYMBOLS', 65796); +define ('U_MULTIPLE_PERMILL_SYMBOLS', 65797); +define ('U_MULTIPLE_PAD_SPECIFIERS', 65798); +define ('U_PATTERN_SYNTAX_ERROR', 65799); +define ('U_ILLEGAL_PAD_POSITION', 65800); +define ('U_UNMATCHED_BRACES', 65801); +define ('U_UNSUPPORTED_PROPERTY', 65802); +define ('U_UNSUPPORTED_ATTRIBUTE', 65803); +define ('U_FMT_PARSE_ERROR_LIMIT', 65810); +define ('U_BRK_INTERNAL_ERROR', 66048); +define ('U_BRK_ERROR_START', 66048); +define ('U_BRK_HEX_DIGITS_EXPECTED', 66049); +define ('U_BRK_SEMICOLON_EXPECTED', 66050); +define ('U_BRK_RULE_SYNTAX', 66051); +define ('U_BRK_UNCLOSED_SET', 66052); +define ('U_BRK_ASSIGN_ERROR', 66053); +define ('U_BRK_VARIABLE_REDFINITION', 66054); +define ('U_BRK_MISMATCHED_PAREN', 66055); +define ('U_BRK_NEW_LINE_IN_QUOTED_STRING', 66056); +define ('U_BRK_UNDEFINED_VARIABLE', 66057); +define ('U_BRK_INIT_ERROR', 66058); +define ('U_BRK_RULE_EMPTY_SET', 66059); +define ('U_BRK_UNRECOGNIZED_OPTION', 66060); +define ('U_BRK_MALFORMED_RULE_TAG', 66061); +define ('U_BRK_ERROR_LIMIT', 66062); +define ('U_REGEX_INTERNAL_ERROR', 66304); +define ('U_REGEX_ERROR_START', 66304); +define ('U_REGEX_RULE_SYNTAX', 66305); +define ('U_REGEX_INVALID_STATE', 66306); +define ('U_REGEX_BAD_ESCAPE_SEQUENCE', 66307); +define ('U_REGEX_PROPERTY_SYNTAX', 66308); +define ('U_REGEX_UNIMPLEMENTED', 66309); +define ('U_REGEX_MISMATCHED_PAREN', 66310); +define ('U_REGEX_NUMBER_TOO_BIG', 66311); +define ('U_REGEX_BAD_INTERVAL', 66312); +define ('U_REGEX_MAX_LT_MIN', 66313); +define ('U_REGEX_INVALID_BACK_REF', 66314); +define ('U_REGEX_INVALID_FLAG', 66315); +define ('U_REGEX_LOOK_BEHIND_LIMIT', 66316); +define ('U_REGEX_SET_CONTAINS_STRING', 66317); +define ('U_REGEX_ERROR_LIMIT', 66324); +define ('U_IDNA_PROHIBITED_ERROR', 66560); +define ('U_IDNA_ERROR_START', 66560); +define ('U_IDNA_UNASSIGNED_ERROR', 66561); +define ('U_IDNA_CHECK_BIDI_ERROR', 66562); +define ('U_IDNA_STD3_ASCII_RULES_ERROR', 66563); +define ('U_IDNA_ACE_PREFIX_ERROR', 66564); +define ('U_IDNA_VERIFICATION_ERROR', 66565); +define ('U_IDNA_LABEL_TOO_LONG_ERROR', 66566); +define ('U_IDNA_ZERO_LENGTH_LABEL_ERROR', 66567); +define ('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR', 66568); +define ('U_IDNA_ERROR_LIMIT', 66569); +define ('U_STRINGPREP_PROHIBITED_ERROR', 66560); +define ('U_STRINGPREP_UNASSIGNED_ERROR', 66561); +define ('U_STRINGPREP_CHECK_BIDI_ERROR', 66562); +define ('U_ERROR_LIMIT', 66818); + +/** + * Prohibit processing of unassigned codepoints in the input for IDN + * functions and do not check if the input conforms to domain name ASCII rules. + * @link https://php.net/manual/en/intl.constants.php + */ +define ('IDNA_DEFAULT', 0); + +/** + * Allow processing of unassigned codepoints in the input for IDN functions. + * @link https://php.net/manual/en/intl.constants.php + */ +define ('IDNA_ALLOW_UNASSIGNED', 1); + +/** + * Check if the input for IDN functions conforms to domain name ASCII rules. + * @link https://php.net/manual/en/intl.constants.php + */ +define ('IDNA_USE_STD3_RULES', 2); + +/** + * Check whether the input conforms to the BiDi rules. + * Ignored by the IDNA2003 implementation, which always performs this check. + * @link https://php.net/manual/en/intl.constants.php + */ +define ('IDNA_CHECK_BIDI', 4); + +/** + * Check whether the input conforms to the CONTEXTJ rules. + * Ignored by the IDNA2003 implementation, as this check is new in IDNA2008. + * @link https://php.net/manual/en/intl.constants.php + */ +define ('IDNA_CHECK_CONTEXTJ', 8); + +/** + * Option for nontransitional processing in + * idn_to_ascii. Transitional processing is activated + * by default. This option is ignored by the IDNA2003 implementation. + * @link https://php.net/manual/en/intl.constants.php + */ +define ('IDNA_NONTRANSITIONAL_TO_ASCII', 16); + +/** + * Option for nontransitional processing in + * idn_to_utf8. Transitional processing is activated + * by default. This option is ignored by the IDNA2003 implementation. + * @link https://php.net/manual/en/intl.constants.php + */ +define ('IDNA_NONTRANSITIONAL_TO_UNICODE', 32); + +/** + * Use IDNA 2003 algorithm in {@see idn_to_utf8} and + * {@see idn_to_ascii}. This is the default. + * @link https://php.net/manual/en/intl.constants.php + * @deprecated 7.2 Use {@see INTL_IDNA_VARIANT_UTS46} instead. + * @removed 8.0 + */ +define ('INTL_IDNA_VARIANT_2003', 0); + +/** + * Use UTS #46 algorithm in idn_to_utf8 and + * idn_to_ascii. + * @link https://php.net/manual/en/intl.constants.php + */ +define ('INTL_IDNA_VARIANT_UTS46', 1); + +/** + * Errors reported in a bitset returned by the UTS #46 algorithm in + * idn_to_utf8 and + * idn_to_ascii. + * @link https://php.net/manual/en/intl.constants.php + */ +define ('IDNA_ERROR_EMPTY_LABEL', 1); +/** + * @link https://secure.php.net/manual/en/migration54.global-constants.php + * @since 5.4 + */ +define ('IDNA_ERROR_LABEL_TOO_LONG', 2); +/** + * @link https://secure.php.net/manual/en/migration54.global-constants.php + * @since 5.4 + */ +define ('IDNA_ERROR_DOMAIN_NAME_TOO_LONG', 4); +/** + * @link https://secure.php.net/manual/en/migration54.global-constants.php + * @since 5.4 + */ +define ('IDNA_ERROR_LEADING_HYPHEN', 8); +/** + * @link https://secure.php.net/manual/en/migration54.global-constants.php + * @since 5.4 + */ +define ('IDNA_ERROR_TRAILING_HYPHEN', 16); +/** + * @link https://secure.php.net/manual/en/migration54.global-constants.php + * @since 5.4 + */ +define ('IDNA_ERROR_HYPHEN_3_4', 32); +/** + * @link https://secure.php.net/manual/en/migration54.global-constants.php + * @since 5.4 + */ +define ('IDNA_ERROR_LEADING_COMBINING_MARK', 64); +/** + * @link https://secure.php.net/manual/en/migration54.global-constants.php + * @since 5.4 + */ +define ('IDNA_ERROR_DISALLOWED', 128); +/** + * @link https://secure.php.net/manual/en/migration54.global-constants.php + * @since 5.4 + */ +define ('IDNA_ERROR_PUNYCODE', 256); +/** + * @link https://secure.php.net/manual/en/migration54.global-constants.php + * @since 5.4 + */ +define ('IDNA_ERROR_LABEL_HAS_DOT', 512); +/** + * @link https://secure.php.net/manual/en/migration54.global-constants.php + * @since 5.4 + */ +define ('IDNA_ERROR_INVALID_ACE_LABEL', 1024); +/** + * @link https://secure.php.net/manual/en/migration54.global-constants.php + * @since 5.4 + */ +define ('IDNA_ERROR_BIDI', 2048); +/** + * @link https://secure.php.net/manual/en/migration54.global-constants.php + * @since 5.4 + */ +define ('IDNA_ERROR_CONTEXTJ', 4096); + +/** + * @since 5.5 + */ +class IntlBreakIterator implements IteratorAggregate +{ + /* Constants */ + const DONE = -1; + const WORD_NONE = 0; + const WORD_NONE_LIMIT = 100; + const WORD_NUMBER = 100; + const WORD_NUMBER_LIMIT = 200; + const WORD_LETTER = 200; + const WORD_LETTER_LIMIT = 300; + const WORD_KANA = 300; + const WORD_KANA_LIMIT = 400; + const WORD_IDEO = 400; + const WORD_IDEO_LIMIT = 500; + const LINE_SOFT = 0; + const LINE_SOFT_LIMIT = 100; + const LINE_HARD = 100; + const LINE_HARD_LIMIT = 200; + const SENTENCE_TERM = 0; + const SENTENCE_TERM_LIMIT = 100; + const SENTENCE_SEP = 100; + const SENTENCE_SEP_LIMIT = 200; + + /* Methods */ + /** + * (PHP 5 >=5.5.0)
+ * Private constructor for disallowing instantiation + */ + private function __construct() { } + + /** + * (PHP 5 >=5.5.0)
+ * Create break iterator for boundaries of combining character sequences + * @link https://secure.php.net/manual/en/intlbreakiterator.createcharacterinstance.php + * @param string $locale + * @return IntlBreakIterator + */ + public static function createCharacterInstance($locale) { } + + /** + * (PHP 5 >=5.5.0)
+ * Create break iterator for boundaries of code points + * @link https://secure.php.net/manual/en/intlbreakiterator.createcodepointinstance.php + * @return IntlBreakIterator + */ + public static function createCodePointInstance() { } + + /** + * (PHP 5 >=5.5.0)
+ * Create break iterator for logically possible line breaks + * @link https://secure.php.net/manual/en/intlbreakiterator.createlineinstance.php + * @param string $locale + * @return IntlBreakIterator + */ + public static function createLineInstance($locale) { } + + /** + * (PHP 5 >=5.5.0)
+ * Create break iterator for sentence breaks + * @link https://secure.php.net/manual/en/intlbreakiterator.createsentenceinstance.php + * @param string $locale + * @return IntlBreakIterator + */ + public static function createSentenceInstance($locale) { } + + /** + * (PHP 5 >=5.5.0)
+ * Create break iterator for title-casing breaks + * @link https://secure.php.net/manual/en/intlbreakiterator.createtitleinstance.php + * @param string $locale + * @return IntlBreakIterator + */ + public static function createTitleInstance($locale) { } + + /** + * (PHP 5 >=5.5.0)
+ * Create break iterator for word breaks + * @link https://secure.php.net/manual/en/intlbreakiterator.createwordinstance.php + * @param string $locale + * @return IntlBreakIterator + */ + public static function createWordInstance($locale) { } + + /** + * (PHP 5 >=5.5.0)
+ * Get index of current position + * @link https://secure.php.net/manual/en/intlbreakiterator.current.php + * @return int + */ + public function current() { } + + /** + * (PHP 5 >=5.5.0)
+ * Set position to the first character in the text + * @link https://secure.php.net/manual/en/intlbreakiterator.first.php + */ + public function first() { } + + /** + * (PHP 5 >=5.5.0)
+ * Advance the iterator to the first boundary following specified offset + * @link https://secure.php.net/manual/en/intlbreakiterator.following.php + * @param int $offset + */ + public function following($offset) { } + + /** + * (PHP 5 >=5.5.0)
+ * Get last error code on the object + * @link https://secure.php.net/manual/en/intlbreakiterator.geterrorcode.php + * @return int + */ + public function getErrorCode() { } + + /** + * (PHP 5 >=5.5.0)
+ * Get last error message on the object + * @link https://secure.php.net/manual/en/intlbreakiterator.geterrormessage.php + * @return string + */ + public function getErrorMessage() { } + + + /** + * (PHP 5 >=5.5.0)
+ * Get the locale associated with the object + * @link https://secure.php.net/manual/en/intlbreakiterator.getlocale.php + * @param string $locale_type + */ + public function getLocale($locale_type) { } + + /** + * (PHP 5 >=5.5.0)
+ * Create iterator for navigating fragments between boundaries + * @link https://secure.php.net/manual/en/intlbreakiterator.getpartsiterator.php + * @param string $key_type [optional] + */ + public function getPartsIterator($key_type) { } + + /** + * (PHP 5 >=5.5.0)
+ * Get the text being scanned + * @link https://secure.php.net/manual/en/intlbreakiterator.gettext.php + */ + public function getText() { } + + /** + * (PHP 5 >=5.5.0)
+ * Tell whether an offset is a boundary's offset + * @link https://secure.php.net/manual/en/intlbreakiterator.isboundary.php + * @param string $offset + */ + public function isBoundary($offset) { } + + /** + * (PHP 5 >=5.5.0)
+ * Set the iterator position to index beyond the last character + * @link https://secure.php.net/manual/en/intlbreakiterator.last.php + * @return int + */ + public function last() { } + + /** + * (PHP 5 >=5.5.0)
+ * @link https://secure.php.net/manual/en/intlbreakiterator.next.php + * @param string $offset [optional] + * @return int + */ + public function next($offset) { } + + /** + * (PHP 5 >=5.5.0)
+ * @link https://secure.php.net/manual/en/intlbreakiterator.preceding.php + * @param int $offset + */ + public function preceding($offset) { } + + /** + * (PHP 5 >=5.5.0)
+ * Set the iterator position to the boundary immediately before the current + * @link https://secure.php.net/manual/en/intlbreakiterator.previous.php + * @return int + */ + public function previous() { } + + /** + * (PHP 5 >=5.5.0)
+ * Set the text being scanned + * @link https://secure.php.net/manual/en/intlbreakiterator.settext.php + * @param string $text + */ + public function setText($text) { } + + public function getIterator(){} +} + +class IntlRuleBasedBreakIterator extends IntlBreakIterator implements Traversable { + + /* Methods */ + /** + * (PHP 5 >=5.5.0)
+ * @link https://secure.php.net/manual/en/intlbreakiterator.construct.php + * @param string $rules + * @param string $areCompiled [optional] + */ + public function __construct($rules, $areCompiled) { } + + /** + * (PHP 5 >=5.5.0)
+ * Create break iterator for boundaries of combining character sequences + * @link https://secure.php.net/manual/en/intlbreakiterator.createcharacterinstance.php + * @param string $locale + * @return IntlRuleBasedBreakIterator + */ + public static function createCharacterInstance($locale) { } + + /* + * (PHP 5 >=5.5.0)
+ * Create break iterator for boundaries of code points + * @link https://secure.php.net/manual/en/intlbreakiterator.createcodepointinstance.php + * @return IntlRuleBasedBreakIterator + */ + public static function createCodePointInstance() { } + + /** + * (PHP 5 >=5.5.0)
+ * Create break iterator for logically possible line breaks + * @link https://secure.php.net/manual/en/intlbreakiterator.createlineinstance.php + * @param string $locale + * @return IntlRuleBasedBreakIterator + */ + public static function createLineInstance($locale) { } + + /** + * (PHP 5 >=5.5.0)
+ * Create break iterator for sentence breaks + * @link https://secure.php.net/manual/en/intlbreakiterator.createsentenceinstance.php + * @param string $locale + * @return IntlRuleBasedBreakIterator + */ + public static function createSentenceInstance($locale) { } + + /** + * (PHP 5 >=5.5.0)
+ * Create break iterator for title-casing breaks + * @link https://secure.php.net/manual/en/intlbreakiterator.createtitleinstance.php + * @param string $locale + * @return IntlRuleBasedBreakIterator + */ + public static function createTitleInstance($locale) { } + + /** + * (PHP 5 >=5.5.0)
+ * Create break iterator for word breaks + * @link https://secure.php.net/manual/en/intlbreakiterator.createwordinstance.php + * @param string $locale + * @return IntlRuleBasedBreakIterator + */ + public static function createWordInstance($locale) { } + + /** + * (PHP 5 >=5.5.0)
+ * @link https://secure.php.net/manual/en/intlrulebasedbreakiterator.getbinaryrules.php + * Get the binary form of compiled rules + * @return string + */ + public function getBinaryRules() { } + + /** + * (PHP 5 >=5.5.0)
+ * @link https://secure.php.net/manual/en/intlrulebasedbreakiterator.getrules.php + * Get the rule set used to create this object + * @return string + */ + public function getRules() { } + + /** + * (PHP 5 >=5.5.0)
+ * @link https://secure.php.net/manual/en/intlrulebasedbreakiterator.getrulesstatus.php + * Get the largest status value from the break rules that determined the current break position + * @return int + */ + public function getRuleStatus() { } + + /** + * (PHP 5 >=5.5.0)
+ * @link https://secure.php.net/manual/en/intlrulebasedbreakiterator.getrulestatusvec.php + * Get the status values from the break rules that determined the current break position + * @return array + */ + public function getRuleStatusVec() { } +} + +/** + * @link https://www.php.net/manual/en/class.intlpartsiterator.php + * @since 5.5 + */ +class IntlPartsIterator extends IntlIterator implements Iterator { + + const KEY_SEQUENTIAL = 0 ; + const KEY_LEFT = 1 ; + const KEY_RIGHT = 2 ; + + /** + * @return IntlBreakIterator + */ + public function getBreakIterator() { } +} + +class IntlCodePointBreakIterator extends IntlBreakIterator implements Traversable { + + + /** + * (PHP 5 >=5.5.0)
+ * Get last code point passed over after advancing or receding the iterator + * @link https://secure.php.net/manual/en/intlcodepointbreakiterator.getlastcodepoint.php + * @return int + */ + public function getLastCodePoint() { } +} + +class UConverter { + + /* Constants */ + const REASON_UNASSIGNED = 0; + const REASON_ILLEGAL = 1; + const REASON_IRREGULAR = 2; + const REASON_RESET = 3; + const REASON_CLOSE = 4; + const REASON_CLONE = 5; + const UNSUPPORTED_CONVERTER = -1; + const SBCS = 0; + const DBCS = 1; + const MBCS = 2; + const LATIN_1 = 3; + const UTF8 = 4; + const UTF16_BigEndian = 5; + const UTF16_LittleEndian = 6; + const UTF32_BigEndian = 7; + const UTF32_LittleEndian = 8; + const EBCDIC_STATEFUL = 9; + const ISO_2022 = 10; + const LMBCS_1 = 11; + const LMBCS_2 = 12; + const LMBCS_3 = 13; + const LMBCS_4 = 14; + const LMBCS_5 = 15; + const LMBCS_6 = 16; + const LMBCS_8 = 17; + const LMBCS_11 = 18; + const LMBCS_16 = 19; + const LMBCS_17 = 20; + const LMBCS_18 = 21; + const LMBCS_19 = 22; + const LMBCS_LAST = 22; + const HZ = 23; + const SCSU = 24; + const ISCII = 25; + const US_ASCII = 26; + const UTF7 = 27; + const BOCU1 = 28; + const UTF16 = 29; + const UTF32 = 30; + const CESU8 = 31; + const IMAP_MAILBOX = 32; + + /* Methods */ + /** + * (PHP 5 >=5.5.0)
+ * Create UConverter object + * @link https://php.net/manual/en/uconverter.construct.php + * @param string $destination_encoding + * @param string $source_encoding + */ + public function __construct($destination_encoding = null, $source_encoding = null) { } + + /** + * (PHP 5 >=5.5.0)
+ * Convert string from one charset to anothe + * @link https://php.net/manual/en/uconverter.convert.php + * @param string $str + * @param bool $reverse + * @return string + */ + public function convert($str, $reverse) { } + + /** + * (PHP 5 >=5.5.0)
+ * Default "from" callback function + * @link https://php.net/manual/en/uconverter.fromucallback.php + * @param int $reason + * @param string $source + * @param string $codePoint + * @param int $error + * @return mixed + */ + public function fromUCallback($reason, $source, $codePoint, &$error) { } + + /** + * (PHP 5 >=5.5.0)
+ * Get the aliases of the given name + * @link https://php.net/manual/en/uconverter.getaliases.php + * @param string $name + * @return array + */ + public static function getAliases($name = null) { } + + /** + * (PHP 5 >=5.5.0)
+ * Get the available canonical converter names + * @link https://php.net/manual/en/uconverter.getavailable.php + * @return array + */ + public static function getAvailable() { } + + /** + * (PHP 5 >=5.5.0)
+ * Get the destination encoding + * @link https://php.net/manual/en/uconverter.getdestinationencoding.php + * @return string + */ + public function getDestinationEncoding() { } + + /** + * (PHP 5 >=5.5.0)
+ * Get the destination converter type + * @link https://php.net/manual/en/uconverter.getdestinationtype.php + * @return int + */ + public function getDestinationType() { } + + /** + * (PHP 5 >=5.5.0)
+ * Get last error code on the object + * @link https://php.net/manual/en/uconverter.geterrorcode.php + * @return int + */ + public function getErrorCode() { } + + /** + * (PHP 5 >=5.5.0)
+ * Get last error message on the object + * @link https://php.net/manual/en/uconverter.geterrormessage.php + * @return string + */ + public function getErrorMessage() { } + + /** + * (PHP 5 >=5.5.0)
+ * Get the source encoding + * @link https://php.net/manual/en/uconverter.getsourceencoding.php + * @return string + */ + public function getSourceEncoding() { } + + /** + * (PHP 5 >=5.5.0)
+ * Get the source convertor type + * @link https://php.net/manual/en/uconverter.getsourcetype.php + * @return int + */ + public function getSourceType() { } + + /** + * (PHP 5 >=5.5.0)
+ * Get standards associated to converter names + * @link https://php.net/manual/en/uconverter.getstandards.php + * @return array + */ + public static function getStandards() { } + + /** + * (PHP 5 >=5.5.0)
+ * Get substitution chars + * @link https://php.net/manual/en/uconverter.getsubstchars.php + * @return string + */ + public function getSubstChars() { } + + /** + * (PHP 5 >=5.5.0)
+ * Get string representation of the callback reason + * @link https://php.net/manual/en/uconverter.reasontext.php + * @param int $reason + * @return string + */ + public static function reasonText($reason) { } + + /** + * (PHP 5 >=5.5.0)
+ * Set the destination encoding + * @link https://php.net/manual/en/uconverter.setdestinationencoding.php + * @param string $encoding + * @return void + */ + public function setDestinationEncoding($encoding) { } + + /** + * (PHP 5 >=5.5.0)
+ * Set the source encoding + * @link https://php.net/manual/en/uconverter.setsourceencoding.php + * @param string $encoding + * @return void + */ + public function setSourceEncoding($encoding) { } + + /** + * (PHP 5 >=5.5.0)
+ * Set the substitution chars + * @link https://php.net/manual/en/uconverter.setsubstchars.php + * @param string $chars + * @return void + */ + public function setSubstChars($chars) { } + + /** + * (PHP 5 >=5.5.0)
+ * Default "to" callback function + * @link https://php.net/manual/en/uconverter.toucallback.php + * @param int $reason + * @param string $source + * @param string $codeUnits + * @param int $error + * @return mixed + */ + public function toUCallback($reason, $source, $codeUnits, &$error) { } + + /** + * (PHP 5 >=5.5.0)
+ * Convert string from one charset to another + * @link https://php.net/manual/en/uconverter.transcode.php + * @param string $str + * @param string $toEncoding + * @param string $fromEncoding + * @param array $options + * @return string + */ + public static function transcode($str, $toEncoding, $fromEncoding, array $options = []) { } +} +// End of intl v.1.1.0 +?> diff --git a/build/stubs/ldap.php b/build/stubs/ldap.php new file mode 100644 index 0000000000..748a662cf4 --- /dev/null +++ b/build/stubs/ldap.php @@ -0,0 +1,1560 @@ + + * If you are using OpenLDAP 2.x.x you can specify a URL instead of the + * hostname. To use LDAP with SSL, compile OpenLDAP 2.x.x with SSL + * support, configure PHP with SSL, and set this parameter as + * ldaps://hostname/. + *

+ * @param int $port [optional]

+ * The port to connect to. Not used when using URLs. + *

+ * @return resource|false a positive LDAP link identifier on success, or FALSE on error. + * When OpenLDAP 2.x.x is used, ldap_connect will always + * return a resource as it does not actually connect but just + * initializes the connecting parameters. The actual connect happens with + * the next calls to ldap_* funcs, usually with + * ldap_bind. + *

+ *

+ * If no arguments are specified then the link identifier of the already + * opened link will be returned. + */ +function ldap_connect ($hostname = null, $port = 389) {} + +/** + * Alias of ldap_unbind + * @link https://php.net/manual/en/function.ldap-close.php + * @param $link_identifier + */ +function ldap_close ($link_identifier) {} + +/** + * Bind to LDAP directory + * @link https://php.net/manual/en/function.ldap-bind.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $bind_rdn [optional] + * @param string $bind_password [optional] + * @return bool TRUE on success or FALSE on failure. + */ +function ldap_bind ($link_identifier, $bind_rdn = null, $bind_password = null) {} + +/** + * Bind to LDAP directory + * Does the same thing as ldap_bind() but returns the LDAP result resource to be parsed with ldap_parse_result(). + * @link https://php.net/manual/en/function.ldap-bind.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $bind_rdn [optional] + * @param string $bind_password [optional] + * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return resource|false + * @since 7.3 + */ +function ldap_bind_ext ($link_identifier, $bind_rdn = null, $bind_password = null, $serverctrls = []) {} + + +/** + * Bind to LDAP directory using SASL + * @link https://php.net/manual/en/function.ldap-sasl-bind.php + * @param resource $link + * @param string $binddn [optional] + * @param string $password [optional] + * @param string $sasl_mech [optional] + * @param string $sasl_realm [optional] + * @param string $sasl_authc_id [optional] + * @param string $sasl_authz_id [optional] + * @param string $props [optional] + * @return bool TRUE on success or FALSE on failure. + */ +function ldap_sasl_bind ($link, $binddn = null, $password = null, $sasl_mech = null, $sasl_realm = null, $sasl_authc_id = null, $sasl_authz_id = null, $props = null) {} + +/** + * Unbind from LDAP directory + * @link https://php.net/manual/en/function.ldap-unbind.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function ldap_unbind ($link_identifier) {} + +/** + * Read an entry + * @link https://php.net/manual/en/function.ldap-read.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $base_dn

+ * The base DN for the directory. + *

+ * @param string $filter

+ * An empty filter is not allowed. If you want to retrieve absolutely all + * information for this entry, use a filter of + * objectClass=*. If you know which entry types are + * used on the directory server, you might use an appropriate filter such + * as objectClass=inetOrgPerson. + *

+ * @param array $attributes [optional]

+ * An array of the required attributes, e.g. array("mail", "sn", "cn"). + * Note that the "dn" is always returned irrespective of which attributes + * types are requested. + *

+ *

+ * Using this parameter is much more efficient than the default action + * (which is to return all attributes and their associated values). + * The use of this parameter should therefore be considered good + * practice. + *

+ * @param int $attrsonly [optional]

+ * Should be set to 1 if only attribute types are wanted. If set to 0 + * both attributes types and attribute values are fetched which is the + * default behaviour. + *

+ * @param int $sizelimit [optional]

+ * Enables you to limit the count of entries fetched. Setting this to 0 + * means no limit. + *

+ *

+ * This parameter can NOT override server-side preset sizelimit. You can + * set it lower though. + *

+ *

+ * Some directory server hosts will be configured to return no more than + * a preset number of entries. If this occurs, the server will indicate + * that it has only returned a partial results set. This also occurs if + * you use this parameter to limit the count of fetched entries. + *

+ * @param int $timelimit [optional]

+ * Sets the number of seconds how long is spend on the search. Setting + * this to 0 means no limit. + *

+ *

+ * This parameter can NOT override server-side preset timelimit. You can + * set it lower though. + *

+ * @param int $deref [optional]

+ * Specifies how aliases should be handled during the search. It can be + * one of the following: + * LDAP_DEREF_NEVER - (default) aliases are never + * dereferenced. + * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return resource|false a search result identifier or FALSE on error. + */ +function ldap_read ($link_identifier, $base_dn, $filter, array $attributes = null, $attrsonly = null, $sizelimit = null, $timelimit = null, $deref = null, $serverctrls = []) {} + +/** + * Single-level search + * @link https://php.net/manual/en/function.ldap-list.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $base_dn

+ * The base DN for the directory. + *

+ * @param string $filter + * @param array $attributes [optional]

+ * An array of the required attributes, e.g. array("mail", "sn", "cn"). + * Note that the "dn" is always returned irrespective of which attributes + * types are requested. + *

+ *

+ * Using this parameter is much more efficient than the default action + * (which is to return all attributes and their associated values). + * The use of this parameter should therefore be considered good + * practice. + *

+ * @param int $attrsonly [optional]

+ * Should be set to 1 if only attribute types are wanted. If set to 0 + * both attributes types and attribute values are fetched which is the + * default behaviour. + *

+ * @param int $sizelimit [optional]

+ * Enables you to limit the count of entries fetched. Setting this to 0 + * means no limit. + *

+ *

+ * This parameter can NOT override server-side preset sizelimit. You can + * set it lower though. + *

+ *

+ * Some directory server hosts will be configured to return no more than + * a preset number of entries. If this occurs, the server will indicate + * that it has only returned a partial results set. This also occurs if + * you use this parameter to limit the count of fetched entries. + *

+ * @param int $timelimit [optional]

+ * Sets the number of seconds how long is spend on the search. Setting + * this to 0 means no limit. + *

+ *

+ * This parameter can NOT override server-side preset timelimit. You can + * set it lower though. + *

+ * @param int $deref [optional]

+ * Specifies how aliases should be handled during the search. It can be + * one of the following: + * LDAP_DEREF_NEVER - (default) aliases are never + * dereferenced. + * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return resource|false a search result identifier or FALSE on error. + */ +function ldap_list ($link_identifier, $base_dn, $filter, array $attributes = null, $attrsonly = null, $sizelimit = null, $timelimit = null, $deref = null, $serverctrls = []) {} + +/** + * Search LDAP tree + * @link https://php.net/manual/en/function.ldap-search.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $base_dn

+ * The base DN for the directory. + *

+ * @param string $filter

+ * The search filter can be simple or advanced, using boolean operators in + * the format described in the LDAP documentation (see the Netscape Directory SDK for full + * information on filters). + *

+ * @param array $attributes [optional]

+ * An array of the required attributes, e.g. array("mail", "sn", "cn"). + * Note that the "dn" is always returned irrespective of which attributes + * types are requested. + *

+ *

+ * Using this parameter is much more efficient than the default action + * (which is to return all attributes and their associated values). + * The use of this parameter should therefore be considered good + * practice. + *

+ * @param int $attrsonly [optional]

+ * Should be set to 1 if only attribute types are wanted. If set to 0 + * both attributes types and attribute values are fetched which is the + * default behaviour. + *

+ * @param int $sizelimit [optional]

+ * Enables you to limit the count of entries fetched. Setting this to 0 + * means no limit. + *

+ *

+ * This parameter can NOT override server-side preset sizelimit. You can + * set it lower though. + *

+ *

+ * Some directory server hosts will be configured to return no more than + * a preset number of entries. If this occurs, the server will indicate + * that it has only returned a partial results set. This also occurs if + * you use this parameter to limit the count of fetched entries. + *

+ * @param int $timelimit [optional]

+ * Sets the number of seconds how long is spend on the search. Setting + * this to 0 means no limit. + *

+ *

+ * This parameter can NOT override server-side preset timelimit. You can + * set it lower though. + *

+ * @param int $deref [optional]

+ * Specifies how aliases should be handled during the search. It can be + * one of the following: + * LDAP_DEREF_NEVER - (default) aliases are never + * dereferenced. + * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return resource|false a search result identifier or FALSE on error. + */ +function ldap_search ($link_identifier, $base_dn, $filter, array $attributes = null, $attrsonly = null, $sizelimit = null, $timelimit = null, $deref = null, $serverctrls = []) {} + +/** + * Free result memory + * @link https://php.net/manual/en/function.ldap-free-result.php + * @param resource $result_identifier + * @return bool TRUE on success or FALSE on failure. + */ +function ldap_free_result ($result_identifier) {} + +/** + * Count the number of entries in a search + * @link https://php.net/manual/en/function.ldap-count-entries.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param resource $result_identifier

+ * The internal LDAP result. + *

+ * @return int|false number of entries in the result or FALSE on error. + */ +function ldap_count_entries ($link_identifier, $result_identifier) {} + +/** + * Return first result id + * @link https://php.net/manual/en/function.ldap-first-entry.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param resource $result_identifier + * @return resource|false the result entry identifier for the first entry on success and + * FALSE on error. + */ +function ldap_first_entry ($link_identifier, $result_identifier) {} + +/** + * Get next result entry + * @link https://php.net/manual/en/function.ldap-next-entry.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param resource $result_entry_identifier + * @return resource|false entry identifier for the next entry in the result whose entries + * are being read starting with ldap_first_entry. If + * there are no more entries in the result then it returns FALSE. + */ +function ldap_next_entry ($link_identifier, $result_entry_identifier) {} + +/** + * Get all result entries + * @link https://php.net/manual/en/function.ldap-get-entries.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param resource $result_identifier + * @return array a complete result information in a multi-dimensional array on + * success and FALSE on error. + *

+ *

+ * The structure of the array is as follows. + * The attribute index is converted to lowercase. (Attributes are + * case-insensitive for directory servers, but not when used as + * array indices.) + *

+ * return_value["count"] = number of entries in the result
+ * return_value[0] : refers to the details of first entry
+ * return_value[i]["dn"] = DN of the ith entry in the result
+ * return_value[i]["count"] = number of attributes in ith entry
+ * return_value[i][j] = NAME of the jth attribute in the ith entry in the result
+ * return_value[i]["attribute"]["count"] = number of values for
+ * attribute in ith entry
+ * return_value[i]["attribute"][j] = jth value of attribute in ith entry
+ * 
+ */ +function ldap_get_entries ($link_identifier, $result_identifier) {} + +/** + * Return first attribute + * @link https://php.net/manual/en/function.ldap-first-attribute.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param resource $result_entry_identifier + * @param int $dummy_ber [optional] is the identifier to internal memory location pointer. This parameter is no longer used as this is now handled automatically by PHP. For backwards compatibility PHP will not throw an error if this parameter is passed. + * @return string|false the first attribute in the entry on success and FALSE on + * error. + */ +function ldap_first_attribute ($link_identifier, $result_entry_identifier, $dummy_ber = null) {} + +/** + * Get the next attribute in result + * @link https://php.net/manual/en/function.ldap-next-attribute.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param resource $result_entry_identifier + * @param int $dummy_ber [optional] The internal state of the pointer is maintained by this parameter. This parameter is no longer used as this is now handled automatically by PHP. For backwards compatibility PHP will not throw an error if this parameter is passed. + * @return string|false the next attribute in an entry on success and FALSE on + * error. + */ +function ldap_next_attribute ($link_identifier, $result_entry_identifier, $dummy_ber) {} + +/** + * Get attributes from a search result entry + * @link https://php.net/manual/en/function.ldap-get-attributes.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param resource $result_entry_identifier + * @return array a complete entry information in a multi-dimensional array + * on success and FALSE on error. + */ +function ldap_get_attributes ($link_identifier, $result_entry_identifier) {} + +/** + * Get all values from a result entry + * @link https://php.net/manual/en/function.ldap-get-values.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param resource $result_entry_identifier + * @param string $attribute + * @return array|false an array of values for the attribute on success and FALSE on + * error. The number of values can be found by indexing "count" in the + * resultant array. Individual values are accessed by integer index in the + * array. The first index is 0. + *

+ *

+ * LDAP allows more than one entry for an attribute, so it can, for example, + * store a number of email addresses for one person's directory entry all + * labeled with the attribute "mail" + * return_value["count"] = number of values for attribute + * return_value[0] = first value of attribute + * return_value[i] = ith value of attribute + */ +function ldap_get_values ($link_identifier, $result_entry_identifier, $attribute) {} + +/** + * Get all binary values from a result entry + * @link https://php.net/manual/en/function.ldap-get-values-len.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param resource $result_entry_identifier + * @param string $attribute + * @return array|false an array of values for the attribute on success and FALSE on + * error. Individual values are accessed by integer index in the array. The + * first index is 0. The number of values can be found by indexing "count" + * in the resultant array. + */ +function ldap_get_values_len ($link_identifier, $result_entry_identifier, $attribute) {} + +/** + * Get the DN of a result entry + * @link https://php.net/manual/en/function.ldap-get-dn.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param resource $result_entry_identifier + * @return string|false the DN of the result entry and FALSE on error. + */ +function ldap_get_dn ($link_identifier, $result_entry_identifier) {} + +/** + * Splits DN into its component parts + * @link https://php.net/manual/en/function.ldap-explode-dn.php + * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param int $with_attrib

+ * Used to request if the RDNs are returned with only values or their + * attributes as well. To get RDNs with the attributes (i.e. in + * attribute=value format) set with_attrib to 0 + * and to get only values set it to 1. + *

+ * @return array an array of all DN components. + * The first element in this array has count key and + * represents the number of returned values, next elements are numerically + * indexed DN components. + */ +function ldap_explode_dn ($dn, $with_attrib) {} + +/** + * Convert DN to User Friendly Naming format + * @link https://php.net/manual/en/function.ldap-dn2ufn.php + * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @return string the user friendly name. + */ +function ldap_dn2ufn ($dn) {} + +/** + * Add entries to LDAP directory + * @link https://php.net/manual/en/function.ldap-add.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param array $entry

+ * An array that specifies the information about the entry. The values in + * the entries are indexed by individual attributes. + * In case of multiple values for an attribute, they are indexed using + * integers starting with 0. + * + * $entree["attribut1"] = "value"; + * $entree["attribut2"][0] = "value1"; + * $entree["attribut2"][1] = "value2"; + * + *

+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return bool TRUE on success or FALSE on failure. + */ +function ldap_add ($link_identifier, $dn, array $entry, $serverctrls = []) {} + +/** + * Add entries to LDAP directory + * Does the same thing as ldap_add() but returns the LDAP result resource to be parsed with ldap_parse_result(). + * @link https://www.php.net/manual/en/function.ldap-add-ext.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param array $entry

+ * An array that specifies the information about the entry. The values in + * the entries are indexed by individual attributes. + * In case of multiple values for an attribute, they are indexed using + * integers starting with 0. + * + * $entree["attribut1"] = "value"; + * $entree["attribut2"][0] = "value1"; + * $entree["attribut2"][1] = "value2"; + * + *

+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return resource|false + * @since 7.4 + */ +function ldap_add_ext ($link_identifier, $dn, array $entry, $serverctrls = []) {} + +/** + * Delete an entry from a directory + * @link https://php.net/manual/en/function.ldap-delete.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return bool TRUE on success or FALSE on failure. + */ +function ldap_delete ($link_identifier, $dn, $serverctrls = []) {} + +/** + * Delete an entry from a directory + * Does the same thing as ldap_delete() but returns the LDAP result resource to be parsed with ldap_parse_result(). + * @link https://php.net/manual/en/function.ldap-delete-ext.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return resource|false + * @since 7.3 + */ +function ldap_delete_ext ($link_identifier, $dn, $serverctrls = []) {} + +/** + * This function is an alias of: ldap_mod_replace(). + * Replace attribute values with new ones + * @link https://php.net/manual/en/function.ldap-mod-replace.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param array $entry + * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return bool TRUE on success or FALSE on failure. + * @since 7.0 + */ +function ldap_modify ($link_identifier, $dn, array $entry, $serverctrls = []) {} + +/** + * Add attribute values to current attributes + * @link https://php.net/manual/en/function.ldap-mod-add.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param array $entry + * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return bool TRUE on success or FALSE on failure. + */ +function ldap_mod_add ($link_identifier, $dn, array $entry, $serverctrls = []) {} + +/** + * Add attribute values to current attributes + * Does the same thing as ldap_mod_add() but returns the LDAP result resource to be parsed with ldap_parse_result(). + * @link https://php.net/manual/en/function.ldap-mod-add-ext.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param array $entry + * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return resource|false + */ +function ldap_mod_add_ext ($link_identifier, $dn, array $entry, $serverctrls = []) {} + +/** + * Replace attribute values with new ones + * @link https://php.net/manual/en/function.ldap-mod-replace.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param array $entry + * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return bool TRUE on success or FALSE on failure. + */ +function ldap_mod_replace ($link_identifier, $dn, array $entry, $serverctrls = []) {} + +/** + * Replace attribute values with new ones + * Does the same thing as ldap_mod_replace() but returns the LDAP result resource to be parsed with ldap_parse_result(). + * @link https://php.net/manual/en/function.ldap-mod-replace-ext.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param array $entry + * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return resource|false + * @since 7.3 + */ +function ldap_mod_replace_ext ($link_identifier, $dn, array $entry, $serverctrls = []) {} + +/** + * Delete attribute values from current attributes + * @link https://php.net/manual/en/function.ldap-mod-del.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param array $entry + * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return bool TRUE on success or FALSE on failure. + */ +function ldap_mod_del ($link_identifier, $dn, array $entry, $serverctrls = []) {} + +/** + * Delete attribute values from current attributes + * Does the same thing as ldap_mod_del() but returns the LDAP result resource to be parsed with ldap_parse_result(). + * @link https://php.net/manual/en/function.ldap-mod-del-ext.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param array $entry + * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return resource|false + * @since 7.3 + */ +function ldap_mod_del_ext ($link_identifier, $dn, array $entry, $serverctrls = []) {} + +/** + * Return the LDAP error number of the last LDAP command + * @link https://php.net/manual/en/function.ldap-errno.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @return int Return the LDAP error number of the last LDAP command for this + * link. + */ +function ldap_errno ($link_identifier) {} + +/** + * Convert LDAP error number into string error message + * @link https://php.net/manual/en/function.ldap-err2str.php + * @param int $errno

+ * The error number. + *

+ * @return string the error message, as a string. + */ +function ldap_err2str ($errno) {} + +/** + * Return the LDAP error message of the last LDAP command + * @link https://php.net/manual/en/function.ldap-error.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @return string string error message. + */ +function ldap_error ($link_identifier) {} + +/** + * Compare value of attribute found in entry specified with DN + * @link https://php.net/manual/en/function.ldap-compare.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param string $attribute

+ * The attribute name. + *

+ * @param string $value

+ * The compared value. + *

+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return mixed TRUE if value matches otherwise returns + * FALSE. Returns -1 on error. + */ +function ldap_compare ($link_identifier, $dn, $attribute, $value, $serverctrls = []) {} + +/** + * Sort LDAP result entries + * @link https://php.net/manual/en/function.ldap-sort.php + * @param resource $link

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param resource $result

+ * An search result identifier, returned by + * ldap_search. + *

+ * @param string $sortfilter

+ * The attribute to use as a key in the sort. + *

+ * @deprecated 7.0 + * @removed 8.0 + * @return bool + */ +function ldap_sort ($link, $result, $sortfilter) {} + +/** + * Modify the name of an entry + * @link https://php.net/manual/en/function.ldap-rename.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param string $newrdn

+ * The new RDN. + *

+ * @param string $newparent

+ * The new parent/superior entry. + *

+ * @param bool $deleteoldrdn

+ * If TRUE the old RDN value(s) is removed, else the old RDN value(s) + * is retained as non-distinguished values of the entry. + *

+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return bool TRUE on success or FALSE on failure. + */ +function ldap_rename ($link_identifier, $dn, $newrdn, $newparent, $deleteoldrdn, $serverctrls = []) {} + +/** + * Modify the name of an entry + * Does the same thing as ldap_rename() but returns the LDAP result resource to be parsed with ldap_parse_result(). + * @link https://php.net/manual/en/function.ldap-rename-ext.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param string $dn

+ * The distinguished name of an LDAP entity. + *

+ * @param string $newrdn

+ * The new RDN. + *

+ * @param string $newparent

+ * The new parent/superior entry. + *

+ * @param bool $deleteoldrdn

+ * If TRUE the old RDN value(s) is removed, else the old RDN value(s) + * is retained as non-distinguished values of the entry. + *

+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return resource|false + * @since 7.3 + */ +function ldap_rename_ext ($link_identifier, $dn, $newrdn, $newparent, $deleteoldrdn, $serverctrls = []) {} + +/** + * Get the current value for given option + * @link https://php.net/manual/en/function.ldap-get-option.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param int $option

+ * The parameter option can be one of: + * + * Option + * Type + * + * + * LDAP_OPT_DEREF + * integer + * + * + * LDAP_OPT_SIZELIMIT + * integer + * + * + * LDAP_OPT_TIMELIMIT + * integer + * + * + * LDAP_OPT_NETWORK_TIMEOUT + * integer + * + * + * LDAP_OPT_PROTOCOL_VERSION + * integer + * + * + * LDAP_OPT_ERROR_NUMBER + * integer + * + * + * LDAP_OPT_REFERRALS + * bool + * + * + * LDAP_OPT_RESTART + * bool + * + * + * LDAP_OPT_HOST_NAME + * string + * + * + * LDAP_OPT_ERROR_STRING + * string + * + * + * LDAP_OPT_MATCHED_DN + * string + * + * + * LDAP_OPT_SERVER_CONTROLS + * array + * + * + * LDAP_OPT_CLIENT_CONTROLS + * array + * + *

+ * @param mixed $retval

+ * This will be set to the option value. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function ldap_get_option ($link_identifier, $option, &$retval) {} + +/** + * Set the value of the given option + * @link https://php.net/manual/en/function.ldap-set-option.php + * @param resource $link_identifier

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param int $option

+ * The parameter option can be one of: + * + * Option + * Type + * Available since + * + * + * LDAP_OPT_DEREF + * integer + * + * + * + * LDAP_OPT_SIZELIMIT + * integer + * + * + * + * LDAP_OPT_TIMELIMIT + * integer + * + * + * + * LDAP_OPT_NETWORK_TIMEOUT + * integer + * PHP 5.3.0 + * + * + * LDAP_OPT_PROTOCOL_VERSION + * integer + * + * + * + * LDAP_OPT_ERROR_NUMBER + * integer + * + * + * + * LDAP_OPT_REFERRALS + * bool + * + * + * + * LDAP_OPT_RESTART + * bool + * + * + * + * LDAP_OPT_HOST_NAME + * string + * + * + * + * LDAP_OPT_ERROR_STRING + * string + * + * + * + * LDAP_OPT_MATCHED_DN + * string + * + * + * + * LDAP_OPT_SERVER_CONTROLS + * array + * + * + * + * LDAP_OPT_CLIENT_CONTROLS + * array + * + * + *

+ *

+ * LDAP_OPT_SERVER_CONTROLS and + * LDAP_OPT_CLIENT_CONTROLS require a list of + * controls, this means that the value must be an array of controls. A + * control consists of an oid identifying the control, + * an optional value, and an optional flag for + * criticality. In PHP a control is given by an + * array containing an element with the key oid + * and string value, and two optional elements. The optional + * elements are key value with string value + * and key iscritical with boolean value. + * iscritical defaults to FALSE + * if not supplied. See draft-ietf-ldapext-ldap-c-api-xx.txt + * for details. See also the second example below. + *

+ * @param mixed $newval

+ * The new value for the specified option. + *

+ * @return bool TRUE on success or FALSE on failure. + */ +function ldap_set_option ($link_identifier, $option, $newval) {} + +/** + * Return first reference + * @link https://php.net/manual/en/function.ldap-first-reference.php + * @param resource $link + * @param resource $result + * @return resource + */ +function ldap_first_reference ($link, $result) {} + +/** + * Get next reference + * @link https://php.net/manual/en/function.ldap-next-reference.php + * @param resource $link + * @param resource $entry + * @return resource + */ +function ldap_next_reference ($link, $entry) {} + +/** + * Extract information from reference entry + * @link https://php.net/manual/en/function.ldap-parse-reference.php + * @param resource $link + * @param resource $entry + * @param array $referrals + * @return bool + */ +function ldap_parse_reference ($link, $entry, array &$referrals) {} + +/** + * Extract information from result + * @link https://php.net/manual/en/function.ldap-parse-result.php + * @param resource $link + * @param resource $result + * @param int $errcode + * @param string $matcheddn [optional] + * @param string $errmsg [optional] + * @param array $referrals [optional] + * @param array $serverctrls [optional] An array of LDAP Controls which have been sent with the response. + * @return bool + */ +function ldap_parse_result ($link, $result, &$errcode, &$matcheddn = null, &$errmsg = null, array &$referrals = null, &$serverctrls = []) {} + +/** + * Start TLS + * @link https://php.net/manual/en/function.ldap-start-tls.php + * @param resource $link + * @return bool + */ +function ldap_start_tls ($link) {} + +/** + * Set a callback function to do re-binds on referral chasing + * @link https://php.net/manual/en/function.ldap-set-rebind-proc.php + * @param resource $link + * @param callable $callback + * @return bool + */ +function ldap_set_rebind_proc ($link, callable $callback) {} + +/** + * Send LDAP pagination control + * @link https://php.net/manual/en/function.ldap-control-paged-result.php + * @param resource $link

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param int $pagesize

+ * The number of entries by page. + *

+ * @param bool $iscritical [optional]

+ * Indicates whether the pagination is critical of not. + * If true and if the server doesn't support pagination, the search + * will return no result. + *

+ * @param string $cookie [optional]

+ * An opaque structure sent by the server + * (ldap_control_paged_result_response). + *

+ * @return bool TRUE on success or FALSE on failure. + * @since 5.4 + * @deprecated 7.4 + */ +function ldap_control_paged_result ($link, $pagesize, $iscritical = false, $cookie = "") {} + +/** + * Retrieve the LDAP pagination cookie + * @link https://php.net/manual/en/function.ldap-control-paged-result-response.php + * @param resource $link

+ * An LDAP link identifier, returned by ldap_connect. + *

+ * @param resource $result + * @param string $cookie [optional]

+ * An opaque structure sent by the server. + *

+ * @param int $estimated [optional]

+ * The estimated number of entries to retrieve. + *

+ * @return bool TRUE on success or FALSE on failure. + * @since 5.4 + * @deprecated 7.4 + */ +function ldap_control_paged_result_response ($link, $result, &$cookie = null, &$estimated = null) {} + +/** + * Escape a string for use in an LDAP filter or DN + * @param string $value The value to escape. + * @param string $ignore [optional] Characters to ignore when escaping. + * @param int $flags [optional] The context the escaped string will be used in: LDAP_ESCAPE_FILTER for filters to be used with ldap_search(), or LDAP_ESCAPE_DN for DNs. If neither flag is passed, all chars are escaped. + * @return string + * @since 5.6 + */ + +function ldap_escape ($value, $ignore = "", $flags = 0) {} + +/** + * (PHP 5.4 >= 5.4.26, PHP 5.5 >= 5.5.10, PHP 5.6 >= 5.6.0) + * Batch and execute modifications on an LDAP entry + * @link https://php.net/manual/en/function.ldap-modify-batch.php + * @param $link_identifier

+ * An LDAP link identifier, returned by + * {@see ldap_connect()}. + *

+ * @param $dn

The distinguished name of an LDAP entity.

+ * @param $entry

An array that specifies the modifications to make. Each entry in this + * array is an associative array with two or three keys: + * attrib maps to the name of the attribute to modify, + * modtype maps to the type of modification to perform, + * and (depending on the type of modification) values + * maps to an array of attribute values relevant to the modification. + *

+ *

+ * Possible values for modtype include: + *

+ * + * + *
+ * LDAP_MODIFY_BATCH_ADD
+ * + *
+ * + *

+ * Each value specified through values is added (as + * an additional value) to the attribute named by + * attrib. + *

+ *
+ * + *
+ * LDAP_MODIFY_BATCH_REMOVE
+ * + *
+ * + *

+ * Each value specified through values is removed + * from the attribute named by attrib. Any value of + * the attribute not contained in the values array + * will remain untouched. + *

+ *
+ *
+ * LDAP_MODIFY_BATCH_REMOVE_ALL
+ * + *
+ * + *

+ * All values are removed from the attribute named by + * attrib. A values entry must + * not be provided. + *

+ *
+ * + *
+ * LDAP_MODIFY_BATCH_REPLACE
+ * + *
+ * + *

+ * All current values of the attribute named by + * attrib are replaced with the values specified + * through values. + *

+ *
+ *
+ *

+ * Note that any value for attrib must be a string, any + * value for values must be an array of strings, and + * any value for modtype must be one of the + * LDAP_MODIFY_BATCH_* constants listed above. + *

+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request. + * @return bool TRUE on success or FALSE on failure. + * @since 5.4 + */ +function ldap_modify_batch ( $link_identifier , $dn , $entry, $serverctrls = []) {} + +/** + * @param resource $link_identifier + * @param resource $result_identifier + * @return int returns the number of reference messages in a search result. + * @since 8.0 + */ +function ldap_count_references($link_identifier, $result_identifier){} + +define('LDAP_ESCAPE_FILTER', 1); +define ('LDAP_ESCAPE_DN', 2); +define ('LDAP_DEREF_NEVER', 0); +define ('LDAP_DEREF_SEARCHING', 1); +define ('LDAP_DEREF_FINDING', 2); +define ('LDAP_DEREF_ALWAYS', 3); +define ('LDAP_MODIFY_BATCH_REMOVE',2); +define('LDAP_MODIFY_BATCH_ADD', 1); +define('LDAP_MODIFY_BATCH_REMOVE_ALL', 18); +define('LDAP_MODIFY_BATCH_REPLACE', 3); + +define('LDAP_OPT_X_TLS_REQUIRE_CERT', 24582); +define('LDAP_OPT_X_TLS_NEVER', 0); +define('LDAP_OPT_X_TLS_HARD', 1); +define('LDAP_OPT_X_TLS_DEMAND', 2); +define('LDAP_OPT_X_TLS_ALLOW', 3); +define('LDAP_OPT_X_TLS_TRY', 4); +define('LDAP_OPT_X_TLS_CERTFILE', 24580); +define('LDAP_OPT_X_TLS_CIPHER_SUITE', 24584); +define('LDAP_OPT_X_TLS_KEYFILE', 24581); +define('LDAP_OPT_X_TLS_DHFILE', 24590); +define('LDAP_OPT_X_TLS_CRLFILE', 24592); +define('LDAP_OPT_X_TLS_RANDOM_FILE', 24585); +define('LDAP_OPT_X_TLS_CRLCHECK', 24587); +define('LDAP_OPT_X_TLS_CRL_NONE', 0); +define('LDAP_OPT_X_TLS_CRL_PEER', 1); +define('LDAP_OPT_X_TLS_CRL_ALL', 2); +define('LDAP_OPT_X_TLS_PROTOCOL_MIN', 24583); +define('LDAP_OPT_X_TLS_PROTOCOL_SSL2', 512); +define('LDAP_OPT_X_TLS_PROTOCOL_SSL3', 768); +define('LDAP_OPT_X_TLS_PROTOCOL_TLS1_0', 769); +define('LDAP_OPT_X_TLS_PROTOCOL_TLS1_1', 770); +define('LDAP_OPT_X_TLS_PROTOCOL_TLS1_2', 771); +define('LDAP_OPT_X_TLS_PACKAGE', 24593); +define('LDAP_OPT_X_KEEPALIVE_IDLE', 25344); +define('LDAP_OPT_X_KEEPALIVE_PROBES', 25345); +define('LDAP_OPT_X_KEEPALIVE_INTERVAL', 25346); +define('LDAP_OPT_X_SASL_USERNAME', 24844); +define('LDAP_OPT_X_SASL_NOCANON', 24843); + +/** + * Specifies alternative rules for following aliases at the server. + * @link https://php.net/manual/en/ldap.constants.php + */ +define ('LDAP_OPT_DEREF', 2); + +/** + *

+ * Specifies the maximum number of entries that can be + * returned on a search operation. + *

+ * The actual size limit for operations is also bounded + * by the server's configured maximum number of return entries. + * The lesser of these two settings is the actual size limit. + * @link https://php.net/manual/en/ldap.constants.php + */ +define ('LDAP_OPT_SIZELIMIT', 3); + +/** + * Specifies the number of seconds to wait for search results. + * The actual time limit for operations is also bounded + * by the server's configured maximum time. + * The lesser of these two settings is the actual time limit. + * @link https://php.net/manual/en/ldap.constants.php + */ +define ('LDAP_OPT_TIMELIMIT', 4); + +/** + * Option for ldap_set_option to allow setting network timeout. + * (Available as of PHP 5.3.0) + * @link https://php.net/manual/en/ldap.constants.php + */ +define ('LDAP_OPT_NETWORK_TIMEOUT', 20485); + +/** + * Specifies the LDAP protocol to be used (V2 or V3). + * @link https://php.net/manual/en/ldap.constants.php + */ +define ('LDAP_OPT_PROTOCOL_VERSION', 17); +define ('LDAP_OPT_ERROR_NUMBER', 49); + +/** + * Specifies whether to automatically follow referrals returned + * by the LDAP server. + * @link https://php.net/manual/en/ldap.constants.php + */ +define ('LDAP_OPT_REFERRALS', 8); +define ('LDAP_OPT_RESTART', 9); +define ('LDAP_OPT_HOST_NAME', 48); +define ('LDAP_OPT_ERROR_STRING', 50); +define ('LDAP_OPT_MATCHED_DN', 51); + +/** + * Specifies a default list of server controls to be sent with each request. + * @link https://php.net/manual/en/ldap.constants.php + */ +define ('LDAP_OPT_SERVER_CONTROLS', 18); + +/** + * Specifies a default list of client controls to be processed with each request. + * @link https://php.net/manual/en/ldap.constants.php + */ +define ('LDAP_OPT_CLIENT_CONTROLS', 19); + +/** + * Specifies a bitwise level for debug traces. + * @link https://php.net/manual/en/ldap.constants.php + */ +define ('LDAP_OPT_DEBUG_LEVEL', 20481); +define ('LDAP_OPT_X_SASL_MECH', 24832); +define ('LDAP_OPT_X_SASL_REALM', 24833); +define ('LDAP_OPT_X_SASL_AUTHCID', 24834); +define ('LDAP_OPT_X_SASL_AUTHZID', 24835); + +/** + * Specifies the path of the directory containing CA certificates. + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.1 + */ +define('LDAP_OPT_X_TLS_CACERTDIR', 24579); + +/** + * Specifies the full-path of the CA certificate file. + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.1 + */ +define('LDAP_OPT_X_TLS_CACERTFILE', 24578); + +define('LDAP_MODIFY_BATCH_ATTRIB', 'attrib'); +define('LDAP_MODIFY_BATCH_MODTYPE', 'modtype'); +define('LDAP_MODIFY_BATCH_VALUES', 'values'); +define('LDAP_OPT_TIMEOUT', 20482); +define('LDAP_OPT_DIAGNOSTIC_MESSAGE', 50); + + +/** + * Control Constant - Manage DSA IT (» RFC 3296) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_MANAGEDSAIT", "2.16.840.1.113730.3.4.2"); +echo + +/** + * Control Constant - Proxied Authorization (» RFC 4370) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_PROXY_AUTHZ", "2.16.840.1.113730.3.4.18"); + +/** + * Control Constant - Subentries (» RFC 3672) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_SUBENTRIES", "1.3.6.1.4.1.4203.1.10.1"); + +/** + * Control Constant - Filter returned values (» RFC 3876) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_VALUESRETURNFILTER", "1.2.826.0.1.3344810.2.3"); + +/** + * Control Constant - Assertion (» RFC 4528) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_ASSERT", "1.3.6.1.1.12"); + +/** + * Control Constant - Pre read (» RFC 4527) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_PRE_READ", "1.3.6.1.1.13.1"); + +/** + * Control Constant - Post read (» RFC 4527) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_POST_READ", "1.3.6.1.1.13.2"); + +/** + * Control Constant - Sort request (» RFC 2891) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_SORTREQUEST", "1.2.840.113556.1.4.473"); + +/** + * Control Constant - Sort response (» RFC 2891) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_SORTRESPONSE", "1.2.840.113556.1.4.474"); + +/** + * Control Constant - Paged results (» RFC 2696) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_PAGEDRESULTS", "1.2.840.113556.1.4.319"); + +/** + * Control Constant - Content Synchronization Operation (» RFC 4533) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_SYNC", "1.3.6.1.4.1.4203.1.9.1.1"); + +/** + * Control Constant - Content Synchronization Operation State (» RFC 4533) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_SYNC_STATE", "1.3.6.1.4.1.4203.1.9.1.2"); + +/** + * Control Constant - Content Synchronization Operation Done (» RFC 4533) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_SYNC_DONE", "1.3.6.1.4.1.4203.1.9.1.3"); + +/** + * Control Constant - Don't Use Copy (» RFC 6171) + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_DONTUSECOPY", "1.3.6.1.1.22"); + +/** + * Control Constant - Password Policy Request + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_PASSWORDPOLICYREQUEST", "1.3.6.1.4.1.42.2.27.8.5.1"); + +/** + * Control Constant - Password Policy Response + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_PASSWORDPOLICYRESPONSE", "1.3.6.1.4.1.42.2.27.8.5.1"); + +/** + * Control Constant - Active Directory Incremental Values + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_X_INCREMENTAL_VALUES", "1.2.840.113556.1.4.802"); + +/** + * Control Constant - Active Directory Domain Scope + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_X_DOMAIN_SCOPE", "1.2.840.113556.1.4.1339"); + +/** + * Control Constant - Active Directory Permissive Modify + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_X_PERMISSIVE_MODIFY", "1.2.840.113556.1.4.1413"); + +/** + * Control Constant - Active Directory Search Options + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_X_SEARCH_OPTIONS", "1.2.840.113556.1.4.1340"); + +/** + * Control Constant - Active Directory Tree Delete + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_X_TREE_DELETE", "1.2.840.113556.1.4.805"); + +/** + * Control Constant - Active Directory Extended DN + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_X_EXTENDED_DN", "1.2.840.113556.1.4.529"); + +/** + * Control Constant - Virtual List View Request + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_VLVREQUEST", "2.16.840.1.113730.3.4.9"); + +/** + * Control Constant - Virtual List View Response + * @link https://php.net/manual/en/ldap.constants.php + * @since 7.3 + */ +define("LDAP_CONTROL_VLVRESPONSE", "2.16.840.1.113730.3.4.10"); + + +/** + * Extended Operation constant - Modify password + */ +define("LDAP_EXOP_MODIFY_PASSWD", "1.3.6.1.4.1.4203.1.11.1"); + +/** + * Extended Operation Constant - Refresh + */ +define("LDAP_EXOP_REFRESH", "1.3.6.1.4.1.1466.101.119.1"); + +/** + * Extended Operation constant - Start TLS + */ +define("LDAP_EXOP_START_TLS", "1.3.6.1.4.1.1466.20037"); + +/** + * Extended Operation Constant - Turn + */ +define("LDAP_EXOP_TURN", "1.3.6.1.1.19"); + +/** + * Extended Operation Constant - WHOAMI + */ +define("LDAP_EXOP_WHO_AM_I", "1.3.6.1.4.1.4203.1.11.3"); + +// End of ldap v. +?> diff --git a/build/stubs/xsl.php b/build/stubs/xsl.php new file mode 100644 index 0000000000..5712636d3d --- /dev/null +++ b/build/stubs/xsl.php @@ -0,0 +1,192 @@ + + * The imported style sheet as a DOMDocument or + * SimpleXMLElement object. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function importStylesheet ($stylesheet) {} + + /** + * Transform to a DOMDocument + * @link https://php.net/manual/en/xsltprocessor.transformtodoc.php + * @param DOMNode $doc

+ * The node to be transformed. + *

+ * @return DOMDocument|false The resulting DOMDocument or FALSE on error. + */ + public function transformToDoc (DOMNode $doc) {} + + /** + * Transform to URI + * @link https://php.net/manual/en/xsltprocessor.transformtouri.php + * @param DOMDocument|SimpleXMLElement $doc

+ * The document to transform. + *

+ * @param string $uri

+ * The target URI for the transformation. + *

+ * @return int|false the number of bytes written or FALSE if an error occurred. + */ + public function transformToUri ($doc, $uri) {} + + /** + * Transform to XML + * @link https://php.net/manual/en/xsltprocessor.transformtoxml.php + * @param DOMDocument|SimpleXMLElement $doc

+ * The transformed document. + *

+ * @return string|false The result of the transformation as a string or FALSE on error. + */ + public function transformToXml ($doc) {} + + /** + * Set value for a parameter + * @link https://php.net/manual/en/xsltprocessor.setparameter.php + * @param string $namespace

+ * The namespace URI of the XSLT parameter. + *

+ * @param string $name

+ * The local name of the XSLT parameter. + *

+ * @param string $value

+ * The new value of the XSLT parameter. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setParameter ($namespace, $name, $value) {} + + /** + * Get value of a parameter + * @link https://php.net/manual/en/xsltprocessor.getparameter.php + * @param string $namespaceURI

+ * The namespace URI of the XSLT parameter. + *

+ * @param string $localName

+ * The local name of the XSLT parameter. + *

+ * @return string|false The value of the parameter (as a string), or FALSE if it's not set. + */ + public function getParameter ($namespaceURI, $localName) {} + + /** + * Remove parameter + * @link https://php.net/manual/en/xsltprocessor.removeparameter.php + * @param string $namespaceURI

+ * The namespace URI of the XSLT parameter. + *

+ * @param string $localName

+ * The local name of the XSLT parameter. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function removeParameter ($namespaceURI, $localName) {} + + /** + * Determine if PHP has EXSLT support + * @link https://php.net/manual/en/xsltprocessor.hasexsltsupport.php + * @return bool TRUE on success or FALSE on failure. + * @since 5.0.4 + */ + public function hasExsltSupport () {} + + /** + * Enables the ability to use PHP functions as XSLT functions + * @link https://php.net/manual/en/xsltprocessor.registerphpfunctions.php + * @param mixed $restrict [optional]

+ * Use this parameter to only allow certain functions to be called from + * XSLT. + *

+ *

+ * This parameter can be either a string (a function name) or an array of + * functions. + *

+ * @return void No value is returned. + * @since 5.0.4 + */ + public function registerPHPFunctions ($restrict = null) {} + + /** + * Sets profiling output file + * @link https://php.net/manual/en/xsltprocessor.setprofiling.php + * @param string $filename

+ * Path to the file to dump profiling information. + *

+ * @return bool TRUE on success or FALSE on failure. + */ + public function setProfiling ($filename) {} + + /** + * Set security preferences + * @link https://php.net/manual/en/xsltprocessor.setsecurityprefs.php + * @param int $securityPrefs + * @return int + * @since 5.4 + */ + public function setSecurityPrefs ($securityPrefs) {} + + /** + * Get security preferences + * @link https://php.net/manual/en/xsltprocessor.getsecurityprefs.php + * @return int + * @since 5.4 + */ + public function getSecurityPrefs () {} + +} +define ('XSL_CLONE_AUTO', 0); +define ('XSL_CLONE_NEVER', -1); +define ('XSL_CLONE_ALWAYS', 1); + +/** @link https://php.net/manual/en/xsl.constants.php */ +define ('XSL_SECPREF_NONE', 0); +/** @link https://php.net/manual/en/xsl.constants.php */ +define ('XSL_SECPREF_READ_FILE', 2); +/** @link https://php.net/manual/en/xsl.constants.php */ +define ('XSL_SECPREF_WRITE_FILE', 4); +/** @link https://php.net/manual/en/xsl.constants.php */ +define ('XSL_SECPREF_CREATE_DIRECTORY', 8); +/** @link https://php.net/manual/en/xsl.constants.php */ +define ('XSL_SECPREF_READ_NETWORK', 16); +/** @link https://php.net/manual/en/xsl.constants.php */ +define ('XSL_SECPREF_WRITE_NETWORK', 32); +/** @link https://php.net/manual/en/xsl.constants.php */ +define ('XSL_SECPREF_DEFAULT', 44); + +/** + * libxslt version like 10117. Available as of PHP 5.1.2. + * @link https://php.net/manual/en/xsl.constants.php + */ +define ('LIBXSLT_VERSION', 10128); + +/** + * libxslt version like 1.1.17. Available as of PHP 5.1.2. + * @link https://php.net/manual/en/xsl.constants.php + */ +define ('LIBXSLT_DOTTED_VERSION', "1.1.28"); + +/** + * libexslt version like 813. Available as of PHP 5.1.2. + * @link https://php.net/manual/en/xsl.constants.php + */ +define ('LIBEXSLT_VERSION', 817); + +/** + * libexslt version like 1.1.17. Available as of PHP 5.1.2. + * @link https://php.net/manual/en/xsl.constants.php + */ +define ('LIBEXSLT_DOTTED_VERSION', "1.1.28"); + +// End of xsl v.0.1 +?> diff --git a/psalm.xml b/psalm.xml index 2766d40746..f299558450 100644 --- a/psalm.xml +++ b/psalm.xml @@ -33,11 +33,17 @@ + + + + + + From c6b251ca0c6f8f0d1c99fe7b4a4e5d9c0792cd5b Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Tue, 18 Aug 2020 11:24:44 +0200 Subject: [PATCH 15/16] Add patches for stubs * https://github.com/JetBrains/phpstorm-stubs/pull/893 * https://github.com/JetBrains/phpstorm-stubs/pull/894 * https://github.com/JetBrains/phpstorm-stubs/pull/895 * https://github.com/JetBrains/phpstorm-stubs/pull/896 Signed-off-by: Morris Jobke --- build/stubs/intl.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/stubs/intl.php b/build/stubs/intl.php index 329f848efc..d8533d9079 100644 --- a/build/stubs/intl.php +++ b/build/stubs/intl.php @@ -4606,7 +4606,7 @@ function grapheme_extract($haystack, $size, $extract_type = null, $start = 0, &$ *

* @return string|false The ACE encoded version of the domain name or FALSE on failure. */ -function idn_to_ascii($domain, $options = 0, $variant = INTL_IDNA_VARIANT_2003, array &$idna_info) { } +function idn_to_ascii($domain, $options = 0, $variant = INTL_IDNA_VARIANT_2003, array &$idna_info = null) { } /** * (PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.2, PHP 7, PECL idn >= 0.1)
@@ -6340,7 +6340,7 @@ class IntlBreakIterator implements IteratorAggregate * @param string $locale * @return IntlBreakIterator */ - public static function createCharacterInstance($locale) { } + public static function createCharacterInstance($locale = null) { } /** * (PHP 5 >=5.5.0)
@@ -6440,7 +6440,7 @@ class IntlBreakIterator implements IteratorAggregate * @link https://secure.php.net/manual/en/intlbreakiterator.getpartsiterator.php * @param string $key_type [optional] */ - public function getPartsIterator($key_type) { } + public function getPartsIterator($key_type = IntlPartsIterator::KEY_SEQUENTIAL) { } /** * (PHP 5 >=5.5.0)
@@ -6471,7 +6471,7 @@ class IntlBreakIterator implements IteratorAggregate * @param string $offset [optional] * @return int */ - public function next($offset) { } + public function next($offset = null) { } /** * (PHP 5 >=5.5.0)
From 42bb6cd7d780e6405c55c975621781b4ee0e585e Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Tue, 18 Aug 2020 12:37:53 +0200 Subject: [PATCH 16/16] Check only the baseline.xml and exclude the psalm.xml from the file check Signed-off-by: Morris Jobke --- .github/workflows/static-code-analysis.yml | 2 +- build/files-checker.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/static-code-analysis.yml b/.github/workflows/static-code-analysis.yml index bd7476df1e..f90e102a99 100644 --- a/.github/workflows/static-code-analysis.yml +++ b/.github/workflows/static-code-analysis.yml @@ -22,4 +22,4 @@ jobs: args: psalm --monochrome --no-progress --output-format=text --update-baseline - name: Check for changes in Psalm baseline run: | - bash -c "[[ ! \"`git status --porcelain `\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff && exit 1 )" + bash -c "[[ ! \"`git status --porcelain build/psalm-baseline.xml`\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff && exit 1 )" diff --git a/build/files-checker.php b/build/files-checker.php index b8c60727b0..08cf21dde8 100644 --- a/build/files-checker.php +++ b/build/files-checker.php @@ -70,6 +70,7 @@ $expectedFiles = [ 'ocs', 'package-lock.json', 'package.json', + 'psalm.xml', 'public.php', 'README.md', 'remote.php',