cvs: /php4/ext/session php_session.h session.c
| From: | Andrei Zmievski | 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
*/