Changeset 16680 for gsdl/trunk/runtime-src/src
- Timestamp:
- 2008-08-08T12:17:50+12:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/runtime-src/src/recpt/depositoraction.cpp
r16310 r16680 362 362 args["di1lastpage"] = lastpage_textt; 363 363 } 364 365 // create cached metadata values 366 text_t cached_metadata_values = ""; 367 cgiargsclass::const_iterator args_here = args.begin(); 368 cgiargsclass::const_iterator args_end = args.end(); 369 while (args_here != args_end) { 370 text_t args_name = (*args_here).first; 371 int prefix_len = macro_prefix.size(); 372 text_t args_prefix = substr(args_name.begin(),args_name.begin()+prefix_len+3); 373 374 if (args_prefix == (macro_prefix+"md.")) { 375 text_t args_val = args[args_name]; 376 text_t args_suffix = substr(args_name.begin()+prefix_len+3,args_name.end()); 377 378 text_tarray mdvalues; 379 splitchar (args_val.begin(), args_val.end(), ',', mdvalues); 380 int numvalues = mdvalues.size(); 381 382 for (int i = 0; i < numvalues; ++i) { 383 if (!mdvalues[i].empty()) { 384 decode_cgi_arg(mdvalues[i]); 385 386 if (cached_metadata_values == "") { 387 cached_metadata_values = "var CachedMDValues = new Array(\\{"; 388 } else { 389 cached_metadata_values += ","; 390 } 391 392 cached_metadata_values += "\"" + args_name + "\":\"" + args_val + "\""; 393 } 394 } 395 } 396 ++args_here; 397 } 398 399 if (cached_metadata_values != "") { 400 cached_metadata_values += "\\});"; 401 args["cachedMDValues"] = cached_metadata_values; 402 } 364 403 } 365 404 return true; … … 420 459 text_t depositorbar = "<table class=wizardbar border=0 cellspacing=4 cellpadding=0><tr>\n"; 421 460 422 if(stepstring == "step") { 461 if(stepstring == "step") { 462 // check configured metadata elements 463 if (args["metadataconf"] == "var DepositorMDFields = new Array();" || args["metadataconf"] == "") { 464 text_t cfgfile_name = filename_cat (collecthome, args[macro_prefix + "dirname"], "etc", "collect.cfg"); 465 text_t cfgfile_content; 466 text_t metadata_str; 467 468 if (read_file (cfgfile_name, cfgfile_content)) { 469 text_t::const_iterator here = cfgfile_content.begin(); 470 text_t::const_iterator end = cfgfile_content.end(); 471 while (here != end) { 472 here = findchar (here, end, 'd'); 473 if (here == end) break; 474 if ((here+17 < end) && (substr (here, here+17) == "depositormetadata")) { 475 here = findchar (here, end, '"'); 476 if (here == end) break; 477 text_t enddelimit = "\"\n"; 478 getdelimitstr (here+1, end, enddelimit, metadata_str); 479 args["metadataconf"] = "var DepositorMDFields = new Array("+metadata_str+");"; 480 } 481 ++here; 482 } 483 } 484 485 if (metadata_str == "") { 486 args["metadataconf"] = "var DepositorMDFields = new Array({\"name\":\"dc.Title\",\"label\":\"Title\",\"tooltip\":\"dc.Title: A name given to the resource.\",\"type\":\"text\"}, {\"name\":\"dc.Creator\",\"label\":\"Creator\",\"tooltip\":\"dc.Creator: An entity primarily responsible for making the content of the resource.\",\"type\":\"text\"}, {\"name\":\"dc.Description\",\"label\":\"Description\",\"tooltip\":\"dc.Description: An account of the content of the resource.\",\"type\":\"textarea\"});"; 487 } 488 } 423 489 424 490 here = depositor_page.begin(); … … 444 510 depositorbar += "<td>_icongreyarrow_</td>\n"; 445 511 446 } 512 } 447 513 448 514 //the build and preview pages are always last … … 467 533 468 534 depositorbar += "</tr></table>\n"; 469 535 536 // set the javascript so that the metadata form can read the existing values 537 if (args["cachedMDValues"] != "") { 538 disp.setmacro("cachedmetadatavalues", "depositor", args["cachedMDValues"]); 539 } 540 if (args["metadataconf"] != "") { 541 disp.setmacro("metadataconf", "depositor", args["metadataconf"]); 542 } 470 543 } 471 544 … … 710 783 metadata_file += " <Description>\n"; 711 784 712 785 713 786 cgiargsclass::const_iterator args_here = args.begin(); 714 787 cgiargsclass::const_iterator args_end = args.end(); … … 735 808 decode_cgi_arg(mdvalues[i]); 736 809 737 metadata_file += " <Metadata mode=\"accumulate\" name=\""; 810 metadata_file += " <Metadata mode=\"accumulate\" name=\""; 738 811 metadata_file += args_suffix; 739 812 metadata_file += "\">"; … … 743 816 } 744 817 } 745 746 } 747 818 } 748 819 749 820 ++args_here;
Note:
See TracChangeset
for help on using the changeset viewer.