Please enter your desired login name and password:
login:
password:
;
const html IndexPage =
Group06 WigWiki - Index Page at your service
In this WigWiki you can view and edit the content of following pages:
Page 1: <[pageName1]>
Page 2: <[pageName2]>
Page 3: <[pageName3]>
Page 4: <[pageName4]>
Page 5: <[pageName5]>
Quit now
;
const html DisplayPage =
Group06 WigWiki - page display
<[pageName]>
<[pageContent]>
Next Page
Edit this page
Show Index page
Quit now
;
const html EditPage =
Group06 WigWiki - page edition
Old content of the page: <[pageName]>
<[pageContent]>
Enter new content of the page
Cancel
Save
Quit now
;
const html ByeBye =
Thanks for using The Group06 WigWiki
You used username <[name]> with password <[password]>.
;
const html Error =
Error using The Group06 WigWiki
There was an error handling the data you sent to the WigWiki
for user <[name]>.
;
// Program logic starts here
schema pageDef {
string no;
string name;
string content;
string next;
}
tuple pageDef page1, page2, page3, page4, page5;
session Login() {
tuple pageDef current;
string name, password, action, pageContent, pageName;
int pageNo;
page1 = tuple { no = "1", name = "Page 1", content = "", next = "2"};
page2 = tuple { no = "2", name = "Page 2", content = "", next = "3"};
page3 = tuple { no = "3", name = "Page 3", content = "", next = "4"};
page4 = tuple { no = "4", name = "Page 4", content = "", next = "5"};
page5 = tuple { no = "5", name = "Page 5", content = "", next = "1"};
show Logon
receive[name = name, password = password];
action = "index";
pageNo = 0;
while (action != "quit") {
if (action == "index") {
show plug IndexPage[
pageName1 = page1.name,
pageName2 = page2.name,
pageName3 = page3.name,
pageName4 = page4.name,
pageName5 = page5.name]
receive[ action = action ];
} else if (action == "1") {
current = page1;
show plug DisplayPage[
pageName = page1.name,
pageContent = page1.content]
receive[ action = action ];
} else if (action == "2") {
current = page2;
show plug DisplayPage[
pageName = page2.name,
pageContent = page2.content]
receive[ action = action ];
} else if (action == "3") {
current = page3;
show plug DisplayPage[
pageName = page3.name,
pageContent = page3.content]
receive[ action = action ];
} else if (action == "4") {
current = page4;
show plug DisplayPage[
pageName = page4.name,
pageContent = page4.content]
receive[ action = action ];
} else if (action == "5") {
current = page5;
show plug DisplayPage[
pageName = page5.name,
pageContent = page5.content]
receive[ action = action ];
} else if ( action == "edit" ) {
show plug EditPage[
pageName = current.name,
pageContent = current.content]
receive[
current.name = pageNewName,
current.content = pageNewContent];
action = current.no;
if ( current.no == page1.no ) { page1 = current; }
if ( current.no == page2.no ) { page2 = current; }
if ( current.no == page3.no ) { page3 = current; }
if ( current.no == page4.no ) { page4 = current; }
if ( current.no == page5.no ) { page5 = current; }
} else if ( action == "next") {
action = current.next;
} else {
exit plug Error[name = name];
}
}
exit plug ByeBye[name = name, password = password];
}
}