--- loncom/interface/londocs.pm 2013/01/14 23:14:59 1.484.2.25 +++ loncom/interface/londocs.pm 2013/03/17 17:21:34 1.484.2.26 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.484.2.25 2013/01/14 23:14:59 raeburn Exp $ +# $Id: londocs.pm,v 1.484.2.26 2013/03/17 17:21:34 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -335,7 +335,8 @@ sub group_import { removefrommap => \%removefrommap, removeparam => \%removeparam, ); - &apply_fixups($folder,1,$coursedom,$coursenum,\%import_errors,\%updated); + my ($result,$msgsarray,$lockerror) = + &apply_fixups($folder,1,$coursedom,$coursenum,\%import_errors,\%updated); if (keys(%import_errors) > 0) { $fixuperrors = '

'."\n". @@ -346,6 +347,18 @@ sub group_import { } $fixuperrors .= '

'."\n"; } + if (ref($msgsarray) eq 'ARRAY') { + if (@{$msgsarray} > 0) { + $fixuperrors .= '

'. + join('
',@{$msgsarray}). + '

'; + } + } + if ($lockerror) { + $fixuperrors .= '

'. + $lockerror. + '

'; + } } my ($errtext,$fatal) = &storemap($coursenum, $coursedom, $folder.'.'.$container,1); @@ -735,7 +748,7 @@ sub print_paste_buffer { $buffer = $type.': '. &LONCAPA::map::qtescape($env{'docs.markedcopy_title'}).' ('. &LONCAPA::map::qtescape($env{'docs.markedcopy_url'}).')'; - } else { + } else { my $icon = &Apache::loncommon::icon($extension); if ($extension eq 'sequence' && $env{'docs.markedcopy_url'} =~ m{/default_\d+\.sequence$ }x) { @@ -747,19 +760,36 @@ sub print_paste_buffer { } if ($canpaste) { $r->print('
'.$buffer); - if (($is_uploaded_map) && (!$areachange)) { - if ((!$othercourse) && ($env{'docs.markedcopy_cmd'} eq 'cut')) { + if ((!$areachange) && (!$othercourse) && + ($env{'docs.markedcopy_cmd'} eq 'cut')) { + if (($is_uploaded_map) || + ($env{'docs.markedcopy_url'} =~ /(bulletinboard|smppg)$/) || + ($env{'docs.markedcopy_url'} =~ m{^/uploaded/$coursedom/$coursenum/(?:docs|supplemental)/(.+)$})) { + my ($copytext,$movetext); + if ($is_uploaded_map) { + $copytext = &mt('Copy to new folder'); + $movetext = &mt('Move old folder'); + } elsif ($env{'docs.markedcopy_url'} =~ /bulletinboard$/) { + $copytext = &mt('Copy to new bulletin board (not posts)'); + $movetext = &mt('Move old bulletin board (not posts)'); + } elsif ($env{'docs.markedcopy_url'} =~ /smppg$/) { + $copytext = &mt('Copy to new simple page'); + $movetext = &mt('Move old simple page'); + } else { + $copytext = &mt('Copy to new uploaded document'); + $movetext = &mt('Move old uploaded document'); + } $r->print((' 'x 4).''. ''. &mt('Show Paste Options').'
'. '
'.(' 'x 4). ''.(' ' x2). + $copytext.''.(' ' x2). '
'); - if ($env{'docs.markedcopy_nested'}) { + $movetext.'
'); + if (($is_uploaded_map) && ($env{'docs.markedcopy_nested'})) { $r->print('
'.&mt('Folder to paste contains sub-folders'). '
'); my @pastemaps = split(/\&/,$env{'docs.markedcopy_nested'}); @@ -965,17 +995,19 @@ sub do_paste_from_buffer { } if (($srcdom ne $coursedom) || ($srcnum ne $coursenum) || ($prefixchg) || (($newurl ne '') && ($newurl ne $url))) { - unless (&url_paste_fixups($url,$folder,$prefixchg,$coursedom,$coursenum, - $allmaps,\%rewrites,\%retitles,\%copies,\%dbcopies, + unless (&url_paste_fixups($url,$folder,$prefixchg,$coursedom, + $coursenum,$srcdom,$srcnum,$allmaps, + \%rewrites,\%retitles,\%copies,\%dbcopies, \%zombies,\%params,\%mapmoves,\%mapchanges,\%tomove, \%newsubdir,\%newurls)) { $mapmoves{$url} = 1; } $url = $newurl; } elsif ($env{'docs.markedcopy_nested'}) { - &url_paste_fixups($url,$folder,$prefixchg,$coursedom,$coursenum,$allmaps,\%rewrites, + &url_paste_fixups($url,$folder,$prefixchg,$coursedom,$coursenum, + $srcdom,$srcnum,$allmaps,\%rewrites, \%retitles,\%copies,\%dbcopies,\%zombies,\%params,\%mapmoves, - \%mapchanges,\%tomove,\%newsubdir,\%newurls); + \%mapchanges,\%tomove,\%newsubdir,\%newurls); } } elsif ($url=~m {^/res/}) { # published maps can only exists once, so remove it from paste buffer when done @@ -988,22 +1020,34 @@ sub do_paste_from_buffer { } } } - if ($url=~ m{/smppg$}) { - my $db_name = &Apache::lonsimplepage::get_db_name($url); - if ($db_name =~ /^smppage_/) { - #simple pages, need to copy the db contents to a new one. - my %contents=&Apache::lonnet::dump($db_name,$coursedom,$coursenum); - my $now = time(); - $db_name =~ s{_\d*$ }{_$now}x; - my $dbresult=&Apache::lonnet::put($db_name,\%contents, - $coursedom,$coursenum); - if ($dbresult eq 'ok') { - $url =~ s{/(\d*)/smppg$ }{/$now/smppg}x; + my $lockerrors; + if ($url=~ m{/(bulletinboard|smppg)$}) { + my $prefix = $1; + #need to copy the db contents to a new one, unless this is a move. + my %info = ( + src => $url, + cdom => $coursedom, + cnum => $coursenum, + ); + my (%lockerr,$msg); + unless ($env{'form.docs.markedcopy_options'} eq 'move') { + my ($newurl,$result,$errtext) = + &dbcopy(\%info,$coursedom,$coursenum,\%lockerr); + if ($result eq 'ok') { + $url = $newurl; $title=&mt('Copy of').' '.$title; } else { - return (&mt('Paste failed: An error occurred when copying the simple page.')); + if ($prefix eq 'smppg') { + $msg = &mt('Paste failed: An error occurred when copying the simple page.').' '.$errtext; + } elsif ($prefix eq 'bulletinboard') { + $msg = &mt('Paste failed: An error occurred when copying the bulletin board.').' '.$errtext; + } + return ($result,undef,[$msg],$lockerr{$prefix}); } - } + if ($lockerr{$prefix}) { + $lockerrors = $lockerr{$prefix}; + } + } } $title = &LONCAPA::map::qtunescape($title); my $ext='false'; @@ -1030,7 +1074,9 @@ sub do_paste_from_buffer { if ($newdocsdir eq '') { $newdocsdir = 'default'; } - if (($prefixchg) || ($srcdom ne $coursedom) || ($srcnum ne $coursenum)) { + if (($prefixchg) || + ($srcdom ne $coursedom) || ($srcnum ne $coursenum) || + ($env{'form.docs.markedcopy_options'} ne 'move')) { my $newpath = "$newprefix/$newdocsdir/$newidx/$rem"; $url = &Apache::lonclonecourse::writefile($env{'request.course.id'},$newpath, @@ -1067,14 +1113,15 @@ sub do_paste_from_buffer { docmoves => \%docmoves, mapmoves => \%mapmoves, ); - $result = + ($result,my $msgsarray,my $lockerror) = &apply_fixups($folder,$is_map,$coursedom,$coursenum,$errors, \%updated,\%info,\%moves,$prefixchg,$oldurl,$url,'paste'); + $lockerrors .= $lockerror; if ($result eq 'ok') { if ($is_map) { my ($errtext,$fatal) = &mapread($coursenum,$coursedom, $folder.'.'.$container); - return $errtext if ($fatal); + return ($errtext,$save_err,$msgsarray,$lockerrors) if ($fatal); if ($#LONCAPA::map::order<1) { my $idx=&LONCAPA::map::getresidx(); @@ -1111,7 +1158,7 @@ sub do_paste_from_buffer { &Apache::lonnet::delenv('docs.markedcopy_nested'); &Apache::lonnet::delenv('docs.markedcopy_nestednames'); } - return ($result,$save_err); + return ($result,$save_err,$msgsarray,$lockerrors); } sub get_newmap_url { @@ -1175,20 +1222,96 @@ sub get_newmap_url { } sub dbcopy { - my ($url,$coursedom,$coursenum) = @_; - if ($url=~ m{/smppg$}) { - my $db_name = &Apache::lonsimplepage::get_db_name($url); - if ($db_name =~ /^smppage_/) { - #simple pages, need to copy the db contents to a new one. - my %contents=&Apache::lonnet::dump($db_name,$coursedom,$coursenum); - my $now = time(); - $db_name =~ s{_\d*$ }{_$now}x; - my $result=&Apache::lonnet::put($db_name,\%contents, - $coursedom,$coursenum); - $url =~ s{/(\d*)/smppg$ }{/$now/smppg}x; + my ($dbref,$coursedom,$coursenum,$lockerrorsref) = @_; + my ($url,$result,$errtext); + my $url = $dbref->{'src'}; + if (ref($dbref) eq 'HASH') { + if ($url =~ m{/(smppg|bulletinboard)$}) { + my $prefix = $1; + if (($dbref->{'cdom'} =~ /^$match_domain$/) && + ($dbref->{'cnum'} =~ /^$match_courseid$/)) { + my $db_name; + my $marker = (split(m{/},$url))[4]; + $marker=~s/\D//g; + if ($dbref->{'src'} =~ m{/smppg$}) { + $db_name = + &Apache::lonsimplepage::get_db_name($url,$marker, + $dbref->{'cdom'}, + $dbref->{'cnum'}); + } else { + $db_name = 'bulletinpage_'.$marker; + } + my ($suffix,$freedlock,$error) = + &Apache::lonnet::get_timebased_id($prefix,'num','templated', + $coursedom,$coursenum, + 'concat'); + if (!$suffix) { + if ($prefix eq 'smppg') { + $errtext = &mt('Failed to acquire a unique timestamp-based suffix when copying a simple page [_1].',$url); + } else { + $errtext = &mt('Failed to acquire a unique timestamp-based suffix when copying a bulletin board [_1].',$url); + } + if ($error) { + $errtext .= '
'.$error; + } + } else { + #need to copy the db contents to a new one. + my %contents=&Apache::lonnet::dump($db_name, + $dbref->{'cdom'}, + $dbref->{'cnum'}); + if (exists($contents{'uploaded.photourl'})) { + my $photo = $contents{'uploaded.photourl'}; + my ($subdir,$fname) = + ($photo =~ m{^/uploaded/$match_domain/$match_courseid/+(bulletin|simplepage)/(?:|\d+/)([^/]+)$}); + my $newphoto; + if ($fname ne '') { + my $content = &Apache::lonnet::getfile($photo); + unless ($content eq '-1') { + $env{'form.'.$suffix.'.photourl'} = $content; + $newphoto = + &Apache::lonnet::finishuserfileupload($coursenum,$coursedom,$suffix.'.photourl',"$subdir/$suffix/$fname"); + delete($env{'form.'.$suffix.'.photourl'}); + } + } + if ($newphoto =~ m{^/uploaded/}) { + $contents{'uploaded.photourl'} = $newphoto; + } + } + $db_name =~ s{_\d*$ }{_$suffix}x; + $result=&Apache::lonnet::put($db_name,\%contents, + $coursedom,$coursenum); + if ($result eq 'ok') { + $url =~ s{/(\d*)/(smppg|bulletinboard)$}{/$suffix/$2}x; + } + } + if (($freedlock ne 'ok') && (ref($lockerrorsref) eq 'HASH')) { + $lockerrorsref->{$prefix} = + '
'. + &mt('There was a problem removing a lockfile.'); + if ($prefix eq 'smppg') { + $lockerrorsref->{$prefix} .= + &mt('This will prevent creation of additional simple pages in this course.'); + } else { + $lockerrorsref->{$prefix} .= &mt('This will prevent creation of additional bulletin boards in this course.'); + } + $lockerrorsref->{$prefix} .= &mt('Please contact the domain coordinator for your LON-CAPA domain.').'
'; + } + } + } elsif ($url =~ m{/syllabus$}) { + if (($dbref->{'cdom'} =~ /^$match_domain$/) && + ($dbref->{'cnum'} =~ /^$match_courseid$/)) { + if (($dbref->{'cdom'} ne $coursedom) || + ($dbref->{'cnum'} ne $coursenum)) { + my %contents=&Apache::lonnet::dump('syllabus', + $dbref->{'cdom'}, + $dbref->{'cnum'}); + $result=&Apache::lonnet::put('syllabus',\%contents, + $coursedom,$coursenum); + } + } } } - return $url; + return ($url,$result,$errtext); } sub uniqueness_check { @@ -1254,8 +1377,9 @@ sub contained_map_check { } sub url_paste_fixups { - my ($oldurl,$folder,$prefixchg,$cdom,$cnum,$allmaps,$rewrites,$retitles,$copies, - $dbcopies,$zombies,$params,$mapmoves,$mapchanges,$tomove,$newsubdir,$newurls) = @_; + my ($oldurl,$folder,$prefixchg,$cdom,$cnum,$fromcdom,$fromcnum,$allmaps, + $rewrites,$retitles,$copies,$dbcopies,$zombies,$params,$mapmoves, + $mapchanges,$tomove,$newsubdir,$newurls) = @_; my $checktitle; if (($prefixchg) && ($oldurl =~ m{^/uploaded/$match_domain/$match_courseid/supplemental})) { @@ -1300,10 +1424,11 @@ sub url_paste_fixups { my $prefix = $1; $mapname = $prefix.$2; if ($tomove->{$mapname}) { - &url_paste_fixups($ressrc,$folder,$prefixchg,$cdom,$cnum,$allmaps, - $rewrites,$retitles,$copies,$dbcopies,$zombies, - $params,$mapmoves,$mapchanges,$tomove,$newsubdir, - $newurls); + &url_paste_fixups($ressrc,$folder,$prefixchg,$cdom,$cnum, + $srcdom,$srcnum,$allmaps,$rewrites, + $retitles,$copies,$dbcopies,$zombies, + $params,$mapmoves,$mapchanges,$tomove, + $newsubdir,$newurls); next; } else { ($newurl,my $error) = @@ -1323,10 +1448,11 @@ sub url_paste_fixups { if ($rem =~ /^(default|supplemental)(_?\d*).(sequence|page)$/) { $rewrites->{$oldurl}{$id} = $ressrc; $mapchanges->{$ressrc} = 1; - unless (&url_paste_fixups($ressrc,$folder,$prefixchg,$cdom,$cnum,$allmaps, - $rewrites,$retitles,$copies,$dbcopies,$zombies, - $params,$mapmoves,$mapchanges,$tomove,$newsubdir, - $newurls)) { + unless (&url_paste_fixups($ressrc,$folder,$prefixchg,$cdom, + $cnum,$srcdom,$srcnum,$allmaps, + $rewrites,$retitles,$copies,$dbcopies, + $zombies,$params,$mapmoves,$mapchanges, + $tomove,$newsubdir,$newurls)) { $mapmoves->{$ressrc} = 1; } $changed = 1; @@ -1336,13 +1462,23 @@ sub url_paste_fixups { $changed = 1; } } - } elsif ($ressrc =~ m{^/adm/($match_domain)/($match_courseid)/(.+)$}) { + } elsif ($ressrc =~ m{^/adm/($match_domain)/($match_courseid)/.+$}) { next if ($skip); my $srcdom = $1; my $srcnum = $2; if (($srcdom ne $cdom) || ($srcnum ne $cnum)) { $rewrites->{$oldurl}{$id} = $ressrc; - $dbcopies->{$oldurl}{$ressrc} = $id; + $dbcopies->{$oldurl}{$id}{'src'} = $ressrc; + $dbcopies->{$oldurl}{$id}{'cdom'} = $srcdom; + $dbcopies->{$oldurl}{$id}{'cnum'} = $srcnum; + $changed = 1; + } + } elsif ($ressrc =~ m{^/adm/$match_domain/$match_username/\d+/(smppg|bulletinboard)$}) { + if (($fromcdom ne $cdom) || ($fromcnum ne $cnum) || + ($env{'form.docs.markedcopy_options'} ne 'move')) { + $dbcopies->{$oldurl}{$id}{'src'} = $ressrc; + $dbcopies->{$oldurl}{$id}{'cdom'} = $fromcdom; + $dbcopies->{$oldurl}{$id}{'cnum'} = $fromcnum; $changed = 1; } } elsif ($ressrc =~ m{^/public/($match_domain)/($match_courseid)/(.+)$}) { @@ -1350,8 +1486,9 @@ sub url_paste_fixups { my $srcdom = $1; my $srcnum = $2; if (($srcdom ne $cdom) || ($srcnum ne $cnum)) { - $rewrites->{$oldurl}{$id} = $ressrc; - $dbcopies->{$oldurl}{$ressrc} = $id; + $dbcopies->{$oldurl}{$id}{'src'} = $ressrc; + $dbcopies->{$oldurl}{$id}{'cdom'} = $srcdom; + $dbcopies->{$oldurl}{$id}{'cnum'} = $srcnum; $changed = 1; } } @@ -1374,7 +1511,8 @@ sub apply_fixups { my ($folder,$is_map,$cdom,$cnum,$errors,$updated,$info,$moves,$prefixchg, $oldurl,$url,$caller) = @_; my (%rewrites,%zombies,%removefrommap,%removeparam,%dbcopies,%retitles, - %params,%newsubdir,%before,%after,%copies,%docmoves,%mapmoves); + %params,%newsubdir,%before,%after,%copies,%docmoves,%mapmoves,@msgs, + %lockerrors,$lockmsg); if (ref($updated) eq 'HASH') { if (ref($updated->{'rewrites'}) eq 'HASH') { %rewrites = %{$updated->{'rewrites'}}; @@ -1531,8 +1669,17 @@ sub apply_fixups { %zombie = %{$zombies{$key}}; } if (ref($dbcopies{$key}) eq 'HASH') { - foreach my $item (keys(%{$dbcopies{$key}})) { - $newdb{$item} = &dbcopy($item); + foreach my $idx (keys(%{$dbcopies{$key}})) { + if (ref($dbcopies{$key}{$idx}) eq 'HASH') { + my ($newurl,$result,$errtext) = + &dbcopy($dbcopies{$key}{$idx},$cdom,$cnum,\%lockerrors); + if ($result eq 'ok') { + $newdb{$idx} = $newurl; + } elsif (ref($errors) eq 'HASH') { + $errors->{$key} = 1; + } + push(@msgs,$errtext); + } } } if (ref($params{$key}) eq 'HASH') { @@ -1540,7 +1687,7 @@ sub apply_fixups { } my ($errtext,$fatal) = &LONCAPA::map::mapread($key); if ($fatal) { - return $errtext; + return ($errtext); } for (my $i=0; $i<@LONCAPA::map::zombies; $i++) { if (defined($LONCAPA::map::zombies[$i])) { @@ -1589,8 +1736,8 @@ sub apply_fixups { } } $changed = 1; - } elsif ($newdb{$src} ne '') { - $src = $newdb{$src}; + } elsif ($newdb{$idx} ne '') { + $src = $newdb{$idx}; $changed = 1; } if ($changed) { @@ -1605,6 +1752,9 @@ sub apply_fixups { } } } + if (values(%lockerrors) > 0) { + $lockmsg = join('
',values(%lockerrors)); + } my $storefn; if ($key eq $oldurl) { $storefn = $url; @@ -1627,12 +1777,12 @@ sub apply_fixups { &LONCAPA::map::storemap("/uploaded/$cdom/$cnum/$storefn",1,$report); if ($errtext) { if ($caller eq 'paste') { - return &mt('Paste failed: an error occurred saving the folder or page.'); + return (&mt('Paste failed: an error occurred saving the folder or page.')); } } } } - return 'ok'; + return ('ok',\@msgs,$lockmsg); } sub copy_dependencies { @@ -1820,9 +1970,22 @@ sub editor { if ($env{'form.pastemarked'}) { my %paste_errors; - my ($paste_res,$save_error) = + my ($paste_res,$save_error,$pastemsgarray,$lockerror) = &do_paste_from_buffer($coursenum,$coursedom,$folder,$container, \%paste_errors); + if (ref($pastemsgarray) eq 'ARRAY') { + if (@{$pastemsgarray} > 0) { + + $r->print('

