Project

General

Profile

« Previous | Next » 

Revision 2403

Added by sgarg almost 20 years ago

Changed the code which handles Associated Party, Keywords and Taxonomic Information.

View differences:

src/perl/register-dataset.cgi
1082 1082
                    if (hasContent(param("kwType" . $tmp1)) &&
1083 1083
                       (param("kwType" . $tmp1) !~ "none") ) {
1084 1084
                         $doc .= "keywordType=\"";
1085
                         $doc .= param("kwType" . $tmp1);
1085
                         $doc .= lc(param("kwType" . $tmp1));
1086 1086
                         $doc .= "\"";
1087 1087
                    }
1088 1088
                    $doc .= ">";
......
1736 1736
  #      errMoreThanN("Additional Originators");
1737 1737
 #   } 
1738 1738

  
1739
    $$templateVars{'aoCount'} = $aoCount-1;
1739
    $$templateVars{'aoCount'} = $aoCount;
1740 1740
    
1741 1741
    dontOccur($doc, "./pubDate", "pubDate");
1742 1742
    dontOccur($doc, "./language", "language");
......
1754 1754

  
1755 1755
    $results = $doc->findnodes('//dataset/keywordSet');
1756 1756

  
1757
    my $count = 0;
1757
    my $count = 1;
1758 1758
    foreach $node ($results->get_nodelist) {
1759 1759
	$tempResult = $node->findnodes('./keyword');
1760 1760
	if ($tempResult->size() > 1) {
1761 1761
	    errMoreThanOne("keyword");
1762 1762
	} else {
1763
	    $count++;
1764 1763
	    foreach $tempNode ($tempResult->get_nodelist) {
1765 1764
		$$templateVars{"keyword$count"} = $tempNode->textContent();
1766 1765
		if ($tempNode->hasAttributes()) {
1767 1766
		    my @attlist = $tempNode->attributes();
1768
		    $$templateVars{"kwType$count"} = $attlist[0]->value;
1767
                    my $tmp = $attlist[0]->value;  #convert the first letter to upper case
1768
		    $tmp =~ s/\b(\w)/\U$1/g;
1769
		    $$templateVars{"kwType$count"} = $tmp;
1769 1770
		}  
1770 1771
	    }
1771 1772
	}
1772 1773
	$$templateVars{"kwTh$count"} = findValue($node, "keywordThesaurus");
1774
        $count++;
1773 1775
    }
1774 1776
    $$templateVars{'keyCount'} = $count;
