[LON-CAPA-cvs] cvs: loncom /homework grades.pm

raeburn raeburn at source.lon-capa.org
Tue Nov 10 12:17:54 EST 2020


raeburn		Tue Nov 10 17:17:54 2020 EDT

  Modified files:              
    /loncom/homework	grades.pm 
  Log:
  - Move &css_links() from grades.pm to loncommon.pm to facilitate reuse.
  
  
Index: loncom/homework/grades.pm
diff -u loncom/homework/grades.pm:1.778 loncom/homework/grades.pm:1.779
--- loncom/homework/grades.pm:1.778	Mon Nov  9 00:44:30 2020
+++ loncom/homework/grades.pm	Tue Nov 10 17:17:54 2020
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # The LON-CAPA Grading handler
 #
-# $Id: grades.pm,v 1.778 2020/11/09 00:44:30 raeburn Exp $
+# $Id: grades.pm,v 1.779 2020/11/10 17:17:54 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -11337,61 +11337,6 @@
     $r->print('<input type="submit" value="'.&mt('Next').' →" /></form>');
 }
 
-sub css_links {
-    my ($currsymb,$level) = @_;
-    my ($links, at symbs,%cssrefs,%httpref);
-    if ($level eq 'map') {
-        my $navmap = Apache::lonnavmaps::navmap->new();
-        if (ref($navmap)) {
-            my ($map,undef,$url)=&Apache::lonnet::decode_symb($currsymb);
-            my @resources = $navmap->retrieveResources($map,sub { $_[0]->is_problem() },0,0);
-            foreach my $res (@resources) {
-                if (ref($res)) {
-                    if ($res->symb()) {
-                        push(@symbs,$res->symb());
-                    }
-                }
-            }
-        }
-    } else {
-        @symbs = ($currsymb);
-    }
-    foreach my $symb (@symbs) {
-        my $css_href = &Apache::lonnet::EXT('resource.0.cssfile',$symb);
-        if ($css_href =~ /\S/) {
-            unless ($css_href =~ m{https?://}) {
-                my ($map,undef,$url)=&Apache::lonnet::decode_symb($symb);
-                my $proburl =  &Apache::lonnet::clutter($url);
-                my ($probdir) = ($proburl =~ m{(.+)/[^/]+$});
-                unless ($css_href =~ m{^/}) {
-                    $css_href = &Apache::lonnet::hreflocation($probdir,$css_href);
-                }
-                if ($css_href =~ m{^/(res|uploaded)/}) {
-                    unless (($httpref{'httpref.'.$css_href}) |
-                            (&Apache::lonnet::is_on_map($css_href))) {
-                        my $thisurl = $proburl;
-                        if ($env{'httpref.'.$proburl}) {
-                            $thisurl = $env{'httpref.'.$proburl};
-                        }
-                        $httpref{'httpref.'.$css_href} = $thisurl;
-                    }
-                }
-            }
-            $cssrefs{$css_href} = 1;
-        }
-    }
-    if (keys(%httpref)) {
-        &Apache::lonnet::appenv(\%httpref);
-    }
-    if (keys(%cssrefs)) {
-        foreach my $css_href (keys(%cssrefs)) {
-            next unless ($css_href =~ m{^(/res/|/uploaded/|https?://)});
-            $links .= '<link rel="stylesheet" type="text/css" href="'.$css_href.'" />'."\n";
-        }
-    }
-    return $links;
-}
-
 sub handler {
     my $request=$_[0];
     &reset_caches();
@@ -11459,7 +11404,7 @@
             }
             my $head_extra = $js;
             unless ($env{'form.vProb'} eq 'no') {
-                my $csslinks = &css_links($symb);
+                my $csslinks = &Apache::loncommon::css_links($symb);
                 if ($csslinks) {
                     $head_extra .= "\n$csslinks";
                 }
@@ -11480,7 +11425,7 @@
                                           $env{'form.inhibitmenu'});
             my $head_extra = $js;
             unless ($env{'form.vProb'} eq 'no') {
-                my $csslinks = &css_links($symb);
+                my $csslinks = &Apache::loncommon::css_links($symb);
                 if ($csslinks) {
                     $head_extra .= "\n$csslinks";
                 }
@@ -11499,7 +11444,7 @@
 	} elsif ($command eq 'displayPage' && $perm{'vgr'}) {
             my $csslinks;
             unless ($env{'form.vProb'} eq 'no') {
-                $csslinks = &css_links($symb,'map');
+                $csslinks = &Apache::loncommon::css_links($symb,'map');
             }
             &startpage($request,$symb,
                                       [{href=>&href_symb_cmd($symb,'all_for_one'),text=>'Grade page/folder for one student'},
@@ -11515,7 +11460,7 @@
 	} elsif ($command eq 'processGroup' && $perm{'vgr'}) {
             my $csslinks;
             unless ($env{'form.vProb'} eq 'no') {
-                $csslinks = &css_links($symb);
+                $csslinks = &Apache::loncommon::css_links($symb);
             }
             &startpage($request,$symb,[{href=>'',text=>'...'},
                                        {href=>'',text=>'Modify grades'}],undef,undef,undef,undef,undef,$csslinks,undef,1);




More information about the LON-CAPA-cvs mailing list