Diff for /loncom/interface/loncommon.pm between versions 1.388 and 1.407

version 1.388, 2006/06/22 19:11:13 version 1.407, 2006/06/29 16:03:39
Line 707  sub helpLatexCheatsheet { Line 707  sub helpLatexCheatsheet {
 }  }
   
 sub help_open_menu {  sub help_open_menu {
     my ($color,$topic,$component_help,$function,$faq,$bug,$stayOnPage,$width,$height,$text) = @_;      my ($topic,$component_help,$faq,$bug,$stayOnPage,$width,$height,$text) = @_;
     $text = "" if (not defined $text);      $text = "" if (not defined $text);
     $stayOnPage = 0 if (not defined $stayOnPage);      $stayOnPage = 0 if (not defined $stayOnPage);
     if ($env{'browser.interface'} eq 'textual' ||      if ($env{'browser.interface'} eq 'textual' ||
Line 721  sub help_open_menu { Line 721  sub help_open_menu {
     my $origurl = $ENV{'REQUEST_URI'};      my $origurl = $ENV{'REQUEST_URI'};
     $origurl=~s|^/~|/priv/|;      $origurl=~s|^/~|/priv/|;
     my $timestamp = time;      my $timestamp = time;
     foreach my $datum (\$color,\$function,\$topic,\$component_help,\$faq,      foreach my $datum (\$topic,\$component_help,\$faq,\$bug,\$origurl) {
        \$bug,\$origurl) {  
         $$datum = &escape($$datum);          $$datum = &escape($$datum);
     }      }
     if (!$stayOnPage) {      if (!$stayOnPage) {
Line 730  sub help_open_menu { Line 729  sub help_open_menu {
     } else {      } else {
         $link = "javascript:helpMenu('display')";          $link = "javascript:helpMenu('display')";
     }      }
     my $banner_link = "/adm/helpmenu?page=banner&color=$color&function=$function&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp&stayonpage=$stayOnPage";      my $banner_link = "/adm/helpmenu?page=banner&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp&stayonpage=$stayOnPage";
     my $details_link = "/adm/helpmenu?page=body&color=$color&function=$function&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp";      my $details_link = "/adm/helpmenu?page=body&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp";
     my $template;      my $template;
     if ($text ne "") {      if ($text ne "") {
  $template .=    $template .= 
Line 2725  Returns: value of designparamter $which Line 2724  Returns: value of designparamter $which
   
 =cut  =cut
   
   
 ##############################################  ##############################################
 sub designparm {  sub designparm {
     my ($which,$domain)=@_;      my ($which,$domain)=@_;
Line 2739  sub designparm { Line 2739  sub designparm {
     return '#CCCCCC';      return '#CCCCCC';
  }   }
     }      }
     if ($env{'environment.color.'.$which}) {      if (exists($env{'environment.color.'.$which})) {
  return $env{'environment.color.'.$which};   return $env{'environment.color.'.$which};
     }      }
     $domain=&determinedomain($domain);      $domain=&determinedomain($domain);
     if ($designhash{$domain.'.'.$which}) {      if (exists($designhash{$domain.'.'.$which})) {
  return $designhash{$domain.'.'.$which};   return $designhash{$domain.'.'.$which};
     } else {      } else {
         return $designhash{'default.'.$which};          return $designhash{'default.'.$which};
Line 2796  Inputs: Line 2796  Inputs:
 =item * $no_inline_link, if true and in remote mode, don't show the   =item * $no_inline_link, if true and in remote mode, don't show the 
          'Switch To Inline Menu' link           'Switch To Inline Menu' link
   
   
 =back  =back
   
 Returns: A uniform header for LON-CAPA web pages.    Returns: A uniform header for LON-CAPA web pages.  
Line 2926  ENDROLE Line 2925  ENDROLE
  $lastitem = $thisdisfn;   $lastitem = $thisdisfn;
     }      }
     $titleinfo =       $titleinfo = 
  &Apache::loncommon::help_open_menu('','','','',3,'Authoring').   &Apache::loncommon::help_open_menu('','',3,'Authoring').
  '<b>Construction Space</b>:&nbsp;'.    '<b>Construction Space</b>:&nbsp;'. 
  '<form name="dirs" method="post" action="'.$formaction   '<form name="dirs" method="post" action="'.$formaction
  .'" target="_top"><tt><b>'   .'" target="_top"><tt><b>'
Line 3107  sub standard_css { Line 3106  sub standard_css {
     my $link   = &designparm($function.'.link',  $domain);      my $link   = &designparm($function.'.link',  $domain);
   
     my $sans                 = 'Arial,Helvetica,sans-serif';      my $sans                 = 'Arial,Helvetica,sans-serif';
       my $mono                 = 'monospace';
     my $data_table_head      = $tabbg;      my $data_table_head      = $tabbg;
     my $data_table_light     = '#EEEEEE';      my $data_table_light     = '#EEEEEE';
     my $data_table_dark      = '#DDD';      my $data_table_dark      = '#DDD';
Line 3119  sub standard_css { Line 3119  sub standard_css {
     my $mail_replied_hover   = '#888855';      my $mail_replied_hover   = '#888855';
     my $mail_other           = '#99BBBB';      my $mail_other           = '#99BBBB';
     my $mail_other_hover     = '#669999';      my $mail_other_hover     = '#669999';
       my $table_header         = '#DDDDDD';
   
       my $border = ($env{'browser.type'} eq 'explorer') ? '0px 2px 0px 2px'
                                                 : '0px 3px 0px 4px';
     return <<END;      return <<END;
 h1, h2, h3, th { font-family: $sans }  h1, h2, h3, th { font-family: $sans }
 a:focus { color: red; background: yellow }   a:focus { color: red; background: yellow } 
Line 3127  table.thinborder { border-collapse: coll Line 3130  table.thinborder { border-collapse: coll
 table.thinborder tr th, table.thinborder tr td { border-style: solid; border-width: 1px}  table.thinborder tr th, table.thinborder tr td { border-style: solid; border-width: 1px}
 form, .inline { display: inline; }  form, .inline { display: inline; }
 .center { text-align: center; }  .center { text-align: center; }
 .LC_filename {font-family: monospace;}  .LC_filename {font-family: $mono;}
 .LC_error {  .LC_error {
   color: red;    color: red;
   font-size: larger;    font-size: larger;
 }  }
   .LC_warning {
     color: red;
   }
 .LC_success {  .LC_success {
   color: green;    color: green;
 }  }
   
 table#LC_top_nav, table#LC_menubuttons, table#LC_nav_location {  table#LC_top_nav, table#LC_menubuttons {
   width: 100%;    width: 100%;
   background: $pgbg;    background: $pgbg;
   border: 0px;    border: 2px;
   border-spacing: 2px 2px;  
   padding: 0px;  
   margin: 0px;  
   border-collapse: separate;  
 }  
 table#LC_title_bar {  
   width: 100%;  
   border: 0;  
   border-spacing: 0px 0px;  
   padding: 0px 2px 0px 2px;  
   background: $pgbg;  
   font-family: $sans;  
   border-collapse: separate;  
 }  
 table#LC_breadcrumbs {  
   width: 100%;  
   border: 0;  
   border-spacing: 0px;  
   padding: 0px 2px 0px 2px;  
   background: $pgbg;  
   font-family: $sans;  
   border-collapse: separate;    border-collapse: separate;
     padding: 0px;
 }  }
   
   table#LC_title_bar, table#LC_breadcrumbs, table#LC_nav_location,
 table#LC_title_bar.LC_with_remote {  table#LC_title_bar.LC_with_remote {
   width: 100%;    width: 100%;
   border: 0;    border-color: $pgbg;
   border-spacing: 0;    border-style: solid;
     border-width: $border;
   
   background: $pgbg;    background: $pgbg;
   font-family: $sans;    font-family: $sans;
   border-collapse: collapse;    border-collapse: collapse;
     padding: 0px;
 }  }
   
 table#LC_title_bar td {  table#LC_title_bar td {
   padding: 3px;    padding: 3px;
   background: $tabbg;    background: $tabbg;
Line 3207  table#LC_menubuttons img, table#LC_menub Line 3199  table#LC_menubuttons img, table#LC_menub
 }  }
 table#LC_top_nav td {  table#LC_top_nav td {
   background: $tabbg;    background: $tabbg;
     border: 0px;
     font-size: small;
 }  }
 table#LC_top_nav td a, div#LC_top_nav a {  table#LC_top_nav td a, div#LC_top_nav a {
   color: $font;    color: $font;
Line 3257  td.LC_menubuttons_img { Line 3251  td.LC_menubuttons_img {
   
 table.LC_data_table, table.LC_mail_list {  table.LC_data_table, table.LC_mail_list {
   border: 1px solid #000000;    border: 1px solid #000000;
   border-collapse: seperate;    border-collapse: separate;
 }  }
 table.LC_data_table tr th, table.LC_calendar tr th, table.LC_mail_list tr th {  table.LC_data_table tr th, table.LC_calendar tr th, table.LC_mail_list tr th {
   font-weight: bold;    font-weight: bold;
Line 3333  table#LC_portfolio_actions td.LC_value { Line 3327  table#LC_portfolio_actions td.LC_value {
   background: $tabbg;    background: $tabbg;
 }  }
   
 table.LC_brower {  table#LC_cstr_controls {
     width: 100%;
     border-collapse: collapse;
 }  }
 table.LC_browser tr.LC_browser_file {  table#LC_cstr_controls tr td {
   background: #CCFF88    border: 4px solid $pgbg;
     padding: 4px;
     text-align: center;
     background: $tabbg;
 }  }
 table.LC_browser tr.LC_browser_file_locked {  table#LC_cstr_controls tr th {
   background: #FFAA99    border: 4px solid $pgbg;
     background: $table_header;
     text-align: center;
     font-family: $sans;
     font-size: smaller;
 }  }
 table.LC_browser tr.LC_browser_folder {  
   background: #CCCCFF  table#LC_browser {
    
   }
   table#LC_browser tr th {
     background: $table_header;
   }
   table#LC_browser tr td {
     padding: 2px;
   }
   table#LC_browser tr.LC_browser_file,
   table#LC_browser tr.LC_browser_file_published {
     background: #CCFF88;
   }
   table#LC_browser tr.LC_browser_file_locked,
   table#LC_browser tr.LC_browser_file_unpublished {
     background: #FFAA99;
   }
   table#LC_browser tr.LC_browser_file_obsolete {
     background: #AAAAAA;
   }
   table#LC_browser tr.LC_browser_file_modified {
     background: #FFFF77;
   }
   table#LC_browser tr.LC_browser_folder {
     background: #CCCCFF;
 }  }
 span.LC_current_location {  span.LC_current_location {
   font-size: x-large;    font-size: x-large;
   background: $pgbg;    background: $pgbg;
 }  }
   
   span.LC_parm_menu_item {
     font-size: larger;
     font-family: $sans;
   }
   span.LC_parm_scope_all {
     color: red;
   }
   span.LC_parm_scope_folder {
     color: green;
   }
   span.LC_parm_scope_resource {
     color: orange;
   }
   span.LC_parm_part {
     color: blue;
   }
   span.LC_parm_folder, span.LC_parm_symb {
     font-size: x-small;
     font-family: $mono;
     color: #AAAAAA;
   }
   
   td.LC_parm_overview_level_menu, td.LC_parm_overview_map_menu,
   td.LC_parm_overview_parm_selectors, td.LC_parm_overview_parm_restrictions {
     border: 1px solid black;
     border-collapse: collapse;
   }
   table.LC_parm_overview_restrictions td {
     border-width: 1px 4px 1px 4px;
     border-style: solid;
     border-color: $pgbg;
     text-align: center;
   }
   table.LC_parm_overview_restrictions th {
     background: $tabbg;
     border-width: 1px 4px 1px 4px;
     border-style: solid;
     border-color: $pgbg;
   }
   table#LC_helpmenu {
     border: 0px;
     height: 55px;
     border-spacing: 0px;
   }
   
   table#LC_helpmenu fieldset legend {
     font-size: larger;
     font-weight: bold;
   }
   table#LC_helpmenu_links {
     width: 100%;
     border: 1px solid black;
     background: $pgbg;
     padding: 0px;
     border-spacing: 1px;
   }
   table#LC_helpmenu_links tr td {
     padding: 1px;
     background: $tabbg;
     text-align: center;
     font-weight: bold;
   }
   
   table#LC_helpmenu_links a:link, table#LC_helpmenu_links a:visited,
   table#LC_helpmenu_links a:active {
     text-decoration: none;
     color: $font;
   }
   table#LC_helpmenu_links a:hover {
     text-decoration: underline;
     color: $vlink;
   }
   
 END  END
 }  }
   
