... | ... |
@@ -3,8 +3,9 @@ |
3 | 3 |
<head><title>Newsletter</title></head> |
4 | 4 |
<body> |
5 | 5 |
<form action="/~/addemail" method="post"> |
6 |
+ <input type="hidden" name="language" value="eng"> |
|
6 | 7 |
<input id="email" name="email" placeholder="e-mail"> |
7 | 8 |
<input type="submit" value="subscribe"> |
8 |
-<form> |
|
9 |
+</form> |
|
9 | 10 |
</body> |
10 | 11 |
</html> |
... | ... |
@@ -1,6 +1,7 @@ |
1 | 1 |
WEBKERNEL=../../webkernel/src |
2 | 2 |
CC=gcc |
3 |
-CFLAGS=-g -Wall -I$(WEBKERNEL) -I../res -DWK_DEBUG_IO -DWK_DEBUG_CONN -DBUFSIZE=16384 |
|
3 |
+#CFLAGS=-g -Wall -I$(WEBKERNEL) -I../res -DWK_DEBUG_IO -DWK_DEBUG_CONN -DBUFSIZE=16384 |
|
4 |
+CFLAGS=-g -Wall -I$(WEBKERNEL) -I../res -DBUFSIZE=16384 |
|
4 | 5 |
LDFLAGS= |
5 | 6 |
|
6 | 7 |
all: newslettersan |
... | ... |
@@ -144,6 +144,7 @@ callback_post(wk *web, int connid, wk_uri *uri, void *userptr) |
144 | 144 |
/* to be able to retrieve them in callback_http */ |
145 | 145 |
if(strcmp(partialpath,"/addemail")==0) { |
146 | 146 |
wk_post_addvalid(web,connid,"email",NULL); |
147 |
+ wk_post_addvalid(web,connid,"language",NULL); |
|
147 | 148 |
} |
148 | 149 |
return(wkact_finished); |
149 | 150 |
} |
... | ... |
@@ -189,13 +190,27 @@ callback_http(wk *web, int connid, wk_uri *uri, void *userptr) |
189 | 190 |
newsl_serve_buffer_with_rootdir(newsl,web,connid,(char *) res->data,res->len,mime_getdefault(res->name,"application/octet-stream")); |
190 | 191 |
return(wkact_finished); |
191 | 192 |
} else if(strcmp(partialpath,"/addemail")==0) { |
192 |
- char *email; |
|
193 |
- if((email=wk_post_get(web,connid,"email",NULL))==NULL) { |
|
193 |
+ char *email,*language; |
|
194 |
+ if((email=wk_post_get(web,connid,"email",NULL))==NULL || (language=wk_post_get(web,connid,"language",NULL))==NULL) { |
|
194 | 195 |
wk_serve_error(web,connid,wkerr_internal); |
195 | 196 |
return(wkact_finished); |
196 | 197 |
} |
197 | 198 |
#warning TODO: do something with the email |
198 |
- wk_serve_buffer_as_file(web,connid,email,strlen(email),"text/plain"); |
|
199 |
+ { |
|
200 |
+ FILE *f; |
|
201 |
+ if((f=fopen("emails.txt","a"))==NULL) { |
|
202 |
+ wk_serve_error(web,connid,wkerr_internal); |
|
203 |
+ return(wkact_finished); |
|
204 |
+ } |
|
205 |
+ fprintf(f,"%s %s\n",language,email); |
|
206 |
+ fclose(f); |
|
207 |
+ } |
|
208 |
+ if((res=res_find(resindexdata,"success.html"))!=NULL) { |
|
209 |
+ wk_serve_buffer_as_file(web,connid,(char *) res->data,res->len,mime_getdefault(res->name,"application/octet-stream")); |
|
210 |
+ } else { |
|
211 |
+ char success[]={"The email has been saved.\n"}; |
|
212 |
+ wk_serve_buffer_as_file(web,connid,success,strlen(success),"text/plain"); |
|
213 |
+ } |
|
199 | 214 |
return(wkact_finished); |
200 | 215 |
} |
201 | 216 |
wk_serve_error(web,connid,wkerr_notfound); |