Diff for /loncom/interface/londocs.pm between versions 1.293 and 1.308

version 1.293, 2007/07/14 00:50:24 version 1.308, 2008/06/09 22:34:55
Line 818  sub extract_media { Line 818  sub extract_media {
         $dirpath = $url;          $dirpath = $url;
         $container = '';          $container = '';
     }      }
     &Apache::lonnet::extract_embedded_items(undef,undef,\%allfiles,\%codebase,$content);      &Apache::lonnet::extract_embedded_items(undef,\%allfiles,\%codebase,$content);
     foreach my $embed_file (keys(%allfiles)) {      foreach my $embed_file (keys(%allfiles)) {
         my $filename;          my $filename;
         if ($embed_file =~ m#([^/]+)$#) {          if ($embed_file =~ m#([^/]+)$#) {
Line 963  sub breadcrumbs { Line 963  sub breadcrumbs {
     my $randompick=-1;      my $randompick=-1;
     my $isencrypted=0;      my $isencrypted=0;
     my $ishidden=0;      my $ishidden=0;
       my $is_random_order=0;
     while (@folders) {      while (@folders) {
  my $folder=shift(@folders);   my $folder=shift(@folders);
  my $foldername=shift(@folders);   my $foldername=shift(@folders);
Line 970  sub breadcrumbs { Line 971  sub breadcrumbs {
  $folderpath.=$folder.'&'.$foldername;   $folderpath.=$folder.'&'.$foldername;
  my $url='/adm/coursedocs?folderpath='.   my $url='/adm/coursedocs?folderpath='.
     &escape($folderpath);      &escape($folderpath);
             my $name=&unescape($foldername);      my $name=&unescape($foldername);
 # randompick number, hidden, encrypted is appended with ":"s to the foldername  # randompick number, hidden, encrypted, random order, is appended with ":"s to the foldername
             $name=~s/\:(\d*)\:(\w*)\:(\w*)$//;       $name=~s/\:(\d*)\:(\w*)\:(\w*):(\d*)$//;
             if ($1 ne '') {       if ($1 ne '') { 
                $randompick=$1;                 $randompick=$1;
             } else {              } else {
                $randompick=-1;                 $randompick=-1;
             }              }
             if ($2) { $ishidden=1; }              if ($2) { $ishidden=1; }
             if ($3) { $isencrypted=1; }              if ($3) { $isencrypted=1; }
       if ($4 ne '') { $is_random_order = 1; }
     &Apache::lonhtmlcommon::add_breadcrumb(      &Apache::lonhtmlcommon::add_breadcrumb(
       {'href'=>$url.$cpinfo,        {'href'=>$url.$cpinfo,
        'title'=>$name,         'title'=>$name,
Line 991  sub breadcrumbs { Line 993  sub breadcrumbs {
     }      }
     $plain=~s/\&gt\;\s*$//;      $plain=~s/\&gt\;\s*$//;
     return (&Apache::lonhtmlcommon::breadcrumbs(undef,undef,0,'nohelp',      return (&Apache::lonhtmlcommon::breadcrumbs(undef,undef,0,'nohelp',
        'LC_docs_path'),$randompick,$ishidden,$isencrypted,$plain);         'LC_docs_path'),$randompick,$ishidden,$isencrypted,$plain,$is_random_order);
 }  }
   
 sub log_docs {  sub log_docs {
Line 1082  sub docs_change_log { Line 1084  sub docs_change_log {
     my %lt=('hiddenresource' => 'Resources hidden',      my %lt=('hiddenresource' => 'Resources hidden',
     'encrypturl'     => 'URL hidden',      'encrypturl'     => 'URL hidden',
     'randompick'     => 'Randomly pick',      'randompick'     => 'Randomly pick',
       'randomorder'    => 'Randomly ordered',
     'set'            => 'set to',      'set'            => 'set to',
     'del'            => 'deleted');      'del'            => 'deleted');
     $r->print(&Apache::loncommon::display_filter().      $r->print(&Apache::loncommon::display_filter().
Line 1164  sub docs_change_log { Line 1167  sub docs_change_log {
  $r->print('</ul>');   $r->print('</ul>');
  if ($docslog{$id}{'logentry'}{'parameter_res'}) {   if ($docslog{$id}{'logentry'}{'parameter_res'}) {
     $r->print(&LONCAPA::map::qtescape((split(/\:/,$docslog{$id}{'logentry'}{'parameter_res'}))[0]).':<ul>');      $r->print(&LONCAPA::map::qtescape((split(/\:/,$docslog{$id}{'logentry'}{'parameter_res'}))[0]).':<ul>');
     foreach my $parameter ('randompick','hiddenresource','encrypturl') {      foreach my $parameter ('randompick','hiddenresource','encrypturl','randomorder') {
  if ($docslog{$id}{'logentry'}{'parameter_action_'.$parameter}) {   if ($docslog{$id}{'logentry'}{'parameter_action_'.$parameter}) {
     $r->print('<li>'.      $r->print('<li>'.
       &mt($lt{$parameter}.' '.$lt{$docslog{$id}{'logentry'}{'parameter_action_'.$parameter}}.' [_1]',        &mt($lt{$parameter}.' '.$lt{$docslog{$id}{'logentry'}{'parameter_action_'.$parameter}}.' [_1]',
Line 1202  sub update_paste_buffer { Line 1205  sub update_paste_buffer {
     }      }
     $url=~s{http(&colon;|:)//https(&colon;|:)//}{https$2//};      $url=~s{http(&colon;|:)//https(&colon;|:)//}{https$2//};
   
     &Apache::lonnet::appenv('docs.markedcopy_title' => $title,      &Apache::lonnet::appenv({'docs.markedcopy_title' => $title,
     'docs.markedcopy_url'   => $url);      'docs.markedcopy_url'   => $url});
     delete($env{'form.markcopy'});      delete($env{'form.markcopy'});
 }  }
   
Line 1224  ENDPASTE Line 1227  ENDPASTE
   &LONCAPA::map::qtescape($env{'docs.markedcopy_url'}).')');    &LONCAPA::map::qtescape($env{'docs.markedcopy_url'}).')');
     }  else {      }  else {
  my $extension = (split(/\./,$env{'docs.markedcopy_url'}))[-1];   my $extension = (split(/\./,$env{'docs.markedcopy_url'}))[-1];
  my $type = &Apache::loncommon::filedescription($extension);   my $icon = &Apache::loncommon::icon($extension);
  my $icon = '<img src="'.&Apache::loncommon::icon($extension).   if ($extension eq 'sequence' &&
     '" alt="" class="LC_icon" />';      $env{'docs.markedcopy_url'} =~ m{/default_\d+\.sequence$ }x) {
       $icon = &Apache::loncommon::lonhttpdurl($r->dir_config('lonIconsURL'));
       $icon .= '/folder_closed.gif';
    }
    $icon = '<img src="'.$icon.'" alt="" class="LC_icon" />';
  $r->print($icon.$type.': '.  &parse_supplemental_title(&LONCAPA::map::qtescape($env{'docs.markedcopy_title'})));   $r->print($icon.$type.': '.  &parse_supplemental_title(&LONCAPA::map::qtescape($env{'docs.markedcopy_title'})));
     }      }
     if ($container eq 'page') {      if ($container eq 'page') {
Line 1292  sub do_paste_from_buffer { Line 1299  sub do_paste_from_buffer {
   
 my %parameter_type = ( 'randompick'     => 'int_pos',  my %parameter_type = ( 'randompick'     => 'int_pos',
        'hiddenresource' => 'string_yesno',         'hiddenresource' => 'string_yesno',
        'encrypturl'     => 'string_yesno',);         'encrypturl'     => 'string_yesno',
          'randomorder'    => 'string_yesno',);
 my $valid_parameters_re = join('|',keys(%parameter_type));  my $valid_parameters_re = join('|',keys(%parameter_type));
 # set parameters  # set parameters
 sub update_parameter {  sub update_parameter {
Line 1378  sub editor { Line 1386  sub editor {
         $LONCAPA::map::resources[$idx]='';          $LONCAPA::map::resources[$idx]='';
     }      }
           
     my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain)=      my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain,$is_random_order)=
  &breadcrumbs($folder);   &breadcrumbs($folder);
     $r->print($breadcrumbtrail);      $r->print($breadcrumbtrail);
           
Line 1452  sub editor { Line 1460  sub editor {
 # ---------------------------------------------------------------- Print screen  # ---------------------------------------------------------------- Print screen
     my $idx=0;      my $idx=0;
     my $shown=0;      my $shown=0;
     if (($ishidden) || ($isencrypted) || ($randompick>=0)) {      if (($ishidden) || ($isencrypted) || ($randompick>=0) || ($is_random_order)) {
  $r->print('<p>'.&mt('Parameters').':<ul>'.   $r->print('<p>'.&mt('Parameters').':<ul>'.
   ($randompick>=0?'<li>'.&mt('randomly pick [_1] resources',$randompick).'</li>':'').    ($randompick>=0?'<li>'.&mt('randomly pick [_1] resources',$randompick).'</li>':'').
   ($ishidden?'<li>'.&mt('contents hidden').'</li>':'').    ($ishidden?'<li>'.&mt('contents hidden').'</li>':'').
Line 1462  sub editor { Line 1470  sub editor {
     if ($randompick>=0) {      if ($randompick>=0) {
  $r->print('<p>'.&mt('Caution: this folder is set to randomly pick a subset of resources. Adding or removing resources from this folder will change the set of resources that the students see, resulting in spurious or missing credit for completed problems, not limited to ones you modify. Do not modify the contents of this folder if it is in active student use.').'</p>');   $r->print('<p>'.&mt('Caution: this folder is set to randomly pick a subset of resources. Adding or removing resources from this folder will change the set of resources that the students see, resulting in spurious or missing credit for completed problems, not limited to ones you modify. Do not modify the contents of this folder if it is in active student use.').'</p>');
     }      }
       if ($is_random_order) {
    $r->print('<p>'.&mt('Caution: this folder is set to randomly order its contents. Adding or removing resources from this folder will change the order of resources shown.').'</p>');
       }
     $r->print('<table class="LC_docs_editor">');      $r->print('<table class="LC_docs_editor">');
     foreach my $res (@LONCAPA::map::order) {      foreach my $res (@LONCAPA::map::order) {
  my ($name,$url)=split(/\:/,$LONCAPA::map::resources[$res]);   my ($name,$url)=split(/\:/,$LONCAPA::map::resources[$res]);
Line 1560  sub process_file_upload { Line 1571  sub process_file_upload {
   
                     $$upload_output .=                       $$upload_output .= 
  'This file contains embedded multimedia objects, which need to be uploaded to LON-CAPA.<br />'.   'This file contains embedded multimedia objects, which need to be uploaded to LON-CAPA.<br />'.
  &ask_for_embedded_content('/adm/coursedocs',   &Apache::loncommon::ask_for_embedded_content(
   $state,$allfiles,$codebase);                              '/adm/coursedocs',$state,$allfiles,$codebase);
                 } else {                  } else {
                     $$upload_output .= 'No embedded items identified<br />';                      $$upload_output .= 'No embedded items identified<br />';
                 }                  }
Line 1571  sub process_file_upload { Line 1582  sub process_file_upload {
     return $phase_status;      return $phase_status;
 }  }
   
 sub ask_for_embedded_content {  
     my ($actionurl,$state,$allfiles,$codebase,$args)=@_;  
     my $upload_output = '  
    <form name="upload_embedded" action="'.$actionurl.'"  
                   method="post" enctype="multipart/form-data">';  
     $upload_output .= $state;  
     $upload_output .= '<b>Upload embedded files</b>:<br />'.  
  &Apache::loncommon::start_data_table();  
   
     my $num = 0;  
     foreach my $embed_file (sort {lc($a) cmp lc($b)} keys(%{$allfiles})) {  
  $upload_output .= &Apache::loncommon::start_data_table_row().  
     '<td>'.$embed_file.'</td><td>';  
  if ($args->{'ignore_remote_references'}  
     && $embed_file =~ m{^\w+://}) {  
     $upload_output.='<span class="LC_warning">'.&mt("URL points to other server.").'</span>';  
  } elsif ($args->{'error_on_invalid_names'}  
     && $embed_file ne &Apache::lonnet::clean_filename($embed_file,{'keep_path' => 1,})) {  
       
     $upload_output.='<span class="LC_warning">'.&mt("Invalid characters").'</span>';  
       
  } else {  
   
     $upload_output .='  
            <input name="embedded_item_'.$num.'" type="file" value="bob" />  
            <input name="embedded_orig_'.$num.'" type="hidden" value="'.&escape($embed_file).'" />';  
     my $attrib = join(':',@{$$allfiles{$embed_file}});  
     $upload_output .=  
  "\n\t\t".  
  '<input name="embedded_attrib_'.$num.'" type="hidden" value="'.  
  $attrib.'" />';  
     if (exists($$codebase{$embed_file})) {  
  $upload_output .=   
     "\n\t\t".  
     '<input name="codebase_'.$num.'" type="hidden" value="'.  
     &escape($$codebase{$embed_file}).'" />';  
     }  
  }  
  $upload_output .= '</td>'.&Apache::loncommon::end_data_table_row();  
  $num++;  
     }  
     $upload_output .= &Apache::loncommon::end_data_table().'<br />  
    <input type ="hidden" name="number_embedded_items" value="'.$num.'" />  
    <input type ="submit" value="'.&mt('Upload Listed Files').'" />  
    '.&mt('(only files for which a location has been provided will be uploaded)').'  
    </form>';  
     return $upload_output;  
 }  
   
 sub process_secondary_uploads {  sub process_secondary_uploads {
     my ($upload_output,$coursedom,$coursenum,$formname,$num,$newidx) = @_;      my ($upload_output,$coursedom,$coursenum,$formname,$num,$newidx) = @_;
     my $folder=$env{'form.folder'};      my $folder=$env{'form.folder'};
Line 1691  sub entryline { Line 1653  sub entryline {
     my $line='<tr>';      my $line='<tr>';
     my ($form_start,$form_end);      my ($form_start,$form_end);
 # Edit commands  # Edit commands
     my $container;  
     my ($container, $type, $esc_path, $path, $symb);      my ($container, $type, $esc_path, $path, $symb);
     if ($env{'form.folderpath'}) {      if ($env{'form.folderpath'}) {
  $type = 'folder';   $type = 'folder';
Line 1744  sub entryline { Line 1705  sub entryline {
  # no copy for published maps   # no copy for published maps
  $nocopy = 1;   $nocopy = 1;
     } else {      } else {
  foreach (&Apache::lonsequence::attemptread(&Apache::lonnet::filelocation('',$url))) {   foreach (&Apache::lonsequence::attemptread(&Apache::lonnet::filelocation('',$url),1)) {
     my ($title,$url,$ext,$type)=split(/\:/,$_);      my ($title,$url,$ext,$type)=split(/\:/,$_);
     if (($url=~/\.(page|sequence)/) && ($type ne 'zombie')) {      if (($url=~/\.(page|sequence)/) && ($type ne 'zombie')) {
  $nocopy=1;   $nocopy=1;
Line 1884  END Line 1845  END
     $url.=(($url=~/\?/)?'&':'?').'symb='.&escape($symb);      $url.=(($url=~/\?/)?'&':'?').'symb='.&escape($symb);
  }   }
     }      }
     my $parameterset='&nbsp;';      my ($parameterset,$rand_order_text) = ('&nbsp;', '&nbsp;');
     if ($isfolder || $extension eq 'sequence') {      if ($isfolder || $extension eq 'sequence') {
  my $foldername=&escape($foldertitle);   my $foldername=&escape($foldertitle);
  my $folderpath=$env{'form.folderpath'};   my $folderpath=$env{'form.folderpath'};
Line 1896  END Line 1857  END
                                                .':'.((&LONCAPA::map::getparameter($orderidx,                                                 .':'.((&LONCAPA::map::getparameter($orderidx,
                                               'parameter_hiddenresource'))[0]=~/^yes$/i)                                                'parameter_hiddenresource'))[0]=~/^yes$/i)
                                                .':'.((&LONCAPA::map::getparameter($orderidx,                                                 .':'.((&LONCAPA::map::getparameter($orderidx,
                                               'parameter_encrypturl'))[0]=~/^yes$/i);                                                'parameter_encrypturl'))[0]=~/^yes$/i)
                                                  .':'.((&LONCAPA::map::getparameter($orderidx,
                                                 'parameter_randomorder'))[0]=~/^yes$/i);
  $url.='folderpath='.&escape($folderpath).$cpinfo;   $url.='folderpath='.&escape($folderpath).$cpinfo;
  $parameterset='<label>'.&mt('Randomly Pick: ').   $parameterset='<label>'.&mt('Randomly Pick: ').
     '<input type="text" size="4" onChange="this.form.changeparms.value='."'randompick'".';this.form.submit()" name="randompick_'.$orderidx.'" value="'.      '<input type="text" size="4" onChange="this.form.changeparms.value='."'randompick'".';this.form.submit()" name="randompick_'.$orderidx.'" value="'.
Line 1904  END Line 1867  END
                                               'parameter_randompick'))[0].                                                'parameter_randompick'))[0].
                                               '" />'.                                                '" />'.
 '<a href="javascript:void(0)">'.&mt('Save').'</a></label>';  '<a href="javascript:void(0)">'.&mt('Save').'</a></label>';
              my $ro_set=
       ((&LONCAPA::map::getparameter($orderidx,'parameter_randomorder'))[0]=~/^yes$/i?' checked="checked"':'');
    $rand_order_text ='
   <nobr><label><input type="checkbox" name="randomorder_'.$orderidx.'" onClick="this.form.changeparms.value=\'randomorder\';this.form.submit()" '.$ro_set.' /> '.&mt('Random Order').' </label></nobr>';   
     }      }
     if ($ispage) {      if ($ispage) {
         my $pagename=&escape($pagetitle);          my $pagename=&escape($pagetitle);
Line 1956  END Line 1922  END
     <label><input type="checkbox" name="encrypturl_$orderidx" onClick="this.form.changeparms.value='encrypturl';this.form.submit()" $enctext /> $lt{'ec'}</label>      <label><input type="checkbox" name="encrypturl_$orderidx" onClick="this.form.changeparms.value='encrypturl';this.form.submit()" $enctext /> $lt{'ec'}</label>
     $form_end      $form_end
   </td>    </td>
     <td class="LC_docs_entry_parameter">$form_start $rand_order_text $form_end</td>
   <td class="LC_docs_entry_parameter">$form_start $parameterset $form_end</td>    <td class="LC_docs_entry_parameter">$form_start $parameterset $form_end</td>
 ENDPARMS  ENDPARMS
     }      }
Line 2423  sub init_breadcrumbs { Line 2390  sub init_breadcrumbs {
     my ($form,$text)=@_;      my ($form,$text)=@_;
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
     &Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/coursedocs",      &Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/coursedocs",
     text=>&Apache::loncommon::course_type()." Documents",      text=>"Edit ".&Apache::loncommon::course_type(),
     faq=>273,      faq=>273,
     bug=>'Instructor Interface',      bug=>'Instructor Interface',
                                             help => 'Docs_Adding_Course_Doc'});                                              help => 'Docs_Adding_Course_Doc'});
Line 2497  sub handler { Line 2464  sub handler {
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
     ['folderpath','pagepath',      ['folderpath','pagepath',
      'pagesymb']);       'pagesymb']);
   # No folderpath, no pagepath, see if we have something stored
       if ((!$env{'form.folderpath'}) && (!$env{'form.pagepath'})) {
           &Apache::loncommon::restore_course_settings('docs_folderpath',
                                                 {'folderpath' => 'scalar'});
       }
       if (!$env{'form.folderpath'}) {
           &Apache::loncommon::restore_course_settings('docs_folderpath',
                                                 {'pagepath' => 'scalar'});
       }
       if ($env{'form.pagepath'}) {
          $env{'form.folderpath'}='';
       }
       &Apache::loncommon::store_course_settings('docs_folderpath',
                                                   {'pagepath' => 'scalar',
                                                    'folderpath' => 'scalar'});
     if ($env{'form.folderpath'}) {      if ($env{'form.folderpath'}) {
  my (@folderpath)=split('&',$env{'form.folderpath'});   my (@folderpath)=split('&',$env{'form.folderpath'});
  $env{'form.foldername'}=&unescape(pop(@folderpath));   $env{'form.foldername'}=&unescape(pop(@folderpath));
Line 2558  sub handler { Line 2540  sub handler {
       if (($env{'form.uploaddoc.filename'}) &&        if (($env{'form.uploaddoc.filename'}) &&
   ($env{'form.cmd'}=~/^upload_(\w+)/)) {    ($env{'form.cmd'}=~/^upload_(\w+)/)) {
 # Process file upload - phase one - upload and parse primary file.    # Process file upload - phase one - upload and parse primary file.  
     undef($hadchanges);
           $upload_result = &process_file_upload(\$upload_output,$coursenum,            $upload_result = &process_file_upload(\$upload_output,$coursenum,
  $coursedom,\%allfiles,   $coursedom,\%allfiles,
  \%codebase,$1);   \%codebase,$1);
     if ($hadchanges) {
         &mark_hash_old();
     }
           if ($upload_result eq 'phasetwo') {            if ($upload_result eq 'phasetwo') {
               $r->print($upload_output);                $r->print($upload_output);
           }            }
Line 2662  sub handler { Line 2648  sub handler {
                 'bull' => 'Bulletin Board',                  'bull' => 'Bulletin Board',
                 'mypi' => 'My Personal Info',                  'mypi' => 'My Personal Info',
                 'grpo' => 'Group Files',                  'grpo' => 'Group Files',
                   'rost' => 'Course Roster',
  'abou' => 'About User',   'abou' => 'About User',
                 'imsf' => 'Import IMS package',                  'imsf' => 'Import IMS package',
                 'file' =>  'File',                  'file' =>  'File',
Line 2790  $uploadtag Line 2777  $uploadtag
 <br />  <br />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <label>$lt{'parse'}?  <label>$lt{'parse'}?
 <input type="checkbox" name="parserflag" />  <input type="checkbox" name="parserflag" checked="checked" />
 </label>  </label>
 </span>  </span>
 <br />  <br />
Line 2870  value="$lt{'newp'}" />$help{'Adding_Page Line 2857  value="$lt{'newp'}" />$help{'Adding_Page
 <br /><form action="/adm/coursedocs" method="post" name="newsyl">  <br /><form action="/adm/coursedocs" method="post" name="newsyl">
 $uploadtag  $uploadtag
 <input type="hidden" name="importdetail"   <input type="hidden" name="importdetail" 
 value="Syllabus=/public/$coursedom/$coursenum/syllabus" />  value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newsyl" type="submit" value="$lt{'syll'}" />   <input name="newsyl" type="submit" value="$lt{'syll'}" /> 
  $help{'Syllabus'}   $help{'Syllabus'}
Line 2879  value="Syllabus=/public/$coursedom/$cour Line 2866  value="Syllabus=/public/$coursedom/$cour
 <br /><form action="/adm/coursedocs" method="post" name="newnav">  <br /><form action="/adm/coursedocs" method="post" name="newnav">
 $uploadtag  $uploadtag
 <input type="hidden" name="importdetail"   <input type="hidden" name="importdetail" 
 value="Navigate Content=/adm/navmaps" />  value="$lt{'navc'}=/adm/navmaps" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newnav" type="submit" value="$lt{'navc'}" />  <input name="newnav" type="submit" value="$lt{'navc'}" />
 $help{'Navigate_Content'}  $help{'Navigate_Content'}
Line 2947  onClick="javascript:makeabout();" /> Line 2934  onClick="javascript:makeabout();" />
 <br /><form action="/adm/coursedocs" method="post" name="newgroupfiles">  <br /><form action="/adm/coursedocs" method="post" name="newgroupfiles">
 $uploadtag  $uploadtag
 <input type="hidden" name="importdetail"  <input type="hidden" name="importdetail"
 value="Group Files=/adm/$coursedom/$coursenum/aboutme" />  value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" />
 <span class="LC_nobreak">  <span class="LC_nobreak">
 <input name="newgroupfiles" type="submit" value="$lt{'grpo'}" />  <input name="newgroupfiles" type="submit" value="$lt{'grpo'}" />
 $help{'Group Files'}  $help{'Group Files'}
 </span>  </span>
 </form>  </form>
   <br /><form action="/adm/coursedocs" method="post" name="newroster">
   $uploadtag
   <input type="hidden" name="importdetail" 
   value="$lt{'rost'}=/adm/viewclasslist" />
   <span class="LC_nobreak">
   <input name="newroster" type="submit" value="$lt{'rost'}" />
   $help{'Course Roster'}
   </span>
   </form>
 ENDFORM  ENDFORM
        }         }
        if ($env{'form.pagepath'}) {         if ($env{'form.pagepath'}) {
Line 3102  ENDSUPFORM Line 3098  ENDSUPFORM
 sub editing_js {  sub editing_js {
     my ($udom,$uname) = @_;      my ($udom,$uname) = @_;
     my $now = time();      my $now = time();
       my %lt = &Apache::lonlocal::texthash(
                                             p_mnf => 'Name of New Folder',
                                             t_mnf => 'New Folder',
                                             p_mnp => 'Name of New Page',
                                             t_mnp => 'New Page',
                                             p_mxu => 'Title for the Uploaded Score',
                                             p_msp => 'Title for the Page',
                                             p_msb => 'Title for the Problem',
                                             p_mdb => 'Title for the Drop Box',
                                             p_mbb => 'Title for the Bulletin Board',
                                             p_mab => "Enter user:domain for User's 'About Me' Page",
                                             p_mab2 => "About [_99]",
                                             p_mab_alrt1 => 'Not a valid user:domain',
                                             p_mab_alrt2 => 'Please enter both user and domain in the format user:domain',
                                             p_chn => 'New Title',
                                             p_rmr1 => 'WARNING: Removing a resource makes associated grades and scores inaccessible!',
                                             p_rmr2a => 'Remove[_99]',
                                             p_rmr2b => '?[_99]',
                                             p_ctr1a => 'WARNING: Cutting a resource makes associated grades and scores inaccessible!',
                                             p_ctr1b => 'Grades remain inaccessible if resource is pasted into another folder.',
                                             p_ctr2a => 'Cut[_98]',
                                             p_ctr2b => '?[_98]'
                                           );
   
     return <<ENDNEWSCRIPT;      return <<ENDNEWSCRIPT;
 function makenewfolder(targetform,folderseq) {  function makenewfolder(targetform,folderseq) {
     var foldername=prompt('Name of New Folder','New Folder');      var foldername=prompt('$lt{"p_mnf"}','$lt{"t_mnf"}');
     if (foldername) {      if (foldername) {
        targetform.importdetail.value=escape(foldername)+"="+folderseq;         targetform.importdetail.value=escape(foldername)+"="+folderseq;
         targetform.submit();          targetform.submit();
Line 3113  function makenewfolder(targetform,folder Line 3132  function makenewfolder(targetform,folder
 }  }
   
 function makenewpage(targetform,folderseq) {  function makenewpage(targetform,folderseq) {
     var pagename=prompt('Name of New Page','New Page');      var pagename=prompt('$lt{"p_mnp"}','$lt{"t_mnp"}');
     if (pagename) {      if (pagename) {
         targetform.importdetail.value=escape(pagename)+"="+folderseq;          targetform.importdetail.value=escape(pagename)+"="+folderseq;
         targetform.submit();          targetform.submit();
Line 3137  function edittext(targetname,residx,titl Line 3156  function edittext(targetname,residx,titl
 }  }
   
 function makeexamupload() {  function makeexamupload() {
    var title=prompt('Listed Title for the Uploaded Score');     var title=prompt('$lt{"p_mxu"}');
    if (title) {      if (title) { 
     this.document.forms.newexamupload.importdetail.value=      this.document.forms.newexamupload.importdetail.value=
  escape(title)+'=/res/lib/templates/examupload.problem';   escape(title)+'=/res/lib/templates/examupload.problem';
Line 3146  function makeexamupload() { Line 3165  function makeexamupload() {
 }  }
   
 function makesmppage() {  function makesmppage() {
    var title=prompt('Listed Title for the Page');     var title=prompt('$lt{"p_msp"}');
    if (title) {      if (title) { 
     this.document.forms.newsmppg.importdetail.value=      this.document.forms.newsmppg.importdetail.value=
  escape(title)+'=/adm/$udom/$uname/$now/smppg';   escape(title)+'=/adm/$udom/$uname/$now/smppg';
Line 3155  function makesmppage() { Line 3174  function makesmppage() {
 }  }
   
 function makesmpproblem() {  function makesmpproblem() {
    var title=prompt('Listed Title for the Problem');     var title=prompt('$lt{"p_msb"}');
    if (title) {      if (title) { 
     this.document.forms.newsmpproblem.importdetail.value=      this.document.forms.newsmpproblem.importdetail.value=
  escape(title)+'=/res/lib/templates/simpleproblem.problem';   escape(title)+'=/res/lib/templates/simpleproblem.problem';
Line 3164  function makesmpproblem() { Line 3183  function makesmpproblem() {
 }  }
   
 function makedropbox() {  function makedropbox() {
    var title=prompt('Listed Title for the Drop Box');     var title=prompt('$lt{"p_mdb"}');
    if (title) {      if (title) { 
     this.document.forms.newdropbox.importdetail.value=      this.document.forms.newdropbox.importdetail.value=
         escape(title)+'=/res/lib/templates/DropBox.problem';          escape(title)+'=/res/lib/templates/DropBox.problem';
Line 3173  function makedropbox() { Line 3192  function makedropbox() {
 }  }
   
 function makebulboard() {  function makebulboard() {
    var title=prompt('Listed Title for the Bulletin Board');     var title=prompt('$lt{"p_mbb"}');
    if (title) {     if (title) {
     this.document.forms.newbul.importdetail.value=      this.document.forms.newbul.importdetail.value=
  escape(title)+'=/adm/$udom/$uname/$now/bulletinboard';   escape(title)+'=/adm/$udom/$uname/$now/bulletinboard';
Line 3182  function makebulboard() { Line 3201  function makebulboard() {
 }  }
   
 function makeabout() {  function makeabout() {
    var user=prompt("Enter user:domain for User's 'About Me' Page");     var user=prompt("$lt{'p_mab'}");
    if (user) {     if (user) {
        var comp=new Array();         var comp=new Array();
        comp=user.split(':');         comp=user.split(':');
        if ((typeof(comp[0])!=undefined) && (typeof(comp[1])!=undefined)) {         if ((typeof(comp[0])!=undefined) && (typeof(comp[1])!=undefined)) {
    if ((comp[0]) && (comp[1])) {     if ((comp[0]) && (comp[1])) {
        this.document.forms.newaboutsomeone.importdetail.value=         this.document.forms.newaboutsomeone.importdetail.value=
    'About '+escape(user)+'=/adm/'+comp[1]+'/'+comp[0]+'/aboutme';     '$lt{"p_mab2"}'+escape(user)+'=/adm/'+comp[1]+'/'+comp[0]+'/aboutme';
        this.document.forms.newaboutsomeone.submit();         this.document.forms.newaboutsomeone.submit();
    } else {     } else {
                alert("Not a valid user:domain");                 alert("$lt{'p_mab_alrt1'}");
            }             }
        } else {         } else {
            alert("Please enter both user and domain in the format user:domain");              alert("$lt{'p_mab_alrt2'}");
        }         }
    }     }
 }  }
Line 3217  function finishpick() { Line 3236  function finishpick() {
 }  }
   
 function changename(folderpath,index,oldtitle,container,pagesymb) {  function changename(folderpath,index,oldtitle,container,pagesymb) {
     var title=prompt('New Title',oldtitle);      var title=prompt('$lt{"p_chn"}',oldtitle);
     if (title) {      if (title) {
  this.document.forms.renameform.markcopy.value=-1;   this.document.forms.renameform.markcopy.value=-1;
  this.document.forms.renameform.title.value=title;   this.document.forms.renameform.title.value=title;
Line 3234  function changename(folderpath,index,old Line 3253  function changename(folderpath,index,old
 }  }
   
 function removeres(folderpath,index,oldtitle,container,pagesymb,skip_confirm) {  function removeres(folderpath,index,oldtitle,container,pagesymb,skip_confirm) {
     if (skip_confirm || confirm('WARNING: Removing a resource makes associated grades and scores inaccessible!\\nRemove "'+oldtitle+'"?')) {      if (skip_confirm || confirm('$lt{"p_rmr1"}\\n\\n$lt{"p_rmr2a"} "'+oldtitle+'" $lt{"p_rmr2b"}')) {
  this.document.forms.renameform.markcopy.value=-1;   this.document.forms.renameform.markcopy.value=-1;
  this.document.forms.renameform.cmd.value='del_'+index;   this.document.forms.renameform.cmd.value='del_'+index;
         if (container == 'sequence') {          if (container == 'sequence') {
Line 3249  function removeres(folderpath,index,oldt Line 3268  function removeres(folderpath,index,oldt
 }  }
   
 function cutres(folderpath,index,oldtitle,container,pagesymb,folder,skip_confirm) {  function cutres(folderpath,index,oldtitle,container,pagesymb,folder,skip_confirm) {
     if (skip_confirm || confirm('WARNING: Cutting a resource makes associated grades and scores inaccessible!\\nGrades remain inaccessible if resource is pasted into another folder.\\nCut "'+oldtitle+'"?')) {      if (skip_confirm || confirm('$lt{"p_ctr1a"}\\n$lt{"p_ctr1b"}\\n\\n$lt{"p_ctr2a"} "'+oldtitle+'" $lt{"p_ctr2b"}')) {
  this.document.forms.renameform.cmd.value='cut_'+index;   this.document.forms.renameform.cmd.value='cut_'+index;
  this.document.forms.renameform.markcopy.value=index;   this.document.forms.renameform.markcopy.value=index;
  this.document.forms.renameform.copyfolder.value=folder+'.'+container;   this.document.forms.renameform.copyfolder.value=folder+'.'+container;

Removed from v.1.293  
changed lines
  Added in v.1.308


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