service {
const html Login =
Welcome to the Personal Todo List CGI
Enter your user name:
Enter your password:
;
const html incorrect =
I'm sorry <[username]>, permission denied!
;
const html delete =
Deleting todo entry: <[deleteValue]>
;
const html Update =
Personal TODO List
Stored TODO messages:
<[msg0]>
<[msg1]>
<[msg2]>
<[msg3]>
<[msg4]>
<[msg5]>
New TODO (TODO #, Message):
Delete TODO #:
Quit now
;
const html ByeBye =
Thanks for using The Personal TODO List
You made <[conns]> connections
and wrote <[msgs]> messages.
;
string msg0,msg1,msg2,msg3,msg4,msg5;
session todo() {
string username, password;
string msg;
string quit;
int connections;
int written;
int insertValue, deleteValue;
bool correct;
connections = 0;
correct = false;
written = 0;
quit = "no";
while (!correct)
{
show Login receive [username = username, password = password];
if (username == "guest" && password == "guest")
correct = true;
if (!correct)
show plug incorrect [username = username];
}
while (quit!="yes") {
show plug Update[msg0 = "TODO 1: " + msg0,
msg1 = "TODO 2: " + msg1,
msg2 = "TODO 3: " + msg2,
msg3 = "TODO 4: " + msg3,
msg4 = "TODO 5: " + msg4,
msg5 = "TODO 6: " + msg5]
receive[msg = todo, insertValue = insertValue, deleteValue = deleteValue, quit = quit];
connections = connections+1;
if (msg!="") {
if (insertValue < 1 && insertValue > 6 ){
written = written+1;
msg0 = msg1;
msg1 = msg2;
msg2 = msg3;
msg3 = msg4;
msg4 = msg5;
msg5 = msg;
}
else if( insertValue == 1 ) msg0 = msg;
else if( insertValue == 2 ) msg1 = msg;
else if( insertValue == 3 ) msg2 = msg;
else if( insertValue == 4 ) msg3 = msg;
else if( insertValue == 5 ) msg4 = msg;
else if( insertValue == 6 ) msg5 = msg;
}
if (deleteValue >= 1 && deleteValue <= 6 ) {
show plug delete[ deleteValue = deleteValue ];
if( deleteValue == 1 ) msg0 = "";
if( deleteValue == 2 ) msg1 = "";
if( deleteValue == 3 ) msg2 = "";
if( deleteValue == 4 ) msg3 = "";
if( deleteValue == 5 ) msg4 = "";
if( deleteValue == 6 ) msg5 = "";
}
}
exit plug ByeBye[conns = connections,
msgs = written];
}
}