When/where was this discussed? Why is this necessary? setcookie() works just fine as it was.. --Jani
On Wed, 20 Aug 2003, Brian France wrote: >bfrance Wed Aug 20 16:51:11 2003 EDT > > Modified files: > /php-src/ext/standard head.h head.c basic_functions.c > Log: > > Added a parameter to php_setcookie to toggle URL encoding of the cookie data > Added the function setrawcookie that turns off URL encoding of the cookie data > Changed setcookie to turn on the URL encoding of the cookie data > > > >Index: php-src/ext/standard/head.h >diff -u php-src/ext/standard/head.h:1.24 php-src/ext/standard/head.h:1.25 >--- php-src/ext/standard/head.h:1.24 Tue Jun 10 16:03:37 2003 >+++ php-src/ext/standard/head.h Wed Aug 20 16:51:10 2003 >@@ -16,7 +16,7 @@ > +----------------------------------------------------------------------+ > */ > >-/* $Id: head.h,v 1.24 2003/06/10 20:03:37 imajes Exp $ */ >+/* $Id: head.h,v 1.25 2003/08/20 20:51:10 bfrance Exp $ */ > > #ifndef HEAD_H > #define HEAD_H >@@ -24,9 +24,10 @@ > extern PHP_RINIT_FUNCTION(head); > PHP_FUNCTION(header); > PHP_FUNCTION(setcookie); >+PHP_FUNCTION(setrawcookie); > PHP_FUNCTION(headers_sent); > > PHPAPI int php_header(TSRMLS_D); >-PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, >time_t expires, char *path, int path_len, char *domain, int domain_len, int secure >TSRMLS_DC); >+PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, >time_t expires, char *path, int path_len, char *domain, int domain_len, int secure, >int url_encode TSRMLS_DC); > > #endif >Index: php-src/ext/standard/head.c >diff -u php-src/ext/standard/head.c:1.70 php-src/ext/standard/head.c:1.71 >--- php-src/ext/standard/head.c:1.70 Tue Jun 10 16:03:37 2003 >+++ php-src/ext/standard/head.c Wed Aug 20 16:51:10 2003 >@@ -15,7 +15,7 @@ > | Author: Rasmus Lerdorf <[EMAIL PROTECTED]> | > +----------------------------------------------------------------------+ > */ >-/* $Id: head.c,v 1.70 2003/06/10 20:03:37 imajes Exp $ */ >+/* $Id: head.c,v 1.71 2003/08/20 20:51:10 bfrance Exp $ */ > > #include <stdio.h> > >@@ -65,7 +65,7 @@ > } > > >-PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, >time_t expires, char *path, int path_len, char *domain, int domain_len, int secure >TSRMLS_DC) >+PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, >time_t expires, char *path, int path_len, char *domain, int domain_len, int secure, >int url_encode TSRMLS_DC) > { > char *cookie, *encoded_value = NULL; > int len=sizeof("Set-Cookie: "); >@@ -75,11 +75,14 @@ > int result; > > len += name_len; >- if (value) { >+ if (value && url_encode) { > int encoded_value_len; > > encoded_value = php_url_encode(value, value_len, &encoded_value_len); > len += encoded_value_len; >+ } else if ( value ) { >+ encoded_value = estrdup(value); >+ len += value_len; > } > if (path) { > len += path_len; >@@ -150,7 +153,30 @@ > return; > } > >- if (php_setcookie(name, name_len, value, value_len, expires, path, path_len, >domain, domain_len, secure TSRMLS_CC) == SUCCESS) { >+ if (php_setcookie(name, name_len, value, value_len, expires, path, path_len, >domain, domain_len, secure, 1 TSRMLS_CC) == SUCCESS) { >+ RETVAL_TRUE; >+ } else { >+ RETVAL_FALSE; >+ } >+} >+/* }}} */ >+ >+/* {{{ proto bool setrawcookie(string name [, string value [, int expires [, string >path [, string domain [, bool secure]]]]]) >+ Send a cookie with no url encoding of the value */ >+PHP_FUNCTION(setrawcookie) >+{ >+ char *name, *value = NULL, *path = NULL, *domain = NULL; >+ long expires = 0; >+ zend_bool secure = 0; >+ int name_len, value_len, path_len, domain_len; >+ >+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|slssb", &name, >+ &name_len, &value, >&value_len, &expires, &path, >+ &path_len, &domain, >&domain_len, &secure) == FAILURE) { >+ return; >+ } >+ >+ if (php_setcookie(name, name_len, value, value_len, expires, path, path_len, >domain, domain_len, secure, 0 TSRMLS_CC) == SUCCESS) { > RETVAL_TRUE; > } else { > RETVAL_FALSE; >Index: php-src/ext/standard/basic_functions.c >diff -u php-src/ext/standard/basic_functions.c:1.622 >php-src/ext/standard/basic_functions.c:1.623 >--- php-src/ext/standard/basic_functions.c:1.622 Sun Aug 10 20:49:18 2003 >+++ php-src/ext/standard/basic_functions.c Wed Aug 20 16:51:10 2003 >@@ -17,7 +17,7 @@ > +----------------------------------------------------------------------+ > */ > >-/* $Id: basic_functions.c,v 1.622 2003/08/11 00:49:18 sniper Exp $ */ >+/* $Id: basic_functions.c,v 1.623 2003/08/20 20:51:10 bfrance Exp $ */ > > #include "php.h" > #include "php_streams.h" >@@ -607,6 +607,7 @@ > PHP_FE(restore_include_path, > NULL) > > PHP_FE(setcookie, > NULL) >+ PHP_FE(setrawcookie, > NULL) > PHP_FE(header, > NULL) > PHP_FE(headers_sent, first_and_second__args_force_ref) > > > > > -- https://www.paypal.com/xclick/[EMAIL PROTECTED]&no_note=1&tax=0¤cy_code=EUR -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php