Diff for /loncom/interface/loncommon.pm between versions 1.234 and 1.240

version 1.234, 2004/11/23 07:29:24 version 1.240, 2004/12/02 21:30:16
Line 2285  sub get_student_view { Line 2285  sub get_student_view {
   if (defined($moreenv)) {    if (defined($moreenv)) {
       %form=(%form,%{$moreenv});        %form=(%form,%{$moreenv});
   }    }
   if ($target eq 'tex') {$form{'grade_target'} = 'tex';}    if (defined($target)) { $form{'grade_target'} = $target; }
   $feedurl=&Apache::lonnet::clutter($feedurl);    $feedurl=&Apache::lonnet::clutter($feedurl);
   my $userview=&Apache::lonnet::ssi_body($feedurl,%form);    my $userview=&Apache::lonnet::ssi_body($feedurl,%form);
   $userview=~s/\<body[^\>]*\>//gi;    $userview=~s/\<body[^\>]*\>//gi;
Line 2599  ENDROLE Line 2599  ENDROLE
  $font.'"><b>'.$title.'</b></font>';   $font.'"><b>'.$title.'</b></font>';
         if ($customtitle) {          if ($customtitle) {
             $titleinfo = $customtitle;              $titleinfo = $customtitle;
         }           }
   
  if ($ENV{'request.state'} eq 'construct') {   if ($ENV{'request.state'} eq 'construct') {
     my ($uname,$thisdisfn)=      my ($uname,$thisdisfn)=
  ($ENV{'request.filename'} =~ m|^/home/([^/]+)/public_html/(.*)|);   ($ENV{'request.filename'} =~ m|^/home/([^/]+)/public_html/(.*)|);
     my $formaction='/priv/'.$uname.'/'.$thisdisfn;      my $formaction='/priv/'.$uname.'/'.$thisdisfn;
     $formaction=~s/\/+/\//g;      $formaction=~s/\/+/\//g;
     $titleinfo = '<form name="dirs" method="post" action="'.$formaction              unless ($customtitle) {  #this is for resources; directories have customtitle, and crumbs and select recent are created in lonpubdir.pm  
  .'" target="_top">'                  my $parentpath = '';
  .&Apache::lonhtmlcommon::crumbs($uname.'/'.$thisdisfn,'_top','/priv','',-1,1)."<br />"                  if ($thisdisfn =~ m-(.+/)[^/]*$-) {
  .&Apache::lonhtmlcommon::select_recent('construct','recent','this.form.action=this.form.recent.value;this.form.submit()')                      $parentpath = $1;
  .'</form>'                  }
  .&Apache::lonmenu::constspaceform();          $titleinfo = &Apache::loncommon::help_open_menu('','','','',3,'Authoring').
                         '<font face="Arial, Helvetica, sans-serif"><b>Construction Space</b>:</font>&nbsp;'. 
     &Apache::lonhtmlcommon::store_recent('construct',$formaction,$formaction);                        '<form name="dirs" method="post" action="'.$formaction
     if ($thisdisfn!~m|/$|) {  $forcereg=1; }      .'" target="_top"><tt><b>'
  }      .&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."</b></tt><br />"
       .&Apache::lonhtmlcommon::select_recent('construct','recent','this.form.action=this.form.recent.value;this.form.submit()')
       .'</form>'
       .&Apache::lonmenu::constspaceform();
   
         return $bodytag.&Apache::lonmenu::menubuttons($forcereg,'web',              }
                                                       $forcereg).      $forcereg=1;
       '<table bgcolor="'.$pgbg.'" width="100%" border="0" cellspacing="3" cellpadding="3"><tr><td rowspan="3" bgcolor="'.$tabbg.'">'.$titleinfo.'</td>'.$roleinfo.'</tr></table>';          }
           my $titletable = '<table bgcolor="'.$pgbg.'" width="100%" border="0" '.
                            'cellspacing="3" cellpadding="3">'.
                            '<tr><td rowspan="3" bgcolor="'.$tabbg.'">'.
                            $titleinfo.'</td>'.$roleinfo.'</tr></table>';
           if ($ENV{'request.state'} eq 'construct') {
               $bodytag .= &Apache::lonmenu::menubuttons($forcereg,'web',$forcereg,$titletable);
    } else {
               $bodytag .= &Apache::lonmenu::menubuttons($forcereg,'web',$forcereg).
                           $titletable;
           }
           return $bodytag;
     }      }
   
 #  #
