Ignore:
Timestamp:
1999-09-02T12:27:21+12:00 (25 years ago)
Author:
rjmcnab
Message:

A few small things.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/recpt/receptionist.cpp

    r468 r512  
    1212/*
    1313   $Log$
     14   Revision 1.27  1999/09/02 00:27:21  rjmcnab
     15   A few small things.
     16
    1417   Revision 1.26  1999/08/25 04:43:06  sjboddie
    1518   made FilterRequest_t::docSet an array rather than a set
     
    607610    if (args["w"] == "u") {
    608611      response_data += "; charset=UTF-8";
     612    } else if (args["w"] == "g") {
     613      response_data += "; charset=GBK";
    609614    } else {
    610615      response_data += "; charset=ISO-8859-1";     
     
    872877  // set up page parameters
    873878  text_t pageparams;
    874   text_t &collection = args["c"];
    875879
    876880  bool first = true;
    877   if (!collection.empty()) {
    878     pageparams +=  "collection=" + collection; first = false;}
    879   if (args.getintarg("u") == 1)
    880     if (first) {pageparams += "style=htmlonly"; first = false;}
    881     else pageparams += ",style=htmlonly";
    882   if (args.getintarg("v") == 1)
    883     if (first) {pageparams += "version=text"; first = false;}
    884     else pageparams += ",version=text";
    885   if (args.getintarg("f") == 1)
    886     if (first) {pageparams += ",queryversion=big"; first = false;}
    887     else pageparams += ",queryversion=big";
     881  if (!args["c"].empty()) {
     882    pageparams +=  "collection=" + args["c"]; first = false;}
     883
     884//    if (args.getintarg("u") == 1)
     885//      if (first) {pageparams += "style=htmlonly"; first = false;}
     886//      else pageparams += ",style=htmlonly";
     887//    if (args.getintarg("v") == 1)
     888//      if (first) {pageparams += "version=text"; first = false;}
     889//      else pageparams += ",version=text";
     890//    if (args.getintarg("f") == 1)
     891//      if (first) {pageparams += ",queryversion=big"; first = false;}
     892//      else pageparams += ",queryversion=big";
    888893  if (args["l"] != "en")
    889894    if (first) pageparams += ",language=" + args["l"];
    890895    else pageparams += ",language=" + args["l"];
    891896
     897  // this should be in a configuration file
     898  if (args["rl"] != "1")
     899    if (first) pageparams += ",rl=" + args["rl"];
     900    else pageparams += ",rl=" + args["rl"];
     901 
    892902  // open the page
    893903  disp.openpage(pageparams, MACROPRECEDENCE);
    894904
    895905
    896   // define general macros
    897   define_general_macros (args, collectproto, outconvert, logout);
    898 
    899  
    900906  // define external macros for each action
    901907  actionptrmap::iterator actionhere = actions.begin ();
     
    911917  // define internal macros for the current action
    912918  a->define_internal_macros (collectinfo, disp, args, collectproto, logout);
     919 
     920  // define general macros. the defining of general macros is done here so that
     921  // the last possible version of the cgi arguments are used
     922  define_general_macros (args, collectproto, outconvert, logout);
    913923}
    914924
     
    927937  cgiargsclass::const_iterator argsend = args.end();
    928938  while (argshere != argsend) {
    929     if ((*argshere).first == "q")
     939    if (((*argshere).first == "q") ||
     940    ((*argshere).first == "qa") ||
     941    ((*argshere).first == "qtt") ||
     942    ((*argshere).first == "qty") ||
     943    ((*argshere).first == "qp") ||
     944    ((*argshere).first == "qpl") ||
     945    ((*argshere).first == "qr") ||
     946    ((*argshere).first == "q2"))
    930947      // need to escape special characters from query string
    931       disp.setmacro ("cgiargq", "Global", html_safe((*argshere).second.value));
     948      disp.setmacro ("cgiarg" + (*argshere).first,
     949             "Global", html_safe((*argshere).second.value));
    932950    else
    933951      disp.setmacro ("cgiarg" + (*argshere).first, "Global", (*argshere).second.value);
Note: See TracChangeset for help on using the changeset viewer.