'.
@@ -558,7 +578,10 @@ sub docs_change_log {
if (!($env{'form.show'} eq &mt('all')
|| $shown<=$env{'form.show'})) { last; }
}
- $r->print(&Apache::loncommon::end_data_table());
+ $r->print(&Apache::loncommon::end_data_table()."\n".
+ &makesimpleeditform($pathitem)."\n".
+ '');
+ $r->print(&endContentScreen());
}
sub update_paste_buffer {
@@ -816,6 +839,16 @@ sub editor {
my $container= ($env{'form.pagepath'}) ? 'page'
: 'sequence';
+ my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain,$is_random_order) =
+ &breadcrumbs($allowed,$crstype);
+ $r->print($breadcrumbtrail);
+
+ my $jumpto = "uploaded/$coursedom/$coursenum/$folder.$container";
+
+ unless ($allowed) {
+ $randompick = -1;
+ }
+
my ($errtext,$fatal) = &mapread($coursenum,$coursedom,
$folder.'.'.$container);
return $errtext if ($fatal);
@@ -827,16 +860,6 @@ sub editor {
$LONCAPA::map::resources[$idx]='';
}
- my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain,$is_random_order) =
- &breadcrumbs($allowed,$crstype);
- $r->print($breadcrumbtrail);
-
- my $jumpto = "uploaded/$coursedom/$coursenum/$folder.$container";
-
- unless ($allowed) {
- $randompick = -1;
- }
-
# ------------------------------------------------------------ Process commands
# ---------------- if they are for this folder and user allowed to make changes
@@ -988,7 +1011,9 @@ sub editor {
$tid = 2;
}
if ($allowed) {
- $r->print(&generate_edit_table($tid,$orderhash,$to_show,$iconpath,$jumpto));
+ my $readfile="/uploaded/$coursedom/$coursenum/$folder.$container";
+ $r->print(&generate_edit_table($tid,$orderhash,$to_show,$iconpath,$jumpto,
+ $readfile));
&print_paste_buffer($r,$container);
} else {
if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) {
@@ -1120,17 +1145,46 @@ sub process_file_upload {
position => $position,
phase => $nextphase,
comment => $comment,
- );
+ );
+ my ($destination,$dir_root) = &embedded_destination($coursenum,$coursedom);
+ my @current = &get_dir_list($url,$coursenum,$coursedom,$newidx);
$$upload_output = $showupload.
&Apache::loncommon::decompress_form($mimetype,
$archiveurl,'/adm/coursedocs',$noextract,
- \%archiveitems);
+ \%archiveitems,\@current);
}
}
}
return $nextphase;
}
+sub get_dir_list {
+ my ($url,$coursenum,$coursedom,$newidx) = @_;
+ my ($destination,$dir_root) = &embedded_destination();
+ my ($dirlistref,$listerror) =
+ &Apache::lonnet::dirlist("$dir_root/$destination/$newidx",$coursedom,$coursenum,1);
+ my @dir_lines;
+ my $dirptr=16384;
+ if (ref($dirlistref) eq 'ARRAY') {
+ foreach my $dir_line (sort
+ {
+ my ($afile)=split('&',$a,2);
+ my ($bfile)=split('&',$b,2);
+ return (lc($afile) cmp lc($bfile));
+ } (@{$dirlistref})) {
+ my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$dir_line,16);
+ $filename =~ s/\s+$//;
+ next if ($filename =~ /^\.\.?$/);
+ my $isdir = 0;
+ if ($dirptr&$testdir) {
+ $isdir = 1;
+ }
+ push(@dir_lines, [$filename,$dom,$isdir,$size,$mtime,$obs]);
+ }
+ }
+ return @dir_lines;
+}
+
sub is_supplemental_title {
my ($title) = @_;
return scalar($title =~ m/^(\d+)___&&&___($match_username)___&&&___($match_domain)___&&&___(.*)$/);
@@ -1264,12 +1318,12 @@ sub entryline {
if (!$nocopy) {
$copylink=(<$lt{'cp'}
+$lt{'cp'}
ENDCOPY
}
if (!$nocut) {
$cutlink=(<$lt{'ct'}
+$lt{'ct'}
ENDCUT
}
$form_start = '
@@ -1453,7 +1507,7 @@ $form_common.'
if (($url=~m{/adm/(coursedocs|supplemental)}) || (!$allowed && $url)) {
$line.='';
} elsif ($url) {
- $line.=&Apache::loncommon::modal_link($url.(($url=~/\?/)?'&':'?').'inhibitmenu=yes',
+ $line.=&Apache::loncommon::modal_link($url.(($url=~/\?/)?'&':'?').'inhibitmenu=yes',
'',600,500);
} else {
$line.='';
@@ -1462,7 +1516,7 @@ $form_common.'
if (($url=~m{/adm/(coursedocs|supplemental)}) || (!$allowed && $url)) {
$line.=''.$title.'';
} elsif ($url) {
- $line.=&Apache::loncommon::modal_link($url.(($url=~/\?/)?'&':'?').'inhibitmenu=yes',
+ $line.=&Apache::loncommon::modal_link($url.(($url=~/\?/)?'&':'?').'inhibitmenu=yes',
$title,600,500);
} else {
$line.=$title.' '.$reinit.'';
@@ -1610,7 +1664,7 @@ sub checkonthis {
=item list_symbs()
-List Symbs
+List Content Idenifiers
=cut
@@ -1618,9 +1672,9 @@ sub list_symbs {
my ($r) = @_;
my $crstype = &Apache::loncommon::course_type();
- $r->print(&Apache::loncommon::start_page('Symb List'));
- $r->print(&Apache::lonhtmlcommon::breadcrumbs('Symb List'));
- &startContentScreen($r,'tools');
+ $r->print(&Apache::loncommon::start_page('List of Content Identifiers'));
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('Content Identifiers'));
+ $r->print(&startContentScreen('tools'));
my $navmap = Apache::lonnavmaps::navmap->new();
if (!defined($navmap)) {
$r->print('
'.&mt('Retrieval of List Failed').'
'.
@@ -1629,11 +1683,25 @@ sub list_symbs {
'');
&Apache::lonnet::logthis('Symb list failed - could not create navmap object in '.lc($crstype).':'.$env{'request.course.id'});
} else {
- $r->print("
');
$hashtied=0;
undef %alreadyseen;
%alreadyseen=();
&tiehash();
+
foreach my $key (keys(%hash)) {
if ($hash{$key}=~/\.(page|sequence)$/) {
if (($key=~/^src_/) && ($alreadyseen{&unescape($hash{$key})})) {
@@ -1677,7 +1747,7 @@ sub checkversions {
my $crstype = &Apache::loncommon::course_type();
$r->print(&Apache::loncommon::start_page("Check $crstype Document Versions"));
$r->print(&Apache::lonhtmlcommon::breadcrumbs("Check $crstype Document Versions"));
- &startContentScreen($r,'tools');
+ $r->print(&startContentScreen('tools'));
my $header='';
my $startsel='';
@@ -1730,9 +1800,11 @@ sub checkversions {
if (&Apache::lonnet::put('resourceversions',\%newsetversions,
$env{'course.'.$env{'request.course.id'}.'.domain'},
$env{'course.'.$env{'request.course.id'}.'.num'}) eq 'ok') {
- $r->print('
'.&mt('Your Version Settings have been Saved').'
');
+ $r->print(&Apache::loncommon::confirmwrapper(
+ &Apache::lonhtmlcommon::confirm_success(&mt('Your Version Settings have been Saved'))));
} else {
- $r->print('
'.&mt('An Error Occured while Attempting to Save your Version Settings').'
');
+ $r->print(&Apache::loncommon::confirmwrapper(
+ &Apache::lonhtmlcommon::confirm_success(&mt('An Error Occured while Attempting to Save your Version Settings'),1)));
}
&mark_hash_old();
}
@@ -1789,6 +1861,7 @@ sub checkversions {
'lw' => 'Version changes since last Week',
'sy' => 'Version changes since Yesterday',
'al' => 'All Resources (possibly large output)',
+ 'cd' => 'Change display',
'sd' => 'Display',
'fi' => 'File',
'md' => 'Modification Date',
@@ -1798,12 +1871,17 @@ sub checkversions {
'sv' => 'Set Versions to be used in '.$crstype.' according to Selections below',
'sm' => 'Keep all Resources up-to-date with most recent Versions (default)',
'sc' => 'Set all Resource Versions to current Version (Fix Versions)',
- 'di' => 'Differences');
+ 'di' => 'Differences',
+ 'save' => 'Save changes',
+ 'vers' => 'Version choice(s) for specific resources',
+ 'act' => 'Actions');
$r->print(<$header
');
- $r->print('
'.&mt('Done').'
');
+ $r->print(''.&Apache::loncommon::end_data_table_row().
+ &Apache::loncommon::end_data_table().
+ '');
&untiehash();
}
@@ -1978,7 +2068,7 @@ $help{'Caching'}.''."\n\n");
sub init_breadcrumbs {
my ($form,$text)=@_;
&Apache::lonhtmlcommon::clear_breadcrumbs();
- &Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/coursedocs",
+ &Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/coursedocs?tools=1",
text=>&Apache::loncommon::course_type().' Editor',
faq=>273,
bug=>'Instructor Interface',
@@ -2013,23 +2103,23 @@ sub create_form_ul {
#
sub startContentScreen {
- my ($r,$mode)=@_;
- $r->print('