Diff for /loncom/interface/londocs.pm between versions 1.501 and 1.507

version 1.501, 2012/10/31 12:54:13 version 1.507, 2012/11/14 01:09:32
Line 1828  sub editor { Line 1828  sub editor {
  if (defined($item)) {   if (defined($item)) {
     my ($name,$url,$residx)=      my ($name,$url,$residx)=
  map {&unescape($_)} split(/\=/,$item);   map {&unescape($_)} split(/\=/,$item);
                       if ($url=~ m{^\Q/uploaded/$coursedom/$coursenum/\E(default|supplemental)_new\.(sequence|page)$}) {
                           my ($suffix,$errortxt,$locknotfreed) = 
                               &newmap_suffix($1,$2,$coursedom,$coursenum);
                           if ($locknotfreed) {
                               $r->print($locknotfreed);
                           }
                           if ($suffix) {
                               $url =~ s/_new\./_$suffix./; 
                           } else {
                               return $errortxt;
                           }
                       }
     push(@imports, [$name, $url, $residx]);      push(@imports, [$name, $url, $residx]);
  }   }
     }      }
Line 1949  sub editor { Line 1961  sub editor {
                     &Apache::lonhtmlcommon::add_item_funclist(                      &Apache::lonhtmlcommon::add_item_funclist(
                         '<a href="/adm/coursedocs?command=direct&forcesupplement=1&'.                          '<a href="/adm/coursedocs?command=direct&forcesupplement=1&'.
                         'supppath='.&HTML::Entities::encode($env{'form.folderpath'}).'">'.                          'supppath='.&HTML::Entities::encode($env{'form.folderpath'}).'">'.
                         '<img src="/res/adm/pages/docs.png" alt="'.$funcname.'" class="LC_icon" />'.                          '<img src="/res/adm/pages/docs-22x22.png" alt="'.$funcname.'" class="LC_icon" />'.
                         '<span class="LC_menubuttons_inline_text">'.$funcname.'</span></a>').                          '<span class="LC_menubuttons_inline_text">'.$funcname.'</span></a>').
                           &Apache::lonhtmlcommon::end_funclist()));                            &Apache::lonhtmlcommon::end_funclist()));
         }          }
