version 1.493, 2012/08/23 14:17:13
|
version 1.523, 2012/12/07 17:04:01
|
Line 41 use Apache::lonclonecourse;
|
Line 41 use Apache::lonclonecourse;
|
use Apache::lonnavmaps; |
use Apache::lonnavmaps; |
use Apache::lonnavdisplay(); |
use Apache::lonnavdisplay(); |
use Apache::lonuserstate(); |
use Apache::lonuserstate(); |
|
use Apache::lonextresedit(); |
use HTML::Entities; |
use HTML::Entities; |
use HTML::TokeParser; |
use HTML::TokeParser; |
use GDBM_File; |
use GDBM_File; |
Line 312 sub group_import {
|
Line 313 sub group_import {
|
return &storemap($coursenum, $coursedom, $folder.'.'.$container,1); |
return &storemap($coursenum, $coursedom, $folder.'.'.$container,1); |
} |
} |
|
|
sub breadcrumbs { |
|
my ($allowed,$crstype)=@_; |
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
|
my (@folders); |
|
if ($env{'form.pagepath'}) { |
|
@folders = split('&',$env{'form.pagepath'}); |
|
} else { |
|
@folders=split('&',$env{'form.folderpath'}); |
|
} |
|
my $folderpath; |
|
my $cpinfo=''; |
|
my $plain=''; |
|
my $randompick=-1; |
|
my $isencrypted=0; |
|
my $ishidden=0; |
|
my $is_random_order=0; |
|
while (@folders) { |
|
my $folder=shift(@folders); |
|
my $foldername=shift(@folders); |
|
if ($folderpath) {$folderpath.='&';} |
|
$folderpath.=$folder.'&'.$foldername; |
|
my $url; |
|
if ($allowed) { |
|
$url = '/adm/coursedocs?folderpath='; |
|
} else { |
|
$url = '/adm/supplemental?folderpath='; |
|
} |
|
$url .= &escape($folderpath); |
|
my $name=&unescape($foldername); |
|
# randompick number, hidden, encrypted, random order, is appended with ":"s to the foldername |
|
$name=~s/\:(\d*)\:(\w*)\:(\w*):(\d*)$//; |
|
if ($1 ne '') { |
|
$randompick=$1; |
|
} else { |
|
$randompick=-1; |
|
} |
|
if ($2) { $ishidden=1; } |
|
if ($3) { $isencrypted=1; } |
|
if ($4 ne '') { $is_random_order = 1; } |
|
if ($folder eq 'supplemental') { |
|
$name = &mt('Supplemental '.$crstype.' Content'); |
|
} |
|
&Apache::lonhtmlcommon::add_breadcrumb( |
|
{'href'=>$url.$cpinfo, |
|
'title'=>$name, |
|
'text'=>$name, |
|
'no_mt'=>1, |
|
}); |
|
$plain.=$name.' > '; |
|
} |
|
$plain=~s/\>\;\s*$//; |
|
return (&Apache::lonhtmlcommon::breadcrumbs(undef,undef,0,'nohelp', |
|
undef, undef, 1 ),$randompick,$ishidden, |
|
$isencrypted,$plain,$is_random_order); |
|
} |
|
|
|
sub log_docs { |
sub log_docs { |
return &Apache::lonnet::write_log('docslog',@_); |
return &Apache::lonnet::write_log('course','docslog',@_); |
} |
} |
|
|
{ |
{ |
Line 446 sub docs_change_log {
|
Line 391 sub docs_change_log {
|
my %orderhash; |
my %orderhash; |
my $container='sequence'; |
my $container='sequence'; |
my $pathitem; |
my $pathitem; |
if ($env{'form.pagepath'}) { |
if ($env{'form.folderpath'} =~ /\:1$/) { |
$container='page'; |
$container='page'; |
$pathitem = '<input type="hidden" name="pagepath" value="'. |
|
&HTML::Entities::encode($env{'form.pagepath'},'<>&"').'" />'; |
|
} else { |
|
my $folderpath=$env{'form.folderpath'}; |
|
if ($folderpath eq '') { |
|
$folderpath = 'default&'.&escape(&mt('Main '.$crstype.' Documents')); |
|
} |
|
$pathitem = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />'; |
|
} |
} |
|
my $folderpath=$env{'form.folderpath'}; |
|
if ($folderpath eq '') { |
|
$folderpath = 'default&'.&escape(&mt('Main '.$crstype.' Documents').':::::'); |
|
} |
|
$pathitem = '<input type="hidden" name="folderpath" value="'. |
|
&HTML::Entities::encode($folderpath,'<>&"').'" />'; |
my $readfile="/uploaded/$coursedom/$coursenum/$folder.$container"; |
my $readfile="/uploaded/$coursedom/$coursenum/$folder.$container"; |
my $jumpto = $readfile; |
my $jumpto = $readfile; |
$jumpto =~ s{^/}{}; |
$jumpto =~ s{^/}{}; |
Line 464 sub docs_change_log {
|
Line 407 sub docs_change_log {
|
if ($supplementalflag) { |
if ($supplementalflag) { |
$tid = 2; |
$tid = 2; |
} |
} |
my ($breadcrumbtrail) = &breadcrumbs($allowed,$crstype); |
my ($breadcrumbtrail) = |
|
&Apache::lonhtmlcommon::docs_breadcrumbs($allowed,$crstype,1); |
$r->print($breadcrumbtrail. |
$r->print($breadcrumbtrail. |
&generate_edit_table($tid,\%orderhash,undef,$iconpath,$jumpto, |
&generate_edit_table($tid,\%orderhash,undef,$iconpath,$jumpto, |
$readfile)); |
$readfile)); |
Line 814 sub print_paste_buffer {
|
Line 758 sub print_paste_buffer {
|
} |
} |
} |
} |
$r->print('<br /><input type="submit" name="pastemarked" value="'.&mt('Paste').'" />'.$othercrs); |
$r->print('<br /><input type="submit" name="pastemarked" value="'.&mt('Paste').'" />'.$othercrs); |
if ($container eq 'page') { |
$r->print(' |
$r->print(' |
|
<input type="hidden" name="pagepath" value="'.&HTML::Entities::encode($env{'form.pagepath'},'<>&"').'" /> |
|
<input type="hidden" name="pagesymb" value="'.&HTML::Entities::encode($env{'form.pagesymb'},'<>&"').'" /> |
|
'); |
|
} else { |
|
$r->print(' |
|
<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" /> |
<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" /> |
'); |
'); |
} |
|
$r->print('</form>'); |
$r->print('</form>'); |
} else { |
} else { |
$r->print(&mt('Paste buffer contains:').' '.$buffer. |
$r->print(&mt('Paste buffer contains:').' '.$buffer. |
Line 1744 sub handle_edit_cmd {
|
Line 1681 sub handle_edit_cmd {
|
|
|
sub editor { |
sub editor { |
my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output,$crstype, |
my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output,$crstype, |
$supplementalflag,$orderhash,$iconpath)=@_; |
$supplementalflag,$orderhash,$iconpath,$pathitem)=@_; |
my $container= ($env{'form.pagepath'}) ? 'page' |
my ($randompick,$ishidden,$isencrypted,$plain,$is_random_order,$container); |
: 'sequence'; |
if ($allowed) { |
|
(my $breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain, |
my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain,$is_random_order) = |
$is_random_order,$container) = |
&breadcrumbs($allowed,$crstype); |
&Apache::lonhtmlcommon::docs_breadcrumbs($allowed,$crstype,1); |
$r->print($breadcrumbtrail); |
$r->print($breadcrumbtrail); |
|
} elsif ($env{'form.folderpath'} =~ /\:1$/) { |
|
$container = 'page'; |
|
} else { |
|
$container = 'sequence'; |
|
} |
|
|
my $jumpto = "uploaded/$coursedom/$coursenum/$folder.$container"; |
my $jumpto = "uploaded/$coursedom/$coursenum/$folder.$container"; |
|
|
Line 1829 sub editor {
|
Line 1771 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 1900 sub editor {
|
Line 1854 sub editor {
|
unless ($name) { $name=(split(/\//,$url))[-1]; } |
unless ($name) { $name=(split(/\//,$url))[-1]; } |
unless ($name) { $idx++; next; } |
unless ($name) { $idx++; next; } |
$output .= &entryline($idx,$name,$url,$folder,$allowed,$res, |
$output .= &entryline($idx,$name,$url,$folder,$allowed,$res, |
$coursenum,$crstype); |
$coursenum,$coursedom,$crstype, |
|
$pathitem,$supplementalflag,$container); |
$idx++; |
$idx++; |
$shown++; |
$shown++; |
} |
} |
&Apache::loncommon::end_data_table_count(); |
&Apache::loncommon::end_data_table_count(); |
|
|
if ($shown) { |
if (($allowed) || ($supplementalflag && $folder eq 'supplemental')) { |
$to_show = &Apache::loncommon::start_scrollbox('900px','880px','400px','contentscroll') |
my $toolslink = '<table><tr><td>' |
.&Apache::loncommon::start_data_table(undef,'contentlist'); |
.&Apache::loncommon::help_open_menu('Navigation Screen', |
if ($allowed) { |
'Navigation_Screen',undef,'RAT') |
$to_show .= &Apache::loncommon::start_data_table_header_row() |
.'</td><td class="LC_middle">'.&mt('Tools:').'</td>' |
.'<th colspan="2">'.&mt('Move').'</th>' |
.'<td align="left"><ul id="LC_toolbar">' |
.'<th>'.&mt('Actions').'</th>' |
.'<li><a href="/adm/coursedocs?forcesupplement=1" ' |
.'<th colspan="2">'.&mt('Document').'</th>'; |
.'id="LC_content_toolbar_edittoplevel" ' |
if ($folder !~ /^supplemental/) { |
.'class="LC_toolbarItem" ' |
$to_show .= '<th colspan="4">'.&mt('Settings').'</th>'; |
.'title="'.&mt('Supplemental Content Editor').'">' |
|
.'</a></li></ul></td></tr></table><br />'; |
|
if ($shown) { |
|
if ($allowed) { |
|
$to_show = &Apache::loncommon::start_scrollbox('900px','880px','400px','contentscroll') |
|
.&Apache::loncommon::start_data_table(undef,'contentlist') |
|
.&Apache::loncommon::start_data_table_header_row() |
|
.'<th colspan="2">'.&mt('Move').'</th>' |
|
.'<th>'.&mt('Actions').'</th>' |
|
.'<th colspan="2">'.&mt('Document').'</th>'; |
|
if ($folder !~ /^supplemental/) { |
|
$to_show .= '<th colspan="4">'.&mt('Settings').'</th>'; |
|
} |
|
$to_show .= &Apache::loncommon::end_data_table_header_row() |
|
.$output.' ' |
|
.&Apache::loncommon::end_data_table() |
|
.'<br style="line-height:2px;" />' |
|
.&Apache::loncommon::end_scrollbox(); |
|
} else { |
|
$to_show .= $toolslink |
|
.&Apache::loncommon::start_data_table('LC_tableOfContent') |
|
.$output.' ' |
|
.&Apache::loncommon::end_data_table(); |
|
} |
|
} else { |
|
if (!$allowed) { |
|
$to_show .= $toolslink; |
} |
} |
$to_show .= &Apache::loncommon::end_data_table_header_row(); |
$to_show .= &Apache::loncommon::start_scrollbox('400px','380px','200px','contentscroll') |
|
.'<div class="LC_info" id="contentlist">' |
|
.&mt('Currently no documents.') |
|
.'</div>' |
|
.&Apache::loncommon::end_scrollbox(); |
} |
} |
$to_show .= $output.' ' |
|
.&Apache::loncommon::end_data_table() |
|
.'<br style="line-height:2px;" />' |
|
.&Apache::loncommon::end_scrollbox(); |
|
} else { |
} else { |
$to_show .= &Apache::loncommon::start_scrollbox('400px','380px','200px','contentscroll') |
if ($shown) { |
.'<div class="LC_info" id="contentlist">' |
$to_show = '<div>' |
.&mt('Currently no documents.') |
.&Apache::loncommon::start_data_table('LC_tableOfContent') |
.'</div>' |
.$output |
.&Apache::loncommon::end_scrollbox(); |
.&Apache::loncommon::end_data_table() |
|
.'</div>'; |
|
} else { |
|
$to_show = '<div class="LC_info" id="contentlist">' |
|
.&mt('Currently no documents.') |
|
.'</div>' |
|
} |
} |
} |
my $tid = 1; |
my $tid = 1; |
if ($supplementalflag) { |
if ($supplementalflag) { |
Line 1940 sub editor {
|
Line 1927 sub editor {
|
$readfile)); |
$readfile)); |
&print_paste_buffer($r,$container,$folder,$coursedom,$coursenum); |
&print_paste_buffer($r,$container,$folder,$coursedom,$coursenum); |
} else { |
} else { |
if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) { |
|
#Function Box for Supplemental Content for users with mdc priv. |
|
my $funcname = &mt('Folder Editor'); |
|
$r->print( |
|
&Apache::loncommon::head_subbox( |
|
&Apache::lonhtmlcommon::start_funclist(). |
|
&Apache::lonhtmlcommon::add_item_funclist( |
|
'<a href="/adm/coursedocs?command=direct&forcesupplement=1&'. |
|
'supppath='.&HTML::Entities::encode($env{'form.folderpath'}).'">'. |
|
'<img src="/res/adm/pages/docs.png" alt="'.$funcname.'" class="LC_icon" />'. |
|
'<span class="LC_menubuttons_inline_text">'.$funcname.'</span></a>'). |
|
&Apache::lonhtmlcommon::end_funclist())); |
|
} |
|
$r->print($to_show); |
$r->print($to_show); |
} |
} |
return; |
return; |
Line 1973 sub process_file_upload {
|
Line 1947 sub process_file_upload {
|
my $errtext=''; |
my $errtext=''; |
my $fatal=0; |
my $fatal=0; |
my $container='sequence'; |
my $container='sequence'; |
if ($env{'form.pagepath'}) { |
if ($env{'form.folderpath'} =~ /:1$/) { |
$container='page'; |
$container='page'; |
} |
} |
($errtext,$fatal)= |
($errtext,$fatal)= |
Line 2063 sub process_file_upload {
|
Line 2037 sub process_file_upload {
|
my $archiveurl = &HTML::Entities::encode($url,'<>&"'); |
my $archiveurl = &HTML::Entities::encode($url,'<>&"'); |
my %archiveitems = ( |
my %archiveitems = ( |
folderpath => $env{'form.folderpath'}, |
folderpath => $env{'form.folderpath'}, |
pagepath => $env{'form.pagepath'}, |
|
cmd => $nextphase, |
cmd => $nextphase, |
newidx => $newidx, |
newidx => $newidx, |
position => $position, |
position => $position, |
Line 2117 sub is_supplemental_title {
|
Line 2090 sub is_supplemental_title {
|
# --------------------------------------------------------------- An entry line |
# --------------------------------------------------------------- An entry line |
|
|
sub entryline { |
sub entryline { |
my ($index,$title,$url,$folder,$allowed,$residx,$coursenum,$crstype)=@_; |
my ($index,$title,$url,$folder,$allowed,$residx,$coursenum,$coursedom, |
my ($foldertitle,$pagetitle,$renametitle); |
$crstype,$pathitem,$supplementalflag,$container)=@_; |
|
my ($foldertitle,$renametitle); |
if (&is_supplemental_title($title)) { |
if (&is_supplemental_title($title)) { |
($title,$foldertitle,$renametitle) = &Apache::loncommon::parse_supplemental_title($title); |
($title,$foldertitle,$renametitle) = &Apache::loncommon::parse_supplemental_title($title); |
$pagetitle = $foldertitle; |
|
} else { |
} else { |
$title=&HTML::Entities::encode($title,'"<>&\''); |
$title=&HTML::Entities::encode($title,'"<>&\''); |
$renametitle=$title; |
$renametitle=$title; |
$foldertitle=$title; |
$foldertitle=$title; |
$pagetitle=$title; |
|
} |
} |
|
|
my $orderidx=$LONCAPA::map::order[$index]; |
my $orderidx=$LONCAPA::map::order[$index]; |
|
|
|
|
$renametitle=~s/\\/\\\\/g; |
$renametitle=~s/\\/\\\\/g; |
$renametitle=~s/\"\;/\\\"/g; |
$renametitle=~s/\"\;/\\\"/g; |
$renametitle=~s/ /%20/g; |
$renametitle=~s/ /%20/g; |
my $line=&Apache::loncommon::start_data_table_row(); |
my $line=&Apache::loncommon::start_data_table_row(); |
my ($form_start,$form_end,$form_common); |
my ($form_start,$form_end,$form_common); |
# Edit commands |
# Edit commands |
my ($container, $type, $esc_path, $path, $symb); |
my ($type, $esc_path, $path, $symb); |
|
if ($container eq 'page') { |
|
$type = 'page'; |
|
} else { |
|
$type = 'folder'; |
|
} |
if ($env{'form.folderpath'}) { |
if ($env{'form.folderpath'}) { |
$type = 'folder'; |
|
$container = 'sequence'; |
|
$esc_path=&escape($env{'form.folderpath'}); |
$esc_path=&escape($env{'form.folderpath'}); |
$path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
$path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
# $htmlfoldername=&HTML::Entities::encode($env{'form.foldername'},'<>&"'); |
# $htmlfoldername=&HTML::Entities::encode($env{'form.foldername'},'<>&"'); |
} |
} |
if ($env{'form.pagepath'}) { |
my $isexternal; |
$type = $container = 'page'; |
if ($residx) { |
$esc_path=&escape($env{'form.pagepath'}); |
my $currurl = $url; |
$path = &HTML::Entities::encode($env{'form.pagepath'},'<>&"'); |
$currurl =~ s{^http(|s)(:|:)//}{/adm/wrapper/ext/}; |
$symb=&escape($env{'form.pagesymb'}); |
if ($currurl =~ m{^/adm/wrapper/ext/}) { |
|
$isexternal = 1; |
|
} |
|
if (!$supplementalflag) { |
|
my $path = 'uploaded/'. |
|
$env{'course.'.$env{'request.course.id'}.'.domain'}.'/'. |
|
$env{'course.'.$env{'request.course.id'}.'.num'}.'/'; |
|
$symb = &Apache::lonnet::encode_symb($path.$folder.".$container", |
|
$residx, |
|
&Apache::lonnet::declutter($currurl)); |
|
} |
} |
} |
my $cpinfo=''; |
my ($renamelink,%lt); |
if ($allowed) { |
if ($allowed) { |
my $incindex=$index+1; |
my $incindex=$index+1; |
my $selectbox=''; |
my $selectbox=''; |
Line 2175 sub entryline {
|
Line 2159 sub entryline {
|
} |
} |
$selectbox.='</select>'; |
$selectbox.='</select>'; |
} |
} |
my %lt=&Apache::lonlocal::texthash( |
%lt=&Apache::lonlocal::texthash( |
'up' => 'Move Up', |
'up' => 'Move Up', |
'dw' => 'Move Down', |
'dw' => 'Move Down', |
'rm' => 'Remove', |
'rm' => 'Remove', |
'ct' => 'Cut', |
'ct' => 'Cut', |
'rn' => 'Rename', |
'rn' => 'Rename', |
'cp' => 'Copy'); |
'cp' => 'Copy', |
|
'ex' => 'External Resource', |
|
'ed' => 'Edit', |
|
'pr' => 'Preview', |
|
'sv' => 'Save', |
|
'ul' => 'URL', |
|
'ti' => 'Title', |
|
); |
my $nocopy=0; |
my $nocopy=0; |
my $nocut=0; |
my $nocut=0; |
|
my $noremove=0; |
if ($url=~ m{^/res/.+\.(page|sequence)$}) { |
if ($url=~ m{^/res/.+\.(page|sequence)$}) { |
# no copy for published maps |
# no copy for published maps |
$nocopy=1; |
$nocopy=1; |
Line 2192 sub entryline {
|
Line 2184 sub entryline {
|
$nocopy=1; |
$nocopy=1; |
$nocut=1; |
$nocut=1; |
} |
} |
my $copylink=' '; |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cutlink=' '; |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
if ($url eq "/uploaded/$cdom/$cnum/group_allfolders.sequence") { |
|
if ($env{'form.folderpath'} =~ /^default&[^\&]+$/) { |
|
my %curr_groups = &Apache::longroup::coursegroups(); |
|
if (keys(%curr_groups) > 0) { |
|
$noremove=1; |
|
} |
|
$nocut=1; |
|
$nocopy=1; |
|
} |
|
} elsif ($url =~ m{^\Q/uploaded/$cdom/$cnum/group_folder_\E(\w+)\.sequence$}) { |
|
my $group = $1; |
|
if ($env{'form.folderpath'} =~ /^default&[^\&]+\&group_allfolders\&[^\&]+$/) { |
|
my %curr_group = &Apache::longroup::coursegroups($cdom,$cnum,$group); |
|
if (keys(%curr_group) > 0) { |
|
$noremove=1; |
|
} |
|
} |
|
$nocut=1; |
|
$nocopy=1; |
|
} elsif ($url =~ m{^\Q/adm/$cdom/$cnum/\E(\w+)/smppg$}) { |
|
my $group = $1; |
|
if ($env{'form.folderpath'} =~ /^default&[^\&]+\&group_allfolders\&[^\&]+\&\Qgroup_folder_$group\E\&[^\&]+$/) { |
|
my %curr_group = &Apache::longroup::coursegroups($cdom,$cnum,$group); |
|
my %groupsettings = &Apache::longroup::get_group_settings($curr_group{$group}); |
|
if (keys(%groupsettings) > 0) { |
|
$noremove=1; |
|
} |
|
$nocut=1; |
|
$nocopy=1; |
|
} |
|
} elsif ($env{'form.folderpath'} =~ /^default&[^\&]+\&group_allfolders\&[^\&]+\&group_folder_(\w+)\&/) { |
|
my $group = $1; |
|
my %curr_group = &Apache::longroup::coursegroups($cdom,$cnum,$group); |
|
if ($url =~ /group_boards_\Q$group\E/) { |
|
my %curr_group = &Apache::longroup::coursegroups($cdom,$cnum,$group); |
|
my %groupsettings = &Apache::longroup::get_group_settings($curr_group{$group}); |
|
if (keys(%groupsettings) > 0) { |
|
if (ref($groupsettings{'functions'}) eq 'HASH') { |
|
if ($groupsettings{'functions'}{'discussion'} eq 'on') { |
|
$noremove=1; |
|
} |
|
} |
|
} |
|
$nocut=1; |
|
$nocopy=1; |
|
} |
|
} |
|
my ($copylink,$cutlink,$removelink); |
my $skip_confirm = 0; |
my $skip_confirm = 0; |
if ( $folder =~ /^supplemental/ |
if ( $folder =~ /^supplemental/ |
|| ($url =~ m{( /smppg$ |
|| ($url =~ m{( /smppg$ |
Line 2202 sub entryline {
|
Line 2241 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','$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','$folder',$skip_confirm);" class="LC_docs_cut">$lt{'ct'}</a> |
ENDCUT |
ENDCUT |
} |
} |
|
if ($noremove) { |
|
$removelink=(<<ENDREM); |
|
<span style="visibility: hidden;">$lt{'rm'}</a> |
|
ENDREM |
|
} else { |
|
$removelink=(<<ENDREM); |
|
<a href='javascript:removeres("$esc_path","$index","$renametitle",$skip_confirm);' class="LC_docs_remove">$lt{'rm'}</a> |
|
ENDREM |
|
} |
|
unless ($isexternal) { |
|
$renamelink=(<<ENDREN); |
|
<a href='javascript:changename("$esc_path","$index","$renametitle");' 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 2230 END
|
Line 2291 END
|
$line.=(<<END); |
$line.=(<<END); |
<td> |
<td> |
<div class="LC_docs_entry_move"> |
<div class="LC_docs_entry_move"> |
<a href='/adm/coursedocs?cmd=up_$index&${type}path=$esc_path&${type}symb=$symb$cpinfo'> |
<a href='/adm/coursedocs?cmd=up_$index&${type}path=$esc_path&${type}symb=$symb'> |
<img src="${iconpath}move_up.gif" alt='$lt{'up'}' class="LC_icon" /> |
<img src="${iconpath}move_up.gif" alt="$lt{'up'}" class="LC_icon" /> |
</a> |
</a> |
</div> |
</div> |
<div class="LC_docs_entry_move"> |
<div class="LC_docs_entry_move"> |
<a href='/adm/coursedocs?cmd=down_$index&${type}path=$esc_path&${type}symb=$symb$cpinfo'> |
<a href='/adm/coursedocs?cmd=down_$index&${type}path=$esc_path&${type}symb=$symb'> |
<img src="${iconpath}move_down.gif" alt='$lt{'dw'}' class="LC_icon" /> |
<img src="${iconpath}move_down.gif" alt="$lt{'dw'}" class="LC_icon" /> |
</a> |
</a> |
</div> |
</div> |
</td> |
</td> |
Line 2246 END
|
Line 2307 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"> |
<a href='javascript:removeres("$esc_path","$index","$renametitle","$container","$symb",$skip_confirm);' class="LC_docs_remove">$lt{'rm'}</a> |
$removelink |
$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 2259 END
|
Line 2320 END
|
my ($extension)=($url=~/\.(\w+)$/); |
my ($extension)=($url=~/\.(\w+)$/); |
my $uploaded=($url=~/^\/*uploaded\//); |
my $uploaded=($url=~/^\/*uploaded\//); |
my $icon=&Apache::loncommon::icon($url); |
my $icon=&Apache::loncommon::icon($url); |
my $isfolder=0; |
my $isfolder; |
my $ispage=0; |
my $ispage; |
my $folderarg; |
my $containerarg; |
my $pagearg; |
|
my $pagefile; |
|
if ($uploaded) { |
if ($uploaded) { |
if (($extension eq 'sequence') || ($extension eq 'page')) { |
if (($extension eq 'sequence') || ($extension eq 'page')) { |
$url=~/\Q$coursenum\E\/([\/\w]+)\.\Q$extension\E$/; |
$url=~/\Q$coursenum\E\/([\/\w]+)\.\Q$extension\E$/; |
my $containerarg = $1; |
$containerarg = $1; |
if ($extension eq 'sequence') { |
if ($extension eq 'sequence') { |
$icon=$iconpath.'navmap.folder.closed.gif'; |
$icon=$iconpath.'navmap.folder.closed.gif'; |
$folderarg=$containerarg; |
|
$isfolder=1; |
$isfolder=1; |
} else { |
} else { |
$icon=$iconpath.'page.gif'; |
$icon=$iconpath.'page.gif'; |
$pagearg=$containerarg; |
|
$ispage=1; |
$ispage=1; |
} |
} |
if ($allowed) { |
if ($allowed) { |
Line 2287 END
|
Line 2344 END
|
} |
} |
} |
} |
|
|
|
my ($editlink,$extresform); |
my $orig_url = $url; |
my $orig_url = $url; |
$orig_url=~s{http(:|:)//https(:|:)//}{https$2//}; |
$orig_url=~s{http(:|:)//https(:|:)//}{https$2//}; |
my $external = ($url=~s{^http(|s)(:|:)//}{/adm/wrapper/ext/}); |
$url=~s{^http(|s)(:|:)//}{/adm/wrapper/ext/}; |
if ((!$isfolder) && ($residx) && ($folder!~/supplemental/) && (!$ispage)) { |
if (!$supplementalflag && $residx && $symb) { |
my $symb=&Apache::lonnet::symbclean( |
if ((!$isfolder) && (!$ispage)) { |
&Apache::lonnet::declutter('uploaded/'. |
(undef,undef,$url)=&Apache::lonnet::decode_symb($symb); |
$env{'course.'.$env{'request.course.id'}.'.domain'}.'/'. |
$url=&Apache::lonnet::clutter($url); |
$env{'course.'.$env{'request.course.id'}.'.num'}.'/'.$folder. |
if ($url=~/^\/*uploaded\//) { |
'.sequence'). |
$url=~/\.(\w+)$/; |
'___'.$residx.'___'. |
my $embstyle=&Apache::loncommon::fileembstyle($1); |
&Apache::lonnet::declutter($url)); |
if (($embstyle eq 'img') || ($embstyle eq 'emb')) { |
(undef,undef,$url)=&Apache::lonnet::decode_symb($symb); |
$url='/adm/wrapper'.$url; |
$url=&Apache::lonnet::clutter($url); |
} elsif ($embstyle eq 'ssi') { |
if ($url=~/^\/*uploaded\//) { |
#do nothing with these |
$url=~/\.(\w+)$/; |
} elsif ($url!~/\.(sequence|page)$/) { |
my $embstyle=&Apache::loncommon::fileembstyle($1); |
$url='/adm/coursedocs/showdoc'.$url; |
if (($embstyle eq 'img') || ($embstyle eq 'emb')) { |
} |
$url='/adm/wrapper'.$url; |
} elsif ($url=~m|^/ext/|) { |
} elsif ($embstyle eq 'ssi') { |
$url='/adm/wrapper'.$url; |
#do nothing with these |
|
} elsif ($url!~/\.(sequence|page)$/) { |
|
$url='/adm/coursedocs/showdoc'.$url; |
|
} |
} |
} elsif ($url=~m|^/ext/|) { |
if (&Apache::lonnet::symbverify($symb,$url)) { |
$url='/adm/wrapper'.$url; |
$url.=(($url=~/\?/)?'&':'?').'symb='.&escape($symb); |
$external = 1; |
} else { |
} |
$url=''; |
if (&Apache::lonnet::symbverify($symb,$url)) { |
} |
$url.=(($url=~/\?/)?'&':'?').'symb='.&escape($symb); |
|
} else { |
|
$url=''; |
|
} |
|
if ($container eq 'page') { |
|
my $symb=$env{'form.pagesymb'}; |
|
|
|
$url=&Apache::lonnet::clutter((&Apache::lonnet::decode_symb($symb))[2]); |
|
$url.=(($url=~/\?/)?'&':'?').'symb='.&escape($symb); |
|
} |
} |
} |
} |
my ($rand_pick_text,$rand_order_text); |
my ($rand_pick_text,$rand_order_text); |
if ($isfolder || $extension eq 'sequence') { |
if ($isfolder || $ispage || $extension eq 'sequence' || $extension eq 'page') { |
my $foldername=&escape($foldertitle); |
my $foldername=&escape($foldertitle); |
my $folderpath=$env{'form.folderpath'}; |
my $folderpath=$env{'form.folderpath'}; |
if ($folderpath) { $folderpath.='&' }; |
if ($folderpath) { $folderpath.='&' }; |
|
if (!$allowed && $supplementalflag) { |
|
$folderpath.=$containerarg.'&'.$foldername; |
|
$url.='folderpath='.&escape($folderpath); |
|
} else { |
# Append randompick number, hidden, and encrypted with ":" to foldername, |
# Append randompick number, hidden, and encrypted with ":" to foldername, |
# so it gets transferred between levels |
# so it gets transferred between levels |
$folderpath.=$folderarg.'&'.$foldername.':'.(&LONCAPA::map::getparameter($orderidx, |
$folderpath.=$containerarg.'&'.$foldername. |
|
':'.(&LONCAPA::map::getparameter($orderidx, |
'parameter_randompick'))[0] |
'parameter_randompick'))[0] |
.':'.((&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, |
.':'.((&LONCAPA::map::getparameter($orderidx, |
'parameter_randomorder'))[0]=~/^yes$/i); |
'parameter_randomorder'))[0]=~/^yes$/i) |
$url.='folderpath='.&escape($folderpath).$cpinfo; |
.':'.$ispage; |
my $rpicknum = (&LONCAPA::map::getparameter($orderidx, |
$url.='folderpath='.&escape($folderpath); |
'parameter_randompick'))[0]; |
my $rpicknum = (&LONCAPA::map::getparameter($orderidx, |
my $rpckchk; |
'parameter_randompick'))[0]; |
if ($rpicknum) { |
my $rpckchk; |
$rpckchk = ' checked="checked"'; |
if ($rpicknum) { |
} |
$rpckchk = ' checked="checked"'; |
my $formname = 'edit_rpick_'.$orderidx; |
} |
$rand_pick_text = |
my $formname = 'edit_rpick_'.$orderidx; |
|
$rand_pick_text = |
'<form action="/adm/coursedocs" method="post" name="'.$formname.'">'."\n". |
'<form action="/adm/coursedocs" method="post" name="'.$formname.'">'."\n". |
$form_common."\n". |
$form_common."\n". |
'<span class="LC_nobreak"><label><input type="checkbox" name="randpickon_'.$orderidx.'" id="rpick_'.$orderidx.'" onclick="'."updatePick(this.form,'$orderidx','check');".'"'.$rpckchk.' /> '.&mt('Randomly Pick').'</label><input type="hidden" name="randompick_'.$orderidx.'" id="rpicknum_'.$orderidx.'" value="'.$rpicknum.'" />'; |
'<span class="LC_nobreak"><label><input type="checkbox" name="randpickon_'.$orderidx.'" id="rpick_'.$orderidx.'" onclick="'."updatePick(this.form,'$orderidx','check');".'"'.$rpckchk.' /> '.&mt('Randomly Pick').'</label><input type="hidden" name="randompick_'.$orderidx.'" id="rpicknum_'.$orderidx.'" value="'.$rpicknum.'" />'; |
if ($rpicknum ne '') { |
if ($rpicknum ne '') { |
$rand_pick_text .= ': <a href="javascript:updatePick('."document.$formname,'$orderidx','link'".')">'.$rpicknum.'</a>'; |
$rand_pick_text .= ': <a href="javascript:updatePick('."document.$formname,'$orderidx','link'".')">'.$rpicknum.'</a>'; |
} |
} |
$rand_pick_text .= '</span></form>'; |
$rand_pick_text .= '</span></form>'; |
my $ro_set= |
my $ro_set= |
((&LONCAPA::map::getparameter($orderidx,'parameter_randomorder'))[0]=~/^yes$/i?' checked="checked"':''); |
((&LONCAPA::map::getparameter($orderidx,'parameter_randomorder'))[0]=~/^yes$/i?' checked="checked"':''); |
$rand_order_text = |
$rand_order_text = |
$form_start. |
$form_start. |
$form_common.' |
$form_common.' |
<span class="LC_nobreak"><label><input type="checkbox" name="randomorder_'.$orderidx.'" onclick="'."this.form.changeparms.value='randomorder';this.form.submit()".'" '.$ro_set.' /> '.&mt('Random Order').' </label></span></form>'; |
<span class="LC_nobreak"><label><input type="checkbox" name="randomorder_'.$orderidx.'" onclick="'."this.form.changeparms.value='randomorder';this.form.submit()".'" '.$ro_set.' /> '.&mt('Random Order').' </label></span></form>'; |
|
} |
|
} elsif ($supplementalflag && !$allowed) { |
|
$url .= ($url =~ /\?/) ? '&':'?'; |
|
$url .= 'folderpath='.&HTML::Entities::encode($esc_path,'<>&"'); |
|
if ($title) { |
|
$url .= '&title='.&HTML::Entities::encode($renametitle,'<>&"'); |
|
} |
|
if ($isexternal && $orderidx) { |
|
$url .= '&idx='.$orderidx; |
|
} |
} |
} |
if ($ispage) { |
my ($tdalign,$tdwidth); |
my $pagename=&escape($pagetitle); |
if ($allowed) { |
my $pagepath; |
my $fileloc = |
my $folderpath=$env{'form.folderpath'}; |
&Apache::lonnet::declutter(&Apache::lonnet::filelocation('',$orig_url)); |
if ($folderpath) { $pagepath = $folderpath.'&' }; |
if ($isexternal) { |
$pagepath.=$pagearg.'&'.$pagename; |
($editlink,$extresform) = |
my $symb=$env{'form.pagesymb'}; |
&Apache::lonextresedit::extedit_form(0,$residx,$orig_url,$title,$pathitem); |
if (!$symb) { |
} elsif (!$isfolder && !$ispage) { |
my $path='uploaded/'. |
my ($cfile,$home,$switchserver,$forceedit,$forceview) = |
$env{'course.'.$env{'request.course.id'}.'.domain'}.'/'. |
&Apache::lonnet::can_edit_resource($fileloc,$coursenum,$coursedom,$orig_url); |
$env{'course.'.$env{'request.course.id'}.'.num'}.'/'; |
if (($cfile ne '') && ($symb ne '' || $supplementalflag)) { |
$symb=&Apache::lonnet::encode_symb($path.$folder.'.sequence', |
my $jscall = |
$residx, |
&Apache::lonhtmlcommon::jump_to_editres($cfile,$home, |
$path.$pagearg.'.page'); |
$switchserver, |
} |
$forceedit, |
$url.='pagepath='.&escape($pagepath). |
undef,$symb, |
'&pagesymb='.&escape($symb).$cpinfo; |
&escape($env{'form.folderpath'}), |
} |
$renametitle); |
if (($external) && ($allowed)) { |
if ($jscall) { |
my $form = ($folder =~ /^default/)? 'newext' : 'supnewext'; |
$editlink = '<a class="LC_docs_ext_edit" href="javascript:'. |
$external = ' <a class="LC_docs_ext_edit" href="javascript:edittext(\''.$form.'\',\''.$residx.'\',\''.&escape($title).'\',\''.&escape($orig_url).'\');" >'.&mt('Edit').'</a>'; |
$jscall.'" >'.&mt('Edit').'</a> '."\n"; |
} else { |
} |
undef($external); |
} |
|
} |
|
$tdalign = ' align="right" valign="top"'; |
|
$tdwidth = ' width="80%"'; |
} |
} |
my $reinit; |
my $reinit; |
if ($crstype eq 'Community') { |
if ($crstype eq 'Community') { |
$reinit = &mt('(re-initialize community to access)'); |
$reinit = &mt('(re-initialize community to access)'); |
} else { |
} else { |
$reinit = &mt('(re-initialize course to access)'); |
$reinit = &mt('(re-initialize course to access)'); |
} |
} |
$line.='<td>'; |
$line.='<td class="LC_docs_entry_commands"'.$tdalign.'><span class="LC_nobreak">'.$editlink.$renamelink; |
if (($url=~m{/adm/(coursedocs|supplemental)}) || (!$allowed && $url)) { |
if (($url=~m{/adm/(coursedocs|supplemental)}) || (!$allowed && $url)) { |
$line.='<a href="'.$url.'"><img src="'.$icon.'" alt="" class="LC_icon" /></a>'; |
$line.='<a href="'.$url.'"><img src="'.$icon.'" alt="" class="LC_icon" /></a>'; |
} elsif ($url) { |
} elsif ($url) { |
Line 2403 $form_common.'
|
Line 2468 $form_common.'
|
} else { |
} else { |
$line.='<img src="'.$icon.'" alt="" class="LC_icon" />'; |
$line.='<img src="'.$icon.'" alt="" class="LC_icon" />'; |
} |
} |
$line.='</td><td>'; |
$line.='</span></td><td'.$tdwidth.'>'; |
if (($url=~m{/adm/(coursedocs|supplemental)}) || (!$allowed && $url)) { |
if (($url=~m{/adm/(coursedocs|supplemental)}) || (!$allowed && $url)) { |
$line.='<a href="'.$url.'">'.$title.'</a>'; |
$line.='<a href="'.$url.'">'.$title.'</a>'; |
} elsif ($url) { |
} elsif ($url) { |
Line 2412 $form_common.'
|
Line 2477 $form_common.'
|
} else { |
} else { |
$line.=$title.' <span class="LC_docs_reinit_warn">'.$reinit.'</span>'; |
$line.=$title.' <span class="LC_docs_reinit_warn">'.$reinit.'</span>'; |
} |
} |
$line.=$external."</td>"; |
$line.="$extresform</td>"; |
$rand_pick_text = ' ' if ($rand_pick_text eq ''); |
$rand_pick_text = ' ' if ($rand_pick_text eq ''); |
$rand_order_text = ' ' if ($rand_order_text eq ''); |
$rand_order_text = ' ' if ($rand_order_text eq ''); |
if (($allowed) && ($folder!~/^supplemental/)) { |
if (($allowed) && ($folder!~/^supplemental/)) { |
Line 2443 ENDPARMS
|
Line 2508 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 2538 sub checkonthis {
|
Line 2627 sub checkonthis {
|
$r->print('<span class="LC_error">'.&mt('connection down').'</span>'); |
$r->print('<span class="LC_error">'.&mt('connection down').'</span>'); |
} elsif ($result eq 'not_found') { |
} elsif ($result eq 'not_found') { |
unless ($url=~/\$/) { |
unless ($url=~/\$/) { |
$r->print('<span class="LC_error">'.&mt('not found').'</b></span>'); |
$r->print('<span class="LC_error">'.&mt('not found').'</span>'); |
} else { |
} else { |
$r->print('<span class="LC_error">'.&mt('unable to verify variable URL').'</span>'); |
$r->print('<span class="LC_error">'.&mt('unable to verify variable URL').'</span>'); |
} |
} |
Line 2584 sub list_symbs {
|
Line 2673 sub list_symbs {
|
$r->print(&Apache::loncommon::start_data_table_row(). |
$r->print(&Apache::loncommon::start_data_table_row(). |
'<td>'.$res->compTitle().'</td>'. |
'<td>'.$res->compTitle().'</td>'. |
'<td>'.$res->symb().'</td>'. |
'<td>'.$res->symb().'</td>'. |
&Apache::loncommon::start_data_table_row()); |
&Apache::loncommon::end_data_table_row()); |
$count ++; |
$count ++; |
} |
} |
if (!$count) { |
if (!$count) { |
Line 2594 sub list_symbs {
|
Line 2683 sub list_symbs {
|
} |
} |
$r->print(&Apache::loncommon::end_data_table()); |
$r->print(&Apache::loncommon::end_data_table()); |
} |
} |
|
$r->print(&endContentScreen()); |
} |
} |
|
|
|
|
Line 2624 sub verifycontent {
|
Line 2714 sub verifycontent {
|
} |
} |
&untiehash(); |
&untiehash(); |
$r->print('<p class="LC_success">'.&mt('Done').'</p>'); |
$r->print('<p class="LC_success">'.&mt('Done').'</p>'); |
|
$r->print(&endContentScreen()); |
} |
} |
|
|
|
|
Line 2703 sub checkversions {
|
Line 2794 sub checkversions {
|
if ($env{'form.timerange'} eq 'all') { |
if ($env{'form.timerange'} eq 'all') { |
# show all documents |
# show all documents |
$header=&mt('All Documents in '.$crstype); |
$header=&mt('All Documents in '.$crstype); |
$allsel=1; |
$allsel=' selected="selected"'; |
foreach my $key (keys(%hash)) { |
foreach my $key (keys(%hash)) { |
if ($key=~/^ids\_(\/res\/.+)$/) { |
if ($key=~/^ids\_(\/res\/.+)$/) { |
my $src=$1; |
my $src=$1; |
Line 2724 sub checkversions {
|
Line 2815 sub checkversions {
|
.&mt('seconds'); |
.&mt('seconds'); |
if ($env{'form.timerange'}==-1) { |
if ($env{'form.timerange'}==-1) { |
$seltext='since start of course'; |
$seltext='since start of course'; |
$startsel='selected'; |
$startsel=' selected="selected"'; |
$env{'form.timerange'}=time; |
$env{'form.timerange'}=time; |
} |
} |
$starttime=time-$env{'form.timerange'}; |
$starttime=time-$env{'form.timerange'}; |
if ($env{'form.timerange'}==2592000) { |
if ($env{'form.timerange'}==2592000) { |
$seltext=&mt('during the last month').' ('.&Apache::lonlocal::locallocaltime($starttime).')'; |
$seltext=&mt('during the last month').' ('.&Apache::lonlocal::locallocaltime($starttime).')'; |
$monthsel='selected'; |
$monthsel=' selected="selected"'; |
} elsif ($env{'form.timerange'}==604800) { |
} elsif ($env{'form.timerange'}==604800) { |
$seltext=&mt('during the last week').' ('.&Apache::lonlocal::locallocaltime($starttime).')'; |
$seltext=&mt('during the last week').' ('.&Apache::lonlocal::locallocaltime($starttime).')'; |
$weeksel='selected'; |
$weeksel=' selected="selected"'; |
} elsif ($env{'form.timerange'}==86400) { |
} elsif ($env{'form.timerange'}==86400) { |
$seltext=&mt('since yesterday').' ('.&Apache::lonlocal::locallocaltime($starttime).')'; |
$seltext=&mt('since yesterday').' ('.&Apache::lonlocal::locallocaltime($starttime).')'; |
$daysel='selected'; |
$daysel=' selected="selected"'; |
} |
} |
$header=&mt('Content changed').' '.$seltext; |
$header=&mt('Content changed').' '.$seltext; |
} else { |
} else { |
Line 2774 sub checkversions {
|
Line 2865 sub checkversions {
|
<fieldset> |
<fieldset> |
<legend>$lt{'cd'}</legend> |
<legend>$lt{'cd'}</legend> |
<select name="timerange"> |
<select name="timerange"> |
<option value='all' $allsel>$lt{'al'}</option> |
<option value='all'$allsel>$lt{'al'}</option> |
<option value="-1" $startsel>$lt{'st'}</option> |
<option value="-1"$startsel>$lt{'st'}</option> |
<option value="2592000" $monthsel>$lt{'lm'}</option> |
<option value="2592000"$monthsel>$lt{'lm'}</option> |
<option value="604800" $weeksel>$lt{'lw'}</option> |
<option value="604800"$weeksel>$lt{'lw'}</option> |
<option value="86400" $daysel>$lt{'sy'}</option> |
<option value="86400"$daysel>$lt{'sy'}</option> |
</select> |
</select> |
<input type="submit" name="display" value="$lt{'sd'}" /> |
<input type="submit" name="display" value="$lt{'sd'}" /> |
</fieldset> |
</fieldset> |
Line 2794 $lt{'sc'}: <input type="submit" name="se
|
Line 2885 $lt{'sc'}: <input type="submit" name="se
|
<hr /> |
<hr /> |
<h4>$lt{'vers'}</h4> |
<h4>$lt{'vers'}</h4> |
<input type="submit" name="setversions" value="$lt{'save'}" /> |
<input type="submit" name="setversions" value="$lt{'save'}" /> |
<table border="0"> |
|
ENDHEADERS |
ENDHEADERS |
#number of columns for version history |
#number of columns for version history |
my $num_ver_col = 1; |
|
$r->print( |
$r->print( |
&Apache::loncommon::start_data_table(). |
&Apache::loncommon::start_data_table(). |
&Apache::loncommon::start_data_table_header_row(). |
&Apache::loncommon::start_data_table_header_row(). |
'<th>'.&mt('Resources').'</th>'. |
'<th>'.&mt('Resources').'</th>'. |
"<th>$lt{'mr'}</th>". |
"<th>$lt{'mr'}</th>". |
"<th>$lt{'ve'}</th>". |
"<th>$lt{'ve'}</th>". |
"<th>$lt{'vu'}</th>". |
"<th>$lt{'vu'}</th>". |
'<th colspan="'.$num_ver_col.'">'.&mt('History').'</th>'. |
'<th>'.&mt('History').'</th>'. |
'</b>'); |
&Apache::loncommon::end_data_table_header_row() |
|
); |
foreach my $key (sort(keys(%changes))) { |
foreach my $key (sort(keys(%changes))) { |
if ($changes{$key}>$starttime) { |
#excludes not versionable problems from resource version history: |
my ($root,$extension)=($key=~/^(.*)\.(\w+)$/); |
next unless ($changes{$key}>$starttime && $key !~ /^\/res\/lib\/templates/); |
my $currentversion=&Apache::lonnet::getversion($key); |
my ($root,$extension)=($key=~/^(.*)\.(\w+)$/); |
if ($currentversion<0) { |
my $currentversion=&Apache::lonnet::getversion($key); |
$currentversion='<span class="LC_error">'.&mt('Could not be determined.').'</span>'; |
if ($currentversion<0) { |
} |
$currentversion='<span class="LC_error">'.&mt('Could not be determined.').'</span>'; |
my $linkurl=&Apache::lonnet::clutter($key); |
} |
|
my $linkurl=&Apache::lonnet::clutter($key); |
$r->print( |
$r->print( |
&Apache::loncommon::end_data_table_header_row(). |
|
&Apache::loncommon::start_data_table_row(). |
&Apache::loncommon::start_data_table_row(). |
'<td><b>'.&Apache::lonnet::gettitle($linkurl).'</b><br>'. |
'<td><b>'.&Apache::lonnet::gettitle($linkurl).'</b><br />'. |
'<a href="'.$linkurl.'" target="cat">'.$linkurl.'</a></td>'. |
'<a href="'.$linkurl.'" target="cat">'.$linkurl.'</a></td>'. |
'<td align="right">'.$currentversion.'<span class="LC_fontsize_medium"><br>('. |
'<td align="right">'.$currentversion.'<span class="LC_fontsize_medium"><br />('. |
&Apache::lonlocal::locallocaltime(&Apache::lonnet::metadata($root.'.'.$extension,'lastrevisiondate')).')</span></td>'. |
&Apache::lonlocal::locallocaltime(&Apache::lonnet::metadata($root.'.'.$extension,'lastrevisiondate')).')</span></td>'. |
'<td align="right">'); |
'<td align="right">' |
# Used in course |
); |
my $usedversion=$hash{'version_'.$linkurl}; |
# Used in course |
if (($usedversion) && ($usedversion ne 'mostrecent')) { |
my $usedversion=$hash{'version_'.$linkurl}; |
if($usedversion != $currentversion){ |
if (($usedversion) && ($usedversion ne 'mostrecent')) { |
|
if ($usedversion != $currentversion) { |
$r->print('<span class="LC_warning">'.$usedversion.'</span>'); |
$r->print('<span class="LC_warning">'.$usedversion.'</span>'); |
}else{ |
} else { |
$r->print($usedversion); |
$r->print($usedversion); |
} |
} |
} else { |
|
$r->print($currentversion); |
|
} |
|
$r->print('</td><td title="'.$lt{'vu'}.'">'); |
|
# Set version |
|
$r->print(&Apache::loncommon::select_form($setversions{$linkurl}, |
|
'set_version_'.$linkurl, |
|
{'select_form_order' => |
|
['',1..$currentversion,'mostrecent'], |
|
'' => '', |
|
'mostrecent' => &mt('most recent'), |
|
map {$_,$_} (1..$currentversion)})); |
|
my $lastold=1; |
|
for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) { |
|
my $url=$root.'.'.$prevvers.'.'.$extension; |
|
if (&Apache::lonnet::metadata($url,'lastrevisiondate')< |
|
$starttime) { |
|
$lastold=$prevvers; |
|
} |
|
} |
|
# |
|
# Code to figure out how many version entries should go in |
|
# each of the four columns |
|
my $entries_per_col = 0; |
|
my $num_entries = ($currentversion-$lastold); |
|
if ($num_entries % $num_ver_col == 0) { |
|
$entries_per_col = $num_entries/$num_ver_col; |
|
} else { |
} else { |
$entries_per_col = $num_entries/$num_ver_col + 1; |
$r->print($currentversion); |
} |
} |
my $entries_count = 0; |
$r->print('</td><td title="'.$lt{'vu'}.'">'); |
$r->print('<td valign="top"><span class="LC_fontsize_medium">'); |
# Set version |
my $cols_output = 1; |
$r->print(&Apache::loncommon::select_form( |
for (my $prevvers=$lastold;$prevvers<$currentversion;$prevvers++) { |
$setversions{$linkurl}, |
my $url=$root.'.'.$prevvers.'.'.$extension; |
'set_version_'.$linkurl, |
$r->print('<span class="LC_nobreak"><a href="'.&Apache::lonnet::clutter($url). |
{'select_form_order' => ['',1..$currentversion,'mostrecent'], |
'">'.&mt('Version').' '.$prevvers.'</a> ('. |
'' => '', |
&Apache::lonlocal::locallocaltime( |
'mostrecent' => &mt('most recent'), |
&Apache::lonnet::metadata($url, |
map {$_,$_} (1..$currentversion)})); |
'lastrevisiondate') |
my $lastold=1; |
). |
for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) { |
')'); |
my $url=$root.'.'.$prevvers.'.'.$extension; |
if (&Apache::loncommon::fileembstyle($extension) eq 'ssi') { |
if (&Apache::lonnet::metadata($url,'lastrevisiondate')<$starttime) { |
$r->print(' <a href="/adm/diff?filename='. |
$lastold=$prevvers; |
&Apache::lonnet::clutter($root.'.'.$extension). |
} |
'&versionone='.$prevvers. |
} |
'" target="diffs">'.&mt('Diffs').'</a>'); |
$r->print('</td>'); |
} |
# List all available versions |
$r->print('</span><br />'); |
$r->print('<td valign="top"><span class="LC_fontsize_medium">'); |
if (++$entries_count % $entries_per_col == 0) { |
for (my $prevvers=$lastold;$prevvers<$currentversion;$prevvers++) { |
$r->print('</span></td>'); |
my $url=$root.'.'.$prevvers.'.'.$extension; |
if ($cols_output != $num_ver_col) { |
$r->print( |
$r->print('<td valign="top"><span class="LC_fontsize_medium">'); |
'<span class="LC_nobreak">' |
$cols_output++; |
.'<a href="'.&Apache::lonnet::clutter($url).'">' |
} |
.&mt('Version [_1]',$prevvers).'</a>' |
} |
.' ('.&Apache::lonlocal::locallocaltime( |
} |
&Apache::lonnet::metadata($url,'lastrevisiondate')) |
while($cols_output++ < $num_ver_col) { |
.')'); |
$r->print('</span></td><td>'); |
if (&Apache::loncommon::fileembstyle($extension) eq 'ssi') { |
|
$r->print( |
|
' <a href="/adm/diff?filename='. |
|
&Apache::lonnet::clutter($root.'.'.$extension). |
|
&HTML::Entities::encode('&versionone='.$prevvers,'"<>&'). |
|
'" target="diffs">'.&mt('Diffs').'</a>'); |
} |
} |
} |
$r->print('</span><br />'); |
|
} |
|
$r->print('</span></td>'.&Apache::loncommon::end_data_table_row()); |
} |
} |
$r->print('</td>'.&Apache::loncommon::end_data_table_row(). |
$r->print( |
&Apache::loncommon::end_data_table(). |
&Apache::loncommon::end_data_table(). |
'<input type="submit" name="setversions" value="'.$lt{'save'}.'" />'); |
'<input type="submit" name="setversions" value="'.$lt{'save'}.'" />'. |
|
'</form>' |
|
); |
|
|
&untiehash(); |
&untiehash(); |
|
$r->print(&endContentScreen()); |
} |
} |
|
|
sub mark_hash_old { |
sub mark_hash_old { |
Line 2929 sub changewarning {
|
Line 3003 sub changewarning {
|
my $pathvar='folderpath'; |
my $pathvar='folderpath'; |
my $path=&escape($env{'form.folderpath'}); |
my $path=&escape($env{'form.folderpath'}); |
if (!defined($url)) { |
if (!defined($url)) { |
if (defined($env{'form.pagepath'})) { |
|
$pathvar='pagepath'; |
|
$path=&escape($env{'form.pagepath'}); |
|
$path.='&pagesymb='.&escape($env{'form.pagesymb'}); |
|
} |
|
$url='/adm/coursedocs?'.$pathvar.'='.$path; |
$url='/adm/coursedocs?'.$pathvar.'='.$path; |
} |
} |
my $course_type = &Apache::loncommon::course_type(); |
my $course_type = &Apache::loncommon::course_type(); |
Line 2974 sub init_breadcrumbs {
|
Line 3043 sub init_breadcrumbs {
|
sub create_list_elements { |
sub create_list_elements { |
my @formarr = @_; |
my @formarr = @_; |
my $list = ''; |
my $list = ''; |
for my $button (@formarr){ |
foreach my $button (@formarr){ |
for my $picture(keys %$button) { |
foreach my $picture (keys(%{$button})) { |
$list .= &Apache::lonhtmlcommon::htmltag('li', $picture.' '.$button->{$picture}, {class => 'LC_menubuttons_inline_text'}); |
$list .= &Apache::lonhtmlcommon::htmltag('li', $picture.' '.$button->{$picture}, {class => 'LC_menubuttons_inline_text', id => ''}); |
} |
} |
} |
} |
return $list; |
return $list; |
Line 3046 sub handler {
|
Line 3115 sub handler {
|
'Adding_External_Resource','Navigate_Content', |
'Adding_External_Resource','Navigate_Content', |
'Adding_Folders','Docs_Overview', 'Load_Map', |
'Adding_Folders','Docs_Overview', 'Load_Map', |
'Supplemental','Score_Upload_Form','Adding_Pages', |
'Supplemental','Score_Upload_Form','Adding_Pages', |
'Importing_LON-CAPA_Resource','Uploading_From_Harddrive', |
'Importing_LON-CAPA_Resource','Importing_IMS_Course', |
|
'Uploading_From_Harddrive', |
'Check_Resource_Versions','Verify_Content') { |
'Check_Resource_Versions','Verify_Content') { |
$help{$topic}=&Apache::loncommon::help_open_topic('Docs_'.$topic); |
$help{$topic}=&Apache::loncommon::help_open_topic('Docs_'.$topic); |
} |
} |
Line 3106 sub handler {
|
Line 3176 sub handler {
|
# Get the parameters that may be needed |
# Get the parameters that may be needed |
# |
# |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['folderpath','pagepath', |
['folderpath', |
'pagesymb','forcesupplement','forcestandard', |
'forcesupplement','forcestandard', |
'tools','symb','command']); |
'tools','symb','command','supppath']); |
|
|
# standard=1: this is a "new-style" course with an uploaded map as top level |
# standard=1: this is a "new-style" course with an uploaded map as top level |
# standard=2: this is a "old-style" course, and there is nothing we can do |
# standard=2: this is a "old-style" course, and there is nothing we can do |
Line 3122 sub handler {
|
Line 3192 sub handler {
|
|
|
|
|
my $supplementalflag=($env{'form.folderpath'}=~/^supplemental/); |
my $supplementalflag=($env{'form.folderpath'}=~/^supplemental/); |
if (($env{'form.folderpath'}=~/^default/) || $env{'form.folderpath'} eq "" || ($env{'form.pagepath'})) { |
if (($env{'form.folderpath'}=~/^default/) || ($env{'form.folderpath'} eq "")) { |
$supplementalflag=0; |
$supplementalflag=0; |
} |
} |
if ($env{'form.forcesupplement'}) { $supplementalflag=1; } |
if ($env{'form.forcesupplement'}) { $supplementalflag=1; } |
Line 3137 sub handler {
|
Line 3207 sub handler {
|
my $addentries = {}; |
my $addentries = {}; |
my $container; |
my $container; |
my $containertag; |
my $containertag; |
my $uploadtag; |
my $pathitem; |
|
|
# Do we directly jump somewhere? |
# Do we directly jump somewhere? |
|
|
if ($env{'form.command'} eq 'direct') { |
if ($env{'form.command'} eq 'direct') { |
my ($mapurl,$id,$resurl); |
my ($mapurl,$id,$resurl); |
if ($env{'form.symb'} ne '') { |
if ($env{'form.symb'} ne '') { |
($mapurl,$id,$resurl) = &Apache::lonnet::decode_symb($env{'form.symb'}); |
$env{'form.folderpath'}= |
if ($resurl=~/\.(sequence|page)$/) { |
&Apache::loncommon::symb_to_docspath($env{'form.symb'}); |
$mapurl=$resurl; |
|
} elsif ($resurl eq 'adm/navmaps') { |
|
$mapurl=$env{'course.'.$env{'request.course.id'}.'.url'}; |
|
} |
|
my $mapresobj; |
|
my $navmap = Apache::lonnavmaps::navmap->new(); |
|
if (ref($navmap)) { |
|
$mapresobj = $navmap->getResourceByUrl($mapurl); |
|
} |
|
$mapurl=~s{^.*/([^/]+)\.(\w+)$}{$1}; |
|
my $type=$2; |
|
my $path; |
|
if (ref($mapresobj)) { |
|
my $pcslist = $mapresobj->map_hierarchy(); |
|
if ($pcslist ne '') { |
|
foreach my $pc (split(/,/,$pcslist)) { |
|
next if ($pc <= 1); |
|
my $res = $navmap->getByMapPc($pc); |
|
if (ref($res)) { |
|
my $thisurl = $res->src(); |
|
$thisurl=~s{^.*/([^/]+)\.\w+$}{$1}; |
|
my $thistitle = $res->title(); |
|
$path .= '&'. |
|
&Apache::lonhtmlcommon::entity_encode($thisurl).'&'. |
|
&Apache::lonhtmlcommon::entity_encode($thistitle). |
|
':'.$res->randompick(). |
|
':'.$res->randomout(). |
|
':'.$res->encrypted(). |
|
':'.$res->randomorder(); |
|
} |
|
} |
|
} |
|
$path .= '&'.&Apache::lonhtmlcommon::entity_encode($mapurl).'&'. |
|
&Apache::lonhtmlcommon::entity_encode($mapresobj->title()). |
|
':'.$mapresobj->randompick(). |
|
':'.$mapresobj->randomout(). |
|
':'.$mapresobj->encrypted(). |
|
':'.$mapresobj->randomorder(); |
|
} else { |
|
my $maptitle = &Apache::lonnet::gettitle($mapurl); |
|
$path = '&default&...::::'. |
|
'&'.&Apache::lonhtmlcommon::entity_encode($mapurl).'&'. |
|
&Apache::lonhtmlcommon::entity_encode($maptitle).'::::'; |
|
} |
|
$path = 'default&'. |
|
&Apache::lonhtmlcommon::entity_encode('Main Course Documents'). |
|
$path; |
|
if ($type eq 'sequence') { |
|
$env{'form.folderpath'}=$path; |
|
$env{'form.pagepath'}=''; |
|
} else { |
|
$env{'form.pagepath'}=$path; |
|
$env{'form.folderpath'}=''; |
|
} |
|
} elsif ($env{'form.supppath'} ne '') { |
} elsif ($env{'form.supppath'} ne '') { |
$env{'form.folderpath'}=$env{'form.supppath'}; |
$env{'form.folderpath'}=$env{'form.supppath'}; |
} |
} |
} elsif ($env{'form.command'} eq 'editdocs') { |
} elsif ($env{'form.command'} eq 'editdocs') { |
$env{'form.folderpath'} = 'default&'. |
$env{'form.folderpath'} = 'default&'. |
&Apache::lonhtmlcommon::entity_encode('Main Course Content'); |
&Apache::lonhtmlcommon::entity_encode('Main Course Content'). |
$env{'form.pagepath'}=''; |
':::::'; |
} elsif ($env{'form.command'} eq 'editsupp') { |
} elsif ($env{'form.command'} eq 'editsupp') { |
$env{'form.folderpath'} = 'default&'. |
$env{'form.folderpath'} = 'default&'. |
&Apache::lonhtmlcommon::entity_encode('Supplemental Content'); |
&Apache::lonhtmlcommon::entity_encode('Supplemental Content'); |
$env{'form.pagepath'}=''; |
|
} |
} |
|
|
# Where do we store these for when we come back? |
# Where do we store these for when we come back? |
Line 3219 sub handler {
|
Line 3234 sub handler {
|
$stored_folderpath='docs_sup_folderpath'; |
$stored_folderpath='docs_sup_folderpath'; |
} |
} |
|
|
# No folderpath, no pagepath, see if we have something stored |
# No folderpath, and in edit mode, see if we have something stored |
if ((!$env{'form.folderpath'}) && (!$env{'form.pagepath'})) { |
if ((!$env{'form.folderpath'}) && $allowed) { |
&Apache::loncommon::restore_course_settings($stored_folderpath, |
&Apache::loncommon::restore_course_settings($stored_folderpath, |
{'folderpath' => 'scalar'}); |
{'folderpath' => 'scalar'}); |
|
unless (&unescape($env{'form.folderpath'}) =~ m{^(default|supplemental)&}) { |
|
undef($env{'form.folderpath'}); |
|
} |
} |
} |
|
|
# If we are not allowed to make changes, all we can see are supplemental docs |
# If we are not allowed to make changes, all we can see are supplemental docs |
if (!$allowed) { |
if (!$allowed) { |
$env{'form.pagepath'}=''; |
|
unless ($env{'form.folderpath'} =~ /^supplemental/) { |
unless ($env{'form.folderpath'} =~ /^supplemental/) { |
$env{'form.folderpath'} = &supplemental_base(); |
$env{'form.folderpath'} = &supplemental_base(); |
} |
} |
} |
} |
# If we still not have a folderpath, see if we can resurrect at pagepath |
|
if (!$env{'form.folderpath'} && $allowed) { |
|
&Apache::loncommon::restore_course_settings($stored_folderpath, |
|
{'pagepath' => 'scalar'}); |
|
} |
|
# Make the zeroth entry in supplemental docs page paths, so we can get to top level |
# Make the zeroth entry in supplemental docs page paths, so we can get to top level |
if ($env{'form.folderpath'} =~ /^supplemental_\d+/) { |
if ($env{'form.folderpath'} =~ /^supplemental_\d+/) { |
$env{'form.folderpath'} = &supplemental_base() |
$env{'form.folderpath'} = &supplemental_base() |
Line 3244 sub handler {
|
Line 3256 sub handler {
|
$env{'form.folderpath'}; |
$env{'form.folderpath'}; |
} |
} |
# If after all of this, we still don't have any paths, make them |
# If after all of this, we still don't have any paths, make them |
unless (($env{'form.pagepath'}) || ($env{'form.folderpath'})) { |
unless ($env{'form.folderpath'}) { |
if ($supplementalflag) { |
if ($supplementalflag) { |
$env{'form.folderpath'}=&supplemental_base(); |
$env{'form.folderpath'}=&supplemental_base(); |
} else { |
} else { |
$env{'form.folderpath'}='default'; |
$env{'form.folderpath'}='default'.&escape(&mt('Main '.$crstype.' Documents')). |
|
':::::'; |
} |
} |
} |
} |
|
|
# Store this |
# Store this |
unless ($toolsflag) { |
unless ($toolsflag) { |
&Apache::loncommon::store_course_settings($stored_folderpath, |
if ($allowed) { |
{'pagepath' => 'scalar', |
&Apache::loncommon::store_course_settings($stored_folderpath, |
'folderpath' => 'scalar'}); |
{'folderpath' => 'scalar'}); |
|
} |
|
my $folderpath; |
if ($env{'form.folderpath'}) { |
if ($env{'form.folderpath'}) { |
my (@folderpath)=split('&',$env{'form.folderpath'}); |
$folderpath = $env{'form.folderpath'}; |
$env{'form.foldername'}=&unescape(pop(@folderpath)); |
my (@folders)=split('&',$env{'form.folderpath'}); |
$env{'form.folder'}=pop(@folderpath); |
$env{'form.foldername'}=&unescape(pop(@folders)); |
$container='sequence'; |
if ($env{'form.foldername'} =~ /\:1$/) { |
} |
$container = 'page'; |
if ($env{'form.pagepath'}) { |
} else { |
my (@pagepath)=split('&',$env{'form.pagepath'}); |
$container = 'sequence'; |
$env{'form.pagename'}=&unescape(pop(@pagepath)); |
} |
$env{'form.folder'}=pop(@pagepath); |
$env{'form.folder'}=pop(@folders); |
$container='page'; |
|
$containertag = '<input type="hidden" name="pagepath" value="" />'. |
|
'<input type="hidden" name="pagesymb" value="" />'; |
|
$uploadtag = |
|
'<input type="hidden" name="pagepath" value="'.&HTML::Entities::encode($env{'form.pagepath'},'<>&"').'" />'. |
|
'<input type="hidden" name="pagesymb" value="'.&HTML::Entities::encode($env{'form.pagesymb'},'<>&"').'" />'. |
|
'<input type="hidden" name="folderpath" value="" />'; |
|
} else { |
} else { |
my $folderpath=$env{'form.folderpath'}; |
if ($env{'form.folder'} eq '' || |
if (!$folderpath) { |
$env{'form.folder'} eq 'supplemental') { |
if ($env{'form.folder'} eq '' || |
$folderpath='default&'. |
$env{'form.folder'} eq 'supplemental') { |
&escape(&mt('Main '.$crstype.' Documents')). |
$folderpath='default&'. |
':::::'; |
&escape(&mt('Main '.$crstype.' Documents')); |
|
} |
|
} |
} |
$containertag = '<input type="hidden" name="folderpath" value="" />'; |
|
$uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />'; |
|
} |
} |
|
$containertag = '<input type="hidden" name="folderpath" value="" />'; |
|
$pathitem = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />'; |
if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) { |
if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) { |
$showdoc='/'.$1; |
$showdoc='/'.$1; |
} |
} |
Line 3323 sub handler {
|
Line 3329 sub handler {
|
@tabids = ('002','ee2','ff2'); |
@tabids = ('002','ee2','ff2'); |
} else { |
} else { |
@tabids = ('aa1','bb1','cc1','ff1'); |
@tabids = ('aa1','bb1','cc1','ff1'); |
unless ($env{'form.pagepath'}) { |
unless ($env{'form.folderpath'} =~ /\:1$/) { |
unshift(@tabids,'001'); |
unshift(@tabids,'001'); |
push(@tabids,('dd1','ee1')); |
push(@tabids,('dd1','ee1')); |
} |
} |
Line 3332 sub handler {
|
Line 3338 sub handler {
|
$script .= &editing_js($udom,$uname,$supplementalflag). |
$script .= &editing_js($udom,$uname,$supplementalflag). |
&history_tab_js(). |
&history_tab_js(). |
&inject_data_js(). |
&inject_data_js(). |
&Apache::lonhtmlcommon::resize_scrollbox_js('docs',$tabidstr); |
&Apache::lonhtmlcommon::resize_scrollbox_js('docs',$tabidstr). |
|
&Apache::lonextresedit::extedit_javascript(); |
$addentries = { |
$addentries = { |
onload => "javascript:resize_scrollbox('contentscroll','1','1');", |
onload => "javascript:resize_scrollbox('contentscroll','1','1');", |
}; |
}; |
Line 3340 sub handler {
|
Line 3347 sub handler {
|
if ($env{'docs.markedcopy_url'}) { |
if ($env{'docs.markedcopy_url'}) { |
$script .= &paste_popup_js(); |
$script .= &paste_popup_js(); |
} |
} |
|
my $confirm_switch = &mt("Editing requires switching to the resource's home server.").'\n'. |
|
&mt('Switch server?'); |
|
|
|
|
} |
} |
# -------------------------------------------------------------------- Body tag |
# -------------------------------------------------------------------- Body tag |
$script = '<script type="text/javascript">'."\n" |
$script = '<script type="text/javascript">'."\n" |
Line 3350 sub handler {
|
Line 3361 sub handler {
|
|
|
# Breadcrumbs |
# Breadcrumbs |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
unless ($showdoc) { |
|
|
if ($showdoc) { |
|
$r->print(&Apache::loncommon::start_page("$crstype documents",undef, |
|
{'force_register' => $showdoc,})); |
|
} elsif ($r->uri eq '/adm/supplemental') { |
|
my $brcrum = &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype); |
|
$r->print(&Apache::loncommon::start_page("Supplemental $crstype Content",undef, |
|
{'bread_crumbs' => $brcrum,})); |
|
} else { |
&Apache::lonhtmlcommon::add_breadcrumb({ |
&Apache::lonhtmlcommon::add_breadcrumb({ |
href=>"/adm/coursedocs",text=>"$crstype Contents"}); |
href=>"/adm/coursedocs",text=>"$crstype Contents"}); |
|
|
$r->print(&Apache::loncommon::start_page("$crstype Contents", $script, |
$r->print(&Apache::loncommon::start_page("$crstype Contents", $script, |
{'force_register' => $showdoc, |
{'add_entries' => $addentries} |
'add_entries' => $addentries, |
) |
}) |
|
.&Apache::loncommon::help_open_menu('','',273,'RAT') |
.&Apache::loncommon::help_open_menu('','',273,'RAT') |
.&Apache::lonhtmlcommon::breadcrumbs( |
.&Apache::lonhtmlcommon::breadcrumbs( |
'Editing '.$crstype.' Contents', |
'Editing '.$crstype.' Contents', |
'Docs_Adding_Course_Doc') |
'Docs_Adding_Course_Doc') |
); |
); |
} else { |
|
$r->print(&Apache::loncommon::start_page("$crstype documents",undef, |
|
{'force_register' => $showdoc,})); |
|
} |
} |
|
|
my %allfiles = (); |
my %allfiles = (); |
Line 3432 sub handler {
|
Line 3447 sub handler {
|
'upls' => 'Upload a new supplemental '.lc($crstype).' document', |
'upls' => 'Upload a new supplemental '.lc($crstype).' document', |
'impp' => 'Import a document', |
'impp' => 'Import a document', |
'copm' => 'All documents out of a published map into this folder', |
'copm' => 'All documents out of a published map into this folder', |
'upld' => 'Import Document', |
'upfi' => 'Upload File', |
|
'upld' => 'Import Content', |
'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 3455 sub handler {
|
Line 3472 sub handler {
|
'abou' => 'Personal Information Page for a User', |
'abou' => 'Personal Information Page for a User', |
'imsf' => 'IMS Import', |
'imsf' => 'IMS Import', |
'imsl' => 'Import IMS package', |
'imsl' => 'Import IMS package', |
|
'cms' => 'Origin of IMS package', |
|
'se' => 'Select', |
'file' => 'File', |
'file' => 'File', |
'title' => 'Title', |
'title' => 'Title', |
'comment' => 'Comment', |
'comment' => 'Comment', |
|
'url' => 'URL', |
|
'prev' => 'Preview', |
|
'lnk' => 'Add Link', |
'parse' => 'Upload embedded images/multimedia files if HTML file', |
'parse' => 'Upload embedded images/multimedia files if HTML file', |
'nd' => 'Upload Document', |
|
'pm' => 'Published Map', |
|
'sd' => 'Special Document', |
|
'mo' => 'More Options', |
|
); |
); |
# ----------------------------------------------------------------------------- |
# ----------------------------------------------------------------------------- |
my $fileupload=(<<FIUP); |
my $fileupload=(<<FIUP); |
Line 3478 FIUP
|
Line 3496 FIUP
|
<input type="checkbox" name="parserflag" checked="checked" /> $lt{'parse'} |
<input type="checkbox" name="parserflag" checked="checked" /> $lt{'parse'} |
</label> |
</label> |
CHBO |
CHBO |
|
my $imsfolder = $env{'form.folder'}; |
|
if ($imsfolder eq '') { |
|
$imsfolder = 'default'; |
|
} |
|
my $imspform=(<<IMSFORM); |
|
<a class="LC_menubuttons_link" href="javascript:toggleUpload('ims');"> |
|
$lt{'imsf'}</a> $help{'Importing_IMS_Course'} |
|
<form name="uploadims" action="/adm/imsimportdocs" method="post" enctype="multipart/form-data" target="IMSimport"> |
|
<fieldset id="uploadimsform" style="display: none;"> |
|
<legend>$lt{'imsf'}</legend> |
|
$fileupload |
|
<br /> |
|
<p> |
|
$lt{'cms'}: |
|
<select name="source"> |
|
<option value="-1" selected="selected">$lt{'se'}</option> |
|
<option value="bb5">Blackboard 5</option> |
|
<option value="bb6">Blackboard 6</option> |
|
<option value="angel5">ANGEL 5.5</option> |
|
<option value="webctce4">WebCT 4 Campus Edition</option> |
|
</select> |
|
<input type="hidden" name="folder" value="$imsfolder" /> |
|
</p> |
|
<input type="hidden" name="phase" value="one" /> |
|
<input type="button" value="$lt{'imsl'}" onclick="makeims(this.form);" /> |
|
</fieldset> |
|
</form> |
|
IMSFORM |
|
|
my $fileuploada = "<br clear='all' /><input type='submit' value='".$lt{'upld'}."' /> $help{'Uploading_From_Harddrive'}"; |
|
my $fileuploadform=(<<FUFORM); |
my $fileuploadform=(<<FUFORM); |
<form name="uploaddocument" action="/adm/coursedocs" method="post" enctype="multipart/form-data"> |
<a class="LC_menubuttons_link" href="javascript:toggleUpload('doc');"> |
|
$lt{'upfi'}</a> $help{'Uploading_From_Harddrive'} |
|
<form name="uploaddocument" action="/adm/coursedocs" method="post" enctype="multipart/form-data"> |
|
<fieldset id="uploaddocform" style="display: none;"> |
|
<legend>$lt{'upfi'}</legend> |
<input type="hidden" name="active" value="aa" /> |
<input type="hidden" name="active" value="aa" /> |
$fileupload |
$fileupload |
<br /> |
<br /> |
$lt{'title'}:<br /> |
$lt{'title'}:<br /> |
<input type="text" size="60" name="comment" /> |
<input type="text" size="60" name="comment" /> |
$uploadtag |
$pathitem |
<input type="hidden" name="cmd" value="upload_default" /> |
<input type="hidden" name="cmd" value="upload_default" /> |
<br /> |
<br /> |
<span class="LC_nobreak" style="float:left"> |
<span class="LC_nobreak" style="float:left"> |
$checkbox |
$checkbox |
</span> |
</span> |
|
<br clear="all" /> |
|
<input type="submit" value="$lt{'upld'}" /> |
|
</fieldset> |
|
</form> |
FUFORM |
FUFORM |
$fileuploadform .= $fileuploada.'</form>'; |
|
|
|
my $simpleeditdefaultform=(<<SEDFFORM); |
my $importpubform=(<<SEDFFORM); |
<form action="/adm/coursedocs" method="post" name="simpleeditdefault"> |
<a class="LC_menubuttons_link" href="javascript:toggleMap('map');"> |
|
$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></span><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()" />' => $pathitem."<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(\'map\');" />' => $importpubform } |
); |
); |
$simpleeditdefaultform .= &create_form_ul(&create_list_elements(@simpleeditdefaultforma)); |
$importpubform = &create_form_ul(&create_list_elements(@importpubforma)); |
$simpleeditdefaultform .=(<<SEDFFORM); |
my $extresourcesform = |
<hr id="bb_hrule" style="width:0px;text-align:left;margin-left:0" /> |
&Apache::lonextresedit::extedit_form(0,0,undef,undef,$pathitem, |
$lt{'copm'}<br /> |
$help{'Adding_External_Resource'}); |
<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); |
|
<form action="/adm/coursedocs" method="post" name="newext"> |
|
$uploadtag |
|
<input type="hidden" name="importdetail" value="" /> |
|
<a class="LC_menubuttons_link" href="javascript:makenewext('newext');">$lt{'extr'}</a>$help{'Adding_External_Resource'} |
|
</form> |
|
ERFORM |
|
|
|
|
|
if ($allowed) { |
if ($allowed) { |
my $folder = $env{'form.folder'}; |
my $folder = $env{'form.folder'}; |
if ($folder eq '') { |
if ($folder eq '') { |
Line 3542 ERFORM
|
Line 3591 ERFORM
|
</form> |
</form> |
|
|
HIDDENFORM |
HIDDENFORM |
$r->print(&makesimpleeditform($uploadtag)."\n". |
$r->print(&makesimpleeditform($pathitem)."\n". |
&makedocslogform($uploadtag."\n". |
&makedocslogform($pathitem."\n". |
'<input type="hidden" name="folder" value="'. |
'<input type="hidden" name="folder" value="'. |
$env{'form.folder'}.'" />'."\n")); |
$env{'form.folder'}.'" />'."\n")); |
} |
} |
|
|
# Generate the tabs |
# Generate the tabs |
my $mode; |
my ($mode,$needs_end); |
if (($supplementalflag) && (!$allowed)) { |
if (($supplementalflag) && (!$allowed)) { |
&Apache::lonnavdisplay::startContentScreen($r,'supplemental'); |
my @folders = split('&',$env{'form.folderpath'}); |
|
unless (@folders > 2) { |
|
&Apache::lonnavdisplay::startContentScreen($r,'supplemental'); |
|
$needs_end = 1; |
|
} |
} else { |
} else { |
$r->print(&startContentScreen(($supplementalflag?'suppdocs':'docs'))); |
$r->print(&startContentScreen(($supplementalflag?'suppdocs':'docs'))); |
|
$needs_end = 1; |
} |
} |
|
|
# |
# |
Line 3566 HIDDENFORM
|
Line 3620 HIDDENFORM
|
$folder='default'; |
$folder='default'; |
$savefolderpath = $env{'form.folderpath'}; |
$savefolderpath = $env{'form.folderpath'}; |
$env{'form.folderpath'}='default&'.&escape(&mt('Content')); |
$env{'form.folderpath'}='default&'.&escape(&mt('Content')); |
$uploadtag = '<input type="hidden" name="folderpath" value="'. |
$pathitem = '<input type="hidden" name="folderpath" value="'. |
&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" />'; |
&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" />'; |
} |
} |
my $postexec=''; |
my $postexec=''; |
Line 3580 HIDDENFORM
|
Line 3634 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'; |
|
if ($env{'form.pagepath'}) { |
|
$container='page'; |
|
} |
|
my $readfile='/uploaded/'.$coursedom.'/'.$coursenum.'/'.$folder.'.'.$container; |
my $readfile='/uploaded/'.$coursedom.'/'.$coursenum.'/'.$folder.'.'.$container; |
|
|
my $imspform=(<<IMSPFORM); |
|
<form action="/adm/imsimportdocs" method="post" name="ims"> |
|
<input type="hidden" name="folder" value="$folder" /> |
|
<a class="LC_menubuttons_link" href="javascript:makeims();">$lt{'imsf'}</a> |
|
</form> |
|
IMSPFORM |
|
|
|
my $newnavform=(<<NNFORM); |
my $newnavform=(<<NNFORM); |
<form action="/adm/coursedocs" method="post" name="newnav"> |
<form action="/adm/coursedocs" method="post" name="newnav"> |
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$pathitem |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$lt{'navc'}=/adm/navmaps" /> |
value="$lt{'navc'}=/adm/navmaps" /> |
<a class="LC_menubuttons_link" href="javascript:document.newnav.submit()">$lt{'navc'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.newnav.submit()">$lt{'navc'}</a> |
Line 3610 NNFORM
|
Line 3651 NNFORM
|
my $newsmppageform=(<<NSPFORM); |
my $newsmppageform=(<<NSPFORM); |
<form action="/adm/coursedocs" method="post" name="newsmppg"> |
<form action="/adm/coursedocs" method="post" name="newsmppg"> |
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a class="LC_menubuttons_link" href="javascript:makesmppage();"> $lt{'sipa'}</a> |
<a class="LC_menubuttons_link" href="javascript:makesmppage();"> $lt{'sipa'}</a> |
$help{'Simple Page'} |
$help{'Simple Page'} |
Line 3620 NSPFORM
|
Line 3661 NSPFORM
|
my $newsmpproblemform=(<<NSPROBFORM); |
my $newsmpproblemform=(<<NSPROBFORM); |
<form action="/adm/coursedocs" method="post" name="newsmpproblem"> |
<form action="/adm/coursedocs" method="post" name="newsmpproblem"> |
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a class="LC_menubuttons_link" href="javascript:makesmpproblem();">$lt{'sipr'}</a> |
<a class="LC_menubuttons_link" href="javascript:makesmpproblem();">$lt{'sipr'}</a> |
$help{'Simple Problem'} |
$help{'Simple Problem'} |
Line 3631 NSPROBFORM
|
Line 3672 NSPROBFORM
|
my $newdropboxform=(<<NDBFORM); |
my $newdropboxform=(<<NDBFORM); |
<form action="/adm/coursedocs" method="post" name="newdropbox"> |
<form action="/adm/coursedocs" method="post" name="newdropbox"> |
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a class="LC_menubuttons_link" href="javascript:makedropbox();">$lt{'drbx'}</a> |
<a class="LC_menubuttons_link" href="javascript:makedropbox();">$lt{'drbx'}</a> |
</form> |
</form> |
Line 3640 NDBFORM
|
Line 3681 NDBFORM
|
my $newexuploadform=(<<NEXUFORM); |
my $newexuploadform=(<<NEXUFORM); |
<form action="/adm/coursedocs" method="post" name="newexamupload"> |
<form action="/adm/coursedocs" method="post" name="newexamupload"> |
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a class="LC_menubuttons_link" href="javascript:makeexamupload();">$lt{'scuf'}</a> |
<a class="LC_menubuttons_link" href="javascript:makeexamupload();">$lt{'scuf'}</a> |
$help{'Score_Upload_Form'} |
$help{'Score_Upload_Form'} |
Line 3650 NEXUFORM
|
Line 3691 NEXUFORM
|
my $newbulform=(<<NBFORM); |
my $newbulform=(<<NBFORM); |
<form action="/adm/coursedocs" method="post" name="newbul"> |
<form action="/adm/coursedocs" method="post" name="newbul"> |
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a class="LC_menubuttons_link" href="javascript:makebulboard();" >$lt{'bull'}</a> |
<a class="LC_menubuttons_link" href="javascript:makebulboard();" >$lt{'bull'}</a> |
$help{'Bulletin Board'} |
$help{'Bulletin Board'} |
Line 3660 NBFORM
|
Line 3701 NBFORM
|
my $newaboutmeform=(<<NAMFORM); |
my $newaboutmeform=(<<NAMFORM); |
<form action="/adm/coursedocs" method="post" name="newaboutme"> |
<form action="/adm/coursedocs" method="post" name="newaboutme"> |
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$pathitem |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$plainname=/adm/$udom/$uname/aboutme" /> |
value="$plainname=/adm/$udom/$uname/aboutme" /> |
<a class="LC_menubuttons_link" href="javascript:document.newaboutme.submit()">$lt{'mypi'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.newaboutme.submit()">$lt{'mypi'}</a> |
Line 3671 NAMFORM
|
Line 3712 NAMFORM
|
my $newaboutsomeoneform=(<<NASOFORM); |
my $newaboutsomeoneform=(<<NASOFORM); |
<form action="/adm/coursedocs" method="post" name="newaboutsomeone"> |
<form action="/adm/coursedocs" method="post" name="newaboutsomeone"> |
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a class="LC_menubuttons_link" href="javascript:makeabout();">$lt{'abou'}</a> |
<a class="LC_menubuttons_link" href="javascript:makeabout();">$lt{'abou'}</a> |
</form> |
</form> |
Line 3681 NASOFORM
|
Line 3722 NASOFORM
|
my $newrosterform=(<<NROSTFORM); |
my $newrosterform=(<<NROSTFORM); |
<form action="/adm/coursedocs" method="post" name="newroster"> |
<form action="/adm/coursedocs" method="post" name="newroster"> |
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$pathitem |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$lt{'rost'}=/adm/viewclasslist" /> |
value="$lt{'rost'}=/adm/viewclasslist" /> |
<a class="LC_menubuttons_link" href="javascript:document.newroster.submit()">$lt{'rost'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.newroster.submit()">$lt{'rost'}</a> |
Line 3713 NPFORM
|
Line 3754 NPFORM
|
|
|
$newfolderform=(<<NFFORM); |
$newfolderform=(<<NFFORM); |
<form action="/adm/coursedocs" method="post" name="newfolder"> |
<form action="/adm/coursedocs" method="post" name="newfolder"> |
<input type="hidden" name="folderpath" value="$path" /> |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="active" value="aa" /> |
<input type="hidden" name="active" value="aa" /> |
<a href="javascript:makenewfolder(document.newfolder,'$folderseq');">$lt{'newf'}</a>$help{'Adding_Folders'} |
<a href="javascript:makenewfolder(document.newfolder,'$folderseq');">$lt{'newf'}</a>$help{'Adding_Folders'} |
Line 3723 NFFORM
|
Line 3764 NFFORM
|
my $newsylform=(<<NSYLFORM); |
my $newsylform=(<<NSYLFORM); |
<form action="/adm/coursedocs" method="post" name="newsyl"> |
<form action="/adm/coursedocs" method="post" name="newsyl"> |
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$pathitem |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" /> |
value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" /> |
<a class="LC_menubuttons_link" href="javascript:document.newsyl.submit()">$lt{'syll'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.newsyl.submit()">$lt{'syll'}</a> |
Line 3735 NSYLFORM
|
Line 3776 NSYLFORM
|
my $newgroupfileform=(<<NGFFORM); |
my $newgroupfileform=(<<NGFFORM); |
<form action="/adm/coursedocs" method="post" name="newgroupfiles"> |
<form action="/adm/coursedocs" method="post" name="newgroupfiles"> |
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$pathitem |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" /> |
value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" /> |
<a class="LC_menubuttons_link" href="javascript:document.newgroupfiles.submit()">$lt{'grpo'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.newgroupfiles.submit()">$lt{'grpo'}</a> |
Line 3752 NGFFORM
|
Line 3793 NGFFORM
|
|
|
|
|
my @importdoc = ( |
my @importdoc = ( |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" onclick="javascript:makenewext(\'newext\');" />'=>$extresourcesform}, |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" onclick="toggleUpload(\'ext\');" />'=>$extresourcesform} |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/ims.png" alt="'.$lt{imsf}.'" onclick="javascript:makeims();" />'=>$imspform},); |
); |
$fileuploadform = &create_form_ul(&create_list_elements(@importdoc)) . '<hr id="cc_hrule" style="width:0px;text-align:left;margin-left:0" />' . $fileuploadform; |
unless ($container eq 'page') { |
|
push(@importdoc, |
|
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/ims.png" alt="'.$lt{imsf}.'" onclick="javascript:toggleUpload(\'ims\');" />'=>$imspform} |
|
); |
|
} |
|
push(@importdoc, |
|
{'<img class="LC_noBorder_LC_middle" src="/res/adm/pages/pdfupload.png" alt="'.$lt{upl}.'" onclick="javascript:toggleUpload(\'doc\');" />'=>$fileuploadform} |
|
); |
|
$fileuploadform = &create_form_ul(&create_list_elements(@importdoc)); |
|
|
@gradingforma=( |
@gradingforma=( |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/simpprob.png" alt="'.$lt{sipr}.'" onclick="javascript:makesmpproblem();" />'=>$newsmpproblemform}, |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/simpprob.png" alt="'.$lt{sipr}.'" onclick="javascript:makesmpproblem();" />'=>$newsmpproblemform}, |
Line 3775 NGFFORM
|
Line 3824 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 ($container eq 'page') { |
$orderhash{'00'} = ['Newfolder',$newfolderform]; |
$orderhash{'00'} = ['Newfolder',$newfolderform]; |
$orderhash{'dd'} = ['Collaboration',$communityform]; |
$orderhash{'dd'} = ['Collaboration',$communityform]; |
$orderhash{'ee'} = ['Special Documents',$specialdocumentsform]; |
$orderhash{'ee'} = ['Special Pages',$specialdocumentsform]; |
} |
} |
|
|
$hadchanges=0; |
$hadchanges=0; |
unless (($supplementalflag || $toolsflag)) { |
unless (($supplementalflag || $toolsflag)) { |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, |
$supplementalflag,\%orderhash,$iconpath); |
$supplementalflag,\%orderhash,$iconpath,$pathitem); |
if ($error) { |
if ($error) { |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
} |
} |
Line 3811 unless ($env{'form.pagepath'}) {
|
Line 3860 unless ($env{'form.pagepath'}) {
|
} elsif ($allowed) { |
} elsif ($allowed) { |
$env{'form.folderpath'} = $savefolderpath; |
$env{'form.folderpath'} = $savefolderpath; |
} |
} |
$env{'form.pagepath'} = ''; |
$pathitem = '<input type="hidden" name="folderpath" value="'. |
|
&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" />'; |
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 $supupdocformbtn = "<input type='submit' value='".$lt{'upld'}."' />$help{'Uploading_From_Harddrive'}"; |
|
my $supupdocform=(<<SUPDOCFORM); |
my $supupdocform=(<<SUPDOCFORM); |
|
<a class="LC_menubuttons_link" href="javascript:toggleUpload('suppdoc');"> |
|
$lt{'upfi'}</a> $help{'Uploading_From_Harddrive'} |
<form action="/adm/coursedocs" method="post" name="supuploaddocument" enctype="multipart/form-data"> |
<form action="/adm/coursedocs" method="post" name="supuploaddocument" enctype="multipart/form-data"> |
|
<fieldset id="uploadsuppdocform" style="display: none;"> |
|
<legend>$lt{'upfi'}</legend> |
<input type="hidden" name="active" value="ee" /> |
<input type="hidden" name="active" value="ee" /> |
$fileupload |
$fileupload |
<br /> |
<br /> |
Line 3833 unless ($env{'form.pagepath'}) {
|
Line 3883 unless ($env{'form.pagepath'}) {
|
$lt{'comment'}:<br /> |
$lt{'comment'}:<br /> |
<textarea cols="50" rows="4" name="comment"></textarea> |
<textarea cols="50" rows="4" name="comment"></textarea> |
<br /> |
<br /> |
<input type="hidden" name="folderpath" value="$path" /> |
$pathitem |
<input type="hidden" name="cmd" value="upload_supplemental" /> |
<input type="hidden" name="cmd" value="upload_supplemental" /> |
|
<input type='submit' value="$lt{'upld'}" /> |
|
</form> |
SUPDOCFORM |
SUPDOCFORM |
$supupdocform .= &create_form_ul(&Apache::lonhtmlcommon::htmltag('li',$supupdocformbtn,{class => 'LC_menubuttons_inline_text'}))."</form>"; |
|
|
|
my $supnewfolderform=(<<SNFFORM); |
my $supnewfolderform=(<<SNFFORM); |
<form action="/adm/coursedocs" method="post" name="supnewfolder"> |
<form action="/adm/coursedocs" method="post" name="supnewfolder"> |
<input type="hidden" name="active" value="ee" /> |
<input type="hidden" name="active" value="ee" /> |
<input type="hidden" name="folderpath" value="$path" /> |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a class="LC_menubuttons_link" href="javascript:makenewfolder(document.supnewfolder,'$folderseq');">$lt{'newf'}</a> |
<a class="LC_menubuttons_link" href="javascript:makenewfolder(document.supnewfolder,'$folderseq');">$lt{'newf'}</a> |
$help{'Adding_Folders'} |
$help{'Adding_Folders'} |
</form> |
</form> |
SNFFORM |
SNFFORM |
|
|
|
my $supextform = |
my $supnewextform=(<<SNEFORM); |
&Apache::lonextresedit::extedit_form(1,0,undef,undef,$pathitem, |
<form action="/adm/coursedocs" method="post" name="supnewext"> |
$help{'Adding_External_Resource'}); |
<input type="hidden" name="active" value="ff" /> |
|
<input type="hidden" name="folderpath" value="$path" /> |
|
<input type="hidden" name="importdetail" value="" /> |
|
<a class="LC_menubuttons_link" href="javascript:makenewext('supnewext');">$lt{'extr'}</a> $help{'Adding_External_Resource'} |
|
</form> |
|
SNEFORM |
|
|
|
my $supnewsylform=(<<SNSFORM); |
my $supnewsylform=(<<SNSFORM); |
<form action="/adm/coursedocs" method="post" name="supnewsyl"> |
<form action="/adm/coursedocs" method="post" name="supnewsyl"> |
<input type="hidden" name="active" value="ff" /> |
<input type="hidden" name="active" value="ff" /> |
<input type="hidden" name="folderpath" value="$path" /> |
$pathitem |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="Syllabus=/public/$coursedom/$coursenum/syllabus" /> |
value="Syllabus=/public/$coursedom/$coursenum/syllabus" /> |
<a class="LC_menubuttons_link" href="javascript:document.supnewsyl.submit()">$lt{'syll'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.supnewsyl.submit()">$lt{'syll'}</a> |
Line 3872 SNSFORM
|
Line 3917 SNSFORM
|
my $supnewaboutmeform=(<<SNAMFORM); |
my $supnewaboutmeform=(<<SNAMFORM); |
<form action="/adm/coursedocs" method="post" name="supnewaboutme"> |
<form action="/adm/coursedocs" method="post" name="supnewaboutme"> |
<input type="hidden" name="active" value="ff" /> |
<input type="hidden" name="active" value="ff" /> |
<input type="hidden" name="folderpath" value="$path" /> |
$pathitem |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$plainname=/adm/$udom/$uname/aboutme" /> |
value="$plainname=/adm/$udom/$uname/aboutme" /> |
<a class="LC_menubuttons_link" href="javascript:document.supnewaboutme.submit()">$lt{'mypi'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.supnewaboutme.submit()">$lt{'mypi'}</a> |
Line 3888 my @specialdocs = (
|
Line 3933 my @specialdocs = (
|
=>$supnewaboutmeform}, |
=>$supnewaboutmeform}, |
); |
); |
my @supimportdoc = ( |
my @supimportdoc = ( |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" onclick="javascript:makenewext(\'supnewext\');" />' |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" onclick="javascript:toggleUpload(\'suppext\')" />' |
=>$supnewextform}, |
=>$supextform}, |
); |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/pdfupload.png" alt="'.$lt{upl}.'" onclick="javascript:toggleUpload(\'suppdoc\');" />' |
$supupdocform = &create_form_ul(&create_list_elements(@supimportdoc)) . '<hr id="ee_hrule" style="width:0px;text-align:left;margin-left:0" />' . $supupdocform; |
=>$supupdocform}, |
|
); |
|
|
|
$supupdocform = &create_form_ul(&create_list_elements(@supimportdoc)); |
my %suporderhash = ( |
my %suporderhash = ( |
'00' => ['Supnewfolder', $supnewfolderform], |
'00' => ['Supnewfolder', $supnewfolderform], |
'ee' => ['Import Content',$supupdocform], |
'ee' => ['Import Content',$supupdocform], |
'ff' => ['Special Documents',&create_form_ul(&create_list_elements(@specialdocs))] |
'ff' => ['Special Pages',&create_form_ul(&create_list_elements(@specialdocs))] |
); |
); |
if ($supplementalflag) { |
if ($supplementalflag) { |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, |
$supplementalflag,\%suporderhash,$iconpath); |
$supplementalflag,\%suporderhash,$iconpath,$pathitem); |
if ($error) { |
if ($error) { |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
} |
} |
} |
} |
} elsif ($supplementalflag) { |
} elsif ($supplementalflag) { |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, |
$supplementalflag,'',$iconpath); |
$supplementalflag,'',$iconpath,$pathitem); |
if ($error) { |
if ($error) { |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
} |
} |
} |
} |
|
|
$r->print(&endContentScreen()); |
if ($needs_end) { |
|
$r->print(&endContentScreen()); |
|
} |
|
|
if ($allowed) { |
if ($allowed) { |
$r->print(' |
$r->print(' |
Line 3926 my %suporderhash = (
|
Line 3976 my %suporderhash = (
|
} elsif ($showdoc) { |
} elsif ($showdoc) { |
# -------------------------------------------------------- This is showdoc mode |
# -------------------------------------------------------- This is showdoc mode |
$r->print("<h1>".&mt('Uploaded Document').' - '. |
$r->print("<h1>".&mt('Uploaded Document').' - '. |
&Apache::lonnet::gettitle($r->uri).'</h1><p>'. |
&Apache::lonnet::gettitle($r->uri).'</h1><p class="LC_warning">'. |
&mt('It is recommended that you use an up-to-date virus scanner before handling this file.')."</p><table>". |
&mt('It is recommended that you use an up-to-date virus scanner before handling this file.')."</p><table>". |
&entryline(0,&mt("Click to download or use your browser's Save Link function"),$showdoc).'</table>'); |
&entryline(0,&mt("Click to download or use your browser's Save Link function"),$showdoc).'</table>'); |
} |
} |
Line 3978 sub decompression_info {
|
Line 4028 sub decompression_info {
|
my $docuname=$env{'course.'.$env{'request.course.id'}.'.num'}; |
my $docuname=$env{'course.'.$env{'request.course.id'}.'.num'}; |
my $container='sequence'; |
my $container='sequence'; |
my ($pathitem,$hiddenelem); |
my ($pathitem,$hiddenelem); |
my @hiddens = ('newidx','comment','position'); |
my @hiddens = ('newidx','comment','position','folderpath'); |
if ($env{'form.pagepath'}) { |
if ($env{'form.folderpath'} =~ /\:1$/) { |
$container='page'; |
$container='page'; |
$pathitem = 'pagepath'; |
|
} else { |
|
$pathitem = 'folderpath'; |
|
} |
} |
unshift(@hiddens,$pathitem); |
unshift(@hiddens,$pathitem); |
foreach my $item (@hiddens) { |
foreach my $item (@hiddens) { |
Line 4177 sub generate_edit_table {
|
Line 4224 sub generate_edit_table {
|
$activetab = $env{'form.active'}; |
$activetab = $env{'form.active'}; |
} |
} |
my $backicon = $iconpath.'clickhere.gif'; |
my $backicon = $iconpath.'clickhere.gif'; |
my $backtext = &mt('To Overview'); |
my $backtext = &mt('Exit'); |
$form = '<div class="LC_Box" style="margin:0;">'. |
$form = '<div class="LC_Box" style="margin:0;">'. |
'<ul id="navigation'.$tid.'" class="LC_TabContent">'."\n". |
'<ul id="navigation'.$tid.'" class="LC_TabContent">'."\n". |
'<li class="goback">'. |
'<li class="goback">'. |
Line 4206 sub generate_edit_table {
|
Line 4253 sub generate_edit_table {
|
$active = 'class="active"'; |
$active = 'class="active"'; |
} |
} |
$form .= '<li style="float:right" '.$active |
$form .= '<li style="float:right" '.$active |
.' onmouseover="javascript:showPage(this, \''.$name.$tid.'\', \'navigation'.$tid.'\',\'content'.$tid.'\');"' |
|
.' onclick="javascript:showPage(this, \''.$name.$tid.'\', \'navigation'.$tid.'\',\'content'.$tid.'\');"><a href="javascript:;"><b>'.&mt(${$orderhash{$name}}[0]).'</b></a></li>'."\n"; |
.' onclick="javascript:showPage(this, \''.$name.$tid.'\', \'navigation'.$tid.'\',\'content'.$tid.'\');"><a href="javascript:;"><b>'.&mt(${$orderhash{$name}}[0]).'</b></a></li>'."\n"; |
} else { |
} else { |
$form .= '<li '.$active.' style="float:right">'.${$orderhash{$name}}[1].'</li>'."\n"; |
$form .= '<li '.$active.' style="float:right">'.${$orderhash{$name}}[1].'</li>'."\n"; |
Line 4263 sub editing_js {
|
Line 4309 sub editing_js {
|
p_ctr2a => 'Cut[_98]', |
p_ctr2a => 'Cut[_98]', |
p_ctr2b => '?[_98]', |
p_ctr2b => '?[_98]', |
rpck => 'Enter number to pick (e.g., 3)', |
rpck => 'Enter number to pick (e.g., 3)', |
|
imsfile => 'You must choose an IMS package for import', |
|
imscms => 'You must select which Course Management System was the source of the IMS package', |
|
invurl => 'Invalid URL', |
|
titbl => 'Title is blank', |
); |
); |
|
|
my $crstype = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
my $docs_folderpath = &HTML::Entities::encode($env{'environment.internal.'.$env{'request.course.id'}.'.docs_folderpath.folderpath'},'<>&"'); |
my $docs_folderpath = &HTML::Entities::encode($env{'environment.internal.'.$env{'request.course.id'}.'.docs_folderpath.folderpath'},'<>&"'); |
my $docs_pagepath = &HTML::Entities::encode($env{'environment.internal.'.$env{'request.course.id'}.'.docs_folderpath.pagepath'},'<>&"'); |
|
my $main_container_page; |
my $main_container_page; |
if ($docs_folderpath eq '') { |
if (&HTML::Entities::decode($env{'environment.internal.'.$env{'request.course.id'}.'.docs_folderpath.folderpath'}) =~ /\:1$/) { |
if ($docs_pagepath ne '') { |
$main_container_page = 1; |
$main_container_page = 1; |
|
} |
|
} |
} |
my $toplevelmain = 'default&Main%20'.$crstype.'%20Documents'; |
my $toplevelmain = 'default&Main%20'.$crstype.'%20Documents%3A%3A%3A%3A%3A'; |
my $toplevelsupp = &supplemental_base(); |
my $toplevelsupp = &supplemental_base(); |
|
|
my $backtourl = '/adm/navmaps'; |
my $backtourl = '/adm/navmaps'; |
Line 4282 sub editing_js {
|
Line 4329 sub editing_js {
|
$backtourl = '/adm/supplemental'; |
$backtourl = '/adm/supplemental'; |
} |
} |
|
|
|
my $fieldsets = "'ext','doc'"; |
|
unless ($main_container_page) { |
|
$fieldsets .=",'ims'"; |
|
} |
|
if ($supplementalflag) { |
|
$fieldsets = "'suppext','suppdoc'"; |
|
} |
|
|
return <<ENDNEWSCRIPT; |
return <<ENDNEWSCRIPT; |
function makenewfolder(targetform,folderseq) { |
function makenewfolder(targetform,folderseq) { |
var foldername=prompt('$lt{"p_mnf"}','$lt{"t_mnf"}'); |
var foldername=prompt('$lt{"p_mnf"}','$lt{"t_mnf"}'); |
Line 4299 function makenewpage(targetform,folderse
|
Line 4354 function makenewpage(targetform,folderse
|
} |
} |
} |
} |
|
|
function makenewext(targetname) { |
|
this.document.forms.extimport.useform.value=targetname; |
|
this.document.forms.extimport.title.value=''; |
|
this.document.forms.extimport.url.value=''; |
|
this.document.forms.extimport.residx.value=''; |
|
window.open('/adm/rat/extpickframe.html'); |
|
} |
|
|
|
function edittext(targetname,residx,title,url) { |
|
this.document.forms.extimport.useform.value=targetname; |
|
this.document.forms.extimport.residx.value=residx; |
|
this.document.forms.extimport.url.value=url; |
|
this.document.forms.extimport.title.value=title; |
|
window.open('/adm/rat/extpickframe.html'); |
|
} |
|
|
|
function makeexamupload() { |
function makeexamupload() { |
var title=prompt('$lt{"p_mxu"}'); |
var title=prompt('$lt{"p_mxu"}'); |
if (title) { |
if (title) { |
Line 4379 function makeabout() {
|
Line 4418 function makeabout() {
|
} |
} |
} |
} |
|
|
function makeims() { |
function toggleUpload(caller) { |
var caller = document.forms.ims.folder.value; |
var blocks = Array($fieldsets); |
var newlocation = "/adm/imsimportdocs?folder="+caller+"&phase=one"; |
for (var i=0; i<blocks.length; i++) { |
newWindow = window.open("","IMSimport","HEIGHT=700,WIDTH=750,scrollbars=yes"); |
var disp = 'none'; |
newWindow.location.href = newlocation; |
if (caller == blocks[i]) { |
} |
var curr = document.getElementById('upload'+caller+'form').style.display; |
|
if (curr == 'none') { |
function finishpick() { |
disp='block'; |
var title=this.document.forms.extimport.title.value; |
} |
var url=this.document.forms.extimport.url.value; |
} |
var form=this.document.forms.extimport.useform.value; |
document.getElementById('upload'+blocks[i]+'form').style.display=disp; |
var residx=this.document.forms.extimport.residx.value; |
} |
eval('this.document.forms.'+form+'.importdetail.value="'+title+'='+url+'='+residx+'";this.document.forms.'+form+'.submit();'); |
resize_scrollbox('contentscroll','1','1'); |
|
return; |
|
} |
|
|
|
function toggleMap(caller) { |
|
var disp = 'none'; |
|
if (document.getElementById('importmapform')) { |
|
if (caller == 'map') { |
|
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 makeims(imsform) { |
|
if ((imsform.uploaddoc.value == '') || (!imsform.uploaddoc.value)) { |
|
alert("$lt{'imsfile'}"); |
|
return; |
|
} |
|
if (imsform.source.selectedIndex == 0) { |
|
alert("$lt{'imscms'}"); |
|
return; |
|
} |
|
newWindow = window.open('', 'IMSimport',"HEIGHT=700,WIDTH=750,scrollbars=yes"); |
|
imsform.submit(); |
} |
} |
|
|
function changename(folderpath,index,oldtitle,container,pagesymb) { |
function changename(folderpath,index,oldtitle) { |
var title=prompt('$lt{"p_chn"}',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; |
this.document.forms.renameform.cmd.value='rename_'+index; |
this.document.forms.renameform.cmd.value='rename_'+index; |
if (container == 'sequence') { |
this.document.forms.renameform.folderpath.value=folderpath; |
this.document.forms.renameform.folderpath.value=folderpath; |
|
} |
|
if (container == 'page') { |
|
this.document.forms.renameform.pagepath.value=folderpath; |
|
this.document.forms.renameform.pagesymb.value=pagesymb; |
|
} |
|
this.document.forms.renameform.submit(); |
this.document.forms.renameform.submit(); |
} |
} |
} |
} |
|
|
function removeres(folderpath,index,oldtitle,container,pagesymb,skip_confirm) { |
function removeres(folderpath,index,oldtitle,skip_confirm) { |
if (skip_confirm || confirm('$lt{"p_rmr1"}\\n\\n$lt{"p_rmr2a"} "'+oldtitle+'" $lt{"p_rmr2b"}')) { |
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') { |
this.document.forms.renameform.folderpath.value=folderpath; |
this.document.forms.renameform.folderpath.value=folderpath; |
|
} |
|
if (container == 'page') { |
|
this.document.forms.renameform.pagepath.value=folderpath; |
|
this.document.forms.renameform.pagesymb.value=pagesymb; |
|
} |
|
this.document.forms.renameform.submit(); |
this.document.forms.renameform.submit(); |
} |
} |
} |
} |
|
|
function cutres(folderpath,index,oldtitle,container,pagesymb,folder,skip_confirm) { |
function cutres(folderpath,index,oldtitle,container,folder,skip_confirm) { |
if (skip_confirm || confirm('$lt{"p_ctr1a"}\\n$lt{"p_ctr1b"}\\n\\n$lt{"p_ctr2a"} "'+oldtitle+'" $lt{"p_ctr2b"}')) { |
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; |
if (container == 'sequence') { |
this.document.forms.renameform.folderpath.value=folderpath; |
this.document.forms.renameform.folderpath.value=folderpath; |
|
} |
|
if (container == 'page') { |
|
this.document.forms.renameform.pagepath.value=folderpath; |
|
this.document.forms.renameform.pagesymb.value=pagesymb; |
|
} |
|
this.document.forms.renameform.submit(); |
this.document.forms.renameform.submit(); |
} |
} |
} |
} |
|
|
function markcopy(folderpath,index,oldtitle,container,pagesymb,folder) { |
function markcopy(folderpath,index,oldtitle,container,folder) { |
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; |
if (container == 'sequence') { |
|
this.document.forms.renameform.folderpath.value=folderpath; |
this.document.forms.renameform.folderpath.value=folderpath; |
} |
|
if (container == 'page') { |
|
this.document.forms.renameform.pagepath.value=folderpath; |
|
this.document.forms.renameform.pagesymb.value=pagesymb; |
|
} |
|
this.document.forms.renameform.submit(); |
this.document.forms.renameform.submit(); |
} |
} |
|
|
Line 4545 function showPage(current, pageId, nav,
|
Line 4589 function showPage(current, pageId, nav,
|
currentData = document.getElementById(pageId); |
currentData = document.getElementById(pageId); |
currentData.style.display = 'block'; |
currentData.style.display = 'block'; |
activeTab = pageId; |
activeTab = pageId; |
|
toggleUpload(); |
|
toggleMap(); |
if (nav == 'mainnav') { |
if (nav == 'mainnav') { |
var storedpath = "$docs_folderpath"; |
var storedpath = "$docs_folderpath"; |
if (storedpath == '') { |
|
storedpath = "$docs_pagepath"; |
|
} |
|
var storedpage = "$main_container_page"; |
var storedpage = "$main_container_page"; |
var reg = new RegExp("^supplemental"); |
var reg = new RegExp("^supplemental"); |
if (pageId == 'mainCourseDocuments') { |
if (pageId == 'mainCourseDocuments') { |