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)(:|:)//}{/adm/wrapper/ext/}; |
$currurl =~ s{^http(|s)(:|:)//}{/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=' '; |
my ($copylink,$cutlink,$removelink,$renamelink); |
my $cutlink=' '; |
|
my $removelink=' '; |
|
|
|
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 = ' <a class="LC_docs_ext_edit" href="javascript:'. |
$editlink = ' <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','');" /> |
|
<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 == '') { |