'. + join('
',@{$pastemsgarray}). + '

'); + } + } + if ($lockerror) { + $r->print('

'. + $lockerror. + '

'); + } if ($save_error ne '') { return $save_error; } @@ -1856,10 +2019,10 @@ sub editor { foreach my $item (split(/\&/,$env{'form.importdetail'})) { if (defined($item)) { my ($name,$url,$residx)= - map {&unescape($_)} split(/\=/,$item); - if ($url=~ m{^\Q/uploaded/$coursedom/$coursenum/\E(default|supplemental)_new\.(sequence|page)$}) { + 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); + &new_timebased_suffix($coursedom,$coursenum,'map',$1,$2); if ($locknotfreed) { $r->print($locknotfreed); } @@ -1868,6 +2031,18 @@ sub editor { } else { return $errortxt; } + } elsif ($url =~ m{^/adm/$match_domain/$match_username/new/(smppg|bulletinboard)$}) { + my $type = $1; + my ($suffix,$errortxt,$locknotfreed) = + &new_timebased_suffix($coursedom,$coursenum,$type); + if ($locknotfreed) { + $r->print($locknotfreed); + } + if ($suffix) { + $url =~ s{^(/adm/$match_domain/$match_username)/new}{$1/$suffix}; + } else { + return $errortxt; + } } push(@imports, [$name, $url, $residx]); } @@ -2598,26 +2773,52 @@ ENDPARMS return $line; } -sub newmap_suffix { - my ($area,$container,$coursedom,$coursenum) = @_; - my ($prefix,$idtype,$errtext,$locknotfreed); - $prefix = 'docs'; - if ($area eq 'supplemental') { - $prefix = 'supp'; +sub new_timebased_suffix { + my ($coursedom,$coursenum,$type,$area,$container) = @_; + my ($prefix,$namespace,$idtype,$errtext,$locknotfreed); + if ($type eq 'map') { + $prefix = 'docs'; + if ($area eq 'supplemental') { + $prefix = 'supp'; + } + $prefix .= $container; + $namespace = 'uploadedmaps'; + } else { + $prefix = $type; + $namespace = 'templated'; } - $prefix .= $container; $idtype = 'concat'; my ($suffix,$freedlock,$error) = - &Apache::lonnet::get_timebased_id($prefix,'num','uploadedmaps', + &Apache::lonnet::get_timebased_id($prefix,'num',$namespace, $coursedom,$coursenum); if (!$suffix) { - $errtext = &mt('Failed to acquire a unique timestamp-based suffix for the new folder/page.'); + if ($type eq 'map') { + $errtext = &mt('Failed to acquire a unique timestamp-based suffix for the new folder/page.'); + } elsif ($type eq 'smppg') { + $errtext = &mt('Failed to acquire a unique timestamp-based suffix for the new simple page.'); + } else { + $errtext = &mt('Failed to acquire a unique timestamp-based suffix for the new bulletin board.'); + } if ($error) { $errtext .= '
'.$error; } } if ($freedlock ne 'ok') { - $locknotfreed = '
'.&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.').'
'; + $locknotfreed = + '
'. + &mt('There was a problem removing a lockfile.').' '; + if ($type eq 'map') { + &mt('This will prevent creation of additional folders or composite pages in this course.'); + } elsif ($type eq 'smppg') { + $locknotfreed .= + &mt('This will prevent creation of additional simple pages in this course.'); + } else { + $locknotfreed .= + &mt('This will prevent creation of additional bulletin boards in this course.'); + } + $locknotfreed .= + ' '.&mt('Please contact the domain coordinator for your LON-CAPA domain.'). + '
'; } return ($suffix,$errtext,$locknotfreed); } @@ -4376,7 +4577,6 @@ sub generate_edit_table { sub editing_js { my ($udom,$uname,$supplementalflag) = @_; - my $now = time(); my %lt = &Apache::lonlocal::texthash( p_mnf => 'Name of New Folder', t_mnf => 'New Folder', @@ -4474,7 +4674,7 @@ function makesmppage() { var title=prompt('$lt{"p_msp"}'); if (title) { this.document.forms.newsmppg.importdetail.value= - escape(title)+'=/adm/$udom/$uname/$now/smppg'; + escape(title)+'=/adm/$udom/$uname/new/smppg'; this.document.forms.newsmppg.submit(); } } @@ -4501,7 +4701,7 @@ function makebulboard() { var title=prompt('$lt{"p_mbb"}'); if (title) { this.document.forms.newbul.importdetail.value= - escape(title)+'=/adm/$udom/$uname/$now/bulletinboard'; + escape(title)+'=/adm/$udom/$uname/new/bulletinboard'; this.document.forms.newbul.submit(); } }