Changeset 776 for trunk/gsdl/src/recpt
- Timestamp:
- 1999-11-09T09:26:38+13:00 (25 years ago)
- Location:
- trunk/gsdl/src/recpt
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/src/recpt/cgiargs.cpp
r533 r776 28 28 /* 29 29 $Log$ 30 Revision 1.10 1999/11/08 20:26:38 sjboddie 31 added multiplevalue option to cgiarginfo 32 30 33 Revision 1.9 1999/09/07 04:56:53 sjboddie 31 34 added GPL notice … … 177 180 cgiarginfo::cgiarginfo () { 178 181 multiplechar = false; 182 multiplevalue = false; 179 183 defaultstatus = weak; 180 184 savedarginfo = can; … … 186 190 (x.longname == y.longname) && 187 191 (x.multiplechar == y.multiplechar) && 192 (x.multiplevalue == y.multiplevalue) && 188 193 (x.defaultstatus == y.defaultstatus) && 189 194 (x.argdefault == y.argdefault) && … … 196 201 ((x.longname < y.longname) || 197 202 ((x.longname == y.longname) && 198 ((x.multiplechar < y.multiplechar) || 199 ((x.multiplechar == y.multiplechar) && 200 ((x.defaultstatus < y.defaultstatus) || 201 ((x.defaultstatus == y.defaultstatus) && 202 ((x.argdefault < y.argdefault) || 203 ((x.argdefault == y.argdefault) && 204 ((x.savedarginfo < y.savedarginfo)))))))))))); 203 ((x.multiplevalue < y.multiplevalue) || 204 ((x.multiplevalue == y.multiplevalue) && 205 ((x.multiplechar < y.multiplechar) || 206 ((x.multiplechar == y.multiplechar) && 207 ((x.defaultstatus < y.defaultstatus) || 208 ((x.defaultstatus == y.defaultstatus) && 209 ((x.argdefault < y.argdefault) || 210 ((x.argdefault == y.argdefault) && 211 ((x.savedarginfo < y.savedarginfo)))))))))))))); 205 212 } 206 213 … … 233 240 } 234 241 242 if (orginfo->multiplevalue != info.multiplevalue) { 243 if (logout != NULL) { 244 (*logout) << text_t2ascii << "Error: cgi argument \"" << info.shortname 245 << "\" was given as being a single value option\n" 246 << "and a multiple value option.\n\n"; 247 } 248 return false; // found a clash 249 } 250 235 251 if (orginfo->multiplechar != info.multiplechar) { 236 252 if (logout != NULL) { -
trunk/gsdl/src/recpt/cgiargs.h
r533 r776 153 153 bool multiplechar; 154 154 155 // multiplevalue should be set to true the argument may have 156 // multiple values (as is the case when multiple checkboxes 157 // use the same name) 158 bool multiplevalue; 159 155 160 // defaultstatus_t indicates how good the default is when different 156 161 // defaults are given for one argument. "none" means there is no default -
trunk/gsdl/src/recpt/cgiutils.cpp
r764 r776 28 28 /* 29 29 $Log$ 30 Revision 1.12 1999/11/08 20:26:38 sjboddie 31 added multiplevalue option to cgiarginfo 32 30 33 Revision 1.11 1999/11/01 22:03:35 sjboddie 31 34 Added ability to handle multiple arguments with the same name (as … … 143 146 144 147 // split up the cgi arguments 145 void split_cgi_args (text_t argstr, cgiargsclass &args) { 148 void split_cgi_args (const cgiargsinfoclass &argsinfo, text_t argstr, 149 cgiargsclass &args) { 146 150 args.clear(); 147 151 … … 165 169 // multiple checkboxes using the same name) we'll 166 170 // create a comma separated list of all the values 167 if (!args[key].empty()) 168 args[key] += "," + value; 169 else 171 // (if multiplevalue) 172 if (!args[key].empty()) { 173 const cgiarginfo *info = argsinfo.getarginfo (key); 174 if (info != NULL && info->multiplevalue) 175 args[key] += "," + value; 176 else args.setarg (key, value, cgiarg_t::cgi_arg); 177 } else 170 178 args.setarg (key, value, cgiarg_t::cgi_arg); 171 179 } -
trunk/gsdl/src/recpt/cgiutils.h
r607 r776 39 39 40 40 // split up the cgi arguments 41 void split_cgi_args (text_t argstr, cgiargsclass &args); 41 void split_cgi_args (const cgiargsinfoclass &argsinfo, text_t argstr, 42 cgiargsclass &args); 42 43 43 44 // turns any '-' in a cgi argument into "(-)" -
trunk/gsdl/src/recpt/queryaction.cpp
r772 r776 28 28 /* 29 29 $Log$ 30 Revision 1.30 1999/11/08 20:26:37 sjboddie 31 added multiplevalue option to cgiarginfo 32 30 33 Revision 1.29 1999/11/04 20:29:53 sjboddie 31 34 small change to cross-collection searching … … 330 333 arg_ainfo.longname = "collections to search"; 331 334 arg_ainfo.multiplechar = true; 335 arg_ainfo.multiplevalue = true; 332 336 arg_ainfo.defaultstatus = cgiarginfo::weak; 333 337 arg_ainfo.argdefault = ""; -
trunk/gsdl/src/recpt/receptionist.cpp
r769 r776 28 28 /* 29 29 $Log$ 30 Revision 1.40 1999/11/08 20:26:37 sjboddie 31 added multiplevalue option to cgiarginfo 32 30 33 Revision 1.39 1999/11/03 22:49:10 sjboddie 31 34 A location url may now contain macros … … 584 587 // get an initial list of cgi arguments 585 588 args.clear(); 586 split_cgi_args (args tr, args);589 split_cgi_args (argsinfo, argstr, args); 587 590 588 591 // expand the compressed argument (if there was one)
Note:
See TracChangeset
for help on using the changeset viewer.