|
XML * cgi;
XML * environment;
XML * input;
XML * current_user;
XML * view;
See Traversing the user/group repositories to build a directory view
See Presenting a directory view in HTML
int main (int argc, char * argv[])
{
XML * elem;
cgi = cgi_init ();
environment = xml_loc (cgi, "cgicall.environment");
input = xml_loc (cgi, "cgicall.query");
current_user = user_authenticate (environment, AUTH_DOMAIN);
if (!current_user) {
printf ("<html><head><title>User authentication required</title></head>\n");
printf ("<body><h2>User authentication required </h2><hr>\n");
printf ("A valid user authentication response is required to access this area.\n");
printf ("</body></html>\n");
xml_free (cgi);
exit(0);
}
view = xml_create ("dirview");
xml_set (view, "root", xml_attrval (input, "root"));
xml_set (view, "curuser", xml_attrval (current_user, "name"));
xml_set (view, "state", xml_attrval (input, "state"));
dirview_create (view, current_user);
printf ("Content-type: text/html\n\n");
dirview_show (stdout, view);
xml_free (cgi);
xml_free (current_user);
xml_free (view);
}
|