- Timestamp:
- 1999-12-13T15:54:11+13:00 (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/src/recpt/queryaction.cpp
r800 r828 28 28 /* 29 29 $Log$ 30 Revision 1.32 1999/12/13 02:54:11 davidb 31 Support for cross collection searching (CCS) 32 30 33 Revision 1.31 1999/12/05 21:22:33 sjboddie 31 34 tidied up cross-collection searching a bit … … 551 554 552 555 text_tset collections; 553 text_t arg_cc = args["cc"]; 554 decode_cgi_arg (arg_cc); 555 splitchar (arg_cc.begin(), arg_cc.end(), ',', collections); 556 text_t arg_c = args["c"]; 557 558 // get collect info for 'c' 559 bool found_arg_c = false; 560 recptprotolistclass::iterator rprotolist_here = protos->begin(); 561 const recptprotolistclass::iterator rprotolist_end = protos->end(); 562 while (rprotolist_here != rprotolist_end) 563 { 564 if ((*rprotolist_here).p != NULL) 565 { 566 (*rprotolist_here).p->get_collectinfo (arg_c, cinfo, err, logout); 567 if (err == noError && (cinfo.buildDate > 0)) 568 { 569 text_tarray::iterator collist_here = cinfo.ccsCols.begin(); 570 const text_tarray::iterator collist_end = cinfo.ccsCols.end(); 571 while (collist_here != collist_end) { 572 collections.insert(*collist_here); 573 collist_here++; 574 } 575 found_arg_c = true; 576 break; 577 } 578 579 } 580 rprotolist_here ++; 581 } 582 583 if (!found_arg_c) 584 { 585 // if no collection is found, let ccs be across all collections 586 rprotolist_here = protos->begin(); 587 while (rprotolist_here != rprotolist_end) 588 { 589 if ((*rprotolist_here).p != NULL) 590 { 591 (*rprotolist_here).p->get_collectinfo (arg_c, cinfo, err, logout); 592 if (err == noError && (cinfo.buildDate > 0)) 593 594 { 595 text_tarray collist; 596 (*rprotolist_here).p->get_collection_list (collist, err, logout); 597 598 text_tarray::iterator collist_here = collist.begin(); 599 text_tarray::iterator collist_end = collist.end(); 600 while (collist_here != collist_end) 601 { 602 collections.insert(*collist_here); 603 collist_here++; 604 } 605 } 606 } 607 rprotolist_here ++; 608 } 609 } 556 610 557 611 textout << outconvert << disp << "_query:header_\n" … … 570 624 << "<tr><td>\n"; 571 625 572 recptprotolistclass::iterator rprotolist_here = protos->begin(); 573 recptprotolistclass::iterator rprotolist_end = protos->end(); 626 rprotolist_here = protos->begin(); 574 627 while (rprotolist_here != rprotolist_end) { 575 628 if ((*rprotolist_here).p != NULL) { … … 583 636 584 637 (*rprotolist_here).p->get_collectinfo (*collist_here, cinfo, err, logout); 585 // if (err == noError && cinfo.isPublic && (cinfo.buildDate > 0)) {586 638 if (err == noError && (cinfo.buildDate > 0)) { 587 639 640 text_tset::const_iterator t = collections.find (*collist_here); 641 if (t == collections.end()) {collist_here++; continue;} 642 588 643 (*rprotolist_here).p->get_filteroptions (*collist_here, frequest, fresponse, err, logout); 589 644 if (err == noError) { … … 629 684 630 685 text_tset::const_iterator t = collections.find (*collist_here); 631 if (t != collections.end()) textout << " checked"; 686 if (t != collections.end()) textout << " checked"; // already know this is true 632 687 633 688 textout << outconvert
Note:
See TracChangeset
for help on using the changeset viewer.