1775 1777
    if($count > 0 ){
......
1834 1836
        errMoreThanOne("distribution/online");
1835 1837
    } else {
1836 1838
        foreach my $tempNode ($results->get_nodelist) {
1837
            $$templateVars{'dataMedium'} = findValue($tempNode, "mediumName");
1839
            my $temp = findValue($tempNode, "mediumName");
1840
            if(substr($temp, 0, 5) eq "other"){
1841
                $$templateVars{'dataMedium'} = substr($temp, 0, 5);
1842
                $$templateVars{'dataMediumOther'} = substr($temp, 5);
1843
            } else {
1844
                $$templateVars{'dataMedium'} = $temp;
1845
            }
1838 1846
            dontOccur($tempNode, "./mediumDensity", "/distribution/offline/mediumDensity");
1839 1847
            dontOccur($tempNode, "./mediumDensityUnits", "/distribution/offline/mediumDensityUnits");
1840 1848
            dontOccur($tempNode, "./mediumVolume", "/distribution/offline/mediumVolume");
......
2358 2366
        $$templateVars{'origEmailContact'} = normalizeCD($FORM::origEmailContact);    
2359 2367
    }
2360 2368

  
2361
    $$templateVars{'aoCount'} = $FORM::aoCount;
2362
    foreach my $origName (param()) {
2363
	if ($origName =~ /origNamefirst/) {
2364
	    my $origNameIndex = $origName;
2365
	    $origNameIndex =~ s/origNamefirst//; # get the index of the parameter 0, ..., 10
2366
	    my $origNamelast = "origNamelast".$origNameIndex;
2367
	    my $origRole = "origRole".$origNameIndex;
2368
	    if ( $origNameIndex =~ /[0-9]/  && $origNameIndex > 0){
2369
		if (hasContent(param($origName)) && hasContent(param($origNamelast)) && hasContent(param($origRole))) {
2370
		    debug("Registry processing keyword: $origName = ".param($origName)." $origNamelast = ".param($origNamelast)." $origRole = ".param($origRole));
2371
		    $$templateVars{$origName} = normalizeCD(param($origName));
2372
		    $$templateVars{$origNamelast} = normalizeCD(param($origNamelast));
2373
		    $$templateVars{$origRole} = normalizeCD(param($origRole));
2374
		}
2375
	    }
2376
	}
2369
    my $aoFNArray = \@FORM::aoFirstName;
2370
    my $aoLNArray = \@FORM::aoLastName;
2371
    my $aoRoleArray = \@FORM::aoRole;
2372
    my $aoCount = 1;
2373

  
2374
    for(my $i = 0; $i <= $#$aoRoleArray; $i++){
2375
        if (hasContent($aoFNArray->[$i]) && hasContent($aoLNArray->[$i])) {
2376
            debug("Registry processing Associated Party: origName = ".$aoFNArray->[$i]
2377
                  ." origNamelast = ".$aoLNArray->[$i]." origRole = "
2378
                  .$aoRoleArray->[$i]);
2379
            $$templateVars{"origNamefirst".$aoCount} = normalizeCD($aoFNArray->[$i]);
2380
            $$templateVars{"origNamelast".$aoCount} = normalizeCD($aoLNArray->[$i]);
2381
            $$templateVars{"origRole".$aoCount} = normalizeCD($aoRoleArray->[$i]);
2382
            $aoCount++;
2383
	}    
2377 2384
    }
2378 2385

  
2386
    $$templateVars{'aoCount'} = $aoCount;
2379 2387
    $$templateVars{'abstract'} = normalizeCD($FORM::abstract);
2380
    $$templateVars{'keyCount'} = $FORM::keyCount;
2381
    foreach my $kyd (param()) {
2382
	if ($kyd =~ /keyword/) {
2383
	    my $keyIndex = $kyd;
2384
	    $keyIndex =~ s/keyword//; # get the index of the parameter 0, ..., 10
2385
	    my $keyType = "kwType".$keyIndex;
2386
	    my $keyTh = "kwTh".$keyIndex;
2387
	    if ( $keyIndex =~ /[0-9]/ ){
2388
		if (hasContent(param($kyd)) && hasContent(param($keyType)) && hasContent(param($keyTh))) {
2389
		    debug("Registry processing keyword: $kyd = ".param($kyd)." $keyType = ".param($keyType)." $keyTh = ".param($keyTh));
2390
		    $$templateVars{$kyd} = normalizeCD(param($kyd));
2391
		    $$templateVars{$keyType} = param($keyType);
2392
		    $$templateVars{$keyTh} = param($keyTh);
2393
		}
2394
	    }
2395
	}
2396
    }
2388
   
2389
   
2390
    my $keywordArray = \@FORM::keyword;
2391
    my $keywordTypeArray = \@FORM::keywordType;
2392
    my $keywordThArray = \@FORM::keywordTh;
2393
    my $keyCount = 1;
2394
   
2395
    for(my $i = 0; $i <= $#$keywordArray; $i++){
2396
        if (hasContent($keywordArray->[$i])) {
2397
            debug("Registry processing keyword: keyword = ".$keywordArray->[$i]."
2398
                  keywordType = ".$keywordTypeArray->[$i]."
2399
                  keywordTh = ".$keywordThArray->[$i]);
2400
            $$templateVars{"keyword".$keyCount} = normalizeCD($keywordArray->[$i]);
2401
            $$templateVars{"kwType".$keyCount} = normalizeCD($keywordTypeArray->[$i]);
2402
            $$templateVars{"kwTh".$keyCount} = normalizeCD($keywordThArray->[$i]);
2403
            $keyCount++;
2404
	}    
2405
    }    
2406
    $$templateVars{'keyCount'} = $keyCount;
2407
    
2397 2408
    $$templateVars{'addComments'} = normalizeCD($FORM::addComments);
2398 2409
    $$templateVars{'useConstraints'} = $FORM::useConstraints;
2399
    $$templateVars{'useConstraintsOther'} = $FORM::useConstraintsOther;
2410
    if($FORM::useConstraints eq "other"){
2411
        $$templateVars{'useConstraintsOther'} = $FORM::useConstraintsOther;
2412
    }
2400 2413
    $$templateVars{'url'} = $FORM::url;
2401
    if($FORM::dataMedium eq "Select type of medium here."){
2402
        $$templateVars{'dataMedium'} = "";
2403
    }else{
2404
        $$templateVars{'dataMedium'} = $FORM::dataMedium;
2405
    }    
2406
    $$templateVars{'dataMediumOther'} = normalizeCD($FORM::dataMediumOther);
2414
    $$templateVars{'dataMedium'} = $FORM::dataMedium;
2415
    if($FORM::dataMedium eq "other"){
2416
        $$templateVars{'dataMediumOther'} = normalizeCD($FORM::dataMediumOther);
2417
    }
2407 2418
    $$templateVars{'beginningYear'} = $FORM::beginningYear;
2408 2419
    $$templateVars{'beginningMonth'} = $FORM::beginningMonth;
2409 2420
    $$templateVars{'beginningDay'} = $FORM::beginningDay;
......
2429 2440
    $$templateVars{'longSec2'} = $FORM::longSec2;
2430 2441
    $$templateVars{'hemisphLong2'} = $FORM::hemisphLong2;
2431 2442

  
2432
    $$templateVars{'taxaCount'} = $FORM::taxaCount;
2433
    foreach my $trn (param()) {
2434
        if ($trn =~ /taxonRankName/) {
2435
            my $taxIndex = $trn;
2436
            $taxIndex =~ s/taxonRankName//; # get the index of the parameter 0, ..., 10
2437
            my $trv = "taxonRankValue".$taxIndex;
2438
            if ( $taxIndex =~ /[0-9]/ ){
2439
                if (hasContent(param($trn)) && hasContent(param($trv))) {
2440
                    debug("Registry processing taxon: $trn = ".param($trn)." $trv = ".param($trv));
2441
                    $$templateVars{$trn} = normalizeCD(param($trn));
2442
                    $$templateVars{$trv} = normalizeCD(param($trv));
2443
                }
2444
            }
2445
        }
2443
    my $taxonRankArray = \@FORM::taxonRank;
2444
    my $taxonNameArray = \@FORM::taxonName;
2445
    my $taxonCount = 1;
2446

  
2447
    for(my $i = 0; $i <= $#$taxonNameArray; $i++){
2448
        if (hasContent($taxonRankArray->[$i]) && hasContent($taxonNameArray->[$i])) {
2449
            debug("Registry processing keyword: trv = ".$taxonRankArray->[$i]
2450
                    ." trn = ".$taxonNameArray->[$i]);
2451
            $$templateVars{"taxonRankName".$taxonCount} = normalizeCD($taxonNameArray->[$i]);
2452
            $$templateVars{"taxonRankValue".$taxonCount} = normalizeCD($taxonRankArray->[$i]);
2453
            $taxonCount++;
2454
	}    
2446 2455
    }
2456

  
2457
    $$templateVars{'taxaCount'} = $taxonCount-1;
2447 2458
    $$templateVars{'taxaAuth'} = normalizeCD($FORM::taxaAuth);
2448 2459

  
2449 2460
    $$templateVars{'methodTitle'} = normalizeCD($FORM::methodTitle);
2450

  
2461
 
2451 2462
    my @tempMethodPara;
2452 2463
    for (my $i = 0; $i < scalar(@FORM::methodPara); $i++) {
2453 2464
	$tempMethodPara[$i] = normalizeCD($FORM::methodPara[$i]);
......
2590 2601
	    if ( $keyIndex =~ /[0-9]/ ){
2591 2602
		if (hasContent(param($kyd)) && hasContent(param($keyType)) && hasContent(param($keyTh))) {
2592 2603
		    debug("Registry processing keyword: $kyd = ".param($kyd)." $keyType = ".param($keyType)." $keyTh = ".param($keyTh));
2593
		    $$templateVars{$kyd} = param($kyd);
2594
		    $$templateVars{$keyType} = param($keyType);
2604
		    $$templateVars{$kyd} = param($kyd); 
2605
                    my $tmp = param($keyType);  #convert the first letter to upper case
2606
		    $tmp =~ s/\b(\w)/\U$1/g;
2607
                    $$templateVars{$keyType} = $tmp;
2595 2608
		    $$templateVars{$keyTh} = param($keyTh);
2596 2609
		}
2597 2610
	    }

Also available in: Unified diff