cvs: /php4/ext/session php_session.h session.c

From: Date: Fri, 04 Feb 2000 23:34:54 +0000
Subject: cvs: /php4/ext/session php_session.h session.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-9841@lists.php.net to get a copy of this message
andrei Sat Feb 5 00:34:54 2000 EDT Modified files: /php4/ext/session php_session.h session.c Log: Implemented setting of session cookie parameters. @ Added session_set_cookie_params() function. (Andrei) Index: php4/ext/session/php_session.h diff -u php4/ext/session/php_session.h:1.26 php4/ext/session/php_session.h:1.27 --- php4/ext/session/php_session.h:1.26 Sat Jan 15 14:09:32 2000 +++ php4/ext/session/php_session.h Sat Feb 5 00:34:24 2000 @@ -111,6 +111,7 @@ PHP_FUNCTION(session_destroy); PHP_FUNCTION(session_unset); PHP_FUNCTION(session_set_save_handler); +PHP_FUNCTION(session_set_cookie_params); #ifdef ZTS #define PSLS_D php_ps_globals *ps_globals Index: php4/ext/session/session.c diff -u php4/ext/session/session.c:1.100 php4/ext/session/session.c:1.101 --- php4/ext/session/session.c:1.100 Fri Jan 28 19:29:37 2000 +++ php4/ext/session/session.c Sat Feb 5 00:34:24 2000 @@ -60,6 +60,7 @@ PHP_FE(session_destroy, NULL) PHP_FE(session_unset, NULL) PHP_FE(session_set_save_handler, NULL) + PHP_FE(session_set_cookie_params, NULL) {0} }; @@ -797,6 +798,42 @@ php_rshutdown_session_globals(PSLS_C); php_rinit_session_globals(PSLS_C); } + + +/* {{{ proto void session_set_cookie_params(int lifetime [, string path [, string domain ]]) + Set session cookie parameters */ +PHP_FUNCTION(session_set_cookie_params) +{ + zval **lifetime, **path, **domain; + PSLS_FETCH(); + + if (!PS(use_cookies)) + return; + + if (ZEND_NUM_ARGS() < 1 || ZEND_NUM_ARGS() > 3 || + zend_get_parameters_ex(ZEND_NUM_ARGS(), &lifetime, &path, &domain) == FAILURE) { + WRONG_PARAM_COUNT; + } + + convert_to_long_ex(lifetime); + PS(cookie_lifetime) = (*lifetime)->value.lval; + + if (ZEND_NUM_ARGS() > 1) { + convert_to_string_ex(path); + efree(PS(cookie_path)); + PS(cookie_path) = estrndup((*path)->value.str.val, + (*path)->value.str.len); + + if (ZEND_NUM_ARGS() > 2) { + convert_to_string_ex(domain); + efree(PS(cookie_domain)); + PS(cookie_domain) = estrndup((*domain)->value.str.val, + (*domain)->value.str.len); + } + } +} +/* }}} */ + /* {{{ proto string session_name([string newname]) return the current session name. if newname is given, the session name is replaced with newname */

« previous php.version4 (#9841) next »