Changeset 11913


Ignore:
Timestamp:
2006-06-02T16:30:40+12:00 (18 years ago)
Author:
mdewsnip
Message:

Fixed up the designers static browser, and sorted the others correctly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/cic-hcap/perllib/plugins/CICPlug.pm

    r11912 r11913  
    190190    my $dbh = DBI->connect('dbi:ODBC:CIC-HCAP');
    191191
    192     $self->process_institutions($dbh);
    193     $self->process_places($dbh);
     192    # $self->process_institutions($dbh);
     193    # $self->process_places($dbh);
    194194    $self->process_designers($dbh);
    195195
     
    654654    my %designer_name_to_place_ids_mapping;
    655655    my %designer_name_to_id_mapping;
     656    my %designer_id_to_name_mapping;
    656657    my $designer_count = 0;
    657658    while (my $designer_hashref = $designer_sql_handle->fetchrow_hashref) {
     
    668669        }
    669670
     671        $designer_id_to_name_mapping{$designer_name_to_id_mapping{$designer_name}} = $designer_name;
    670672        push(@{$designer_name_to_place_ids_mapping{$designer_name}}, $designer_hashref->{"Entry_ID"});
    671673    }
     
    720722
    721723    # Write the designers.dm macrofile
    722     &write_static_browser_macrofile("designers", \%designer_name_to_id_mapping);
     724    &write_static_browser_macrofile("designers", \%designer_id_to_name_mapping);
    723725}
    724726
     
    954956    print BROWSER_MACROFILE "<tr><td width=\"50%\"><br /><a name=\"$chunk_title\"/><span style=\"color: black;\"><b>$chunk_title</b></span></td><td width=\"50%\"></td></tr>\n";
    955957
    956     my @chunk_ids = @{$chunk_ids_ref};
    957     my $half_point = ((scalar(@chunk_ids) % 2 == 0) ? scalar(@chunk_ids) / 2 : (scalar(@chunk_ids) + 1) / 2);
     958    my %full_name_to_id_mapping;
     959    foreach my $id (@{$chunk_ids_ref}) {
     960    my $full_name = $id_to_name_mapping->{$id};
     961    if (defined($id_to_extra_mapping)) {
     962        $full_name .= " " . $id_to_extra_mapping->{$id};
     963    }
     964    $full_name_to_id_mapping{$full_name} = $id;
     965    }
     966 
     967    my @full_names = sort(keys(%full_name_to_id_mapping));
     968    my $half_point = ((scalar(@full_names) % 2 == 0) ? scalar(@full_names) / 2 : (scalar(@full_names) + 1) / 2);
    958969    for (my $i = 0; $i < $half_point; $i++) {
    959970    print BROWSER_MACROFILE "<tr>";
    960971
    961     my $id = $chunk_ids[$i];
     972    my $id = $full_name_to_id_mapping{$full_names[$i]};
    962973    my $name = $id_to_name_mapping->{$id};
    963     my $extra = "";
    964     if (defined($id_to_extra_mapping)) {
    965         $extra = $id_to_extra_mapping->{$id};
    966     }
     974    my $extra = $id_to_extra_mapping->{$id} || "";
    967975    print BROWSER_MACROFILE "<td valign=\"top\"><a href=\"_gwcgi_?a=d&d=$id\">$name</a>$extra</td>";
    968976
    969     $id = $chunk_ids[$i+$half_point];
    970     if (defined($id)) {
     977    print BROWSER_MACROFILE "<td valign=\"top\">";
     978    if (defined($full_names[$i+$half_point])) {
     979        $id = $full_name_to_id_mapping{$full_names[$i+$half_point]};
    971980        $name = $id_to_name_mapping->{$id};
    972         $extra = "";
    973         if (defined($id_to_extra_mapping)) {
    974         $extra = $id_to_extra_mapping->{$id};
    975         }
    976         print BROWSER_MACROFILE "<td valign=\"top\"><a href=\"_gwcgi_?a=d&d=$id\">$name</a>$extra</td>";
    977     }
    978     else {
    979         print BROWSER_MACROFILE "<td></td>";
    980     }
     981        $extra = $id_to_extra_mapping->{$id} || "";
     982        print BROWSER_MACROFILE "<a href=\"_gwcgi_?a=d&d=$id\">$name</a>$extra";
     983    }
     984    print BROWSER_MACROFILE "</td>";
    981985
    982986    print BROWSER_MACROFILE "</tr>\n";
Note: See TracChangeset for help on using the changeset viewer.