Line 2151  sub entryline { Line 2163  sub entryline {
         $esc_path=&escape($env{'form.pagepath'});          $esc_path=&escape($env{'form.pagepath'});
  $path = &HTML::Entities::encode($env{'form.pagepath'},'<>&"');   $path = &HTML::Entities::encode($env{'form.pagepath'},'<>&"');
     }      }
       my $isexternal;
     if (!$supplementalflag && $residx) {      if (!$supplementalflag && $residx) {
         my $currurl = $url;          my $currurl = $url;
         $currurl =~ s{^http(|s)(&colon;|:)//}{/adm/wrapper/ext/};          $currurl =~ s{^http(|s)(&colon;|:)//}{/adm/wrapper/ext/};
           if ($currurl =~ m{^/adm/wrapper/ext/}) {
               $isexternal = 1;
           }
         my $path = 'uploaded/'.          my $path = 'uploaded/'.
                    $env{'course.'.$env{'request.course.id'}.'.domain'}.'/'.                     $env{'course.'.$env{'request.course.id'}.'.domain'}.'/'.
                    $env{'course.'.$env{'request.course.id'}.'.num'}.'/';                     $env{'course.'.$env{'request.course.id'}.'.num'}.'/';
Line 2258  sub entryline { Line 2274  sub entryline {
                 $nocopy=1;                  $nocopy=1;
             }              }
         }          }
         my $copylink='&nbsp;';          my ($copylink,$cutlink,$removelink,$renamelink);
         my $cutlink='&nbsp;';  
         my $removelink='&nbsp;';  
   
  my $skip_confirm = 0;   my $skip_confirm = 0;
  if ( $folder =~ /^supplemental/   if ( $folder =~ /^supplemental/
      || ($url =~ m{( /smppg$       || ($url =~ m{( /smppg$
Line 2269  sub entryline { Line 2282  sub entryline {
     |/aboutme$      |/aboutme$
     |/navmaps$      |/navmaps$
     |/bulletinboard$      |/bulletinboard$
     |\.html$      |\.html$)}x)
     |^/adm/wrapper/ext)}x)) {               || $isexternal) {
     $skip_confirm = 1;      $skip_confirm = 1;
  }   }
   
  if (!$nocopy) {          if ($nocopy) {
               $copylink=(<<ENDCOPY);
   <span style="visibility: hidden;">$lt{'cp'}</span>
   ENDCOPY
           } else {
     $copylink=(<<ENDCOPY);      $copylink=(<<ENDCOPY);
 <a href="javascript:markcopy('$esc_path','$index','$renametitle','$container','$symb','$folder');" class="LC_docs_copy">$lt{'cp'}</a>  <a href="javascript:markcopy('$esc_path','$index','$renametitle','$container','$symb','$folder');" class="LC_docs_copy">$lt{'cp'}</a>
 ENDCOPY  ENDCOPY
         }          }
  if (!$nocut) {          if ($nocut) {
               $cutlink=(<<ENDCUT);
   <span style="visibility: hidden;">$lt{'ct'}</span>
   ENDCUT
           } else {
     $cutlink=(<<ENDCUT);      $cutlink=(<<ENDCUT);
 <a href="javascript:cutres('$esc_path','$index','$renametitle','$container','$symb','$folder',$skip_confirm);" class="LC_docs_cut">$lt{'ct'}</a>  <a href="javascript:cutres('$esc_path','$index','$renametitle','$container','$symb','$folder',$skip_confirm);" class="LC_docs_cut">$lt{'ct'}</a>
 ENDCUT  ENDCUT
         }          }
         if (!$noremove) {          if ($noremove) {
               $removelink=(<<ENDREM);
   <span style="visibility: hidden;">$lt{'rm'}</a>
   ENDREM
           } else {
             $removelink=(<<ENDREM);              $removelink=(<<ENDREM);
 <a href='javascript:removeres("$esc_path","$index","$renametitle","$container","$symb",$skip_confirm);' class="LC_docs_remove">$lt{'rm'}</a>  <a href='javascript:removeres("$esc_path","$index","$renametitle","$container","$symb",$skip_confirm);' class="LC_docs_remove">$lt{'rm'}</a>
 ENDREM  ENDREM
         }          }
           $renamelink=(<<ENDREN);
   <a href='javascript:changename("$esc_path","$index","$renametitle","$container","$symb");' class="LC_docs_rename">$lt{'rn'}</a>
   ENDREN
  $form_start = '   $form_start = '
    <form action="/adm/coursedocs" method="post">     <form action="/adm/coursedocs" method="post">
 ';  ';
Line 2318  END Line 2346  END
    $selectbox     $selectbox
    $form_end     $form_end
 </td>  </td>
 <td class="LC_docs_entry_commands">  <td class="LC_docs_entry_commands"><span class="LC_nobreak">
 $removelink  $removelink
   $renamelink
 $cutlink  $cutlink
    <a href='javascript:changename("$esc_path","$index","$renametitle","$container","$symb");' class="LC_docs_rename">$lt{'rn'}</a>  
 $copylink  $copylink
   </span>
 </td>  </td>
 END  END
   
Line 2467  $form_common.' Line 2496  $form_common.'
             </form>              </form>
 EXTLNK  EXTLNK
         } else {           } else { 
             my ($cfile,$home,$switchserver,$uploaded) =               my ($cfile,$home,$switchserver,$forceedit,$forceview) = 
                 &Apache::lonnet::can_edit_resource($fileloc,$coursenum,$coursedom);                  &Apache::lonnet::can_edit_resource($fileloc,$coursenum,$coursedom,$orig_url);
             if (($cfile ne '') && ($symb ne '')) {              if (($cfile ne '') && ($symb ne '')) {
                 my $jscall =                   my $jscall = 
                     &Apache::lonhtmlcommon::jump_to_editres($cfile,$home,                      &Apache::lonhtmlcommon::jump_to_editres($cfile,$home,
                                                             $switchserver,                                                              $switchserver,
                                                             $uploaded,$symb);                                                              $forceedit,
                                                               undef,$symb);
                 if ($jscall) {                  if ($jscall) {
                     $editlink = '&nbsp;<a class="LC_docs_ext_edit" href="javascript:'.                      $editlink = '&nbsp;<a class="LC_docs_ext_edit" href="javascript:'.
                                 $jscall.'" >'.&mt('Edit').'</a>';                                  $jscall.'" >'.&mt('Edit').'</a>';
Line 2536  ENDPARMS Line 2566  ENDPARMS
     return $line;      return $line;
 }  }
   
   sub newmap_suffix {
       my ($area,$container,$coursedom,$coursenum) = @_;
       my ($prefix,$idtype,$errtext,$locknotfreed);
       $prefix = 'docs';
       if ($area eq 'supplemental') {
           $prefix = 'supp';
       }
       $prefix .= $container;
       $idtype = 'concat';
       my ($suffix,$freedlock,$error) =
           &Apache::lonnet::get_timebased_id($prefix,'num','uploadedmaps',
                                             $coursedom,$coursenum);
       if (!$suffix) {
           $errtext = &mt('Failed to acquire a unique timestamp-based suffix for the new folder/page.');
           if ($error) {
               $errtext .= '<br />'.$error;
           }
       }
       if ($freedlock ne 'ok') {
           $locknotfreed = '<div class="LC_error">'.&mt('There was a problem removing a lockfile. This will prevent creation of additional folders or composite pages in this course.  Please contact the domain coordinator for your LON-CAPA domain.').'</div>';
       }
       return ($suffix,$errtext,$locknotfreed);
   }
   
 =pod  =pod
   
 =item tiehash()  =item tiehash()
Line 3536  sub handler { Line 3590  sub handler {
                 'srch' => 'Search',                  'srch' => 'Search',
                 'impo' => 'Import',                  'impo' => 'Import',
  'lnks' => 'Import from Stored Links',   'lnks' => 'Import from Stored Links',
                   'impm' => 'Import from Assembled Map',
                 'selm' => 'Select Map',                  'selm' => 'Select Map',
                 'load' => 'Load Map',                  'load' => 'Load Map',
                 'reco' => 'Recover Deleted Documents',                  'reco' => 'Recover Deleted Documents',
Line 3635  IMSFORM Line 3690  IMSFORM
         </form>          </form>
 FUFORM  FUFORM
   
  my $simpleeditdefaultform=(<<SEDFFORM);   my $importpubform=(<<SEDFFORM);
  <form action="/adm/coursedocs" method="post" name="simpleeditdefault">          <a class="LC_menubuttons_link" href="javascript:toggleMap();">
           $lt{'impm'}</a>$help{'Load_Map'}
    <form action="/adm/coursedocs" method="post" name="mapimportform">
           <fieldset id="importmapform" style="display: none;" />
           <legend>$lt{'impm'}</legend>
  <input type="hidden" name="active" value="bb" />   <input type="hidden" name="active" value="bb" />
           $lt{'copm'}<br />
           <span class="LC_nobreak">
           <input type="text" name="importmap" size="40" value="" 
           onfocus="this.blur();openbrowser('mapimportform','importmap','sequence,page','');" />
           &nbsp;<a href="javascript:openbrowser('mapimportform','importmap','sequence,page','');">$lt{'selm'}</a><br />
           <input type="submit" name="loadmap" value="$lt{'load'}" />
           </fieldset>
           </form>
   
 SEDFFORM  SEDFFORM
  my @simpleeditdefaultforma = (    my @importpubforma = (
  { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/src.png" alt="'.$lt{srch}.'"  onclick="javascript:groupsearch()" />' => "$uploadtag<a class='LC_menubuttons_link' href='javascript:groupsearch()'>$lt{'srch'}</a>" },   { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/src.png" alt="'.$lt{srch}.'"  onclick="javascript:groupsearch()" />' => "$uploadtag<a class='LC_menubuttons_link' href='javascript:groupsearch()'>$lt{'srch'}</a>" },
  { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/res.png" alt="'.$lt{impo}.'"  onclick="javascript:groupimport();"/>' => "<a class='LC_menubuttons_link' href='javascript:groupimport();'>$lt{'impo'}</a>$help{'Importing_LON-CAPA_Resource'}" },   { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/res.png" alt="'.$lt{impo}.'"  onclick="javascript:groupimport();"/>' => "<a class='LC_menubuttons_link' href='javascript:groupimport();'>$lt{'impo'}</a>$help{'Importing_LON-CAPA_Resource'}" },
  { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/wishlist.png" alt="'.$lt{lnks}.'" onclick="javascript:open_StoredLinks_Import();" />' => "<a class='LC_menubuttons_link' href='javascript:open_StoredLinks_Import();'>$lt{'lnks'}</a>" },   { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/wishlist.png" alt="'.$lt{lnks}.'" onclick="javascript:open_StoredLinks_Import();" />' => "<a class='LC_menubuttons_link' href='javascript:open_StoredLinks_Import();'>$lt{'lnks'}</a>" },
           { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/sequence.png" alt="'.$lt{impm}.'" onclick="javascript:toggleMap();" />' => $importpubform }
  );   );
  $simpleeditdefaultform .= &create_form_ul(&create_list_elements(@simpleeditdefaultforma));   $importpubform = &create_form_ul(&create_list_elements(@importpubforma));
  $simpleeditdefaultform .=(<<SEDFFORM);  
  <hr id="bb_hrule" style="width:0px;text-align:left;margin-left:0" />  
  $lt{'copm'}<br />  
  <input type="text" size="40" name="importmap" /><br />  
  <span class="LC_nobreak" style="float:left"><input type="button"  
  onclick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')"  
  value="$lt{'selm'}" /> <input type="submit" name="loadmap" value="$lt{'load'}" />  
  $help{'Load_Map'}</span>  
  </form>  
 SEDFFORM  
   
       my $extresourcesform=(<<ERFORM);        my $extresourcesform=(<<ERFORM);
       <a class="LC_menubuttons_link" href="javascript:toggleUpload('ext');">$lt{'extr'}</a>$help{'Adding_External_Resource'}        <a class="LC_menubuttons_link" href="javascript:toggleUpload('ext');">$lt{'extr'}</a>$help{'Adding_External_Resource'}
Line 3730  HIDDENFORM Line 3789  HIDDENFORM
        } else {         } else {
            #$postexec='self.close();';             #$postexec='self.close();';
        }         }
        my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.         my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_new.sequence';
                      '.sequence';         my $pageseq = '/uploaded/'.$coursedom.'/'.$coursenum.'/default_new.page';
        my $pageseq = '/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.  
                      '.page';  
  my $container='sequence';   my $container='sequence';
  if ($env{'form.pagepath'}) {   if ($env{'form.pagepath'}) {
     $container='page';      $container='page';
Line 3920  NGFFORM Line 3977  NGFFORM
   
 my %orderhash = (  my %orderhash = (
                 'aa' => ['Import Content',$fileuploadform],                  'aa' => ['Import Content',$fileuploadform],
                 'bb' => ['Published Content',$simpleeditdefaultform],                  'bb' => ['Published Content',$importpubform],
                 'cc' => ['Grading Resources',$gradingform],                  'cc' => ['Grading Resources',$gradingform],
                 );                  );
 unless ($env{'form.pagepath'}) {  unless ($env{'form.pagepath'}) {
Line 3959  unless ($env{'form.pagepath'}) { Line 4016  unless ($env{'form.pagepath'}) {
        $env{'form.pagepath'} = '';         $env{'form.pagepath'} = '';
        if ($allowed) {         if ($allowed) {
    my $folderseq=     my $folderseq=
        '/uploaded/'.$coursedom.'/'.$coursenum.'/supplemental_'.time.         '/uploaded/'.$coursedom.'/'.$coursenum.'/supplemental_new.sequence';
        '.sequence';  
   
    my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');     my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');
   
Line 4562  function toggleUpload(caller) { Line 4618  function toggleUpload(caller) {
         }          }
         document.getElementById('upload'+blocks[i]+'form').style.display=disp;          document.getElementById('upload'+blocks[i]+'form').style.display=disp;
     }      }
     resize_scrollbox('contentscroll','1','0');      resize_scrollbox('contentscroll','1','1');
     return;      return;
 }  }
   
   function toggleMap() {
       var disp = 'none';
       var curr = document.getElementById('importmapform').style.display;
       if (curr == 'none') {
           disp='block';
       }
       document.getElementById('importmapform').style.display=disp;
       resize_scrollbox('contentscroll','1','1');
       return;
   }
   
   
 function extUrlPreview(caller) {  function extUrlPreview(caller) {
     if (document.getElementById(caller)) {      if (document.getElementById(caller)) {
         var url = document.getElementById(caller).value;          var url = document.getElementById(caller).value;
Line 4768  function showPage(current, pageId, nav, Line 4836  function showPage(current, pageId, nav,
  currentData.style.display = 'block';   currentData.style.display = 'block';
         activeTab = pageId;          activeTab = pageId;
         toggleUpload();          toggleUpload();
           toggleMap();
         if (nav == 'mainnav') {          if (nav == 'mainnav') {
             var storedpath = "$docs_folderpath";              var storedpath = "$docs_folderpath";
             if (storedpath == '') {              if (storedpath == '') {

Removed from v.1.501  
changed lines
  Added in v.1.507


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