Staff

# Konstanten $filemaske = ".*\.shtml"; $readdir = $metainfo->getValues("directory"); $ueClass = $metainfo->getValues("ueClass"); %ueberschrift = ( "A" => "Chair", "A_s" => "Chair", "a" => "Professos", "a_m" => "Professos", "a_s" => "Professor", "aj" => "Assistant Professors", "aj_m" => "Assistant Professors", "aj_s" => "Assistant Professor", "ap" => "Associate Professors", "ap_m" => "Associate Professors", "ap_s" => "Associate Professor", "as" => "Visiting Professors", "as_m" => "Visiting Professors", "as_s" => "Visiting Professor", "b" => "Secretary's Office", "b_m" => "Secretary's Office", "b_s" => "Secretary's Office", "e" => "Scientific Staff", "e_m" => "Scientific Staff", "e_s" => "Research Assistant", "eb" => "Technical Staff", "eb_m" => "Technical Staff", "eb_s" => "Technical Assistant", "h" => "Graduate Assistants", "h_m" => "Graduate Assistants", "h_s" => "Graduate Assistant", "hh" => "Student Assistants", "hh_m" => "Student Assistants", "hh_s" => "Student Assistant", "g" => "Project Collaborators", "g_m" => "Project Collaborators", "g_s" => "Project Collaborator", "ga" => "External Ph.D. Students", "ga_m" => "External Ph.D. Students", "ga_s" => "External Ph.D. Student", "gb" => "Scholarship Students", "gb_m" => "Scholarship Students", "gb_s" => "Scholarship Student", "gd" => "Visiting Scientists", "gd_m" => "Visiting Scientists", "gd_s" => "Visiting Scientist", "k" => "Former Staff", "k_m" => "Former Staff", "k_s" => "Alumnus", ); sub vergleichen() { my $a_st = $FILE_META{$a}->{stellung}; $a_st =~ s/[_f]//gi; my $b_st = $FILE_META{$b}->{stellung}; $b_st =~ s/[_f]//gi; my $a_dateiname = lc($FILE_META{$a}->{dateiname}); my $b_dateiname = lc($FILE_META{$b}->{dateiname}); $a_dateiname =~ s/[a-zA-Z0-9-]*\.//gi; $b_dateiname =~ s/[a-zA-Z0-9-]*\.//gi; return ( ($a_st cmp $b_st) || (($a_st eq $b_st) && ($a_dateiname cmp $b_dateiname)) ); } clearlist(); filemask($filemaske); ireaddir($readdir); @FILELIST = sort(vergleichen @FILELIST); my $code_ges=""; my $code_akt=""; my $letzte_stellung=""; my $stellung=""; my $f_akt=0; #my $ma_akt=0; my $n_akt=0; foreach my $file (@FILELIST) { my $filename = $FILE_META{$file}->{filename}; my $directory = $FILE_META{$file}->{directory}; my $name = $FILE_META{$file}->{titel}; my $zusatzname = $FILE_META{$file}->{zusatzname}; my $position = $FILE_META{$file}->{zusatzname_position}; my $c = ""; my $email = $FILE_META{$file}->{email}; my $telefax = $FILE_META{$file}->{telefax}; my $telefon = $FILE_META{$file}->{telefon}; my $keinlink = $FILE_META{$file}->{keinlink}; my $weiter = $FILE_META{$file}->{weiter}; my $anzeigen = $FILE_META{$file}->{anzeigen}; $anzeigen = (($anzeigen eq "ja") or not($anzeigen)); $keineIndexseite = not( $filename =~ /^(index|sa_index|sa_index_abwesenheit|abwesenheit)\.shtml$/ ); if ($keineIndexseite and ($FILE_META{$file}->{titel} ne "") and $anzeigen) { $c .= ''; if (($FILE_META{$file}->{exthomepage} ne "http://") and ($FILE_META{$file}->{exthomepage} ne "")) { $c .= ''; }else{ $c .= '' if (not($keinlink) or ($keinlink eq "no")); } if ($zusatzname){ $c .= $zusatzname .' '.$name if ($position eq "vor"); $c .= $name. ', ' .$zusatzname if ($position eq "nach"); }else{ $c .= $name; } $c .= '' if (not($keinlink) or ($keinlink eq "no")); $c .= ''; $c .= ' [external link]' if (($FILE_META{$file}->{exthomepage} ne "http://") and ($FILE_META{$file}->{exthomepage} ne "")); if ($email and not($FILE_META{$file}->{stellung} eq "b")) { $c .= '
email: '; $c .= ''.$email.''; } if ($telefon and not($FILE_META{$file}->{stellung} eq "b")) { $c .= '
phone: '; $c .= $telefon; } $c .= '
'.$weiter if ($weiter); if ($FILE_META{$file}->{stellung} eq "b") { $c .= '
email: '.$email.'' if ($email); $c .= '
phone: '.$telefon if ($telefon); $c .= '
fax: '.$telefax if ($telefax); } my $s_roh = $FILE_META{$file}->{stellung}; my $stellung = $s_roh; $stellung =~s/[_f]//gi; if ($letzte_stellung eq "") { $letzte_stellung=$stellung; } $c = ''."\n".'
  • '.$c.'
  • '."\n" if ($c); if ($stellung ne $letzte_stellung) { # $st = $letzte_stellung.(($f_akt==$n_akt)?"_f":"").(($n_akt==1)?"_s":""); $st = $letzte_stellung; #Beibt bei 0 menschen in der Organisationseinheit if ($n_akt == 1) { # Nur ein mensch in organisationseinheit if ($f_akt == 1){ #Einziger mensch in Einheit ist eine Frau $st .= "_f_s"; }else{ #Einziger Mensch in Einheit ist ein Mann $st .= "_s"; } }else{ #Mehrere Menschen in der Organisationseinheit if ($f_akt == 0){ #In Einheit keine Frauen (Nur Männer) $st .= "_m"; }else { #In Einheit gibt es Frauen if ($f_akt < $n_akt) { #In Einheit nicht alle menschen sind Frauen. D.h. Gemischte Einheit $st .= ""; }else{ #Faktisch bedeutet $f_akt == $n_akt #Einheit besteht aus mehreren Frauen. Keine Männer $st .= "_f"; }#if $f_akt < $n_akt } #if $f_akt == 0 } #if $n_akt == 1 $code_ges .= '
    '."\n".'

    '.$ueberschrift{$st}.'

    '."\n".'
      '."\n" . $code_akt . '
    '."\n".'
    '."\n"; $letzte_stellung = $stellung; $code_akt=""; $f_akt=0; #$ma_akt=0; $n_akt=0; } # if $stellung $n_akt++; if ($s_roh =~ m/_f/) { $f_akt++; } #if ($s_roh =~ m/ /) { $ma_akt++; } $code_akt .= $c; }# if keine_index }# foreach #$st = $letzte_stellung.(($f_akt==$n_akt)?"_f":"").(($n_akt==1)?"_s":""); my $st = $letzte_stellung; #Beibt bei 0 menschen in der Organisationseinheit if ($n_akt == 1) { # Nur ein mensch in organisationseinheit if ($f_akt == 1){ #Einziger mensch in Einheit ist eine Frau $st .= "_f_s"; }else{ #Einziger Mensch in Einheit ist ein Mann $st .= "_s"; } }else{ #Mehrere Menschen in der Organisationseinheit if ($f_akt == 0){ #In Einheit keine Frauen (Nur Männer) $st .= "_m"; }else { #In Einheit gibt es Frauen if ($f_akt < $n_akt) { #In Einheit nicht alle menschen sind Frauen. D.h. Gemischte Einheit $st .= ""; }else{ #Faktisch bedeutet $f_akt == $n_akt #Einheit besteht aus mehreren Frauen. Keine Männer $st .= "_f"; }#if $f_akt < $n_akt } #if $f_akt == 0 } #if $n_akt == 1 if (scalar(@FILELIST)>0) { $code_ges .= '

    '.$ueberschrift{$st}.'

      ' . $code_akt . '
    '; print($code_ges); } #Setzen Uebersicht-Kuerzel sub setzen_kuerzel{ my $letzte_stellung = shift; my $n_akt = shift; my $f_akt = shift; my $st = $letzte_stellung; #Beibt bei 0 menschen in der Organisationseinheit if ($n_akt == 1) { # Nur ein mensch in organisationseinheit if ($f_akt == 1){ #Einziger mensch in Einheit ist eine Frau $st .= "_f_s"; }else{ #Einziger Mensch in Einheit ist ein Mann $st .= "_s"; } }else{ #Mehrere Menschen in der Organisationseinheit if ($f_akt == 0){ #In Einheit keine Frauen (Nur Männer) $st .= "_m"; }else { #In Einheit gibt es Frauen if ($f_akt < $n_akt) { #In Einheit nicht alle menschen sind Frauen. D.h. Gemischte Einheit $st .= ""; }else{ #Faktisch bedeutet $f_akt == $n_akt #Einheit besteht aus mehreren Frauen. Keine Männer $st .= "_f"; }#if $f_akt < $n_akt } #if $f_akt == 0 } #if $n_akt == 1 } #Ende sub setzen_kuerzel
    25.06.2014