Line 2704  Returns number of sections. Line 2719  Returns number of sections.
 ###############################################  ###############################################
 sub get_sections {  sub get_sections {
     my ($cdom,$cnum,$sectioncount,$possible_roles) = @_;      my ($cdom,$cnum,$sectioncount,$possible_roles) = @_;
       if (!($cdom && $cnum)) { return 0; }
     my $cid = $cdom.'_'.$cnum;      my $cid = $cdom.'_'.$cnum;
     my $numsections = 0;      my $numsections = 0;
     if ($cdom && $cnum) {  
         if (!defined($possible_roles) || (grep/^st$/,@$possible_roles)) {      if (!defined($possible_roles) || (grep/^st$/,@$possible_roles)) {
             my ($classlist) = &Apache::loncoursedata::get_classlist($cid,$cdom,$cnum);   my ($classlist) = &Apache::loncoursedata::get_classlist($cid,$cdom,$cnum);
             my $sec_index = &Apache::loncoursedata::CL_SECTION();   my $sec_index = &Apache::loncoursedata::CL_SECTION();
             my $status_index = &Apache::loncoursedata::CL_STATUS();   my $status_index = &Apache::loncoursedata::CL_STATUS();
             while (my ($student,$data) = each %$classlist) {   while (my ($student,$data) = each %$classlist) {
                 my ($section,$status) = ($data->[$sec_index],      my ($section,$status) = ($data->[$sec_index],
                                          $data->[$status_index]);       $data->[$status_index]);
                 unless ($section eq '' || $section =~ /^\s*$/) {      unless ($section eq '-1' || $section =~ /^\s*$/) {
                     if (!defined($$sectioncount{$section})) {   if (!defined($$sectioncount{$section})) { $numsections++; }
                         $$sectioncount{$section} = 1;   $$sectioncount{$section}++;
                         $numsections ++;      }
                     } else {   }
                         $$sectioncount{$section} ++;      }
                     }      my %courseroles = &Apache::lonnet::dump('nohist_userroles',$cdom,$cnum);
                 }      foreach my $user (sort(keys(%courseroles))) {
             }   if ($user !~ /^(\w{2})/) { next; }
         }   my ($role) = ($user =~ /^(\w{2})/);
         my %courseroles = &Apache::lonnet::dump('nohist_userroles',$cdom,$cnum);   if ($possible_roles && !(grep(/^$role$/,@$possible_roles))) { next; }
         foreach my $user (sort keys %courseroles) {   my $section;
             if ($user =~ /^(\w{2})/) {   if ($role eq 'cr' &&
                 my $role = $1;      $user =~ m-^$role/[^/]*/[^/]*/[^/]*:[^:]*:[^:]*:(\w+)-) {
                 if (!defined($possible_roles) || (grep/^$role$/,@$possible_roles)) {      $section=$1;
                     if ($role eq 'cr') {   }
                         if ($user =~ m-^$role/[^/]*/[^/]*/[^/]*:[^:]*:[^:]*:(\w+)-) {   if ($user =~ /^$role:[^:]*:[^:]*:(\w+)/) { $section=$1; }
                             if (!defined($$sectioncount{$1})) {   if (!defined($section) || $section eq '-1') { next; }
                                 $$sectioncount{$1} = 1;   if (!defined($$sectioncount{$section})) { $numsections++; } 
                                 $numsections ++;   $$sectioncount{$section}++;
                             } else {  
                                 $$sectioncount{$1} ++;  
                             }  
                         }  
                     }  
                     if ($user =~ /^$role:[^:]*:[^:]*:(\w+)/) {  
                         if (!defined($$sectioncount{$1})) {  
                             $$sectioncount{$1} = 1;  
                             $numsections ++;  
                         } else {  
                             $$sectioncount{$1} ++;  
                         }  
                     }  
                 }  
             }  
         }  
     }      }
     return $numsections;      return $numsections;
 }  }
Line 3361  they are plotted.  If undefined, default Line 3361  they are plotted.  If undefined, default
 =item @Values: An array of array references.  Each array reference holds data  =item @Values: An array of array references.  Each array reference holds data
 to be plotted in a stacked bar chart.  to be plotted in a stacked bar chart.
   
   =item If the final element of @Values is a hash reference the key/value
   pairs will be added to the graph definition.
   
 =back  =back
   
 Returns:  Returns:
Line 3872  sub escape_double { Line 3875  sub escape_double {
 #   Escapes the last element of a full URL.  #   Escapes the last element of a full URL.
 sub escape_url {  sub escape_url {
     my ($url)   = @_;      my ($url)   = @_;
     my @urlslices = split(/\//, $url);      my @urlslices = split(/\//, $url,-1);
     my $lastitem = &Apache::lonnet::escape(pop(@urlslices));      my $lastitem = &Apache::lonnet::escape(pop(@urlslices));
     return join('/',@urlslices).'/'.$lastitem;      return join('/',@urlslices).'/'.$lastitem;
 }  }

Removed from v.1.234  
changed lines
  Added in v.1.240


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