Line 3385  sub headtag { Line 3485  sub headtag {
     my $function = $args->{'function'} || &get_users_function();      my $function = $args->{'function'} || &get_users_function();
     my $domain   = $args->{'domain'}   || &determinedomain();      my $domain   = $args->{'domain'}   || &determinedomain();
     my $bgcolor  = $args->{'bgcolor'}  || &designparm($function.'.pgbg',$domain);      my $bgcolor  = $args->{'bgcolor'}  || &designparm($function.'.pgbg',$domain);
     my $url = join(':',$env{'user.name'},$env{'user.domain'},      my $url = join(':',$env{'user.name'},$env{'user.domain'},time(),
    $env{'environment.color.timestamp'},     #$env{'environment.color.timestamp'},
    $function,$domain,$bgcolor);     $function,$domain,$bgcolor);
   
     $url = '/adm/css/'.&escape($url).'.css';      $url = '/adm/css/'.&escape($url).'.css';
Line 3506  Returns a uniform complete <head>..</hea Line 3606  Returns a uniform complete <head>..</hea
   
 Inputs: $title - optional title for the page  Inputs: $title - optional title for the page
         $head_extra - optional extra HTML to put inside the <head>          $head_extra - optional extra HTML to put inside the <head>
   
 =back  =back
   
 =cut  =cut
Line 3619  Inputs:         $args - additional optio Line 3720  Inputs:         $args - additional optio
                                  a html attribute                                   a html attribute
                  frameset     -> if true will start with a <frameset>                   frameset     -> if true will start with a <frameset>
                                  rather than <body>                                   rather than <body>
 =back  
   
 =cut  =cut
   
Line 3714  sub simple_error_page { Line 3814  sub simple_error_page {
     my $row_count;      my $row_count;
     sub start_data_table {      sub start_data_table {
  undef($row_count);   undef($row_count);
  return '<table class="LC_data_table">';   return '<table class="LC_data_table">'."\n";
     }      }
   
     sub end_data_table {      sub end_data_table {
  undef($row_count);   undef($row_count);
  return '</table>';   return '</table>'."\n";;
     }      }
   
     sub start_data_table_row {      sub start_data_table_row {
  $row_count++;   $row_count++;
  return  '<tr '.(($row_count % 2)?'':'class="LC_even_row"').'>';   return  '<tr '.(($row_count % 2)?'':'class="LC_even_row"').'>'."\n";;
     }      }
   
     sub end_data_table_row {      sub end_data_table_row {
  return '</tr>';   return '</tr>'."\n";;
     }      }
   
     sub start_data_table_header_row {      sub start_data_table_header_row {
  return  '<tr class="LC_header_row">';   return  '<tr class="LC_header_row">'."\n";;
     }      }
   
     sub end_data_table_header_row {      sub end_data_table_header_row {
  return '</tr>';   return '</tr>'."\n";;
     }      }
 }  }
   
Line 3744  sub simple_error_page { Line 3844  sub simple_error_page {
   
 =pod  =pod
   
 =over 4  =item * &get_users_function()
   
 =item get_users_function  
   
 Used by &bodytag to determine the current users primary role.  Used by &bodytag to determine the current users primary role.
 Returns either 'student','coordinator','admin', or 'author'.  Returns either 'student','coordinator','admin', or 'author'.
Line 3773  sub get_users_function { Line 3871  sub get_users_function {
   
 =pod  =pod
   
 =item check_user_status  =item * &check_user_status
   
 Determines current status of supplied role for a  Determines current status of supplied role for a
 specific user. Roles can be active, previous or future.  specific user. Roles can be active, previous or future.
Line 3827  sub check_user_status { Line 3925  sub check_user_status {
   
 =pod  =pod
   
 =item get_sections  =item * &get_sections()
   
 Determines all the sections for a course including  Determines all the sections for a course including
 sections with students and sections containing other roles.  sections with students and sections containing other roles.
Line 3888  sub get_sections { Line 3986  sub get_sections {
 ###############################################  ###############################################
   
 =pod  =pod
                                                                                   
 =item get_course_users  =item * &get_course_users()
                                                                                   
 Retrieves usernames:domains for users in the specified course  Retrieves usernames:domains for users in the specified course
 with specific role(s), and access status.   with specific role(s), and access status. 
   
Line 3913  Entries for end, start, section and stat Line 4011  Entries for end, start, section and stat
 of the possibility of multiple values for non-student roles.  of the possibility of multiple values for non-student roles.
   
 =cut  =cut
                                                                                   
 ###############################################  ###############################################
                                                                                   
 sub get_course_users {  sub get_course_users {
     my ($cdom,$cnum,$types,$roles,$sections,$users,$userdata) = @_;      my ($cdom,$cnum,$types,$roles,$sections,$users,$userdata) = @_;
     my %idx = ();      my %idx = ();
Line 5075  sub course_type { Line 5173  sub course_type {
     if (!defined($cid)) {      if (!defined($cid)) {
         $cid = $env{'request.course.id'};          $cid = $env{'request.course.id'};
     }      }
     if (defined($env{'course.'.$cid.'type'})) {      if (defined($env{'course.'.$cid.'.type'})) {
         return $env{'course.'.$cid.'type'};          return $env{'course.'.$cid.'.type'};
     } else {      } else {
         return 'Course';          return 'Course';
     }      }
 }  }
   
   sub group_term {
       my $crstype = &course_type();
       my %names = (
                     'Course' => 'group',
                     'Group' => 'team',
                   );
       return $names{$crstype};
   }
   
 sub icon {  sub icon {
     my ($file)=@_;      my ($file)=@_;
     my $curfext = (split(/\./,$file))[-1];      my $curfext = (split(/\./,$file))[-1];

Removed from v.1.388  
changed lines
  Added in v.1.407


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>