Diff for /loncom/interface/lonhtmlcommon.pm between versions 1.358.2.19.2.11 and 1.358.2.22

version 1.358.2.19.2.11, 2024/09/18 14:20:24 version 1.358.2.22, 2024/07/02 22:03:11
Line 78  sub java_not_enabled { Line 78  sub java_not_enabled {
 sub coursepreflink {  sub coursepreflink {
    my ($text,$category)=@_;     my ($text,$category)=@_;
    if (&Apache::lonnet::allowed('opa',$env{'request.course.id'})) {     if (&Apache::lonnet::allowed('opa',$env{'request.course.id'})) {
       my $target =' target="_top"';        return '<a target="_top" href="'.&HTML::Entities::encode("/adm/courseprefs?phase=display&actions=$category",'<>&"').'"><span class="LC_setting">'.$text.'</span></a>';
       if (($env{'request.deeplink.login'}) && ($env{'request.deeplink.target'} eq '_self')) {  
           $target = '';  
       }  
       return '<a'.$target.' href="'.&HTML::Entities::encode("/adm/courseprefs?phase=display&actions=$category",'<>&"').'"><span class="LC_setting">'.$text.'</span></a>';  
    } else {     } else {
       return '';        return '';
    }     }
Line 105  sub direct_parm_link { Line 101  sub direct_parm_link {
     $filter=&entity_encode($filter);      $filter=&entity_encode($filter);
     $part=&entity_encode($part);      $part=&entity_encode($part);
     if (($symb) && (&Apache::lonnet::allowed('opa')) && ($target ne 'tex')) {      if (($symb) && (&Apache::lonnet::allowed('opa')) && ($target ne 'tex')) {
         my $target=' target="_top"';         return "<a target='_top' href='/adm/parmset?symb=$symb&amp;filter=$filter&amp;part=$part'><span class='LC_setting'>$linktext</span></a>";
         if (($env{'request.deeplink.login'}) && ($env{'request.deeplink.target'} eq '_self')) {  
             $target = '';  
         }  
        return "<a".$target." href='/adm/parmset?symb=$symb&amp;filter=$filter&amp;part=$part'><span class='LC_setting'>$linktext</span></a>";  
     } else {      } else {
        return $linktext;         return $linktext;
     }      }
Line 856  parameter setting wizard. Line 848  parameter setting wizard.
 ##############################################  ##############################################
 sub pjump_javascript_definition {  sub pjump_javascript_definition {
     my $Str = <<END;      my $Str = <<END;
     function pjump(type,dis,value,marker,ret,call,hour,min,sec,extra) {      function pjump(type,dis,value,marker,ret,call,hour,min,sec) {
         openMyModal("/adm/rat/parameter.html?type="+escape(type)          openMyModal("/adm/rat/parameter.html?type="+escape(type)
                  +"&value="+escape(value)+"&marker="+escape(marker)                   +"&value="+escape(value)+"&marker="+escape(marker)
                  +"&return="+escape(ret)                   +"&return="+escape(ret)
                  +"&call="+escape(call)+"&name="+escape(dis)                   +"&call="+escape(call)+"&name="+escape(dis)
                  +"&defhour="+escape(hour)+"&defmin="+escape(min)                   +"&defhour="+escape(hour)+"&defmin="+escape(min)
                  +"&defsec="+escape(sec)+"&extra="+escape(extra)                   +"&defsec="+escape(sec)+"&modal=1",350,350,'no');
                  +"&modal=1",350,350,'no');  
     }      }
 END  END
     return $Str;      return $Str;
Line 1687  sub show_return_link { Line 1678  sub show_return_link {
     unless ($env{'request.course.id'}) { return 0; }      unless ($env{'request.course.id'}) { return 0; }
     if ($env{'request.noversionuri'}=~m{^/priv/} ||      if ($env{'request.noversionuri'}=~m{^/priv/} ||
         $env{'request.uri'}=~m{^/priv/}) { return 1; }          $env{'request.uri'}=~m{^/priv/}) { return 1; }
     return if (($env{'request.noversionuri'} eq '/adm/supplemental') &&      return if ($env{'request.noversionuri'} eq '/adm/supplemental');
                ($env{'form.folder'} ne 'supplemental'));  
     return if (($env{'form.folderpath'} ne '') &&  
                (($env{'request.noversionuri'} =~ m{^/adm/$match_domain/$match_username/aboutme$}) ||  
                 ($env{'request.noversionuri'} =~ m{^/public/$match_domain/$match_courseid/syllabus$})));  
     if (($env{'request.noversionuri'} =~ m{^/adm/viewclasslist($|\?)})      if (($env{'request.noversionuri'} =~ m{^/adm/viewclasslist($|\?)})
         || ($env{'request.noversionuri'} =~ m{^/adm/.*/aboutme($|\?)})) {          || ($env{'request.noversionuri'} =~ m{^/adm/.*/aboutme($|\?)})) {
   
         return if ($env{'form.register'});          return if ($env{'form.register'});
     }      }
     if ((($env{'request.symb'} ne '') || ($env{'form.folderpath'} ne '')) &&  
          ($env{'request.noversionuri'} =~m{^/adm/coursedocs/showdoc/uploaded/($match_domain)/($match_courseid)/(docs|supplemental)/})) {  
         my ($cdom,$cnum,$area) =  ($1,$2,$3);  
         if (($env{'course.'.$env{'request.course.id'}.'.domain'} eq $cdom) &&  
             ($env{'course.'.$env{'request.course.id'}.'.num'} eq $cnum)) {  
             if (($env{'request.symb'}) && ($area eq 'docs')) {  
                 my ($map,$resid,$url) = &Apache::lonnet::decode_symb($env{'request.symb'});  
                 return if ($env{'request.noversionuri'} eq '/adm/coursedocs/showdoc/'.$url);  
             } elsif (($env{'form.folderpath'}) && ($area eq 'supplemental')) {  
                 return;  
             }  
         }  
     }  
     return (($env{'request.noversionuri'}=~m{^/(res|public)/} &&      return (($env{'request.noversionuri'}=~m{^/(res|public)/} &&
              $env{'request.symb'} eq '')               $env{'request.symb'} eq '')
             ||              ||
Line 1718  sub show_return_link { Line 1693  sub show_return_link {
             (($env{'request.noversionuri'}=~/^\/adm\//) &&              (($env{'request.noversionuri'}=~/^\/adm\//) &&
              ($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) &&               ($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) &&
              ($env{'request.noversionuri'}!~               ($env{'request.noversionuri'}!~
               m{^/adm/.*/(smppg|bulletinboard|ext\.tool)($|\?)})                m{^/adm/.*/(smppg|bulletinboard)($|\?)})
            ));             ));
 }  }
   
Line 1844  Inputs: $component (the text on the righ Line 1819  Inputs: $component (the text on the righ
         $component_help (the help item filename (without .tex extension).          $component_help (the help item filename (without .tex extension).
         $menulink (boolean, controls whether to include a link to /adm/menu)          $menulink (boolean, controls whether to include a link to /adm/menu)
         $helplink (if 'nohelp' don't include the orange help link)          $helplink (if 'nohelp' don't include the orange help link)
         $crumbs_style (optional style attribute for div containing breadcrumbs          $css_class (optional name for the class to apply to the table for CSS)
            unless called from docs_breadcrumbs)  
         $no_mt (optional flag, 1 if &mt() is _not_ to be applied to $component          $no_mt (optional flag, 1 if &mt() is _not_ to be applied to $component
            when including the text on the right.             when including the text on the right.
         $CourseBreadcrumbs (optional flag, 1 if &breadcrumbs called from &docs_breadcrumbs,          $CourseBreadcrumbs (optional flag, 1 if &breadcrumbs called from &docs_breadcrumbs,
Line 1854  Inputs: $component (the text on the righ Line 1828  Inputs: $component (the text on the righ
            row, using loncommon::help_open_topic() to generate the link.             row, using loncommon::help_open_topic() to generate the link.
         $topic_help_text (text to include in the link in the optional help item           $topic_help_text (text to include in the link in the optional help item 
            on the right side of the breadcrumbs row.             on the right side of the breadcrumbs row.
         $links_target optionally includes the target (_top, _parent or _self)  
   
 Returns a string containing breadcrumbs for the current page.  Returns a string containing breadcrumbs for the current page.
   
Line 1882  returns: nothing Line 1855  returns: nothing
     my %tools = ();      my %tools = ();
           
     sub breadcrumbs {      sub breadcrumbs {
         my ($component,$component_help,$menulink,$helplink,$crumbs_style,$no_mt,           my ($component,$component_help,$menulink,$helplink,$css_class,$no_mt, 
             $CourseBreadcrumbs,$topic_help,$topic_help_text,$links_target) = @_;              $CourseBreadcrumbs,$topic_help,$topic_help_text) = @_;
         #          #
           $css_class ||= 'LC_breadcrumbs';
   
         # Make the faq and bug data cascade          # Make the faq and bug data cascade
         my $faq  = '';          my $faq  = '';
         my $bug  = '';          my $bug  = '';
Line 1897  returns: nothing Line 1872  returns: nothing
         # The first one should be the course or a menu link          # The first one should be the course or a menu link
         if (!defined($menulink)) { $menulink=1; }          if (!defined($menulink)) { $menulink=1; }
         if ($menulink) {          if ($menulink) {
             if ($env{'request.course.id'}) {  
                 my ($menucoll,$deeplinkmenu,$menuref) = &Apache::loncommon::menucoll_in_effect();  
                 if (($menucoll) && (ref($menuref) eq 'HASH')) {  
                     if ($menuref->{'main'} eq 'n') {  
                        undef($menulink);  
                     }  
                 }  
             }  
         }  
         if ($menulink) {  
             my $description = 'Menu';              my $description = 'Menu';
             my $no_mt_descr = 0;              my $no_mt_descr = 0;
             if ((exists($env{'request.course.id'})) &&               if ((exists($env{'request.course.id'})) && 
Line 1924  returns: nothing Line 1889  returns: nothing
                     }                      }
                 }                  }
             }              }
             my $target = '_top';  
             if ($links_target) {  
                 $target = $links_target;  
             } elsif (($env{'request.deeplink.login'}) && ($env{'request.deeplink.target'} eq '_self')) {  
                 $target = '';  
             }  
             $menulink =  {  href   =>'/adm/menu',              $menulink =  {  href   =>'/adm/menu',
                             title  =>'Go to main menu',                              title  =>'Go to main menu',
                             target =>$target,                              target =>'_top',
                             text   =>$description,                              text   =>$description,
                             no_mt  =>$no_mt_descr, };                              no_mt  =>$no_mt_descr, };
             if($last) {              if($last) {
Line 1950  returns: nothing Line 1909  returns: nothing
                             title => &mt('Back to most recent content resource'),                              title => &mt('Back to most recent content resource'),
                             class => 'LC_menubuttons_link',                              class => 'LC_menubuttons_link',
                           };                            };
             if ($links_target) {              if ($env{'request.noversionuri'} eq '/adm/searchcat') {
                 $hashref->{'target'} = $links_target;                  $hashref->{'target'} = '_top'; 
             }              }
             $links=&htmltag( 'a','<img src="/res/adm/pages/tolastloc.png" alt="'.$alttext.'" class="LC_icon" />',              $links=&htmltag( 'a','<img src="/res/adm/pages/tolastloc.png" alt="'.$alttext.'" class="LC_icon" />',
                              $hashref);                               $hashref);
Line 2002  returns: nothing Line 1961  returns: nothing
         if ($faq ne '' || $component_help ne '' || $bug ne '') {          if ($faq ne '' || $component_help ne '' || $bug ne '') {
             $icons .= &Apache::loncommon::help_open_menu($component,              $icons .= &Apache::loncommon::help_open_menu($component,
                                                          $component_help,                                                           $component_help,
                                                          $faq,$bug,'','','','',                                                           $faq,$bug);
                                                          $links_target);  
         }          }
         if ($topic_help && $topic_help_text) {          if ($topic_help && $topic_help_text) {
            $icons .= ' '.&Apache::loncommon::help_open_topic($topic_help,&mt($topic_help_text),'',             $icons .= ' '.&Apache::loncommon::help_open_topic($topic_help,&mt($topic_help_text),'',
                                                              undef,600,'',$links_target);                                                               undef,600);
         }          }
         #          #
   
Line 2037  returns: nothing Line 1995  returns: nothing
         }          }
         if (($links ne '') || ($nav_and_tools)) {          if (($links ne '') || ($nav_and_tools)) {
             &render_tools(\$links);              &render_tools(\$links);
             unless ($CourseBreadcrumbs) {              $links = &htmltag('div', $links, 
                 my $args = { id => 'LC_breadcrumbs' };                                { id => "LC_breadcrumbs" }) unless ($CourseBreadcrumbs) ;
                 if ($crumbs_style ne '') {  
                     $args->{'style'} = $crumbs_style;  
                 }  
                 $links = &htmltag('div', $links, $args);  
             }  
         }          }
         my $adv_tools = 0;          my $adv_tools = 0;
         if (ref($tools{'advtools'}) eq 'ARRAY') {          if (ref($tools{'advtools'}) eq 'ARRAY') {
Line 2190  returns: nothing Line 2143  returns: nothing
 } # End of scope for @Crumbs  } # End of scope for @Crumbs
   
 sub docs_breadcrumbs {  sub docs_breadcrumbs {
     my ($allowed,$crstype,$contenteditor,$title,$precleared,$checklinkprot)=@_;      my ($allowed,$crstype,$contenteditor,$title,$precleared)=@_;
     my ($folderpath,@folders,$supplementalflag);      my ($folderpath,@folders,$supplementalflag);
     @folders = split('&',$env{'form.folderpath'});      @folders = split('&',$env{'form.folderpath'});
     if ($env{'form.folderpath'} =~ /^supplemental/) {      if ($env{'form.folderpath'} =~ /^supplemental/) {
Line 2216  sub docs_breadcrumbs { Line 2169  sub docs_breadcrumbs {
 # each of randompick number, hidden, encrypted, random order, is_page   # each of randompick number, hidden, encrypted, random order, is_page 
 # are appended with ":"s to the foldername  # are appended with ":"s to the foldername
         $name=~s/\:(\d*)\:(\w*)\:(\w*):(\d*)\:?(\d*)$//;          $name=~s/\:(\d*)\:(\w*)\:(\w*):(\d*)\:?(\d*)$//;
         if ($contenteditor) {          unless ($supplementalflag) {
             if ($supplementalflag) {              if ($contenteditor) { 
                 if ($2) { $ishidden=1; }  
             } else {  
                 if ($1 ne '') {                  if ($1 ne '') {
                     $randompick=$1;                      $randompick=$1;
                 } else {                  } else {
Line 2260  sub docs_breadcrumbs { Line 2211  sub docs_breadcrumbs {
             $plain=~s/\&gt\;\s*$//;              $plain=~s/\&gt\;\s*$//;
         }          }
         my $menulink = 0;          my $menulink = 0;
         if (!$allowed && !$contenteditor && !$supplementalflag) {          if (!$allowed && !$contenteditor) {
             $menulink = 1;              $menulink = 1;
         }          }
         if ($checklinkprot) {  
             if ($env{'request.deeplink.login'}) {  
                 my $linkprotout = &Apache::lonmenu::linkprot_exit();  
                 if ($linkprotout) {  
                     &Apache::lonhtmlcommon::add_breadcrumb_tool('tools',$linkprotout);  
                 }  
             }  
         }  
         return (&breadcrumbs(undef,undef,$menulink,'nohelp',undef,undef,          return (&breadcrumbs(undef,undef,$menulink,'nohelp',undef,undef,
                              $contenteditor),                               $contenteditor),
                              $randompick,$ishidden,$isencrypted,$plain,                               $randompick,$ishidden,$isencrypted,$plain,
Line 3566  sub jump_to_editres { Line 3509  sub jump_to_editres {
             if ($forcereg) {              if ($forcereg) {
                 $cfile .= '&amp;register=1';                  $cfile .= '&amp;register=1';
             }              }
             $jscall = "need_switchserver('".&Apache::loncommon::escape_single($cfile)."','$target')";              $jscall = "need_switchserver('".&Apache::loncommon::escape_single($cfile)."','$target');";
         }          }
     } else {      } else {
         unless ($cfile =~ m{^/priv/}) {          unless ($cfile =~ m{^/priv/}) {

Removed from v.1.358.2.19.2.11  
changed lines
  Added in v.1.358.2.22


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