Diff for /loncom/homework/edit.pm between versions 1.153 and 1.154

version 1.153, 2015/01/19 15:35:53 version 1.154, 2016/07/01 19:59:15
Line 134  package Apache::edit; Line 134  package Apache::edit;
   
 use strict;  use strict;
 use Apache::lonnet;  use Apache::lonnet;
   use Apache::loncommon;
 use HTML::Entities();  use HTML::Entities();
 use Apache::lonlocal;  use Apache::lonlocal;
 use lib '/home/httpd/lib/perl/';  use lib '/home/httpd/lib/perl/';
 use LONCAPA;  use LONCAPA qw(:DEFAULT :match);
     
   
 # Global Vars  # Global Vars
Line 1195  sub deletecoorddata { Line 1196  sub deletecoorddata {
     &Apache::lonnet::delenv('imagechoice.');      &Apache::lonnet::delenv('imagechoice.');
 }  }
   
   #----------------------------------------------------- browse and search links
   sub browse_or_search {
       my ($id,$mode,$titleid,$only,$crsonly,$usesearch) = @_;
       my $output;
       my ($cnum,$cdom) = &Apache::loncommon::crsauthor_url();
       if ($cnum) {
           my $form = 'lonhomework';
           my ($element,$bretitleelement,$srchtitleelement);
           $element = &get_element($id,$mode); 
           my %lt = &Apache::lonlocal::texthash (
               uacf => 'Use a course file',
               uanf => 'Use a new file',
               impo => 'Import',
               sear => 'Search',
               sefi => 'Select File',
               upfi => 'Upload File',
               dire => 'Directory',
               news => 'New sub-directory',
           );
           my ($importcrsres,$uploadfile,$allonly);
           if ($only) {
               $allonly = $only;
               if ($crsonly) {
                   $allonly .= ','.$crsonly;
               }
           } elsif ($crsonly) {
               $allonly = $crsonly;
           }
           my ($numdirs,$pickfile) =
               &Apache::loncommon::import_crsauthor_form($form,'coursepath_'.$element,'coursefile_'.$element,undef,$allonly,$element);
           if ($pickfile) {
               $importcrsres=(<<CRSRES);
           <fieldset id="importcrsresform_$element" style="display:inline;">
           <legend>$lt{'uacf'}</legend>
           $pickfile
           <input type="button" name="crsres" value="$lt{'sefi'}" onclick="updateCrsFile(this.form,'$element');" />
           </fieldset>
   CRSRES
           }
           my %subdirs;
           my $toppath="/priv/$cdom/$cnum";
           my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'};
           &Apache::lonnet::recursedirs(1,'priv',$londocroot,$toppath,'',\%subdirs);
           my $numcrsdirs = keys(%subdirs);
           my $pickdir;
           if ($numcrsdirs) {
               $pickdir = $lt{'dire'}.'<select name="crsauthorpath_'.$element.'">'."\n".
                                      '<option value="/">/</option>'."\n";
               foreach my $key (sort { lc($a) cmp lc($b) } (keys(%subdirs))) {
                   $pickdir .= '<option value="'.$key.'">'.$key.'</option>'."\n";
               }
               $pickdir .= '</select><br />';
           } else {
               $pickdir = '<input type="hidden" name="crsauthorpath_'.$element.'" value="/" />'."\n";
           }
           my $uploadfile =(<<CRSUPL);
           <fieldset id="uploadcrsresform_$element" style="display:inline;">
           <legend>$lt{'uanf'}</legend>
           <p>
           $pickdir
           <span class="LC_nobreak">$lt{'news'}?&nbsp;
           <label><input type="radio" name="newsubdir_$element" value="0" onclick="toggleNewsubdir(this.form,'$element');" checked="checked" />No</label>
           &nbsp;
           <label><input type="radio" name="newsubdir_$element" value="1" onclick="toggleNewsubdir(this.form,'$element');" />Yes</label>
           </span><span id="newsubdir_$element"></span>
           <input type="hidden" name="newsubdirname_$element" id="newsubdirname_$element" value="" autocomplete="off" />
           </p>
           <input type="file" id="uploadcrsres_$element" name="uploadcrsres_$element" size="40" />
           <input type="hidden" id="crsuploadto_$element" name="filename_$element" value="$ENV{'REQUEST_URI'}" />
           <input type="submit" id="crsupload_$element" class="LC_uploadcrsres" value="$lt{'upfi'}" />
           <iframe id="crsupload_target_$element" name="crsupload_target_$element" src="" style="width:0px;height:0px;border:0px"></iframe>
           </fieldset>
   CRSUPL
           if ($titleid) {
               $bretitleelement=",'$only','','".&escape("$titleid\_$Apache::lonxml::curdepth")."'";
               $srchtitleelement=",'".&escape("$titleid\_$Apache::lonxml::curdepth")."'";
           } else {
               $bretitleelement=",'$only'";
           }
           $output = '<a href="javascript:toggleChooser(document.'.$form.",'$element'".');">'.
                     &mt('Choose File').'</a>'.
                     '<div id="chooser_'.$element.'" style="display:none" class="LC_left_float">'.
                     '<fieldset><legend>'.&mt('Choose File').'</legend>';
           if ($numdirs) {
               $output .= '<label><input type="radio" name="chooser_'.$element.'" value="crsres" onclick="toggleCrsFile(this.form,'."'$element','$numdirs'".')" />'.$lt{'uacf'}.'</label>&nbsp;';
           }
           $output .= '<label><input type="radio" name="chooser_'.$element.'" value="upload" onclick="toggleCrsUpload(this.form,'."'$element','$numcrsdirs'".')" />'.$lt{'uanf'}.'</label>&nbsp;'.
                      '<label><input type="radio" name="chooser_'.$element.'" value="import" onclick="toggleResImport(this.form,'."'$element'".');openbrowser('."'$form','$element'$bretitleelement)".'" />'.$lt{'impo'}.'</label>';
           if ($usesearch) {
               $output .= '&nbsp;<label><input type="radio" name="chooser_'.$element.'" value="search" onclick="opensearcher('."'$form','$element'$srchtitleelement".')" />'.$lt{'sear'}.'</label>';
           }
           $output .= '<div id="chooser_'.$element.'_crsres" style="display:none">'.
                      $importcrsres.
                      '</div>'.
                      '<div id="chooser_'.$element.'_upload" style="display:none">'.
                      $uploadfile. 
                      '</div>'.
                      '</fieldset></div>';
                       
       } else {
           $output = &browse($id, $mode, $titleid, $only);
           if ($usesearch) {
               $output .= ' '.&search($id, $mode, $titleid);
           }
       }
       return $output;
   }
   
 #----------------------------------------------------- browse  #----------------------------------------------------- browse
 sub browse {  sub browse {
     # insert a link to call up the filesystem browser (lonindexer)      # insert a link to call up the filesystem browser (lonindexer)
     my ($id, $mode, $titleid, $only) = @_;      my ($id, $mode, $titleid, $only) = @_;
       my %lt = &Apache::lonlocal::texthash (
                                              se => 'Select',
                                            );
     my $form    = 'lonhomework';      my $form    = 'lonhomework';
     my $element;      my $element = &get_element($id,$mode);
     if (! defined($mode) || $mode eq 'attribute') {  
         $element = &escape("$id\_$Apache::lonxml::curdepth");  
     } elsif ($mode eq 'textnode') {  # for data between <tag> ... </tag>  
         $element = &escape('homework_edit_'.  
                                            $Apache::lonxml::curdepth);  
     }  
     my $titleelement;      my $titleelement;
     if ($titleid) {      if ($titleid) {
  $titleelement=",'$only','','".&escape("$titleid\_$Apache::lonxml::curdepth")."'";   $titleelement=",'$only','','".&escape("$titleid\_$Apache::lonxml::curdepth")."'";
     } else {      } else {
         $titleelement=",'$only'";          $titleelement=",'$only'";
     }      }
     my $result = <<"ENDBUTTON";      return <<"ENDBUTTON";
 <a href=\"javascript:openbrowser('$form','$element'$titleelement)\"\>Select</a>  <a href=\"javascript:openbrowser('$form','$element'$titleelement)\"\>$lt{'se'}</a>
 ENDBUTTON  ENDBUTTON
     return $result;  
 }  }
   
 #----------------------------------------------------- browse  #----------------------------------------------------- search
 sub search {  sub search {
     # insert a link to call up the filesystem browser (lonindexer)      # insert a link to call up the filesystem browser (lonindexer)
     my ($id, $mode, $titleid) = @_;      my ($id, $mode, $titleid) = @_;
     my $form    = 'lonhomework';      my $form    = 'lonhomework';
     my $element;      my $element = &get_element($id,$mode);
     if (! defined($mode) || $mode eq 'attribute') {  
         $element = &escape("$id\_$Apache::lonxml::curdepth");  
     } elsif ($mode eq 'textnode') {  # for data between <tag> ... </tag>  
         $element = &escape('homework_edit_'.  
                                            $Apache::lonxml::curdepth);  
     }  
     my $titleelement;      my $titleelement;
     if ($titleid) {      if ($titleid) {
  $titleelement=",'".&escape("$titleid\_$Apache::lonxml::curdepth")."'";   $titleelement=",'".&escape("$titleid\_$Apache::lonxml::curdepth")."'";
     }      }
       my $linktext = &mt('Search');
     my $result = <<"ENDBUTTON";      my $result = <<"ENDBUTTON";
 <a href=\"javascript:opensearcher('$form','$element'$titleelement)\"\>Search</a>  <a href=\"javascript:opensearcher('$form','$element'$titleelement)\"\>$linktext</a>
 ENDBUTTON  ENDBUTTON
     return $result;      return $result;
 }  }
   
   sub get_element {
       my ($id,$mode) = @_;
       my $element;
       if (! defined($mode) || $mode eq 'attribute') {
           $element = &escape("$id\_$Apache::lonxml::curdepth");
       } elsif ($mode eq 'textnode') {  # for data between <tag> ... </tag>
           $element = &escape('homework_edit_'.
                                              $Apache::lonxml::curdepth);
       }
       return $element;
   }
   
 1;  1;
 __END__  __END__

Removed from v.1.153  
changed lines
  Added in v.1.154


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