diff options
author | Andrey Hristov <andrey@php.net> | 1999-06-28 15:46:56 +0000 |
---|---|---|
committer | Andrey Hristov <andrey@php.net> | 1999-06-28 15:46:56 +0000 |
commit | a6aacfd2b65da62329b95f98919f19b5511cf9fc (patch) | |
tree | 38a9d702906a2efbe5793b43f607696999ea9272 /ext | |
parent | 17f725d21a48ea856853aaf67dd13a6ea58f3a94 (diff) | |
download | php-git-a6aacfd2b65da62329b95f98919f19b5511cf9fc.tar.gz |
Added session_is_registered(varname) function.
Diffstat (limited to 'ext')
-rw-r--r-- | ext/session/php_session.h | 1 | ||||
-rw-r--r-- | ext/session/session.c | 27 |
2 files changed, 28 insertions, 0 deletions
diff --git a/ext/session/php_session.h b/ext/session/php_session.h index 356a24f605..740754a2fa 100644 --- a/ext/session/php_session.h +++ b/ext/session/php_session.h @@ -96,6 +96,7 @@ PHP_FUNCTION(session_id); PHP_FUNCTION(session_decode); PHP_FUNCTION(session_register); PHP_FUNCTION(session_unregister); +PHP_FUNCTION(session_is_registered); PHP_FUNCTION(session_encode); PHP_FUNCTION(session_start); PHP_FUNCTION(session_destroy); diff --git a/ext/session/session.c b/ext/session/session.c index 9396d0dce9..79483d15f2 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -65,6 +65,7 @@ function_entry session_functions[] = { PHP_FE(session_decode, NULL) PHP_FE(session_register, NULL) PHP_FE(session_unregister, NULL) + PHP_FE(session_is_registered, NULL) PHP_FE(session_encode, NULL) PHP_FE(session_start, NULL) PHP_FE(session_destroy, NULL) @@ -473,6 +474,32 @@ PHP_FUNCTION(session_unregister) } /* }}} */ + +/* {{{ proto bool session_is_registered(string varname) + checks if a variable is registered in session */ +PHP_FUNCTION(session_is_registered) +{ + pval *p_name; + pval *p_var; + int ac = ARG_COUNT(ht); + PSLS_FETCH(); + + if(ac != 1 || getParameters(ht, ac, &p_name) == FAILURE) { + WRONG_PARAM_COUNT; + } + + convert_to_string(p_name); + + if (zend_hash_find(&PS(vars), p_name->value.str.val, p_name->value.str.len+1, + (void **)&p_var) == SUCCESS) { + RETURN_TRUE; + } else { + RETURN_FALSE; + } +} +/* }}} */ + + /* {{{ proto string session_encode() serializes the current setup and returns the serialized representation */ PHP_FUNCTION(session_encode) |