Re: cvs: php-src /ext/standard basic_functions.c head.c head.h

From: Date: Wed, 20 Aug 2003 22:58:28 +0000
Subject: Re: cvs: php-src /ext/standard basic_functions.c head.c head.h
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-4113@lists.php.net to get a copy of this message
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 <rasmus@lerdorf.on.ca> | > +----------------------------------------------------------------------+ > */ >-/* $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/business=sniper@php.net&no_note=1&tax=0&currency_code=EUR

« previous php.internals (#4113) next »